From d282e7a9ccb49d3d2c153e9db7ae42de97229b28 Mon Sep 17 00:00:00 2001 From: Zack Tanner <1939140+ztanner@users.noreply.github.com> Date: Wed, 4 Sep 2024 06:18:36 -0700 Subject: [PATCH 001/119] Revert "ci: only trigger slack webhook from canary" (#69648) Reverts vercel/next.js#69632 It appears to not be working quite right. skip: https://github.com/vercel/next.js/actions/runs/10692363199 failed retry: https://github.com/vercel/next.js/actions/runs/10692293873/job/29641598903 --- .github/workflows/retry_deploy_test.yml | 1 - .github/workflows/retry_test.yml | 1 - 2 files changed, 2 deletions(-) diff --git a/.github/workflows/retry_deploy_test.yml b/.github/workflows/retry_deploy_test.yml index 01e8a1cdbd724..55e88d61cbfed 100644 --- a/.github/workflows/retry_deploy_test.yml +++ b/.github/workflows/retry_deploy_test.yml @@ -41,7 +41,6 @@ jobs: ${{ github.event.workflow_run.conclusion == 'failure' && github.event.workflow_run.run_attempt >= 2 && - github.event.workflow_run.head_branch == 'canary' && !github.event.workflow_run.head_repository.fork }} runs-on: ubuntu-latest diff --git a/.github/workflows/retry_test.yml b/.github/workflows/retry_test.yml index 2151485647dee..ea96d66f4b422 100644 --- a/.github/workflows/retry_test.yml +++ b/.github/workflows/retry_test.yml @@ -42,7 +42,6 @@ jobs: ${{ github.event.workflow_run.conclusion == 'failure' && github.event.workflow_run.run_attempt >= 3 && - github.event.workflow_run.head_branch == 'canary' && !github.event.workflow_run.head_repository.fork }} runs-on: ubuntu-latest From 1660f23071af665df25b3767402578d7d03f9256 Mon Sep 17 00:00:00 2001 From: Janka Uryga Date: Wed, 4 Sep 2024 15:29:27 +0200 Subject: [PATCH 002/119] ci: make inputs.skipNativeInstall do what it says (#69674) ...instead of doing the opposite before this PR: - `skipNativeInstall: 'yes'` sets `NEXT_SKIP_NATIVE_POSTINSTALL=''` - `skipNativeInstall: 'no'` sets `NEXT_SKIP_NATIVE_POSTINSTALL=true` after this PR: - `skipNativeInstall: 'yes'` sets `NEXT_SKIP_NATIVE_POSTINSTALL='1'` - `skipNativeInstall: 'no'` sets `NEXT_SKIP_NATIVE_POSTINSTALL=''` --- .github/workflows/build_reusable.yml | 3 ++- .github/workflows/test_e2e_deploy_release.yml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_reusable.yml b/.github/workflows/build_reusable.yml index 253a6521e04aa..dbb61b20838b1 100644 --- a/.github/workflows/build_reusable.yml +++ b/.github/workflows/build_reusable.yml @@ -25,6 +25,7 @@ on: required: false description: 'whether to skip native postinstall script' type: string + default: 'yes' uploadAnalyzerArtifacts: required: false description: 'whether to upload analyzer artifacts' @@ -76,7 +77,7 @@ env: TURBO_REMOTE_ONLY: 'true' NEXT_TELEMETRY_DISABLED: 1 # allow not skipping install-native postinstall script if we don't have a binary available already - NEXT_SKIP_NATIVE_POSTINSTALL: ${{ inputs.skipNativeInstall != 'yes' && 'true' || '' }} + NEXT_SKIP_NATIVE_POSTINSTALL: ${{ inputs.skipNativeInstall == 'yes' && '1' || '' }} DATADOG_API_KEY: ${{ secrets.DATA_DOG_API_KEY }} NEXT_JUNIT_TEST_REPORT: 'true' DD_ENV: 'ci' diff --git a/.github/workflows/test_e2e_deploy_release.yml b/.github/workflows/test_e2e_deploy_release.yml index 3f32264fc4292..1b2cca45afe97 100644 --- a/.github/workflows/test_e2e_deploy_release.yml +++ b/.github/workflows/test_e2e_deploy_release.yml @@ -50,7 +50,7 @@ jobs: with: afterBuild: NEXT_TEST_MODE=deploy NEXT_EXTERNAL_TESTS_FILTERS="test/deploy-tests-manifest.json" node run-tests.js --timings -g ${{ matrix.group }} -c 2 --type e2e skipNativeBuild: 'yes' - skipNativeInstall: 'yes' + skipNativeInstall: 'no' stepName: 'test-deploy-${{ matrix.group }}' timeout_minutes: 180 runs_on_labels: '["ubuntu-latest"]' From 568df76bd9d7e01886434236ee122719f069d102 Mon Sep 17 00:00:00 2001 From: Lee Robinson Date: Wed, 4 Sep 2024 11:32:26 -0500 Subject: [PATCH 003/119] docs: add links to search params on server/client (#69618) x-ref: https://www.reddit.com/r/nextjs/comments/1f7eeij/what_do_you_absolutely_hate_about_nextjs_you_can/ll7ig41/ --- docs/02-app/01-building-your-application/12-examples/index.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/02-app/01-building-your-application/12-examples/index.mdx b/docs/02-app/01-building-your-application/12-examples/index.mdx index 2974f30349646..8195dbe2541d6 100644 --- a/docs/02-app/01-building-your-application/12-examples/index.mdx +++ b/docs/02-app/01-building-your-application/12-examples/index.mdx @@ -10,6 +10,8 @@ description: Examples of popular Next.js UI patterns and use cases. - [Using the `fetch` API](/docs/app/building-your-application/data-fetching/fetching#fetching-data-on-the-server-with-the-fetch-api) - [Using an ORM or database client](/docs/app/building-your-application/data-fetching/fetching#fetching-data-on-the-server-with-an-orm-or-database) +- [Reading search params on the server](/docs/app/api-reference/file-conventions/page) +- [Reading search params on the client](/docs/app/api-reference/functions/use-search-params) ### Revalidating Data From 38d830138f0b39b3106e2ac81b3d93a059a4838f Mon Sep 17 00:00:00 2001 From: Benjamin Woodruff Date: Wed, 4 Sep 2024 09:50:10 -0700 Subject: [PATCH 004/119] refactor(turbo-tasks) Add a higher-level task-local state API for the Backend trait (#68996) This replaces the `Backend::execution_scope` API, which wouldn't work for detached tasks or tasks using `local_cells`, as we need to share this backend state across multiple spawned futures. This higher-level API gives control of where the state is stored to the manager. ## Testing ``` cargo nextest r -p turbo-tasks-memory ``` --- .../turbo-tasks-memory/src/memory_backend.rs | 29 ++-- .../crates/turbo-tasks-memory/src/task.rs | 25 ++-- .../turbo-tasks-testing/tests/detached.rs | 131 +++++++++++++++--- turbopack/crates/turbo-tasks/src/backend.rs | 29 ++-- turbopack/crates/turbo-tasks/src/lib.rs | 3 +- turbopack/crates/turbo-tasks/src/manager.rs | 86 +++++++++--- 6 files changed, 228 insertions(+), 75 deletions(-) diff --git a/turbopack/crates/turbo-tasks-memory/src/memory_backend.rs b/turbopack/crates/turbo-tasks-memory/src/memory_backend.rs index 0458b7bd34f67..f7840d3f524fc 100644 --- a/turbopack/crates/turbo-tasks-memory/src/memory_backend.rs +++ b/turbopack/crates/turbo-tasks-memory/src/memory_backend.rs @@ -1,6 +1,5 @@ use std::{ borrow::{Borrow, Cow}, - cell::RefCell, future::Future, hash::{BuildHasher, BuildHasherDefault, Hash}, num::NonZeroU32, @@ -16,7 +15,6 @@ use anyhow::{anyhow, bail, Result}; use auto_hash_map::AutoMap; use dashmap::{mapref::entry::Entry, DashMap}; use rustc_hash::FxHasher; -use tokio::task::futures::TaskLocalFuture; use tracing::trace_span; use turbo_prehash::{BuildHasherExt, PassThroughHash, PreHashed}; use turbo_tasks::{ @@ -37,7 +35,7 @@ use crate::{ PERCENTAGE_MIN_IDLE_TARGET_MEMORY, PERCENTAGE_MIN_TARGET_MEMORY, }, output::Output, - task::{ReadCellError, Task, TaskType, DEPENDENCIES_TO_TRACK}, + task::{ReadCellError, Task, TaskType}, task_statistics::TaskStatisticsApi, }; @@ -45,6 +43,12 @@ fn prehash_task_type(task_type: CachedTaskType) -> PreHashed { BuildHasherDefault::::prehash(&Default::default(), task_type) } +pub struct TaskState { + /// Cells/Outputs/Collectibles that are read during task execution. These will be stored as + /// dependencies when the execution has finished. + pub dependencies_to_track: TaskEdgesSet, +} + pub struct MemoryBackend { persistent_tasks: NoMoveVec, transient_tasks: NoMoveVec, @@ -436,14 +440,11 @@ impl Backend for MemoryBackend { self.with_task(task, |task| task.get_description()) } - type ExecutionScopeFuture> + Send + 'static> = - TaskLocalFuture, T>; - fn execution_scope> + Send + 'static>( - &self, - _task: TaskId, - future: T, - ) -> Self::ExecutionScopeFuture { - DEPENDENCIES_TO_TRACK.scope(RefCell::new(TaskEdgesSet::new()), future) + type TaskState = TaskState; + fn new_task_state(&self, _task: TaskId) -> Self::TaskState { + TaskState { + dependencies_to_track: TaskEdgesSet::new(), + } } fn try_start_task_execution<'a>( @@ -529,7 +530,7 @@ impl Backend for MemoryBackend { move || format!("reading task output from {reader}"), turbo_tasks, |output| { - Task::add_dependency_to_current(TaskEdge::Output(task)); + Task::add_dependency_to_current(TaskEdge::Output(task), turbo_tasks); output.read(reader) }, ) @@ -564,7 +565,7 @@ impl Backend for MemoryBackend { }) .into_typed(index.type_id))) } else { - Task::add_dependency_to_current(TaskEdge::Cell(task_id, index)); + Task::add_dependency_to_current(TaskEdge::Cell(task_id, index), turbo_tasks); self.with_task(task_id, |task| { match task.read_cell( index, @@ -623,7 +624,7 @@ impl Backend for MemoryBackend { reader: TaskId, turbo_tasks: &dyn TurboTasksBackendApi, ) -> TaskCollectiblesMap { - Task::add_dependency_to_current(TaskEdge::Collectibles(id, trait_id)); + Task::add_dependency_to_current(TaskEdge::Collectibles(id, trait_id), turbo_tasks); Task::read_collectibles(id, trait_id, reader, self, turbo_tasks) } diff --git a/turbopack/crates/turbo-tasks-memory/src/task.rs b/turbopack/crates/turbo-tasks-memory/src/task.rs index c440728acfcee..5d2024dfbef37 100644 --- a/turbopack/crates/turbo-tasks-memory/src/task.rs +++ b/turbopack/crates/turbo-tasks-memory/src/task.rs @@ -1,6 +1,5 @@ use std::{ borrow::Cow, - cell::RefCell, fmt::{self, Debug, Display, Formatter}, future::Future, hash::{BuildHasherDefault, Hash}, @@ -17,14 +16,13 @@ use either::Either; use parking_lot::{Mutex, RwLock}; use rustc_hash::FxHasher; use smallvec::SmallVec; -use tokio::task_local; use tracing::Span; use turbo_prehash::PreHashed; use turbo_tasks::{ backend::{CachedTaskType, CellContent, TaskCollectiblesMap, TaskExecutionSpec}, event::{Event, EventListener}, get_invalidator, registry, CellId, Invalidator, RawVc, ReadConsistency, TaskId, TaskIdSet, - TraitTypeId, TurboTasksBackendApi, ValueTypeId, + TraitTypeId, TurboTasksBackendApi, TurboTasksBackendApiExt, ValueTypeId, }; use crate::{ @@ -45,12 +43,6 @@ pub type NativeTaskFn = Box NativeTaskFuture + Send + Sync>; mod aggregation; mod meta_state; -task_local! { - /// Cells/Outputs/Collectibles that are read during task execution - /// These will be stored as dependencies when the execution has finished - pub(crate) static DEPENDENCIES_TO_TRACK: RefCell; -} - type OnceTaskFn = Mutex> + Send + 'static>>>>; /// Different Task types @@ -966,7 +958,8 @@ impl Task { let mut change_job = None; let mut remove_job = None; let mut drained_cells = SmallVec::<[Cell; 8]>::new(); - let dependencies = DEPENDENCIES_TO_TRACK.with(|deps| deps.take()); + let dependencies = turbo_tasks + .write_task_state(|deps| std::mem::take(&mut deps.dependencies_to_track)); { let mut state = self.full_state_mut(); @@ -1343,11 +1336,13 @@ impl Task { } } - pub(crate) fn add_dependency_to_current(dep: TaskEdge) { - DEPENDENCIES_TO_TRACK.with(|list| { - let mut list = list.borrow_mut(); - list.insert(dep); - }) + pub(crate) fn add_dependency_to_current( + dep: TaskEdge, + turbo_tasks: &dyn TurboTasksBackendApi, + ) { + turbo_tasks.write_task_state(|ts| { + ts.dependencies_to_track.insert(dep); + }); } /// Get an [Invalidator] that can be used to invalidate the current [Task] diff --git a/turbopack/crates/turbo-tasks-testing/tests/detached.rs b/turbopack/crates/turbo-tasks-testing/tests/detached.rs index e738d43ae76f0..5011df99f7a77 100644 --- a/turbopack/crates/turbo-tasks-testing/tests/detached.rs +++ b/turbopack/crates/turbo-tasks-testing/tests/detached.rs @@ -2,9 +2,9 @@ use tokio::{ sync::{watch, Notify}, - time::{timeout, Duration}, + time::{sleep, timeout, Duration}, }; -use turbo_tasks::{turbo_tasks, Completion, TransientInstance, Vc}; +use turbo_tasks::{turbo_tasks, State, TransientInstance, Vc}; use turbo_tasks_testing::{register, run, Registration}; static REGISTRATION: Registration = register!(); @@ -12,37 +12,42 @@ static REGISTRATION: Registration = register!(); #[tokio::test] async fn test_spawns_detached() -> anyhow::Result<()> { run(®ISTRATION, || async { - let notify = TransientInstance::new(Notify::new()); - let (tx, mut rx) = watch::channel(None); + // timeout: prevent the test from hanging, and fail instead if this is broken + timeout(Duration::from_secs(5), async { + let notify = TransientInstance::new(Notify::new()); + let (tx, mut rx) = watch::channel(None); + let tx = TransientInstance::new(tx); - // create the task - let out_vc = spawns_detached(notify.clone(), TransientInstance::new(tx)); + // create the task + let out_vc = spawns_detached(notify.clone(), tx.clone()); - // see that the task does not exit yet - timeout(Duration::from_millis(100), out_vc.strongly_consistent()) - .await - .expect_err("should wait on the detached task"); + // see that the task does not exit yet + timeout(Duration::from_millis(100), out_vc.strongly_consistent()) + .await + .expect_err("should wait on the detached task"); - // let the detached future exit - notify.notify_waiters(); + // let the detached future exit + notify.notify_waiters(); - // it should send us back a cell - let detached_vc: Vc = rx.wait_for(|opt| opt.is_some()).await.unwrap().unwrap(); - assert_eq!(*detached_vc.await.unwrap(), 42); + // it should send us back a cell + let detached_vc: Vc = rx.wait_for(|opt| opt.is_some()).await?.unwrap(); + assert_eq!(*detached_vc.strongly_consistent().await?, 42); - // the parent task should now be able to exit - out_vc.strongly_consistent().await.unwrap(); + // the parent task should now be able to exit + out_vc.strongly_consistent().await?; - Ok(()) + Ok(()) + }) + .await? }) .await } #[turbo_tasks::function] -fn spawns_detached( +async fn spawns_detached( notify: TransientInstance, sender: TransientInstance>>>, -) -> Vc { +) -> Vc<()> { tokio::spawn(turbo_tasks().detached_for_testing(Box::pin(async move { notify.notified().await; // creating cells after the normal lifetime of the task should be okay, as the parent task @@ -50,5 +55,89 @@ fn spawns_detached( sender.send(Some(Vc::cell(42))).unwrap(); Ok(()) }))); - Completion::new() + Vc::cell(()) +} + +#[tokio::test] +async fn test_spawns_detached_changing() -> anyhow::Result<()> { + run(®ISTRATION, || async { + // timeout: prevent the test from hanging, and fail instead if this is broken + timeout(Duration::from_secs(5), async { + let (tx, mut rx) = watch::channel(None); + let tx = TransientInstance::new(tx); + + // state that's read by the detached future + let changing_input_detached = ChangingInput { + state: State::new(42), + } + .cell(); + + // state that's read by the outer task + let changing_input_outer = ChangingInput { + state: State::new(0), + } + .cell(); + + // create the task + let out_vc = + spawns_detached_changing(tx.clone(), changing_input_detached, changing_input_outer); + + // it should send us back a cell + let detached_vc: Vc = rx.wait_for(|opt| opt.is_some()).await.unwrap().unwrap(); + assert_eq!(*detached_vc.strongly_consistent().await.unwrap(), 42); + + // the parent task should now be able to exit + out_vc.strongly_consistent().await.unwrap(); + + // changing either input should invalidate the vc and cause it to run again + changing_input_detached.await.unwrap().state.set(43); + out_vc.strongly_consistent().await.unwrap(); + assert_eq!(*detached_vc.strongly_consistent().await.unwrap(), 43); + + changing_input_outer.await.unwrap().state.set(44); + assert_eq!(*out_vc.strongly_consistent().await.unwrap(), 44); + + Ok(()) + }) + .await? + }) + .await +} + +#[turbo_tasks::value] +struct ChangingInput { + state: State, +} + +#[turbo_tasks::function] +async fn spawns_detached_changing( + sender: TransientInstance>>>, + changing_input_detached: Vc, + changing_input_outer: Vc, +) -> Vc { + let tt = turbo_tasks(); + tokio::spawn(tt.clone().detached_for_testing(Box::pin(async move { + sleep(Duration::from_millis(100)).await; + // nested detached_for_testing calls should work + tokio::spawn(tt.clone().detached_for_testing(Box::pin(async move { + sleep(Duration::from_millis(100)).await; + // creating cells after the normal lifetime of the task should be okay, as the parent + // task is waiting on us before exiting! + sender + .send(Some(Vc::cell( + *read_changing_input(changing_input_detached).await.unwrap(), + ))) + .unwrap(); + Ok(()) + }))); + Ok(()) + }))); + Vc::cell(*read_changing_input(changing_input_outer).await.unwrap()) +} + +// spawns_detached should take a dependency on this function for each input +#[turbo_tasks::function] +async fn read_changing_input(changing_input: Vc) -> Vc { + // when changing_input.set is called, it will trigger an invalidator for this task + Vc::cell(*changing_input.await.unwrap().state.get()) } diff --git a/turbopack/crates/turbo-tasks/src/backend.rs b/turbopack/crates/turbo-tasks/src/backend.rs index 38e95b2dfa87d..a272bbad83572 100644 --- a/turbopack/crates/turbo-tasks/src/backend.rs +++ b/turbopack/crates/turbo-tasks/src/backend.rs @@ -441,15 +441,28 @@ pub trait Backend: Sync + Send { fn get_task_description(&self, task: TaskId) -> String; - type ExecutionScopeFuture> + Send + 'static>: Future> - + Send - + 'static; + /// Task-local state that stored inside of [`TurboTasksBackendApi`]. Constructed with + /// [`Self::new_task_state`]. + /// + /// This value that can later be written to or read from using + /// [`crate::TurboTasksBackendApiExt::write_task_state`] or + /// [`crate::TurboTasksBackendApiExt::read_task_state`] + /// + /// This data may be shared across multiple threads (must be `Sync`) in order to support + /// detached futures ([`crate::TurboTasksApi::detached_for_testing`]) and [pseudo-tasks using + /// `local_cells`][crate::function]. A [`RwLock`][std::sync::RwLock] is used to provide + /// concurrent access. + type TaskState: Send + Sync + 'static; - fn execution_scope> + Send + 'static>( - &self, - task: TaskId, - future: T, - ) -> Self::ExecutionScopeFuture; + /// Constructs a new task-local [`Self::TaskState`] for the given `task_id`. + /// + /// If a task is re-executed (e.g. because it is invalidated), this function will be called + /// again with the same [`TaskId`]. + /// + /// This value can be written to or read from using + /// [`crate::TurboTasksBackendApiExt::write_task_state`] and + /// [`crate::TurboTasksBackendApiExt::read_task_state`] + fn new_task_state(&self, task: TaskId) -> Self::TaskState; fn try_start_task_execution<'a>( &'a self, diff --git a/turbopack/crates/turbo-tasks/src/lib.rs b/turbopack/crates/turbo-tasks/src/lib.rs index 26b484434db62..eb0c4497535d9 100644 --- a/turbopack/crates/turbo-tasks/src/lib.rs +++ b/turbopack/crates/turbo-tasks/src/lib.rs @@ -91,7 +91,8 @@ pub use manager::{ dynamic_call, dynamic_this_call, emit, get_invalidator, mark_finished, mark_stateful, prevent_gc, run_once, run_once_with_reason, spawn_blocking, spawn_thread, trait_call, turbo_tasks, CurrentCellRef, Invalidator, ReadConsistency, TaskPersistence, TurboTasks, - TurboTasksApi, TurboTasksBackendApi, TurboTasksCallApi, Unused, UpdateInfo, + TurboTasksApi, TurboTasksBackendApi, TurboTasksBackendApiExt, TurboTasksCallApi, Unused, + UpdateInfo, }; pub use native_function::{FunctionMeta, NativeFunction}; pub use raw_vc::{CellId, RawVc, ReadRawVcFuture, ResolveTypeError}; diff --git a/turbopack/crates/turbo-tasks/src/manager.rs b/turbopack/crates/turbo-tasks/src/manager.rs index 15de2eaa84b52..beae9139f8c0a 100644 --- a/turbopack/crates/turbo-tasks/src/manager.rs +++ b/turbopack/crates/turbo-tasks/src/manager.rs @@ -1,4 +1,5 @@ use std::{ + any::Any, borrow::Cow, future::Future, hash::{BuildHasherDefault, Hash}, @@ -236,10 +237,52 @@ pub trait TurboTasksBackendApi: TurboTasksCallApi + Sync + /// Returns the duration from the start of the program to the given instant. fn program_duration_until(&self, instant: Instant) -> Duration; + + /// An untyped object-safe version of [`TurboTasksBackendApiExt::read_task_state`]. Callers + /// should prefer the extension trait's version of this method. + fn read_task_state_dyn(&self, func: &mut dyn FnMut(&B::TaskState)); + + /// An untyped object-safe version of [`TurboTasksBackendApiExt::write_task_state`]. Callers + /// should prefer the extension trait's version of this method. + fn write_task_state_dyn(&self, func: &mut dyn FnMut(&mut B::TaskState)); + /// Returns a reference to the backend. fn backend(&self) -> &B; } +/// An extension trait for methods of `TurboTasksBackendApi` that are not object-safe. This is +/// automatically implemented for all `TurboTasksBackendApi`s using a blanket impl. +pub trait TurboTasksBackendApiExt: TurboTasksBackendApi { + /// Allows modification of the [`Backend::TaskState`]. + /// + /// This function holds open a non-exclusive read lock that blocks writes, so `func` is expected + /// to execute quickly in order to release the lock. + fn read_task_state(&self, func: impl FnOnce(&B::TaskState) -> T) -> T { + let mut func = Some(func); + let mut out = None; + self.read_task_state_dyn(&mut |ts| out = Some((func.take().unwrap())(ts))); + out.expect("read_task_state_dyn must call `func`") + } + + /// Allows modification of the [`Backend::TaskState`]. + /// + /// This function holds open a write lock, so `func` is expected to execute quickly in order to + /// release the lock. + fn write_task_state(&self, func: impl FnOnce(&mut B::TaskState) -> T) -> T { + let mut func = Some(func); + let mut out = None; + self.write_task_state_dyn(&mut |ts| out = Some((func.take().unwrap())(ts))); + out.expect("write_task_state_dyn must call `func`") + } +} + +impl TurboTasksBackendApiExt for TT +where + TT: TurboTasksBackendApi + ?Sized, + B: Backend + 'static, +{ +} + #[allow(clippy::manual_non_exhaustive)] pub struct UpdateInfo { pub duration: Duration, @@ -341,10 +384,12 @@ struct CurrentGlobalTaskState { /// Tracks currently running local tasks, and defers cleanup of the global task until those /// complete. local_task_tracker: TaskTracker, + + backend_state: Box, } impl CurrentGlobalTaskState { - fn new(task_id: TaskId) -> Self { + fn new(task_id: TaskId, backend_state: Box) -> Self { Self { task_id, tasks_to_notify: Vec::new(), @@ -352,6 +397,7 @@ impl CurrentGlobalTaskState { cell_counters: Some(AutoMap::default()), local_cells: Vec::new(), local_task_tracker: TaskTracker::new(), + backend_state, } } } @@ -689,7 +735,11 @@ impl TurboTasks { let future = async move { let mut schedule_again = true; while schedule_again { - let global_task_state = Arc::new(RwLock::new(CurrentGlobalTaskState::new(task_id))); + let backend_state = this.backend.new_task_state(task_id); + let global_task_state = Arc::new(RwLock::new(CurrentGlobalTaskState::new( + task_id, + Box::new(backend_state), + ))); let local_task_state = CurrentLocalTaskState::new( this.execution_id_factory.get(), this.backend @@ -754,9 +804,7 @@ impl TurboTasks { anyhow::Ok(()) }; - let future = TURBO_TASKS - .scope(self.pin(), self.backend.execution_scope(task_id, future)) - .in_current_span(); + let future = TURBO_TASKS.scope(self.pin(), future).in_current_span(); #[cfg(feature = "tokio_tracing")] tokio::task::Builder::new() @@ -1316,22 +1364,15 @@ impl TurboTasksApi for TurboTasks { // state as well. let global_task_state = CURRENT_GLOBAL_TASK_STATE.with(|ts| ts.clone()); let local_task_state = CURRENT_LOCAL_TASK_STATE.with(|ts| ts.clone()); - let (task_id, fut) = { + let tracked_fut = { let ts = global_task_state.read().unwrap(); - (ts.task_id, ts.local_task_tracker.track_future(fut)) + ts.local_task_tracker.track_future(fut) }; Box::pin(TURBO_TASKS.scope( turbo_tasks(), CURRENT_GLOBAL_TASK_STATE.scope( global_task_state, - CURRENT_LOCAL_TASK_STATE.scope( - local_task_state, - // TODO(bgw): This will create a new task-local in the backend, which is not - // what we want. Instead we should replace `execution_scope` with a more - // limited API that allows storing thread-local state in a way the manager can - // control. - self.backend.execution_scope(task_id, fut), - ), + CURRENT_LOCAL_TASK_STATE.scope(local_task_state, tracked_fut), ), )) } @@ -1450,6 +1491,16 @@ impl TurboTasksBackendApi for TurboTasks { unsafe fn reuse_transient_task_id(&self, id: Unused) { unsafe { self.transient_task_id_factory.reuse(id.into()) } } + + fn read_task_state_dyn(&self, func: &mut dyn FnMut(&B::TaskState)) { + CURRENT_GLOBAL_TASK_STATE + .with(move |ts| func(ts.read().unwrap().backend_state.downcast_ref().unwrap())) + } + + fn write_task_state_dyn(&self, func: &mut dyn FnMut(&mut B::TaskState)) { + CURRENT_GLOBAL_TASK_STATE + .with(move |ts| func(ts.write().unwrap().backend_state.downcast_mut().unwrap())) + } } pub(crate) fn current_task(from: &str) -> TaskId { @@ -1666,7 +1717,10 @@ pub fn with_turbo_tasks_for_testing( TURBO_TASKS.scope( tt, CURRENT_GLOBAL_TASK_STATE.scope( - Arc::new(RwLock::new(CurrentGlobalTaskState::new(current_task))), + Arc::new(RwLock::new(CurrentGlobalTaskState::new( + current_task, + Box::new(()), + ))), CURRENT_LOCAL_TASK_STATE.scope(CurrentLocalTaskState::new(execution_id, None), f), ), ) From 12cbab273c9a131de60b8bc2b1b0df8911fee81d Mon Sep 17 00:00:00 2001 From: Sam Ko Date: Wed, 4 Sep 2024 10:08:17 -0700 Subject: [PATCH 005/119] docs(usePathname): add note about using usePathname with rewrites (#69686) ## Why? A `useState` + `useState` need to be used with `usePathname` when the route is rewritten to. Adding this as a note to our documentation. - x-ref: https://github.com/vercel/next.js/pull/69631#pullrequestreview-2278118356 --- docs/02-app/02-api-reference/04-functions/use-pathname.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/02-app/02-api-reference/04-functions/use-pathname.mdx b/docs/02-app/02-api-reference/04-functions/use-pathname.mdx index 1204b70a6cfa7..7c83af95a38fe 100644 --- a/docs/02-app/02-api-reference/04-functions/use-pathname.mdx +++ b/docs/02-app/02-api-reference/04-functions/use-pathname.mdx @@ -36,6 +36,7 @@ For example, a Client Component with `usePathname` will be rendered into HTML on > - Reading the current URL from a [Server Component](/docs/app/building-your-application/rendering/server-components) is not supported. This design is intentional to support layout state being preserved across page navigations. > - Compatibility mode: > - `usePathname` can return `null` when a [fallback route](/docs/pages/api-reference/functions/get-static-paths#fallback-true) is being rendered or when a `pages` directory page has been [automatically statically optimized](/docs/pages/building-your-application/rendering/automatic-static-optimization) by Next.js and the router is not ready. +> - When using `usePathname` with rewrites in [`next.config`](/docs/app/api-reference/next-config-js/rewrites) or [`Middleware`](/docs/app/building-your-application/routing/middleware), `useState` and `useEffect` must also be used in order to avoid hydration mismatch errors. See the [rewrites example](https://github.com/vercel/next.js/tree/canary/examples/rewrites) for more information. > - Next.js will automatically update your types if it detects both an `app` and `pages` directory in your project. ## Parameters From 4b4fd80065bc9e992baa4a322c7a36f25feb1eaf Mon Sep 17 00:00:00 2001 From: Benjamin Woodruff Date: Wed, 4 Sep 2024 10:26:45 -0700 Subject: [PATCH 006/119] chore(turbo-tasks): Move Invalidator struct from manager.rs to invalidation.rs (#69073) ## Why? `manager.rs` is getting *very* long (>2000 LOC) and hard to read through. I've been only been making this worse in my stack. This PR is a contribution to help offset this. `Invalidator` seems like something that's very weakly coupled with the rest of the manager, and there's a logical place for it in the `invalidation` module. ## Testing ``` cargo nextest r -p turbo-tasks -p turbo-tasks-memory ``` --- .../crates/turbo-tasks/src/invalidation.rs | 129 +++++++++++++++++- turbopack/crates/turbo-tasks/src/lib.rs | 12 +- turbopack/crates/turbo-tasks/src/manager.rs | 125 +---------------- 3 files changed, 136 insertions(+), 130 deletions(-) diff --git a/turbopack/crates/turbo-tasks/src/invalidation.rs b/turbopack/crates/turbo-tasks/src/invalidation.rs index 9d62cd50cd386..0e88fcc9b6176 100644 --- a/turbopack/crates/turbo-tasks/src/invalidation.rs +++ b/turbopack/crates/turbo-tasks/src/invalidation.rs @@ -3,11 +3,138 @@ use std::{ fmt::Display, hash::{Hash, Hasher}, mem::replace, + sync::{Arc, Weak}, }; +use anyhow::Result; use indexmap::{map::Entry, IndexMap, IndexSet}; +use serde::{de::Visitor, Deserialize, Serialize}; +use tokio::runtime::Handle; -use crate::{magic_any::HasherMut, util::StaticOrArc}; +use crate::{ + magic_any::HasherMut, + manager::{current_task, with_turbo_tasks}, + trace::TraceRawVcs, + util::StaticOrArc, + TaskId, TurboTasksApi, +}; + +/// Get an [`Invalidator`] that can be used to invalidate the current task +/// based on external events. +pub fn get_invalidator() -> Invalidator { + let handle = Handle::current(); + Invalidator { + task: current_task("turbo_tasks::get_invalidator()"), + turbo_tasks: with_turbo_tasks(Arc::downgrade), + handle, + } +} + +pub struct Invalidator { + task: TaskId, + turbo_tasks: Weak, + handle: Handle, +} + +impl Invalidator { + pub fn invalidate(self) { + let Invalidator { + task, + turbo_tasks, + handle, + } = self; + let _ = handle.enter(); + if let Some(turbo_tasks) = turbo_tasks.upgrade() { + turbo_tasks.invalidate(task); + } + } + + pub fn invalidate_with_reason(self, reason: T) { + let Invalidator { + task, + turbo_tasks, + handle, + } = self; + let _ = handle.enter(); + if let Some(turbo_tasks) = turbo_tasks.upgrade() { + turbo_tasks.invalidate_with_reason( + task, + (Arc::new(reason) as Arc).into(), + ); + } + } + + pub fn invalidate_with_static_reason(self, reason: &'static T) { + let Invalidator { + task, + turbo_tasks, + handle, + } = self; + let _ = handle.enter(); + if let Some(turbo_tasks) = turbo_tasks.upgrade() { + turbo_tasks + .invalidate_with_reason(task, (reason as &'static dyn InvalidationReason).into()); + } + } +} + +impl Hash for Invalidator { + fn hash(&self, state: &mut H) { + self.task.hash(state); + } +} + +impl PartialEq for Invalidator { + fn eq(&self, other: &Self) -> bool { + self.task == other.task + } +} + +impl Eq for Invalidator {} + +impl TraceRawVcs for Invalidator { + fn trace_raw_vcs(&self, _context: &mut crate::trace::TraceRawVcsContext) { + // nothing here + } +} + +impl Serialize for Invalidator { + fn serialize(&self, serializer: S) -> Result + where + S: serde::Serializer, + { + serializer.serialize_newtype_struct("Invalidator", &self.task) + } +} + +impl<'de> Deserialize<'de> for Invalidator { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + struct V; + + impl<'de> Visitor<'de> for V { + type Value = Invalidator; + + fn expecting(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + write!(f, "an Invalidator") + } + + fn visit_newtype_struct(self, deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + Ok(Invalidator { + task: TaskId::deserialize(deserializer)?, + turbo_tasks: with_turbo_tasks(Arc::downgrade), + handle: tokio::runtime::Handle::current(), + }) + } + } + deserializer.deserialize_newtype_struct("Invalidator", V) + } +} pub trait DynamicEqHash { fn as_any(&self) -> &dyn Any; diff --git a/turbopack/crates/turbo-tasks/src/lib.rs b/turbopack/crates/turbo-tasks/src/lib.rs index eb0c4497535d9..540c74fd4327f 100644 --- a/turbopack/crates/turbo-tasks/src/lib.rs +++ b/turbopack/crates/turbo-tasks/src/lib.rs @@ -83,16 +83,16 @@ pub use completion::{Completion, Completions}; pub use display::ValueToString; pub use id::{ExecutionId, FunctionId, TaskId, TraitTypeId, ValueTypeId, TRANSIENT_TASK_BIT}; pub use invalidation::{ - DynamicEqHash, InvalidationReason, InvalidationReasonKind, InvalidationReasonSet, + get_invalidator, DynamicEqHash, InvalidationReason, InvalidationReasonKind, + InvalidationReasonSet, Invalidator, }; pub use join_iter_ext::{JoinIterExt, TryFlatJoinIterExt, TryJoinIterExt}; pub use magic_any::MagicAny; pub use manager::{ - dynamic_call, dynamic_this_call, emit, get_invalidator, mark_finished, mark_stateful, - prevent_gc, run_once, run_once_with_reason, spawn_blocking, spawn_thread, trait_call, - turbo_tasks, CurrentCellRef, Invalidator, ReadConsistency, TaskPersistence, TurboTasks, - TurboTasksApi, TurboTasksBackendApi, TurboTasksBackendApiExt, TurboTasksCallApi, Unused, - UpdateInfo, + dynamic_call, dynamic_this_call, emit, mark_finished, mark_stateful, prevent_gc, run_once, + run_once_with_reason, spawn_blocking, spawn_thread, trait_call, turbo_tasks, CurrentCellRef, + ReadConsistency, TaskPersistence, TurboTasks, TurboTasksApi, TurboTasksBackendApi, + TurboTasksBackendApiExt, TurboTasksCallApi, Unused, UpdateInfo, }; pub use native_function::{FunctionMeta, NativeFunction}; pub use raw_vc::{CellId, RawVc, ReadRawVcFuture, ResolveTypeError}; diff --git a/turbopack/crates/turbo-tasks/src/manager.rs b/turbopack/crates/turbo-tasks/src/manager.rs index beae9139f8c0a..d44095e0c35e5 100644 --- a/turbopack/crates/turbo-tasks/src/manager.rs +++ b/turbopack/crates/turbo-tasks/src/manager.rs @@ -2,7 +2,7 @@ use std::{ any::Any, borrow::Cow, future::Future, - hash::{BuildHasherDefault, Hash}, + hash::BuildHasherDefault, mem::take, panic::AssertUnwindSafe, pin::Pin, @@ -18,7 +18,7 @@ use anyhow::{anyhow, Result}; use auto_hash_map::AutoMap; use futures::FutureExt; use rustc_hash::FxHasher; -use serde::{de::Visitor, Deserialize, Serialize}; +use serde::{Deserialize, Serialize}; use tokio::{runtime::Handle, select, task_local}; use tokio_util::task::TaskTracker; use tracing::{info_span, instrument, trace_span, Instrument, Level}; @@ -1513,112 +1513,6 @@ pub(crate) fn current_task(from: &str) -> TaskId { } } -pub struct Invalidator { - task: TaskId, - turbo_tasks: Weak, - handle: Handle, -} - -impl Hash for Invalidator { - fn hash(&self, state: &mut H) { - self.task.hash(state); - } -} - -impl PartialEq for Invalidator { - fn eq(&self, other: &Self) -> bool { - self.task == other.task - } -} - -impl Eq for Invalidator {} - -impl Invalidator { - pub fn invalidate(self) { - let Invalidator { - task, - turbo_tasks, - handle, - } = self; - let _ = handle.enter(); - if let Some(turbo_tasks) = turbo_tasks.upgrade() { - turbo_tasks.invalidate(task); - } - } - - pub fn invalidate_with_reason(self, reason: T) { - let Invalidator { - task, - turbo_tasks, - handle, - } = self; - let _ = handle.enter(); - if let Some(turbo_tasks) = turbo_tasks.upgrade() { - turbo_tasks.invalidate_with_reason( - task, - (Arc::new(reason) as Arc).into(), - ); - } - } - - pub fn invalidate_with_static_reason(self, reason: &'static T) { - let Invalidator { - task, - turbo_tasks, - handle, - } = self; - let _ = handle.enter(); - if let Some(turbo_tasks) = turbo_tasks.upgrade() { - turbo_tasks - .invalidate_with_reason(task, (reason as &'static dyn InvalidationReason).into()); - } - } -} - -impl TraceRawVcs for Invalidator { - fn trace_raw_vcs(&self, _context: &mut crate::trace::TraceRawVcsContext) { - // nothing here - } -} - -impl Serialize for Invalidator { - fn serialize(&self, serializer: S) -> Result - where - S: serde::Serializer, - { - serializer.serialize_newtype_struct("Invalidator", &self.task) - } -} - -impl<'de> Deserialize<'de> for Invalidator { - fn deserialize(deserializer: D) -> Result - where - D: serde::Deserializer<'de>, - { - struct V; - - impl<'de> Visitor<'de> for V { - type Value = Invalidator; - - fn expecting(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { - write!(f, "an Invalidator") - } - - fn visit_newtype_struct(self, deserializer: D) -> Result - where - D: serde::Deserializer<'de>, - { - Ok(Invalidator { - task: TaskId::deserialize(deserializer)?, - turbo_tasks: weak_turbo_tasks(), - handle: tokio::runtime::Handle::current(), - }) - } - } - deserializer.deserialize_newtype_struct("Invalidator", V) - } -} - pub async fn run_once( tt: Arc, future: impl Future> + Send + 'static, @@ -1704,10 +1598,6 @@ pub fn with_turbo_tasks(func: impl FnOnce(&Arc) -> T) -> T TURBO_TASKS.with(|arc| func(arc)) } -pub fn weak_turbo_tasks() -> Weak { - TURBO_TASKS.with(Arc::downgrade) -} - pub fn with_turbo_tasks_for_testing( tt: Arc, current_task: TaskId, @@ -1738,17 +1628,6 @@ pub fn current_task_for_testing() -> TaskId { CURRENT_GLOBAL_TASK_STATE.with(|ts| ts.read().unwrap().task_id) } -/// Get an [`Invalidator`] that can be used to invalidate the current task -/// based on external events. -pub fn get_invalidator() -> Invalidator { - let handle = Handle::current(); - Invalidator { - task: current_task("turbo_tasks::get_invalidator()"), - turbo_tasks: weak_turbo_tasks(), - handle, - } -} - /// Marks the current task as finished. This excludes it from waiting for /// strongly consistency. pub fn mark_finished() { From 158a740033e95cb2d889faae3b704ad7e6d0c674 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 4 Sep 2024 20:00:59 +0200 Subject: [PATCH 007/119] [Turbopack] transient when the self argument is transient (#69657) ### What? For calls with self argument, we also need to flag a task a transient when the self argument is transient. --- .../crates/turbo-tasks-macros/src/func.rs | 23 +++++++++++++++---- .../crates/turbo-tasks/src/macro_helpers.rs | 14 ++++++++++- turbopack/crates/turbo-tasks/src/raw_vc.rs | 7 ++++++ 3 files changed, 39 insertions(+), 5 deletions(-) diff --git a/turbopack/crates/turbo-tasks-macros/src/func.rs b/turbopack/crates/turbo-tasks-macros/src/func.rs index ae0c6129d1f92..e7354961854f3 100644 --- a/turbopack/crates/turbo-tasks-macros/src/func.rs +++ b/turbopack/crates/turbo-tasks-macros/src/func.rs @@ -324,6 +324,18 @@ impl TurboFn { } } + pub fn persistence_with_this(&self) -> impl ToTokens { + if self.local_cells { + quote! { + turbo_tasks::TaskPersistence::LocalCells + } + } else { + quote! { + turbo_tasks::macro_helpers::get_non_local_persistence_from_inputs_and_this(this, &*inputs) + } + } + } + fn converted_this(&self) -> Option { self.this.as_ref().map(|Input { ty: _, ident }| { parse_quote! { @@ -361,17 +373,18 @@ impl TurboFn { let output = &self.output; let assertions = self.get_assertions(); let inputs = self.input_idents(); - let persistence = self.persistence(); + let persistence = self.persistence_with_this(); parse_quote! { { #assertions let inputs = std::boxed::Box::new((#(#inputs,)*)); + let this = #converted_this; let persistence = #persistence; <#output as turbo_tasks::task::TaskOutput>::try_from_raw_vc( turbo_tasks::trait_call( *#trait_type_id_ident, std::borrow::Cow::Borrowed(stringify!(#ident)), - #converted_this, + this, inputs as std::boxed::Box, persistence, ) @@ -385,18 +398,19 @@ impl TurboFn { pub fn static_block(&self, native_function_id_ident: &Ident) -> Block { let output = &self.output; let inputs = self.input_idents(); - let persistence = self.persistence(); let assertions = self.get_assertions(); if let Some(converted_this) = self.converted_this() { + let persistence = self.persistence_with_this(); parse_quote! { { #assertions let inputs = std::boxed::Box::new((#(#inputs,)*)); + let this = #converted_this; let persistence = #persistence; <#output as turbo_tasks::task::TaskOutput>::try_from_raw_vc( turbo_tasks::dynamic_this_call( *#native_function_id_ident, - #converted_this, + this, inputs as std::boxed::Box, persistence, ) @@ -404,6 +418,7 @@ impl TurboFn { } } } else { + let persistence = self.persistence(); parse_quote! { { #assertions diff --git a/turbopack/crates/turbo-tasks/src/macro_helpers.rs b/turbopack/crates/turbo-tasks/src/macro_helpers.rs index 1e9313826069e..fef19848c5b05 100644 --- a/turbopack/crates/turbo-tasks/src/macro_helpers.rs +++ b/turbopack/crates/turbo-tasks/src/macro_helpers.rs @@ -9,7 +9,8 @@ pub use super::{ manager::{find_cell_by_type, notify_scheduled_tasks, spawn_detached_for_testing}, }; use crate::{ - debug::ValueDebugFormatString, task::TaskOutput, ResolvedValue, TaskInput, TaskPersistence, Vc, + debug::ValueDebugFormatString, task::TaskOutput, RawVc, ResolvedValue, TaskInput, + TaskPersistence, Vc, }; #[inline(never)] @@ -31,6 +32,17 @@ pub fn get_non_local_persistence_from_inputs(inputs: &impl TaskInput) -> TaskPer } } +pub fn get_non_local_persistence_from_inputs_and_this( + this: RawVc, + inputs: &impl TaskInput, +) -> TaskPersistence { + if this.is_transient() || inputs.is_transient() { + TaskPersistence::Transient + } else { + TaskPersistence::Persistent + } +} + pub fn assert_returns_resolved_value() where ReturnType: TaskOutput>, diff --git a/turbopack/crates/turbo-tasks/src/raw_vc.rs b/turbopack/crates/turbo-tasks/src/raw_vc.rs index a844df4d47723..b50dd5ac627f3 100644 --- a/turbopack/crates/turbo-tasks/src/raw_vc.rs +++ b/turbopack/crates/turbo-tasks/src/raw_vc.rs @@ -79,6 +79,13 @@ impl RawVc { } } + pub fn is_transient(&self) -> bool { + match self { + RawVc::TaskOutput(task) | RawVc::TaskCell(task, _) => task.is_transient(), + RawVc::LocalCell(_, _) => true, + } + } + pub(crate) fn into_read(self) -> ReadRawVcFuture { // returns a custom future to have something concrete and sized // this avoids boxing in IntoFuture From 6de83774f5b97770d162767cb51b1e6c2cfe3fcf Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 4 Sep 2024 20:23:42 +0200 Subject: [PATCH 008/119] [Turbopack] store project options in state (#69658) ### What? We can't pass the whole config (including next config) as argument to `ProjectContainer::new` as this would result in a new project every time the config is different. (It's always different due to some random values). So to leverage persistent caching we need to remove the argument from `ProjectContainer::new` (so it's always the same project) and push the config into a `State`. This way we "modify" the project and can benefit from caching for the unchanged values. --- crates/napi/src/next_api/project.rs | 17 ++-- crates/next-api/src/project.rs | 79 +++++++++++++++---- crates/next-build-test/src/lib.rs | 7 +- turbopack/crates/node-file-trace/src/lib.rs | 2 +- .../crates/turbo-tasks-fs/src/invalidation.rs | 61 ++++++++++++-- turbopack/crates/turbo-tasks-fs/src/lib.rs | 16 ++-- .../crates/turbo-tasks-fs/src/watcher.rs | 26 ++++-- 7 files changed, 162 insertions(+), 46 deletions(-) diff --git a/crates/napi/src/next_api/project.rs b/crates/napi/src/next_api/project.rs index c5937c3ade114..4b94a1b04249c 100644 --- a/crates/napi/src/next_api/project.rs +++ b/crates/napi/src/next_api/project.rs @@ -331,11 +331,12 @@ pub async fn project_new( .unwrap(); }); } - let options = options.into(); + let options: ProjectOptions = options.into(); let container = turbo_tasks .run_once(async move { - let project = ProjectContainer::new(options); + let project = ProjectContainer::new("next.js".into(), options.dev); let project = project.resolve().await?; + project.initialize(options).await?; Ok(project) }) .await @@ -365,9 +366,6 @@ pub async fn project_new( /// - https://github.com/oven-sh/bun/blob/06a9aa80c38b08b3148bfeabe560/src/install/install.zig#L3038 #[tracing::instrument] async fn benchmark_file_io(directory: Vc) -> Result> { - let temp_path = - directory.join(format!("tmp_file_io_benchmark_{:x}", rand::random::()).into()); - // try to get the real file path on disk so that we can use it with tokio let fs = Vc::try_resolve_downcast_type::(directory.fs()) .await? @@ -375,7 +373,12 @@ async fn benchmark_file_io(directory: Vc) -> Result() + )); let mut random_buffer = [0u8; 512]; rand::thread_rng().fill(&mut random_buffer[..]); @@ -404,7 +407,7 @@ async fn benchmark_file_io(directory: Vc) -> Result, + name: RcStr, + options_state: State>, versioned_content_map: Option>, } #[turbo_tasks::value_impl] impl ProjectContainer { #[turbo_tasks::function] - pub fn new(options: ProjectOptions) -> Vc { + pub fn new(name: RcStr, dev: bool) -> Vc { ProjectContainer { + name, // we only need to enable versioning in dev mode, since build // is assumed to be operating over a static snapshot - versioned_content_map: options.dev.then(VersionedContentMap::new), - options_state: State::new(options), + versioned_content_map: dev.then(VersionedContentMap::new), + options_state: State::new(None), } .cell() } +} - #[turbo_tasks::function] - pub fn update(&self, options: PartialProjectOptions) -> Vc<()> { +impl ProjectContainer { + #[tracing::instrument(level = "info", name = "initialize project", skip_all)] + pub async fn initialize(self: Vc, options: ProjectOptions) -> Result<()> { + self.await?.options_state.set(Some(options)); + let project = self.project(); + project + .project_fs() + .strongly_consistent() + .await? + .start_watching_with_invalidation_reason()?; + project + .output_fs() + .strongly_consistent() + .await? + .invalidate_with_reason(); + Ok(()) + } + + #[tracing::instrument(level = "info", name = "update project", skip_all)] + pub async fn update(self: Vc, options: PartialProjectOptions) -> Result<()> { let PartialProjectOptions { root_path, project_path, @@ -206,7 +227,13 @@ impl ProjectContainer { preview_props, } = options; - let mut new_options = self.options_state.get().clone(); + let this = self.await?; + + let mut new_options = this + .options_state + .get() + .clone() + .context("ProjectContainer need to be initialized with initialize()")?; if let Some(root_path) = root_path { new_options.root_path = root_path; @@ -244,11 +271,28 @@ impl ProjectContainer { // TODO: Handle mode switch, should prevent mode being switched. - self.options_state.set(new_options); + let project = self.project(); + let prev_project_fs = project.project_fs().strongly_consistent().await?; + let prev_output_fs = project.output_fs().strongly_consistent().await?; + + this.options_state.set(Some(new_options)); + let project_fs = project.project_fs().strongly_consistent().await?; + let output_fs = project.output_fs().strongly_consistent().await?; + + if !ReadRef::ptr_eq(&prev_project_fs, &project_fs) { + // TODO stop watching: prev_project_fs.stop_watching()?; + project_fs.start_watching_with_invalidation_reason()?; + } + if !ReadRef::ptr_eq(&prev_output_fs, &output_fs) { + prev_output_fs.invalidate_with_reason(); + } - Default::default() + Ok(()) } +} +#[turbo_tasks::value_impl] +impl ProjectContainer { #[turbo_tasks::function] pub async fn project(self: Vc) -> Result> { let this = self.await?; @@ -266,6 +310,9 @@ impl ProjectContainer { let preview_props; { let options = this.options_state.get(); + let options = options + .as_ref() + .context("ProjectContainer need to be initialized with initialize()")?; env_map = Vc::cell(options.env.iter().cloned().collect()); define_env = ProjectDefineEnv { client: Vc::cell(options.define_env.client.iter().cloned().collect()), @@ -462,7 +509,7 @@ impl Project { } #[turbo_tasks::function] - async fn project_fs(self: Vc) -> Result>> { + async fn project_fs(self: Vc) -> Result> { let this = self.await?; let disk_fs = DiskFileSystem::new( PROJECT_FILESYSTEM_NAME.into(), @@ -472,7 +519,7 @@ impl Project { if this.watch { disk_fs.await?.start_watching_with_invalidation_reason()?; } - Ok(Vc::upcast(disk_fs)) + Ok(disk_fs) } #[turbo_tasks::function] @@ -482,10 +529,10 @@ impl Project { } #[turbo_tasks::function] - pub async fn output_fs(self: Vc) -> Result>> { + pub async fn output_fs(self: Vc) -> Result> { let this = self.await?; let disk_fs = DiskFileSystem::new("output".into(), this.project_path.clone(), vec![]); - Ok(Vc::upcast(disk_fs)) + Ok(disk_fs) } #[turbo_tasks::function] diff --git a/crates/next-build-test/src/lib.rs b/crates/next-build-test/src/lib.rs index 63d0417633a41..686857487391f 100644 --- a/crates/next-build-test/src/lib.rs +++ b/crates/next-build-test/src/lib.rs @@ -38,7 +38,12 @@ pub async fn main_inner( } let project = tt - .run_once(async { Ok(ProjectContainer::new(options)) }) + .run_once(async { + let project = ProjectContainer::new("next-build-test".into(), options.dev); + let project = project.resolve().await?; + project.initialize(options).await?; + Ok(project) + }) .await?; tracing::info!("collecting endpoints"); diff --git a/turbopack/crates/node-file-trace/src/lib.rs b/turbopack/crates/node-file-trace/src/lib.rs index 1b7d2a5ce93ac..7d9feeeaa23cb 100644 --- a/turbopack/crates/node-file-trace/src/lib.rs +++ b/turbopack/crates/node-file-trace/src/lib.rs @@ -192,7 +192,7 @@ async fn create_fs(name: &str, root: &str, watch: bool) -> Result) -> std::fmt::Result { - write!(f, "{} started watching", self.name) + write!(f, "started watching {} in {}", self.path, self.name) } } @@ -77,15 +81,13 @@ impl InvalidationReasonKind for WatchStartKind { reasons: &IndexSet>, f: &mut Formatter<'_>, ) -> std::fmt::Result { + let example = reasons[0].as_any().downcast_ref::().unwrap(); write!( f, - "{} directories started watching (e. g. {})", + "{} items started watching (e. g. {} in {})", reasons.len(), - reasons[0] - .as_any() - .downcast_ref::() - .unwrap() - .name + example.path, + example.name ) } } @@ -128,3 +130,46 @@ impl InvalidationReasonKind for WriteKind { ) } } + +/// Invalidation was caused by a invalidate operation on the filesystem +#[derive(Clone, PartialEq, Eq, Hash)] +pub struct InvalidateFilesystem { + pub path: RcStr, +} + +impl InvalidationReason for InvalidateFilesystem { + fn kind(&self) -> Option> { + Some(StaticOrArc::Static(&INVALIDATE_FILESYSTEM_KIND)) + } +} + +impl Display for InvalidateFilesystem { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + write!(f, "{} in filesystem invalidated", self.path) + } +} + +/// Invalidation kind for [InvalidateFilesystem] +#[derive(PartialEq, Eq, Hash)] +struct InvalidateFilesystemKind; + +static INVALIDATE_FILESYSTEM_KIND: InvalidateFilesystemKind = InvalidateFilesystemKind; + +impl InvalidationReasonKind for InvalidateFilesystemKind { + fn fmt( + &self, + reasons: &IndexSet>, + f: &mut Formatter<'_>, + ) -> std::fmt::Result { + write!( + f, + "{} items in filesystem invalidated ({}, ...)", + reasons.len(), + reasons[0] + .as_any() + .downcast_ref::() + .unwrap() + .path + ) + } +} diff --git a/turbopack/crates/turbo-tasks-fs/src/lib.rs b/turbopack/crates/turbo-tasks-fs/src/lib.rs index cc1fb9ef31c60..3e1ce659eca10 100644 --- a/turbopack/crates/turbo-tasks-fs/src/lib.rs +++ b/turbopack/crates/turbo-tasks-fs/src/lib.rs @@ -43,6 +43,7 @@ use auto_hash_map::AutoMap; use bitflags::bitflags; use dunce::simplified; use glob::Glob; +use invalidation::InvalidateFilesystem; use invalidator_map::InvalidatorMap; use jsonc_parser::{parse_to_serde_value, ParseOptions}; use mime::Mime; @@ -57,8 +58,7 @@ use tokio::{ }; use tracing::Instrument; use turbo_tasks::{ - mark_stateful, trace::TraceRawVcs, Completion, InvalidationReason, Invalidator, RcStr, ReadRef, - ValueToString, Vc, + mark_stateful, trace::TraceRawVcs, Completion, Invalidator, RcStr, ReadRef, ValueToString, Vc, }; use turbo_tasks_hash::{hash_xxh3_hash64, DeterministicHash, DeterministicHasher}; use util::{extract_disk_access, join_path, normalize_path, sys_to_unix, unix_to_sys}; @@ -165,6 +165,7 @@ impl DiskFileSystem { } pub fn invalidate(&self) { + let _span = tracing::info_span!("invalidate filesystem", path = &*self.root).entered(); for (_, invalidators) in take(&mut *self.invalidator_map.lock().unwrap()).into_iter() { invalidators.into_iter().for_each(|i| i.invalidate()); } @@ -173,13 +174,17 @@ impl DiskFileSystem { } } - pub fn invalidate_with_reason(&self, reason: T) { - for (_, invalidators) in take(&mut *self.invalidator_map.lock().unwrap()).into_iter() { + pub fn invalidate_with_reason(&self) { + let _span = tracing::info_span!("invalidate filesystem", path = &*self.root).entered(); + for (path, invalidators) in take(&mut *self.invalidator_map.lock().unwrap()).into_iter() { + let reason = InvalidateFilesystem { path: path.into() }; invalidators .into_iter() .for_each(|i| i.invalidate_with_reason(reason.clone())); } - for (_, invalidators) in take(&mut *self.dir_invalidator_map.lock().unwrap()).into_iter() { + for (path, invalidators) in take(&mut *self.dir_invalidator_map.lock().unwrap()).into_iter() + { + let reason = InvalidateFilesystem { path: path.into() }; invalidators .into_iter() .for_each(|i| i.invalidate_with_reason(reason.clone())); @@ -195,6 +200,7 @@ impl DiskFileSystem { } fn start_watching_internal(&self, report_invalidation_reason: bool) -> Result<()> { + let _span = tracing::info_span!("start filesystem watching", path = &*self.root).entered(); let invalidator_map = self.invalidator_map.clone(); let dir_invalidator_map = self.dir_invalidator_map.clone(); let root_path = self.root_path().to_path_buf(); diff --git a/turbopack/crates/turbo-tasks-fs/src/watcher.rs b/turbopack/crates/turbo-tasks-fs/src/watcher.rs index 3bc3aa53be5eb..1b9bd5f98c090 100644 --- a/turbopack/crates/turbo-tasks-fs/src/watcher.rs +++ b/turbopack/crates/turbo-tasks-fs/src/watcher.rs @@ -153,15 +153,25 @@ impl DiskWatcher { // We need to invalidate all reads that happened before watching // Best is to start_watching before starting to read - for invalidator in take(&mut *invalidator_map.lock().unwrap()) - .into_iter() - .chain(take(&mut *dir_invalidator_map.lock().unwrap()).into_iter()) - .flat_map(|(_, invalidators)| invalidators.into_iter()) { - if report_invalidation_reason.is_some() { - invalidator.invalidate_with_reason(WatchStart { name: name.clone() }) - } else { - invalidator.invalidate(); + let _span = tracing::info_span!("invalidate filesystem").entered(); + for (path, invalidators) in take(&mut *invalidator_map.lock().unwrap()) + .into_iter() + .chain(take(&mut *dir_invalidator_map.lock().unwrap()).into_iter()) + { + if report_invalidation_reason.is_some() { + let path: RcStr = path.into(); + for invalidator in invalidators { + invalidator.invalidate_with_reason(WatchStart { + name: name.clone(), + path: path.clone(), + }) + } + } else { + for invalidator in invalidators { + invalidator.invalidate(); + } + } } } From 3b567f1670c279d13e82604b59be6f2af82da931 Mon Sep 17 00:00:00 2001 From: Benjamin Woodruff Date: Wed, 4 Sep 2024 11:28:59 -0700 Subject: [PATCH 009/119] refactor(turbo-tasks): Add stubs for RawVc::TaskOutput (#68908) ## Why? https://www.notion.so/vercel/RawVc-LocalOutput-aede5f463f594ca58396eb3fdaffd865 When returning from a function using `local_cells`, we need to return a `RawVc`, but we don't know that the output type is yet, so we need a `RawVc` variant that does not require a type. This is fundamentally the same problem that `RawVc::TaskOutput` solves. `RawVc::LocalOutput` is the same thing, but for functions using `local_cells`. ## Implementation There's an (partially broken) implementation in #69126. This PR exists to help break #69126 into more reviewable chunks. --- .../crates/turbo-tasks-testing/src/lib.rs | 20 ++++++- turbopack/crates/turbo-tasks/src/id.rs | 60 +++++++------------ turbopack/crates/turbo-tasks/src/lib.rs | 4 +- turbopack/crates/turbo-tasks/src/manager.rs | 50 +++++++++++++++- turbopack/crates/turbo-tasks/src/raw_vc.rs | 56 ++++++++++++++--- 5 files changed, 141 insertions(+), 49 deletions(-) diff --git a/turbopack/crates/turbo-tasks-testing/src/lib.rs b/turbopack/crates/turbo-tasks-testing/src/lib.rs index 842e33e95f2c2..43f6a2d714ff1 100644 --- a/turbopack/crates/turbo-tasks-testing/src/lib.rs +++ b/turbopack/crates/turbo-tasks-testing/src/lib.rs @@ -20,7 +20,7 @@ use turbo_tasks::{ registry, test_helpers::with_turbo_tasks_for_testing, util::{SharedError, StaticOrArc}, - CellId, ExecutionId, InvalidationReason, MagicAny, RawVc, ReadConsistency, TaskId, + CellId, ExecutionId, InvalidationReason, LocalTaskId, MagicAny, RawVc, ReadConsistency, TaskId, TaskPersistence, TraitTypeId, TurboTasksApi, TurboTasksCallApi, }; @@ -242,6 +242,24 @@ impl TurboTasksApi for VcStorage { self.read_own_task_cell(current_task, index) } + fn try_read_local_output( + &self, + parent_task_id: TaskId, + local_task_id: LocalTaskId, + consistency: ReadConsistency, + ) -> Result> { + self.try_read_local_output_untracked(parent_task_id, local_task_id, consistency) + } + + fn try_read_local_output_untracked( + &self, + _parent_task_id: TaskId, + _local_task_id: LocalTaskId, + _consistency: ReadConsistency, + ) -> Result> { + unimplemented!() + } + fn emit_collectible(&self, _trait_type: turbo_tasks::TraitTypeId, _collectible: RawVc) { unimplemented!() } diff --git a/turbopack/crates/turbo-tasks/src/id.rs b/turbopack/crates/turbo-tasks/src/id.rs index 26f1f712c0ebc..566800b0dbb17 100644 --- a/turbopack/crates/turbo-tasks/src/id.rs +++ b/turbopack/crates/turbo-tasks/src/id.rs @@ -10,8 +10,16 @@ use serde::{de::Visitor, Deserialize, Serialize}; use crate::{registry, TaskPersistence}; macro_rules! define_id { - ($name:ident : $primitive:ty $(,derive($($derive:ty),*))?) => { + ( + $name:ident : $primitive:ty + $(,derive($($derive:ty),*))? + $(,serde($serde:tt))? + $(,doc = $doc:literal)* + $(,)? + ) => { + $(#[doc = $doc])* #[derive(Hash, Clone, Copy, PartialEq, Eq, PartialOrd, Ord $($(,$derive)*)? )] + $(#[serde($serde)])? pub struct $name { id: NonZero<$primitive>, } @@ -64,13 +72,24 @@ macro_rules! define_id { }; } -define_id!(TaskId: u32); +define_id!(TaskId: u32, derive(Serialize, Deserialize), serde(transparent)); define_id!(FunctionId: u32); define_id!(ValueTypeId: u32); define_id!(TraitTypeId: u32); define_id!(BackendJobId: u32); define_id!(ExecutionId: u64, derive(Debug)); -define_id!(LocalCellId: u32, derive(Debug)); +define_id!( + LocalCellId: u32, + derive(Debug), + doc = "Represents the nth call to `Vc::cell()` with `local_cells` inside of the parent ", + doc = "non-local task.", +); +define_id!( + LocalTaskId: u32, + derive(Debug, Serialize, Deserialize), + serde(transparent), + doc = "Represents the nth `local_cells` function call inside a task.", +); impl Debug for TaskId { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -160,38 +179,3 @@ make_serializable!( registry::get_trait_type_id_by_global_name, TraitTypeVisitor ); - -impl Serialize for TaskId { - fn serialize(&self, serializer: S) -> Result - where - S: serde::Serializer, - { - serializer.serialize_u32(**self) - } -} - -impl<'de> Deserialize<'de> for TaskId { - fn deserialize(deserializer: D) -> Result - where - D: serde::Deserializer<'de>, - { - struct V; - - impl Visitor<'_> for V { - type Value = TaskId; - - fn expecting(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { - write!(f, "task id") - } - - fn visit_u32(self, v: u32) -> Result - where - E: serde::de::Error, - { - Ok(TaskId::from(v)) - } - } - - deserializer.deserialize_u32(V) - } -} diff --git a/turbopack/crates/turbo-tasks/src/lib.rs b/turbopack/crates/turbo-tasks/src/lib.rs index 540c74fd4327f..daeaf2021aea5 100644 --- a/turbopack/crates/turbo-tasks/src/lib.rs +++ b/turbopack/crates/turbo-tasks/src/lib.rs @@ -81,7 +81,9 @@ use auto_hash_map::AutoSet; pub use collectibles::CollectiblesSource; pub use completion::{Completion, Completions}; pub use display::ValueToString; -pub use id::{ExecutionId, FunctionId, TaskId, TraitTypeId, ValueTypeId, TRANSIENT_TASK_BIT}; +pub use id::{ + ExecutionId, FunctionId, LocalTaskId, TaskId, TraitTypeId, ValueTypeId, TRANSIENT_TASK_BIT, +}; pub use invalidation::{ get_invalidator, DynamicEqHash, InvalidationReason, InvalidationReasonKind, InvalidationReasonSet, Invalidator, diff --git a/turbopack/crates/turbo-tasks/src/manager.rs b/turbopack/crates/turbo-tasks/src/manager.rs index d44095e0c35e5..07942a3029434 100644 --- a/turbopack/crates/turbo-tasks/src/manager.rs +++ b/turbopack/crates/turbo-tasks/src/manager.rs @@ -31,7 +31,10 @@ use crate::{ }, capture_future::{self, CaptureFuture}, event::{Event, EventListener}, - id::{BackendJobId, ExecutionId, FunctionId, LocalCellId, TraitTypeId, TRANSIENT_TASK_BIT}, + id::{ + BackendJobId, ExecutionId, FunctionId, LocalCellId, LocalTaskId, TraitTypeId, + TRANSIENT_TASK_BIT, + }, id_factory::{IdFactory, IdFactoryWithReuse}, magic_any::MagicAny, raw_vc::{CellId, RawVc}, @@ -144,6 +147,22 @@ pub trait TurboTasksApi: TurboTasksCallApi + Sync + Send { index: CellId, ) -> Result>; + fn try_read_local_output( + &self, + parent_task_id: TaskId, + local_task_id: LocalTaskId, + consistency: ReadConsistency, + ) -> Result>; + + /// INVALIDATION: Be careful with this, it will not track dependencies, so + /// using it could break cache invalidation. + fn try_read_local_output_untracked( + &self, + parent_task_id: TaskId, + local_task_id: LocalTaskId, + consistency: ReadConsistency, + ) -> Result>; + fn read_task_collectibles(&self, task: TaskId, trait_id: TraitTypeId) -> TaskCollectiblesMap; fn emit_collectible(&self, trait_type: TraitTypeId, collectible: RawVc); @@ -1294,6 +1313,26 @@ impl TurboTasksApi for TurboTasks { .try_read_own_task_cell_untracked(current_task, index, self) } + fn try_read_local_output( + &self, + _parent_task_id: TaskId, + _local_task_id: LocalTaskId, + _consistency: ReadConsistency, + ) -> Result> { + todo!("bgw: local outputs"); + } + + /// INVALIDATION: Be careful with this, it will not track dependencies, so + /// using it could break cache invalidation. + fn try_read_local_output_untracked( + &self, + _parent_task_id: TaskId, + _local_task_id: LocalTaskId, + _consistency: ReadConsistency, + ) -> Result> { + todo!("bgw: local outputs"); + } + fn read_task_collectibles(&self, task: TaskId, trait_id: TraitTypeId) -> TaskCollectiblesMap { self.backend.read_task_collectibles( task, @@ -1952,6 +1991,15 @@ pub(crate) fn read_local_cell( }) } +pub(crate) async fn read_local_output( + _this: &dyn TurboTasksApi, + _task_id: TaskId, + _local_output_id: LocalTaskId, + _consistency: ReadConsistency, +) -> Result { + todo!("bgw: local outputs"); +} + /// Panics if the [`ExecutionId`] does not match the current task's /// `execution_id`. pub(crate) fn assert_execution_id(execution_id: ExecutionId) { diff --git a/turbopack/crates/turbo-tasks/src/raw_vc.rs b/turbopack/crates/turbo-tasks/src/raw_vc.rs index b50dd5ac627f3..bab0d2296d685 100644 --- a/turbopack/crates/turbo-tasks/src/raw_vc.rs +++ b/turbopack/crates/turbo-tasks/src/raw_vc.rs @@ -15,10 +15,10 @@ use thiserror::Error; use crate::{ backend::{CellContent, TypedCellContent}, event::EventListener, - id::{ExecutionId, LocalCellId}, + id::{ExecutionId, LocalCellId, LocalTaskId}, manager::{ - assert_execution_id, current_task, read_local_cell, read_task_cell, read_task_output, - TurboTasksApi, + assert_execution_id, current_task, read_local_cell, read_local_output, read_task_cell, + read_task_output, TurboTasksApi, }, registry::{self, get_value_type}, turbo_tasks, CollectiblesSource, ReadConsistency, TaskId, TraitTypeId, ValueType, ValueTypeId, @@ -58,6 +58,7 @@ impl Display for CellId { pub enum RawVc { TaskOutput(TaskId), TaskCell(TaskId, CellId), + LocalOutput(TaskId, LocalTaskId), #[serde(skip)] LocalCell(ExecutionId, LocalCellId), } @@ -67,6 +68,7 @@ impl RawVc { match self { RawVc::TaskOutput(_) => false, RawVc::TaskCell(_, _) => true, + RawVc::LocalOutput(_, _) => false, RawVc::LocalCell(_, _) => false, } } @@ -75,6 +77,7 @@ impl RawVc { match self { RawVc::TaskOutput(_) => false, RawVc::TaskCell(_, _) => false, + RawVc::LocalOutput(_, _) => true, RawVc::LocalCell(_, _) => true, } } @@ -169,6 +172,12 @@ impl RawVc { return Err(ResolveTypeError::NoContent); } } + RawVc::LocalOutput(task_id, local_cell_id) => { + current = + read_local_output(&*tt, task_id, local_cell_id, ReadConsistency::Eventual) + .await + .map_err(|source| ResolveTypeError::TaskError { source })?; + } RawVc::LocalCell(execution_id, local_cell_id) => { let shared_reference = read_local_cell(execution_id, local_cell_id); return Ok( @@ -200,16 +209,23 @@ impl RawVc { let tt = turbo_tasks(); let mut current = self; let mut notified = false; + let mut lazily_notify = || { + if !notified { + tt.notify_scheduled_tasks(); + notified = true; + } + }; loop { match current { RawVc::TaskOutput(task) => { - if !notified { - tt.notify_scheduled_tasks(); - notified = true; - } + lazily_notify(); current = read_task_output(&*tt, task, consistency).await?; } RawVc::TaskCell(_, _) => return Ok(current), + RawVc::LocalOutput(task_id, local_cell_id) => { + lazily_notify(); + current = read_local_output(&*tt, task_id, local_cell_id, consistency).await?; + } RawVc::LocalCell(execution_id, local_cell_id) => { let shared_reference = read_local_cell(execution_id, local_cell_id); let value_type = get_value_type(shared_reference.0); @@ -226,7 +242,7 @@ impl RawVc { pub fn get_task_id(&self) -> TaskId { match self { - RawVc::TaskOutput(t) | RawVc::TaskCell(t, _) => *t, + RawVc::TaskOutput(t) | RawVc::TaskCell(t, _) | RawVc::LocalOutput(t, _) => *t, RawVc::LocalCell(execution_id, _) => { assert_execution_id(*execution_id); current_task("RawVc::get_task_id") @@ -374,6 +390,30 @@ impl Future for ReadRawVcFuture { Err(err) => return Poll::Ready(Err(err)), } } + RawVc::LocalOutput(task_id, local_output_id) => { + let read_result = if this.untracked { + this.turbo_tasks.try_read_local_output_untracked( + task_id, + local_output_id, + this.consistency, + ) + } else { + this.turbo_tasks.try_read_local_output( + task_id, + local_output_id, + this.consistency, + ) + }; + match read_result { + Ok(Ok(vc)) => { + this.consistency = ReadConsistency::Eventual; + this.current = vc; + continue 'outer; + } + Ok(Err(listener)) => listener, + Err(err) => return Poll::Ready(Err(err)), + } + } RawVc::LocalCell(execution_id, local_cell_id) => { return Poll::Ready(Ok(read_local_cell(execution_id, local_cell_id).into())); } From 7fc8076b1babd59fb940040f8a6479de188000e6 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 4 Sep 2024 20:56:42 +0200 Subject: [PATCH 010/119] fix merge conflict (#69690) ### What? fix merge conflict --- turbopack/crates/turbo-tasks/src/raw_vc.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/turbopack/crates/turbo-tasks/src/raw_vc.rs b/turbopack/crates/turbo-tasks/src/raw_vc.rs index bab0d2296d685..72273489563a6 100644 --- a/turbopack/crates/turbo-tasks/src/raw_vc.rs +++ b/turbopack/crates/turbo-tasks/src/raw_vc.rs @@ -85,7 +85,7 @@ impl RawVc { pub fn is_transient(&self) -> bool { match self { RawVc::TaskOutput(task) | RawVc::TaskCell(task, _) => task.is_transient(), - RawVc::LocalCell(_, _) => true, + RawVc::LocalOutput(_, _) | RawVc::LocalCell(_, _) => true, } } From 4c0728d314797a8d9cf45d854b3a95fb996b1d9b Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 4 Sep 2024 20:59:49 +0200 Subject: [PATCH 011/119] [Turbopack] use file.read() instead of file.track() in webpack loaders (#69659) ### What? `track()` invalidates based on watcher events and might have false invalidation when events occur but files do not actually change. This also happens when restoring from persistent caching where all files are considered as changed. `read()` invalidates only when the file content actually changed. Since webpack loaders are usually pretty expensive we want to use `read()` instead of `track()` here. --- turbopack/crates/turbo-tasks-fs/src/lib.rs | 144 +++++++++++++----- .../turbopack-node/src/transforms/webpack.rs | 2 +- 2 files changed, 103 insertions(+), 43 deletions(-) diff --git a/turbopack/crates/turbo-tasks-fs/src/lib.rs b/turbopack/crates/turbo-tasks-fs/src/lib.rs index 3e1ce659eca10..3ea9efd3f1bb5 100644 --- a/turbopack/crates/turbo-tasks-fs/src/lib.rs +++ b/turbopack/crates/turbo-tasks-fs/src/lib.rs @@ -311,45 +311,14 @@ impl DiskFileSystem { Ok(Self::cell(instance)) } -} - -impl Debug for DiskFileSystem { - fn fmt(&self, f: &mut Formatter) -> fmt::Result { - write!(f, "name: {}, root: {}", self.name, self.root) - } -} -#[turbo_tasks::value_impl] -impl FileSystem for DiskFileSystem { #[turbo_tasks::function(fs)] - async fn read(&self, fs_path: Vc) -> Result> { - let full_path = self.to_sys_path(fs_path).await?; - self.register_invalidator(&full_path)?; - - let _lock = self.lock_path(&full_path).await; - let content = match retry_future(|| File::from_path(full_path.clone())) - .instrument(tracing::info_span!( - "read file", - path = display(full_path.display()) - )) - .await - { - Ok(file) => FileContent::new(file), - Err(e) if e.kind() == ErrorKind::NotFound || e.kind() == ErrorKind::InvalidFilename => { - FileContent::NotFound - } - Err(e) => { - bail!(anyhow!(e).context(format!("reading file {}", full_path.display()))) - } - }; - Ok(content.cell()) - } - - #[turbo_tasks::function(fs)] - async fn read_dir(&self, fs_path: Vc) -> Result> { + async fn read_dir_internal( + &self, + fs_path: Vc, + ) -> Result> { let full_path = self.to_sys_path(fs_path).await?; self.register_dir_invalidator(&full_path)?; - let fs_path = fs_path.await?; // we use the sync std function here as it's a lot faster (600%) in // node-file-trace @@ -366,7 +335,7 @@ impl FileSystem for DiskFileSystem { || e.kind() == ErrorKind::NotADirectory || e.kind() == ErrorKind::InvalidFilename => { - return Ok(DirectoryContent::not_found()); + return Ok(InternalDirectoryContent::not_found()); } Err(e) => { bail!(anyhow!(e).context(format!("reading dir {}", full_path.display()))) @@ -386,13 +355,13 @@ impl FileSystem for DiskFileSystem { let file_name: RcStr = path.file_name()?.to_str()?.into(); let path_to_root = sys_to_unix(path.strip_prefix(&self.root).ok()?.to_str()?); - let fs_path = FileSystemPath::new_normalized(fs_path.fs, path_to_root.into()); + let path = path_to_root.into(); let entry = match e.file_type() { - Ok(t) if t.is_file() => DirectoryEntry::File(fs_path), - Ok(t) if t.is_dir() => DirectoryEntry::Directory(fs_path), - Ok(t) if t.is_symlink() => DirectoryEntry::Symlink(fs_path), - Ok(_) => DirectoryEntry::Other(fs_path), + Ok(t) if t.is_file() => InternalDirectoryEntry::File(path), + Ok(t) if t.is_dir() => InternalDirectoryEntry::Directory(path), + Ok(t) if t.is_symlink() => InternalDirectoryEntry::Symlink(path), + Ok(_) => InternalDirectoryEntry::Other(path), Err(err) => return Some(Err(err.into())), }; @@ -401,7 +370,72 @@ impl FileSystem for DiskFileSystem { .collect::>() .with_context(|| format!("reading directory item in {}", full_path.display()))?; - Ok(DirectoryContent::new(entries)) + Ok(InternalDirectoryContent::new(entries)) + } +} + +impl Debug for DiskFileSystem { + fn fmt(&self, f: &mut Formatter) -> fmt::Result { + write!(f, "name: {}, root: {}", self.name, self.root) + } +} + +#[turbo_tasks::value_impl] +impl FileSystem for DiskFileSystem { + #[turbo_tasks::function(fs)] + async fn read(&self, fs_path: Vc) -> Result> { + let full_path = self.to_sys_path(fs_path).await?; + self.register_invalidator(&full_path)?; + + let _lock = self.lock_path(&full_path).await; + let content = match retry_future(|| File::from_path(full_path.clone())) + .instrument(tracing::info_span!( + "read file", + path = display(full_path.display()) + )) + .await + { + Ok(file) => FileContent::new(file), + Err(e) if e.kind() == ErrorKind::NotFound || e.kind() == ErrorKind::InvalidFilename => { + FileContent::NotFound + } + Err(e) => { + bail!(anyhow!(e).context(format!("reading file {}", full_path.display()))) + } + }; + Ok(content.cell()) + } + + #[turbo_tasks::function] + async fn read_dir(self: Vc, fs_path: Vc) -> Result> { + match &*self.read_dir_internal(fs_path).await? { + InternalDirectoryContent::NotFound => Ok(DirectoryContent::not_found()), + InternalDirectoryContent::Entries(entries) => { + let fs = fs_path.await?.fs; + let entries = entries + .iter() + .map(|(name, entry)| { + let entry = match entry { + InternalDirectoryEntry::File(path) => DirectoryEntry::File( + FileSystemPath::new_normalized(fs, path.clone()), + ), + InternalDirectoryEntry::Directory(path) => DirectoryEntry::Directory( + FileSystemPath::new_normalized(fs, path.clone()), + ), + InternalDirectoryEntry::Symlink(path) => DirectoryEntry::Symlink( + FileSystemPath::new_normalized(fs, path.clone()), + ), + InternalDirectoryEntry::Other(path) => DirectoryEntry::Other( + FileSystemPath::new_normalized(fs, path.clone()), + ), + InternalDirectoryEntry::Error => DirectoryEntry::Error, + }; + (name.clone(), entry) + }) + .collect(); + Ok(DirectoryContent::new(entries)) + } + } } #[turbo_tasks::function(fs)] @@ -1849,6 +1883,15 @@ pub enum FileLinesContent { NotFound, } +#[derive(Hash, Clone, Debug, PartialEq, Eq, TraceRawVcs, Serialize, Deserialize)] +pub enum InternalDirectoryEntry { + File(RcStr), + Directory(RcStr), + Symlink(RcStr), + Other(RcStr), + Error, +} + #[derive(Hash, Clone, Copy, Debug, PartialEq, Eq, TraceRawVcs, Serialize, Deserialize)] pub enum DirectoryEntry { File(Vc), @@ -1916,6 +1959,23 @@ impl From<&DirectoryEntry> for FileSystemEntryType { } } +#[turbo_tasks::value] +#[derive(Debug)] +pub enum InternalDirectoryContent { + Entries(Vec<(RcStr, InternalDirectoryEntry)>), + NotFound, +} + +impl InternalDirectoryContent { + pub fn new(entries: Vec<(RcStr, InternalDirectoryEntry)>) -> Vc { + Self::cell(InternalDirectoryContent::Entries(entries)) + } + + pub fn not_found() -> Vc { + Self::cell(InternalDirectoryContent::NotFound) + } +} + #[turbo_tasks::value] #[derive(Debug)] pub enum DirectoryContent { diff --git a/turbopack/crates/turbopack-node/src/transforms/webpack.rs b/turbopack/crates/turbopack-node/src/transforms/webpack.rs index c486cdaec5800..680a8b6d1614e 100644 --- a/turbopack/crates/turbopack-node/src/transforms/webpack.rs +++ b/turbopack/crates/turbopack-node/src/transforms/webpack.rs @@ -716,7 +716,7 @@ async fn dir_dependency_shallow(glob: Vc) -> Result { - file.track().await?; + file.read().await?; } DirectoryEntry::Directory(dir) => { dir_dependency(dir.read_glob(Glob::new("**".into()), false)).await?; From 184ec1c922249ed62b8245f4754df98fca881ca2 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 4 Sep 2024 21:18:39 +0200 Subject: [PATCH 012/119] [Turbopack] no need to depend on write completion (#69660) ### What The node.js pool doesn't need to be invalidated when pool code is re-writting. It's enough to invalidate it when the pool code has changed. Avoid having transient tasks in the embedded filesystem. It's not allow to have persistent tasks depend on transient tasks with Persistent Caching. Avoid triggering invalidation when State is dropped. State might be dropped after serialization when it's stored in persistent cache. This doesn't mean we want to invalidate the tasks --- crates/next-api/src/project.rs | 28 +++++++++++-------- .../crates/turbo-tasks-fs/src/embed/dir.rs | 16 ++++------- .../crates/turbo-tasks-fs/src/embed/fs.rs | 15 ++++------ .../turbo-tasks-fs/src/invalidator_map.rs | 13 --------- turbopack/crates/turbo-tasks/src/state.rs | 9 ------ .../crates/turbopack-node/src/evaluate.rs | 9 +++--- 6 files changed, 33 insertions(+), 57 deletions(-) diff --git a/crates/next-api/src/project.rs b/crates/next-api/src/project.rs index 6211e1e345d6c..37a303959208d 100644 --- a/crates/next-api/src/project.rs +++ b/crates/next-api/src/project.rs @@ -1111,7 +1111,7 @@ impl Project { pub async fn emit_all_output_assets( self: Vc, output_assets: Vc, - ) -> Result> { + ) -> Result> { let span = tracing::info_span!("emitting"); async move { let all_output_assets = all_assets_from_entries_operation(output_assets); @@ -1120,21 +1120,27 @@ impl Project { let node_root = self.node_root(); if let Some(map) = self.await?.versioned_content_map { - let completion = map.insert_output_assets( - all_output_assets, - node_root, - client_relative_path, - node_root, - ); - - Ok(completion) + let _ = map + .insert_output_assets( + all_output_assets, + node_root, + client_relative_path, + node_root, + ) + .resolve() + .await?; + + Ok(Vc::cell(())) } else { - Ok(emit_assets( + let _ = emit_assets( *all_output_assets.await?, node_root, client_relative_path, node_root, - )) + ) + .resolve() + .await?; + Ok(Vc::cell(())) } } .instrument(span) diff --git a/turbopack/crates/turbo-tasks-fs/src/embed/dir.rs b/turbopack/crates/turbo-tasks-fs/src/embed/dir.rs index 93031ecf60aef..0c25cb8d1ec9d 100644 --- a/turbopack/crates/turbo-tasks-fs/src/embed/dir.rs +++ b/turbopack/crates/turbo-tasks-fs/src/embed/dir.rs @@ -2,7 +2,7 @@ pub use ::include_dir::{ include_dir, {self}, }; use anyhow::Result; -use turbo_tasks::{RcStr, TransientInstance, Vc}; +use turbo_tasks::{RcStr, Vc}; use crate::{embed::EmbeddedFileSystem, DiskFileSystem, FileSystem}; @@ -17,12 +17,11 @@ pub async fn directory_from_relative_path( Ok(Vc::upcast(disk_fs)) } -#[turbo_tasks::function] -pub async fn directory_from_include_dir( +pub fn directory_from_include_dir( name: RcStr, - dir: TransientInstance<&'static include_dir::Dir<'static>>, -) -> Result>> { - Ok(Vc::upcast(EmbeddedFileSystem::new(name, dir))) + dir: &'static include_dir::Dir<'static>, +) -> Vc> { + Vc::upcast(EmbeddedFileSystem::new(name, dir)) } /// Returns an embedded [Vc>] for the given path. @@ -71,9 +70,6 @@ macro_rules! embed_directory_internal { static dir: include_dir::Dir<'static> = turbo_tasks_fs::embed::include_dir!($path); - turbo_tasks_fs::embed::directory_from_include_dir( - $name.into(), - turbo_tasks::TransientInstance::new(&dir), - ) + turbo_tasks_fs::embed::directory_from_include_dir($name.into(), &dir) }}; } diff --git a/turbopack/crates/turbo-tasks-fs/src/embed/fs.rs b/turbopack/crates/turbo-tasks-fs/src/embed/fs.rs index e0f24c32e54c4..72a43ece95d65 100644 --- a/turbopack/crates/turbo-tasks-fs/src/embed/fs.rs +++ b/turbopack/crates/turbo-tasks-fs/src/embed/fs.rs @@ -1,26 +1,21 @@ use anyhow::{bail, Result}; use include_dir::{Dir, DirEntry}; -use turbo_tasks::{Completion, RcStr, TransientInstance, ValueToString, Vc}; +use turbo_tasks::{Completion, RcStr, ValueToString, Vc}; use crate::{ DirectoryContent, DirectoryEntry, File, FileContent, FileMeta, FileSystem, FileSystemPath, LinkContent, }; -#[turbo_tasks::value(serialization = "none")] +#[turbo_tasks::value(serialization = "none", cell = "new", eq = "manual")] pub struct EmbeddedFileSystem { name: RcStr, #[turbo_tasks(trace_ignore)] - dir: TransientInstance<&'static Dir<'static>>, + dir: &'static Dir<'static>, } -#[turbo_tasks::value_impl] impl EmbeddedFileSystem { - #[turbo_tasks::function] - pub(super) fn new( - name: RcStr, - dir: TransientInstance<&'static Dir<'static>>, - ) -> Vc { + pub(super) fn new(name: RcStr, dir: &'static Dir<'static>) -> Vc { EmbeddedFileSystem { name, dir }.cell() } } @@ -46,7 +41,7 @@ impl FileSystem for EmbeddedFileSystem { async fn read_dir(&self, path: Vc) -> Result> { let path_str = &path.await?.path; let dir = match (path_str.as_str(), self.dir.get_dir(path_str)) { - ("", _) => *self.dir, + ("", _) => self.dir, (_, Some(dir)) => dir, (_, None) => return Ok(DirectoryContent::NotFound.cell()), }; diff --git a/turbopack/crates/turbo-tasks-fs/src/invalidator_map.rs b/turbopack/crates/turbo-tasks-fs/src/invalidator_map.rs index 9ecaf6b1aee2e..7bb6b0d734ecf 100644 --- a/turbopack/crates/turbo-tasks-fs/src/invalidator_map.rs +++ b/turbopack/crates/turbo-tasks-fs/src/invalidator_map.rs @@ -71,16 +71,3 @@ impl<'de> Deserialize<'de> for InvalidatorMap { deserializer.deserialize_newtype_struct("InvalidatorMap", V) } } - -impl Drop for InvalidatorMap { - fn drop(&mut self) { - while let Ok((_, value)) = self.queue.pop() { - value.invalidate(); - } - for (_, invalidators) in self.map.lock().unwrap().drain() { - for invalidator in invalidators { - invalidator.invalidate(); - } - } - } -} diff --git a/turbopack/crates/turbo-tasks/src/state.rs b/turbopack/crates/turbo-tasks/src/state.rs index d2346ba103fe1..53552047e3d7a 100644 --- a/turbopack/crates/turbo-tasks/src/state.rs +++ b/turbopack/crates/turbo-tasks/src/state.rs @@ -68,15 +68,6 @@ impl<'de, T> Deserialize<'de> for State { } } -impl Drop for State { - fn drop(&mut self) { - let mut inner = self.inner.lock(); - for invalidator in take(&mut inner.invalidators) { - invalidator.invalidate(); - } - } -} - impl State { pub fn new(value: T) -> Self { mark_stateful(); diff --git a/turbopack/crates/turbopack-node/src/evaluate.rs b/turbopack/crates/turbopack-node/src/evaluate.rs index 91c0723c2a993..fa7f5ba9a7be8 100644 --- a/turbopack/crates/turbopack-node/src/evaluate.rs +++ b/turbopack/crates/turbopack-node/src/evaluate.rs @@ -21,6 +21,7 @@ use turbo_tasks_env::ProcessEnv; use turbo_tasks_fs::{to_sys_path, File, FileSystemPath}; use turbopack_core::{ asset::AssetContent, + changed::content_changed, chunk::{ChunkingContext, ChunkingContextExt, EvaluatableAsset, EvaluatableAssets}, context::AssetContext, error::PrettyPrintError, @@ -153,11 +154,11 @@ pub async fn get_evaluate_pool( chunking_context.root_entry_chunk_group_asset(path, entry_module, runtime_entries); let output_root: Vc = chunking_context.output_root(); - let emit_package = emit_package_json(output_root); - let emit = emit(bootstrap, output_root); + let _ = emit_package_json(output_root); + // Invalidate pool when code content changes + content_changed(Vc::upcast(bootstrap)).await?; + let _ = emit(bootstrap, output_root); let assets_for_source_mapping = internal_assets_for_source_mapping(bootstrap, output_root); - emit_package.await?; - emit.await?; let pool = NodeJsPool::new( cwd, entrypoint, From 18d32b0969db1a5cfe5a12bfcf4d8c4144a24fc1 Mon Sep 17 00:00:00 2001 From: JJ Kasper Date: Wed, 4 Sep 2024 13:00:47 -0700 Subject: [PATCH 013/119] Update the preview tarball binaries (#69692) Our CI can get pretty backed up with build binaries for every push so this refines which binaries we are building by default some more to only build the ones we actually use for testing usually mac arm64, windows x64, and linux x64 GNU. x-ref: [slack thread](https://vercel.slack.com/archives/C04DUD7EB1B/p1725464388558009) --- .github/workflows/build_and_deploy.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_and_deploy.yml b/.github/workflows/build_and_deploy.yml index 4108583be295e..f2fdd16af2bd2 100644 --- a/.github/workflows/build_and_deploy.yml +++ b/.github/workflows/build_and_deploy.yml @@ -106,16 +106,21 @@ jobs: fail-fast: false matrix: exclude: - # Exclude slow builds for automated previews - # These are rarely needed for the standard preview usage (e.g. Front sync) + # only build the binaries we usually test with + # darwin arm64, windows x64, linux GNU x64 - settings: target: ${{ needs.deploy-target.outputs.value == 'automated-preview' && 'i686-pc-windows-msvc' }} - settings: target: ${{ needs.deploy-target.outputs.value == 'automated-preview' && 'aarch64-pc-windows-msvc' }} + - settings: + target: ${{ needs.deploy-target.outputs.value == 'automated-preview' && 'aarch64-unknown-linux-gnu' }} - settings: target: ${{ needs.deploy-target.outputs.value == 'automated-preview' && 'aarch64-unknown-linux-musl' }} - settings: target: ${{ needs.deploy-target.outputs.value == 'automated-preview' && 'x86_64-unknown-linux-musl' }} + - settings: + target: ${{ needs.deploy-target.outputs.value == 'automated-preview' && 'x86_64-apple-darwin' }} + settings: - host: - 'self-hosted' From 0da5c25851b6ea9e4bf16ad1bdd1224465774fe2 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 4 Sep 2024 22:59:27 +0200 Subject: [PATCH 014/119] [Turbopack] gracefully stop turbo-tasks to allow persisting to complete (#69661) ### What? Make sure to shutdown turbo-tasks gracefully to allow persisting to complete. --- crates/napi/src/next_api/project.rs | 7 +++++++ packages/next/src/build/index.ts | 14 +++++++++++++- packages/next/src/build/swc/index.ts | 6 ++++++ turbopack/crates/turbo-tasks-testing/src/lib.rs | 4 ++++ turbopack/crates/turbo-tasks-testing/src/run.rs | 4 +++- turbopack/crates/turbo-tasks/src/manager.rs | 10 ++++++++++ 6 files changed, 43 insertions(+), 2 deletions(-) diff --git a/crates/napi/src/next_api/project.rs b/crates/napi/src/next_api/project.rs index 4b94a1b04249c..0fda401be0a40 100644 --- a/crates/napi/src/next_api/project.rs +++ b/crates/napi/src/next_api/project.rs @@ -432,6 +432,13 @@ pub async fn project_update( Ok(()) } +#[napi(ts_return_type = "{ __napiType: \"Project\" }")] +pub async fn project_shutdown( + #[napi(ts_arg_type = "{ __napiType: \"Project\" }")] project: External, +) { + project.turbo_tasks.stop_and_wait().await; +} + #[napi(object)] #[derive(Default)] struct AppPageNapiRoute { diff --git a/packages/next/src/build/index.ts b/packages/next/src/build/index.ts index c1e7a0f8b2586..0d7923f8fd81d 100644 --- a/packages/next/src/build/index.ts +++ b/packages/next/src/build/index.ts @@ -1249,6 +1249,7 @@ export default async function build( async function turbopackBuild(): Promise<{ duration: number buildTraceContext: undefined + shutdownPromise: Promise }> { if (!IS_TURBOPACK_BUILD) { throw new Error("next build doesn't support turbopack yet") @@ -1464,6 +1465,8 @@ export default async function build( } } + const shutdownPromise = project.shutdown() + if (warnings.length > 0) { Log.warn( `Turbopack build collected ${warnings.length} warnings:\n${warnings @@ -1487,6 +1490,7 @@ export default async function build( return { duration: process.hrtime(startTime)[0], buildTraceContext: undefined, + shutdownPromise, } } @@ -1531,9 +1535,15 @@ export default async function build( }, }) + let shutdownPromise = Promise.resolve() if (!isGenerateMode) { if (turboNextBuild) { - const { duration: compilerDuration, ...rest } = await turbopackBuild() + const { + duration: compilerDuration, + shutdownPromise: p, + ...rest + } = await turbopackBuild() + shutdownPromise = p traceMemoryUsage('Finished build', nextBuildSpan) buildTraceContext = rest.buildTraceContext @@ -3566,6 +3576,8 @@ export default async function build( await nextBuildSpan .traceChild('telemetry-flush') .traceAsyncFn(() => telemetry.flush()) + + await shutdownPromise }) } finally { // Ensure we wait for lockfile patching if present diff --git a/packages/next/src/build/swc/index.ts b/packages/next/src/build/swc/index.ts index 3856aacc10e54..69ab052e95b8b 100644 --- a/packages/next/src/build/swc/index.ts +++ b/packages/next/src/build/swc/index.ts @@ -679,6 +679,8 @@ export interface Project { aggregationMs: number ): AsyncIterableIterator> + shutdown(): Promise + onExit(): Promise } @@ -1100,6 +1102,10 @@ function bindingToApi( return subscription } + shutdown(): Promise { + return binding.projectShutdown(this._nativeProject) + } + onExit(): Promise { return binding.projectOnExit(this._nativeProject) } diff --git a/turbopack/crates/turbo-tasks-testing/src/lib.rs b/turbopack/crates/turbo-tasks-testing/src/lib.rs index 43f6a2d714ff1..bc3dbfd1c9177 100644 --- a/turbopack/crates/turbo-tasks-testing/src/lib.rs +++ b/turbopack/crates/turbo-tasks-testing/src/lib.rs @@ -315,6 +315,10 @@ impl TurboTasksApi for VcStorage { ) -> std::pin::Pin> + Send + 'static>> { unimplemented!() } + + fn stop_and_wait(&self) -> std::pin::Pin + Send + 'static>> { + Box::pin(async {}) + } } impl VcStorage { diff --git a/turbopack/crates/turbo-tasks-testing/src/run.rs b/turbopack/crates/turbo-tasks-testing/src/run.rs index c01c52b2b4f3a..cf7f8e8e785e8 100644 --- a/turbopack/crates/turbo-tasks-testing/src/run.rs +++ b/turbopack/crates/turbo-tasks-testing/src/run.rs @@ -97,11 +97,13 @@ where println!("Run #1 (without cache)"); let first = run_once(tt.clone(), fut()).await?; println!("Run #2 (with memory cache, same TurboTasks instance)"); - let second = run_once(tt, fut()).await?; + let second = run_once(tt.clone(), fut()).await?; assert_eq!(first, second); + tt.stop_and_wait().await; let tt = registration.create_turbo_tasks(&name, false); println!("Run #3 (with persistent cache if available, new TurboTasks instance)"); let third = run_once(tt.clone(), fut()).await?; + tt.stop_and_wait().await; assert_eq!(first, third); Ok(()) } diff --git a/turbopack/crates/turbo-tasks/src/manager.rs b/turbopack/crates/turbo-tasks/src/manager.rs index 07942a3029434..209c43e5c1a6b 100644 --- a/turbopack/crates/turbo-tasks/src/manager.rs +++ b/turbopack/crates/turbo-tasks/src/manager.rs @@ -191,6 +191,8 @@ pub trait TurboTasksApi: TurboTasksCallApi + Sync + Send { &self, f: Pin> + Send + 'static>>, ) -> Pin> + Send + 'static>>; + + fn stop_and_wait(&self) -> Pin + Send>>; } /// A wrapper around a value that is unused. @@ -1415,6 +1417,13 @@ impl TurboTasksApi for TurboTasks { ), )) } + + fn stop_and_wait(&self) -> Pin + Send + 'static>> { + let this = self.pin(); + Box::pin(async move { + this.stop_and_wait().await; + }) + } } impl TurboTasksBackendApi for TurboTasks { @@ -1431,6 +1440,7 @@ impl TurboTasksBackendApi for TurboTasks { this.backend.run_backend_job(id, &*this).await; }) } + #[track_caller] fn schedule_backend_foreground_job(&self, id: BackendJobId) { self.schedule_foreground_job(move |this| async move { From 258a453bf0bc336e5c2c04de944043238bf1d632 Mon Sep 17 00:00:00 2001 From: sommeeeR <91796856+sommeeeer@users.noreply.github.com> Date: Wed, 4 Sep 2024 23:50:17 +0200 Subject: [PATCH 015/119] docs: update note on caching and db/orms (#69695) fixes: #69694 --------- Co-authored-by: JJ Kasper Co-authored-by: Zack Tanner <1939140+ztanner@users.noreply.github.com> --- .../02-data-fetching/01-fetching.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/02-app/01-building-your-application/02-data-fetching/01-fetching.mdx b/docs/02-app/01-building-your-application/02-data-fetching/01-fetching.mdx index 2a4fd7d3e8b26..8311b5155844f 100644 --- a/docs/02-app/01-building-your-application/02-data-fetching/01-fetching.mdx +++ b/docs/02-app/01-building-your-application/02-data-fetching/01-fetching.mdx @@ -97,7 +97,7 @@ let data = await fetch('https://api.vercel.app/blog', { cache: 'no-store' }) ### Fetching data on the server with an ORM or database -This component will always fetch and display a dynamic, up-to-date list of blog posts. +This page will be SSG by default. The page will be prerendered during `next build`. It can be revalidated using [Incremental Static Regeneration](/docs/app/building-your-application/data-fetching/incremental-static-regeneration). ```tsx filename="app/page.tsx" switcher import { db, posts } from '@/lib/db' @@ -129,7 +129,7 @@ export default async function Page() { } ``` -The database call is _not_ cached. This example would opt your Next.js application into [server-side rendering](/docs/app/building-your-application/rendering/server-components#dynamic-rendering). If you want to cache the response and allow the page to be prerendered, [see this example](#caching-data-with-an-orm-or-database). +The database call will run again every time you revalidate the page using [Incremental Static Regeneration](/docs/app/building-your-application/data-fetching/incremental-static-regeneration). ### Fetching data on the client From afcad43ba81249cc78a22b07e3191f2b63c3f0de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A3=A8=EB=B0=80LuMir?= Date: Thu, 5 Sep 2024 06:55:47 +0900 Subject: [PATCH 016/119] fix: ensure absolute paths are handled correctly with `--file` option in `next lint` command for `lint-staged` compatibility (#69220) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hello😊 Thanks for having attention to this issue. ### What? **Fixed a bug.** The `next lint` command's `--file` option was intended to allow users to lint specific files directly by specifying their paths. However, it only worked with relative paths and did not handle absolute paths correctly. This limitation hindered the flexibility and usability of the linting process. Furthermore, `lint-staged` returns absolute paths when running lint commands on staged files. Without proper handling of these absolute paths, linting was not performed correctly, leading to issues in automated linting workflows. ### Why? #### Environment(results by `next info`) ```bash Operating System: Platform: win32 Arch: x64 Version: Windows 11 Home Available memory (MB): 16058 Available CPU cores: 8 Binaries: Node: 20.12.2 npm: N/A Yarn: N/A pnpm: N/A Relevant Packages: next: 14.2.6 // Latest available version is detected (14.2.6). eslint-config-next: 14.2.6 react: 18.3.1 react-dom: 18.3.1 typescript: 5.5.4 Next.js Config: output: N/A ``` #### Steps to Reproduce 1. Make a `js` or `jsx` file like below. this makes ESLint **error** named `no-unused-vars` ```javascript /* src/app/test.jsx */ const a = 1; ``` 1. Run `eslint` and `next lint` to the same file. See screenshot below. `eslint` command works correctly with absolute path. ***but,*** `next lint` command doesn't work correctly with absolute path. ![스크린샷 2024-08-23 173447](https://github.com/user-attachments/assets/b0e88f73-005b-4581-b16a-477ab848c7df) #### Code Details ```javascript /* packages/next/src/cli/next-lint.ts */ // ... const pathsToLint = ( filesToLint.length ? filesToLint : ESLINT_DEFAULT_DIRS ).reduce((res: string[], d: string) => { const currDir = join(baseDir, d) if (!existsSync(currDir)) { return res } res.push(currDir) return res }, []) // ... ``` **`pathsToLint`** - `pathsToLint` gets an empty array `[]` when `filesToLint` array is `[ 'D:\\Cloud_Git\\web-blog\\src\\app\\test.jsx' ]` passed by `--file` option from CLI. **The `reduce` Function** - For each element (`d`) in `filesToLint`, it combines it with `baseDir` to create `currDir`. - It checks if this path exists using `existsSync(currDir)`. - If the path does not exist, it does not add it to the resulting array (`res`), and if it does exist, it adds it. **Cause of the Issue** - `join(baseDir, d)`: - The `join` function is used to combine file paths and directory paths. - If `baseDir` is `D:\Cloud_Git\web-blog`, then `currDir` becomes `D:\Cloud_Git\web-blog\D:\Cloud_Git\web-blog\src\app\test.jsx`, creating an incorrect path. - `existsSync(currDir)`: - With the incorrect path (`D:\Cloud_Git\web-blog\D:\Cloud_Git\web-blog\src\app\test.jsx`), `existsSync` determines that this path does not exist, so it does not add it to the `res` array. - As a result, `pathsToLint` ends up being an empty array `[]`. ### How? (Solution) The code should be modified to use the file path as-is, without combining it with `baseDir`. If a file path is provided, it should be directly included in `pathsToLint`. - Updated Path Handling: Modified the code that processes the `--file` option to properly handle absolute paths. This involved ensuring that absolute paths are correctly interpreted and used by the linting command. - Enhanced Compatibility with lint-staged: Adjusted the linting logic to handle absolute paths returned by lint-staged, ensuring that linting works as expected in automated workflows. The code below is the built code of the modified version. ```javascript /* node_modules/next/dist/cli/next-lint.js */ // ... const pathsToLint = (filesToLint.length ? filesToLint : _constants.ESLINT_DEFAULT_DIRS).reduce((res, d)=>{ const currDir = (0, _fs.existsSync)(d) ? d : (0, _path.join)(baseDir, d); if (!(0, _fs.existsSync)(currDir)) { return res; } res.push(currDir); return res; }, []); // ... ``` --- Closes: I tried to find but No related Issues. Fixes: I tried to find but No related Issues. --------- Co-authored-by: JJ Kasper --- packages/next/src/cli/next-lint.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/next/src/cli/next-lint.ts b/packages/next/src/cli/next-lint.ts index 644fac6fd1c71..aa178eb28c954 100755 --- a/packages/next/src/cli/next-lint.ts +++ b/packages/next/src/cli/next-lint.ts @@ -1,7 +1,7 @@ #!/usr/bin/env node import { existsSync } from 'fs' -import { join } from 'path' +import { isAbsolute, join } from 'path' import loadConfig from '../server/config' import { printAndExit } from '../server/lib/utils' @@ -78,7 +78,7 @@ const nextLint = async (options: NextLintOptions, directory?: string) => { const pathsToLint = ( filesToLint.length ? filesToLint : ESLINT_DEFAULT_DIRS ).reduce((res: string[], d: string) => { - const currDir = join(baseDir, d) + const currDir = isAbsolute(d) ? d : join(baseDir, d) if (!existsSync(currDir)) { return res From 1b89d7dceec7148ea4c1c8f070610c79a99669fe Mon Sep 17 00:00:00 2001 From: Sam Ko Date: Wed, 4 Sep 2024 14:59:19 -0700 Subject: [PATCH 017/119] refactor(github): refactor triage-issues-with-ai to generateObject (#69696) ## Why It turns out we should have been using `generateObject()` instead all along for this use case. ![CleanShot 2024-09-04 at 14 18 31@2x](https://github.com/user-attachments/assets/033d51f3-12a1-47af-8967-67e365ba2ead) --- .../dist/triage-issues-with-ai/index.js | 6 +- .../actions/next-repo-actions/lib/types.ts | 229 ---------------- .../actions/next-repo-actions/package.json | 4 +- .../src/triage-issues-with-ai.ts | 38 ++- .github/pnpm-lock.yaml | 250 +++++++++--------- 5 files changed, 149 insertions(+), 378 deletions(-) delete mode 100644 .github/actions/next-repo-actions/lib/types.ts diff --git a/.github/actions/next-repo-actions/dist/triage-issues-with-ai/index.js b/.github/actions/next-repo-actions/dist/triage-issues-with-ai/index.js index f9fda594a334b..fe351b051c4cc 100644 --- a/.github/actions/next-repo-actions/dist/triage-issues-with-ai/index.js +++ b/.github/actions/next-repo-actions/dist/triage-issues-with-ai/index.js @@ -11,6 +11,6 @@ e.exports=r(6450)},588:(e,t,r)=>{"use strict"; * Copyright(c) 2014 Jonathan Ong * Copyright(c) 2015 Douglas Christopher Wilson * MIT Licensed - */var s=r(3182);var n=r(1017).extname;var o=/^\s*([^;\s]*)(?:;|\s|$)/;var i=/^text\//i;t.charset=charset;t.charsets={lookup:charset};t.contentType=contentType;t.extension=extension;t.extensions=Object.create(null);t.lookup=lookup;t.types=Object.create(null);populateMaps(t.extensions,t.types);function charset(e){if(!e||typeof e!=="string"){return false}var t=o.exec(e);var r=t&&s[t[1].toLowerCase()];if(r&&r.charset){return r.charset}if(t&&i.test(t[1])){return"UTF-8"}return false}function contentType(e){if(!e||typeof e!=="string"){return false}var r=e.indexOf("/")===-1?t.lookup(e):e;if(!r){return false}if(r.indexOf("charset")===-1){var s=t.charset(r);if(s)r+="; charset="+s.toLowerCase()}return r}function extension(e){if(!e||typeof e!=="string"){return false}var r=o.exec(e);var s=r&&t.extensions[r[1].toLowerCase()];if(!s||!s.length){return false}return s[0]}function lookup(e){if(!e||typeof e!=="string"){return false}var r=n("x."+e).toLowerCase().substr(1);if(!r){return false}return t.types[r]||false}function populateMaps(e,t){var r=["nginx","apache",undefined,"iana"];Object.keys(s).forEach((function forEachMimeType(n){var o=s[n];var i=o.extensions;if(!i||!i.length){return}e[n]=i;for(var a=0;al||c===l&&t[A].substr(0,12)==="application/")){continue}}t[A]=n}}))}},3582:e=>{var t=1e3;var r=t*60;var s=r*60;var n=s*24;var o=n*7;var i=n*365.25;e.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0){return parse(e)}else if(r==="number"&&isFinite(e)){return t.long?fmtLong(e):fmtShort(e)}throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function parse(e){e=String(e);if(e.length>100){return}var a=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!a){return}var A=parseFloat(a[1]);var c=(a[2]||"ms").toLowerCase();switch(c){case"years":case"year":case"yrs":case"yr":case"y":return A*i;case"weeks":case"week":case"w":return A*o;case"days":case"day":case"d":return A*n;case"hours":case"hour":case"hrs":case"hr":case"h":return A*s;case"minutes":case"minute":case"mins":case"min":case"m":return A*r;case"seconds":case"second":case"secs":case"sec":case"s":return A*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return A;default:return undefined}}function fmtShort(e){var o=Math.abs(e);if(o>=n){return Math.round(e/n)+"d"}if(o>=s){return Math.round(e/s)+"h"}if(o>=r){return Math.round(e/r)+"m"}if(o>=t){return Math.round(e/t)+"s"}return e+"ms"}function fmtLong(e){var o=Math.abs(e);if(o>=n){return plural(e,o,n,"day")}if(o>=s){return plural(e,o,s,"hour")}if(o>=r){return plural(e,o,r,"minute")}if(o>=t){return plural(e,o,t,"second")}return e+" ms"}function plural(e,t,r,s){var n=t>=r*1.5;return Math.round(e/r)+" "+s+(n?"s":"")}},3069:(e,t,r)=>{var s=r(7212);e.exports=s(once);e.exports.strict=s(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var t=e.name||"Function wrapped with `once`";f.onceError=t+" shouldn't be called more than once";f.called=false;return f}},7574:e=>{"use strict";e.exports=(e,t)=>{t=t||(()=>{});return e.then((e=>new Promise((e=>{e(t())})).then((()=>e))),(e=>new Promise((e=>{e(t())})).then((()=>{throw e}))))}},5062:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});const s=r(2171);const n=r(2013);const o=r(8663);const empty=()=>{};const i=new n.TimeoutError;class PQueue extends s{constructor(e){var t,r,s,n;super();this._intervalCount=0;this._intervalEnd=0;this._pendingCount=0;this._resolveEmpty=empty;this._resolveIdle=empty;e=Object.assign({carryoverConcurrencyCount:false,intervalCap:Infinity,interval:0,concurrency:Infinity,autoStart:true,queueClass:o.default},e);if(!(typeof e.intervalCap==="number"&&e.intervalCap>=1)){throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(r=(t=e.intervalCap)===null||t===void 0?void 0:t.toString())!==null&&r!==void 0?r:""}\` (${typeof e.intervalCap})`)}if(e.interval===undefined||!(Number.isFinite(e.interval)&&e.interval>=0)){throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(n=(s=e.interval)===null||s===void 0?void 0:s.toString())!==null&&n!==void 0?n:""}\` (${typeof e.interval})`)}this._carryoverConcurrencyCount=e.carryoverConcurrencyCount;this._isIntervalIgnored=e.intervalCap===Infinity||e.interval===0;this._intervalCap=e.intervalCap;this._interval=e.interval;this._queue=new e.queueClass;this._queueClass=e.queueClass;this.concurrency=e.concurrency;this._timeout=e.timeout;this._throwOnTimeout=e.throwOnTimeout===true;this._isPaused=e.autoStart===false}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount{this._onResumeInterval()}),t)}return true}}return false}_tryToStartAnother(){if(this._queue.size===0){if(this._intervalId){clearInterval(this._intervalId)}this._intervalId=undefined;this._resolvePromises();return false}if(!this._isPaused){const e=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){const t=this._queue.dequeue();if(!t){return false}this.emit("active");t();if(e){this._initializeIntervalIfNeeded()}return true}}return false}_initializeIntervalIfNeeded(){if(this._isIntervalIgnored||this._intervalId!==undefined){return}this._intervalId=setInterval((()=>{this._onInterval()}),this._interval);this._intervalEnd=Date.now()+this._interval}_onInterval(){if(this._intervalCount===0&&this._pendingCount===0&&this._intervalId){clearInterval(this._intervalId);this._intervalId=undefined}this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0;this._processQueue()}_processQueue(){while(this._tryToStartAnother()){}}get concurrency(){return this._concurrency}set concurrency(e){if(!(typeof e==="number"&&e>=1)){throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`)}this._concurrency=e;this._processQueue()}async add(e,t={}){return new Promise(((r,s)=>{const run=async()=>{this._pendingCount++;this._intervalCount++;try{const o=this._timeout===undefined&&t.timeout===undefined?e():n.default(Promise.resolve(e()),t.timeout===undefined?this._timeout:t.timeout,(()=>{if(t.throwOnTimeout===undefined?this._throwOnTimeout:t.throwOnTimeout){s(i)}return undefined}));r(await o)}catch(e){s(e)}this._next()};this._queue.enqueue(run,t);this._tryToStartAnother();this.emit("add")}))}async addAll(e,t){return Promise.all(e.map((async e=>this.add(e,t))))}start(){if(!this._isPaused){return this}this._isPaused=false;this._processQueue();return this}pause(){this._isPaused=true}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size===0){return}return new Promise((e=>{const t=this._resolveEmpty;this._resolveEmpty=()=>{t();e()}}))}async onIdle(){if(this._pendingCount===0&&this._queue.size===0){return}return new Promise((e=>{const t=this._resolveIdle;this._resolveIdle=()=>{t();e()}}))}get size(){return this._queue.size}sizeBy(e){return this._queue.filter(e).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(e){this._timeout=e}}t["default"]=PQueue},7904:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});function lowerBound(e,t,r){let s=0;let n=e.length;while(n>0){const o=n/2|0;let i=s+o;if(r(e[i],t)<=0){s=++i;n-=o+1}else{n=o}}return s}t["default"]=lowerBound},8663:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});const s=r(7904);class PriorityQueue{constructor(){this._queue=[]}enqueue(e,t){t=Object.assign({priority:0},t);const r={priority:t.priority,run:e};if(this.size&&this._queue[this.size-1].priority>=t.priority){this._queue.push(r);return}const n=s.default(this._queue,r,((e,t)=>t.priority-e.priority));this._queue.splice(n,0,r)}dequeue(){const e=this._queue.shift();return e===null||e===void 0?void 0:e.run}filter(e){return this._queue.filter((t=>t.priority===e.priority)).map((e=>e.run))}get size(){return this._queue.length}}t["default"]=PriorityQueue},9005:(e,t,r)=>{"use strict";const s=r(5560);const n=["Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed"];class AbortError extends Error{constructor(e){super();if(e instanceof Error){this.originalError=e;({message:e}=e)}else{this.originalError=new Error(e);this.originalError.stack=this.stack}this.name="AbortError";this.message=e}}const decorateErrorWithCounts=(e,t,r)=>{const s=r.retries-(t-1);e.attemptNumber=t;e.retriesLeft=s;return e};const isNetworkError=e=>n.includes(e);const pRetry=(e,t)=>new Promise(((r,n)=>{t={onFailedAttempt:()=>{},retries:10,...t};const o=s.operation(t);o.attempt((async s=>{try{r(await e(s))}catch(e){if(!(e instanceof Error)){n(new TypeError(`Non-error was thrown: "${e}". You should only throw errors.`));return}if(e instanceof AbortError){o.stop();n(e.originalError)}else if(e instanceof TypeError&&!isNetworkError(e.message)){o.stop();n(e)}else{decorateErrorWithCounts(e,s,t);try{await t.onFailedAttempt(e)}catch(e){n(e);return}if(!o.retry(e)){n(o.mainError())}}}}))}));e.exports=pRetry;e.exports["default"]=pRetry;e.exports.AbortError=AbortError},2013:(e,t,r)=>{"use strict";const s=r(7574);class TimeoutError extends Error{constructor(e){super(e);this.name="TimeoutError"}}const pTimeout=(e,t,r)=>new Promise(((n,o)=>{if(typeof t!=="number"||t<0){throw new TypeError("Expected `milliseconds` to be a positive number")}if(t===Infinity){n(e);return}const i=setTimeout((()=>{if(typeof r==="function"){try{n(r())}catch(e){o(e)}return}const s=typeof r==="string"?r:`Promise timed out after ${t} milliseconds`;const i=r instanceof Error?r:new TimeoutError(s);if(typeof e.cancel==="function"){e.cancel()}o(i)}),t);s(e.then(n,o),(()=>{clearTimeout(i)}))}));e.exports=pTimeout;e.exports["default"]=pTimeout;e.exports.TimeoutError=TimeoutError},490:(e,t,r)=>{"use strict";var s=r(7310).parse;var n={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443};var o=String.prototype.endsWith||function(e){return e.length<=this.length&&this.indexOf(e,this.length-e.length)!==-1};function getProxyForUrl(e){var t=typeof e==="string"?s(e):e||{};var r=t.protocol;var o=t.host;var i=t.port;if(typeof o!=="string"||!o||typeof r!=="string"){return""}r=r.split(":",1)[0];o=o.replace(/:\d*$/,"");i=parseInt(i)||n[r]||0;if(!shouldProxy(o,i)){return""}var a=getEnv("npm_config_"+r+"_proxy")||getEnv(r+"_proxy")||getEnv("npm_config_proxy")||getEnv("all_proxy");if(a&&a.indexOf("://")===-1){a=r+"://"+a}return a}function shouldProxy(e,t){var r=(getEnv("npm_config_no_proxy")||getEnv("no_proxy")).toLowerCase();if(!r){return true}if(r==="*"){return false}return r.split(/[,\s]/).every((function(r){if(!r){return true}var s=r.match(/^(.+):(\d+)$/);var n=s?s[1]:r;var i=s?parseInt(s[2]):0;if(i&&i!==t){return true}if(!/^[.*]/.test(n)){return e!==n}if(n.charAt(0)==="*"){n=n.slice(1)}return!o.call(e,n)}))}function getEnv(e){return process.env[e.toLowerCase()]||process.env[e.toUpperCase()]||""}t.getProxyForUrl=getProxyForUrl},5560:(e,t,r)=>{e.exports=r(5312)},5312:(e,t,r)=>{var s=r(9689);t.operation=function(e){var r=t.timeouts(e);return new s(r,{forever:e&&(e.forever||e.retries===Infinity),unref:e&&e.unref,maxRetryTime:e&&e.maxRetryTime})};t.timeouts=function(e){if(e instanceof Array){return[].concat(e)}var t={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:Infinity,randomize:false};for(var r in e){t[r]=e[r]}if(t.minTimeout>t.maxTimeout){throw new Error("minTimeout is greater than maxTimeout")}var s=[];for(var n=0;n{function RetryOperation(e,t){if(typeof t==="boolean"){t={forever:t}}this._originalTimeouts=JSON.parse(JSON.stringify(e));this._timeouts=e;this._options=t||{};this._maxRetryTime=t&&t.maxRetryTime||Infinity;this._fn=null;this._errors=[];this._attempts=1;this._operationTimeout=null;this._operationTimeoutCb=null;this._timeout=null;this._operationStart=null;this._timer=null;if(this._options.forever){this._cachedTimeouts=this._timeouts.slice(0)}}e.exports=RetryOperation;RetryOperation.prototype.reset=function(){this._attempts=1;this._timeouts=this._originalTimeouts.slice(0)};RetryOperation.prototype.stop=function(){if(this._timeout){clearTimeout(this._timeout)}if(this._timer){clearTimeout(this._timer)}this._timeouts=[];this._cachedTimeouts=null};RetryOperation.prototype.retry=function(e){if(this._timeout){clearTimeout(this._timeout)}if(!e){return false}var t=(new Date).getTime();if(e&&t-this._operationStart>=this._maxRetryTime){this._errors.push(e);this._errors.unshift(new Error("RetryOperation timeout occurred"));return false}this._errors.push(e);var r=this._timeouts.shift();if(r===undefined){if(this._cachedTimeouts){this._errors.splice(0,this._errors.length-1);r=this._cachedTimeouts.slice(-1)}else{return false}}var s=this;this._timer=setTimeout((function(){s._attempts++;if(s._operationTimeoutCb){s._timeout=setTimeout((function(){s._operationTimeoutCb(s._attempts)}),s._operationTimeout);if(s._options.unref){s._timeout.unref()}}s._fn(s._attempts)}),r);if(this._options.unref){this._timer.unref()}return true};RetryOperation.prototype.attempt=function(e,t){this._fn=e;if(t){if(t.timeout){this._operationTimeout=t.timeout}if(t.cb){this._operationTimeoutCb=t.cb}}var r=this;if(this._operationTimeoutCb){this._timeout=setTimeout((function(){r._operationTimeoutCb()}),r._operationTimeout)}this._operationStart=(new Date).getTime();this._fn(this._attempts)};RetryOperation.prototype.try=function(e){console.log("Using RetryOperation.try() is deprecated");this.attempt(e)};RetryOperation.prototype.start=function(e){console.log("Using RetryOperation.start() is deprecated");this.attempt(e)};RetryOperation.prototype.start=RetryOperation.prototype.try;RetryOperation.prototype.errors=function(){return this._errors};RetryOperation.prototype.attempts=function(){return this._attempts};RetryOperation.prototype.mainError=function(){if(this._errors.length===0){return null}var e={};var t=null;var r=0;for(var s=0;s=r){t=n;r=i}}return t}},4642:e=>{"use strict";const t=typeof Buffer!=="undefined";const r=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/;const s=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function _parse(e,n,o){if(o==null){if(n!==null&&typeof n==="object"){o=n;n=undefined}}if(t&&Buffer.isBuffer(e)){e=e.toString()}if(e&&e.charCodeAt(0)===65279){e=e.slice(1)}const i=JSON.parse(e,n);if(i===null||typeof i!=="object"){return i}const a=o&&o.protoAction||"error";const A=o&&o.constructorAction||"error";if(a==="ignore"&&A==="ignore"){return i}if(a!=="ignore"&&A!=="ignore"){if(r.test(e)===false&&s.test(e)===false){return i}}else if(a!=="ignore"&&A==="ignore"){if(r.test(e)===false){return i}}else{if(s.test(e)===false){return i}}return filter(i,{protoAction:a,constructorAction:A,safe:o&&o.safe})}function filter(e,{protoAction:t="error",constructorAction:r="error",safe:s}={}){let n=[e];while(n.length){const e=n;n=[];for(const o of e){if(t!=="ignore"&&Object.prototype.hasOwnProperty.call(o,"__proto__")){if(s===true){return null}else if(t==="error"){throw new SyntaxError("Object contains forbidden prototype property")}delete o.__proto__}if(r!=="ignore"&&Object.prototype.hasOwnProperty.call(o,"constructor")&&Object.prototype.hasOwnProperty.call(o.constructor,"prototype")){if(s===true){return null}else if(r==="error"){throw new SyntaxError("Object contains forbidden prototype property")}delete o.constructor}for(const e in o){const t=o[e];if(t&&typeof t==="object"){n.push(t)}}}}return e}function parse(e,t,r){const s=Error.stackTraceLimit;Error.stackTraceLimit=0;try{return _parse(e,t,r)}finally{Error.stackTraceLimit=s}}function safeParse(e,t){const r=Error.stackTraceLimit;Error.stackTraceLimit=0;try{return _parse(e,t,{safe:true})}catch(e){return null}finally{Error.stackTraceLimit=r}}e.exports=parse;e.exports["default"]=parse;e.exports.parse=parse;e.exports.safeParse=safeParse;e.exports.scan=filter},1856:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.AttachmentBuilder=void 0;const s=r(5154);const n=r(6564);const o=r(133);const i=r(3077);class AttachmentBuilder extends s.BitBuilderBase{build(){return this.getResult(n.SlackDto,{blocks:o.getBuilderResults(this.props.blocks)})}}t.AttachmentBuilder=AttachmentBuilder;o.applyMixins(AttachmentBuilder,[i.Blocks,i.Color,i.End,i.Fallback])},2306:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ConfirmationDialogBuilder=void 0;const s=r(5154);const n=r(6564);const o=r(133);const i=r(3077);class ConfirmationDialogBuilder extends s.BitBuilderBase{build(){return this.getResult(n.SlackDto,{text:o.getMarkdownObject(this.props.text),title:o.getPlainTextObject(this.props.title),confirm:o.getPlainTextObject(this.props.confirm),deny:o.getPlainTextObject(this.props.deny)})}}t.ConfirmationDialogBuilder=ConfirmationDialogBuilder;o.applyMixins(ConfirmationDialogBuilder,[i.Confirm,i.Danger,i.Deny,i.End,i.Primary,i.Text,i.Title])},3706:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Bits=t.OptionGroup=t.Option=t.ConfirmationDialog=t.Attachment=void 0;const s=r(1856);const n=r(2306);const o=r(4198);const i=r(3907);function Attachment(e){return new s.AttachmentBuilder(e)}t.Attachment=Attachment;function ConfirmationDialog(e){return new n.ConfirmationDialogBuilder(e)}t.ConfirmationDialog=ConfirmationDialog;function Option(e){return new o.OptionBuilder(e)}t.Option=Option;function OptionGroup(e){return new i.OptionGroupBuilder(e)}t.OptionGroup=OptionGroup;const a={Attachment:Attachment,ConfirmationDialog:ConfirmationDialog,Option:Option,OptionGroup:OptionGroup};t.Bits=a},3907:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.OptionGroupBuilder=void 0;const s=r(5154);const n=r(6564);const o=r(133);const i=r(3077);class OptionGroupBuilder extends s.BitBuilderBase{build(){return this.getResult(n.SlackDto,{label:o.getPlainTextObject(this.props.label),options:o.getBuilderResults(this.props.options)})}}t.OptionGroupBuilder=OptionGroupBuilder;o.applyMixins(OptionGroupBuilder,[i.End,i.Label,i.Options])},4198:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.OptionBuilder=void 0;const s=r(5154);const n=r(6564);const o=r(133);const i=r(3077);class OptionBuilder extends s.BitBuilderBase{build({isMarkdown:e}={isMarkdown:false}){return this.getResult(n.SlackDto,{text:e?o.getMarkdownObject(this.props.text):o.getPlainTextObject(this.props.text),description:e?o.getMarkdownObject(this.props.description):o.getPlainTextObject(this.props.description)})}}t.OptionBuilder=OptionBuilder;o.applyMixins(OptionBuilder,[i.Description,i.End,i.Text,i.Url,i.Value])},3682:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ActionsBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class ActionsBuilder extends s.BlockBuilderBase{build(){return this.getResult(o.SlackBlockDto,{type:n.BlockType.Actions,elements:i.getBuilderResults(this.props.elements)})}}t.ActionsBuilder=ActionsBuilder;i.applyMixins(ActionsBuilder,[a.BlockId,a.End,a.Elements])},1489:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ContextBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class ContextBuilder extends s.BlockBuilderBase{build(){return this.getResult(o.SlackBlockDto,{type:n.BlockType.Context,elements:i.getElementsForContext(this.props.elements)})}}t.ContextBuilder=ContextBuilder;i.applyMixins(ContextBuilder,[a.BlockId,a.Elements,a.End])},6369:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.DividerBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class DividerBuilder extends s.BlockBuilderBase{build(){return this.getResult(o.SlackBlockDto,{type:n.BlockType.Divider})}}t.DividerBuilder=DividerBuilder;i.applyMixins(DividerBuilder,[a.BlockId,a.End])},9970:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.FileBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class FileBuilder extends s.BlockBuilderBase{build(){return this.getResult(o.SlackBlockDto,{type:n.BlockType.File,source:n.FileType.Remote})}}t.FileBuilder=FileBuilder;i.applyMixins(FileBuilder,[a.BlockId,a.End,a.ExternalId])},4897:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.HeaderBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class HeaderBuilder extends s.BlockBuilderBase{build(){return this.getResult(o.SlackBlockDto,{type:n.BlockType.Header,text:i.getPlainTextObject(this.props.text)})}}t.HeaderBuilder=HeaderBuilder;i.applyMixins(HeaderBuilder,[a.BlockId,a.End,a.Text])},5828:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ImageBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class ImageBuilder extends s.BlockBuilderBase{build(){return this.getResult(o.SlackBlockDto,{type:n.BlockType.Image,title:i.getPlainTextObject(this.props.title)})}}t.ImageBuilder=ImageBuilder;i.applyMixins(ImageBuilder,[a.AltText,a.BlockId,a.End,a.ImageUrl,a.Title])},7604:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Blocks=t.Video=t.Section=t.Input=t.Image=t.Header=t.File=t.Divider=t.Context=t.Actions=void 0;const s=r(3682);const n=r(1489);const o=r(6369);const i=r(9970);const a=r(4897);const A=r(5828);const c=r(6047);const l=r(857);const u=r(2963);function Actions(e){return new s.ActionsBuilder(e)}t.Actions=Actions;function Context(e){return new n.ContextBuilder(e)}t.Context=Context;function Divider(e){return new o.DividerBuilder(e)}t.Divider=Divider;function File(e){return new i.FileBuilder(e)}t.File=File;function Header(e){return new a.HeaderBuilder(e)}t.Header=Header;function Image(e){return new A.ImageBuilder(e)}t.Image=Image;function Input(e){return new c.InputBuilder(e)}t.Input=Input;function Section(e){return new l.SectionBuilder(e)}t.Section=Section;function Video(e){return new u.VideoBuilder(e)}t.Video=Video;const p={Actions:Actions,Context:Context,Divider:Divider,File:File,Header:Header,Image:Image,Input:Input,Section:Section,Video:Video};t.Blocks=p},6047:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.InputBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class InputBuilder extends s.BlockBuilderBase{build(){return this.getResult(o.SlackBlockDto,{type:n.BlockType.Input,label:i.getPlainTextObject(this.props.label),hint:i.getPlainTextObject(this.props.hint),element:i.getBuilderResult(this.props.element)})}}t.InputBuilder=InputBuilder;i.applyMixins(InputBuilder,[a.BlockId,a.DispatchAction,a.Element,a.End,a.Hint,a.Label,a.Optional])},857:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SectionBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class SectionBuilder extends s.BlockBuilderBase{build(){return this.getResult(o.SlackBlockDto,{type:n.BlockType.Section,text:i.getMarkdownObject(this.props.text),fields:i.getFields(this.props.fields),accessory:i.getBuilderResult(this.props.accessory)})}}t.SectionBuilder=SectionBuilder;i.applyMixins(SectionBuilder,[a.Accessory,a.BlockId,a.End,a.Fields,a.Text])},2963:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.VideoBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class VideoBuilder extends s.BlockBuilderBase{build(){return this.getResult(o.SlackBlockDto,{type:n.BlockType.Video,description:i.getPlainTextObject(this.props.description),title:i.getPlainTextObject(this.props.title)})}}t.VideoBuilder=VideoBuilder;i.applyMixins(VideoBuilder,[a.AltText,a.AuthorName,a.BlockId,a.Description,a.End,a.ProviderIconUrl,a.ProviderName,a.ThumbnailUrl,a.Title,a.TitleUrl,a.VideoUrl])},789:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.AccordionUIComponent=void 0;const s=r(7604);const n=r(9269);const o=r(6838);const i=r(243);class AccordionUIComponent{constructor(e){this.items=e.items;this.paginator=e.paginator;this.expandButtonText=e.expandButtonText||o.ComponentUIText.More;this.collapseButtonText=e.collapseButtonText||o.ComponentUIText.Close;this.titleTextFunction=e.titleTextFunction;this.actionIdFunction=e.actionIdFunction;this.builderFunction=e.builderFunction;this.isExpandableFunction=e.isExpandableFunction}getBlocks(){const e=this.items.map(((e,t)=>{const r=this.paginator.checkItemIsExpandedByIndex(t);const o=s.Blocks.Section({text:this.titleTextFunction({item:e})});if(this.isExpandableFunction(e)){o.accessory(n.Elements.Button({text:r?this.collapseButtonText:this.expandButtonText,actionId:this.actionIdFunction({expandedItems:this.paginator.getNextStateByItemIndex(t)})}))}const i=[o,...r?this.builderFunction({item:e}).flat():[]];return t===0?i:[s.Blocks.Divider(),...i]})).flat();return i.Builder.pruneUndefinedFromArray(e)}}t.AccordionUIComponent=AccordionUIComponent},9192:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Components=t.Accordion=t.EasyPaginator=t.Paginator=void 0;const s=r(2870);const n=r(789);const o=r(1498);function Paginator(e){const{page:t,perPage:r,totalItems:n}=e;const i=new o.PaginatorStateManager({page:t,perPage:r,totalItems:n});return new s.PaginatorUIComponent({items:e.items,paginator:i,nextButtonText:e.nextButtonText||null,previousButtonText:e.previousButtonText||null,pageCountTextFunction:e.pageCountText||null,actionIdFunction:e.actionId,builderFunction:e.blocksForEach})}t.Paginator=Paginator;function EasyPaginator(e){const{page:t,perPage:r,items:n}=e;const i=n.length;const a=new o.PaginatorStateManager({page:t,perPage:r,totalItems:i});const A=a.extractItems(n);return new s.PaginatorUIComponent({paginator:a,items:A,nextButtonText:e.nextButtonText||null,previousButtonText:e.previousButtonText||null,pageCountTextFunction:e.pageCountText||null,actionIdFunction:e.actionId,builderFunction:e.blocksForEach})}t.EasyPaginator=EasyPaginator;function Accordion(e){const{items:t,expandedItems:r,collapseOnExpand:s}=e;const i=new o.AccordionStateManager({expandedItems:r,collapseOnExpand:s});return new n.AccordionUIComponent({items:t,paginator:i,expandButtonText:e.expandButtonText||null,collapseButtonText:e.collapseButtonText||null,titleTextFunction:e.titleText,actionIdFunction:e.actionId,builderFunction:e.blocksForExpanded,isExpandableFunction:e.isExpandable||(()=>true)})}t.Accordion=Accordion;const i={Paginator:Paginator,EasyPaginator:EasyPaginator,Accordion:Accordion};t.Components=i},2870:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PaginatorUIComponent=void 0;const s=r(7604);const n=r(9269);const o=r(6838);const i=r(243);const defaultPageCountText=({page:e,totalPages:t})=>`Page ${e} of ${t}`;class PaginatorUIComponent{constructor(e){this.items=e.items;this.paginator=e.paginator;this.nextButtonText=e.nextButtonText||o.ComponentUIText.Next;this.previousButtonText=e.previousButtonText||o.ComponentUIText.Previous;this.pageCountTextFunction=e.pageCountTextFunction||defaultPageCountText;this.actionIdFunction=e.actionIdFunction;this.builderFunction=e.builderFunction}getBlocks(){const e=[];for(let t=0;t1?[...e.flat(),s.Blocks.Context().elements(this.pageCountTextFunction({page:this.paginator.getPage(),totalPages:this.paginator.getTotalPages()})),s.Blocks.Divider(),s.Blocks.Actions().elements(n.Elements.Button({text:this.previousButtonText,actionId:this.actionIdFunction({buttonId:o.PaginatorButtonId.Previous,...this.paginator.getPreviousPageState()})}),n.Elements.Button({text:this.nextButtonText,actionId:this.actionIdFunction({buttonId:o.PaginatorButtonId.Next,...this.paginator.getNextPageState()})}))]:e.flat();return i.Builder.pruneUndefinedFromArray(t)}}t.PaginatorUIComponent=PaginatorUIComponent},2654:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.conditionals=t.omitIfFalsy=t.setIfFalsy=t.omitIfTruthy=t.setIfTruthy=void 0;const r=[undefined,null,false];const falsy=e=>r.includes(e);const truthy=e=>!r.includes(e);function setIfTruthy(e,t){return truthy(e)?t:undefined}t.setIfTruthy=setIfTruthy;function omitIfTruthy(e,t){return truthy(e)?undefined:t}t.omitIfTruthy=omitIfTruthy;function setIfFalsy(e,t){return falsy(e)?t:undefined}t.setIfFalsy=setIfFalsy;function omitIfFalsy(e,t){return falsy(e)?undefined:t}t.omitIfFalsy=omitIfFalsy;const s={setIfTruthy:setIfTruthy,omitIfTruthy:omitIfTruthy,setIfFalsy:setIfFalsy,omitIfFalsy:omitIfFalsy};t.conditionals=s},162:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ButtonBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class ButtonBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.Button,confirm:i.getBuilderResult(this.props.confirm),text:i.getPlainTextObject(this.props.text)})}}t.ButtonBuilder=ButtonBuilder;i.applyMixins(ButtonBuilder,[a.AccessibilityLabel,a.ActionId,a.Confirm,a.Danger,a.End,a.Primary,a.Text,a.Url,a.Value])},3755:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ChannelMultiSelectBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class ChannelMultiSelectBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.ChannelsMultiSelect,placeholder:i.getPlainTextObject(this.props.placeholder),confirm:i.getBuilderResult(this.props.confirm)})}}t.ChannelMultiSelectBuilder=ChannelMultiSelectBuilder;i.applyMixins(ChannelMultiSelectBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialChannels,a.MaxSelectedItems,a.Placeholder])},9209:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ChannelSelectBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class ChannelSelectBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.ChannelSelect,placeholder:i.getPlainTextObject(this.props.placeholder),confirm:i.getBuilderResult(this.props.confirm)})}}t.ChannelSelectBuilder=ChannelSelectBuilder;i.applyMixins(ChannelSelectBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialChannel,a.Placeholder,a.ResponseUrlEnabled])},7794:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.CheckboxesBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class CheckboxesBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.Checkboxes,options:i.getBuilderResults(this.props.options,{isMarkdown:true}),initialOptions:i.getBuilderResults(this.props.initialOptions,{isMarkdown:true}),confirm:i.getBuilderResult(this.props.confirm)})}}t.CheckboxesBuilder=CheckboxesBuilder;i.applyMixins(CheckboxesBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialOptions,a.Options])},4061:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ConversationMultiSelectBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class ConversationMultiSelectBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.ConversationsMultiSelect,placeholder:i.getPlainTextObject(this.props.placeholder),confirm:i.getBuilderResult(this.props.confirm),filter:i.getFilter(this.props)})}}t.ConversationMultiSelectBuilder=ConversationMultiSelectBuilder;i.applyMixins(ConversationMultiSelectBuilder,[a.ActionId,a.Confirm,a.DefaultToCurrentConversation,a.End,a.ExcludeBotUsers,a.ExcludeExternalSharedChannels,a.Filter,a.FocusOnLoad,a.InitialConversations,a.MaxSelectedItems,a.Placeholder])},4742:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ConversationSelectBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class ConversationSelectBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.ConversationSelect,placeholder:i.getPlainTextObject(this.props.placeholder),confirm:i.getBuilderResult(this.props.confirm),filter:i.getFilter(this.props)})}}t.ConversationSelectBuilder=ConversationSelectBuilder;i.applyMixins(ConversationSelectBuilder,[a.ActionId,a.Confirm,a.DefaultToCurrentConversation,a.End,a.ExcludeBotUsers,a.ExcludeExternalSharedChannels,a.Filter,a.FocusOnLoad,a.InitialConversation,a.Placeholder,a.ResponseUrlEnabled,a.Placeholder])},6086:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.DatePickerBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class DatePickerBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.DatePicker,placeholder:i.getPlainTextObject(this.props.placeholder),initialDate:i.getFormattedDate(this.props.initialDate),confirm:i.getBuilderResult(this.props.confirm)})}}t.DatePickerBuilder=DatePickerBuilder;i.applyMixins(DatePickerBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialDate,a.Placeholder])},7779:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.DateTimePickerBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class DateTimePickerBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.DateTimePicker,initialDateTime:i.getDateTimeIntegerFromDate(this.props.initialDateTime),confirm:i.getBuilderResult(this.props.confirm)})}}t.DateTimePickerBuilder=DateTimePickerBuilder;i.applyMixins(DateTimePickerBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialDateTime])},3164:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.EmailInputBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class EmailInputBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.EmailInput,placeholder:i.getPlainTextObject(this.props.placeholder),dispatchActionConfig:i.getDispatchActionsConfigurationObject(this.props)})}}t.EmailInputBuilder=EmailInputBuilder;i.applyMixins(EmailInputBuilder,[a.ActionId,a.DispatchActionOnCharacterEntered,a.DispatchActionOnEnterPressed,a.End,a.FocusOnLoad,a.InitialValue,a.Placeholder])},6560:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ExternalMultiSelectBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class ExternalMultiSelectBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.ExternalMultiSelect,placeholder:i.getPlainTextObject(this.props.placeholder),initialOptions:i.getBuilderResults(this.props.initialOptions),confirm:i.getBuilderResult(this.props.confirm)})}}t.ExternalMultiSelectBuilder=ExternalMultiSelectBuilder;i.applyMixins(ExternalMultiSelectBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialOptions,a.MaxSelectedItems,a.MinQueryLength,a.Placeholder])},8828:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ExternalSelectBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class ExternalSelectBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.ExternalSelect,placeholder:i.getPlainTextObject(this.props.placeholder),initialOption:i.getBuilderResult(this.props.initialOption),confirm:i.getBuilderResult(this.props.confirm)})}}t.ExternalSelectBuilder=ExternalSelectBuilder;i.applyMixins(ExternalSelectBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialOption,a.MinQueryLength,a.Placeholder])},530:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.FileInputBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class FileInputBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.FileInput})}}t.FileInputBuilder=FileInputBuilder;i.applyMixins(FileInputBuilder,[a.ActionId,a.Filetypes,a.MaxFiles,a.End])},1283:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ImgBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class ImgBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.Image})}}t.ImgBuilder=ImgBuilder;i.applyMixins(ImgBuilder,[a.AltText,a.ImageUrl,a.End])},9269:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Elements=t.UserSelect=t.UserMultiSelect=t.URLInput=t.TimePicker=t.TextInput=t.StaticSelect=t.StaticMultiSelect=t.RadioButtons=t.OverflowMenu=t.NumberInput=t.FileInput=t.Img=t.ExternalSelect=t.ExternalMultiSelect=t.EmailInput=t.DateTimePicker=t.DatePicker=t.ConversationSelect=t.ConversationMultiSelect=t.Checkboxes=t.ChannelSelect=t.ChannelMultiSelect=t.Button=void 0;const s=r(162);const n=r(3755);const o=r(9209);const i=r(7794);const a=r(4061);const A=r(4742);const c=r(6086);const l=r(7779);const u=r(3164);const p=r(6560);const d=r(8828);const g=r(530);const h=r(1283);const m=r(9104);const E=r(9612);const C=r(5364);const I=r(3666);const B=r(4652);const Q=r(5923);const b=r(4015);const y=r(1527);const v=r(4604);const w=r(8509);function Button(e){return new s.ButtonBuilder(e)}t.Button=Button;function ChannelMultiSelect(e){return new n.ChannelMultiSelectBuilder(e)}t.ChannelMultiSelect=ChannelMultiSelect;function ChannelSelect(e){return new o.ChannelSelectBuilder(e)}t.ChannelSelect=ChannelSelect;function Checkboxes(e){return new i.CheckboxesBuilder(e)}t.Checkboxes=Checkboxes;function ConversationMultiSelect(e){return new a.ConversationMultiSelectBuilder(e)}t.ConversationMultiSelect=ConversationMultiSelect;function ConversationSelect(e){return new A.ConversationSelectBuilder(e)}t.ConversationSelect=ConversationSelect;function DatePicker(e){return new c.DatePickerBuilder(e)}t.DatePicker=DatePicker;function DateTimePicker(e){return new l.DateTimePickerBuilder(e)}t.DateTimePicker=DateTimePicker;function EmailInput(e){return new u.EmailInputBuilder(e)}t.EmailInput=EmailInput;function ExternalMultiSelect(e){return new p.ExternalMultiSelectBuilder(e)}t.ExternalMultiSelect=ExternalMultiSelect;function ExternalSelect(e){return new d.ExternalSelectBuilder(e)}t.ExternalSelect=ExternalSelect;function Img(e){return new h.ImgBuilder(e)}t.Img=Img;function FileInput(e){return new g.FileInputBuilder(e)}t.FileInput=FileInput;function NumberInput(e){return new m.NumberInputBuilder(e)}t.NumberInput=NumberInput;function OverflowMenu(e){return new E.OverflowMenuBuilder(e)}t.OverflowMenu=OverflowMenu;function RadioButtons(e){return new C.RadioButtonsBuilder(e)}t.RadioButtons=RadioButtons;function StaticMultiSelect(e){return new I.StaticMultiSelectBuilder(e)}t.StaticMultiSelect=StaticMultiSelect;function StaticSelect(e){return new B.StaticSelectBuilder(e)}t.StaticSelect=StaticSelect;function TextInput(e){return new Q.TextInputBuilder(e)}t.TextInput=TextInput;function TimePicker(e){return new b.TimePickerBuilder(e)}t.TimePicker=TimePicker;function URLInput(e){return new y.URLInputBuilder(e)}t.URLInput=URLInput;function UserMultiSelect(e){return new v.UserMultiSelectBuilder(e)}t.UserMultiSelect=UserMultiSelect;function UserSelect(e){return new w.UserSelectBuilder(e)}t.UserSelect=UserSelect;const x={Button:Button,ChannelMultiSelect:ChannelMultiSelect,ChannelSelect:ChannelSelect,Checkboxes:Checkboxes,ConversationMultiSelect:ConversationMultiSelect,ConversationSelect:ConversationSelect,DatePicker:DatePicker,DateTimePicker:DateTimePicker,EmailInput:EmailInput,ExternalMultiSelect:ExternalMultiSelect,ExternalSelect:ExternalSelect,Img:Img,NumberInput:NumberInput,OverflowMenu:OverflowMenu,RadioButtons:RadioButtons,StaticMultiSelect:StaticMultiSelect,StaticSelect:StaticSelect,TextInput:TextInput,TimePicker:TimePicker,URLInput:URLInput,UserMultiSelect:UserMultiSelect,UserSelect:UserSelect,FileInput:FileInput};t.Elements=x},9104:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.NumberInputBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class NumberInputBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.NumberInput,initialValue:i.getStringFromNumber(this.props.initialValue),maxValue:i.getStringFromNumber(this.props.maxValue),minValue:i.getStringFromNumber(this.props.minValue),placeholder:i.getPlainTextObject(this.props.placeholder),dispatchActionConfig:i.getDispatchActionsConfigurationObject(this.props)})}}t.NumberInputBuilder=NumberInputBuilder;i.applyMixins(NumberInputBuilder,[a.ActionId,a.DispatchActionOnCharacterEntered,a.DispatchActionOnEnterPressed,a.End,a.FocusOnLoad,a.InitialValue,a.IsDecimalAllowed,a.MaxValue,a.MinValue,a.Placeholder])},9612:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.OverflowMenuBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class OverflowMenuBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.Overflow,options:i.getBuilderResults(this.props.options),confirm:i.getBuilderResult(this.props.confirm)})}}t.OverflowMenuBuilder=OverflowMenuBuilder;i.applyMixins(OverflowMenuBuilder,[a.ActionId,a.Confirm,a.End,a.Options])},5364:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.RadioButtonsBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class RadioButtonsBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.RadioButtons,options:i.getBuilderResults(this.props.options,{isMarkdown:true}),initialOption:i.getBuilderResult(this.props.initialOption,{isMarkdown:true}),confirm:i.getBuilderResult(this.props.confirm)})}}t.RadioButtonsBuilder=RadioButtonsBuilder;i.applyMixins(RadioButtonsBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialOption,a.Options])},3666:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.StaticMultiSelectBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class StaticMultiSelectBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.StaticMultiSelect,placeholder:i.getPlainTextObject(this.props.placeholder),options:i.getBuilderResults(this.props.options),initialOptions:i.getBuilderResults(this.props.initialOptions),optionGroups:i.getBuilderResults(this.props.optionGroups),confirm:i.getBuilderResult(this.props.confirm)})}}t.StaticMultiSelectBuilder=StaticMultiSelectBuilder;i.applyMixins(StaticMultiSelectBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialOptions,a.MaxSelectedItems,a.OptionGroups,a.Options,a.Placeholder])},4652:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.StaticSelectBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class StaticSelectBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.StaticSelect,placeholder:i.getPlainTextObject(this.props.placeholder),options:i.getBuilderResults(this.props.options),optionGroups:i.getBuilderResults(this.props.optionGroups),initialOption:i.getBuilderResult(this.props.initialOption),confirm:i.getBuilderResult(this.props.confirm)})}}t.StaticSelectBuilder=StaticSelectBuilder;i.applyMixins(StaticSelectBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialOption,a.OptionGroups,a.Options,a.Placeholder])},5923:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.TextInputBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class TextInputBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.TextInput,placeholder:i.getPlainTextObject(this.props.placeholder),dispatchActionConfig:i.getDispatchActionsConfigurationObject(this.props)})}}t.TextInputBuilder=TextInputBuilder;i.applyMixins(TextInputBuilder,[a.ActionId,a.DispatchActionOnCharacterEntered,a.DispatchActionOnEnterPressed,a.End,a.FocusOnLoad,a.InitialValue,a.MaxLength,a.MinLength,a.Multiline,a.Placeholder])},4015:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.TimePickerBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class TimePickerBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.TimePicker,placeholder:i.getPlainTextObject(this.props.placeholder),confirm:i.getBuilderResult(this.props.confirm)})}}t.TimePickerBuilder=TimePickerBuilder;i.applyMixins(TimePickerBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialTime,a.Placeholder])},1527:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.URLInputBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class URLInputBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.URLInput,placeholder:i.getPlainTextObject(this.props.placeholder),dispatchActionConfig:i.getDispatchActionsConfigurationObject(this.props)})}}t.URLInputBuilder=URLInputBuilder;i.applyMixins(URLInputBuilder,[a.ActionId,a.DispatchActionOnCharacterEntered,a.DispatchActionOnEnterPressed,a.End,a.FocusOnLoad,a.InitialValue,a.Placeholder])},4604:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.UserMultiSelectBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class UserMultiSelectBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.UserMultiSelect,placeholder:i.getPlainTextObject(this.props.placeholder),confirm:i.getBuilderResult(this.props.confirm)})}}t.UserMultiSelectBuilder=UserMultiSelectBuilder;i.applyMixins(UserMultiSelectBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialUsers,a.MaxSelectedItems,a.Placeholder])},8509:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.UserSelectBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class UserSelectBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.UserSelect,placeholder:i.getPlainTextObject(this.props.placeholder),confirm:i.getBuilderResult(this.props.confirm)})}}t.UserSelectBuilder=UserSelectBuilder;i.applyMixins(UserSelectBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialUser,a.Placeholder])},9690:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){if(s===undefined)s=r;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,s){if(s===undefined)s=r;e[s]=t[r]});var n=this&&this.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))s(t,e,r)};Object.defineProperty(t,"__esModule",{value:true});n(r(3706),t);n(r(7604),t);n(r(9192),t);n(r(2654),t);n(r(9269),t);n(r(5543),t);n(r(4271),t);n(r(4609),t)},9090:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.BitBuilderBase=void 0;const s=r(7450);class BitBuilderBase extends s.Builder{}t.BitBuilderBase=BitBuilderBase},7544:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.BlockBuilderBase=void 0;const s=r(7450);class BlockBuilderBase extends s.Builder{}t.BlockBuilderBase=BlockBuilderBase},5991:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.CompositionObjectBase=void 0;class CompositionObjectBase{}t.CompositionObjectBase=CompositionObjectBase},7148:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ElementBuilderBase=void 0;const s=r(7450);class ElementBuilderBase extends s.Builder{}t.ElementBuilderBase=ElementBuilderBase},5154:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){if(s===undefined)s=r;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,s){if(s===undefined)s=r;e[s]=t[r]});var n=this&&this.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))s(t,e,r)};Object.defineProperty(t,"__esModule",{value:true});n(r(9090),t);n(r(7544),t);n(r(5991),t);n(r(7148),t);n(r(9221),t)},9221:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SurfaceBuilderBase=void 0;const s=r(7450);class SurfaceBuilderBase extends s.Builder{}t.SurfaceBuilderBase=SurfaceBuilderBase},1049:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.BlockType=void 0;var r;(function(e){e["Section"]="section";e["Actions"]="actions";e["Context"]="context";e["Input"]="input";e["File"]="file";e["Divider"]="divider";e["Image"]="image";e["Header"]="header";e["Video"]="video"})(r=t.BlockType||(t.BlockType={}))},1637:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ButtonStyle=void 0;var r;(function(e){e["Danger"]="danger";e["Primary"]="primary"})(r=t.ButtonStyle||(t.ButtonStyle={}))},6887:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ComponentUIText=void 0;var r;(function(e){e["Next"]="Next";e["Previous"]="Previous";e["More"]="More";e["Close"]="Close"})(r=t.ComponentUIText||(t.ComponentUIText={}))},4871:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.DispatchOnType=void 0;var r;(function(e){e["OnEnterPressed"]="on_enter_pressed";e["OnCharacterEntered"]="on_character_entered"})(r=t.DispatchOnType||(t.DispatchOnType={}))},9387:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ElementType=void 0;var r;(function(e){e["Button"]="button";e["Checkboxes"]="checkboxes";e["DatePicker"]="datepicker";e["DateTimePicker"]="datetimepicker";e["TimePicker"]="timepicker";e["Image"]="image";e["Overflow"]="overflow";e["TextInput"]="plain_text_input";e["RadioButtons"]="radio_buttons";e["StaticSelect"]="static_select";e["ExternalSelect"]="external_select";e["UserSelect"]="users_select";e["ConversationSelect"]="conversations_select";e["ChannelSelect"]="channels_select";e["StaticMultiSelect"]="multi_static_select";e["ExternalMultiSelect"]="multi_external_select";e["UserMultiSelect"]="multi_users_select";e["ConversationsMultiSelect"]="multi_conversations_select";e["ChannelsMultiSelect"]="multi_channels_select";e["URLInput"]="url_text_input";e["EmailInput"]="email_text_input";e["NumberInput"]="number_input";e["FileInput"]="file_input"})(r=t.ElementType||(t.ElementType={}))},2309:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.FileType=void 0;var r;(function(e){e["Remote"]="remote"})(r=t.FileType||(t.FileType={}))},8143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.FilterType=void 0;var r;(function(e){e["Im"]="im";e["Mpim"]="mpim";e["Private"]="private";e["Public"]="public"})(r=t.FilterType||(t.FilterType={}))},6838:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){if(s===undefined)s=r;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,s){if(s===undefined)s=r;e[s]=t[r]});var n=this&&this.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))s(t,e,r)};Object.defineProperty(t,"__esModule",{value:true});n(r(1049),t);n(r(1637),t);n(r(6887),t);n(r(4871),t);n(r(9387),t);n(r(2309),t);n(r(8143),t);n(r(9514),t);n(r(922),t);n(r(1286),t);n(r(1590),t);n(r(9741),t)},9514:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ObjectType=void 0;var r;(function(e){e["Text"]="plain_text";e["Markdown"]="mrkdwn"})(r=t.ObjectType||(t.ObjectType={}))},922:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PaginatorButtonId=void 0;var r;(function(e){e["Next"]="next";e["Previous"]="previous"})(r=t.PaginatorButtonId||(t.PaginatorButtonId={}))},1286:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Prop=void 0;var r;(function(e){e["AuthorName"]="authorName";e["Blocks"]="blocks";e["Elements"]="elements";e["BlockId"]="blockId";e["ExternalId"]="externalId";e["Label"]="label";e["Element"]="element";e["Hint"]="hint";e["Optional"]="optional";e["Fields"]="fields";e["Accessory"]="accessory";e["ActionId"]="actionId";e["Url"]="url";e["Style"]="style";e["Value"]="value";e["Option"]="option";e["Confirm"]="confirm";e["ImageUrl"]="imageUrl";e["AltText"]="altText";e["Options"]="options";e["InitialOptions"]="initialOptions";e["InitialOption"]="initialOption";e["Placeholder"]="placeholder";e["InitialDate"]="initialDate";e["InitialDateTime"]="initialDateTime";e["InitialValue"]="initialValue";e["IsDecimalAllowed"]="isDecimalAllowed";e["Multiline"]="multiline";e["MinLength"]="minLength";e["MaxLength"]="maxLength";e["MinValue"]="minValue";e["MaxValue"]="maxValue";e["InitialChannel"]="initialChannel";e["InitialChannels"]="initialChannels";e["InitialConversation"]="initialConversation";e["InitialConversations"]="initialConversations";e["ResponseUrlEnabled"]="responseUrlEnabled";e["DefaultToCurrentConversation"]="defaultToCurrentConversation";e["Filter"]="filter";e["MinQueryLength"]="minQueryLength";e["OptionGroups"]="optionGroups";e["InitialUser"]="initialUser";e["InitialUsers"]="initialUsers";e["MaxSelectedItems"]="maxSelectedItems";e["Title"]="title";e["Submit"]="submit";e["Close"]="close";e["Deny"]="deny";e["ExcludeExternalSharedChannels"]="excludeExternalSharedChannels";e["ExcludeBotUsers"]="excludeBotUsers";e["Text"]="text";e["PrivateMetaData"]="privateMetaData";e["CallbackId"]="callbackId";e["Channel"]="channel";e["ClearOnClose"]="clearOnClose";e["NotifyOnClose"]="notifyOnClose";e["Description"]="description";e["Danger"]="danger";e["Primary"]="primary";e["AsUser"]="asUser";e["ThreadTs"]="threadTs";e["ReplaceOriginal"]="replaceOriginal";e["DeleteOriginal"]="deleteOriginal";e["ResponseType"]="responseType";e["PostAt"]="postAt";e["Ephemeral"]="ephemeral";e["InChannel"]="inChannel";e["Ts"]="ts";e["Color"]="color";e["Fallback"]="fallback";e["Attachments"]="attachments";e["DispatchAction"]="dispatchAction";e["DispatchActionConfig"]="dispatchActionConfig";e["OnEnterPressed"]="onEnterPressed";e["OnCharacterEntered"]="onCharacterEntered";e["DispatchActionOnEnterPressed"]="dispatchActionOnEnterPressed";e["DispatchActionOnCharacterEntered"]="dispatchActionOnCharacterEntered";e["InitialTime"]="initialTime";e["Mrkdwn"]="mrkdwn";e["IgnoreMarkdown"]="ignoreMarkdown";e["SubmitDisabled"]="submitDisabled";e["FocusOnLoad"]="focusOnLoad";e["AccessibilityLabel"]="accessibilityLabel";e["ProviderIconUrl"]="providerIconUrl";e["ProviderName"]="providerName";e["TitleUrl"]="titleUrl";e["ThumbnailUrl"]="thumbnailUrl";e["VideoUrl"]="videoUrl";e["MaxFiles"]="maxFiles";e["Filetypes"]="filetypes"})(r=t.Prop||(t.Prop={}))},1590:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ResponseType=void 0;var r;(function(e){e["Ephemeral"]="ephemeral";e["InChannel"]="in_channel"})(r=t.ResponseType||(t.ResponseType={}))},9741:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SurfaceType=void 0;var r;(function(e){e["HomeTab"]="home";e["Modal"]="modal";e["WorkflowStep"]="workflow_step"})(r=t.SurfaceType||(t.SurfaceType={}))},6564:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){if(s===undefined)s=r;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,s){if(s===undefined)s=r;e[s]=t[r]});var n=this&&this.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))s(t,e,r)};Object.defineProperty(t,"__esModule",{value:true});n(r(895),t)},895:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SlackElementDto=t.SlackBlockDto=t.SlackWorkflowStepDto=t.SlackModalDto=t.SlackHomeTabDto=t.SlackMessageDto=t.SlackDto=t.Param=void 0;const s=r(6838);var n;(function(e){e["actionId"]="action_id";e["blocks"]="blocks";e["blockId"]="block_id";e["maxSelectedItems"]="max_selected_items";e["title"]="title";e["text"]="text";e["confirm"]="confirm";e["deny"]="deny";e["style"]="style";e["danger"]="danger";e["label"]="label";e["options"]="options";e["value"]="value";e["description"]="description";e["url"]="url";e["elements"]="elements";e["externalId"]="external_id";e["imageUrl"]="image_url";e["altText"]="alt_text";e["element"]="element";e["hint"]="hint";e["optional"]="optional";e["fields"]="fields";e["accessory"]="accessory";e["initialChannels"]="initial_channels";e["initialChannel"]="initial_channel";e["responseUrlEnabled"]="response_url_enabled";e["initialOptions"]="initial_options";e["initialConversations"]="initial_conversations";e["defaultToCurrentConversation"]="default_to_current_conversation";e["filter"]="filter";e["initialConversation"]="initial_conversation";e["initialDate"]="initial_date";e["initialDateTime"]="initial_date_time";e["isDecimalAllowed"]="is_decimal_allowed";e["minQueryLength"]="min_query_length";e["initialOption"]="initial_option";e["optionGroups"]="option_groups";e["placeholder"]="placeholder";e["initialValue"]="initial_value";e["multiline"]="multiline";e["minLength"]="min_length";e["maxLength"]="max_length";e["initialUsers"]="initial_users";e["initialUser"]="initial_user";e["channel"]="channel";e["close"]="close";e["submit"]="submit";e["clearOnClose"]="clear_on_close";e["notifyOnClose"]="notify_on_close";e["privateMetaData"]="private_metadata";e["callbackId"]="callback_id";e["asUser"]="as_user";e["ts"]="ts";e["threadTs"]="thread_ts";e["replaceOriginal"]="replace_original";e["deleteOriginal"]="delete_original";e["responseType"]="response_type";e["postAt"]="post_at";e["color"]="color";e["fallback"]="fallback";e["attachments"]="attachments";e["dispatchAction"]="dispatch_action";e["dispatchActionConfig"]="dispatch_action_config";e["initialTime"]="initial_time";e["mrkdwn"]="mrkdwn";e["submitDisabled"]="submit_disabled";e["type"]="type";e["focusOnLoad"]="focus_on_load";e["accessibilityLabel"]="accessibility_label";e["authorName"]="author_name";e["providerIconUrl"]="provider_icon_url";e["providerName"]="provider_name";e["titleUrl"]="title_url";e["thumbnailUrl"]="thumbnail_url";e["videoUrl"]="video_url";e["minValue"]="min_value";e["maxValue"]="max_value";e["maxFiles"]="max_files";e["filetypes"]="filetypes";e["source"]="source"})(n=t.Param||(t.Param={}));class SlackDto{constructor(e){Object.keys(e).forEach((t=>{const r=SlackDto.mapParam(t);if(e[t]!==undefined&&r!==undefined){this[r]=e[t]}}))}static mapParam(e){return n[e]}}t.SlackDto=SlackDto;class SlackMessageDto extends SlackDto{}t.SlackMessageDto=SlackMessageDto;class SlackHomeTabDto extends SlackDto{constructor(){super(...arguments);this.type=s.SurfaceType.HomeTab}}t.SlackHomeTabDto=SlackHomeTabDto;class SlackModalDto extends SlackDto{constructor(){super(...arguments);this.type=s.SurfaceType.Modal}}t.SlackModalDto=SlackModalDto;class SlackWorkflowStepDto extends SlackDto{constructor(){super(...arguments);this.type=s.SurfaceType.WorkflowStep}}t.SlackWorkflowStepDto=SlackWorkflowStepDto;class SlackBlockDto extends SlackDto{}t.SlackBlockDto=SlackBlockDto;class SlackElementDto extends SlackDto{}t.SlackElementDto=SlackElementDto},5624:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.BlockBuilderError=void 0;class BlockBuilderError extends Error{constructor(e){super(e);this.name="BlockBuilderError";Error.captureStackTrace(this,this.constructor)}}t.BlockBuilderError=BlockBuilderError},8476:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){if(s===undefined)s=r;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,s){if(s===undefined)s=r;e[s]=t[r]});var n=this&&this.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))s(t,e,r)};Object.defineProperty(t,"__esModule",{value:true});n(r(5624),t)},8470:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.applyMixins=void 0;function applyMixins(e,t){const{constructor:r}=e.prototype;t.forEach((t=>{Object.getOwnPropertyNames(t.prototype).forEach((r=>{const s=Object.getOwnPropertyDescriptor(t.prototype,r);Object.defineProperty(e.prototype,r,s)}))}));e.prototype.constructor=r}t.applyMixins=applyMixins},7216:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getDispatchActionsConfigurationObject=t.getFilter=t.getDateTimeIntegerFromDate=t.getFormattedDate=t.getFields=t.getElementsForContext=t.getMarkdownObject=t.getStringFromNumber=t.getPlainTextObject=t.getBuilderResults=t.getBuilderResult=void 0;const s=r(5347);const n={isMarkdown:false};const valueOrUndefined=e=>e===undefined?undefined:e;const valuesOrUndefined=e=>{if(e.filter((e=>e!==undefined)).length===0){return undefined}return e};function getBuilderResult(e,t=n){return valueOrUndefined(e)&&e.build(t)}t.getBuilderResult=getBuilderResult;function getBuilderResults(e,t=n){return valueOrUndefined(e)&&e.map((e=>getBuilderResult(e,t)))}t.getBuilderResults=getBuilderResults;function getPlainTextObject(e){return valueOrUndefined(e)?new s.PlainTextObject(e):undefined}t.getPlainTextObject=getPlainTextObject;function getStringFromNumber(e){return valueOrUndefined(e)?e.toString():undefined}t.getStringFromNumber=getStringFromNumber;function getMarkdownObject(e){return valueOrUndefined(e)?new s.MarkdownObject(e):undefined}t.getMarkdownObject=getMarkdownObject;function getElementsForContext(e){return valueOrUndefined(e)&&e.map((e=>typeof e==="string"?new s.MarkdownObject(e):e.build()))}t.getElementsForContext=getElementsForContext;function getFields(e){return valueOrUndefined(e)&&e.map((e=>new s.MarkdownObject(e)))}t.getFields=getFields;function getFormattedDate(e){return valueOrUndefined(e)&&e.toISOString().split("T")[0]}t.getFormattedDate=getFormattedDate;function getDateTimeIntegerFromDate(e){return valueOrUndefined(e)&&Math.floor(e.getTime()/1e3)}t.getDateTimeIntegerFromDate=getDateTimeIntegerFromDate;function getFilter({filter:e,excludeBotUsers:t,excludeExternalSharedChannels:r}){return valuesOrUndefined([e,t,r])&&new s.FilterObject({filter:e,excludeBotUsers:t,excludeExternalSharedChannels:r})}t.getFilter=getFilter;function getDispatchActionsConfigurationObject({onEnterPressed:e,onCharacterEntered:t}){return valuesOrUndefined([e,t])&&new s.DispatchActionsConfigurationObject([e,t].filter(Boolean))}t.getDispatchActionsConfigurationObject=getDispatchActionsConfigurationObject},133:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){if(s===undefined)s=r;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,s){if(s===undefined)s=r;e[s]=t[r]});var n=this&&this.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))s(t,e,r)};Object.defineProperty(t,"__esModule",{value:true});n(r(8470),t);n(r(7216),t)},1498:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){if(s===undefined)s=r;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,s){if(s===undefined)s=r;e[s]=t[r]});var n=this&&this.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))s(t,e,r)};Object.defineProperty(t,"__esModule",{value:true});n(r(5154),t);n(r(6838),t);n(r(6564),t);n(r(8476),t);n(r(133),t);n(r(243),t);n(r(3077),t);n(r(5347),t);n(r(4095),t)},9636:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.AccordionStateManager=void 0;class AccordionStateManager{constructor(e){this.expandedItems=e.expandedItems||[];this.collapseOnExpand=e.collapseOnExpand||false}checkItemIsExpandedByIndex(e){return this.expandedItems.includes(e)}getNextStateByItemIndex(e){if(e===undefined){return this.expandedItems}const t=this.checkItemIsExpandedByIndex(e);if(t){const t=[...this.expandedItems];const r=this.expandedItems.findIndex((t=>t===e));t.splice(r,1);return t}return this.collapseOnExpand?[e]:[...this.expandedItems,e]}}t.AccordionStateManager=AccordionStateManager},7450:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Builder=void 0;const s=r(8476);class Builder{constructor(e){this.props=e?{...e}:{};Object.keys(this.props).forEach((e=>this.props[e]===undefined&&delete this.props[e]));Object.seal(this)}set(e,t){if(this.props[t]!==undefined){throw new s.BlockBuilderError(`Property ${t} can only be assigned once.`)}if(e!==undefined){this.props[t]=e}return this}append(e,t){const r=Builder.pruneUndefinedFromArray(e);if(r.length>0){this.props[t]=this.props[t]===undefined?r:this.props[t].concat(r)}return this}getResult(e,t){const r=new e({...this.props,...t});return Object.freeze(r)}build(e){throw new s.BlockBuilderError("Builder must have a declared 'build' method")}static pruneUndefinedFromArray(e){return e.filter((e=>e!==undefined?e:false))}}t.Builder=Builder},243:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){if(s===undefined)s=r;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,s){if(s===undefined)s=r;e[s]=t[r]});var n=this&&this.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))s(t,e,r)};Object.defineProperty(t,"__esModule",{value:true});n(r(9636),t);n(r(7450),t);n(r(5890),t)},5890:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PaginatorStateManager=void 0;class PaginatorStateManager{constructor(e){const t=PaginatorStateManager.calculateState({page:Math.floor(e.page)||1,totalItems:Math.floor(e.totalItems)||1,perPage:Math.floor(e.perPage)});this.page=t.page;this.perPage=t.perPage;this.totalItems=t.totalItems;this.totalPages=t.totalPages;this.offset=t.offset}static calculateState(e){const{page:t,totalItems:r,perPage:s}=e;const n=Math.ceil(r/s);const o=PaginatorStateManager.calculatePage(t,n);const i=(o-1)*s;return{totalItems:r,perPage:s,totalPages:n,offset:i,page:o}}static calculatePage(e,t){if(e<1){return t}return e>t?1:e}getPage(){return this.page}getTotalPages(){return this.totalPages}getTotalItems(){return this.totalItems}getStateByPage(e){return PaginatorStateManager.calculateState({page:e,perPage:this.perPage,totalItems:this.totalItems})}getNextPageState(){return this.getStateByPage(this.page+1)}getPreviousPageState(){return this.getStateByPage(this.page-1)}extractItems(e){const t=this.offset;const r=t+this.perPage;return e.slice(t,r)}}t.PaginatorStateManager=PaginatorStateManager},3163:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Options=t.OptionGroups=t.InitialUsers=t.InitialOptions=t.InitialConversations=t.InitialChannels=t.Filter=t.Fields=t.Elements=t.Blocks=t.Attachments=void 0;const s=r(243);const n=r(6838);class Attachments extends s.Builder{attachments(...e){return this.append(e.flat(),n.Prop.Attachments)}}t.Attachments=Attachments;class Blocks extends s.Builder{blocks(...e){return this.append(e.flat(),n.Prop.Blocks)}}t.Blocks=Blocks;class Elements extends s.Builder{elements(...e){return this.append(e.flat(),n.Prop.Elements)}}t.Elements=Elements;class Fields extends s.Builder{fields(...e){return this.append(e.flat(),n.Prop.Fields)}}t.Fields=Fields;class Filter extends s.Builder{filter(...e){return this.append(e.flat(),n.Prop.Filter)}}t.Filter=Filter;class InitialChannels extends s.Builder{initialChannels(...e){return this.append(e.flat(),n.Prop.InitialChannels)}}t.InitialChannels=InitialChannels;class InitialConversations extends s.Builder{initialConversations(...e){return this.append(e.flat(),n.Prop.InitialConversations)}}t.InitialConversations=InitialConversations;class InitialOptions extends s.Builder{initialOptions(...e){return this.append(e.flat(),n.Prop.InitialOptions)}}t.InitialOptions=InitialOptions;class InitialUsers extends s.Builder{initialUsers(...e){return this.append(e.flat(),n.Prop.InitialUsers)}}t.InitialUsers=InitialUsers;class OptionGroups extends s.Builder{optionGroups(...e){return this.append(e.flat(),n.Prop.OptionGroups)}}t.OptionGroups=OptionGroups;class Options extends s.Builder{options(...e){return this.append(e.flat(),n.Prop.Options)}}t.Options=Options},7127:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SubmitDisabled=t.ResponseUrlEnabled=t.ReplaceOriginal=t.Primary=t.Optional=t.NotifyOnClose=t.Multiline=t.InChannel=t.IgnoreMarkdown=t.FocusOnLoad=t.ExcludeBotUsers=t.ExcludeExternalSharedChannels=t.Ephemeral=t.DispatchActionOnEnterPressed=t.DispatchActionOnCharacterEntered=t.DispatchAction=t.DeleteOriginal=t.DefaultToCurrentConversation=t.Danger=t.ClearOnClose=t.AsUser=void 0;const s=r(243);const n=r(6838);class AsUser extends s.Builder{asUser(e=true){return this.set(e,n.Prop.AsUser)}}t.AsUser=AsUser;class ClearOnClose extends s.Builder{clearOnClose(e=true){return this.set(e,n.Prop.ClearOnClose)}}t.ClearOnClose=ClearOnClose;class Danger extends s.Builder{danger(e=true){return e?this.set(n.ButtonStyle.Danger,n.Prop.Style):this}}t.Danger=Danger;class DefaultToCurrentConversation extends s.Builder{defaultToCurrentConversation(e=true){return this.set(e,n.Prop.DefaultToCurrentConversation)}}t.DefaultToCurrentConversation=DefaultToCurrentConversation;class DeleteOriginal extends s.Builder{deleteOriginal(e=true){return this.set(e,n.Prop.DeleteOriginal)}}t.DeleteOriginal=DeleteOriginal;class DispatchAction extends s.Builder{dispatchAction(e=true){return this.set(e,n.Prop.DispatchAction)}}t.DispatchAction=DispatchAction;class DispatchActionOnCharacterEntered extends s.Builder{dispatchActionOnCharacterEntered(e=true){return e?this.set(n.DispatchOnType.OnCharacterEntered,n.Prop.OnCharacterEntered):this}}t.DispatchActionOnCharacterEntered=DispatchActionOnCharacterEntered;class DispatchActionOnEnterPressed extends s.Builder{dispatchActionOnEnterPressed(e=true){return e?this.set(n.DispatchOnType.OnEnterPressed,n.Prop.OnEnterPressed):this}}t.DispatchActionOnEnterPressed=DispatchActionOnEnterPressed;class Ephemeral extends s.Builder{ephemeral(e=true){return e?this.set(n.ResponseType.Ephemeral,n.Prop.ResponseType):this}}t.Ephemeral=Ephemeral;class ExcludeExternalSharedChannels extends s.Builder{excludeExternalSharedChannels(e=true){return this.set(e,n.Prop.ExcludeExternalSharedChannels)}}t.ExcludeExternalSharedChannels=ExcludeExternalSharedChannels;class ExcludeBotUsers extends s.Builder{excludeBotUsers(e=true){return this.set(e,n.Prop.ExcludeBotUsers)}}t.ExcludeBotUsers=ExcludeBotUsers;class FocusOnLoad extends s.Builder{focusOnLoad(e=true){return this.set(e,n.Prop.FocusOnLoad)}}t.FocusOnLoad=FocusOnLoad;class IgnoreMarkdown extends s.Builder{ignoreMarkdown(e=false){return this.set(e,n.Prop.Mrkdwn)}}t.IgnoreMarkdown=IgnoreMarkdown;class InChannel extends s.Builder{inChannel(e=true){return e?this.set(n.ResponseType.InChannel,n.Prop.ResponseType):this}}t.InChannel=InChannel;class Multiline extends s.Builder{multiline(e=true){return this.set(e,n.Prop.Multiline)}}t.Multiline=Multiline;class NotifyOnClose extends s.Builder{notifyOnClose(e=true){return this.set(e,n.Prop.NotifyOnClose)}}t.NotifyOnClose=NotifyOnClose;class Optional extends s.Builder{optional(e=true){return this.set(e,n.Prop.Optional)}}t.Optional=Optional;class Primary extends s.Builder{primary(e=true){return e?this.set(n.ButtonStyle.Primary,n.Prop.Style):this}}t.Primary=Primary;class ReplaceOriginal extends s.Builder{replaceOriginal(e=true){return this.set(e,n.Prop.ReplaceOriginal)}}t.ReplaceOriginal=ReplaceOriginal;class ResponseUrlEnabled extends s.Builder{responseUrlEnabled(e=true){return this.set(e,n.Prop.ResponseUrlEnabled)}}t.ResponseUrlEnabled=ResponseUrlEnabled;class SubmitDisabled extends s.Builder{submitDisabled(e=true){return this.set(e,n.Prop.SubmitDisabled)}}t.SubmitDisabled=SubmitDisabled},3077:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){if(s===undefined)s=r;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,s){if(s===undefined)s=r;e[s]=t[r]});var n=this&&this.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))s(t,e,r)};Object.defineProperty(t,"__esModule",{value:true});n(r(3163),t);n(r(7127),t);n(r(1710),t);n(r(1232),t)},1710:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PrintPreviewUrl=t.GetPreviewUrl=t.GetBlocks=t.GetAttachments=t.End=t.BuildToObject=t.BuildToJSON=void 0;const s=r(243);class BuildToJSON extends s.Builder{buildToJSON(){const e=this.build();return JSON.stringify(e)}}t.BuildToJSON=BuildToJSON;class BuildToObject extends s.Builder{buildToObject(){return this.build()}}t.BuildToObject=BuildToObject;class End extends s.Builder{end(){return this}}t.End=End;class GetAttachments extends s.Builder{getAttachments(){return this.build().attachments}}t.GetAttachments=GetAttachments;class GetBlocks extends s.Builder{getBlocks(){this.build();return this.build().blocks}}t.GetBlocks=GetBlocks;class GetPreviewUrl extends s.Builder{getPreviewUrl(){const e=this.build();const t="https://app.slack.com/block-kit-builder/#";const r=e.type?JSON.stringify(e):JSON.stringify({blocks:e.blocks,attachments:e.attachments});return encodeURI(`${t}${r}`).replace(/[!'()*]/g,escape)}}t.GetPreviewUrl=GetPreviewUrl;class PrintPreviewUrl extends GetPreviewUrl{printPreviewUrl(){console.log(this.getPreviewUrl())}}t.PrintPreviewUrl=PrintPreviewUrl},1232:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.MaxFiles=t.VideoUrl=t.Value=t.Url=t.Ts=t.TitleUrl=t.Title=t.ThumbnailUrl=t.ThreadTs=t.Text=t.Submit=t.ProviderName=t.ProviderIconUrl=t.PrivateMetaData=t.PostAt=t.Placeholder=t.MinValue=t.MinLength=t.MinQueryLength=t.MaxValue=t.MaxSelectedItems=t.MaxLength=t.Label=t.IsDecimalAllowed=t.InitialValue=t.InitialUser=t.InitialTime=t.InitialOption=t.InitialDateTime=t.InitialDate=t.InitialConversation=t.InitialChannel=t.ImageUrl=t.Hint=t.Fallback=t.ExternalId=t.Element=t.Description=t.Deny=t.Confirm=t.Color=t.Close=t.Channel=t.CallbackId=t.BlockId=t.AuthorName=t.AltText=t.ActionId=t.Accessory=t.AccessibilityLabel=void 0;t.Filetypes=void 0;const s=r(243);const n=r(6838);class AccessibilityLabel extends s.Builder{accessibilityLabel(e){return this.set(e,n.Prop.AccessibilityLabel)}}t.AccessibilityLabel=AccessibilityLabel;class Accessory extends s.Builder{accessory(e){return this.set(e,n.Prop.Accessory)}}t.Accessory=Accessory;class ActionId extends s.Builder{actionId(e){return this.set(e,n.Prop.ActionId)}}t.ActionId=ActionId;class AltText extends s.Builder{altText(e){return this.set(e,n.Prop.AltText)}}t.AltText=AltText;class AuthorName extends s.Builder{authorName(e){return this.set(e,n.Prop.AuthorName)}}t.AuthorName=AuthorName;class BlockId extends s.Builder{blockId(e){return this.set(e,n.Prop.BlockId)}}t.BlockId=BlockId;class CallbackId extends s.Builder{callbackId(e){return this.set(e,n.Prop.CallbackId)}}t.CallbackId=CallbackId;class Channel extends s.Builder{channel(e){return this.set(e,n.Prop.Channel)}}t.Channel=Channel;class Close extends s.Builder{close(e){return this.set(e,n.Prop.Close)}}t.Close=Close;class Color extends s.Builder{color(e){return this.set(e,n.Prop.Color)}}t.Color=Color;class Confirm extends s.Builder{confirm(e){return this.set(e,n.Prop.Confirm)}}t.Confirm=Confirm;class Deny extends s.Builder{deny(e){return this.set(e,n.Prop.Deny)}}t.Deny=Deny;class Description extends s.Builder{description(e){return this.set(e,n.Prop.Description)}}t.Description=Description;class Element extends s.Builder{element(e){return this.set(e,n.Prop.Element)}}t.Element=Element;class ExternalId extends s.Builder{externalId(e){return this.set(e,n.Prop.ExternalId)}}t.ExternalId=ExternalId;class Fallback extends s.Builder{fallback(e){return this.set(e,n.Prop.Fallback)}}t.Fallback=Fallback;class Hint extends s.Builder{hint(e){return this.set(e,n.Prop.Hint)}}t.Hint=Hint;class ImageUrl extends s.Builder{imageUrl(e){return this.set(e,n.Prop.ImageUrl)}}t.ImageUrl=ImageUrl;class InitialChannel extends s.Builder{initialChannel(e){return this.set(e,n.Prop.InitialChannel)}}t.InitialChannel=InitialChannel;class InitialConversation extends s.Builder{initialConversation(e){return this.set(e,n.Prop.InitialConversation)}}t.InitialConversation=InitialConversation;class InitialDate extends s.Builder{initialDate(e){return this.set(e,n.Prop.InitialDate)}}t.InitialDate=InitialDate;class InitialDateTime extends s.Builder{initialDateTime(e){return this.set(e,n.Prop.InitialDateTime)}}t.InitialDateTime=InitialDateTime;class InitialOption extends s.Builder{initialOption(e){return this.set(e,n.Prop.InitialOption)}}t.InitialOption=InitialOption;class InitialTime extends s.Builder{initialTime(e){return this.set(e,n.Prop.InitialTime)}}t.InitialTime=InitialTime;class InitialUser extends s.Builder{initialUser(e){return this.set(e,n.Prop.InitialUser)}}t.InitialUser=InitialUser;class InitialValue extends s.Builder{initialValue(e){return this.set(e,n.Prop.InitialValue)}}t.InitialValue=InitialValue;class IsDecimalAllowed extends s.Builder{isDecimalAllowed(e){return this.set(e,n.Prop.IsDecimalAllowed)}}t.IsDecimalAllowed=IsDecimalAllowed;class Label extends s.Builder{label(e){return this.set(e,n.Prop.Label)}}t.Label=Label;class MaxLength extends s.Builder{maxLength(e){return this.set(e,n.Prop.MaxLength)}}t.MaxLength=MaxLength;class MaxSelectedItems extends s.Builder{maxSelectedItems(e){return this.set(e,n.Prop.MaxSelectedItems)}}t.MaxSelectedItems=MaxSelectedItems;class MaxValue extends s.Builder{maxValue(e){return this.set(e,n.Prop.MaxValue)}}t.MaxValue=MaxValue;class MinQueryLength extends s.Builder{minQueryLength(e){return this.set(e,n.Prop.MinQueryLength)}}t.MinQueryLength=MinQueryLength;class MinLength extends s.Builder{minLength(e){return this.set(e,n.Prop.MinLength)}}t.MinLength=MinLength;class MinValue extends s.Builder{minValue(e){return this.set(e,n.Prop.MinValue)}}t.MinValue=MinValue;class Placeholder extends s.Builder{placeholder(e){return this.set(e,n.Prop.Placeholder)}}t.Placeholder=Placeholder;class PostAt extends s.Builder{postAt(e){return this.set(e,n.Prop.PostAt)}}t.PostAt=PostAt;class PrivateMetaData extends s.Builder{privateMetaData(e){return this.set(e,n.Prop.PrivateMetaData)}}t.PrivateMetaData=PrivateMetaData;class ProviderIconUrl extends s.Builder{providerIconUrl(e){return this.set(e,n.Prop.ProviderIconUrl)}}t.ProviderIconUrl=ProviderIconUrl;class ProviderName extends s.Builder{providerName(e){return this.set(e,n.Prop.ProviderName)}}t.ProviderName=ProviderName;class Submit extends s.Builder{submit(e){return this.set(e,n.Prop.Submit)}}t.Submit=Submit;class Text extends s.Builder{text(e){return this.set(e,n.Prop.Text)}}t.Text=Text;class ThreadTs extends s.Builder{threadTs(e){return this.set(e,n.Prop.ThreadTs)}}t.ThreadTs=ThreadTs;class ThumbnailUrl extends s.Builder{thumbnailUrl(e){return this.set(e,n.Prop.ThumbnailUrl)}}t.ThumbnailUrl=ThumbnailUrl;class Title extends s.Builder{title(e){return this.set(e,n.Prop.Title)}}t.Title=Title;class TitleUrl extends s.Builder{titleUrl(e){return this.set(e,n.Prop.TitleUrl)}}t.TitleUrl=TitleUrl;class Ts extends s.Builder{ts(e){return this.set(e,n.Prop.Ts)}}t.Ts=Ts;class Url extends s.Builder{url(e){return this.set(e,n.Prop.Url)}}t.Url=Url;class Value extends s.Builder{value(e){return this.set(e,n.Prop.Value)}}t.Value=Value;class VideoUrl extends s.Builder{videoUrl(e){return this.set(e,n.Prop.VideoUrl)}}t.VideoUrl=VideoUrl;class MaxFiles extends s.Builder{maxFiles(e=10){return this.set(e,n.Prop.MaxFiles)}}t.MaxFiles=MaxFiles;class Filetypes extends s.Builder{filetypes(e=[]){return this.set(e.flat(),n.Prop.Filetypes)}}t.Filetypes=Filetypes},7935:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.DispatchActionsConfigurationObject=void 0;const s=r(5154);class DispatchActionsConfigurationObject extends s.CompositionObjectBase{constructor(e){super();this.trigger_actions_on=e}}t.DispatchActionsConfigurationObject=DispatchActionsConfigurationObject},2383:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.FilterObject=void 0;const s=r(5154);class FilterObject extends s.CompositionObjectBase{constructor(e){super();this.include=e.filter;this.exclude_external_shared_channels=e.excludeExternalSharedChannels;this.exclude_bot_users=e.excludeBotUsers}}t.FilterObject=FilterObject},5347:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){if(s===undefined)s=r;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,s){if(s===undefined)s=r;e[s]=t[r]});var n=this&&this.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))s(t,e,r)};Object.defineProperty(t,"__esModule",{value:true});n(r(7935),t);n(r(2383),t);n(r(3806),t);n(r(3642),t)},3806:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.MarkdownObject=void 0;const s=r(5154);const n=r(6838);class MarkdownObject extends s.CompositionObjectBase{constructor(e){super();this.type=n.ObjectType.Markdown;this.text=e}}t.MarkdownObject=MarkdownObject},3642:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PlainTextObject=void 0;const s=r(5154);const n=r(6838);class PlainTextObject extends s.CompositionObjectBase{constructor(e){super();this.type=n.ObjectType.Text;this.text=e}}t.PlainTextObject=PlainTextObject},4095:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true})},5543:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Md=t.group=t.channel=t.user=t.emoji=t.mailto=t.link=t.listBullet=t.listDash=t.codeBlock=t.codeInline=t.strike=t.italic=t.bold=t.blockquote=t.quote=void 0;function quote(e){return`"${e}"`}t.quote=quote;function blockquote(e){return e.split("\n").map((e=>`>${e}`)).join("\n")}t.blockquote=blockquote;function bold(e){return`*${e}*`}t.bold=bold;function italic(e){return`_${e}_`}t.italic=italic;function strike(e){return`~${e}~`}t.strike=strike;function codeInline(e){return`\`${e}\``}t.codeInline=codeInline;function codeBlock(e){return`\`\`\`${e}\`\`\``}t.codeBlock=codeBlock;function listDash(...e){return e.flat().map((e=>`- ${e}`)).join("\n")}t.listDash=listDash;function listBullet(...e){return e.flat().map((e=>`• ${e}`)).join("\n")}t.listBullet=listBullet;function link(e,t){return t?`<${e}|${t}>`:`<${e}>`}t.link=link;function mailto(e,t){return``}t.mailto=mailto;function emoji(e){return`:${e}:`}t.emoji=emoji;function user(e){return`<@${e}>`}t.user=user;function channel(e){return`<#${e}>`}t.channel=channel;function group(e){return``}t.group=group;const r={quote:quote,blockquote:blockquote,bold:bold,italic:italic,strike:strike,codeInline:codeInline,codeBlock:codeBlock,listDash:listDash,listBullet:listBullet,link:link,mailto:mailto,emoji:emoji,user:user,channel:channel,group:group};t.Md=r},7487:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.HomeTabBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class HomeTabBuilder extends s.SurfaceBuilderBase{build(){return this.getResult(o.SlackHomeTabDto,{type:n.SurfaceType.HomeTab,blocks:i.getBuilderResults(this.props.blocks)})}}t.HomeTabBuilder=HomeTabBuilder;i.applyMixins(HomeTabBuilder,[a.Blocks,a.CallbackId,a.ExternalId,a.PrivateMetaData,a.BuildToJSON,a.BuildToObject,a.GetBlocks,a.GetPreviewUrl,a.PrintPreviewUrl])},4271:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Surfaces=t.WorkflowStep=t.Modal=t.Message=t.HomeTab=void 0;const s=r(7487);const n=r(4025);const o=r(9052);const i=r(1833);function HomeTab(e){return new s.HomeTabBuilder(e)}t.HomeTab=HomeTab;function Message(e){return new n.MessageBuilder(e)}t.Message=Message;function Modal(e){return new o.ModalBuilder(e)}t.Modal=Modal;function WorkflowStep(e){return new i.WorkflowStepBuilder(e)}t.WorkflowStep=WorkflowStep;const a={HomeTab:HomeTab,Message:Message,Modal:Modal,WorkflowStep:WorkflowStep};t.Surfaces=a},4025:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.MessageBuilder=void 0;const s=r(5154);const n=r(6564);const o=r(133);const i=r(3077);class MessageBuilder extends s.SurfaceBuilderBase{build(){return this.getResult(n.SlackMessageDto,{blocks:o.getBuilderResults(this.props.blocks),attachments:o.getBuilderResults(this.props.attachments)})}}t.MessageBuilder=MessageBuilder;o.applyMixins(MessageBuilder,[i.AsUser,i.Attachments,i.Blocks,i.Channel,i.DeleteOriginal,i.Ephemeral,i.IgnoreMarkdown,i.InChannel,i.PostAt,i.ReplaceOriginal,i.Text,i.ThreadTs,i.Ts,i.BuildToJSON,i.BuildToObject,i.GetAttachments,i.GetBlocks,i.GetPreviewUrl,i.PrintPreviewUrl])},9052:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ModalBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class ModalBuilder extends s.SurfaceBuilderBase{build(){return this.getResult(o.SlackModalDto,{type:n.SurfaceType.Modal,title:i.getPlainTextObject(this.props.title),blocks:i.getBuilderResults(this.props.blocks),close:i.getPlainTextObject(this.props.close),submit:i.getPlainTextObject(this.props.submit)})}}t.ModalBuilder=ModalBuilder;i.applyMixins(ModalBuilder,[a.Blocks,a.CallbackId,a.ClearOnClose,a.Close,a.ExternalId,a.NotifyOnClose,a.PrivateMetaData,a.Submit,a.Title,a.BuildToJSON,a.BuildToObject,a.GetBlocks,a.GetPreviewUrl,a.PrintPreviewUrl])},1833:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.WorkflowStepBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class WorkflowStepBuilder extends s.SurfaceBuilderBase{build(){return this.getResult(o.SlackWorkflowStepDto,{type:n.SurfaceType.WorkflowStep,title:i.getPlainTextObject(this.props.title),blocks:i.getBuilderResults(this.props.blocks),close:i.getPlainTextObject(this.props.close),submit:i.getPlainTextObject(this.props.submit)})}}t.WorkflowStepBuilder=WorkflowStepBuilder;i.applyMixins(WorkflowStepBuilder,[a.Blocks,a.CallbackId,a.PrivateMetaData,a.SubmitDisabled,a.BuildToJSON,a.BuildToObject,a.GetBlocks,a.GetPreviewUrl,a.PrintPreviewUrl])},4609:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Utilities=t.buildBlocks=t.buildBlock=t.OptionGroupCollection=t.OptionCollection=t.AttachmentCollection=t.BlockCollection=void 0;const s=r(243);const getBuiltCollection=(...e)=>s.Builder.pruneUndefinedFromArray(e.flat()).map((e=>e&&e.build()));function BlockCollection(...e){return getBuiltCollection(...e)}t.BlockCollection=BlockCollection;function AttachmentCollection(...e){return getBuiltCollection(...e)}t.AttachmentCollection=AttachmentCollection;function OptionCollection(...e){return getBuiltCollection(...e)}t.OptionCollection=OptionCollection;function OptionGroupCollection(...e){return getBuiltCollection(...e)}t.OptionGroupCollection=OptionGroupCollection;function buildBlock(e){return e.build()}t.buildBlock=buildBlock;function buildBlocks(...e){return getBuiltCollection(...e)}t.buildBlocks=buildBlocks;const n={AttachmentCollection:AttachmentCollection,BlockCollection:BlockCollection,OptionCollection:OptionCollection,OptionGroupCollection:OptionGroupCollection,buildBlock:buildBlock,buildBlocks:buildBlocks};t.Utilities=n},8578:(e,t,r)=>{e.exports=r(2805)},2805:(e,t,r)=>{"use strict";var s=r(1808);var n=r(4404);var o=r(3685);var i=r(5687);var a=r(9820);var A=r(9491);var c=r(3837);t.httpOverHttp=httpOverHttp;t.httpsOverHttp=httpsOverHttp;t.httpOverHttps=httpOverHttps;t.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var t=new TunnelingAgent(e);t.request=o.request;return t}function httpsOverHttp(e){var t=new TunnelingAgent(e);t.request=o.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function httpOverHttps(e){var t=new TunnelingAgent(e);t.request=i.request;return t}function httpsOverHttps(e){var t=new TunnelingAgent(e);t.request=i.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function TunnelingAgent(e){var t=this;t.options=e||{};t.proxyOptions=t.options.proxy||{};t.maxSockets=t.options.maxSockets||o.Agent.defaultMaxSockets;t.requests=[];t.sockets=[];t.on("free",(function onFree(e,r,s,n){var o=toOptions(r,s,n);for(var i=0,a=t.requests.length;i=this.maxSockets){n.requests.push(o);return}n.createSocket(o,(function(t){t.on("free",onFree);t.on("close",onCloseOrRemove);t.on("agentRemove",onCloseOrRemove);e.onSocket(t);function onFree(){n.emit("free",t,o)}function onCloseOrRemove(e){n.removeSocket(t);t.removeListener("free",onFree);t.removeListener("close",onCloseOrRemove);t.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,t){var r=this;var s={};r.sockets.push(s);var n=mergeOptions({},r.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){n.localAddress=e.localAddress}if(n.proxyAuth){n.headers=n.headers||{};n.headers["Proxy-Authorization"]="Basic "+new Buffer(n.proxyAuth).toString("base64")}l("making CONNECT request");var o=r.request(n);o.useChunkedEncodingByDefault=false;o.once("response",onResponse);o.once("upgrade",onUpgrade);o.once("connect",onConnect);o.once("error",onError);o.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,t,r){process.nextTick((function(){onConnect(e,t,r)}))}function onConnect(n,i,a){o.removeAllListeners();i.removeAllListeners();if(n.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",n.statusCode);i.destroy();var A=new Error("tunneling socket could not be established, "+"statusCode="+n.statusCode);A.code="ECONNRESET";e.request.emit("error",A);r.removeSocket(s);return}if(a.length>0){l("got illegal response body from proxy");i.destroy();var A=new Error("got illegal response body from proxy");A.code="ECONNRESET";e.request.emit("error",A);r.removeSocket(s);return}l("tunneling connection has established");r.sockets[r.sockets.indexOf(s)]=i;return t(i)}function onError(t){o.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var n=new Error("tunneling socket could not be established, "+"cause="+t.message);n.code="ECONNRESET";e.request.emit("error",n);r.removeSocket(s)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var t=this.sockets.indexOf(e);if(t===-1){return}this.sockets.splice(t,1);var r=this.requests.shift();if(r){this.createSocket(r,(function(e){r.request.onSocket(e)}))}};function createSecureSocket(e,t){var r=this;TunnelingAgent.prototype.createSocket.call(r,e,(function(s){var o=e.request.getHeader("host");var i=mergeOptions({},r.options,{socket:s,servername:o?o.replace(/:.*$/,""):e.host});var a=n.connect(0,i);r.sockets[r.sockets.indexOf(s)]=a;t(a)}))}function toOptions(e,t,r){if(typeof e==="string"){return{host:e,port:t,localAddress:r}}return e}function mergeOptions(e){for(var t=1,r=arguments.length;t{"use strict";const s=r(1735);const n=r(8648);const o=r(2366);const i=r(780);const a=r(6318);const A=r(8840);const c=r(7497);const{InvalidArgumentError:l}=o;const u=r(6499);const p=r(9218);const d=r(1287);const g=r(6004);const h=r(7220);const m=r(2703);const E=r(9498);const C=r(8984);const{getGlobalDispatcher:I,setGlobalDispatcher:B}=r(2899);const Q=r(253);const b=r(292);const y=r(3167);let v;try{r(6113);v=true}catch{v=false}Object.assign(n.prototype,u);e.exports.Dispatcher=n;e.exports.Client=s;e.exports.Pool=i;e.exports.BalancedPool=a;e.exports.Agent=A;e.exports.ProxyAgent=E;e.exports.RetryHandler=C;e.exports.DecoratorHandler=Q;e.exports.RedirectHandler=b;e.exports.createRedirectInterceptor=y;e.exports.buildConnector=p;e.exports.errors=o;function makeDispatcher(e){return(t,r,s)=>{if(typeof r==="function"){s=r;r=null}if(!t||typeof t!=="string"&&typeof t!=="object"&&!(t instanceof URL)){throw new l("invalid url")}if(r!=null&&typeof r!=="object"){throw new l("invalid opts")}if(r&&r.path!=null){if(typeof r.path!=="string"){throw new l("invalid opts.path")}let e=r.path;if(!r.path.startsWith("/")){e=`/${e}`}t=new URL(c.parseOrigin(t).origin+e)}else{if(!r){r=typeof t==="object"?t:{}}t=c.parseURL(t)}const{agent:n,dispatcher:o=I()}=r;if(n){throw new l("unsupported opts.agent. Did you mean opts.client?")}return e.call(o,{...r,origin:t.origin,path:t.search?`${t.pathname}${t.search}`:t.pathname,method:r.method||(r.body?"PUT":"GET")},s)}}e.exports.setGlobalDispatcher=B;e.exports.getGlobalDispatcher=I;if(c.nodeMajor>16||c.nodeMajor===16&&c.nodeMinor>=8){let t=null;e.exports.fetch=async function fetch(e){if(!t){t=r(8802).fetch}try{return await t(...arguments)}catch(e){if(typeof e==="object"){Error.captureStackTrace(e,this)}throw e}};e.exports.Headers=r(1855).Headers;e.exports.Response=r(3950).Response;e.exports.Request=r(6453).Request;e.exports.FormData=r(9425).FormData;e.exports.File=r(5506).File;e.exports.FileReader=r(929).FileReader;const{setGlobalOrigin:s,getGlobalOrigin:n}=r(7011);e.exports.setGlobalOrigin=s;e.exports.getGlobalOrigin=n;const{CacheStorage:o}=r(4082);const{kConstruct:i}=r(6648);e.exports.caches=new o(i)}if(c.nodeMajor>=16){const{deleteCookie:t,getCookies:s,getSetCookies:n,setCookie:o}=r(9738);e.exports.deleteCookie=t;e.exports.getCookies=s;e.exports.getSetCookies=n;e.exports.setCookie=o;const{parseMIMEType:i,serializeAMimeType:a}=r(5958);e.exports.parseMIMEType=i;e.exports.serializeAMimeType=a}if(c.nodeMajor>=18&&v){const{WebSocket:t}=r(1986);e.exports.WebSocket=t}e.exports.request=makeDispatcher(u.request);e.exports.stream=makeDispatcher(u.stream);e.exports.pipeline=makeDispatcher(u.pipeline);e.exports.connect=makeDispatcher(u.connect);e.exports.upgrade=makeDispatcher(u.upgrade);e.exports.MockClient=d;e.exports.MockPool=h;e.exports.MockAgent=g;e.exports.mockErrors=m},8840:(e,t,r)=>{"use strict";const{InvalidArgumentError:s}=r(2366);const{kClients:n,kRunning:o,kClose:i,kDestroy:a,kDispatch:A,kInterceptors:c}=r(3932);const l=r(8757);const u=r(780);const p=r(1735);const d=r(7497);const g=r(3167);const{WeakRef:h,FinalizationRegistry:m}=r(5285)();const E=Symbol("onConnect");const C=Symbol("onDisconnect");const I=Symbol("onConnectionError");const B=Symbol("maxRedirections");const Q=Symbol("onDrain");const b=Symbol("factory");const y=Symbol("finalizer");const v=Symbol("options");function defaultFactory(e,t){return t&&t.connections===1?new p(e,t):new u(e,t)}class Agent extends l{constructor({factory:e=defaultFactory,maxRedirections:t=0,connect:r,...o}={}){super();if(typeof e!=="function"){throw new s("factory must be a function.")}if(r!=null&&typeof r!=="function"&&typeof r!=="object"){throw new s("connect must be a function or an object")}if(!Number.isInteger(t)||t<0){throw new s("maxRedirections must be a positive number")}if(r&&typeof r!=="function"){r={...r}}this[c]=o.interceptors&&o.interceptors.Agent&&Array.isArray(o.interceptors.Agent)?o.interceptors.Agent:[g({maxRedirections:t})];this[v]={...d.deepClone(o),connect:r};this[v].interceptors=o.interceptors?{...o.interceptors}:undefined;this[B]=t;this[b]=e;this[n]=new Map;this[y]=new m((e=>{const t=this[n].get(e);if(t!==undefined&&t.deref()===undefined){this[n].delete(e)}}));const i=this;this[Q]=(e,t)=>{i.emit("drain",e,[i,...t])};this[E]=(e,t)=>{i.emit("connect",e,[i,...t])};this[C]=(e,t,r)=>{i.emit("disconnect",e,[i,...t],r)};this[I]=(e,t,r)=>{i.emit("connectionError",e,[i,...t],r)}}get[o](){let e=0;for(const t of this[n].values()){const r=t.deref();if(r){e+=r[o]}}return e}[A](e,t){let r;if(e.origin&&(typeof e.origin==="string"||e.origin instanceof URL)){r=String(e.origin)}else{throw new s("opts.origin must be a non-empty string or URL.")}const o=this[n].get(r);let i=o?o.deref():null;if(!i){i=this[b](e.origin,this[v]).on("drain",this[Q]).on("connect",this[E]).on("disconnect",this[C]).on("connectionError",this[I]);this[n].set(r,new h(i));this[y].register(i,r)}return i.dispatch(e,t)}async[i](){const e=[];for(const t of this[n].values()){const r=t.deref();if(r){e.push(r.close())}}await Promise.all(e)}async[a](e){const t=[];for(const r of this[n].values()){const s=r.deref();if(s){t.push(s.destroy(e))}}await Promise.all(t)}}e.exports=Agent},8949:(e,t,r)=>{const{addAbortListener:s}=r(7497);const{RequestAbortedError:n}=r(2366);const o=Symbol("kListener");const i=Symbol("kSignal");function abort(e){if(e.abort){e.abort()}else{e.onError(new n)}}function addSignal(e,t){e[i]=null;e[o]=null;if(!t){return}if(t.aborted){abort(e);return}e[i]=t;e[o]=()=>{abort(e)};s(e[i],e[o])}function removeSignal(e){if(!e[i]){return}if("removeEventListener"in e[i]){e[i].removeEventListener("abort",e[o])}else{e[i].removeListener("abort",e[o])}e[i]=null;e[o]=null}e.exports={addSignal:addSignal,removeSignal:removeSignal}},6589:(e,t,r)=>{"use strict";const{AsyncResource:s}=r(852);const{InvalidArgumentError:n,RequestAbortedError:o,SocketError:i}=r(2366);const a=r(7497);const{addSignal:A,removeSignal:c}=r(8949);class ConnectHandler extends s{constructor(e,t){if(!e||typeof e!=="object"){throw new n("invalid opts")}if(typeof t!=="function"){throw new n("invalid callback")}const{signal:r,opaque:s,responseHeaders:o}=e;if(r&&typeof r.on!=="function"&&typeof r.addEventListener!=="function"){throw new n("signal must be an EventEmitter or EventTarget")}super("UNDICI_CONNECT");this.opaque=s||null;this.responseHeaders=o||null;this.callback=t;this.abort=null;A(this,r)}onConnect(e,t){if(!this.callback){throw new o}this.abort=e;this.context=t}onHeaders(){throw new i("bad connect",null)}onUpgrade(e,t,r){const{callback:s,opaque:n,context:o}=this;c(this);this.callback=null;let i=t;if(i!=null){i=this.responseHeaders==="raw"?a.parseRawHeaders(t):a.parseHeaders(t)}this.runInAsyncScope(s,null,null,{statusCode:e,headers:i,socket:r,opaque:n,context:o})}onError(e){const{callback:t,opaque:r}=this;c(this);if(t){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(t,null,e,{opaque:r})}))}}}function connect(e,t){if(t===undefined){return new Promise(((t,r)=>{connect.call(this,e,((e,s)=>e?r(e):t(s)))}))}try{const r=new ConnectHandler(e,t);this.dispatch({...e,method:"CONNECT"},r)}catch(r){if(typeof t!=="function"){throw r}const s=e&&e.opaque;queueMicrotask((()=>t(r,{opaque:s})))}}e.exports=connect},6970:(e,t,r)=>{"use strict";const{Readable:s,Duplex:n,PassThrough:o}=r(2781);const{InvalidArgumentError:i,InvalidReturnValueError:a,RequestAbortedError:A}=r(2366);const c=r(7497);const{AsyncResource:l}=r(852);const{addSignal:u,removeSignal:p}=r(8949);const d=r(9491);const g=Symbol("resume");class PipelineRequest extends s{constructor(){super({autoDestroy:true});this[g]=null}_read(){const{[g]:e}=this;if(e){this[g]=null;e()}}_destroy(e,t){this._read();t(e)}}class PipelineResponse extends s{constructor(e){super({autoDestroy:true});this[g]=e}_read(){this[g]()}_destroy(e,t){if(!e&&!this._readableState.endEmitted){e=new A}t(e)}}class PipelineHandler extends l{constructor(e,t){if(!e||typeof e!=="object"){throw new i("invalid opts")}if(typeof t!=="function"){throw new i("invalid handler")}const{signal:r,method:s,opaque:o,onInfo:a,responseHeaders:l}=e;if(r&&typeof r.on!=="function"&&typeof r.addEventListener!=="function"){throw new i("signal must be an EventEmitter or EventTarget")}if(s==="CONNECT"){throw new i("invalid method")}if(a&&typeof a!=="function"){throw new i("invalid onInfo callback")}super("UNDICI_PIPELINE");this.opaque=o||null;this.responseHeaders=l||null;this.handler=t;this.abort=null;this.context=null;this.onInfo=a||null;this.req=(new PipelineRequest).on("error",c.nop);this.ret=new n({readableObjectMode:e.objectMode,autoDestroy:true,read:()=>{const{body:e}=this;if(e&&e.resume){e.resume()}},write:(e,t,r)=>{const{req:s}=this;if(s.push(e,t)||s._readableState.destroyed){r()}else{s[g]=r}},destroy:(e,t)=>{const{body:r,req:s,res:n,ret:o,abort:i}=this;if(!e&&!o._readableState.endEmitted){e=new A}if(i&&e){i()}c.destroy(r,e);c.destroy(s,e);c.destroy(n,e);p(this);t(e)}}).on("prefinish",(()=>{const{req:e}=this;e.push(null)}));this.res=null;u(this,r)}onConnect(e,t){const{ret:r,res:s}=this;d(!s,"pipeline cannot be retried");if(r.destroyed){throw new A}this.abort=e;this.context=t}onHeaders(e,t,r){const{opaque:s,handler:n,context:o}=this;if(e<200){if(this.onInfo){const r=this.responseHeaders==="raw"?c.parseRawHeaders(t):c.parseHeaders(t);this.onInfo({statusCode:e,headers:r})}return}this.res=new PipelineResponse(r);let i;try{this.handler=null;const r=this.responseHeaders==="raw"?c.parseRawHeaders(t):c.parseHeaders(t);i=this.runInAsyncScope(n,null,{statusCode:e,headers:r,opaque:s,body:this.res,context:o})}catch(e){this.res.on("error",c.nop);throw e}if(!i||typeof i.on!=="function"){throw new a("expected Readable")}i.on("data",(e=>{const{ret:t,body:r}=this;if(!t.push(e)&&r.pause){r.pause()}})).on("error",(e=>{const{ret:t}=this;c.destroy(t,e)})).on("end",(()=>{const{ret:e}=this;e.push(null)})).on("close",(()=>{const{ret:e}=this;if(!e._readableState.ended){c.destroy(e,new A)}}));this.body=i}onData(e){const{res:t}=this;return t.push(e)}onComplete(e){const{res:t}=this;t.push(null)}onError(e){const{ret:t}=this;this.handler=null;c.destroy(t,e)}}function pipeline(e,t){try{const r=new PipelineHandler(e,t);this.dispatch({...e,body:r.req},r);return r.ret}catch(e){return(new o).destroy(e)}}e.exports=pipeline},8859:(e,t,r)=>{"use strict";const s=r(2086);const{InvalidArgumentError:n,RequestAbortedError:o}=r(2366);const i=r(7497);const{getResolveErrorBodyCallback:a}=r(6017);const{AsyncResource:A}=r(852);const{addSignal:c,removeSignal:l}=r(8949);class RequestHandler extends A{constructor(e,t){if(!e||typeof e!=="object"){throw new n("invalid opts")}const{signal:r,method:s,opaque:o,body:a,onInfo:A,responseHeaders:l,throwOnError:u,highWaterMark:p}=e;try{if(typeof t!=="function"){throw new n("invalid callback")}if(p&&(typeof p!=="number"||p<0)){throw new n("invalid highWaterMark")}if(r&&typeof r.on!=="function"&&typeof r.addEventListener!=="function"){throw new n("signal must be an EventEmitter or EventTarget")}if(s==="CONNECT"){throw new n("invalid method")}if(A&&typeof A!=="function"){throw new n("invalid onInfo callback")}super("UNDICI_REQUEST")}catch(e){if(i.isStream(a)){i.destroy(a.on("error",i.nop),e)}throw e}this.responseHeaders=l||null;this.opaque=o||null;this.callback=t;this.res=null;this.abort=null;this.body=a;this.trailers={};this.context=null;this.onInfo=A||null;this.throwOnError=u;this.highWaterMark=p;if(i.isStream(a)){a.on("error",(e=>{this.onError(e)}))}c(this,r)}onConnect(e,t){if(!this.callback){throw new o}this.abort=e;this.context=t}onHeaders(e,t,r,n){const{callback:o,opaque:A,abort:c,context:l,responseHeaders:u,highWaterMark:p}=this;const d=u==="raw"?i.parseRawHeaders(t):i.parseHeaders(t);if(e<200){if(this.onInfo){this.onInfo({statusCode:e,headers:d})}return}const g=u==="raw"?i.parseHeaders(t):d;const h=g["content-type"];const m=new s({resume:r,abort:c,contentType:h,highWaterMark:p});this.callback=null;this.res=m;if(o!==null){if(this.throwOnError&&e>=400){this.runInAsyncScope(a,null,{callback:o,body:m,contentType:h,statusCode:e,statusMessage:n,headers:d})}else{this.runInAsyncScope(o,null,null,{statusCode:e,headers:d,trailers:this.trailers,opaque:A,body:m,context:l})}}}onData(e){const{res:t}=this;return t.push(e)}onComplete(e){const{res:t}=this;l(this);i.parseHeaders(e,this.trailers);t.push(null)}onError(e){const{res:t,callback:r,body:s,opaque:n}=this;l(this);if(r){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(r,null,e,{opaque:n})}))}if(t){this.res=null;queueMicrotask((()=>{i.destroy(t,e)}))}if(s){this.body=null;i.destroy(s,e)}}}function request(e,t){if(t===undefined){return new Promise(((t,r)=>{request.call(this,e,((e,s)=>e?r(e):t(s)))}))}try{this.dispatch(e,new RequestHandler(e,t))}catch(r){if(typeof t!=="function"){throw r}const s=e&&e.opaque;queueMicrotask((()=>t(r,{opaque:s})))}}e.exports=request;e.exports.RequestHandler=RequestHandler},4336:(e,t,r)=>{"use strict";const{finished:s,PassThrough:n}=r(2781);const{InvalidArgumentError:o,InvalidReturnValueError:i,RequestAbortedError:a}=r(2366);const A=r(7497);const{getResolveErrorBodyCallback:c}=r(6017);const{AsyncResource:l}=r(852);const{addSignal:u,removeSignal:p}=r(8949);class StreamHandler extends l{constructor(e,t,r){if(!e||typeof e!=="object"){throw new o("invalid opts")}const{signal:s,method:n,opaque:i,body:a,onInfo:c,responseHeaders:l,throwOnError:p}=e;try{if(typeof r!=="function"){throw new o("invalid callback")}if(typeof t!=="function"){throw new o("invalid factory")}if(s&&typeof s.on!=="function"&&typeof s.addEventListener!=="function"){throw new o("signal must be an EventEmitter or EventTarget")}if(n==="CONNECT"){throw new o("invalid method")}if(c&&typeof c!=="function"){throw new o("invalid onInfo callback")}super("UNDICI_STREAM")}catch(e){if(A.isStream(a)){A.destroy(a.on("error",A.nop),e)}throw e}this.responseHeaders=l||null;this.opaque=i||null;this.factory=t;this.callback=r;this.res=null;this.abort=null;this.context=null;this.trailers=null;this.body=a;this.onInfo=c||null;this.throwOnError=p||false;if(A.isStream(a)){a.on("error",(e=>{this.onError(e)}))}u(this,s)}onConnect(e,t){if(!this.callback){throw new a}this.abort=e;this.context=t}onHeaders(e,t,r,o){const{factory:a,opaque:l,context:u,callback:p,responseHeaders:d}=this;const g=d==="raw"?A.parseRawHeaders(t):A.parseHeaders(t);if(e<200){if(this.onInfo){this.onInfo({statusCode:e,headers:g})}return}this.factory=null;let h;if(this.throwOnError&&e>=400){const r=d==="raw"?A.parseHeaders(t):g;const s=r["content-type"];h=new n;this.callback=null;this.runInAsyncScope(c,null,{callback:p,body:h,contentType:s,statusCode:e,statusMessage:o,headers:g})}else{if(a===null){return}h=this.runInAsyncScope(a,null,{statusCode:e,headers:g,opaque:l,context:u});if(!h||typeof h.write!=="function"||typeof h.end!=="function"||typeof h.on!=="function"){throw new i("expected Writable")}s(h,{readable:false},(e=>{const{callback:t,res:r,opaque:s,trailers:n,abort:o}=this;this.res=null;if(e||!r.readable){A.destroy(r,e)}this.callback=null;this.runInAsyncScope(t,null,e||null,{opaque:s,trailers:n});if(e){o()}}))}h.on("drain",r);this.res=h;const m=h.writableNeedDrain!==undefined?h.writableNeedDrain:h._writableState&&h._writableState.needDrain;return m!==true}onData(e){const{res:t}=this;return t?t.write(e):true}onComplete(e){const{res:t}=this;p(this);if(!t){return}this.trailers=A.parseHeaders(e);t.end()}onError(e){const{res:t,callback:r,opaque:s,body:n}=this;p(this);this.factory=null;if(t){this.res=null;A.destroy(t,e)}else if(r){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(r,null,e,{opaque:s})}))}if(n){this.body=null;A.destroy(n,e)}}}function stream(e,t,r){if(r===undefined){return new Promise(((r,s)=>{stream.call(this,e,t,((e,t)=>e?s(e):r(t)))}))}try{this.dispatch(e,new StreamHandler(e,t,r))}catch(t){if(typeof r!=="function"){throw t}const s=e&&e.opaque;queueMicrotask((()=>r(t,{opaque:s})))}}e.exports=stream},6458:(e,t,r)=>{"use strict";const{InvalidArgumentError:s,RequestAbortedError:n,SocketError:o}=r(2366);const{AsyncResource:i}=r(852);const a=r(7497);const{addSignal:A,removeSignal:c}=r(8949);const l=r(9491);class UpgradeHandler extends i{constructor(e,t){if(!e||typeof e!=="object"){throw new s("invalid opts")}if(typeof t!=="function"){throw new s("invalid callback")}const{signal:r,opaque:n,responseHeaders:o}=e;if(r&&typeof r.on!=="function"&&typeof r.addEventListener!=="function"){throw new s("signal must be an EventEmitter or EventTarget")}super("UNDICI_UPGRADE");this.responseHeaders=o||null;this.opaque=n||null;this.callback=t;this.abort=null;this.context=null;A(this,r)}onConnect(e,t){if(!this.callback){throw new n}this.abort=e;this.context=null}onHeaders(){throw new o("bad upgrade",null)}onUpgrade(e,t,r){const{callback:s,opaque:n,context:o}=this;l.strictEqual(e,101);c(this);this.callback=null;const i=this.responseHeaders==="raw"?a.parseRawHeaders(t):a.parseHeaders(t);this.runInAsyncScope(s,null,null,{headers:i,socket:r,opaque:n,context:o})}onError(e){const{callback:t,opaque:r}=this;c(this);if(t){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(t,null,e,{opaque:r})}))}}}function upgrade(e,t){if(t===undefined){return new Promise(((t,r)=>{upgrade.call(this,e,((e,s)=>e?r(e):t(s)))}))}try{const r=new UpgradeHandler(e,t);this.dispatch({...e,method:e.method||"GET",upgrade:e.protocol||"Websocket"},r)}catch(r){if(typeof t!=="function"){throw r}const s=e&&e.opaque;queueMicrotask((()=>t(r,{opaque:s})))}}e.exports=upgrade},6499:(e,t,r)=>{"use strict";e.exports.request=r(8859);e.exports.stream=r(4336);e.exports.pipeline=r(6970);e.exports.upgrade=r(6458);e.exports.connect=r(6589)},2086:(e,t,r)=>{"use strict";const s=r(9491);const{Readable:n}=r(2781);const{RequestAbortedError:o,NotSupportedError:i,InvalidArgumentError:a}=r(2366);const A=r(7497);const{ReadableStreamFrom:c,toUSVString:l}=r(7497);let u;const p=Symbol("kConsume");const d=Symbol("kReading");const g=Symbol("kBody");const h=Symbol("abort");const m=Symbol("kContentType");const noop=()=>{};e.exports=class BodyReadable extends n{constructor({resume:e,abort:t,contentType:r="",highWaterMark:s=64*1024}){super({autoDestroy:true,read:e,highWaterMark:s});this._readableState.dataEmitted=false;this[h]=t;this[p]=null;this[g]=null;this[m]=r;this[d]=false}destroy(e){if(this.destroyed){return this}if(!e&&!this._readableState.endEmitted){e=new o}if(e){this[h]()}return super.destroy(e)}emit(e,...t){if(e==="data"){this._readableState.dataEmitted=true}else if(e==="error"){this._readableState.errorEmitted=true}return super.emit(e,...t)}on(e,...t){if(e==="data"||e==="readable"){this[d]=true}return super.on(e,...t)}addListener(e,...t){return this.on(e,...t)}off(e,...t){const r=super.off(e,...t);if(e==="data"||e==="readable"){this[d]=this.listenerCount("data")>0||this.listenerCount("readable")>0}return r}removeListener(e,...t){return this.off(e,...t)}push(e){if(this[p]&&e!==null&&this.readableLength===0){consumePush(this[p],e);return this[d]?super.push(e):true}return super.push(e)}async text(){return consume(this,"text")}async json(){return consume(this,"json")}async blob(){return consume(this,"blob")}async arrayBuffer(){return consume(this,"arrayBuffer")}async formData(){throw new i}get bodyUsed(){return A.isDisturbed(this)}get body(){if(!this[g]){this[g]=c(this);if(this[p]){this[g].getReader();s(this[g].locked)}}return this[g]}dump(e){let t=e&&Number.isFinite(e.limit)?e.limit:262144;const r=e&&e.signal;if(r){try{if(typeof r!=="object"||!("aborted"in r)){throw new a("signal must be an AbortSignal")}A.throwIfAborted(r)}catch(e){return Promise.reject(e)}}if(this.closed){return Promise.resolve(null)}return new Promise(((e,s)=>{const n=r?A.addAbortListener(r,(()=>{this.destroy()})):noop;this.on("close",(function(){n();if(r&&r.aborted){s(r.reason||Object.assign(new Error("The operation was aborted"),{name:"AbortError"}))}else{e(null)}})).on("error",noop).on("data",(function(e){t-=e.length;if(t<=0){this.destroy()}})).resume()}))}};function isLocked(e){return e[g]&&e[g].locked===true||e[p]}function isUnusable(e){return A.isDisturbed(e)||isLocked(e)}async function consume(e,t){if(isUnusable(e)){throw new TypeError("unusable")}s(!e[p]);return new Promise(((r,s)=>{e[p]={type:t,stream:e,resolve:r,reject:s,length:0,body:[]};e.on("error",(function(e){consumeFinish(this[p],e)})).on("close",(function(){if(this[p].body!==null){consumeFinish(this[p],new o)}}));process.nextTick(consumeStart,e[p])}))}function consumeStart(e){if(e.body===null){return}const{_readableState:t}=e.stream;for(const r of t.buffer){consumePush(e,r)}if(t.endEmitted){consumeEnd(this[p])}else{e.stream.on("end",(function(){consumeEnd(this[p])}))}e.stream.resume();while(e.stream.read()!=null){}}function consumeEnd(e){const{type:t,body:s,resolve:n,stream:o,length:i}=e;try{if(t==="text"){n(l(Buffer.concat(s)))}else if(t==="json"){n(JSON.parse(Buffer.concat(s)))}else if(t==="arrayBuffer"){const e=new Uint8Array(i);let t=0;for(const r of s){e.set(r,t);t+=r.byteLength}n(e.buffer)}else if(t==="blob"){if(!u){u=r(4300).Blob}n(new u(s,{type:o[m]}))}consumeFinish(e)}catch(e){o.destroy(e)}}function consumePush(e,t){e.length+=t.length;e.body.push(t)}function consumeFinish(e,t){if(e.body===null){return}if(t){e.reject(t)}else{e.resolve()}e.type=null;e.stream=null;e.resolve=null;e.reject=null;e.length=0;e.body=null}},6017:(e,t,r)=>{const s=r(9491);const{ResponseStatusCodeError:n}=r(2366);const{toUSVString:o}=r(7497);async function getResolveErrorBodyCallback({callback:e,body:t,contentType:r,statusCode:i,statusMessage:a,headers:A}){s(t);let c=[];let l=0;for await(const e of t){c.push(e);l+=e.length;if(l>128*1024){c=null;break}}if(i===204||!r||!c){process.nextTick(e,new n(`Response status code ${i}${a?`: ${a}`:""}`,i,A));return}try{if(r.startsWith("application/json")){const t=JSON.parse(o(Buffer.concat(c)));process.nextTick(e,new n(`Response status code ${i}${a?`: ${a}`:""}`,i,A,t));return}if(r.startsWith("text/")){const t=o(Buffer.concat(c));process.nextTick(e,new n(`Response status code ${i}${a?`: ${a}`:""}`,i,A,t));return}}catch(e){}process.nextTick(e,new n(`Response status code ${i}${a?`: ${a}`:""}`,i,A))}e.exports={getResolveErrorBodyCallback:getResolveErrorBodyCallback}},6318:(e,t,r)=>{"use strict";const{BalancedPoolMissingUpstreamError:s,InvalidArgumentError:n}=r(2366);const{PoolBase:o,kClients:i,kNeedDrain:a,kAddClient:A,kRemoveClient:c,kGetDispatcher:l}=r(4414);const u=r(780);const{kUrl:p,kInterceptors:d}=r(3932);const{parseOrigin:g}=r(7497);const h=Symbol("factory");const m=Symbol("options");const E=Symbol("kGreatestCommonDivisor");const C=Symbol("kCurrentWeight");const I=Symbol("kIndex");const B=Symbol("kWeight");const Q=Symbol("kMaxWeightPerServer");const b=Symbol("kErrorPenalty");function getGreatestCommonDivisor(e,t){if(t===0)return e;return getGreatestCommonDivisor(t,e%t)}function defaultFactory(e,t){return new u(e,t)}class BalancedPool extends o{constructor(e=[],{factory:t=defaultFactory,...r}={}){super();this[m]=r;this[I]=-1;this[C]=0;this[Q]=this[m].maxWeightPerServer||100;this[b]=this[m].errorPenalty||15;if(!Array.isArray(e)){e=[e]}if(typeof t!=="function"){throw new n("factory must be a function.")}this[d]=r.interceptors&&r.interceptors.BalancedPool&&Array.isArray(r.interceptors.BalancedPool)?r.interceptors.BalancedPool:[];this[h]=t;for(const t of e){this.addUpstream(t)}this._updateBalancedPoolStats()}addUpstream(e){const t=g(e).origin;if(this[i].find((e=>e[p].origin===t&&e.closed!==true&&e.destroyed!==true))){return this}const r=this[h](t,Object.assign({},this[m]));this[A](r);r.on("connect",(()=>{r[B]=Math.min(this[Q],r[B]+this[b])}));r.on("connectionError",(()=>{r[B]=Math.max(1,r[B]-this[b]);this._updateBalancedPoolStats()}));r.on("disconnect",((...e)=>{const t=e[2];if(t&&t.code==="UND_ERR_SOCKET"){r[B]=Math.max(1,r[B]-this[b]);this._updateBalancedPoolStats()}}));for(const e of this[i]){e[B]=this[Q]}this._updateBalancedPoolStats();return this}_updateBalancedPoolStats(){this[E]=this[i].map((e=>e[B])).reduce(getGreatestCommonDivisor,0)}removeUpstream(e){const t=g(e).origin;const r=this[i].find((e=>e[p].origin===t&&e.closed!==true&&e.destroyed!==true));if(r){this[c](r)}return this}get upstreams(){return this[i].filter((e=>e.closed!==true&&e.destroyed!==true)).map((e=>e[p].origin))}[l](){if(this[i].length===0){throw new s}const e=this[i].find((e=>!e[a]&&e.closed!==true&&e.destroyed!==true));if(!e){return}const t=this[i].map((e=>e[a])).reduce(((e,t)=>e&&t),true);if(t){return}let r=0;let n=this[i].findIndex((e=>!e[a]));while(r++this[i][n][B]&&!e[a]){n=this[I]}if(this[I]===0){this[C]=this[C]-this[E];if(this[C]<=0){this[C]=this[Q]}}if(e[B]>=this[C]&&!e[a]){return e}}this[C]=this[i][n][B];this[I]=n;return this[i][n]}}e.exports=BalancedPool},2028:(e,t,r)=>{"use strict";const{kConstruct:s}=r(6648);const{urlEquals:n,fieldValues:o}=r(3651);const{kEnumerableProperty:i,isDisturbed:a}=r(7497);const{kHeadersList:A}=r(3932);const{webidl:c}=r(9111);const{Response:l,cloneResponse:u}=r(3950);const{Request:p}=r(6453);const{kState:d,kHeaders:g,kGuard:h,kRealm:m}=r(5376);const{fetching:E}=r(8802);const{urlIsHttpHttpsScheme:C,createDeferredPromise:I,readAllBytes:B}=r(5496);const Q=r(9491);const{getGlobalDispatcher:b}=r(2899);class Cache{#e;constructor(){if(arguments[0]!==s){c.illegalConstructor()}this.#e=arguments[1]}async match(e,t={}){c.brandCheck(this,Cache);c.argumentLengthCheck(arguments,1,{header:"Cache.match"});e=c.converters.RequestInfo(e);t=c.converters.CacheQueryOptions(t);const r=await this.matchAll(e,t);if(r.length===0){return}return r[0]}async matchAll(e=undefined,t={}){c.brandCheck(this,Cache);if(e!==undefined)e=c.converters.RequestInfo(e);t=c.converters.CacheQueryOptions(t);let r=null;if(e!==undefined){if(e instanceof p){r=e[d];if(r.method!=="GET"&&!t.ignoreMethod){return[]}}else if(typeof e==="string"){r=new p(e)[d]}}const s=[];if(e===undefined){for(const e of this.#e){s.push(e[1])}}else{const e=this.#t(r,t);for(const t of e){s.push(t[1])}}const n=[];for(const e of s){const t=new l(e.body?.source??null);const r=t[d].body;t[d]=e;t[d].body=r;t[g][A]=e.headersList;t[g][h]="immutable";n.push(t)}return Object.freeze(n)}async add(e){c.brandCheck(this,Cache);c.argumentLengthCheck(arguments,1,{header:"Cache.add"});e=c.converters.RequestInfo(e);const t=[e];const r=this.addAll(t);return await r}async addAll(e){c.brandCheck(this,Cache);c.argumentLengthCheck(arguments,1,{header:"Cache.addAll"});e=c.converters["sequence"](e);const t=[];const r=[];for(const t of e){if(typeof t==="string"){continue}const e=t[d];if(!C(e.url)||e.method!=="GET"){throw c.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme when method is not GET."})}}const s=[];for(const n of e){const e=new p(n)[d];if(!C(e.url)){throw c.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme."})}e.initiator="fetch";e.destination="subresource";r.push(e);const i=I();s.push(E({request:e,dispatcher:b(),processResponse(e){if(e.type==="error"||e.status===206||e.status<200||e.status>299){i.reject(c.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}))}else if(e.headersList.contains("vary")){const t=o(e.headersList.get("vary"));for(const e of t){if(e==="*"){i.reject(c.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(const e of s){e.abort()}return}}}},processResponseEndOfBody(e){if(e.aborted){i.reject(new DOMException("aborted","AbortError"));return}i.resolve(e)}}));t.push(i.promise)}const n=Promise.all(t);const i=await n;const a=[];let A=0;for(const e of i){const t={type:"put",request:r[A],response:e};a.push(t);A++}const l=I();let u=null;try{this.#r(a)}catch(e){u=e}queueMicrotask((()=>{if(u===null){l.resolve(undefined)}else{l.reject(u)}}));return l.promise}async put(e,t){c.brandCheck(this,Cache);c.argumentLengthCheck(arguments,2,{header:"Cache.put"});e=c.converters.RequestInfo(e);t=c.converters.Response(t);let r=null;if(e instanceof p){r=e[d]}else{r=new p(e)[d]}if(!C(r.url)||r.method!=="GET"){throw c.errors.exception({header:"Cache.put",message:"Expected an http/s scheme when method is not GET"})}const s=t[d];if(s.status===206){throw c.errors.exception({header:"Cache.put",message:"Got 206 status"})}if(s.headersList.contains("vary")){const e=o(s.headersList.get("vary"));for(const t of e){if(t==="*"){throw c.errors.exception({header:"Cache.put",message:"Got * vary field value"})}}}if(s.body&&(a(s.body.stream)||s.body.stream.locked)){throw c.errors.exception({header:"Cache.put",message:"Response body is locked or disturbed"})}const n=u(s);const i=I();if(s.body!=null){const e=s.body.stream;const t=e.getReader();B(t).then(i.resolve,i.reject)}else{i.resolve(undefined)}const A=[];const l={type:"put",request:r,response:n};A.push(l);const g=await i.promise;if(n.body!=null){n.body.source=g}const h=I();let m=null;try{this.#r(A)}catch(e){m=e}queueMicrotask((()=>{if(m===null){h.resolve()}else{h.reject(m)}}));return h.promise}async delete(e,t={}){c.brandCheck(this,Cache);c.argumentLengthCheck(arguments,1,{header:"Cache.delete"});e=c.converters.RequestInfo(e);t=c.converters.CacheQueryOptions(t);let r=null;if(e instanceof p){r=e[d];if(r.method!=="GET"&&!t.ignoreMethod){return false}}else{Q(typeof e==="string");r=new p(e)[d]}const s=[];const n={type:"delete",request:r,options:t};s.push(n);const o=I();let i=null;let a;try{a=this.#r(s)}catch(e){i=e}queueMicrotask((()=>{if(i===null){o.resolve(!!a?.length)}else{o.reject(i)}}));return o.promise}async keys(e=undefined,t={}){c.brandCheck(this,Cache);if(e!==undefined)e=c.converters.RequestInfo(e);t=c.converters.CacheQueryOptions(t);let r=null;if(e!==undefined){if(e instanceof p){r=e[d];if(r.method!=="GET"&&!t.ignoreMethod){return[]}}else if(typeof e==="string"){r=new p(e)[d]}}const s=I();const n=[];if(e===undefined){for(const e of this.#e){n.push(e[0])}}else{const e=this.#t(r,t);for(const t of e){n.push(t[0])}}queueMicrotask((()=>{const e=[];for(const t of n){const r=new p("https://a");r[d]=t;r[g][A]=t.headersList;r[g][h]="immutable";r[m]=t.client;e.push(r)}s.resolve(Object.freeze(e))}));return s.promise}#r(e){const t=this.#e;const r=[...t];const s=[];const n=[];try{for(const r of e){if(r.type!=="delete"&&r.type!=="put"){throw c.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'})}if(r.type==="delete"&&r.response!=null){throw c.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"})}if(this.#t(r.request,r.options,s).length){throw new DOMException("???","InvalidStateError")}let e;if(r.type==="delete"){e=this.#t(r.request,r.options);if(e.length===0){return[]}for(const r of e){const e=t.indexOf(r);Q(e!==-1);t.splice(e,1)}}else if(r.type==="put"){if(r.response==null){throw c.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"})}const n=r.request;if(!C(n.url)){throw c.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"})}if(n.method!=="GET"){throw c.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"})}if(r.options!=null){throw c.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"})}e=this.#t(r.request);for(const r of e){const e=t.indexOf(r);Q(e!==-1);t.splice(e,1)}t.push([r.request,r.response]);s.push([r.request,r.response])}n.push([r.request,r.response])}return n}catch(e){this.#e.length=0;this.#e=r;throw e}}#t(e,t,r){const s=[];const n=r??this.#e;for(const r of n){const[n,o]=r;if(this.#s(e,n,o,t)){s.push(r)}}return s}#s(e,t,r=null,s){const i=new URL(e.url);const a=new URL(t.url);if(s?.ignoreSearch){a.search="";i.search=""}if(!n(i,a,true)){return false}if(r==null||s?.ignoreVary||!r.headersList.contains("vary")){return true}const A=o(r.headersList.get("vary"));for(const r of A){if(r==="*"){return false}const s=t.headersList.get(r);const n=e.headersList.get(r);if(s!==n){return false}}return true}}Object.defineProperties(Cache.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:true},match:i,matchAll:i,add:i,addAll:i,put:i,delete:i,keys:i});const y=[{key:"ignoreSearch",converter:c.converters.boolean,defaultValue:false},{key:"ignoreMethod",converter:c.converters.boolean,defaultValue:false},{key:"ignoreVary",converter:c.converters.boolean,defaultValue:false}];c.converters.CacheQueryOptions=c.dictionaryConverter(y);c.converters.MultiCacheQueryOptions=c.dictionaryConverter([...y,{key:"cacheName",converter:c.converters.DOMString}]);c.converters.Response=c.interfaceConverter(l);c.converters["sequence"]=c.sequenceConverter(c.converters.RequestInfo);e.exports={Cache:Cache}},4082:(e,t,r)=>{"use strict";const{kConstruct:s}=r(6648);const{Cache:n}=r(2028);const{webidl:o}=r(9111);const{kEnumerableProperty:i}=r(7497);class CacheStorage{#n=new Map;constructor(){if(arguments[0]!==s){o.illegalConstructor()}}async match(e,t={}){o.brandCheck(this,CacheStorage);o.argumentLengthCheck(arguments,1,{header:"CacheStorage.match"});e=o.converters.RequestInfo(e);t=o.converters.MultiCacheQueryOptions(t);if(t.cacheName!=null){if(this.#n.has(t.cacheName)){const r=this.#n.get(t.cacheName);const o=new n(s,r);return await o.match(e,t)}}else{for(const r of this.#n.values()){const o=new n(s,r);const i=await o.match(e,t);if(i!==undefined){return i}}}}async has(e){o.brandCheck(this,CacheStorage);o.argumentLengthCheck(arguments,1,{header:"CacheStorage.has"});e=o.converters.DOMString(e);return this.#n.has(e)}async open(e){o.brandCheck(this,CacheStorage);o.argumentLengthCheck(arguments,1,{header:"CacheStorage.open"});e=o.converters.DOMString(e);if(this.#n.has(e)){const t=this.#n.get(e);return new n(s,t)}const t=[];this.#n.set(e,t);return new n(s,t)}async delete(e){o.brandCheck(this,CacheStorage);o.argumentLengthCheck(arguments,1,{header:"CacheStorage.delete"});e=o.converters.DOMString(e);return this.#n.delete(e)}async keys(){o.brandCheck(this,CacheStorage);const e=this.#n.keys();return[...e]}}Object.defineProperties(CacheStorage.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:true},match:i,has:i,open:i,delete:i,keys:i});e.exports={CacheStorage:CacheStorage}},6648:(e,t,r)=>{"use strict";e.exports={kConstruct:r(3932).kConstruct}},3651:(e,t,r)=>{"use strict";const s=r(9491);const{URLSerializer:n}=r(5958);const{isValidHeaderName:o}=r(5496);function urlEquals(e,t,r=false){const s=n(e,r);const o=n(t,r);return s===o}function fieldValues(e){s(e!==null);const t=[];for(let r of e.split(",")){r=r.trim();if(!r.length){continue}else if(!o(r)){continue}t.push(r)}return t}e.exports={urlEquals:urlEquals,fieldValues:fieldValues}},1735:(e,t,r)=>{"use strict";const s=r(9491);const n=r(1808);const o=r(3685);const{pipeline:i}=r(2781);const a=r(7497);const A=r(2882);const c=r(3404);const l=r(8757);const{RequestContentLengthMismatchError:u,ResponseContentLengthMismatchError:p,InvalidArgumentError:d,RequestAbortedError:g,HeadersTimeoutError:h,HeadersOverflowError:m,SocketError:E,InformationalError:C,BodyTimeoutError:I,HTTPParserError:B,ResponseExceededMaxSizeError:Q,ClientDestroyedError:b}=r(2366);const y=r(9218);const{kUrl:v,kReset:w,kServerName:x,kClient:k,kBusy:R,kParser:S,kConnect:D,kBlocking:T,kResuming:_,kRunning:F,kPending:N,kSize:U,kWriting:O,kQueue:M,kConnected:L,kConnecting:P,kNeedDrain:G,kNoRef:j,kKeepAliveDefaultTimeout:H,kHostHeader:J,kPendingIdx:V,kRunningIdx:Y,kError:q,kPipelining:W,kSocket:Z,kKeepAliveTimeoutValue:z,kMaxHeadersSize:K,kKeepAliveMaxTimeout:X,kKeepAliveTimeoutThreshold:$,kHeadersTimeout:ee,kBodyTimeout:te,kStrictContentLength:re,kConnector:se,kMaxRedirections:ne,kMaxRequests:oe,kCounter:ie,kClose:ae,kDestroy:Ae,kDispatch:ce,kInterceptors:le,kLocalAddress:ue,kMaxResponseSize:pe,kHTTPConnVersion:de,kHost:ge,kHTTP2Session:he,kHTTP2SessionState:fe,kHTTP2BuildRequest:me,kHTTP2CopyHeaders:Ee,kHTTP1BuildRequest:Ce}=r(3932);let Ie;try{Ie=r(5158)}catch{Ie={constants:{}}}const{constants:{HTTP2_HEADER_AUTHORITY:Be,HTTP2_HEADER_METHOD:Qe,HTTP2_HEADER_PATH:be,HTTP2_HEADER_SCHEME:ye,HTTP2_HEADER_CONTENT_LENGTH:ve,HTTP2_HEADER_EXPECT:we,HTTP2_HEADER_STATUS:xe}}=Ie;let ke=false;const Re=Buffer[Symbol.species];const Se=Symbol("kClosedResolve");const De={};try{const e=r(7643);De.sendHeaders=e.channel("undici:client:sendHeaders");De.beforeConnect=e.channel("undici:client:beforeConnect");De.connectError=e.channel("undici:client:connectError");De.connected=e.channel("undici:client:connected")}catch{De.sendHeaders={hasSubscribers:false};De.beforeConnect={hasSubscribers:false};De.connectError={hasSubscribers:false};De.connected={hasSubscribers:false}}class Client extends l{constructor(e,{interceptors:t,maxHeaderSize:r,headersTimeout:s,socketTimeout:i,requestTimeout:A,connectTimeout:c,bodyTimeout:l,idleTimeout:u,keepAlive:p,keepAliveTimeout:g,maxKeepAliveTimeout:h,keepAliveMaxTimeout:m,keepAliveTimeoutThreshold:E,socketPath:C,pipelining:I,tls:B,strictContentLength:Q,maxCachedSessions:b,maxRedirections:w,connect:k,maxRequestsPerClient:R,localAddress:S,maxResponseSize:D,autoSelectFamily:T,autoSelectFamilyAttemptTimeout:F,allowH2:N,maxConcurrentStreams:U}={}){super();if(p!==undefined){throw new d("unsupported keepAlive, use pipelining=0 instead")}if(i!==undefined){throw new d("unsupported socketTimeout, use headersTimeout & bodyTimeout instead")}if(A!==undefined){throw new d("unsupported requestTimeout, use headersTimeout & bodyTimeout instead")}if(u!==undefined){throw new d("unsupported idleTimeout, use keepAliveTimeout instead")}if(h!==undefined){throw new d("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead")}if(r!=null&&!Number.isFinite(r)){throw new d("invalid maxHeaderSize")}if(C!=null&&typeof C!=="string"){throw new d("invalid socketPath")}if(c!=null&&(!Number.isFinite(c)||c<0)){throw new d("invalid connectTimeout")}if(g!=null&&(!Number.isFinite(g)||g<=0)){throw new d("invalid keepAliveTimeout")}if(m!=null&&(!Number.isFinite(m)||m<=0)){throw new d("invalid keepAliveMaxTimeout")}if(E!=null&&!Number.isFinite(E)){throw new d("invalid keepAliveTimeoutThreshold")}if(s!=null&&(!Number.isInteger(s)||s<0)){throw new d("headersTimeout must be a positive integer or zero")}if(l!=null&&(!Number.isInteger(l)||l<0)){throw new d("bodyTimeout must be a positive integer or zero")}if(k!=null&&typeof k!=="function"&&typeof k!=="object"){throw new d("connect must be a function or an object")}if(w!=null&&(!Number.isInteger(w)||w<0)){throw new d("maxRedirections must be a positive number")}if(R!=null&&(!Number.isInteger(R)||R<0)){throw new d("maxRequestsPerClient must be a positive number")}if(S!=null&&(typeof S!=="string"||n.isIP(S)===0)){throw new d("localAddress must be valid string IP address")}if(D!=null&&(!Number.isInteger(D)||D<-1)){throw new d("maxResponseSize must be a positive number")}if(F!=null&&(!Number.isInteger(F)||F<-1)){throw new d("autoSelectFamilyAttemptTimeout must be a positive number")}if(N!=null&&typeof N!=="boolean"){throw new d("allowH2 must be a valid boolean value")}if(U!=null&&(typeof U!=="number"||U<1)){throw new d("maxConcurrentStreams must be a possitive integer, greater than 0")}if(typeof k!=="function"){k=y({...B,maxCachedSessions:b,allowH2:N,socketPath:C,timeout:c,...a.nodeHasAutoSelectFamily&&T?{autoSelectFamily:T,autoSelectFamilyAttemptTimeout:F}:undefined,...k})}this[le]=t&&t.Client&&Array.isArray(t.Client)?t.Client:[_e({maxRedirections:w})];this[v]=a.parseOrigin(e);this[se]=k;this[Z]=null;this[W]=I!=null?I:1;this[K]=r||o.maxHeaderSize;this[H]=g==null?4e3:g;this[X]=m==null?6e5:m;this[$]=E==null?1e3:E;this[z]=this[H];this[x]=null;this[ue]=S!=null?S:null;this[_]=0;this[G]=0;this[J]=`host: ${this[v].hostname}${this[v].port?`:${this[v].port}`:""}\r\n`;this[te]=l!=null?l:3e5;this[ee]=s!=null?s:3e5;this[re]=Q==null?true:Q;this[ne]=w;this[oe]=R;this[Se]=null;this[pe]=D>-1?D:-1;this[de]="h1";this[he]=null;this[fe]=!N?null:{openStreams:0,maxConcurrentStreams:U!=null?U:100};this[ge]=`${this[v].hostname}${this[v].port?`:${this[v].port}`:""}`;this[M]=[];this[Y]=0;this[V]=0}get pipelining(){return this[W]}set pipelining(e){this[W]=e;resume(this,true)}get[N](){return this[M].length-this[V]}get[F](){return this[V]-this[Y]}get[U](){return this[M].length-this[Y]}get[L](){return!!this[Z]&&!this[P]&&!this[Z].destroyed}get[R](){const e=this[Z];return e&&(e[w]||e[O]||e[T])||this[U]>=(this[W]||1)||this[N]>0}[D](e){connect(this);this.once("connect",e)}[ce](e,t){const r=e.origin||this[v].origin;const s=this[de]==="h2"?c[me](r,e,t):c[Ce](r,e,t);this[M].push(s);if(this[_]){}else if(a.bodyLength(s.body)==null&&a.isIterable(s.body)){this[_]=1;process.nextTick(resume,this)}else{resume(this,true)}if(this[_]&&this[G]!==2&&this[R]){this[G]=2}return this[G]<2}async[ae](){return new Promise((e=>{if(!this[U]){e(null)}else{this[Se]=e}}))}async[Ae](e){return new Promise((t=>{const r=this[M].splice(this[V]);for(let t=0;t{if(this[Se]){this[Se]();this[Se]=null}t()};if(this[he]!=null){a.destroy(this[he],e);this[he]=null;this[fe]=null}if(!this[Z]){queueMicrotask(callback)}else{a.destroy(this[Z].on("close",callback),e)}resume(this)}))}}function onHttp2SessionError(e){s(e.code!=="ERR_TLS_CERT_ALTNAME_INVALID");this[Z][q]=e;onError(this[k],e)}function onHttp2FrameError(e,t,r){const s=new C(`HTTP/2: "frameError" received - type ${e}, code ${t}`);if(r===0){this[Z][q]=s;onError(this[k],s)}}function onHttp2SessionEnd(){a.destroy(this,new E("other side closed"));a.destroy(this[Z],new E("other side closed"))}function onHTTP2GoAway(e){const t=this[k];const r=new C(`HTTP/2: "GOAWAY" frame received with code ${e}`);t[Z]=null;t[he]=null;if(t.destroyed){s(this[N]===0);const e=t[M].splice(t[Y]);for(let t=0;t0){const e=t[M][t[Y]];t[M][t[Y]++]=null;errorRequest(t,e,r)}t[V]=t[Y];s(t[F]===0);t.emit("disconnect",t[v],[t],r);resume(t)}const Te=r(5749);const _e=r(3167);const Fe=Buffer.alloc(0);async function lazyllhttp(){const e=process.env.JEST_WORKER_ID?r(9827):undefined;let t;try{t=await WebAssembly.compile(Buffer.from(r(7785),"base64"))}catch(s){t=await WebAssembly.compile(Buffer.from(e||r(9827),"base64"))}return await WebAssembly.instantiate(t,{env:{wasm_on_url:(e,t,r)=>0,wasm_on_status:(e,t,r)=>{s.strictEqual(Oe.ptr,e);const n=t-Pe+Me.byteOffset;return Oe.onStatus(new Re(Me.buffer,n,r))||0},wasm_on_message_begin:e=>{s.strictEqual(Oe.ptr,e);return Oe.onMessageBegin()||0},wasm_on_header_field:(e,t,r)=>{s.strictEqual(Oe.ptr,e);const n=t-Pe+Me.byteOffset;return Oe.onHeaderField(new Re(Me.buffer,n,r))||0},wasm_on_header_value:(e,t,r)=>{s.strictEqual(Oe.ptr,e);const n=t-Pe+Me.byteOffset;return Oe.onHeaderValue(new Re(Me.buffer,n,r))||0},wasm_on_headers_complete:(e,t,r,n)=>{s.strictEqual(Oe.ptr,e);return Oe.onHeadersComplete(t,Boolean(r),Boolean(n))||0},wasm_on_body:(e,t,r)=>{s.strictEqual(Oe.ptr,e);const n=t-Pe+Me.byteOffset;return Oe.onBody(new Re(Me.buffer,n,r))||0},wasm_on_message_complete:e=>{s.strictEqual(Oe.ptr,e);return Oe.onMessageComplete()||0}}})}let Ne=null;let Ue=lazyllhttp();Ue.catch();let Oe=null;let Me=null;let Le=0;let Pe=null;const Ge=1;const je=2;const He=3;class Parser{constructor(e,t,{exports:r}){s(Number.isFinite(e[K])&&e[K]>0);this.llhttp=r;this.ptr=this.llhttp.llhttp_alloc(Te.TYPE.RESPONSE);this.client=e;this.socket=t;this.timeout=null;this.timeoutValue=null;this.timeoutType=null;this.statusCode=null;this.statusText="";this.upgrade=false;this.headers=[];this.headersSize=0;this.headersMaxSize=e[K];this.shouldKeepAlive=false;this.paused=false;this.resume=this.resume.bind(this);this.bytesRead=0;this.keepAlive="";this.contentLength="";this.connection="";this.maxResponseSize=e[pe]}setTimeout(e,t){this.timeoutType=t;if(e!==this.timeoutValue){A.clearTimeout(this.timeout);if(e){this.timeout=A.setTimeout(onParserTimeout,e,this);if(this.timeout.unref){this.timeout.unref()}}else{this.timeout=null}this.timeoutValue=e}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}}resume(){if(this.socket.destroyed||!this.paused){return}s(this.ptr!=null);s(Oe==null);this.llhttp.llhttp_resume(this.ptr);s(this.timeoutType===je);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}this.paused=false;this.execute(this.socket.read()||Fe);this.readMore()}readMore(){while(!this.paused&&this.ptr){const e=this.socket.read();if(e===null){break}this.execute(e)}}execute(e){s(this.ptr!=null);s(Oe==null);s(!this.paused);const{socket:t,llhttp:r}=this;if(e.length>Le){if(Pe){r.free(Pe)}Le=Math.ceil(e.length/4096)*4096;Pe=r.malloc(Le)}new Uint8Array(r.memory.buffer,Pe,Le).set(e);try{let s;try{Me=e;Oe=this;s=r.llhttp_execute(this.ptr,Pe,e.length)}catch(e){throw e}finally{Oe=null;Me=null}const n=r.llhttp_get_error_pos(this.ptr)-Pe;if(s===Te.ERROR.PAUSED_UPGRADE){this.onUpgrade(e.slice(n))}else if(s===Te.ERROR.PAUSED){this.paused=true;t.unshift(e.slice(n))}else if(s!==Te.ERROR.OK){const t=r.llhttp_get_error_reason(this.ptr);let o="";if(t){const e=new Uint8Array(r.memory.buffer,t).indexOf(0);o="Response does not match the HTTP/1.1 protocol ("+Buffer.from(r.memory.buffer,t,e).toString()+")"}throw new B(o,Te.ERROR[s],e.slice(n))}}catch(e){a.destroy(t,e)}}destroy(){s(this.ptr!=null);s(Oe==null);this.llhttp.llhttp_free(this.ptr);this.ptr=null;A.clearTimeout(this.timeout);this.timeout=null;this.timeoutValue=null;this.timeoutType=null;this.paused=false}onStatus(e){this.statusText=e.toString()}onMessageBegin(){const{socket:e,client:t}=this;if(e.destroyed){return-1}const r=t[M][t[Y]];if(!r){return-1}}onHeaderField(e){const t=this.headers.length;if((t&1)===0){this.headers.push(e)}else{this.headers[t-1]=Buffer.concat([this.headers[t-1],e])}this.trackHeader(e.length)}onHeaderValue(e){let t=this.headers.length;if((t&1)===1){this.headers.push(e);t+=1}else{this.headers[t-1]=Buffer.concat([this.headers[t-1],e])}const r=this.headers[t-2];if(r.length===10&&r.toString().toLowerCase()==="keep-alive"){this.keepAlive+=e.toString()}else if(r.length===10&&r.toString().toLowerCase()==="connection"){this.connection+=e.toString()}else if(r.length===14&&r.toString().toLowerCase()==="content-length"){this.contentLength+=e.toString()}this.trackHeader(e.length)}trackHeader(e){this.headersSize+=e;if(this.headersSize>=this.headersMaxSize){a.destroy(this.socket,new m)}}onUpgrade(e){const{upgrade:t,client:r,socket:n,headers:o,statusCode:i}=this;s(t);const A=r[M][r[Y]];s(A);s(!n.destroyed);s(n===r[Z]);s(!this.paused);s(A.upgrade||A.method==="CONNECT");this.statusCode=null;this.statusText="";this.shouldKeepAlive=null;s(this.headers.length%2===0);this.headers=[];this.headersSize=0;n.unshift(e);n[S].destroy();n[S]=null;n[k]=null;n[q]=null;n.removeListener("error",onSocketError).removeListener("readable",onSocketReadable).removeListener("end",onSocketEnd).removeListener("close",onSocketClose);r[Z]=null;r[M][r[Y]++]=null;r.emit("disconnect",r[v],[r],new C("upgrade"));try{A.onUpgrade(i,o,n)}catch(e){a.destroy(n,e)}resume(r)}onHeadersComplete(e,t,r){const{client:n,socket:o,headers:i,statusText:A}=this;if(o.destroyed){return-1}const c=n[M][n[Y]];if(!c){return-1}s(!this.upgrade);s(this.statusCode<200);if(e===100){a.destroy(o,new E("bad response",a.getSocketInfo(o)));return-1}if(t&&!c.upgrade){a.destroy(o,new E("bad upgrade",a.getSocketInfo(o)));return-1}s.strictEqual(this.timeoutType,Ge);this.statusCode=e;this.shouldKeepAlive=r||c.method==="HEAD"&&!o[w]&&this.connection.toLowerCase()==="keep-alive";if(this.statusCode>=200){const e=c.bodyTimeout!=null?c.bodyTimeout:n[te];this.setTimeout(e,je)}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}if(c.method==="CONNECT"){s(n[F]===1);this.upgrade=true;return 2}if(t){s(n[F]===1);this.upgrade=true;return 2}s(this.headers.length%2===0);this.headers=[];this.headersSize=0;if(this.shouldKeepAlive&&n[W]){const e=this.keepAlive?a.parseKeepAliveTimeout(this.keepAlive):null;if(e!=null){const t=Math.min(e-n[$],n[X]);if(t<=0){o[w]=true}else{n[z]=t}}else{n[z]=n[H]}}else{o[w]=true}const l=c.onHeaders(e,i,this.resume,A)===false;if(c.aborted){return-1}if(c.method==="HEAD"){return 1}if(e<200){return 1}if(o[T]){o[T]=false;resume(n)}return l?Te.ERROR.PAUSED:0}onBody(e){const{client:t,socket:r,statusCode:n,maxResponseSize:o}=this;if(r.destroyed){return-1}const i=t[M][t[Y]];s(i);s.strictEqual(this.timeoutType,je);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}s(n>=200);if(o>-1&&this.bytesRead+e.length>o){a.destroy(r,new Q);return-1}this.bytesRead+=e.length;if(i.onData(e)===false){return Te.ERROR.PAUSED}}onMessageComplete(){const{client:e,socket:t,statusCode:r,upgrade:n,headers:o,contentLength:i,bytesRead:A,shouldKeepAlive:c}=this;if(t.destroyed&&(!r||c)){return-1}if(n){return}const l=e[M][e[Y]];s(l);s(r>=100);this.statusCode=null;this.statusText="";this.bytesRead=0;this.contentLength="";this.keepAlive="";this.connection="";s(this.headers.length%2===0);this.headers=[];this.headersSize=0;if(r<200){return}if(l.method!=="HEAD"&&i&&A!==parseInt(i,10)){a.destroy(t,new p);return-1}l.onComplete(o);e[M][e[Y]++]=null;if(t[O]){s.strictEqual(e[F],0);a.destroy(t,new C("reset"));return Te.ERROR.PAUSED}else if(!c){a.destroy(t,new C("reset"));return Te.ERROR.PAUSED}else if(t[w]&&e[F]===0){a.destroy(t,new C("reset"));return Te.ERROR.PAUSED}else if(e[W]===1){setImmediate(resume,e)}else{resume(e)}}}function onParserTimeout(e){const{socket:t,timeoutType:r,client:n}=e;if(r===Ge){if(!t[O]||t.writableNeedDrain||n[F]>1){s(!e.paused,"cannot be paused while waiting for headers");a.destroy(t,new h)}}else if(r===je){if(!e.paused){a.destroy(t,new I)}}else if(r===He){s(n[F]===0&&n[z]);a.destroy(t,new C("socket idle timeout"))}}function onSocketReadable(){const{[S]:e}=this;if(e){e.readMore()}}function onSocketError(e){const{[k]:t,[S]:r}=this;s(e.code!=="ERR_TLS_CERT_ALTNAME_INVALID");if(t[de]!=="h2"){if(e.code==="ECONNRESET"&&r.statusCode&&!r.shouldKeepAlive){r.onMessageComplete();return}}this[q]=e;onError(this[k],e)}function onError(e,t){if(e[F]===0&&t.code!=="UND_ERR_INFO"&&t.code!=="UND_ERR_SOCKET"){s(e[V]===e[Y]);const r=e[M].splice(e[Y]);for(let s=0;s0&&r.code!=="UND_ERR_INFO"){const t=e[M][e[Y]];e[M][e[Y]++]=null;errorRequest(e,t,r)}e[V]=e[Y];s(e[F]===0);e.emit("disconnect",e[v],[e],r);resume(e)}async function connect(e){s(!e[P]);s(!e[Z]);let{host:t,hostname:r,protocol:o,port:i}=e[v];if(r[0]==="["){const e=r.indexOf("]");s(e!==-1);const t=r.substring(1,e);s(n.isIP(t));r=t}e[P]=true;if(De.beforeConnect.hasSubscribers){De.beforeConnect.publish({connectParams:{host:t,hostname:r,protocol:o,port:i,servername:e[x],localAddress:e[ue]},connector:e[se]})}try{const n=await new Promise(((s,n)=>{e[se]({host:t,hostname:r,protocol:o,port:i,servername:e[x],localAddress:e[ue]},((e,t)=>{if(e){n(e)}else{s(t)}}))}));if(e.destroyed){a.destroy(n.on("error",(()=>{})),new b);return}e[P]=false;s(n);const A=n.alpnProtocol==="h2";if(A){if(!ke){ke=true;process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"})}const t=Ie.connect(e[v],{createConnection:()=>n,peerMaxConcurrentStreams:e[fe].maxConcurrentStreams});e[de]="h2";t[k]=e;t[Z]=n;t.on("error",onHttp2SessionError);t.on("frameError",onHttp2FrameError);t.on("end",onHttp2SessionEnd);t.on("goaway",onHTTP2GoAway);t.on("close",onSocketClose);t.unref();e[he]=t;n[he]=t}else{if(!Ne){Ne=await Ue;Ue=null}n[j]=false;n[O]=false;n[w]=false;n[T]=false;n[S]=new Parser(e,n,Ne)}n[ie]=0;n[oe]=e[oe];n[k]=e;n[q]=null;n.on("error",onSocketError).on("readable",onSocketReadable).on("end",onSocketEnd).on("close",onSocketClose);e[Z]=n;if(De.connected.hasSubscribers){De.connected.publish({connectParams:{host:t,hostname:r,protocol:o,port:i,servername:e[x],localAddress:e[ue]},connector:e[se],socket:n})}e.emit("connect",e[v],[e])}catch(n){if(e.destroyed){return}e[P]=false;if(De.connectError.hasSubscribers){De.connectError.publish({connectParams:{host:t,hostname:r,protocol:o,port:i,servername:e[x],localAddress:e[ue]},connector:e[se],error:n})}if(n.code==="ERR_TLS_CERT_ALTNAME_INVALID"){s(e[F]===0);while(e[N]>0&&e[M][e[V]].servername===e[x]){const t=e[M][e[V]++];errorRequest(e,t,n)}}else{onError(e,n)}e.emit("connectionError",e[v],[e],n)}resume(e)}function emitDrain(e){e[G]=0;e.emit("drain",e[v],[e])}function resume(e,t){if(e[_]===2){return}e[_]=2;_resume(e,t);e[_]=0;if(e[Y]>256){e[M].splice(0,e[Y]);e[V]-=e[Y];e[Y]=0}}function _resume(e,t){while(true){if(e.destroyed){s(e[N]===0);return}if(e[Se]&&!e[U]){e[Se]();e[Se]=null;return}const r=e[Z];if(r&&!r.destroyed&&r.alpnProtocol!=="h2"){if(e[U]===0){if(!r[j]&&r.unref){r.unref();r[j]=true}}else if(r[j]&&r.ref){r.ref();r[j]=false}if(e[U]===0){if(r[S].timeoutType!==He){r[S].setTimeout(e[z],He)}}else if(e[F]>0&&r[S].statusCode<200){if(r[S].timeoutType!==Ge){const t=e[M][e[Y]];const s=t.headersTimeout!=null?t.headersTimeout:e[ee];r[S].setTimeout(s,Ge)}}}if(e[R]){e[G]=2}else if(e[G]===2){if(t){e[G]=1;process.nextTick(emitDrain,e)}else{emitDrain(e)}continue}if(e[N]===0){return}if(e[F]>=(e[W]||1)){return}const n=e[M][e[V]];if(e[v].protocol==="https:"&&e[x]!==n.servername){if(e[F]>0){return}e[x]=n.servername;if(r&&r.servername!==n.servername){a.destroy(r,new C("servername changed"));return}}if(e[P]){return}if(!r&&!e[he]){connect(e);return}if(r.destroyed||r[O]||r[w]||r[T]){return}if(e[F]>0&&!n.idempotent){return}if(e[F]>0&&(n.upgrade||n.method==="CONNECT")){return}if(e[F]>0&&a.bodyLength(n.body)!==0&&(a.isStream(n.body)||a.isAsyncIterable(n.body))){return}if(!n.aborted&&write(e,n)){e[V]++}else{e[M].splice(e[V],1)}}}function shouldSendContentLength(e){return e!=="GET"&&e!=="HEAD"&&e!=="OPTIONS"&&e!=="TRACE"&&e!=="CONNECT"}function write(e,t){if(e[de]==="h2"){writeH2(e,e[he],t);return}const{body:r,method:n,path:o,host:i,upgrade:A,headers:c,blocking:l,reset:p}=t;const d=n==="PUT"||n==="POST"||n==="PATCH";if(r&&typeof r.read==="function"){r.read(0)}const h=a.bodyLength(r);let m=h;if(m===null){m=t.contentLength}if(m===0&&!d){m=null}if(shouldSendContentLength(n)&&m>0&&t.contentLength!==null&&t.contentLength!==m){if(e[re]){errorRequest(e,t,new u);return false}process.emitWarning(new u)}const E=e[Z];try{t.onConnect((r=>{if(t.aborted||t.completed){return}errorRequest(e,t,r||new g);a.destroy(E,new C("aborted"))}))}catch(r){errorRequest(e,t,r)}if(t.aborted){return false}if(n==="HEAD"){E[w]=true}if(A||n==="CONNECT"){E[w]=true}if(p!=null){E[w]=p}if(e[oe]&&E[ie]++>=e[oe]){E[w]=true}if(l){E[T]=true}let I=`${n} ${o} HTTP/1.1\r\n`;if(typeof i==="string"){I+=`host: ${i}\r\n`}else{I+=e[J]}if(A){I+=`connection: upgrade\r\nupgrade: ${A}\r\n`}else if(e[W]&&!E[w]){I+="connection: keep-alive\r\n"}else{I+="connection: close\r\n"}if(c){I+=c}if(De.sendHeaders.hasSubscribers){De.sendHeaders.publish({request:t,headers:I,socket:E})}if(!r||h===0){if(m===0){E.write(`${I}content-length: 0\r\n\r\n`,"latin1")}else{s(m===null,"no body must not have content length");E.write(`${I}\r\n`,"latin1")}t.onRequestSent()}else if(a.isBuffer(r)){s(m===r.byteLength,"buffer body must have content length");E.cork();E.write(`${I}content-length: ${m}\r\n\r\n`,"latin1");E.write(r);E.uncork();t.onBodySent(r);t.onRequestSent();if(!d){E[w]=true}}else if(a.isBlobLike(r)){if(typeof r.stream==="function"){writeIterable({body:r.stream(),client:e,request:t,socket:E,contentLength:m,header:I,expectsPayload:d})}else{writeBlob({body:r,client:e,request:t,socket:E,contentLength:m,header:I,expectsPayload:d})}}else if(a.isStream(r)){writeStream({body:r,client:e,request:t,socket:E,contentLength:m,header:I,expectsPayload:d})}else if(a.isIterable(r)){writeIterable({body:r,client:e,request:t,socket:E,contentLength:m,header:I,expectsPayload:d})}else{s(false)}return true}function writeH2(e,t,r){const{body:n,method:o,path:i,host:A,upgrade:l,expectContinue:p,signal:d,headers:h}=r;let m;if(typeof h==="string")m=c[Ee](h.trim());else m=h;if(l){errorRequest(e,r,new Error("Upgrade not supported for H2"));return false}try{r.onConnect((t=>{if(r.aborted||r.completed){return}errorRequest(e,r,t||new g)}))}catch(t){errorRequest(e,r,t)}if(r.aborted){return false}let E;const I=e[fe];m[Be]=A||e[ge];m[Qe]=o;if(o==="CONNECT"){t.ref();E=t.request(m,{endStream:false,signal:d});if(E.id&&!E.pending){r.onUpgrade(null,null,E);++I.openStreams}else{E.once("ready",(()=>{r.onUpgrade(null,null,E);++I.openStreams}))}E.once("close",(()=>{I.openStreams-=1;if(I.openStreams===0)t.unref()}));return true}m[be]=i;m[ye]="https";const B=o==="PUT"||o==="POST"||o==="PATCH";if(n&&typeof n.read==="function"){n.read(0)}let Q=a.bodyLength(n);if(Q==null){Q=r.contentLength}if(Q===0||!B){Q=null}if(shouldSendContentLength(o)&&Q>0&&r.contentLength!=null&&r.contentLength!==Q){if(e[re]){errorRequest(e,r,new u);return false}process.emitWarning(new u)}if(Q!=null){s(n,"no body must not have content length");m[ve]=`${Q}`}t.ref();const b=o==="GET"||o==="HEAD";if(p){m[we]="100-continue";E=t.request(m,{endStream:b,signal:d});E.once("continue",writeBodyH2)}else{E=t.request(m,{endStream:b,signal:d});writeBodyH2()}++I.openStreams;E.once("response",(e=>{const{[xe]:t,...s}=e;if(r.onHeaders(Number(t),s,E.resume.bind(E),"")===false){E.pause()}}));E.once("end",(()=>{r.onComplete([])}));E.on("data",(e=>{if(r.onData(e)===false){E.pause()}}));E.once("close",(()=>{I.openStreams-=1;if(I.openStreams===0){t.unref()}}));E.once("error",(function(t){if(e[he]&&!e[he].destroyed&&!this.closed&&!this.destroyed){I.streams-=1;a.destroy(E,t)}}));E.once("frameError",((t,s)=>{const n=new C(`HTTP/2: "frameError" received - type ${t}, code ${s}`);errorRequest(e,r,n);if(e[he]&&!e[he].destroyed&&!this.closed&&!this.destroyed){I.streams-=1;a.destroy(E,n)}}));return true;function writeBodyH2(){if(!n){r.onRequestSent()}else if(a.isBuffer(n)){s(Q===n.byteLength,"buffer body must have content length");E.cork();E.write(n);E.uncork();E.end();r.onBodySent(n);r.onRequestSent()}else if(a.isBlobLike(n)){if(typeof n.stream==="function"){writeIterable({client:e,request:r,contentLength:Q,h2stream:E,expectsPayload:B,body:n.stream(),socket:e[Z],header:""})}else{writeBlob({body:n,client:e,request:r,contentLength:Q,expectsPayload:B,h2stream:E,header:"",socket:e[Z]})}}else if(a.isStream(n)){writeStream({body:n,client:e,request:r,contentLength:Q,expectsPayload:B,socket:e[Z],h2stream:E,header:""})}else if(a.isIterable(n)){writeIterable({body:n,client:e,request:r,contentLength:Q,expectsPayload:B,header:"",h2stream:E,socket:e[Z]})}else{s(false)}}}function writeStream({h2stream:e,body:t,client:r,request:n,socket:o,contentLength:A,header:c,expectsPayload:l}){s(A!==0||r[F]===0,"stream body cannot be pipelined");if(r[de]==="h2"){const d=i(t,e,(r=>{if(r){a.destroy(t,r);a.destroy(e,r)}else{n.onRequestSent()}}));d.on("data",onPipeData);d.once("end",(()=>{d.removeListener("data",onPipeData);a.destroy(d)}));function onPipeData(e){n.onBodySent(e)}return}let u=false;const p=new AsyncWriter({socket:o,request:n,contentLength:A,client:r,expectsPayload:l,header:c});const onData=function(e){if(u){return}try{if(!p.write(e)&&this.pause){this.pause()}}catch(e){a.destroy(this,e)}};const onDrain=function(){if(u){return}if(t.resume){t.resume()}};const onAbort=function(){if(u){return}const e=new g;queueMicrotask((()=>onFinished(e)))};const onFinished=function(e){if(u){return}u=true;s(o.destroyed||o[O]&&r[F]<=1);o.off("drain",onDrain).off("error",onFinished);t.removeListener("data",onData).removeListener("end",onFinished).removeListener("error",onFinished).removeListener("close",onAbort);if(!e){try{p.end()}catch(t){e=t}}p.destroy(e);if(e&&(e.code!=="UND_ERR_INFO"||e.message!=="reset")){a.destroy(t,e)}else{a.destroy(t)}};t.on("data",onData).on("end",onFinished).on("error",onFinished).on("close",onAbort);if(t.resume){t.resume()}o.on("drain",onDrain).on("error",onFinished)}async function writeBlob({h2stream:e,body:t,client:r,request:n,socket:o,contentLength:i,header:A,expectsPayload:c}){s(i===t.size,"blob body must have content length");const l=r[de]==="h2";try{if(i!=null&&i!==t.size){throw new u}const s=Buffer.from(await t.arrayBuffer());if(l){e.cork();e.write(s);e.uncork()}else{o.cork();o.write(`${A}content-length: ${i}\r\n\r\n`,"latin1");o.write(s);o.uncork()}n.onBodySent(s);n.onRequestSent();if(!c){o[w]=true}resume(r)}catch(t){a.destroy(l?e:o,t)}}async function writeIterable({h2stream:e,body:t,client:r,request:n,socket:o,contentLength:i,header:a,expectsPayload:A}){s(i!==0||r[F]===0,"iterator body cannot be pipelined");let c=null;function onDrain(){if(c){const e=c;c=null;e()}}const waitForDrain=()=>new Promise(((e,t)=>{s(c===null);if(o[q]){t(o[q])}else{c=e}}));if(r[de]==="h2"){e.on("close",onDrain).on("drain",onDrain);try{for await(const r of t){if(o[q]){throw o[q]}const t=e.write(r);n.onBodySent(r);if(!t){await waitForDrain()}}}catch(t){e.destroy(t)}finally{n.onRequestSent();e.end();e.off("close",onDrain).off("drain",onDrain)}return}o.on("close",onDrain).on("drain",onDrain);const l=new AsyncWriter({socket:o,request:n,contentLength:i,client:r,expectsPayload:A,header:a});try{for await(const e of t){if(o[q]){throw o[q]}if(!l.write(e)){await waitForDrain()}}l.end()}catch(e){l.destroy(e)}finally{o.off("close",onDrain).off("drain",onDrain)}}class AsyncWriter{constructor({socket:e,request:t,contentLength:r,client:s,expectsPayload:n,header:o}){this.socket=e;this.request=t;this.contentLength=r;this.client=s;this.bytesWritten=0;this.expectsPayload=n;this.header=o;e[O]=true}write(e){const{socket:t,request:r,contentLength:s,client:n,bytesWritten:o,expectsPayload:i,header:a}=this;if(t[q]){throw t[q]}if(t.destroyed){return false}const A=Buffer.byteLength(e);if(!A){return true}if(s!==null&&o+A>s){if(n[re]){throw new u}process.emitWarning(new u)}t.cork();if(o===0){if(!i){t[w]=true}if(s===null){t.write(`${a}transfer-encoding: chunked\r\n`,"latin1")}else{t.write(`${a}content-length: ${s}\r\n\r\n`,"latin1")}}if(s===null){t.write(`\r\n${A.toString(16)}\r\n`,"latin1")}this.bytesWritten+=A;const c=t.write(e);t.uncork();r.onBodySent(e);if(!c){if(t[S].timeout&&t[S].timeoutType===Ge){if(t[S].timeout.refresh){t[S].timeout.refresh()}}}return c}end(){const{socket:e,contentLength:t,client:r,bytesWritten:s,expectsPayload:n,header:o,request:i}=this;i.onRequestSent();e[O]=false;if(e[q]){throw e[q]}if(e.destroyed){return}if(s===0){if(n){e.write(`${o}content-length: 0\r\n\r\n`,"latin1")}else{e.write(`${o}\r\n`,"latin1")}}else if(t===null){e.write("\r\n0\r\n\r\n","latin1")}if(t!==null&&s!==t){if(r[re]){throw new u}else{process.emitWarning(new u)}}if(e[S].timeout&&e[S].timeoutType===Ge){if(e[S].timeout.refresh){e[S].timeout.refresh()}}resume(r)}destroy(e){const{socket:t,client:r}=this;t[O]=false;if(e){s(r[F]<=1,"pipeline should only contain this request");a.destroy(t,e)}}}function errorRequest(e,t,r){try{t.onError(r);s(t.aborted)}catch(r){e.emit("error",r)}}e.exports=Client},5285:(e,t,r)=>{"use strict";const{kConnected:s,kSize:n}=r(3932);class CompatWeakRef{constructor(e){this.value=e}deref(){return this.value[s]===0&&this.value[n]===0?undefined:this.value}}class CompatFinalizer{constructor(e){this.finalizer=e}register(e,t){if(e.on){e.on("disconnect",(()=>{if(e[s]===0&&e[n]===0){this.finalizer(t)}}))}}}e.exports=function(){if(process.env.NODE_V8_COVERAGE){return{WeakRef:CompatWeakRef,FinalizationRegistry:CompatFinalizer}}return{WeakRef:global.WeakRef||CompatWeakRef,FinalizationRegistry:global.FinalizationRegistry||CompatFinalizer}}},3598:e=>{"use strict";const t=1024;const r=4096;e.exports={maxAttributeValueSize:t,maxNameValuePairSize:r}},9738:(e,t,r)=>{"use strict";const{parseSetCookie:s}=r(8367);const{stringify:n,getHeadersList:o}=r(7576);const{webidl:i}=r(9111);const{Headers:a}=r(1855);function getCookies(e){i.argumentLengthCheck(arguments,1,{header:"getCookies"});i.brandCheck(e,a,{strict:false});const t=e.get("cookie");const r={};if(!t){return r}for(const e of t.split(";")){const[t,...s]=e.split("=");r[t.trim()]=s.join("=")}return r}function deleteCookie(e,t,r){i.argumentLengthCheck(arguments,2,{header:"deleteCookie"});i.brandCheck(e,a,{strict:false});t=i.converters.DOMString(t);r=i.converters.DeleteCookieAttributes(r);setCookie(e,{name:t,value:"",expires:new Date(0),...r})}function getSetCookies(e){i.argumentLengthCheck(arguments,1,{header:"getSetCookies"});i.brandCheck(e,a,{strict:false});const t=o(e).cookies;if(!t){return[]}return t.map((e=>s(Array.isArray(e)?e[1]:e)))}function setCookie(e,t){i.argumentLengthCheck(arguments,2,{header:"setCookie"});i.brandCheck(e,a,{strict:false});t=i.converters.Cookie(t);const r=n(t);if(r){e.append("Set-Cookie",n(t))}}i.converters.DeleteCookieAttributes=i.dictionaryConverter([{converter:i.nullableConverter(i.converters.DOMString),key:"path",defaultValue:null},{converter:i.nullableConverter(i.converters.DOMString),key:"domain",defaultValue:null}]);i.converters.Cookie=i.dictionaryConverter([{converter:i.converters.DOMString,key:"name"},{converter:i.converters.DOMString,key:"value"},{converter:i.nullableConverter((e=>{if(typeof e==="number"){return i.converters["unsigned long long"](e)}return new Date(e)})),key:"expires",defaultValue:null},{converter:i.nullableConverter(i.converters["long long"]),key:"maxAge",defaultValue:null},{converter:i.nullableConverter(i.converters.DOMString),key:"domain",defaultValue:null},{converter:i.nullableConverter(i.converters.DOMString),key:"path",defaultValue:null},{converter:i.nullableConverter(i.converters.boolean),key:"secure",defaultValue:null},{converter:i.nullableConverter(i.converters.boolean),key:"httpOnly",defaultValue:null},{converter:i.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:i.sequenceConverter(i.converters.DOMString),key:"unparsed",defaultValue:[]}]);e.exports={getCookies:getCookies,deleteCookie:deleteCookie,getSetCookies:getSetCookies,setCookie:setCookie}},8367:(e,t,r)=>{"use strict";const{maxNameValuePairSize:s,maxAttributeValueSize:n}=r(3598);const{isCTLExcludingHtab:o}=r(7576);const{collectASequenceOfCodePointsFast:i}=r(5958);const a=r(9491);function parseSetCookie(e){if(o(e)){return null}let t="";let r="";let n="";let a="";if(e.includes(";")){const s={position:0};t=i(";",e,s);r=e.slice(s.position)}else{t=e}if(!t.includes("=")){a=t}else{const e={position:0};n=i("=",t,e);a=t.slice(e.position+1)}n=n.trim();a=a.trim();if(n.length+a.length>s){return null}return{name:n,value:a,...parseUnparsedAttributes(r)}}function parseUnparsedAttributes(e,t={}){if(e.length===0){return t}a(e[0]===";");e=e.slice(1);let r="";if(e.includes(";")){r=i(";",e,{position:0});e=e.slice(r.length)}else{r=e;e=""}let s="";let o="";if(r.includes("=")){const e={position:0};s=i("=",r,e);o=r.slice(e.position+1)}else{s=r}s=s.trim();o=o.trim();if(o.length>n){return parseUnparsedAttributes(e,t)}const A=s.toLowerCase();if(A==="expires"){const e=new Date(o);t.expires=e}else if(A==="max-age"){const r=o.charCodeAt(0);if((r<48||r>57)&&o[0]!=="-"){return parseUnparsedAttributes(e,t)}if(!/^\d+$/.test(o)){return parseUnparsedAttributes(e,t)}const s=Number(o);t.maxAge=s}else if(A==="domain"){let e=o;if(e[0]==="."){e=e.slice(1)}e=e.toLowerCase();t.domain=e}else if(A==="path"){let e="";if(o.length===0||o[0]!=="/"){e="/"}else{e=o}t.path=e}else if(A==="secure"){t.secure=true}else if(A==="httponly"){t.httpOnly=true}else if(A==="samesite"){let e="Default";const r=o.toLowerCase();if(r.includes("none")){e="None"}if(r.includes("strict")){e="Strict"}if(r.includes("lax")){e="Lax"}t.sameSite=e}else{t.unparsed??=[];t.unparsed.push(`${s}=${o}`)}return parseUnparsedAttributes(e,t)}e.exports={parseSetCookie:parseSetCookie,parseUnparsedAttributes:parseUnparsedAttributes}},7576:(e,t,r)=>{"use strict";const s=r(9491);const{kHeadersList:n}=r(3932);function isCTLExcludingHtab(e){if(e.length===0){return false}for(const t of e){const e=t.charCodeAt(0);if(e>=0||e<=8||(e>=10||e<=31)||e===127){return false}}}function validateCookieName(e){for(const t of e){const e=t.charCodeAt(0);if(e<=32||e>127||t==="("||t===")"||t===">"||t==="<"||t==="@"||t===","||t===";"||t===":"||t==="\\"||t==='"'||t==="/"||t==="["||t==="]"||t==="?"||t==="="||t==="{"||t==="}"){throw new Error("Invalid cookie name")}}}function validateCookieValue(e){for(const t of e){const e=t.charCodeAt(0);if(e<33||e===34||e===44||e===59||e===92||e>126){throw new Error("Invalid header value")}}}function validateCookiePath(e){for(const t of e){const e=t.charCodeAt(0);if(e<33||t===";"){throw new Error("Invalid cookie path")}}}function validateCookieDomain(e){if(e.startsWith("-")||e.endsWith(".")||e.endsWith("-")){throw new Error("Invalid cookie domain")}}function toIMFDate(e){if(typeof e==="number"){e=new Date(e)}const t=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];const r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];const s=t[e.getUTCDay()];const n=e.getUTCDate().toString().padStart(2,"0");const o=r[e.getUTCMonth()];const i=e.getUTCFullYear();const a=e.getUTCHours().toString().padStart(2,"0");const A=e.getUTCMinutes().toString().padStart(2,"0");const c=e.getUTCSeconds().toString().padStart(2,"0");return`${s}, ${n} ${o} ${i} ${a}:${A}:${c} GMT`}function validateCookieMaxAge(e){if(e<0){throw new Error("Invalid cookie max-age")}}function stringify(e){if(e.name.length===0){return null}validateCookieName(e.name);validateCookieValue(e.value);const t=[`${e.name}=${e.value}`];if(e.name.startsWith("__Secure-")){e.secure=true}if(e.name.startsWith("__Host-")){e.secure=true;e.domain=null;e.path="/"}if(e.secure){t.push("Secure")}if(e.httpOnly){t.push("HttpOnly")}if(typeof e.maxAge==="number"){validateCookieMaxAge(e.maxAge);t.push(`Max-Age=${e.maxAge}`)}if(e.domain){validateCookieDomain(e.domain);t.push(`Domain=${e.domain}`)}if(e.path){validateCookiePath(e.path);t.push(`Path=${e.path}`)}if(e.expires&&e.expires.toString()!=="Invalid Date"){t.push(`Expires=${toIMFDate(e.expires)}`)}if(e.sameSite){t.push(`SameSite=${e.sameSite}`)}for(const r of e.unparsed){if(!r.includes("=")){throw new Error("Invalid unparsed")}const[e,...s]=r.split("=");t.push(`${e.trim()}=${s.join("=")}`)}return t.join("; ")}let o;function getHeadersList(e){if(e[n]){return e[n]}if(!o){o=Object.getOwnPropertySymbols(e).find((e=>e.description==="headers list"));s(o,"Headers cannot be parsed")}const t=e[o];s(t);return t}e.exports={isCTLExcludingHtab:isCTLExcludingHtab,stringify:stringify,getHeadersList:getHeadersList}},9218:(e,t,r)=>{"use strict";const s=r(1808);const n=r(9491);const o=r(7497);const{InvalidArgumentError:i,ConnectTimeoutError:a}=r(2366);let A;let c;if(global.FinalizationRegistry&&!process.env.NODE_V8_COVERAGE){c=class WeakSessionCache{constructor(e){this._maxCachedSessions=e;this._sessionCache=new Map;this._sessionRegistry=new global.FinalizationRegistry((e=>{if(this._sessionCache.size=this._maxCachedSessions){const{value:e}=this._sessionCache.keys().next();this._sessionCache.delete(e)}this._sessionCache.set(e,t)}}}function buildConnector({allowH2:e,maxCachedSessions:t,socketPath:a,timeout:l,...u}){if(t!=null&&(!Number.isInteger(t)||t<0)){throw new i("maxCachedSessions must be a positive integer or zero")}const p={path:a,...u};const d=new c(t==null?100:t);l=l==null?1e4:l;e=e!=null?e:false;return function connect({hostname:t,host:i,protocol:a,port:c,servername:u,localAddress:g,httpSocket:h},m){let E;if(a==="https:"){if(!A){A=r(4404)}u=u||p.servername||o.getServerName(i)||null;const s=u||t;const a=d.get(s)||null;n(s);E=A.connect({highWaterMark:16384,...p,servername:u,session:a,localAddress:g,ALPNProtocols:e?["http/1.1","h2"]:["http/1.1"],socket:h,port:c||443,host:t});E.on("session",(function(e){d.set(s,e)}))}else{n(!h,"httpSocket can only be sent on TLS update");E=s.connect({highWaterMark:64*1024,...p,localAddress:g,port:c||80,host:t})}if(p.keepAlive==null||p.keepAlive){const e=p.keepAliveInitialDelay===undefined?6e4:p.keepAliveInitialDelay;E.setKeepAlive(true,e)}const C=setupTimeout((()=>onConnectTimeout(E)),l);E.setNoDelay(true).once(a==="https:"?"secureConnect":"connect",(function(){C();if(m){const e=m;m=null;e(null,this)}})).on("error",(function(e){C();if(m){const t=m;m=null;t(e)}}));return E}}function setupTimeout(e,t){if(!t){return()=>{}}let r=null;let s=null;const n=setTimeout((()=>{r=setImmediate((()=>{if(process.platform==="win32"){s=setImmediate((()=>e()))}else{e()}}))}),t);return()=>{clearTimeout(n);clearImmediate(r);clearImmediate(s)}}function onConnectTimeout(e){o.destroy(e,new a)}e.exports=buildConnector},2366:e=>{"use strict";class UndiciError extends Error{constructor(e){super(e);this.name="UndiciError";this.code="UND_ERR"}}class ConnectTimeoutError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ConnectTimeoutError);this.name="ConnectTimeoutError";this.message=e||"Connect Timeout Error";this.code="UND_ERR_CONNECT_TIMEOUT"}}class HeadersTimeoutError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,HeadersTimeoutError);this.name="HeadersTimeoutError";this.message=e||"Headers Timeout Error";this.code="UND_ERR_HEADERS_TIMEOUT"}}class HeadersOverflowError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,HeadersOverflowError);this.name="HeadersOverflowError";this.message=e||"Headers Overflow Error";this.code="UND_ERR_HEADERS_OVERFLOW"}}class BodyTimeoutError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,BodyTimeoutError);this.name="BodyTimeoutError";this.message=e||"Body Timeout Error";this.code="UND_ERR_BODY_TIMEOUT"}}class ResponseStatusCodeError extends UndiciError{constructor(e,t,r,s){super(e);Error.captureStackTrace(this,ResponseStatusCodeError);this.name="ResponseStatusCodeError";this.message=e||"Response Status Code Error";this.code="UND_ERR_RESPONSE_STATUS_CODE";this.body=s;this.status=t;this.statusCode=t;this.headers=r}}class InvalidArgumentError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,InvalidArgumentError);this.name="InvalidArgumentError";this.message=e||"Invalid Argument Error";this.code="UND_ERR_INVALID_ARG"}}class InvalidReturnValueError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,InvalidReturnValueError);this.name="InvalidReturnValueError";this.message=e||"Invalid Return Value Error";this.code="UND_ERR_INVALID_RETURN_VALUE"}}class RequestAbortedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,RequestAbortedError);this.name="AbortError";this.message=e||"Request aborted";this.code="UND_ERR_ABORTED"}}class InformationalError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,InformationalError);this.name="InformationalError";this.message=e||"Request information";this.code="UND_ERR_INFO"}}class RequestContentLengthMismatchError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,RequestContentLengthMismatchError);this.name="RequestContentLengthMismatchError";this.message=e||"Request body length does not match content-length header";this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}}class ResponseContentLengthMismatchError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ResponseContentLengthMismatchError);this.name="ResponseContentLengthMismatchError";this.message=e||"Response body length does not match content-length header";this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}}class ClientDestroyedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ClientDestroyedError);this.name="ClientDestroyedError";this.message=e||"The client is destroyed";this.code="UND_ERR_DESTROYED"}}class ClientClosedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ClientClosedError);this.name="ClientClosedError";this.message=e||"The client is closed";this.code="UND_ERR_CLOSED"}}class SocketError extends UndiciError{constructor(e,t){super(e);Error.captureStackTrace(this,SocketError);this.name="SocketError";this.message=e||"Socket error";this.code="UND_ERR_SOCKET";this.socket=t}}class NotSupportedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,NotSupportedError);this.name="NotSupportedError";this.message=e||"Not supported error";this.code="UND_ERR_NOT_SUPPORTED"}}class BalancedPoolMissingUpstreamError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,NotSupportedError);this.name="MissingUpstreamError";this.message=e||"No upstream has been added to the BalancedPool";this.code="UND_ERR_BPL_MISSING_UPSTREAM"}}class HTTPParserError extends Error{constructor(e,t,r){super(e);Error.captureStackTrace(this,HTTPParserError);this.name="HTTPParserError";this.code=t?`HPE_${t}`:undefined;this.data=r?r.toString():undefined}}class ResponseExceededMaxSizeError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ResponseExceededMaxSizeError);this.name="ResponseExceededMaxSizeError";this.message=e||"Response content exceeded max size";this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}}class RequestRetryError extends UndiciError{constructor(e,t,{headers:r,data:s}){super(e);Error.captureStackTrace(this,RequestRetryError);this.name="RequestRetryError";this.message=e||"Request retry error";this.code="UND_ERR_REQ_RETRY";this.statusCode=t;this.data=s;this.headers=r}}e.exports={HTTPParserError:HTTPParserError,UndiciError:UndiciError,HeadersTimeoutError:HeadersTimeoutError,HeadersOverflowError:HeadersOverflowError,BodyTimeoutError:BodyTimeoutError,RequestContentLengthMismatchError:RequestContentLengthMismatchError,ConnectTimeoutError:ConnectTimeoutError,ResponseStatusCodeError:ResponseStatusCodeError,InvalidArgumentError:InvalidArgumentError,InvalidReturnValueError:InvalidReturnValueError,RequestAbortedError:RequestAbortedError,ClientDestroyedError:ClientDestroyedError,ClientClosedError:ClientClosedError,InformationalError:InformationalError,SocketError:SocketError,NotSupportedError:NotSupportedError,ResponseContentLengthMismatchError:ResponseContentLengthMismatchError,BalancedPoolMissingUpstreamError:BalancedPoolMissingUpstreamError,ResponseExceededMaxSizeError:ResponseExceededMaxSizeError,RequestRetryError:RequestRetryError}},3404:(e,t,r)=>{"use strict";const{InvalidArgumentError:s,NotSupportedError:n}=r(2366);const o=r(9491);const{kHTTP2BuildRequest:i,kHTTP2CopyHeaders:a,kHTTP1BuildRequest:A}=r(3932);const c=r(7497);const l=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;const u=/[^\t\x20-\x7e\x80-\xff]/;const p=/[^\u0021-\u00ff]/;const d=Symbol("handler");const g={};let h;try{const e=r(7643);g.create=e.channel("undici:request:create");g.bodySent=e.channel("undici:request:bodySent");g.headers=e.channel("undici:request:headers");g.trailers=e.channel("undici:request:trailers");g.error=e.channel("undici:request:error")}catch{g.create={hasSubscribers:false};g.bodySent={hasSubscribers:false};g.headers={hasSubscribers:false};g.trailers={hasSubscribers:false};g.error={hasSubscribers:false}}class Request{constructor(e,{path:t,method:n,body:o,headers:i,query:a,idempotent:A,blocking:u,upgrade:m,headersTimeout:E,bodyTimeout:C,reset:I,throwOnError:B,expectContinue:Q},b){if(typeof t!=="string"){throw new s("path must be a string")}else if(t[0]!=="/"&&!(t.startsWith("http://")||t.startsWith("https://"))&&n!=="CONNECT"){throw new s("path must be an absolute URL or start with a slash")}else if(p.exec(t)!==null){throw new s("invalid request path")}if(typeof n!=="string"){throw new s("method must be a string")}else if(l.exec(n)===null){throw new s("invalid request method")}if(m&&typeof m!=="string"){throw new s("upgrade must be a string")}if(E!=null&&(!Number.isFinite(E)||E<0)){throw new s("invalid headersTimeout")}if(C!=null&&(!Number.isFinite(C)||C<0)){throw new s("invalid bodyTimeout")}if(I!=null&&typeof I!=="boolean"){throw new s("invalid reset")}if(Q!=null&&typeof Q!=="boolean"){throw new s("invalid expectContinue")}this.headersTimeout=E;this.bodyTimeout=C;this.throwOnError=B===true;this.method=n;this.abort=null;if(o==null){this.body=null}else if(c.isStream(o)){this.body=o;const e=this.body._readableState;if(!e||!e.autoDestroy){this.endHandler=function autoDestroy(){c.destroy(this)};this.body.on("end",this.endHandler)}this.errorHandler=e=>{if(this.abort){this.abort(e)}else{this.error=e}};this.body.on("error",this.errorHandler)}else if(c.isBuffer(o)){this.body=o.byteLength?o:null}else if(ArrayBuffer.isView(o)){this.body=o.buffer.byteLength?Buffer.from(o.buffer,o.byteOffset,o.byteLength):null}else if(o instanceof ArrayBuffer){this.body=o.byteLength?Buffer.from(o):null}else if(typeof o==="string"){this.body=o.length?Buffer.from(o):null}else if(c.isFormDataLike(o)||c.isIterable(o)||c.isBlobLike(o)){this.body=o}else{throw new s("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable")}this.completed=false;this.aborted=false;this.upgrade=m||null;this.path=a?c.buildURL(t,a):t;this.origin=e;this.idempotent=A==null?n==="HEAD"||n==="GET":A;this.blocking=u==null?false:u;this.reset=I==null?null:I;this.host=null;this.contentLength=null;this.contentType=null;this.headers="";this.expectContinue=Q!=null?Q:false;if(Array.isArray(i)){if(i.length%2!==0){throw new s("headers array must be even")}for(let e=0;e{e.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kHeadersList:Symbol("headers list"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kHTTP2BuildRequest:Symbol("http2 build request"),kHTTP1BuildRequest:Symbol("http1 build request"),kHTTP2CopyHeaders:Symbol("http2 copy headers"),kHTTPConnVersion:Symbol("http connection version"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable")}},7497:(e,t,r)=>{"use strict";const s=r(9491);const{kDestroyed:n,kBodyUsed:o}=r(3932);const{IncomingMessage:i}=r(3685);const a=r(2781);const A=r(1808);const{InvalidArgumentError:c}=r(2366);const{Blob:l}=r(4300);const u=r(3837);const{stringify:p}=r(3477);const[d,g]=process.versions.node.split(".").map((e=>Number(e)));function nop(){}function isStream(e){return e&&typeof e==="object"&&typeof e.pipe==="function"&&typeof e.on==="function"}function isBlobLike(e){return l&&e instanceof l||e&&typeof e==="object"&&(typeof e.stream==="function"||typeof e.arrayBuffer==="function")&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function buildURL(e,t){if(e.includes("?")||e.includes("#")){throw new Error('Query params cannot be passed when url already contains "?" or "#".')}const r=p(t);if(r){e+="?"+r}return e}function parseURL(e){if(typeof e==="string"){e=new URL(e);if(!/^https?:/.test(e.origin||e.protocol)){throw new c("Invalid URL protocol: the URL must start with `http:` or `https:`.")}return e}if(!e||typeof e!=="object"){throw new c("Invalid URL: The URL argument must be a non-null object.")}if(!/^https?:/.test(e.origin||e.protocol)){throw new c("Invalid URL protocol: the URL must start with `http:` or `https:`.")}if(!(e instanceof URL)){if(e.port!=null&&e.port!==""&&!Number.isFinite(parseInt(e.port))){throw new c("Invalid URL: port must be a valid integer or a string representation of an integer.")}if(e.path!=null&&typeof e.path!=="string"){throw new c("Invalid URL path: the path must be a string or null/undefined.")}if(e.pathname!=null&&typeof e.pathname!=="string"){throw new c("Invalid URL pathname: the pathname must be a string or null/undefined.")}if(e.hostname!=null&&typeof e.hostname!=="string"){throw new c("Invalid URL hostname: the hostname must be a string or null/undefined.")}if(e.origin!=null&&typeof e.origin!=="string"){throw new c("Invalid URL origin: the origin must be a string or null/undefined.")}const t=e.port!=null?e.port:e.protocol==="https:"?443:80;let r=e.origin!=null?e.origin:`${e.protocol}//${e.hostname}:${t}`;let s=e.path!=null?e.path:`${e.pathname||""}${e.search||""}`;if(r.endsWith("/")){r=r.substring(0,r.length-1)}if(s&&!s.startsWith("/")){s=`/${s}`}e=new URL(r+s)}return e}function parseOrigin(e){e=parseURL(e);if(e.pathname!=="/"||e.search||e.hash){throw new c("invalid url")}return e}function getHostname(e){if(e[0]==="["){const t=e.indexOf("]");s(t!==-1);return e.substring(1,t)}const t=e.indexOf(":");if(t===-1)return e;return e.substring(0,t)}function getServerName(e){if(!e){return null}s.strictEqual(typeof e,"string");const t=getHostname(e);if(A.isIP(t)){return""}return t}function deepClone(e){return JSON.parse(JSON.stringify(e))}function isAsyncIterable(e){return!!(e!=null&&typeof e[Symbol.asyncIterator]==="function")}function isIterable(e){return!!(e!=null&&(typeof e[Symbol.iterator]==="function"||typeof e[Symbol.asyncIterator]==="function"))}function bodyLength(e){if(e==null){return 0}else if(isStream(e)){const t=e._readableState;return t&&t.objectMode===false&&t.ended===true&&Number.isFinite(t.length)?t.length:null}else if(isBlobLike(e)){return e.size!=null?e.size:null}else if(isBuffer(e)){return e.byteLength}return null}function isDestroyed(e){return!e||!!(e.destroyed||e[n])}function isReadableAborted(e){const t=e&&e._readableState;return isDestroyed(e)&&t&&!t.endEmitted}function destroy(e,t){if(e==null||!isStream(e)||isDestroyed(e)){return}if(typeof e.destroy==="function"){if(Object.getPrototypeOf(e).constructor===i){e.socket=null}e.destroy(t)}else if(t){process.nextTick(((e,t)=>{e.emit("error",t)}),e,t)}if(e.destroyed!==true){e[n]=true}}const h=/timeout=(\d+)/;function parseKeepAliveTimeout(e){const t=e.toString().match(h);return t?parseInt(t[1],10)*1e3:null}function parseHeaders(e,t={}){if(!Array.isArray(e))return e;for(let r=0;re.toString("utf8")))}else{t[s]=e[r+1].toString("utf8")}}else{if(!Array.isArray(n)){n=[n];t[s]=n}n.push(e[r+1].toString("utf8"))}}if("content-length"in t&&"content-disposition"in t){t["content-disposition"]=Buffer.from(t["content-disposition"]).toString("latin1")}return t}function parseRawHeaders(e){const t=[];let r=false;let s=-1;for(let n=0;n{e.close()}))}else{const t=Buffer.isBuffer(s)?s:Buffer.from(s);e.enqueue(new Uint8Array(t))}return e.desiredSize>0},async cancel(e){await t.return()}},0)}function isFormDataLike(e){return e&&typeof e==="object"&&typeof e.append==="function"&&typeof e.delete==="function"&&typeof e.get==="function"&&typeof e.getAll==="function"&&typeof e.has==="function"&&typeof e.set==="function"&&e[Symbol.toStringTag]==="FormData"}function throwIfAborted(e){if(!e){return}if(typeof e.throwIfAborted==="function"){e.throwIfAborted()}else{if(e.aborted){const e=new Error("The operation was aborted");e.name="AbortError";throw e}}}function addAbortListener(e,t){if("addEventListener"in e){e.addEventListener("abort",t,{once:true});return()=>e.removeEventListener("abort",t)}e.addListener("abort",t);return()=>e.removeListener("abort",t)}const E=!!String.prototype.toWellFormed;function toUSVString(e){if(E){return`${e}`.toWellFormed()}else if(u.toUSVString){return u.toUSVString(e)}return`${e}`}function parseRangeHeader(e){if(e==null||e==="")return{start:0,end:null,size:null};const t=e?e.match(/^bytes (\d+)-(\d+)\/(\d+)?$/):null;return t?{start:parseInt(t[1]),end:t[2]?parseInt(t[2]):null,size:t[3]?parseInt(t[3]):null}:null}const C=Object.create(null);C.enumerable=true;e.exports={kEnumerableProperty:C,nop:nop,isDisturbed:isDisturbed,isErrored:isErrored,isReadable:isReadable,toUSVString:toUSVString,isReadableAborted:isReadableAborted,isBlobLike:isBlobLike,parseOrigin:parseOrigin,parseURL:parseURL,getServerName:getServerName,isStream:isStream,isIterable:isIterable,isAsyncIterable:isAsyncIterable,isDestroyed:isDestroyed,parseRawHeaders:parseRawHeaders,parseHeaders:parseHeaders,parseKeepAliveTimeout:parseKeepAliveTimeout,destroy:destroy,bodyLength:bodyLength,deepClone:deepClone,ReadableStreamFrom:ReadableStreamFrom,isBuffer:isBuffer,validateHandler:validateHandler,getSocketInfo:getSocketInfo,isFormDataLike:isFormDataLike,buildURL:buildURL,throwIfAborted:throwIfAborted,addAbortListener:addAbortListener,parseRangeHeader:parseRangeHeader,nodeMajor:d,nodeMinor:g,nodeHasAutoSelectFamily:d>18||d===18&&g>=13,safeHTTPMethods:["GET","HEAD","OPTIONS","TRACE"]}},8757:(e,t,r)=>{"use strict";const s=r(8648);const{ClientDestroyedError:n,ClientClosedError:o,InvalidArgumentError:i}=r(2366);const{kDestroy:a,kClose:A,kDispatch:c,kInterceptors:l}=r(3932);const u=Symbol("destroyed");const p=Symbol("closed");const d=Symbol("onDestroyed");const g=Symbol("onClosed");const h=Symbol("Intercepted Dispatch");class DispatcherBase extends s{constructor(){super();this[u]=false;this[d]=null;this[p]=false;this[g]=[]}get destroyed(){return this[u]}get closed(){return this[p]}get interceptors(){return this[l]}set interceptors(e){if(e){for(let t=e.length-1;t>=0;t--){const e=this[l][t];if(typeof e!=="function"){throw new i("interceptor must be an function")}}}this[l]=e}close(e){if(e===undefined){return new Promise(((e,t)=>{this.close(((r,s)=>r?t(r):e(s)))}))}if(typeof e!=="function"){throw new i("invalid callback")}if(this[u]){queueMicrotask((()=>e(new n,null)));return}if(this[p]){if(this[g]){this[g].push(e)}else{queueMicrotask((()=>e(null,null)))}return}this[p]=true;this[g].push(e);const onClosed=()=>{const e=this[g];this[g]=null;for(let t=0;tthis.destroy())).then((()=>{queueMicrotask(onClosed)}))}destroy(e,t){if(typeof e==="function"){t=e;e=null}if(t===undefined){return new Promise(((t,r)=>{this.destroy(e,((e,s)=>e?r(e):t(s)))}))}if(typeof t!=="function"){throw new i("invalid callback")}if(this[u]){if(this[d]){this[d].push(t)}else{queueMicrotask((()=>t(null,null)))}return}if(!e){e=new n}this[u]=true;this[d]=this[d]||[];this[d].push(t);const onDestroyed=()=>{const e=this[d];this[d]=null;for(let t=0;t{queueMicrotask(onDestroyed)}))}[h](e,t){if(!this[l]||this[l].length===0){this[h]=this[c];return this[c](e,t)}let r=this[c].bind(this);for(let e=this[l].length-1;e>=0;e--){r=this[l][e](r)}this[h]=r;return r(e,t)}dispatch(e,t){if(!t||typeof t!=="object"){throw new i("handler must be an object")}try{if(!e||typeof e!=="object"){throw new i("opts must be an object.")}if(this[u]||this[d]){throw new n}if(this[p]){throw new o}return this[h](e,t)}catch(e){if(typeof t.onError!=="function"){throw new i("invalid onError method")}t.onError(e);return false}}}e.exports=DispatcherBase},8648:(e,t,r)=>{"use strict";const s=r(9820);class Dispatcher extends s{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}}e.exports=Dispatcher},1226:(e,t,r)=>{"use strict";const s=r(7455);const n=r(7497);const{ReadableStreamFrom:o,isBlobLike:i,isReadableStreamLike:a,readableStreamClose:A,createDeferredPromise:c,fullyReadBody:l}=r(5496);const{FormData:u}=r(9425);const{kState:p}=r(5376);const{webidl:d}=r(9111);const{DOMException:g,structuredClone:h}=r(7533);const{Blob:m,File:E}=r(4300);const{kBodyUsed:C}=r(3932);const I=r(9491);const{isErrored:B}=r(7497);const{isUint8Array:Q,isArrayBuffer:b}=r(9830);const{File:y}=r(5506);const{parseMIMEType:v,serializeAMimeType:w}=r(5958);let x=globalThis.ReadableStream;const k=E??y;const R=new TextEncoder;const S=new TextDecoder;function extractBody(e,t=false){if(!x){x=r(5356).ReadableStream}let s=null;if(e instanceof x){s=e}else if(i(e)){s=e.stream()}else{s=new x({async pull(e){e.enqueue(typeof l==="string"?R.encode(l):l);queueMicrotask((()=>A(e)))},start(){},type:undefined})}I(a(s));let c=null;let l=null;let u=null;let p=null;if(typeof e==="string"){l=e;p="text/plain;charset=UTF-8"}else if(e instanceof URLSearchParams){l=e.toString();p="application/x-www-form-urlencoded;charset=UTF-8"}else if(b(e)){l=new Uint8Array(e.slice())}else if(ArrayBuffer.isView(e)){l=new Uint8Array(e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength))}else if(n.isFormDataLike(e)){const t=`----formdata-undici-0${`${Math.floor(Math.random()*1e11)}`.padStart(11,"0")}`;const r=`--${t}\r\nContent-Disposition: form-data` -/*! formdata-polyfill. MIT License. Jimmy Wärting */;const escape=e=>e.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22");const normalizeLinefeeds=e=>e.replace(/\r?\n|\r/g,"\r\n");const s=[];const n=new Uint8Array([13,10]);u=0;let o=false;for(const[t,i]of e){if(typeof i==="string"){const e=R.encode(r+`; name="${escape(normalizeLinefeeds(t))}"`+`\r\n\r\n${normalizeLinefeeds(i)}\r\n`);s.push(e);u+=e.byteLength}else{const e=R.encode(`${r}; name="${escape(normalizeLinefeeds(t))}"`+(i.name?`; filename="${escape(i.name)}"`:"")+"\r\n"+`Content-Type: ${i.type||"application/octet-stream"}\r\n\r\n`);s.push(e,i,n);if(typeof i.size==="number"){u+=e.byteLength+i.size+n.byteLength}else{o=true}}}const i=R.encode(`--${t}--`);s.push(i);u+=i.byteLength;if(o){u=null}l=e;c=async function*(){for(const e of s){if(e.stream){yield*e.stream()}else{yield e}}};p="multipart/form-data; boundary="+t}else if(i(e)){l=e;u=e.size;if(e.type){p=e.type}}else if(typeof e[Symbol.asyncIterator]==="function"){if(t){throw new TypeError("keepalive")}if(n.isDisturbed(e)||e.locked){throw new TypeError("Response body object should not be disturbed or locked")}s=e instanceof x?e:o(e)}if(typeof l==="string"||n.isBuffer(l)){u=Buffer.byteLength(l)}if(c!=null){let t;s=new x({async start(){t=c(e)[Symbol.asyncIterator]()},async pull(e){const{value:r,done:n}=await t.next();if(n){queueMicrotask((()=>{e.close()}))}else{if(!B(s)){e.enqueue(new Uint8Array(r))}}return e.desiredSize>0},async cancel(e){await t.return()},type:undefined})}const d={stream:s,source:l,length:u};return[d,p]}function safelyExtractBody(e,t=false){if(!x){x=r(5356).ReadableStream}if(e instanceof x){I(!n.isDisturbed(e),"The body has already been consumed.");I(!e.locked,"The stream is locked.")}return extractBody(e,t)}function cloneBody(e){const[t,r]=e.stream.tee();const s=h(r,{transfer:[r]});const[,n]=s.tee();e.stream=t;return{stream:n,length:e.length,source:e.source}}async function*consumeBody(e){if(e){if(Q(e)){yield e}else{const t=e.stream;if(n.isDisturbed(t)){throw new TypeError("The body has already been consumed.")}if(t.locked){throw new TypeError("The stream is locked.")}t[C]=true;yield*t}}}function throwIfAborted(e){if(e.aborted){throw new g("The operation was aborted.","AbortError")}}function bodyMixinMethods(e){const t={blob(){return specConsumeBody(this,(e=>{let t=bodyMimeType(this);if(t==="failure"){t=""}else if(t){t=w(t)}return new m([e],{type:t})}),e)},arrayBuffer(){return specConsumeBody(this,(e=>new Uint8Array(e).buffer),e)},text(){return specConsumeBody(this,utf8DecodeBytes,e)},json(){return specConsumeBody(this,parseJSONFromBytes,e)},async formData(){d.brandCheck(this,e);throwIfAborted(this[p]);const t=this.headers.get("Content-Type");if(/multipart\/form-data/.test(t)){const e={};for(const[t,r]of this.headers)e[t.toLowerCase()]=r;const t=new u;let r;try{r=new s({headers:e,preservePath:true})}catch(e){throw new g(`${e}`,"AbortError")}r.on("field",((e,r)=>{t.append(e,r)}));r.on("file",((e,r,s,n,o)=>{const i=[];if(n==="base64"||n.toLowerCase()==="base64"){let n="";r.on("data",(e=>{n+=e.toString().replace(/[\r\n]/gm,"");const t=n.length-n.length%4;i.push(Buffer.from(n.slice(0,t),"base64"));n=n.slice(t)}));r.on("end",(()=>{i.push(Buffer.from(n,"base64"));t.append(e,new k(i,s,{type:o}))}))}else{r.on("data",(e=>{i.push(e)}));r.on("end",(()=>{t.append(e,new k(i,s,{type:o}))}))}}));const n=new Promise(((e,t)=>{r.on("finish",e);r.on("error",(e=>t(new TypeError(e))))}));if(this.body!==null)for await(const e of consumeBody(this[p].body))r.write(e);r.end();await n;return t}else if(/application\/x-www-form-urlencoded/.test(t)){let e;try{let t="";const r=new TextDecoder("utf-8",{ignoreBOM:true});for await(const e of consumeBody(this[p].body)){if(!Q(e)){throw new TypeError("Expected Uint8Array chunk")}t+=r.decode(e,{stream:true})}t+=r.decode();e=new URLSearchParams(t)}catch(e){throw Object.assign(new TypeError,{cause:e})}const t=new u;for(const[r,s]of e){t.append(r,s)}return t}else{await Promise.resolve();throwIfAborted(this[p]);throw d.errors.exception({header:`${e.name}.formData`,message:"Could not parse content as FormData."})}}};return t}function mixinBody(e){Object.assign(e.prototype,bodyMixinMethods(e))}async function specConsumeBody(e,t,r){d.brandCheck(e,r);throwIfAborted(e[p]);if(bodyUnusable(e[p].body)){throw new TypeError("Body is unusable")}const s=c();const errorSteps=e=>s.reject(e);const successSteps=e=>{try{s.resolve(t(e))}catch(e){errorSteps(e)}};if(e[p].body==null){successSteps(new Uint8Array);return s.promise}await l(e[p].body,successSteps,errorSteps);return s.promise}function bodyUnusable(e){return e!=null&&(e.stream.locked||n.isDisturbed(e.stream))}function utf8DecodeBytes(e){if(e.length===0){return""}if(e[0]===239&&e[1]===187&&e[2]===191){e=e.subarray(3)}const t=S.decode(e);return t}function parseJSONFromBytes(e){return JSON.parse(utf8DecodeBytes(e))}function bodyMimeType(e){const{headersList:t}=e[p];const r=t.get("content-type");if(r===null){return"failure"}return v(r)}e.exports={extractBody:extractBody,safelyExtractBody:safelyExtractBody,cloneBody:cloneBody,mixinBody:mixinBody}},7533:(e,t,r)=>{"use strict";const{MessageChannel:s,receiveMessageOnPort:n}=r(1267);const o=["GET","HEAD","POST"];const i=new Set(o);const a=[101,204,205,304];const A=[301,302,303,307,308];const c=new Set(A);const l=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","5060","5061","6000","6566","6665","6666","6667","6668","6669","6697","10080"];const u=new Set(l);const p=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"];const d=new Set(p);const g=["follow","manual","error"];const h=["GET","HEAD","OPTIONS","TRACE"];const m=new Set(h);const E=["navigate","same-origin","no-cors","cors"];const C=["omit","same-origin","include"];const I=["default","no-store","reload","no-cache","force-cache","only-if-cached"];const B=["content-encoding","content-language","content-location","content-type","content-length"];const Q=["half"];const b=["CONNECT","TRACE","TRACK"];const y=new Set(b);const v=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""];const w=new Set(v);const x=globalThis.DOMException??(()=>{try{atob("~")}catch(e){return Object.getPrototypeOf(e).constructor}})();let k;const R=globalThis.structuredClone??function structuredClone(e,t=undefined){if(arguments.length===0){throw new TypeError("missing argument")}if(!k){k=new s}k.port1.unref();k.port2.unref();k.port1.postMessage(e,t?.transfer);return n(k.port2).message};e.exports={DOMException:x,structuredClone:R,subresource:v,forbiddenMethods:b,requestBodyHeader:B,referrerPolicy:p,requestRedirect:g,requestMode:E,requestCredentials:C,requestCache:I,redirectStatus:A,corsSafeListedMethods:o,nullBodyStatus:a,safeMethods:h,badPorts:l,requestDuplex:Q,subresourceSet:w,badPortsSet:u,redirectStatusSet:c,corsSafeListedMethodsSet:i,safeMethodsSet:m,forbiddenMethodsSet:y,referrerPolicySet:d}},5958:(e,t,r)=>{const s=r(9491);const{atob:n}=r(4300);const{isomorphicDecode:o}=r(5496);const i=new TextEncoder;const a=/^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;const A=/(\u000A|\u000D|\u0009|\u0020)/;const c=/[\u0009|\u0020-\u007E|\u0080-\u00FF]/;function dataURLProcessor(e){s(e.protocol==="data:");let t=URLSerializer(e,true);t=t.slice(5);const r={position:0};let n=collectASequenceOfCodePointsFast(",",t,r);const i=n.length;n=removeASCIIWhitespace(n,true,true);if(r.position>=t.length){return"failure"}r.position++;const a=t.slice(i+1);let A=stringPercentDecode(a);if(/;(\u0020){0,}base64$/i.test(n)){const e=o(A);A=forgivingBase64(e);if(A==="failure"){return"failure"}n=n.slice(0,-6);n=n.replace(/(\u0020)+$/,"");n=n.slice(0,-1)}if(n.startsWith(";")){n="text/plain"+n}let c=parseMIMEType(n);if(c==="failure"){c=parseMIMEType("text/plain;charset=US-ASCII")}return{mimeType:c,body:A}}function URLSerializer(e,t=false){if(!t){return e.href}const r=e.href;const s=e.hash.length;return s===0?r:r.substring(0,r.length-s)}function collectASequenceOfCodePoints(e,t,r){let s="";while(r.positione.length){return"failure"}t.position++;let s=collectASequenceOfCodePointsFast(";",e,t);s=removeHTTPWhitespace(s,false,true);if(s.length===0||!a.test(s)){return"failure"}const n=r.toLowerCase();const o=s.toLowerCase();const i={type:n,subtype:o,parameters:new Map,essence:`${n}/${o}`};while(t.positionA.test(e)),e,t);let r=collectASequenceOfCodePoints((e=>e!==";"&&e!=="="),e,t);r=r.toLowerCase();if(t.positione.length){break}let s=null;if(e[t.position]==='"'){s=collectAnHTTPQuotedString(e,t,true);collectASequenceOfCodePointsFast(";",e,t)}else{s=collectASequenceOfCodePointsFast(";",e,t);s=removeHTTPWhitespace(s,false,true);if(s.length===0){continue}}if(r.length!==0&&a.test(r)&&(s.length===0||c.test(s))&&!i.parameters.has(r)){i.parameters.set(r,s)}}return i}function forgivingBase64(e){e=e.replace(/[\u0009\u000A\u000C\u000D\u0020]/g,"");if(e.length%4===0){e=e.replace(/=?=$/,"")}if(e.length%4===1){return"failure"}if(/[^+/0-9A-Za-z]/.test(e)){return"failure"}const t=n(e);const r=new Uint8Array(t.length);for(let e=0;ee!=='"'&&e!=="\\"),e,t);if(t.position>=e.length){break}const r=e[t.position];t.position++;if(r==="\\"){if(t.position>=e.length){o+="\\";break}o+=e[t.position];t.position++}else{s(r==='"');break}}if(r){return o}return e.slice(n,t.position)}function serializeAMimeType(e){s(e!=="failure");const{parameters:t,essence:r}=e;let n=r;for(let[e,r]of t.entries()){n+=";";n+=e;n+="=";if(!a.test(r)){r=r.replace(/(\\|")/g,"\\$1");r='"'+r;r+='"'}n+=r}return n}function isHTTPWhiteSpace(e){return e==="\r"||e==="\n"||e==="\t"||e===" "}function removeHTTPWhitespace(e,t=true,r=true){let s=0;let n=e.length-1;if(t){for(;s0&&isHTTPWhiteSpace(e[n]);n--);}return e.slice(s,n+1)}function isASCIIWhitespace(e){return e==="\r"||e==="\n"||e==="\t"||e==="\f"||e===" "}function removeASCIIWhitespace(e,t=true,r=true){let s=0;let n=e.length-1;if(t){for(;s0&&isASCIIWhitespace(e[n]);n--);}return e.slice(s,n+1)}e.exports={dataURLProcessor:dataURLProcessor,URLSerializer:URLSerializer,collectASequenceOfCodePoints:collectASequenceOfCodePoints,collectASequenceOfCodePointsFast:collectASequenceOfCodePointsFast,stringPercentDecode:stringPercentDecode,parseMIMEType:parseMIMEType,collectAnHTTPQuotedString:collectAnHTTPQuotedString,serializeAMimeType:serializeAMimeType}},5506:(e,t,r)=>{"use strict";const{Blob:s,File:n}=r(4300);const{types:o}=r(3837);const{kState:i}=r(5376);const{isBlobLike:a}=r(5496);const{webidl:A}=r(9111);const{parseMIMEType:c,serializeAMimeType:l}=r(5958);const{kEnumerableProperty:u}=r(7497);const p=new TextEncoder;class File extends s{constructor(e,t,r={}){A.argumentLengthCheck(arguments,2,{header:"File constructor"});e=A.converters["sequence"](e);t=A.converters.USVString(t);r=A.converters.FilePropertyBag(r);const s=t;let n=r.type;let o;e:{if(n){n=c(n);if(n==="failure"){n="";break e}n=l(n).toLowerCase()}o=r.lastModified}super(processBlobParts(e,r),{type:n});this[i]={name:s,lastModified:o,type:n}}get name(){A.brandCheck(this,File);return this[i].name}get lastModified(){A.brandCheck(this,File);return this[i].lastModified}get type(){A.brandCheck(this,File);return this[i].type}}class FileLike{constructor(e,t,r={}){const s=t;const n=r.type;const o=r.lastModified??Date.now();this[i]={blobLike:e,name:s,type:n,lastModified:o}}stream(...e){A.brandCheck(this,FileLike);return this[i].blobLike.stream(...e)}arrayBuffer(...e){A.brandCheck(this,FileLike);return this[i].blobLike.arrayBuffer(...e)}slice(...e){A.brandCheck(this,FileLike);return this[i].blobLike.slice(...e)}text(...e){A.brandCheck(this,FileLike);return this[i].blobLike.text(...e)}get size(){A.brandCheck(this,FileLike);return this[i].blobLike.size}get type(){A.brandCheck(this,FileLike);return this[i].blobLike.type}get name(){A.brandCheck(this,FileLike);return this[i].name}get lastModified(){A.brandCheck(this,FileLike);return this[i].lastModified}get[Symbol.toStringTag](){return"File"}}Object.defineProperties(File.prototype,{[Symbol.toStringTag]:{value:"File",configurable:true},name:u,lastModified:u});A.converters.Blob=A.interfaceConverter(s);A.converters.BlobPart=function(e,t){if(A.util.Type(e)==="Object"){if(a(e)){return A.converters.Blob(e,{strict:false})}if(ArrayBuffer.isView(e)||o.isAnyArrayBuffer(e)){return A.converters.BufferSource(e,t)}}return A.converters.USVString(e,t)};A.converters["sequence"]=A.sequenceConverter(A.converters.BlobPart);A.converters.FilePropertyBag=A.dictionaryConverter([{key:"lastModified",converter:A.converters["long long"],get defaultValue(){return Date.now()}},{key:"type",converter:A.converters.DOMString,defaultValue:""},{key:"endings",converter:e=>{e=A.converters.DOMString(e);e=e.toLowerCase();if(e!=="native"){e="transparent"}return e},defaultValue:"transparent"}]);function processBlobParts(e,t){const r=[];for(const s of e){if(typeof s==="string"){let e=s;if(t.endings==="native"){e=convertLineEndingsNative(e)}r.push(p.encode(e))}else if(o.isAnyArrayBuffer(s)||o.isTypedArray(s)){if(!s.buffer){r.push(new Uint8Array(s))}else{r.push(new Uint8Array(s.buffer,s.byteOffset,s.byteLength))}}else if(a(s)){r.push(s)}}return r}function convertLineEndingsNative(e){let t="\n";if(process.platform==="win32"){t="\r\n"}return e.replace(/\r?\n/g,t)}function isFileLike(e){return n&&e instanceof n||e instanceof File||e&&(typeof e.stream==="function"||typeof e.arrayBuffer==="function")&&e[Symbol.toStringTag]==="File"}e.exports={File:File,FileLike:FileLike,isFileLike:isFileLike}},9425:(e,t,r)=>{"use strict";const{isBlobLike:s,toUSVString:n,makeIterator:o}=r(5496);const{kState:i}=r(5376);const{File:a,FileLike:A,isFileLike:c}=r(5506);const{webidl:l}=r(9111);const{Blob:u,File:p}=r(4300);const d=p??a;class FormData{constructor(e){if(e!==undefined){throw l.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}this[i]=[]}append(e,t,r=undefined){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,2,{header:"FormData.append"});if(arguments.length===3&&!s(t)){throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'")}e=l.converters.USVString(e);t=s(t)?l.converters.Blob(t,{strict:false}):l.converters.USVString(t);r=arguments.length===3?l.converters.USVString(r):undefined;const n=makeEntry(e,t,r);this[i].push(n)}delete(e){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,1,{header:"FormData.delete"});e=l.converters.USVString(e);this[i]=this[i].filter((t=>t.name!==e))}get(e){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,1,{header:"FormData.get"});e=l.converters.USVString(e);const t=this[i].findIndex((t=>t.name===e));if(t===-1){return null}return this[i][t].value}getAll(e){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,1,{header:"FormData.getAll"});e=l.converters.USVString(e);return this[i].filter((t=>t.name===e)).map((e=>e.value))}has(e){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,1,{header:"FormData.has"});e=l.converters.USVString(e);return this[i].findIndex((t=>t.name===e))!==-1}set(e,t,r=undefined){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,2,{header:"FormData.set"});if(arguments.length===3&&!s(t)){throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'")}e=l.converters.USVString(e);t=s(t)?l.converters.Blob(t,{strict:false}):l.converters.USVString(t);r=arguments.length===3?n(r):undefined;const o=makeEntry(e,t,r);const a=this[i].findIndex((t=>t.name===e));if(a!==-1){this[i]=[...this[i].slice(0,a),o,...this[i].slice(a+1).filter((t=>t.name!==e))]}else{this[i].push(o)}}entries(){l.brandCheck(this,FormData);return o((()=>this[i].map((e=>[e.name,e.value]))),"FormData","key+value")}keys(){l.brandCheck(this,FormData);return o((()=>this[i].map((e=>[e.name,e.value]))),"FormData","key")}values(){l.brandCheck(this,FormData);return o((()=>this[i].map((e=>[e.name,e.value]))),"FormData","value")}forEach(e,t=globalThis){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,1,{header:"FormData.forEach"});if(typeof e!=="function"){throw new TypeError("Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'.")}for(const[r,s]of this){e.apply(t,[s,r,this])}}}FormData.prototype[Symbol.iterator]=FormData.prototype.entries;Object.defineProperties(FormData.prototype,{[Symbol.toStringTag]:{value:"FormData",configurable:true}});function makeEntry(e,t,r){e=Buffer.from(e).toString("utf8");if(typeof t==="string"){t=Buffer.from(t).toString("utf8")}else{if(!c(t)){t=t instanceof u?new d([t],"blob",{type:t.type}):new A(t,"blob",{type:t.type})}if(r!==undefined){const e={type:t.type,lastModified:t.lastModified};t=p&&t instanceof p||t instanceof a?new d([t],r,e):new A(t,r,e)}}return{name:e,value:t}}e.exports={FormData:FormData}},7011:e=>{"use strict";const t=Symbol.for("undici.globalOrigin.1");function getGlobalOrigin(){return globalThis[t]}function setGlobalOrigin(e){if(e===undefined){Object.defineProperty(globalThis,t,{value:undefined,writable:true,enumerable:false,configurable:false});return}const r=new URL(e);if(r.protocol!=="http:"&&r.protocol!=="https:"){throw new TypeError(`Only http & https urls are allowed, received ${r.protocol}`)}Object.defineProperty(globalThis,t,{value:r,writable:true,enumerable:false,configurable:false})}e.exports={getGlobalOrigin:getGlobalOrigin,setGlobalOrigin:setGlobalOrigin}},1855:(e,t,r)=>{"use strict";const{kHeadersList:s,kConstruct:n}=r(3932);const{kGuard:o}=r(5376);const{kEnumerableProperty:i}=r(7497);const{makeIterator:a,isValidHeaderName:A,isValidHeaderValue:c}=r(5496);const{webidl:l}=r(9111);const u=r(9491);const p=Symbol("headers map");const d=Symbol("headers map sorted");function isHTTPWhiteSpaceCharCode(e){return e===10||e===13||e===9||e===32}function headerValueNormalize(e){let t=0;let r=e.length;while(r>t&&isHTTPWhiteSpaceCharCode(e.charCodeAt(r-1)))--r;while(r>t&&isHTTPWhiteSpaceCharCode(e.charCodeAt(t)))++t;return t===0&&r===e.length?e:e.substring(t,r)}function fill(e,t){if(Array.isArray(t)){for(let r=0;r>","record"]})}}function appendHeader(e,t,r){r=headerValueNormalize(r);if(!A(t)){throw l.errors.invalidArgument({prefix:"Headers.append",value:t,type:"header name"})}else if(!c(r)){throw l.errors.invalidArgument({prefix:"Headers.append",value:r,type:"header value"})}if(e[o]==="immutable"){throw new TypeError("immutable")}else if(e[o]==="request-no-cors"){}return e[s].append(t,r)}class HeadersList{cookies=null;constructor(e){if(e instanceof HeadersList){this[p]=new Map(e[p]);this[d]=e[d];this.cookies=e.cookies===null?null:[...e.cookies]}else{this[p]=new Map(e);this[d]=null}}contains(e){e=e.toLowerCase();return this[p].has(e)}clear(){this[p].clear();this[d]=null;this.cookies=null}append(e,t){this[d]=null;const r=e.toLowerCase();const s=this[p].get(r);if(s){const e=r==="cookie"?"; ":", ";this[p].set(r,{name:s.name,value:`${s.value}${e}${t}`})}else{this[p].set(r,{name:e,value:t})}if(r==="set-cookie"){this.cookies??=[];this.cookies.push(t)}}set(e,t){this[d]=null;const r=e.toLowerCase();if(r==="set-cookie"){this.cookies=[t]}this[p].set(r,{name:e,value:t})}delete(e){this[d]=null;e=e.toLowerCase();if(e==="set-cookie"){this.cookies=null}this[p].delete(e)}get(e){const t=this[p].get(e.toLowerCase());return t===undefined?null:t.value}*[Symbol.iterator](){for(const[e,{value:t}]of this[p]){yield[e,t]}}get entries(){const e={};if(this[p].size){for(const{name:t,value:r}of this[p].values()){e[t]=r}}return e}}class Headers{constructor(e=undefined){if(e===n){return}this[s]=new HeadersList;this[o]="none";if(e!==undefined){e=l.converters.HeadersInit(e);fill(this,e)}}append(e,t){l.brandCheck(this,Headers);l.argumentLengthCheck(arguments,2,{header:"Headers.append"});e=l.converters.ByteString(e);t=l.converters.ByteString(t);return appendHeader(this,e,t)}delete(e){l.brandCheck(this,Headers);l.argumentLengthCheck(arguments,1,{header:"Headers.delete"});e=l.converters.ByteString(e);if(!A(e)){throw l.errors.invalidArgument({prefix:"Headers.delete",value:e,type:"header name"})}if(this[o]==="immutable"){throw new TypeError("immutable")}else if(this[o]==="request-no-cors"){}if(!this[s].contains(e)){return}this[s].delete(e)}get(e){l.brandCheck(this,Headers);l.argumentLengthCheck(arguments,1,{header:"Headers.get"});e=l.converters.ByteString(e);if(!A(e)){throw l.errors.invalidArgument({prefix:"Headers.get",value:e,type:"header name"})}return this[s].get(e)}has(e){l.brandCheck(this,Headers);l.argumentLengthCheck(arguments,1,{header:"Headers.has"});e=l.converters.ByteString(e);if(!A(e)){throw l.errors.invalidArgument({prefix:"Headers.has",value:e,type:"header name"})}return this[s].contains(e)}set(e,t){l.brandCheck(this,Headers);l.argumentLengthCheck(arguments,2,{header:"Headers.set"});e=l.converters.ByteString(e);t=l.converters.ByteString(t);t=headerValueNormalize(t);if(!A(e)){throw l.errors.invalidArgument({prefix:"Headers.set",value:e,type:"header name"})}else if(!c(t)){throw l.errors.invalidArgument({prefix:"Headers.set",value:t,type:"header value"})}if(this[o]==="immutable"){throw new TypeError("immutable")}else if(this[o]==="request-no-cors"){}this[s].set(e,t)}getSetCookie(){l.brandCheck(this,Headers);const e=this[s].cookies;if(e){return[...e]}return[]}get[d](){if(this[s][d]){return this[s][d]}const e=[];const t=[...this[s]].sort(((e,t)=>e[0]e),"Headers","key")}return a((()=>[...this[d].values()]),"Headers","key")}values(){l.brandCheck(this,Headers);if(this[o]==="immutable"){const e=this[d];return a((()=>e),"Headers","value")}return a((()=>[...this[d].values()]),"Headers","value")}entries(){l.brandCheck(this,Headers);if(this[o]==="immutable"){const e=this[d];return a((()=>e),"Headers","key+value")}return a((()=>[...this[d].values()]),"Headers","key+value")}forEach(e,t=globalThis){l.brandCheck(this,Headers);l.argumentLengthCheck(arguments,1,{header:"Headers.forEach"});if(typeof e!=="function"){throw new TypeError("Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'.")}for(const[r,s]of this){e.apply(t,[s,r,this])}}[Symbol.for("nodejs.util.inspect.custom")](){l.brandCheck(this,Headers);return this[s]}}Headers.prototype[Symbol.iterator]=Headers.prototype.entries;Object.defineProperties(Headers.prototype,{append:i,delete:i,get:i,has:i,set:i,getSetCookie:i,keys:i,values:i,entries:i,forEach:i,[Symbol.iterator]:{enumerable:false},[Symbol.toStringTag]:{value:"Headers",configurable:true}});l.converters.HeadersInit=function(e){if(l.util.Type(e)==="Object"){if(e[Symbol.iterator]){return l.converters["sequence>"](e)}return l.converters["record"](e)}throw l.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence>","record"]})};e.exports={fill:fill,Headers:Headers,HeadersList:HeadersList}},8802:(e,t,r)=>{"use strict";const{Response:s,makeNetworkError:n,makeAppropriateNetworkError:o,filterResponse:i,makeResponse:a}=r(3950);const{Headers:A}=r(1855);const{Request:c,makeRequest:l}=r(6453);const u=r(9796);const{bytesMatch:p,makePolicyContainer:d,clonePolicyContainer:g,requestBadPort:h,TAOCheck:m,appendRequestOriginHeader:E,responseLocationURL:C,requestCurrentURL:I,setRequestReferrerPolicyOnRedirect:B,tryUpgradeRequestToAPotentiallyTrustworthyURL:Q,createOpaqueTimingInfo:b,appendFetchMetadata:y,corsCheck:v,crossOriginResourcePolicyCheck:w,determineRequestsReferrer:x,coarsenedSharedCurrentTime:k,createDeferredPromise:R,isBlobLike:S,sameOrigin:D,isCancelled:T,isAborted:_,isErrorLike:F,fullyReadBody:N,readableStreamClose:U,isomorphicEncode:O,urlIsLocal:M,urlIsHttpHttpsScheme:L,urlHasHttpsScheme:P}=r(5496);const{kState:G,kHeaders:j,kGuard:H,kRealm:J}=r(5376);const V=r(9491);const{safelyExtractBody:Y}=r(1226);const{redirectStatusSet:q,nullBodyStatus:W,safeMethodsSet:Z,requestBodyHeader:z,subresourceSet:K,DOMException:X}=r(7533);const{kHeadersList:$}=r(3932);const ee=r(9820);const{Readable:te,pipeline:re}=r(2781);const{addAbortListener:se,isErrored:ne,isReadable:oe,nodeMajor:ie,nodeMinor:ae}=r(7497);const{dataURLProcessor:Ae,serializeAMimeType:ce}=r(5958);const{TransformStream:le}=r(5356);const{getGlobalDispatcher:ue}=r(2899);const{webidl:pe}=r(9111);const{STATUS_CODES:de}=r(3685);const ge=["GET","HEAD"];let he;let fe=globalThis.ReadableStream;class Fetch extends ee{constructor(e){super();this.dispatcher=e;this.connection=null;this.dump=false;this.state="ongoing";this.setMaxListeners(21)}terminate(e){if(this.state!=="ongoing"){return}this.state="terminated";this.connection?.destroy(e);this.emit("terminated",e)}abort(e){if(this.state!=="ongoing"){return}this.state="aborted";if(!e){e=new X("The operation was aborted.","AbortError")}this.serializedAbortReason=e;this.connection?.destroy(e);this.emit("terminated",e)}}function fetch(e,t={}){pe.argumentLengthCheck(arguments,1,{header:"globalThis.fetch"});const r=R();let n;try{n=new c(e,t)}catch(e){r.reject(e);return r.promise}const o=n[G];if(n.signal.aborted){abortFetch(r,o,null,n.signal.reason);return r.promise}const i=o.client.globalObject;if(i?.constructor?.name==="ServiceWorkerGlobalScope"){o.serviceWorkers="none"}let a=null;const A=null;let l=false;let u=null;se(n.signal,(()=>{l=true;V(u!=null);u.abort(n.signal.reason);abortFetch(r,o,a,n.signal.reason)}));const handleFetchDone=e=>finalizeAndReportTiming(e,"fetch");const processResponse=e=>{if(l){return Promise.resolve()}if(e.aborted){abortFetch(r,o,a,u.serializedAbortReason);return Promise.resolve()}if(e.type==="error"){r.reject(Object.assign(new TypeError("fetch failed"),{cause:e.error}));return Promise.resolve()}a=new s;a[G]=e;a[J]=A;a[j][$]=e.headersList;a[j][H]="immutable";a[j][J]=A;r.resolve(a)};u=fetching({request:o,processResponseEndOfBody:handleFetchDone,processResponse:processResponse,dispatcher:t.dispatcher??ue()});return r.promise}function finalizeAndReportTiming(e,t="other"){if(e.type==="error"&&e.aborted){return}if(!e.urlList?.length){return}const r=e.urlList[0];let s=e.timingInfo;let n=e.cacheState;if(!L(r)){return}if(s===null){return}if(!e.timingAllowPassed){s=b({startTime:s.startTime});n=""}s.endTime=k();e.timingInfo=s;markResourceTiming(s,r,t,globalThis,n)}function markResourceTiming(e,t,r,s,n){if(ie>18||ie===18&&ae>=2){performance.markResourceTiming(e,t.href,r,s,n)}}function abortFetch(e,t,r,s){if(!s){s=new X("The operation was aborted.","AbortError")}e.reject(s);if(t.body!=null&&oe(t.body?.stream)){t.body.stream.cancel(s).catch((e=>{if(e.code==="ERR_INVALID_STATE"){return}throw e}))}if(r==null){return}const n=r[G];if(n.body!=null&&oe(n.body?.stream)){n.body.stream.cancel(s).catch((e=>{if(e.code==="ERR_INVALID_STATE"){return}throw e}))}}function fetching({request:e,processRequestBodyChunkLength:t,processRequestEndOfBody:r,processResponse:s,processResponseEndOfBody:n,processResponseConsumeBody:o,useParallelQueue:i=false,dispatcher:a}){let A=null;let c=false;if(e.client!=null){A=e.client.globalObject;c=e.client.crossOriginIsolatedCapability}const l=k(c);const u=b({startTime:l});const p={controller:new Fetch(a),request:e,timingInfo:u,processRequestBodyChunkLength:t,processRequestEndOfBody:r,processResponse:s,processResponseConsumeBody:o,processResponseEndOfBody:n,taskDestination:A,crossOriginIsolatedCapability:c};V(!e.body||e.body.stream);if(e.window==="client"){e.window=e.client?.globalObject?.constructor?.name==="Window"?e.client:"no-window"}if(e.origin==="client"){e.origin=e.client?.origin}if(e.policyContainer==="client"){if(e.client!=null){e.policyContainer=g(e.client.policyContainer)}else{e.policyContainer=d()}}if(!e.headersList.contains("accept")){const t="*/*";e.headersList.append("accept",t)}if(!e.headersList.contains("accept-language")){e.headersList.append("accept-language","*")}if(e.priority===null){}if(K.has(e.destination)){}mainFetch(p).catch((e=>{p.controller.terminate(e)}));return p.controller}async function mainFetch(e,t=false){const r=e.request;let s=null;if(r.localURLsOnly&&!M(I(r))){s=n("local URLs only")}Q(r);if(h(r)==="blocked"){s=n("bad port")}if(r.referrerPolicy===""){r.referrerPolicy=r.policyContainer.referrerPolicy}if(r.referrer!=="no-referrer"){r.referrer=x(r)}if(s===null){s=await(async()=>{const t=I(r);if(D(t,r.url)&&r.responseTainting==="basic"||t.protocol==="data:"||(r.mode==="navigate"||r.mode==="websocket")){r.responseTainting="basic";return await schemeFetch(e)}if(r.mode==="same-origin"){return n('request mode cannot be "same-origin"')}if(r.mode==="no-cors"){if(r.redirect!=="follow"){return n('redirect mode cannot be "follow" for "no-cors" request')}r.responseTainting="opaque";return await schemeFetch(e)}if(!L(I(r))){return n("URL scheme must be a HTTP(S) scheme")}r.responseTainting="cors";return await httpFetch(e)})()}if(t){return s}if(s.status!==0&&!s.internalResponse){if(r.responseTainting==="cors"){}if(r.responseTainting==="basic"){s=i(s,"basic")}else if(r.responseTainting==="cors"){s=i(s,"cors")}else if(r.responseTainting==="opaque"){s=i(s,"opaque")}else{V(false)}}let o=s.status===0?s:s.internalResponse;if(o.urlList.length===0){o.urlList.push(...r.urlList)}if(!r.timingAllowFailed){s.timingAllowPassed=true}if(s.type==="opaque"&&o.status===206&&o.rangeRequested&&!r.headers.contains("range")){s=o=n()}if(s.status!==0&&(r.method==="HEAD"||r.method==="CONNECT"||W.includes(o.status))){o.body=null;e.controller.dump=true}if(r.integrity){const processBodyError=t=>fetchFinale(e,n(t));if(r.responseTainting==="opaque"||s.body==null){processBodyError(s.error);return}const processBody=t=>{if(!p(t,r.integrity)){processBodyError("integrity mismatch");return}s.body=Y(t)[0];fetchFinale(e,s)};await N(s.body,processBody,processBodyError)}else{fetchFinale(e,s)}}function schemeFetch(e){if(T(e)&&e.request.redirectCount===0){return Promise.resolve(o(e))}const{request:t}=e;const{protocol:s}=I(t);switch(s){case"about:":{return Promise.resolve(n("about scheme is not supported"))}case"blob:":{if(!he){he=r(4300).resolveObjectURL}const e=I(t);if(e.search.length!==0){return Promise.resolve(n("NetworkError when attempting to fetch resource."))}const s=he(e.toString());if(t.method!=="GET"||!S(s)){return Promise.resolve(n("invalid method"))}const o=Y(s);const i=o[0];const A=O(`${i.length}`);const c=o[1]??"";const l=a({statusText:"OK",headersList:[["content-length",{name:"Content-Length",value:A}],["content-type",{name:"Content-Type",value:c}]]});l.body=i;return Promise.resolve(l)}case"data:":{const e=I(t);const r=Ae(e);if(r==="failure"){return Promise.resolve(n("failed to fetch the data URL"))}const s=ce(r.mimeType);return Promise.resolve(a({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:s}]],body:Y(r.body)[0]}))}case"file:":{return Promise.resolve(n("not implemented... yet..."))}case"http:":case"https:":{return httpFetch(e).catch((e=>n(e)))}default:{return Promise.resolve(n("unknown scheme"))}}}function finalizeResponse(e,t){e.request.done=true;if(e.processResponseDone!=null){queueMicrotask((()=>e.processResponseDone(t)))}}function fetchFinale(e,t){if(t.type==="error"){t.urlList=[e.request.urlList[0]];t.timingInfo=b({startTime:e.timingInfo.startTime})}const processResponseEndOfBody=()=>{e.request.done=true;if(e.processResponseEndOfBody!=null){queueMicrotask((()=>e.processResponseEndOfBody(t)))}};if(e.processResponse!=null){queueMicrotask((()=>e.processResponse(t)))}if(t.body==null){processResponseEndOfBody()}else{const identityTransformAlgorithm=(e,t)=>{t.enqueue(e)};const e=new le({start(){},transform:identityTransformAlgorithm,flush:processResponseEndOfBody},{size(){return 1}},{size(){return 1}});t.body={stream:t.body.stream.pipeThrough(e)}}if(e.processResponseConsumeBody!=null){const processBody=r=>e.processResponseConsumeBody(t,r);const processBodyError=r=>e.processResponseConsumeBody(t,r);if(t.body==null){queueMicrotask((()=>processBody(null)))}else{return N(t.body,processBody,processBodyError)}return Promise.resolve()}}async function httpFetch(e){const t=e.request;let r=null;let s=null;const o=e.timingInfo;if(t.serviceWorkers==="all"){}if(r===null){if(t.redirect==="follow"){t.serviceWorkers="none"}s=r=await httpNetworkOrCacheFetch(e);if(t.responseTainting==="cors"&&v(t,r)==="failure"){return n("cors failure")}if(m(t,r)==="failure"){t.timingAllowFailed=true}}if((t.responseTainting==="opaque"||r.type==="opaque")&&w(t.origin,t.client,t.destination,s)==="blocked"){return n("blocked")}if(q.has(s.status)){if(t.redirect!=="manual"){e.controller.connection.destroy()}if(t.redirect==="error"){r=n("unexpected redirect")}else if(t.redirect==="manual"){r=s}else if(t.redirect==="follow"){r=await httpRedirectFetch(e,r)}else{V(false)}}r.timingInfo=o;return r}function httpRedirectFetch(e,t){const r=e.request;const s=t.internalResponse?t.internalResponse:t;let o;try{o=C(s,I(r).hash);if(o==null){return t}}catch(e){return Promise.resolve(n(e))}if(!L(o)){return Promise.resolve(n("URL scheme must be a HTTP(S) scheme"))}if(r.redirectCount===20){return Promise.resolve(n("redirect count exceeded"))}r.redirectCount+=1;if(r.mode==="cors"&&(o.username||o.password)&&!D(r,o)){return Promise.resolve(n('cross origin not allowed for request mode "cors"'))}if(r.responseTainting==="cors"&&(o.username||o.password)){return Promise.resolve(n('URL cannot contain credentials for request mode "cors"'))}if(s.status!==303&&r.body!=null&&r.body.source==null){return Promise.resolve(n())}if([301,302].includes(s.status)&&r.method==="POST"||s.status===303&&!ge.includes(r.method)){r.method="GET";r.body=null;for(const e of z){r.headersList.delete(e)}}if(!D(I(r),o)){r.headersList.delete("authorization");r.headersList.delete("cookie");r.headersList.delete("host")}if(r.body!=null){V(r.body.source!=null);r.body=Y(r.body.source)[0]}const i=e.timingInfo;i.redirectEndTime=i.postRedirectStartTime=k(e.crossOriginIsolatedCapability);if(i.redirectStartTime===0){i.redirectStartTime=i.startTime}r.urlList.push(o);B(r,s);return mainFetch(e,true)}async function httpNetworkOrCacheFetch(e,t=false,r=false){const s=e.request;let i=null;let a=null;let A=null;const c=null;const u=false;if(s.window==="no-window"&&s.redirect==="error"){i=e;a=s}else{a=l(s);i={...e};i.request=a}const p=s.credentials==="include"||s.credentials==="same-origin"&&s.responseTainting==="basic";const d=a.body?a.body.length:null;let g=null;if(a.body==null&&["POST","PUT"].includes(a.method)){g="0"}if(d!=null){g=O(`${d}`)}if(g!=null){a.headersList.append("content-length",g)}if(d!=null&&a.keepalive){}if(a.referrer instanceof URL){a.headersList.append("referer",O(a.referrer.href))}E(a);y(a);if(!a.headersList.contains("user-agent")){a.headersList.append("user-agent",typeof esbuildDetection==="undefined"?"undici":"node")}if(a.cache==="default"&&(a.headersList.contains("if-modified-since")||a.headersList.contains("if-none-match")||a.headersList.contains("if-unmodified-since")||a.headersList.contains("if-match")||a.headersList.contains("if-range"))){a.cache="no-store"}if(a.cache==="no-cache"&&!a.preventNoCacheCacheControlHeaderModification&&!a.headersList.contains("cache-control")){a.headersList.append("cache-control","max-age=0")}if(a.cache==="no-store"||a.cache==="reload"){if(!a.headersList.contains("pragma")){a.headersList.append("pragma","no-cache")}if(!a.headersList.contains("cache-control")){a.headersList.append("cache-control","no-cache")}}if(a.headersList.contains("range")){a.headersList.append("accept-encoding","identity")}if(!a.headersList.contains("accept-encoding")){if(P(I(a))){a.headersList.append("accept-encoding","br, gzip, deflate")}else{a.headersList.append("accept-encoding","gzip, deflate")}}a.headersList.delete("host");if(p){}if(c==null){a.cache="no-store"}if(a.mode!=="no-store"&&a.mode!=="reload"){}if(A==null){if(a.mode==="only-if-cached"){return n("only if cached")}const e=await httpNetworkFetch(i,p,r);if(!Z.has(a.method)&&e.status>=200&&e.status<=399){}if(u&&e.status===304){}if(A==null){A=e}}A.urlList=[...a.urlList];if(a.headersList.contains("range")){A.rangeRequested=true}A.requestIncludesCredentials=p;if(A.status===407){if(s.window==="no-window"){return n()}if(T(e)){return o(e)}return n("proxy authentication required")}if(A.status===421&&!r&&(s.body==null||s.body.source!=null)){if(T(e)){return o(e)}e.controller.connection.destroy();A=await httpNetworkOrCacheFetch(e,t,true)}if(t){}return A}async function httpNetworkFetch(e,t=false,s=false){V(!e.controller.connection||e.controller.connection.destroyed);e.controller.connection={abort:null,destroyed:false,destroy(e){if(!this.destroyed){this.destroyed=true;this.abort?.(e??new X("The operation was aborted.","AbortError"))}}};const i=e.request;let c=null;const l=e.timingInfo;const p=null;if(p==null){i.cache="no-store"}const d=s?"yes":"no";if(i.mode==="websocket"){}else{}let g=null;if(i.body==null&&e.processRequestEndOfBody){queueMicrotask((()=>e.processRequestEndOfBody()))}else if(i.body!=null){const processBodyChunk=async function*(t){if(T(e)){return}yield t;e.processRequestBodyChunkLength?.(t.byteLength)};const processEndOfBody=()=>{if(T(e)){return}if(e.processRequestEndOfBody){e.processRequestEndOfBody()}};const processBodyError=t=>{if(T(e)){return}if(t.name==="AbortError"){e.controller.abort()}else{e.controller.terminate(t)}};g=async function*(){try{for await(const e of i.body.stream){yield*processBodyChunk(e)}processEndOfBody()}catch(e){processBodyError(e)}}()}try{const{body:t,status:r,statusText:s,headersList:n,socket:o}=await dispatch({body:g});if(o){c=a({status:r,statusText:s,headersList:n,socket:o})}else{const o=t[Symbol.asyncIterator]();e.controller.next=()=>o.next();c=a({status:r,statusText:s,headersList:n})}}catch(t){if(t.name==="AbortError"){e.controller.connection.destroy();return o(e,t)}return n(t)}const pullAlgorithm=()=>{e.controller.resume()};const cancelAlgorithm=t=>{e.controller.abort(t)};if(!fe){fe=r(5356).ReadableStream}const h=new fe({async start(t){e.controller.controller=t},async pull(e){await pullAlgorithm(e)},async cancel(e){await cancelAlgorithm(e)}},{highWaterMark:0,size(){return 1}});c.body={stream:h};e.controller.on("terminated",onAborted);e.controller.resume=async()=>{while(true){let t;let r;try{const{done:r,value:s}=await e.controller.next();if(_(e)){break}t=r?undefined:s}catch(s){if(e.controller.ended&&!l.encodedBodySize){t=undefined}else{t=s;r=true}}if(t===undefined){U(e.controller.controller);finalizeResponse(e,c);return}l.decodedBodySize+=t?.byteLength??0;if(r){e.controller.terminate(t);return}e.controller.controller.enqueue(new Uint8Array(t));if(ne(h)){e.controller.terminate();return}if(!e.controller.controller.desiredSize){return}}};function onAborted(t){if(_(e)){c.aborted=true;if(oe(h)){e.controller.controller.error(e.controller.serializedAbortReason)}}else{if(oe(h)){e.controller.controller.error(new TypeError("terminated",{cause:F(t)?t:undefined}))}}e.controller.connection.destroy()}return c;async function dispatch({body:t}){const r=I(i);const s=e.controller.dispatcher;return new Promise(((n,o)=>s.dispatch({path:r.pathname+r.search,origin:r.origin,method:i.method,body:e.controller.dispatcher.isMockActive?i.body&&(i.body.source||i.body.stream):t,headers:i.headersList.entries,maxRedirections:0,upgrade:i.mode==="websocket"?"websocket":undefined},{body:null,abort:null,onConnect(t){const{connection:r}=e.controller;if(r.destroyed){t(new X("The operation was aborted.","AbortError"))}else{e.controller.on("terminated",t);this.abort=r.abort=t}},onHeaders(e,t,r,s){if(e<200){return}let o=[];let a="";const c=new A;if(Array.isArray(t)){for(let e=0;ee.trim()))}else if(r.toLowerCase()==="location"){a=s}c[$].append(r,s)}}else{const e=Object.keys(t);for(const r of e){const e=t[r];if(r.toLowerCase()==="content-encoding"){o=e.toLowerCase().split(",").map((e=>e.trim())).reverse()}else if(r.toLowerCase()==="location"){a=e}c[$].append(r,e)}}this.body=new te({read:r});const l=[];const p=i.redirect==="follow"&&a&&q.has(e);if(i.method!=="HEAD"&&i.method!=="CONNECT"&&!W.includes(e)&&!p){for(const e of o){if(e==="x-gzip"||e==="gzip"){l.push(u.createGunzip({flush:u.constants.Z_SYNC_FLUSH,finishFlush:u.constants.Z_SYNC_FLUSH}))}else if(e==="deflate"){l.push(u.createInflate())}else if(e==="br"){l.push(u.createBrotliDecompress())}else{l.length=0;break}}}n({status:e,statusText:s,headersList:c[$],body:l.length?re(this.body,...l,(()=>{})):this.body.on("error",(()=>{}))});return true},onData(t){if(e.controller.dump){return}const r=t;l.encodedBodySize+=r.byteLength;return this.body.push(r)},onComplete(){if(this.abort){e.controller.off("terminated",this.abort)}e.controller.ended=true;this.body.push(null)},onError(t){if(this.abort){e.controller.off("terminated",this.abort)}this.body?.destroy(t);e.controller.terminate(t);o(t)},onUpgrade(e,t,r){if(e!==101){return}const s=new A;for(let e=0;e{"use strict";const{extractBody:s,mixinBody:n,cloneBody:o}=r(1226);const{Headers:i,fill:a,HeadersList:A}=r(1855);const{FinalizationRegistry:c}=r(5285)();const l=r(7497);const{isValidHTTPToken:u,sameOrigin:p,normalizeMethod:d,makePolicyContainer:g,normalizeMethodRecord:h}=r(5496);const{forbiddenMethodsSet:m,corsSafeListedMethodsSet:E,referrerPolicy:C,requestRedirect:I,requestMode:B,requestCredentials:Q,requestCache:b,requestDuplex:y}=r(7533);const{kEnumerableProperty:v}=l;const{kHeaders:w,kSignal:x,kState:k,kGuard:R,kRealm:S}=r(5376);const{webidl:D}=r(9111);const{getGlobalOrigin:T}=r(7011);const{URLSerializer:_}=r(5958);const{kHeadersList:F,kConstruct:N}=r(3932);const U=r(9491);const{getMaxListeners:O,setMaxListeners:M,getEventListeners:L,defaultMaxListeners:P}=r(9820);let G=globalThis.TransformStream;const j=Symbol("abortController");const H=new c((({signal:e,abort:t})=>{e.removeEventListener("abort",t)}));class Request{constructor(e,t={}){if(e===N){return}D.argumentLengthCheck(arguments,1,{header:"Request constructor"});e=D.converters.RequestInfo(e);t=D.converters.RequestInit(t);this[S]={settingsObject:{baseUrl:T(),get origin(){return this.baseUrl?.origin},policyContainer:g()}};let n=null;let o=null;const c=this[S].settingsObject.baseUrl;let C=null;if(typeof e==="string"){let t;try{t=new URL(e,c)}catch(t){throw new TypeError("Failed to parse URL from "+e,{cause:t})}if(t.username||t.password){throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+e)}n=makeRequest({urlList:[t]});o="cors"}else{U(e instanceof Request);n=e[k];C=e[x]}const I=this[S].settingsObject.origin;let B="client";if(n.window?.constructor?.name==="EnvironmentSettingsObject"&&p(n.window,I)){B=n.window}if(t.window!=null){throw new TypeError(`'window' option '${B}' must be null`)}if("window"in t){B="no-window"}n=makeRequest({method:n.method,headersList:n.headersList,unsafeRequest:n.unsafeRequest,client:this[S].settingsObject,window:B,priority:n.priority,origin:n.origin,referrer:n.referrer,referrerPolicy:n.referrerPolicy,mode:n.mode,credentials:n.credentials,cache:n.cache,redirect:n.redirect,integrity:n.integrity,keepalive:n.keepalive,reloadNavigation:n.reloadNavigation,historyNavigation:n.historyNavigation,urlList:[...n.urlList]});const Q=Object.keys(t).length!==0;if(Q){if(n.mode==="navigate"){n.mode="same-origin"}n.reloadNavigation=false;n.historyNavigation=false;n.origin="client";n.referrer="client";n.referrerPolicy="";n.url=n.urlList[n.urlList.length-1];n.urlList=[n.url]}if(t.referrer!==undefined){const e=t.referrer;if(e===""){n.referrer="no-referrer"}else{let t;try{t=new URL(e,c)}catch(t){throw new TypeError(`Referrer "${e}" is not a valid URL.`,{cause:t})}if(t.protocol==="about:"&&t.hostname==="client"||I&&!p(t,this[S].settingsObject.baseUrl)){n.referrer="client"}else{n.referrer=t}}}if(t.referrerPolicy!==undefined){n.referrerPolicy=t.referrerPolicy}let b;if(t.mode!==undefined){b=t.mode}else{b=o}if(b==="navigate"){throw D.errors.exception({header:"Request constructor",message:"invalid request mode navigate."})}if(b!=null){n.mode=b}if(t.credentials!==undefined){n.credentials=t.credentials}if(t.cache!==undefined){n.cache=t.cache}if(n.cache==="only-if-cached"&&n.mode!=="same-origin"){throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode")}if(t.redirect!==undefined){n.redirect=t.redirect}if(t.integrity!=null){n.integrity=String(t.integrity)}if(t.keepalive!==undefined){n.keepalive=Boolean(t.keepalive)}if(t.method!==undefined){let e=t.method;if(!u(e)){throw new TypeError(`'${e}' is not a valid HTTP method.`)}if(m.has(e.toUpperCase())){throw new TypeError(`'${e}' HTTP method is unsupported.`)}e=h[e]??d(e);n.method=e}if(t.signal!==undefined){C=t.signal}this[k]=n;const y=new AbortController;this[x]=y.signal;this[x][S]=this[S];if(C!=null){if(!C||typeof C.aborted!=="boolean"||typeof C.addEventListener!=="function"){throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.")}if(C.aborted){y.abort(C.reason)}else{this[j]=y;const e=new WeakRef(y);const abort=function(){const t=e.deref();if(t!==undefined){t.abort(this.reason)}};try{if(typeof O==="function"&&O(C)===P){M(100,C)}else if(L(C,"abort").length>=P){M(100,C)}}catch{}l.addAbortListener(C,abort);H.register(y,{signal:C,abort:abort})}}this[w]=new i(N);this[w][F]=n.headersList;this[w][R]="request";this[w][S]=this[S];if(b==="no-cors"){if(!E.has(n.method)){throw new TypeError(`'${n.method} is unsupported in no-cors mode.`)}this[w][R]="request-no-cors"}if(Q){const e=this[w][F];const r=t.headers!==undefined?t.headers:new A(e);e.clear();if(r instanceof A){for(const[t,s]of r){e.append(t,s)}e.cookies=r.cookies}else{a(this[w],r)}}const v=e instanceof Request?e[k].body:null;if((t.body!=null||v!=null)&&(n.method==="GET"||n.method==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body.")}let _=null;if(t.body!=null){const[e,r]=s(t.body,n.keepalive);_=e;if(r&&!this[w][F].contains("content-type")){this[w].append("content-type",r)}}const J=_??v;if(J!=null&&J.source==null){if(_!=null&&t.duplex==null){throw new TypeError("RequestInit: duplex option is required when sending a body.")}if(n.mode!=="same-origin"&&n.mode!=="cors"){throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"')}n.useCORSPreflightFlag=true}let V=J;if(_==null&&v!=null){if(l.isDisturbed(v.stream)||v.stream.locked){throw new TypeError("Cannot construct a Request with a Request object that has already been used.")}if(!G){G=r(5356).TransformStream}const e=new G;v.stream.pipeThrough(e);V={source:v.source,length:v.length,stream:e.readable}}this[k].body=V}get method(){D.brandCheck(this,Request);return this[k].method}get url(){D.brandCheck(this,Request);return _(this[k].url)}get headers(){D.brandCheck(this,Request);return this[w]}get destination(){D.brandCheck(this,Request);return this[k].destination}get referrer(){D.brandCheck(this,Request);if(this[k].referrer==="no-referrer"){return""}if(this[k].referrer==="client"){return"about:client"}return this[k].referrer.toString()}get referrerPolicy(){D.brandCheck(this,Request);return this[k].referrerPolicy}get mode(){D.brandCheck(this,Request);return this[k].mode}get credentials(){return this[k].credentials}get cache(){D.brandCheck(this,Request);return this[k].cache}get redirect(){D.brandCheck(this,Request);return this[k].redirect}get integrity(){D.brandCheck(this,Request);return this[k].integrity}get keepalive(){D.brandCheck(this,Request);return this[k].keepalive}get isReloadNavigation(){D.brandCheck(this,Request);return this[k].reloadNavigation}get isHistoryNavigation(){D.brandCheck(this,Request);return this[k].historyNavigation}get signal(){D.brandCheck(this,Request);return this[x]}get body(){D.brandCheck(this,Request);return this[k].body?this[k].body.stream:null}get bodyUsed(){D.brandCheck(this,Request);return!!this[k].body&&l.isDisturbed(this[k].body.stream)}get duplex(){D.brandCheck(this,Request);return"half"}clone(){D.brandCheck(this,Request);if(this.bodyUsed||this.body?.locked){throw new TypeError("unusable")}const e=cloneRequest(this[k]);const t=new Request(N);t[k]=e;t[S]=this[S];t[w]=new i(N);t[w][F]=e.headersList;t[w][R]=this[w][R];t[w][S]=this[w][S];const r=new AbortController;if(this.signal.aborted){r.abort(this.signal.reason)}else{l.addAbortListener(this.signal,(()=>{r.abort(this.signal.reason)}))}t[x]=r.signal;return t}}n(Request);function makeRequest(e){const t={method:"GET",localURLsOnly:false,unsafeRequest:false,body:null,client:null,reservedClient:null,replacesClientId:"",window:"client",keepalive:false,serviceWorkers:"all",initiator:"",destination:"",priority:null,origin:"client",policyContainer:"client",referrer:"client",referrerPolicy:"",mode:"no-cors",useCORSPreflightFlag:false,credentials:"same-origin",useCredentials:false,cache:"default",redirect:"follow",integrity:"",cryptoGraphicsNonceMetadata:"",parserMetadata:"",reloadNavigation:false,historyNavigation:false,userActivation:false,taintedOrigin:false,redirectCount:0,responseTainting:"basic",preventNoCacheCacheControlHeaderModification:false,done:false,timingAllowFailed:false,...e,headersList:e.headersList?new A(e.headersList):new A};t.url=t.urlList[0];return t}function cloneRequest(e){const t=makeRequest({...e,body:null});if(e.body!=null){t.body=o(e.body)}return t}Object.defineProperties(Request.prototype,{method:v,url:v,headers:v,redirect:v,clone:v,signal:v,duplex:v,destination:v,body:v,bodyUsed:v,isHistoryNavigation:v,isReloadNavigation:v,keepalive:v,integrity:v,cache:v,credentials:v,attribute:v,referrerPolicy:v,referrer:v,mode:v,[Symbol.toStringTag]:{value:"Request",configurable:true}});D.converters.Request=D.interfaceConverter(Request);D.converters.RequestInfo=function(e){if(typeof e==="string"){return D.converters.USVString(e)}if(e instanceof Request){return D.converters.Request(e)}return D.converters.USVString(e)};D.converters.AbortSignal=D.interfaceConverter(AbortSignal);D.converters.RequestInit=D.dictionaryConverter([{key:"method",converter:D.converters.ByteString},{key:"headers",converter:D.converters.HeadersInit},{key:"body",converter:D.nullableConverter(D.converters.BodyInit)},{key:"referrer",converter:D.converters.USVString},{key:"referrerPolicy",converter:D.converters.DOMString,allowedValues:C},{key:"mode",converter:D.converters.DOMString,allowedValues:B},{key:"credentials",converter:D.converters.DOMString,allowedValues:Q},{key:"cache",converter:D.converters.DOMString,allowedValues:b},{key:"redirect",converter:D.converters.DOMString,allowedValues:I},{key:"integrity",converter:D.converters.DOMString},{key:"keepalive",converter:D.converters.boolean},{key:"signal",converter:D.nullableConverter((e=>D.converters.AbortSignal(e,{strict:false})))},{key:"window",converter:D.converters.any},{key:"duplex",converter:D.converters.DOMString,allowedValues:y}]);e.exports={Request:Request,makeRequest:makeRequest}},3950:(e,t,r)=>{"use strict";const{Headers:s,HeadersList:n,fill:o}=r(1855);const{extractBody:i,cloneBody:a,mixinBody:A}=r(1226);const c=r(7497);const{kEnumerableProperty:l}=c;const{isValidReasonPhrase:u,isCancelled:p,isAborted:d,isBlobLike:g,serializeJavascriptValueToJSONString:h,isErrorLike:m,isomorphicEncode:E}=r(5496);const{redirectStatusSet:C,nullBodyStatus:I,DOMException:B}=r(7533);const{kState:Q,kHeaders:b,kGuard:y,kRealm:v}=r(5376);const{webidl:w}=r(9111);const{FormData:x}=r(9425);const{getGlobalOrigin:k}=r(7011);const{URLSerializer:R}=r(5958);const{kHeadersList:S,kConstruct:D}=r(3932);const T=r(9491);const{types:_}=r(3837);const F=globalThis.ReadableStream||r(5356).ReadableStream;const N=new TextEncoder("utf-8");class Response{static error(){const e={settingsObject:{}};const t=new Response;t[Q]=makeNetworkError();t[v]=e;t[b][S]=t[Q].headersList;t[b][y]="immutable";t[b][v]=e;return t}static json(e,t={}){w.argumentLengthCheck(arguments,1,{header:"Response.json"});if(t!==null){t=w.converters.ResponseInit(t)}const r=N.encode(h(e));const s=i(r);const n={settingsObject:{}};const o=new Response;o[v]=n;o[b][y]="response";o[b][v]=n;initializeResponse(o,t,{body:s[0],type:"application/json"});return o}static redirect(e,t=302){const r={settingsObject:{}};w.argumentLengthCheck(arguments,1,{header:"Response.redirect"});e=w.converters.USVString(e);t=w.converters["unsigned short"](t);let s;try{s=new URL(e,k())}catch(t){throw Object.assign(new TypeError("Failed to parse URL from "+e),{cause:t})}if(!C.has(t)){throw new RangeError("Invalid status code "+t)}const n=new Response;n[v]=r;n[b][y]="immutable";n[b][v]=r;n[Q].status=t;const o=E(R(s));n[Q].headersList.append("location",o);return n}constructor(e=null,t={}){if(e!==null){e=w.converters.BodyInit(e)}t=w.converters.ResponseInit(t);this[v]={settingsObject:{}};this[Q]=makeResponse({});this[b]=new s(D);this[b][y]="response";this[b][S]=this[Q].headersList;this[b][v]=this[v];let r=null;if(e!=null){const[t,s]=i(e);r={body:t,type:s}}initializeResponse(this,t,r)}get type(){w.brandCheck(this,Response);return this[Q].type}get url(){w.brandCheck(this,Response);const e=this[Q].urlList;const t=e[e.length-1]??null;if(t===null){return""}return R(t,true)}get redirected(){w.brandCheck(this,Response);return this[Q].urlList.length>1}get status(){w.brandCheck(this,Response);return this[Q].status}get ok(){w.brandCheck(this,Response);return this[Q].status>=200&&this[Q].status<=299}get statusText(){w.brandCheck(this,Response);return this[Q].statusText}get headers(){w.brandCheck(this,Response);return this[b]}get body(){w.brandCheck(this,Response);return this[Q].body?this[Q].body.stream:null}get bodyUsed(){w.brandCheck(this,Response);return!!this[Q].body&&c.isDisturbed(this[Q].body.stream)}clone(){w.brandCheck(this,Response);if(this.bodyUsed||this.body&&this.body.locked){throw w.errors.exception({header:"Response.clone",message:"Body has already been consumed."})}const e=cloneResponse(this[Q]);const t=new Response;t[Q]=e;t[v]=this[v];t[b][S]=e.headersList;t[b][y]=this[b][y];t[b][v]=this[b][v];return t}}A(Response);Object.defineProperties(Response.prototype,{type:l,url:l,status:l,ok:l,redirected:l,statusText:l,headers:l,clone:l,body:l,bodyUsed:l,[Symbol.toStringTag]:{value:"Response",configurable:true}});Object.defineProperties(Response,{json:l,redirect:l,error:l});function cloneResponse(e){if(e.internalResponse){return filterResponse(cloneResponse(e.internalResponse),e.type)}const t=makeResponse({...e,body:null});if(e.body!=null){t.body=a(e.body)}return t}function makeResponse(e){return{aborted:false,rangeRequested:false,timingAllowPassed:false,requestIncludesCredentials:false,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...e,headersList:e.headersList?new n(e.headersList):new n,urlList:e.urlList?[...e.urlList]:[]}}function makeNetworkError(e){const t=m(e);return makeResponse({type:"error",status:0,error:t?e:new Error(e?String(e):e),aborted:e&&e.name==="AbortError"})}function makeFilteredResponse(e,t){t={internalResponse:e,...t};return new Proxy(e,{get(e,r){return r in t?t[r]:e[r]},set(e,r,s){T(!(r in t));e[r]=s;return true}})}function filterResponse(e,t){if(t==="basic"){return makeFilteredResponse(e,{type:"basic",headersList:e.headersList})}else if(t==="cors"){return makeFilteredResponse(e,{type:"cors",headersList:e.headersList})}else if(t==="opaque"){return makeFilteredResponse(e,{type:"opaque",urlList:Object.freeze([]),status:0,statusText:"",body:null})}else if(t==="opaqueredirect"){return makeFilteredResponse(e,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null})}else{T(false)}}function makeAppropriateNetworkError(e,t=null){T(p(e));return d(e)?makeNetworkError(Object.assign(new B("The operation was aborted.","AbortError"),{cause:t})):makeNetworkError(Object.assign(new B("Request was cancelled."),{cause:t}))}function initializeResponse(e,t,r){if(t.status!==null&&(t.status<200||t.status>599)){throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.')}if("statusText"in t&&t.statusText!=null){if(!u(String(t.statusText))){throw new TypeError("Invalid statusText")}}if("status"in t&&t.status!=null){e[Q].status=t.status}if("statusText"in t&&t.statusText!=null){e[Q].statusText=t.statusText}if("headers"in t&&t.headers!=null){o(e[b],t.headers)}if(r){if(I.includes(e.status)){throw w.errors.exception({header:"Response constructor",message:"Invalid response status code "+e.status})}e[Q].body=r.body;if(r.type!=null&&!e[Q].headersList.contains("Content-Type")){e[Q].headersList.append("content-type",r.type)}}}w.converters.ReadableStream=w.interfaceConverter(F);w.converters.FormData=w.interfaceConverter(x);w.converters.URLSearchParams=w.interfaceConverter(URLSearchParams);w.converters.XMLHttpRequestBodyInit=function(e){if(typeof e==="string"){return w.converters.USVString(e)}if(g(e)){return w.converters.Blob(e,{strict:false})}if(_.isArrayBuffer(e)||_.isTypedArray(e)||_.isDataView(e)){return w.converters.BufferSource(e)}if(c.isFormDataLike(e)){return w.converters.FormData(e,{strict:false})}if(e instanceof URLSearchParams){return w.converters.URLSearchParams(e)}return w.converters.DOMString(e)};w.converters.BodyInit=function(e){if(e instanceof F){return w.converters.ReadableStream(e)}if(e?.[Symbol.asyncIterator]){return e}return w.converters.XMLHttpRequestBodyInit(e)};w.converters.ResponseInit=w.dictionaryConverter([{key:"status",converter:w.converters["unsigned short"],defaultValue:200},{key:"statusText",converter:w.converters.ByteString,defaultValue:""},{key:"headers",converter:w.converters.HeadersInit}]);e.exports={makeNetworkError:makeNetworkError,makeResponse:makeResponse,makeAppropriateNetworkError:makeAppropriateNetworkError,filterResponse:filterResponse,Response:Response,cloneResponse:cloneResponse}},5376:e=>{"use strict";e.exports={kUrl:Symbol("url"),kHeaders:Symbol("headers"),kSignal:Symbol("signal"),kState:Symbol("state"),kGuard:Symbol("guard"),kRealm:Symbol("realm")}},5496:(e,t,r)=>{"use strict";const{redirectStatusSet:s,referrerPolicySet:n,badPortsSet:o}=r(7533);const{getGlobalOrigin:i}=r(7011);const{performance:a}=r(4074);const{isBlobLike:A,toUSVString:c,ReadableStreamFrom:l}=r(7497);const u=r(9491);const{isUint8Array:p}=r(9830);let d;try{d=r(6113)}catch{}function responseURL(e){const t=e.urlList;const r=t.length;return r===0?null:t[r-1].toString()}function responseLocationURL(e,t){if(!s.has(e.status)){return null}let r=e.headersList.get("location");if(r!==null&&isValidHeaderValue(r)){r=new URL(r,responseURL(e))}if(r&&!r.hash){r.hash=t}return r}function requestCurrentURL(e){return e.urlList[e.urlList.length-1]}function requestBadPort(e){const t=requestCurrentURL(e);if(urlIsHttpHttpsScheme(t)&&o.has(t.port)){return"blocked"}return"allowed"}function isErrorLike(e){return e instanceof Error||(e?.constructor?.name==="Error"||e?.constructor?.name==="DOMException")}function isValidReasonPhrase(e){for(let t=0;t=32&&r<=126||r>=128&&r<=255)){return false}}return true}function isTokenCharCode(e){switch(e){case 34:case 40:case 41:case 44:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 123:case 125:return false;default:return e>=33&&e<=126}}function isValidHTTPToken(e){if(e.length===0){return false}for(let t=0;t0){for(let e=s.length;e!==0;e--){const t=s[e-1].trim();if(n.has(t)){o=t;break}}}if(o!==""){e.referrerPolicy=o}}function crossOriginResourcePolicyCheck(){return"allowed"}function corsCheck(){return"success"}function TAOCheck(){return"success"}function appendFetchMetadata(e){let t=null;t=e.mode;e.headersList.set("sec-fetch-mode",t)}function appendRequestOriginHeader(e){let t=e.origin;if(e.responseTainting==="cors"||e.mode==="websocket"){if(t){e.headersList.append("origin",t)}}else if(e.method!=="GET"&&e.method!=="HEAD"){switch(e.referrerPolicy){case"no-referrer":t=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":if(e.origin&&urlHasHttpsScheme(e.origin)&&!urlHasHttpsScheme(requestCurrentURL(e))){t=null}break;case"same-origin":if(!sameOrigin(e,requestCurrentURL(e))){t=null}break;default:}if(t){e.headersList.append("origin",t)}}}function coarsenedSharedCurrentTime(e){return a.now()}function createOpaqueTimingInfo(e){return{startTime:e.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:e.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function makePolicyContainer(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function clonePolicyContainer(e){return{referrerPolicy:e.referrerPolicy}}function determineRequestsReferrer(e){const t=e.referrerPolicy;u(t);let r=null;if(e.referrer==="client"){const e=i();if(!e||e.origin==="null"){return"no-referrer"}r=new URL(e)}else if(e.referrer instanceof URL){r=e.referrer}let s=stripURLForReferrer(r);const n=stripURLForReferrer(r,true);if(s.toString().length>4096){s=n}const o=sameOrigin(e,s);const a=isURLPotentiallyTrustworthy(s)&&!isURLPotentiallyTrustworthy(e.url);switch(t){case"origin":return n!=null?n:stripURLForReferrer(r,true);case"unsafe-url":return s;case"same-origin":return o?n:"no-referrer";case"origin-when-cross-origin":return o?s:n;case"strict-origin-when-cross-origin":{const t=requestCurrentURL(e);if(sameOrigin(s,t)){return s}if(isURLPotentiallyTrustworthy(s)&&!isURLPotentiallyTrustworthy(t)){return"no-referrer"}return n}case"strict-origin":case"no-referrer-when-downgrade":default:return a?"no-referrer":n}}function stripURLForReferrer(e,t){u(e instanceof URL);if(e.protocol==="file:"||e.protocol==="about:"||e.protocol==="blank:"){return"no-referrer"}e.username="";e.password="";e.hash="";if(t){e.pathname="";e.search=""}return e}function isURLPotentiallyTrustworthy(e){if(!(e instanceof URL)){return false}if(e.href==="about:blank"||e.href==="about:srcdoc"){return true}if(e.protocol==="data:")return true;if(e.protocol==="file:")return true;return isOriginPotentiallyTrustworthy(e.origin);function isOriginPotentiallyTrustworthy(e){if(e==null||e==="null")return false;const t=new URL(e);if(t.protocol==="https:"||t.protocol==="wss:"){return true}if(/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(t.hostname)||(t.hostname==="localhost"||t.hostname.includes("localhost."))||t.hostname.endsWith(".localhost")){return true}return false}}function bytesMatch(e,t){if(d===undefined){return true}const r=parseMetadata(t);if(r==="no metadata"){return true}if(r.length===0){return true}const s=r.sort(((e,t)=>t.algo.localeCompare(e.algo)));const n=s[0].algo;const o=s.filter((e=>e.algo===n));for(const t of o){const r=t.algo;let s=t.hash;if(s.endsWith("==")){s=s.slice(0,-2)}let n=d.createHash(r).update(e).digest("base64");if(n.endsWith("==")){n=n.slice(0,-2)}if(n===s){return true}let o=d.createHash(r).update(e).digest("base64url");if(o.endsWith("==")){o=o.slice(0,-2)}if(o===s){return true}}return false}const g=/((?sha256|sha384|sha512)-(?[A-z0-9+/]{1}.*={0,2}))( +[\x21-\x7e]?)?/i;function parseMetadata(e){const t=[];let r=true;const s=d.getHashes();for(const n of e.split(" ")){r=false;const e=g.exec(n);if(e===null||e.groups===undefined){continue}const o=e.groups.algo;if(s.includes(o.toLowerCase())){t.push(e.groups)}}if(r===true){return"no metadata"}return t}function tryUpgradeRequestToAPotentiallyTrustworthyURL(e){}function sameOrigin(e,t){if(e.origin===t.origin&&e.origin==="null"){return true}if(e.protocol===t.protocol&&e.hostname===t.hostname&&e.port===t.port){return true}return false}function createDeferredPromise(){let e;let t;const r=new Promise(((r,s)=>{e=r;t=s}));return{promise:r,resolve:e,reject:t}}function isAborted(e){return e.controller.state==="aborted"}function isCancelled(e){return e.controller.state==="aborted"||e.controller.state==="terminated"}const h={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT"};Object.setPrototypeOf(h,null);function normalizeMethod(e){return h[e.toLowerCase()]??e}function serializeJavascriptValueToJSONString(e){const t=JSON.stringify(e);if(t===undefined){throw new TypeError("Value is not JSON serializable")}u(typeof t==="string");return t}const m=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function makeIterator(e,t,r){const s={index:0,kind:r,target:e};const n={next(){if(Object.getPrototypeOf(this)!==n){throw new TypeError(`'next' called on an object that does not implement interface ${t} Iterator.`)}const{index:e,kind:r,target:o}=s;const i=o();const a=i.length;if(e>=a){return{value:undefined,done:true}}const A=i[e];s.index=e+1;return iteratorResult(A,r)},[Symbol.toStringTag]:`${t} Iterator`};Object.setPrototypeOf(n,m);return Object.setPrototypeOf({},n)}function iteratorResult(e,t){let r;switch(t){case"key":{r=e[0];break}case"value":{r=e[1];break}case"key+value":{r=e;break}}return{value:r,done:false}}async function fullyReadBody(e,t,r){const s=t;const n=r;let o;try{o=e.stream.getReader()}catch(e){n(e);return}try{const e=await readAllBytes(o);s(e)}catch(e){n(e)}}let E=globalThis.ReadableStream;function isReadableStreamLike(e){if(!E){E=r(5356).ReadableStream}return e instanceof E||e[Symbol.toStringTag]==="ReadableStream"&&typeof e.tee==="function"}const C=65535;function isomorphicDecode(e){if(e.lengthe+String.fromCharCode(t)),"")}function readableStreamClose(e){try{e.close()}catch(e){if(!e.message.includes("Controller is already closed")){throw e}}}function isomorphicEncode(e){for(let t=0;tObject.prototype.hasOwnProperty.call(e,t));e.exports={isAborted:isAborted,isCancelled:isCancelled,createDeferredPromise:createDeferredPromise,ReadableStreamFrom:l,toUSVString:c,tryUpgradeRequestToAPotentiallyTrustworthyURL:tryUpgradeRequestToAPotentiallyTrustworthyURL,coarsenedSharedCurrentTime:coarsenedSharedCurrentTime,determineRequestsReferrer:determineRequestsReferrer,makePolicyContainer:makePolicyContainer,clonePolicyContainer:clonePolicyContainer,appendFetchMetadata:appendFetchMetadata,appendRequestOriginHeader:appendRequestOriginHeader,TAOCheck:TAOCheck,corsCheck:corsCheck,crossOriginResourcePolicyCheck:crossOriginResourcePolicyCheck,createOpaqueTimingInfo:createOpaqueTimingInfo,setRequestReferrerPolicyOnRedirect:setRequestReferrerPolicyOnRedirect,isValidHTTPToken:isValidHTTPToken,requestBadPort:requestBadPort,requestCurrentURL:requestCurrentURL,responseURL:responseURL,responseLocationURL:responseLocationURL,isBlobLike:A,isURLPotentiallyTrustworthy:isURLPotentiallyTrustworthy,isValidReasonPhrase:isValidReasonPhrase,sameOrigin:sameOrigin,normalizeMethod:normalizeMethod,serializeJavascriptValueToJSONString:serializeJavascriptValueToJSONString,makeIterator:makeIterator,isValidHeaderName:isValidHeaderName,isValidHeaderValue:isValidHeaderValue,hasOwn:I,isErrorLike:isErrorLike,fullyReadBody:fullyReadBody,bytesMatch:bytesMatch,isReadableStreamLike:isReadableStreamLike,readableStreamClose:readableStreamClose,isomorphicEncode:isomorphicEncode,isomorphicDecode:isomorphicDecode,urlIsLocal:urlIsLocal,urlHasHttpsScheme:urlHasHttpsScheme,urlIsHttpHttpsScheme:urlIsHttpHttpsScheme,readAllBytes:readAllBytes,normalizeMethodRecord:h}},9111:(e,t,r)=>{"use strict";const{types:s}=r(3837);const{hasOwn:n,toUSVString:o}=r(5496);const i={};i.converters={};i.util={};i.errors={};i.errors.exception=function(e){return new TypeError(`${e.header}: ${e.message}`)};i.errors.conversionFailed=function(e){const t=e.types.length===1?"":" one of";const r=`${e.argument} could not be converted to`+`${t}: ${e.types.join(", ")}.`;return i.errors.exception({header:e.prefix,message:r})};i.errors.invalidArgument=function(e){return i.errors.exception({header:e.prefix,message:`"${e.value}" is an invalid ${e.type}.`})};i.brandCheck=function(e,t,r=undefined){if(r?.strict!==false&&!(e instanceof t)){throw new TypeError("Illegal invocation")}else{return e?.[Symbol.toStringTag]===t.prototype[Symbol.toStringTag]}};i.argumentLengthCheck=function({length:e},t,r){if(en){throw i.errors.exception({header:"Integer conversion",message:`Value must be between ${o}-${n}, got ${a}.`})}return a}if(!Number.isNaN(a)&&s.clamp===true){a=Math.min(Math.max(a,o),n);if(Math.floor(a)%2===0){a=Math.floor(a)}else{a=Math.ceil(a)}return a}if(Number.isNaN(a)||a===0&&Object.is(0,a)||a===Number.POSITIVE_INFINITY||a===Number.NEGATIVE_INFINITY){return 0}a=i.util.IntegerPart(a);a=a%Math.pow(2,t);if(r==="signed"&&a>=Math.pow(2,t)-1){return a-Math.pow(2,t)}return a};i.util.IntegerPart=function(e){const t=Math.floor(Math.abs(e));if(e<0){return-1*t}return t};i.sequenceConverter=function(e){return t=>{if(i.util.Type(t)!=="Object"){throw i.errors.exception({header:"Sequence",message:`Value of type ${i.util.Type(t)} is not an Object.`})}const r=t?.[Symbol.iterator]?.();const s=[];if(r===undefined||typeof r.next!=="function"){throw i.errors.exception({header:"Sequence",message:"Object is not an iterator."})}while(true){const{done:t,value:n}=r.next();if(t){break}s.push(e(n))}return s}};i.recordConverter=function(e,t){return r=>{if(i.util.Type(r)!=="Object"){throw i.errors.exception({header:"Record",message:`Value of type ${i.util.Type(r)} is not an Object.`})}const n={};if(!s.isProxy(r)){const s=Object.keys(r);for(const o of s){const s=e(o);const i=t(r[o]);n[s]=i}return n}const o=Reflect.ownKeys(r);for(const s of o){const o=Reflect.getOwnPropertyDescriptor(r,s);if(o?.enumerable){const o=e(s);const i=t(r[s]);n[o]=i}}return n}};i.interfaceConverter=function(e){return(t,r={})=>{if(r.strict!==false&&!(t instanceof e)){throw i.errors.exception({header:e.name,message:`Expected ${t} to be an instance of ${e.name}.`})}return t}};i.dictionaryConverter=function(e){return t=>{const r=i.util.Type(t);const s={};if(r==="Null"||r==="Undefined"){return s}else if(r!=="Object"){throw i.errors.exception({header:"Dictionary",message:`Expected ${t} to be one of: Null, Undefined, Object.`})}for(const r of e){const{key:e,defaultValue:o,required:a,converter:A}=r;if(a===true){if(!n(t,e)){throw i.errors.exception({header:"Dictionary",message:`Missing required key "${e}".`})}}let c=t[e];const l=n(r,"defaultValue");if(l&&c!==null){c=c??o}if(a||l||c!==undefined){c=A(c);if(r.allowedValues&&!r.allowedValues.includes(c)){throw i.errors.exception({header:"Dictionary",message:`${c} is not an accepted type. Expected one of ${r.allowedValues.join(", ")}.`})}s[e]=c}}return s}};i.nullableConverter=function(e){return t=>{if(t===null){return t}return e(t)}};i.converters.DOMString=function(e,t={}){if(e===null&&t.legacyNullToEmptyString){return""}if(typeof e==="symbol"){throw new TypeError("Could not convert argument of type symbol to string.")}return String(e)};i.converters.ByteString=function(e){const t=i.converters.DOMString(e);for(let e=0;e255){throw new TypeError("Cannot convert argument to a ByteString because the character at "+`index ${e} has a value of ${t.charCodeAt(e)} which is greater than 255.`)}}return t};i.converters.USVString=o;i.converters.boolean=function(e){const t=Boolean(e);return t};i.converters.any=function(e){return e};i.converters["long long"]=function(e){const t=i.util.ConvertToInt(e,64,"signed");return t};i.converters["unsigned long long"]=function(e){const t=i.util.ConvertToInt(e,64,"unsigned");return t};i.converters["unsigned long"]=function(e){const t=i.util.ConvertToInt(e,32,"unsigned");return t};i.converters["unsigned short"]=function(e,t){const r=i.util.ConvertToInt(e,16,"unsigned",t);return r};i.converters.ArrayBuffer=function(e,t={}){if(i.util.Type(e)!=="Object"||!s.isAnyArrayBuffer(e)){throw i.errors.conversionFailed({prefix:`${e}`,argument:`${e}`,types:["ArrayBuffer"]})}if(t.allowShared===false&&s.isSharedArrayBuffer(e)){throw i.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return e};i.converters.TypedArray=function(e,t,r={}){if(i.util.Type(e)!=="Object"||!s.isTypedArray(e)||e.constructor.name!==t.name){throw i.errors.conversionFailed({prefix:`${t.name}`,argument:`${e}`,types:[t.name]})}if(r.allowShared===false&&s.isSharedArrayBuffer(e.buffer)){throw i.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return e};i.converters.DataView=function(e,t={}){if(i.util.Type(e)!=="Object"||!s.isDataView(e)){throw i.errors.exception({header:"DataView",message:"Object is not a DataView."})}if(t.allowShared===false&&s.isSharedArrayBuffer(e.buffer)){throw i.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return e};i.converters.BufferSource=function(e,t={}){if(s.isAnyArrayBuffer(e)){return i.converters.ArrayBuffer(e,t)}if(s.isTypedArray(e)){return i.converters.TypedArray(e,e.constructor)}if(s.isDataView(e)){return i.converters.DataView(e,t)}throw new TypeError(`Could not convert ${e} to a BufferSource.`)};i.converters["sequence"]=i.sequenceConverter(i.converters.ByteString);i.converters["sequence>"]=i.sequenceConverter(i.converters["sequence"]);i.converters["record"]=i.recordConverter(i.converters.ByteString,i.converters.ByteString);e.exports={webidl:i}},3532:e=>{"use strict";function getEncoding(e){if(!e){return"failure"}switch(e.trim().toLowerCase()){case"unicode-1-1-utf-8":case"unicode11utf8":case"unicode20utf8":case"utf-8":case"utf8":case"x-unicode20utf8":return"UTF-8";case"866":case"cp866":case"csibm866":case"ibm866":return"IBM866";case"csisolatin2":case"iso-8859-2":case"iso-ir-101":case"iso8859-2":case"iso88592":case"iso_8859-2":case"iso_8859-2:1987":case"l2":case"latin2":return"ISO-8859-2";case"csisolatin3":case"iso-8859-3":case"iso-ir-109":case"iso8859-3":case"iso88593":case"iso_8859-3":case"iso_8859-3:1988":case"l3":case"latin3":return"ISO-8859-3";case"csisolatin4":case"iso-8859-4":case"iso-ir-110":case"iso8859-4":case"iso88594":case"iso_8859-4":case"iso_8859-4:1988":case"l4":case"latin4":return"ISO-8859-4";case"csisolatincyrillic":case"cyrillic":case"iso-8859-5":case"iso-ir-144":case"iso8859-5":case"iso88595":case"iso_8859-5":case"iso_8859-5:1988":return"ISO-8859-5";case"arabic":case"asmo-708":case"csiso88596e":case"csiso88596i":case"csisolatinarabic":case"ecma-114":case"iso-8859-6":case"iso-8859-6-e":case"iso-8859-6-i":case"iso-ir-127":case"iso8859-6":case"iso88596":case"iso_8859-6":case"iso_8859-6:1987":return"ISO-8859-6";case"csisolatingreek":case"ecma-118":case"elot_928":case"greek":case"greek8":case"iso-8859-7":case"iso-ir-126":case"iso8859-7":case"iso88597":case"iso_8859-7":case"iso_8859-7:1987":case"sun_eu_greek":return"ISO-8859-7";case"csiso88598e":case"csisolatinhebrew":case"hebrew":case"iso-8859-8":case"iso-8859-8-e":case"iso-ir-138":case"iso8859-8":case"iso88598":case"iso_8859-8":case"iso_8859-8:1988":case"visual":return"ISO-8859-8";case"csiso88598i":case"iso-8859-8-i":case"logical":return"ISO-8859-8-I";case"csisolatin6":case"iso-8859-10":case"iso-ir-157":case"iso8859-10":case"iso885910":case"l6":case"latin6":return"ISO-8859-10";case"iso-8859-13":case"iso8859-13":case"iso885913":return"ISO-8859-13";case"iso-8859-14":case"iso8859-14":case"iso885914":return"ISO-8859-14";case"csisolatin9":case"iso-8859-15":case"iso8859-15":case"iso885915":case"iso_8859-15":case"l9":return"ISO-8859-15";case"iso-8859-16":return"ISO-8859-16";case"cskoi8r":case"koi":case"koi8":case"koi8-r":case"koi8_r":return"KOI8-R";case"koi8-ru":case"koi8-u":return"KOI8-U";case"csmacintosh":case"mac":case"macintosh":case"x-mac-roman":return"macintosh";case"iso-8859-11":case"iso8859-11":case"iso885911":case"tis-620":case"windows-874":return"windows-874";case"cp1250":case"windows-1250":case"x-cp1250":return"windows-1250";case"cp1251":case"windows-1251":case"x-cp1251":return"windows-1251";case"ansi_x3.4-1968":case"ascii":case"cp1252":case"cp819":case"csisolatin1":case"ibm819":case"iso-8859-1":case"iso-ir-100":case"iso8859-1":case"iso88591":case"iso_8859-1":case"iso_8859-1:1987":case"l1":case"latin1":case"us-ascii":case"windows-1252":case"x-cp1252":return"windows-1252";case"cp1253":case"windows-1253":case"x-cp1253":return"windows-1253";case"cp1254":case"csisolatin5":case"iso-8859-9":case"iso-ir-148":case"iso8859-9":case"iso88599":case"iso_8859-9":case"iso_8859-9:1989":case"l5":case"latin5":case"windows-1254":case"x-cp1254":return"windows-1254";case"cp1255":case"windows-1255":case"x-cp1255":return"windows-1255";case"cp1256":case"windows-1256":case"x-cp1256":return"windows-1256";case"cp1257":case"windows-1257":case"x-cp1257":return"windows-1257";case"cp1258":case"windows-1258":case"x-cp1258":return"windows-1258";case"x-mac-cyrillic":case"x-mac-ukrainian":return"x-mac-cyrillic";case"chinese":case"csgb2312":case"csiso58gb231280":case"gb2312":case"gb_2312":case"gb_2312-80":case"gbk":case"iso-ir-58":case"x-gbk":return"GBK";case"gb18030":return"gb18030";case"big5":case"big5-hkscs":case"cn-big5":case"csbig5":case"x-x-big5":return"Big5";case"cseucpkdfmtjapanese":case"euc-jp":case"x-euc-jp":return"EUC-JP";case"csiso2022jp":case"iso-2022-jp":return"ISO-2022-JP";case"csshiftjis":case"ms932":case"ms_kanji":case"shift-jis":case"shift_jis":case"sjis":case"windows-31j":case"x-sjis":return"Shift_JIS";case"cseuckr":case"csksc56011987":case"euc-kr":case"iso-ir-149":case"korean":case"ks_c_5601-1987":case"ks_c_5601-1989":case"ksc5601":case"ksc_5601":case"windows-949":return"EUC-KR";case"csiso2022kr":case"hz-gb-2312":case"iso-2022-cn":case"iso-2022-cn-ext":case"iso-2022-kr":case"replacement":return"replacement";case"unicodefffe":case"utf-16be":return"UTF-16BE";case"csunicode":case"iso-10646-ucs-2":case"ucs-2":case"unicode":case"unicodefeff":case"utf-16":case"utf-16le":return"UTF-16LE";case"x-user-defined":return"x-user-defined";default:return"failure"}}e.exports={getEncoding:getEncoding}},929:(e,t,r)=>{"use strict";const{staticPropertyDescriptors:s,readOperation:n,fireAProgressEvent:o}=r(4157);const{kState:i,kError:a,kResult:A,kEvents:c,kAborted:l}=r(9103);const{webidl:u}=r(9111);const{kEnumerableProperty:p}=r(7497);class FileReader extends EventTarget{constructor(){super();this[i]="empty";this[A]=null;this[a]=null;this[c]={loadend:null,error:null,abort:null,load:null,progress:null,loadstart:null}}readAsArrayBuffer(e){u.brandCheck(this,FileReader);u.argumentLengthCheck(arguments,1,{header:"FileReader.readAsArrayBuffer"});e=u.converters.Blob(e,{strict:false});n(this,e,"ArrayBuffer")}readAsBinaryString(e){u.brandCheck(this,FileReader);u.argumentLengthCheck(arguments,1,{header:"FileReader.readAsBinaryString"});e=u.converters.Blob(e,{strict:false});n(this,e,"BinaryString")}readAsText(e,t=undefined){u.brandCheck(this,FileReader);u.argumentLengthCheck(arguments,1,{header:"FileReader.readAsText"});e=u.converters.Blob(e,{strict:false});if(t!==undefined){t=u.converters.DOMString(t)}n(this,e,"Text",t)}readAsDataURL(e){u.brandCheck(this,FileReader);u.argumentLengthCheck(arguments,1,{header:"FileReader.readAsDataURL"});e=u.converters.Blob(e,{strict:false});n(this,e,"DataURL")}abort(){if(this[i]==="empty"||this[i]==="done"){this[A]=null;return}if(this[i]==="loading"){this[i]="done";this[A]=null}this[l]=true;o("abort",this);if(this[i]!=="loading"){o("loadend",this)}}get readyState(){u.brandCheck(this,FileReader);switch(this[i]){case"empty":return this.EMPTY;case"loading":return this.LOADING;case"done":return this.DONE}}get result(){u.brandCheck(this,FileReader);return this[A]}get error(){u.brandCheck(this,FileReader);return this[a]}get onloadend(){u.brandCheck(this,FileReader);return this[c].loadend}set onloadend(e){u.brandCheck(this,FileReader);if(this[c].loadend){this.removeEventListener("loadend",this[c].loadend)}if(typeof e==="function"){this[c].loadend=e;this.addEventListener("loadend",e)}else{this[c].loadend=null}}get onerror(){u.brandCheck(this,FileReader);return this[c].error}set onerror(e){u.brandCheck(this,FileReader);if(this[c].error){this.removeEventListener("error",this[c].error)}if(typeof e==="function"){this[c].error=e;this.addEventListener("error",e)}else{this[c].error=null}}get onloadstart(){u.brandCheck(this,FileReader);return this[c].loadstart}set onloadstart(e){u.brandCheck(this,FileReader);if(this[c].loadstart){this.removeEventListener("loadstart",this[c].loadstart)}if(typeof e==="function"){this[c].loadstart=e;this.addEventListener("loadstart",e)}else{this[c].loadstart=null}}get onprogress(){u.brandCheck(this,FileReader);return this[c].progress}set onprogress(e){u.brandCheck(this,FileReader);if(this[c].progress){this.removeEventListener("progress",this[c].progress)}if(typeof e==="function"){this[c].progress=e;this.addEventListener("progress",e)}else{this[c].progress=null}}get onload(){u.brandCheck(this,FileReader);return this[c].load}set onload(e){u.brandCheck(this,FileReader);if(this[c].load){this.removeEventListener("load",this[c].load)}if(typeof e==="function"){this[c].load=e;this.addEventListener("load",e)}else{this[c].load=null}}get onabort(){u.brandCheck(this,FileReader);return this[c].abort}set onabort(e){u.brandCheck(this,FileReader);if(this[c].abort){this.removeEventListener("abort",this[c].abort)}if(typeof e==="function"){this[c].abort=e;this.addEventListener("abort",e)}else{this[c].abort=null}}}FileReader.EMPTY=FileReader.prototype.EMPTY=0;FileReader.LOADING=FileReader.prototype.LOADING=1;FileReader.DONE=FileReader.prototype.DONE=2;Object.defineProperties(FileReader.prototype,{EMPTY:s,LOADING:s,DONE:s,readAsArrayBuffer:p,readAsBinaryString:p,readAsText:p,readAsDataURL:p,abort:p,readyState:p,result:p,error:p,onloadstart:p,onprogress:p,onload:p,onabort:p,onerror:p,onloadend:p,[Symbol.toStringTag]:{value:"FileReader",writable:false,enumerable:false,configurable:true}});Object.defineProperties(FileReader,{EMPTY:s,LOADING:s,DONE:s});e.exports={FileReader:FileReader}},9094:(e,t,r)=>{"use strict";const{webidl:s}=r(9111);const n=Symbol("ProgressEvent state");class ProgressEvent extends Event{constructor(e,t={}){e=s.converters.DOMString(e);t=s.converters.ProgressEventInit(t??{});super(e,t);this[n]={lengthComputable:t.lengthComputable,loaded:t.loaded,total:t.total}}get lengthComputable(){s.brandCheck(this,ProgressEvent);return this[n].lengthComputable}get loaded(){s.brandCheck(this,ProgressEvent);return this[n].loaded}get total(){s.brandCheck(this,ProgressEvent);return this[n].total}}s.converters.ProgressEventInit=s.dictionaryConverter([{key:"lengthComputable",converter:s.converters.boolean,defaultValue:false},{key:"loaded",converter:s.converters["unsigned long long"],defaultValue:0},{key:"total",converter:s.converters["unsigned long long"],defaultValue:0},{key:"bubbles",converter:s.converters.boolean,defaultValue:false},{key:"cancelable",converter:s.converters.boolean,defaultValue:false},{key:"composed",converter:s.converters.boolean,defaultValue:false}]);e.exports={ProgressEvent:ProgressEvent}},9103:e=>{"use strict";e.exports={kState:Symbol("FileReader state"),kResult:Symbol("FileReader result"),kError:Symbol("FileReader error"),kLastProgressEventFired:Symbol("FileReader last progress event fired timestamp"),kEvents:Symbol("FileReader events"),kAborted:Symbol("FileReader aborted")}},4157:(e,t,r)=>{"use strict";const{kState:s,kError:n,kResult:o,kAborted:i,kLastProgressEventFired:a}=r(9103);const{ProgressEvent:A}=r(9094);const{getEncoding:c}=r(3532);const{DOMException:l}=r(7533);const{serializeAMimeType:u,parseMIMEType:p}=r(5958);const{types:d}=r(3837);const{StringDecoder:g}=r(1576);const{btoa:h}=r(4300);const m={enumerable:true,writable:false,configurable:false};function readOperation(e,t,r,A){if(e[s]==="loading"){throw new l("Invalid state","InvalidStateError")}e[s]="loading";e[o]=null;e[n]=null;const c=t.stream();const u=c.getReader();const p=[];let g=u.read();let h=true;(async()=>{while(!e[i]){try{const{done:c,value:l}=await g;if(h&&!e[i]){queueMicrotask((()=>{fireAProgressEvent("loadstart",e)}))}h=false;if(!c&&d.isUint8Array(l)){p.push(l);if((e[a]===undefined||Date.now()-e[a]>=50)&&!e[i]){e[a]=Date.now();queueMicrotask((()=>{fireAProgressEvent("progress",e)}))}g=u.read()}else if(c){queueMicrotask((()=>{e[s]="done";try{const s=packageData(p,r,t.type,A);if(e[i]){return}e[o]=s;fireAProgressEvent("load",e)}catch(t){e[n]=t;fireAProgressEvent("error",e)}if(e[s]!=="loading"){fireAProgressEvent("loadend",e)}}));break}}catch(t){if(e[i]){return}queueMicrotask((()=>{e[s]="done";e[n]=t;fireAProgressEvent("error",e);if(e[s]!=="loading"){fireAProgressEvent("loadend",e)}}));break}}})()}function fireAProgressEvent(e,t){const r=new A(e,{bubbles:false,cancelable:false});t.dispatchEvent(r)}function packageData(e,t,r,s){switch(t){case"DataURL":{let t="data:";const s=p(r||"application/octet-stream");if(s!=="failure"){t+=u(s)}t+=";base64,";const n=new g("latin1");for(const r of e){t+=h(n.write(r))}t+=h(n.end());return t}case"Text":{let t="failure";if(s){t=c(s)}if(t==="failure"&&r){const e=p(r);if(e!=="failure"){t=c(e.parameters.get("charset"))}}if(t==="failure"){t="UTF-8"}return decode(e,t)}case"ArrayBuffer":{const t=combineByteSequences(e);return t.buffer}case"BinaryString":{let t="";const r=new g("latin1");for(const s of e){t+=r.write(s)}t+=r.end();return t}}}function decode(e,t){const r=combineByteSequences(e);const s=BOMSniffing(r);let n=0;if(s!==null){t=s;n=s==="UTF-8"?3:2}const o=r.slice(n);return new TextDecoder(t).decode(o)}function BOMSniffing(e){const[t,r,s]=e;if(t===239&&r===187&&s===191){return"UTF-8"}else if(t===254&&r===255){return"UTF-16BE"}else if(t===255&&r===254){return"UTF-16LE"}return null}function combineByteSequences(e){const t=e.reduce(((e,t)=>e+t.byteLength),0);let r=0;return e.reduce(((e,t)=>{e.set(t,r);r+=t.byteLength;return e}),new Uint8Array(t))}e.exports={staticPropertyDescriptors:m,readOperation:readOperation,fireAProgressEvent:fireAProgressEvent}},2899:(e,t,r)=>{"use strict";const s=Symbol.for("undici.globalDispatcher.1");const{InvalidArgumentError:n}=r(2366);const o=r(8840);if(getGlobalDispatcher()===undefined){setGlobalDispatcher(new o)}function setGlobalDispatcher(e){if(!e||typeof e.dispatch!=="function"){throw new n("Argument agent must implement Agent")}Object.defineProperty(globalThis,s,{value:e,writable:true,enumerable:false,configurable:false})}function getGlobalDispatcher(){return globalThis[s]}e.exports={setGlobalDispatcher:setGlobalDispatcher,getGlobalDispatcher:getGlobalDispatcher}},253:e=>{"use strict";e.exports=class DecoratorHandler{constructor(e){this.handler=e}onConnect(...e){return this.handler.onConnect(...e)}onError(...e){return this.handler.onError(...e)}onUpgrade(...e){return this.handler.onUpgrade(...e)}onHeaders(...e){return this.handler.onHeaders(...e)}onData(...e){return this.handler.onData(...e)}onComplete(...e){return this.handler.onComplete(...e)}onBodySent(...e){return this.handler.onBodySent(...e)}}},292:(e,t,r)=>{"use strict";const s=r(7497);const{kBodyUsed:n}=r(3932);const o=r(9491);const{InvalidArgumentError:i}=r(2366);const a=r(9820);const A=[300,301,302,303,307,308];const c=Symbol("body");class BodyAsyncIterable{constructor(e){this[c]=e;this[n]=false}async*[Symbol.asyncIterator](){o(!this[n],"disturbed");this[n]=true;yield*this[c]}}class RedirectHandler{constructor(e,t,r,A){if(t!=null&&(!Number.isInteger(t)||t<0)){throw new i("maxRedirections must be a positive number")}s.validateHandler(A,r.method,r.upgrade);this.dispatch=e;this.location=null;this.abort=null;this.opts={...r,maxRedirections:0};this.maxRedirections=t;this.handler=A;this.history=[];if(s.isStream(this.opts.body)){if(s.bodyLength(this.opts.body)===0){this.opts.body.on("data",(function(){o(false)}))}if(typeof this.opts.body.readableDidRead!=="boolean"){this.opts.body[n]=false;a.prototype.on.call(this.opts.body,"data",(function(){this[n]=true}))}}else if(this.opts.body&&typeof this.opts.body.pipeTo==="function"){this.opts.body=new BodyAsyncIterable(this.opts.body)}else if(this.opts.body&&typeof this.opts.body!=="string"&&!ArrayBuffer.isView(this.opts.body)&&s.isIterable(this.opts.body)){this.opts.body=new BodyAsyncIterable(this.opts.body)}}onConnect(e){this.abort=e;this.handler.onConnect(e,{history:this.history})}onUpgrade(e,t,r){this.handler.onUpgrade(e,t,r)}onError(e){this.handler.onError(e)}onHeaders(e,t,r,n){this.location=this.history.length>=this.maxRedirections||s.isDisturbed(this.opts.body)?null:parseLocation(e,t);if(this.opts.origin){this.history.push(new URL(this.opts.path,this.opts.origin))}if(!this.location){return this.handler.onHeaders(e,t,r,n)}const{origin:o,pathname:i,search:a}=s.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin)));const A=a?`${i}${a}`:i;this.opts.headers=cleanRequestHeaders(this.opts.headers,e===303,this.opts.origin!==o);this.opts.path=A;this.opts.origin=o;this.opts.maxRedirections=0;this.opts.query=null;if(e===303&&this.opts.method!=="HEAD"){this.opts.method="GET";this.opts.body=null}}onData(e){if(this.location){}else{return this.handler.onData(e)}}onComplete(e){if(this.location){this.location=null;this.abort=null;this.dispatch(this.opts,this)}else{this.handler.onComplete(e)}}onBodySent(e){if(this.handler.onBodySent){this.handler.onBodySent(e)}}}function parseLocation(e,t){if(A.indexOf(e)===-1){return null}for(let e=0;e{const s=r(9491);const{kRetryHandlerDefaultRetry:n}=r(3932);const{RequestRetryError:o}=r(2366);const{isDisturbed:i,parseHeaders:a,parseRangeHeader:A}=r(7497);function calculateRetryAfterHeader(e){const t=Date.now();const r=new Date(e).getTime()-t;return r}class RetryHandler{constructor(e,t){const{retryOptions:r,...s}=e;const{retry:o,maxRetries:i,maxTimeout:a,minTimeout:A,timeoutFactor:c,methods:l,errorCodes:u,retryAfter:p,statusCodes:d}=r??{};this.dispatch=t.dispatch;this.handler=t.handler;this.opts=s;this.abort=null;this.aborted=false;this.retryOpts={retry:o??RetryHandler[n],retryAfter:p??true,maxTimeout:a??30*1e3,timeout:A??500,timeoutFactor:c??2,maxRetries:i??5,methods:l??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:d??[500,502,503,504,429],errorCodes:u??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE"]};this.retryCount=0;this.start=0;this.end=null;this.etag=null;this.resume=null;this.handler.onConnect((e=>{this.aborted=true;if(this.abort){this.abort(e)}else{this.reason=e}}))}onRequestSent(){if(this.handler.onRequestSent){this.handler.onRequestSent()}}onUpgrade(e,t,r){if(this.handler.onUpgrade){this.handler.onUpgrade(e,t,r)}}onConnect(e){if(this.aborted){e(this.reason)}else{this.abort=e}}onBodySent(e){if(this.handler.onBodySent)return this.handler.onBodySent(e)}static[n](e,{state:t,opts:r},s){const{statusCode:n,code:o,headers:i}=e;const{method:a,retryOptions:A}=r;const{maxRetries:c,timeout:l,maxTimeout:u,timeoutFactor:p,statusCodes:d,errorCodes:g,methods:h}=A;let{counter:m,currentTimeout:E}=t;E=E!=null&&E>0?E:l;if(o&&o!=="UND_ERR_REQ_RETRY"&&o!=="UND_ERR_SOCKET"&&!g.includes(o)){s(e);return}if(Array.isArray(h)&&!h.includes(a)){s(e);return}if(n!=null&&Array.isArray(d)&&!d.includes(n)){s(e);return}if(m>c){s(e);return}let C=i!=null&&i["retry-after"];if(C){C=Number(C);C=isNaN(C)?calculateRetryAfterHeader(C):C*1e3}const I=C>0?Math.min(C,u):Math.min(E*p**m,u);t.currentTimeout=I;setTimeout((()=>s(null)),I)}onHeaders(e,t,r,n){const i=a(t);this.retryCount+=1;if(e>=300){this.abort(new o("Request failed",e,{headers:i,count:this.retryCount}));return false}if(this.resume!=null){this.resume=null;if(e!==206){return true}const t=A(i["content-range"]);if(!t){this.abort(new o("Content-Range mismatch",e,{headers:i,count:this.retryCount}));return false}if(this.etag!=null&&this.etag!==i.etag){this.abort(new o("ETag mismatch",e,{headers:i,count:this.retryCount}));return false}const{start:n,size:a,end:c=a}=t;s(this.start===n,"content-range mismatch");s(this.end==null||this.end===c,"content-range mismatch");this.resume=r;return true}if(this.end==null){if(e===206){const o=A(i["content-range"]);if(o==null){return this.handler.onHeaders(e,t,r,n)}const{start:a,size:c,end:l=c}=o;s(a!=null&&Number.isFinite(a)&&this.start!==a,"content-range mismatch");s(Number.isFinite(a));s(l!=null&&Number.isFinite(l)&&this.end!==l,"invalid content-length");this.start=a;this.end=l}if(this.end==null){const e=i["content-length"];this.end=e!=null?Number(e):null}s(Number.isFinite(this.start));s(this.end==null||Number.isFinite(this.end),"invalid content-length");this.resume=r;this.etag=i.etag!=null?i.etag:null;return this.handler.onHeaders(e,t,r,n)}const c=new o("Request failed",e,{headers:i,count:this.retryCount});this.abort(c);return false}onData(e){this.start+=e.length;return this.handler.onData(e)}onComplete(e){this.retryCount=0;return this.handler.onComplete(e)}onError(e){if(this.aborted||i(this.opts.body)){return this.handler.onError(e)}this.retryOpts.retry(e,{state:{counter:this.retryCount++,currentTimeout:this.retryAfter},opts:{retryOptions:this.retryOpts,...this.opts}},onRetry.bind(this));function onRetry(e){if(e!=null||this.aborted||i(this.opts.body)){return this.handler.onError(e)}if(this.start!==0){this.opts={...this.opts,headers:{...this.opts.headers,range:`bytes=${this.start}-${this.end??""}`}}}try{this.dispatch(this.opts,this)}catch(e){this.handler.onError(e)}}}}e.exports=RetryHandler},3167:(e,t,r)=>{"use strict";const s=r(292);function createRedirectInterceptor({maxRedirections:e}){return t=>function Intercept(r,n){const{maxRedirections:o=e}=r;if(!o){return t(r,n)}const i=new s(t,o,r,n);r={...r,maxRedirections:0};return t(r,i)}}e.exports=createRedirectInterceptor},5749:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SPECIAL_HEADERS=t.HEADER_STATE=t.MINOR=t.MAJOR=t.CONNECTION_TOKEN_CHARS=t.HEADER_CHARS=t.TOKEN=t.STRICT_TOKEN=t.HEX=t.URL_CHAR=t.STRICT_URL_CHAR=t.USERINFO_CHARS=t.MARK=t.ALPHANUM=t.NUM=t.HEX_MAP=t.NUM_MAP=t.ALPHA=t.FINISH=t.H_METHOD_MAP=t.METHOD_MAP=t.METHODS_RTSP=t.METHODS_ICE=t.METHODS_HTTP=t.METHODS=t.LENIENT_FLAGS=t.FLAGS=t.TYPE=t.ERROR=void 0;const s=r(4778);var n;(function(e){e[e["OK"]=0]="OK";e[e["INTERNAL"]=1]="INTERNAL";e[e["STRICT"]=2]="STRICT";e[e["LF_EXPECTED"]=3]="LF_EXPECTED";e[e["UNEXPECTED_CONTENT_LENGTH"]=4]="UNEXPECTED_CONTENT_LENGTH";e[e["CLOSED_CONNECTION"]=5]="CLOSED_CONNECTION";e[e["INVALID_METHOD"]=6]="INVALID_METHOD";e[e["INVALID_URL"]=7]="INVALID_URL";e[e["INVALID_CONSTANT"]=8]="INVALID_CONSTANT";e[e["INVALID_VERSION"]=9]="INVALID_VERSION";e[e["INVALID_HEADER_TOKEN"]=10]="INVALID_HEADER_TOKEN";e[e["INVALID_CONTENT_LENGTH"]=11]="INVALID_CONTENT_LENGTH";e[e["INVALID_CHUNK_SIZE"]=12]="INVALID_CHUNK_SIZE";e[e["INVALID_STATUS"]=13]="INVALID_STATUS";e[e["INVALID_EOF_STATE"]=14]="INVALID_EOF_STATE";e[e["INVALID_TRANSFER_ENCODING"]=15]="INVALID_TRANSFER_ENCODING";e[e["CB_MESSAGE_BEGIN"]=16]="CB_MESSAGE_BEGIN";e[e["CB_HEADERS_COMPLETE"]=17]="CB_HEADERS_COMPLETE";e[e["CB_MESSAGE_COMPLETE"]=18]="CB_MESSAGE_COMPLETE";e[e["CB_CHUNK_HEADER"]=19]="CB_CHUNK_HEADER";e[e["CB_CHUNK_COMPLETE"]=20]="CB_CHUNK_COMPLETE";e[e["PAUSED"]=21]="PAUSED";e[e["PAUSED_UPGRADE"]=22]="PAUSED_UPGRADE";e[e["PAUSED_H2_UPGRADE"]=23]="PAUSED_H2_UPGRADE";e[e["USER"]=24]="USER"})(n=t.ERROR||(t.ERROR={}));var o;(function(e){e[e["BOTH"]=0]="BOTH";e[e["REQUEST"]=1]="REQUEST";e[e["RESPONSE"]=2]="RESPONSE"})(o=t.TYPE||(t.TYPE={}));var i;(function(e){e[e["CONNECTION_KEEP_ALIVE"]=1]="CONNECTION_KEEP_ALIVE";e[e["CONNECTION_CLOSE"]=2]="CONNECTION_CLOSE";e[e["CONNECTION_UPGRADE"]=4]="CONNECTION_UPGRADE";e[e["CHUNKED"]=8]="CHUNKED";e[e["UPGRADE"]=16]="UPGRADE";e[e["CONTENT_LENGTH"]=32]="CONTENT_LENGTH";e[e["SKIPBODY"]=64]="SKIPBODY";e[e["TRAILING"]=128]="TRAILING";e[e["TRANSFER_ENCODING"]=512]="TRANSFER_ENCODING"})(i=t.FLAGS||(t.FLAGS={}));var a;(function(e){e[e["HEADERS"]=1]="HEADERS";e[e["CHUNKED_LENGTH"]=2]="CHUNKED_LENGTH";e[e["KEEP_ALIVE"]=4]="KEEP_ALIVE"})(a=t.LENIENT_FLAGS||(t.LENIENT_FLAGS={}));var A;(function(e){e[e["DELETE"]=0]="DELETE";e[e["GET"]=1]="GET";e[e["HEAD"]=2]="HEAD";e[e["POST"]=3]="POST";e[e["PUT"]=4]="PUT";e[e["CONNECT"]=5]="CONNECT";e[e["OPTIONS"]=6]="OPTIONS";e[e["TRACE"]=7]="TRACE";e[e["COPY"]=8]="COPY";e[e["LOCK"]=9]="LOCK";e[e["MKCOL"]=10]="MKCOL";e[e["MOVE"]=11]="MOVE";e[e["PROPFIND"]=12]="PROPFIND";e[e["PROPPATCH"]=13]="PROPPATCH";e[e["SEARCH"]=14]="SEARCH";e[e["UNLOCK"]=15]="UNLOCK";e[e["BIND"]=16]="BIND";e[e["REBIND"]=17]="REBIND";e[e["UNBIND"]=18]="UNBIND";e[e["ACL"]=19]="ACL";e[e["REPORT"]=20]="REPORT";e[e["MKACTIVITY"]=21]="MKACTIVITY";e[e["CHECKOUT"]=22]="CHECKOUT";e[e["MERGE"]=23]="MERGE";e[e["M-SEARCH"]=24]="M-SEARCH";e[e["NOTIFY"]=25]="NOTIFY";e[e["SUBSCRIBE"]=26]="SUBSCRIBE";e[e["UNSUBSCRIBE"]=27]="UNSUBSCRIBE";e[e["PATCH"]=28]="PATCH";e[e["PURGE"]=29]="PURGE";e[e["MKCALENDAR"]=30]="MKCALENDAR";e[e["LINK"]=31]="LINK";e[e["UNLINK"]=32]="UNLINK";e[e["SOURCE"]=33]="SOURCE";e[e["PRI"]=34]="PRI";e[e["DESCRIBE"]=35]="DESCRIBE";e[e["ANNOUNCE"]=36]="ANNOUNCE";e[e["SETUP"]=37]="SETUP";e[e["PLAY"]=38]="PLAY";e[e["PAUSE"]=39]="PAUSE";e[e["TEARDOWN"]=40]="TEARDOWN";e[e["GET_PARAMETER"]=41]="GET_PARAMETER";e[e["SET_PARAMETER"]=42]="SET_PARAMETER";e[e["REDIRECT"]=43]="REDIRECT";e[e["RECORD"]=44]="RECORD";e[e["FLUSH"]=45]="FLUSH"})(A=t.METHODS||(t.METHODS={}));t.METHODS_HTTP=[A.DELETE,A.GET,A.HEAD,A.POST,A.PUT,A.CONNECT,A.OPTIONS,A.TRACE,A.COPY,A.LOCK,A.MKCOL,A.MOVE,A.PROPFIND,A.PROPPATCH,A.SEARCH,A.UNLOCK,A.BIND,A.REBIND,A.UNBIND,A.ACL,A.REPORT,A.MKACTIVITY,A.CHECKOUT,A.MERGE,A["M-SEARCH"],A.NOTIFY,A.SUBSCRIBE,A.UNSUBSCRIBE,A.PATCH,A.PURGE,A.MKCALENDAR,A.LINK,A.UNLINK,A.PRI,A.SOURCE];t.METHODS_ICE=[A.SOURCE];t.METHODS_RTSP=[A.OPTIONS,A.DESCRIBE,A.ANNOUNCE,A.SETUP,A.PLAY,A.PAUSE,A.TEARDOWN,A.GET_PARAMETER,A.SET_PARAMETER,A.REDIRECT,A.RECORD,A.FLUSH,A.GET,A.POST];t.METHOD_MAP=s.enumToMap(A);t.H_METHOD_MAP={};Object.keys(t.METHOD_MAP).forEach((e=>{if(/^H/.test(e)){t.H_METHOD_MAP[e]=t.METHOD_MAP[e]}}));var c;(function(e){e[e["SAFE"]=0]="SAFE";e[e["SAFE_WITH_CB"]=1]="SAFE_WITH_CB";e[e["UNSAFE"]=2]="UNSAFE"})(c=t.FINISH||(t.FINISH={}));t.ALPHA=[];for(let e="A".charCodeAt(0);e<="Z".charCodeAt(0);e++){t.ALPHA.push(String.fromCharCode(e));t.ALPHA.push(String.fromCharCode(e+32))}t.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};t.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15};t.NUM=["0","1","2","3","4","5","6","7","8","9"];t.ALPHANUM=t.ALPHA.concat(t.NUM);t.MARK=["-","_",".","!","~","*","'","(",")"];t.USERINFO_CHARS=t.ALPHANUM.concat(t.MARK).concat(["%",";",":","&","=","+","$",","]);t.STRICT_URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(t.ALPHANUM);t.URL_CHAR=t.STRICT_URL_CHAR.concat(["\t","\f"]);for(let e=128;e<=255;e++){t.URL_CHAR.push(e)}t.HEX=t.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);t.STRICT_TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(t.ALPHANUM);t.TOKEN=t.STRICT_TOKEN.concat([" "]);t.HEADER_CHARS=["\t"];for(let e=32;e<=255;e++){if(e!==127){t.HEADER_CHARS.push(e)}}t.CONNECTION_TOKEN_CHARS=t.HEADER_CHARS.filter((e=>e!==44));t.MAJOR=t.NUM_MAP;t.MINOR=t.MAJOR;var l;(function(e){e[e["GENERAL"]=0]="GENERAL";e[e["CONNECTION"]=1]="CONNECTION";e[e["CONTENT_LENGTH"]=2]="CONTENT_LENGTH";e[e["TRANSFER_ENCODING"]=3]="TRANSFER_ENCODING";e[e["UPGRADE"]=4]="UPGRADE";e[e["CONNECTION_KEEP_ALIVE"]=5]="CONNECTION_KEEP_ALIVE";e[e["CONNECTION_CLOSE"]=6]="CONNECTION_CLOSE";e[e["CONNECTION_UPGRADE"]=7]="CONNECTION_UPGRADE";e[e["TRANSFER_ENCODING_CHUNKED"]=8]="TRANSFER_ENCODING_CHUNKED"})(l=t.HEADER_STATE||(t.HEADER_STATE={}));t.SPECIAL_HEADERS={connection:l.CONNECTION,"content-length":l.CONTENT_LENGTH,"proxy-connection":l.CONNECTION,"transfer-encoding":l.TRANSFER_ENCODING,upgrade:l.UPGRADE}},9827:e=>{e.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJsbGh0dHBfc3RhdHVzX25hbWUAIRpsbGh0dHBfc2V0X2xlbmllbnRfaGVhZGVycwAiIWxsaHR0cF9zZXRfbGVuaWVudF9jaHVua2VkX2xlbmd0aAAjHWxsaHR0cF9zZXRfbGVuaWVudF9rZWVwX2FsaXZlACQkbGxodHRwX3NldF9sZW5pZW50X3RyYW5zZmVyX2VuY29kaW5nACUYbGxodHRwX21lc3NhZ2VfbmVlZHNfZW9mAD8JFwEAQQELEQECAwQFCwYHNTk3MS8tJyspCsLgAkUCAAsIABCIgICAAAsZACAAEMKAgIAAGiAAIAI2AjggACABOgAoCxwAIAAgAC8BMiAALQAuIAAQwYCAgAAQgICAgAALKgEBf0HAABDGgICAACIBEMKAgIAAGiABQYCIgIAANgI4IAEgADoAKCABCwoAIAAQyICAgAALBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LRQEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABDCgICAABogACAENgI4IAAgAzoAKCAAIAI6AC0gACABNgIYCxEAIAAgASABIAJqEMOAgIAACxAAIABBAEHcABDMgICAABoLZwEBf0EAIQECQCAAKAIMDQACQAJAAkACQCAALQAvDgMBAAMCCyAAKAI4IgFFDQAgASgCLCIBRQ0AIAAgARGAgICAAAAiAQ0DC0EADwsQyoCAgAAACyAAQcOWgIAANgIQQQ4hAQsgAQseAAJAIAAoAgwNACAAQdGbgIAANgIQIABBFTYCDAsLFgACQCAAKAIMQRVHDQAgAEEANgIMCwsWAAJAIAAoAgxBFkcNACAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsiAAJAIABBJEkNABDKgICAAAALIABBAnRBoLOAgABqKAIACyIAAkAgAEEuSQ0AEMqAgIAAAAsgAEECdEGwtICAAGooAgAL7gsBAX9B66iAgAAhAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABBnH9qDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0Hhp4CAAA8LQaShgIAADwtBy6yAgAAPC0H+sYCAAA8LQcCkgIAADwtBq6SAgAAPC0GNqICAAA8LQeKmgIAADwtBgLCAgAAPC0G5r4CAAA8LQdekgIAADwtB75+AgAAPC0Hhn4CAAA8LQfqfgIAADwtB8qCAgAAPC0Gor4CAAA8LQa6ygIAADwtBiLCAgAAPC0Hsp4CAAA8LQYKigIAADwtBjp2AgAAPC0HQroCAAA8LQcqjgIAADwtBxbKAgAAPC0HfnICAAA8LQdKcgIAADwtBxKCAgAAPC0HXoICAAA8LQaKfgIAADwtB7a6AgAAPC0GrsICAAA8LQdSlgIAADwtBzK6AgAAPC0H6roCAAA8LQfyrgIAADwtB0rCAgAAPC0HxnYCAAA8LQbuggIAADwtB96uAgAAPC0GQsYCAAA8LQdexgIAADwtBoq2AgAAPC0HUp4CAAA8LQeCrgIAADwtBn6yAgAAPC0HrsYCAAA8LQdWfgIAADwtByrGAgAAPC0HepYCAAA8LQdSegIAADwtB9JyAgAAPC0GnsoCAAA8LQbGdgIAADwtBoJ2AgAAPC0G5sYCAAA8LQbywgIAADwtBkqGAgAAPC0GzpoCAAA8LQemsgIAADwtBrJ6AgAAPC0HUq4CAAA8LQfemgIAADwtBgKaAgAAPC0GwoYCAAA8LQf6egIAADwtBjaOAgAAPC0GJrYCAAA8LQfeigIAADwtBoLGAgAAPC0Gun4CAAA8LQcalgIAADwtB6J6AgAAPC0GTooCAAA8LQcKvgIAADwtBw52AgAAPC0GLrICAAA8LQeGdgIAADwtBja+AgAAPC0HqoYCAAA8LQbStgIAADwtB0q+AgAAPC0HfsoCAAA8LQdKygIAADwtB8LCAgAAPC0GpooCAAA8LQfmjgIAADwtBmZ6AgAAPC0G1rICAAA8LQZuwgIAADwtBkrKAgAAPC0G2q4CAAA8LQcKigIAADwtB+LKAgAAPC0GepYCAAA8LQdCigIAADwtBup6AgAAPC0GBnoCAAA8LEMqAgIAAAAtB1qGAgAAhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAgAiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCBCIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQcaRgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIwIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAggiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2ioCAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCNCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIMIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZqAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAjgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCECIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZWQgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAI8IgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAhQiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEGqm4CAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCQCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIYIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZOAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCJCIERQ0AIAAgBBGAgICAAAAhAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIsIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAigiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2iICAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCUCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIcIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABBwpmAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCICIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZSUgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAJMIgRFDQAgACAEEYCAgIAAACEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAlQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCWCIERQ0AIAAgBBGAgICAAAAhAwsgAwtFAQF/AkACQCAALwEwQRRxQRRHDQBBASEDIAAtAChBAUYNASAALwEyQeUARiEDDAELIAAtAClBBUYhAwsgACADOgAuQQAL/gEBA39BASEDAkAgAC8BMCIEQQhxDQAgACkDIEIAUiEDCwJAAkAgAC0ALkUNAEEBIQUgAC0AKUEFRg0BQQEhBSAEQcAAcUUgA3FBAUcNAQtBACEFIARBwABxDQBBAiEFIARB//8DcSIDQQhxDQACQCADQYAEcUUNAAJAIAAtAChBAUcNACAALQAtQQpxDQBBBQ8LQQQPCwJAIANBIHENAAJAIAAtAChBAUYNACAALwEyQf//A3EiAEGcf2pB5ABJDQAgAEHMAUYNACAAQbACRg0AQQQhBSAEQShxRQ0CIANBiARxQYAERg0CC0EADwtBAEEDIAApAyBQGyEFCyAFC2IBAn9BACEBAkAgAC0AKEEBRg0AIAAvATJB//8DcSICQZx/akHkAEkNACACQcwBRg0AIAJBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhASAAQYgEcUGABEYNACAAQShxRSEBCyABC6cBAQN/AkACQAJAIAAtACpFDQAgAC0AK0UNAEEAIQMgAC8BMCIEQQJxRQ0BDAILQQAhAyAALwEwIgRBAXFFDQELQQEhAyAALQAoQQFGDQAgAC8BMkH//wNxIgVBnH9qQeQASQ0AIAVBzAFGDQAgBUGwAkYNACAEQcAAcQ0AQQAhAyAEQYgEcUGABEYNACAEQShxQQBHIQMLIABBADsBMCAAQQA6AC8gAwuZAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQBBACEBIAAvATAiAkECcUUNAQwCC0EAIQEgAC8BMCICQQFxRQ0BC0EBIQEgAC0AKEEBRg0AIAAvATJB//8DcSIAQZx/akHkAEkNACAAQcwBRg0AIABBsAJGDQAgAkHAAHENAEEAIQEgAkGIBHFBgARGDQAgAkEocUEARyEBCyABC1kAIABBGGpCADcDACAAQgA3AwAgAEE4akIANwMAIABBMGpCADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwHLAcoBuAHJAbkByAG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAQDcAQtBACEQDMYBC0EOIRAMxQELQQ0hEAzEAQtBDyEQDMMBC0EQIRAMwgELQRMhEAzBAQtBFCEQDMABC0EVIRAMvwELQRYhEAy+AQtBFyEQDL0BC0EYIRAMvAELQRkhEAy7AQtBGiEQDLoBC0EbIRAMuQELQRwhEAy4AQtBCCEQDLcBC0EdIRAMtgELQSAhEAy1AQtBHyEQDLQBC0EHIRAMswELQSEhEAyyAQtBIiEQDLEBC0EeIRAMsAELQSMhEAyvAQtBEiEQDK4BC0ERIRAMrQELQSQhEAysAQtBJSEQDKsBC0EmIRAMqgELQSchEAypAQtBwwEhEAyoAQtBKSEQDKcBC0ErIRAMpgELQSwhEAylAQtBLSEQDKQBC0EuIRAMowELQS8hEAyiAQtBxAEhEAyhAQtBMCEQDKABC0E0IRAMnwELQQwhEAyeAQtBMSEQDJ0BC0EyIRAMnAELQTMhEAybAQtBOSEQDJoBC0E1IRAMmQELQcUBIRAMmAELQQshEAyXAQtBOiEQDJYBC0E2IRAMlQELQQohEAyUAQtBNyEQDJMBC0E4IRAMkgELQTwhEAyRAQtBOyEQDJABC0E9IRAMjwELQQkhEAyOAQtBKCEQDI0BC0E+IRAMjAELQT8hEAyLAQtBwAAhEAyKAQtBwQAhEAyJAQtBwgAhEAyIAQtBwwAhEAyHAQtBxAAhEAyGAQtBxQAhEAyFAQtBxgAhEAyEAQtBKiEQDIMBC0HHACEQDIIBC0HIACEQDIEBC0HJACEQDIABC0HKACEQDH8LQcsAIRAMfgtBzQAhEAx9C0HMACEQDHwLQc4AIRAMewtBzwAhEAx6C0HQACEQDHkLQdEAIRAMeAtB0gAhEAx3C0HTACEQDHYLQdQAIRAMdQtB1gAhEAx0C0HVACEQDHMLQQYhEAxyC0HXACEQDHELQQUhEAxwC0HYACEQDG8LQQQhEAxuC0HZACEQDG0LQdoAIRAMbAtB2wAhEAxrC0HcACEQDGoLQQMhEAxpC0HdACEQDGgLQd4AIRAMZwtB3wAhEAxmC0HhACEQDGULQeAAIRAMZAtB4gAhEAxjC0HjACEQDGILQQIhEAxhC0HkACEQDGALQeUAIRAMXwtB5gAhEAxeC0HnACEQDF0LQegAIRAMXAtB6QAhEAxbC0HqACEQDFoLQesAIRAMWQtB7AAhEAxYC0HtACEQDFcLQe4AIRAMVgtB7wAhEAxVC0HwACEQDFQLQfEAIRAMUwtB8gAhEAxSC0HzACEQDFELQfQAIRAMUAtB9QAhEAxPC0H2ACEQDE4LQfcAIRAMTQtB+AAhEAxMC0H5ACEQDEsLQfoAIRAMSgtB+wAhEAxJC0H8ACEQDEgLQf0AIRAMRwtB/gAhEAxGC0H/ACEQDEULQYABIRAMRAtBgQEhEAxDC0GCASEQDEILQYMBIRAMQQtBhAEhEAxAC0GFASEQDD8LQYYBIRAMPgtBhwEhEAw9C0GIASEQDDwLQYkBIRAMOwtBigEhEAw6C0GLASEQDDkLQYwBIRAMOAtBjQEhEAw3C0GOASEQDDYLQY8BIRAMNQtBkAEhEAw0C0GRASEQDDMLQZIBIRAMMgtBkwEhEAwxC0GUASEQDDALQZUBIRAMLwtBlgEhEAwuC0GXASEQDC0LQZgBIRAMLAtBmQEhEAwrC0GaASEQDCoLQZsBIRAMKQtBnAEhEAwoC0GdASEQDCcLQZ4BIRAMJgtBnwEhEAwlC0GgASEQDCQLQaEBIRAMIwtBogEhEAwiC0GjASEQDCELQaQBIRAMIAtBpQEhEAwfC0GmASEQDB4LQacBIRAMHQtBqAEhEAwcC0GpASEQDBsLQaoBIRAMGgtBqwEhEAwZC0GsASEQDBgLQa0BIRAMFwtBrgEhEAwWC0EBIRAMFQtBrwEhEAwUC0GwASEQDBMLQbEBIRAMEgtBswEhEAwRC0GyASEQDBALQbQBIRAMDwtBtQEhEAwOC0G2ASEQDA0LQbcBIRAMDAtBuAEhEAwLC0G5ASEQDAoLQboBIRAMCQtBuwEhEAwIC0HGASEQDAcLQbwBIRAMBgtBvQEhEAwFC0G+ASEQDAQLQb8BIRAMAwtBwAEhEAwCC0HCASEQDAELQcEBIRALA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAQDscBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxweHyAhIyUoP0BBREVGR0hJSktMTU9QUVJT3gNXWVtcXWBiZWZnaGlqa2xtb3BxcnN0dXZ3eHl6e3x9foABggGFAYYBhwGJAYsBjAGNAY4BjwGQAZEBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B4AHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gHzAZkCpAKwAv4C/gILIAEiBCACRw3zAUHdASEQDP8DCyABIhAgAkcN3QFBwwEhEAz+AwsgASIBIAJHDZABQfcAIRAM/QMLIAEiASACRw2GAUHvACEQDPwDCyABIgEgAkcNf0HqACEQDPsDCyABIgEgAkcNe0HoACEQDPoDCyABIgEgAkcNeEHmACEQDPkDCyABIgEgAkcNGkEYIRAM+AMLIAEiASACRw0UQRIhEAz3AwsgASIBIAJHDVlBxQAhEAz2AwsgASIBIAJHDUpBPyEQDPUDCyABIgEgAkcNSEE8IRAM9AMLIAEiASACRw1BQTEhEAzzAwsgAC0ALkEBRg3rAwyHAgsgACABIgEgAhDAgICAAEEBRw3mASAAQgA3AyAM5wELIAAgASIBIAIQtICAgAAiEA3nASABIQEM9QILAkAgASIBIAJHDQBBBiEQDPADCyAAIAFBAWoiASACELuAgIAAIhAN6AEgASEBDDELIABCADcDIEESIRAM1QMLIAEiECACRw0rQR0hEAztAwsCQCABIgEgAkYNACABQQFqIQFBECEQDNQDC0EHIRAM7AMLIABCACAAKQMgIhEgAiABIhBrrSISfSITIBMgEVYbNwMgIBEgElYiFEUN5QFBCCEQDOsDCwJAIAEiASACRg0AIABBiYCAgAA2AgggACABNgIEIAEhAUEUIRAM0gMLQQkhEAzqAwsgASEBIAApAyBQDeQBIAEhAQzyAgsCQCABIgEgAkcNAEELIRAM6QMLIAAgAUEBaiIBIAIQtoCAgAAiEA3lASABIQEM8gILIAAgASIBIAIQuICAgAAiEA3lASABIQEM8gILIAAgASIBIAIQuICAgAAiEA3mASABIQEMDQsgACABIgEgAhC6gICAACIQDecBIAEhAQzwAgsCQCABIgEgAkcNAEEPIRAM5QMLIAEtAAAiEEE7Rg0IIBBBDUcN6AEgAUEBaiEBDO8CCyAAIAEiASACELqAgIAAIhAN6AEgASEBDPICCwNAAkAgAS0AAEHwtYCAAGotAAAiEEEBRg0AIBBBAkcN6wEgACgCBCEQIABBADYCBCAAIBAgAUEBaiIBELmAgIAAIhAN6gEgASEBDPQCCyABQQFqIgEgAkcNAAtBEiEQDOIDCyAAIAEiASACELqAgIAAIhAN6QEgASEBDAoLIAEiASACRw0GQRshEAzgAwsCQCABIgEgAkcNAEEWIRAM4AMLIABBioCAgAA2AgggACABNgIEIAAgASACELiAgIAAIhAN6gEgASEBQSAhEAzGAwsCQCABIgEgAkYNAANAAkAgAS0AAEHwt4CAAGotAAAiEEECRg0AAkAgEEF/ag4E5QHsAQDrAewBCyABQQFqIQFBCCEQDMgDCyABQQFqIgEgAkcNAAtBFSEQDN8DC0EVIRAM3gMLA0ACQCABLQAAQfC5gIAAai0AACIQQQJGDQAgEEF/ag4E3gHsAeAB6wHsAQsgAUEBaiIBIAJHDQALQRghEAzdAwsCQCABIgEgAkYNACAAQYuAgIAANgIIIAAgATYCBCABIQFBByEQDMQDC0EZIRAM3AMLIAFBAWohAQwCCwJAIAEiFCACRw0AQRohEAzbAwsgFCEBAkAgFC0AAEFzag4U3QLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gIA7gILQQAhECAAQQA2AhwgAEGvi4CAADYCECAAQQI2AgwgACAUQQFqNgIUDNoDCwJAIAEtAAAiEEE7Rg0AIBBBDUcN6AEgAUEBaiEBDOUCCyABQQFqIQELQSIhEAy/AwsCQCABIhAgAkcNAEEcIRAM2AMLQgAhESAQIQEgEC0AAEFQag435wHmAQECAwQFBgcIAAAAAAAAAAkKCwwNDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxAREhMUAAtBHiEQDL0DC0ICIREM5QELQgMhEQzkAQtCBCERDOMBC0IFIREM4gELQgYhEQzhAQtCByERDOABC0IIIREM3wELQgkhEQzeAQtCCiERDN0BC0ILIREM3AELQgwhEQzbAQtCDSERDNoBC0IOIREM2QELQg8hEQzYAQtCCiERDNcBC0ILIREM1gELQgwhEQzVAQtCDSERDNQBC0IOIREM0wELQg8hEQzSAQtCACERAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAQLQAAQVBqDjflAeQBAAECAwQFBgfmAeYB5gHmAeYB5gHmAQgJCgsMDeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gEODxAREhPmAQtCAiERDOQBC0IDIREM4wELQgQhEQziAQtCBSERDOEBC0IGIREM4AELQgchEQzfAQtCCCERDN4BC0IJIREM3QELQgohEQzcAQtCCyERDNsBC0IMIREM2gELQg0hEQzZAQtCDiERDNgBC0IPIREM1wELQgohEQzWAQtCCyERDNUBC0IMIREM1AELQg0hEQzTAQtCDiERDNIBC0IPIREM0QELIABCACAAKQMgIhEgAiABIhBrrSISfSITIBMgEVYbNwMgIBEgElYiFEUN0gFBHyEQDMADCwJAIAEiASACRg0AIABBiYCAgAA2AgggACABNgIEIAEhAUEkIRAMpwMLQSAhEAy/AwsgACABIhAgAhC+gICAAEF/ag4FtgEAxQIB0QHSAQtBESEQDKQDCyAAQQE6AC8gECEBDLsDCyABIgEgAkcN0gFBJCEQDLsDCyABIg0gAkcNHkHGACEQDLoDCyAAIAEiASACELKAgIAAIhAN1AEgASEBDLUBCyABIhAgAkcNJkHQACEQDLgDCwJAIAEiASACRw0AQSghEAy4AwsgAEEANgIEIABBjICAgAA2AgggACABIAEQsYCAgAAiEA3TASABIQEM2AELAkAgASIQIAJHDQBBKSEQDLcDCyAQLQAAIgFBIEYNFCABQQlHDdMBIBBBAWohAQwVCwJAIAEiASACRg0AIAFBAWohAQwXC0EqIRAMtQMLAkAgASIQIAJHDQBBKyEQDLUDCwJAIBAtAAAiAUEJRg0AIAFBIEcN1QELIAAtACxBCEYN0wEgECEBDJEDCwJAIAEiASACRw0AQSwhEAy0AwsgAS0AAEEKRw3VASABQQFqIQEMyQILIAEiDiACRw3VAUEvIRAMsgMLA0ACQCABLQAAIhBBIEYNAAJAIBBBdmoOBADcAdwBANoBCyABIQEM4AELIAFBAWoiASACRw0AC0ExIRAMsQMLQTIhECABIhQgAkYNsAMgAiAUayAAKAIAIgFqIRUgFCABa0EDaiEWAkADQCAULQAAIhdBIHIgFyAXQb9/akH/AXFBGkkbQf8BcSABQfC7gIAAai0AAEcNAQJAIAFBA0cNAEEGIQEMlgMLIAFBAWohASAUQQFqIhQgAkcNAAsgACAVNgIADLEDCyAAQQA2AgAgFCEBDNkBC0EzIRAgASIUIAJGDa8DIAIgFGsgACgCACIBaiEVIBQgAWtBCGohFgJAA0AgFC0AACIXQSByIBcgF0G/f2pB/wFxQRpJG0H/AXEgAUH0u4CAAGotAABHDQECQCABQQhHDQBBBSEBDJUDCyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFTYCAAywAwsgAEEANgIAIBQhAQzYAQtBNCEQIAEiFCACRg2uAyACIBRrIAAoAgAiAWohFSAUIAFrQQVqIRYCQANAIBQtAAAiF0EgciAXIBdBv39qQf8BcUEaSRtB/wFxIAFB0MKAgABqLQAARw0BAkAgAUEFRw0AQQchAQyUAwsgAUEBaiEBIBRBAWoiFCACRw0ACyAAIBU2AgAMrwMLIABBADYCACAUIQEM1wELAkAgASIBIAJGDQADQAJAIAEtAABBgL6AgABqLQAAIhBBAUYNACAQQQJGDQogASEBDN0BCyABQQFqIgEgAkcNAAtBMCEQDK4DC0EwIRAMrQMLAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgRg0AIBBBdmoOBNkB2gHaAdkB2gELIAFBAWoiASACRw0AC0E4IRAMrQMLQTghEAysAwsDQAJAIAEtAAAiEEEgRg0AIBBBCUcNAwsgAUEBaiIBIAJHDQALQTwhEAyrAwsDQAJAIAEtAAAiEEEgRg0AAkACQCAQQXZqDgTaAQEB2gEACyAQQSxGDdsBCyABIQEMBAsgAUEBaiIBIAJHDQALQT8hEAyqAwsgASEBDNsBC0HAACEQIAEiFCACRg2oAyACIBRrIAAoAgAiAWohFiAUIAFrQQZqIRcCQANAIBQtAABBIHIgAUGAwICAAGotAABHDQEgAUEGRg2OAyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFjYCAAypAwsgAEEANgIAIBQhAQtBNiEQDI4DCwJAIAEiDyACRw0AQcEAIRAMpwMLIABBjICAgAA2AgggACAPNgIEIA8hASAALQAsQX9qDgTNAdUB1wHZAYcDCyABQQFqIQEMzAELAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgciAQIBBBv39qQf8BcUEaSRtB/wFxIhBBCUYNACAQQSBGDQACQAJAAkACQCAQQZ1/ag4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUExIRAMkQMLIAFBAWohAUEyIRAMkAMLIAFBAWohAUEzIRAMjwMLIAEhAQzQAQsgAUEBaiIBIAJHDQALQTUhEAylAwtBNSEQDKQDCwJAIAEiASACRg0AA0ACQCABLQAAQYC8gIAAai0AAEEBRg0AIAEhAQzTAQsgAUEBaiIBIAJHDQALQT0hEAykAwtBPSEQDKMDCyAAIAEiASACELCAgIAAIhAN1gEgASEBDAELIBBBAWohAQtBPCEQDIcDCwJAIAEiASACRw0AQcIAIRAMoAMLAkADQAJAIAEtAABBd2oOGAAC/gL+AoQD/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4CAP4CCyABQQFqIgEgAkcNAAtBwgAhEAygAwsgAUEBaiEBIAAtAC1BAXFFDb0BIAEhAQtBLCEQDIUDCyABIgEgAkcN0wFBxAAhEAydAwsDQAJAIAEtAABBkMCAgABqLQAAQQFGDQAgASEBDLcCCyABQQFqIgEgAkcNAAtBxQAhEAycAwsgDS0AACIQQSBGDbMBIBBBOkcNgQMgACgCBCEBIABBADYCBCAAIAEgDRCvgICAACIBDdABIA1BAWohAQyzAgtBxwAhECABIg0gAkYNmgMgAiANayAAKAIAIgFqIRYgDSABa0EFaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGQwoCAAGotAABHDYADIAFBBUYN9AIgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMmgMLQcgAIRAgASINIAJGDZkDIAIgDWsgACgCACIBaiEWIA0gAWtBCWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBlsKAgABqLQAARw3/AgJAIAFBCUcNAEECIQEM9QILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJkDCwJAIAEiDSACRw0AQckAIRAMmQMLAkACQCANLQAAIgFBIHIgASABQb9/akH/AXFBGkkbQf8BcUGSf2oOBwCAA4ADgAOAA4ADAYADCyANQQFqIQFBPiEQDIADCyANQQFqIQFBPyEQDP8CC0HKACEQIAEiDSACRg2XAyACIA1rIAAoAgAiAWohFiANIAFrQQFqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQaDCgIAAai0AAEcN/QIgAUEBRg3wAiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyXAwtBywAhECABIg0gAkYNlgMgAiANayAAKAIAIgFqIRYgDSABa0EOaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGiwoCAAGotAABHDfwCIAFBDkYN8AIgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMlgMLQcwAIRAgASINIAJGDZUDIAIgDWsgACgCACIBaiEWIA0gAWtBD2ohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBwMKAgABqLQAARw37AgJAIAFBD0cNAEEDIQEM8QILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJUDC0HNACEQIAEiDSACRg2UAyACIA1rIAAoAgAiAWohFiANIAFrQQVqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQdDCgIAAai0AAEcN+gICQCABQQVHDQBBBCEBDPACCyABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyUAwsCQCABIg0gAkcNAEHOACEQDJQDCwJAAkACQAJAIA0tAAAiAUEgciABIAFBv39qQf8BcUEaSRtB/wFxQZ1/ag4TAP0C/QL9Av0C/QL9Av0C/QL9Av0C/QL9AgH9Av0C/QICA/0CCyANQQFqIQFBwQAhEAz9AgsgDUEBaiEBQcIAIRAM/AILIA1BAWohAUHDACEQDPsCCyANQQFqIQFBxAAhEAz6AgsCQCABIgEgAkYNACAAQY2AgIAANgIIIAAgATYCBCABIQFBxQAhEAz6AgtBzwAhEAySAwsgECEBAkACQCAQLQAAQXZqDgQBqAKoAgCoAgsgEEEBaiEBC0EnIRAM+AILAkAgASIBIAJHDQBB0QAhEAyRAwsCQCABLQAAQSBGDQAgASEBDI0BCyABQQFqIQEgAC0ALUEBcUUNxwEgASEBDIwBCyABIhcgAkcNyAFB0gAhEAyPAwtB0wAhECABIhQgAkYNjgMgAiAUayAAKAIAIgFqIRYgFCABa0EBaiEXA0AgFC0AACABQdbCgIAAai0AAEcNzAEgAUEBRg3HASABQQFqIQEgFEEBaiIUIAJHDQALIAAgFjYCAAyOAwsCQCABIgEgAkcNAEHVACEQDI4DCyABLQAAQQpHDcwBIAFBAWohAQzHAQsCQCABIgEgAkcNAEHWACEQDI0DCwJAAkAgAS0AAEF2ag4EAM0BzQEBzQELIAFBAWohAQzHAQsgAUEBaiEBQcoAIRAM8wILIAAgASIBIAIQroCAgAAiEA3LASABIQFBzQAhEAzyAgsgAC0AKUEiRg2FAwymAgsCQCABIgEgAkcNAEHbACEQDIoDC0EAIRRBASEXQQEhFkEAIRACQAJAAkACQAJAAkACQAJAAkAgAS0AAEFQag4K1AHTAQABAgMEBQYI1QELQQIhEAwGC0EDIRAMBQtBBCEQDAQLQQUhEAwDC0EGIRAMAgtBByEQDAELQQghEAtBACEXQQAhFkEAIRQMzAELQQkhEEEBIRRBACEXQQAhFgzLAQsCQCABIgEgAkcNAEHdACEQDIkDCyABLQAAQS5HDcwBIAFBAWohAQymAgsgASIBIAJHDcwBQd8AIRAMhwMLAkAgASIBIAJGDQAgAEGOgICAADYCCCAAIAE2AgQgASEBQdAAIRAM7gILQeAAIRAMhgMLQeEAIRAgASIBIAJGDYUDIAIgAWsgACgCACIUaiEWIAEgFGtBA2ohFwNAIAEtAAAgFEHiwoCAAGotAABHDc0BIBRBA0YNzAEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMhQMLQeIAIRAgASIBIAJGDYQDIAIgAWsgACgCACIUaiEWIAEgFGtBAmohFwNAIAEtAAAgFEHmwoCAAGotAABHDcwBIBRBAkYNzgEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMhAMLQeMAIRAgASIBIAJGDYMDIAIgAWsgACgCACIUaiEWIAEgFGtBA2ohFwNAIAEtAAAgFEHpwoCAAGotAABHDcsBIBRBA0YNzgEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMgwMLAkAgASIBIAJHDQBB5QAhEAyDAwsgACABQQFqIgEgAhCogICAACIQDc0BIAEhAUHWACEQDOkCCwJAIAEiASACRg0AA0ACQCABLQAAIhBBIEYNAAJAAkACQCAQQbh/ag4LAAHPAc8BzwHPAc8BzwHPAc8BAs8BCyABQQFqIQFB0gAhEAztAgsgAUEBaiEBQdMAIRAM7AILIAFBAWohAUHUACEQDOsCCyABQQFqIgEgAkcNAAtB5AAhEAyCAwtB5AAhEAyBAwsDQAJAIAEtAABB8MKAgABqLQAAIhBBAUYNACAQQX5qDgPPAdAB0QHSAQsgAUEBaiIBIAJHDQALQeYAIRAMgAMLAkAgASIBIAJGDQAgAUEBaiEBDAMLQecAIRAM/wILA0ACQCABLQAAQfDEgIAAai0AACIQQQFGDQACQCAQQX5qDgTSAdMB1AEA1QELIAEhAUHXACEQDOcCCyABQQFqIgEgAkcNAAtB6AAhEAz+AgsCQCABIgEgAkcNAEHpACEQDP4CCwJAIAEtAAAiEEF2ag4augHVAdUBvAHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHKAdUB1QEA0wELIAFBAWohAQtBBiEQDOMCCwNAAkAgAS0AAEHwxoCAAGotAABBAUYNACABIQEMngILIAFBAWoiASACRw0AC0HqACEQDPsCCwJAIAEiASACRg0AIAFBAWohAQwDC0HrACEQDPoCCwJAIAEiASACRw0AQewAIRAM+gILIAFBAWohAQwBCwJAIAEiASACRw0AQe0AIRAM+QILIAFBAWohAQtBBCEQDN4CCwJAIAEiFCACRw0AQe4AIRAM9wILIBQhAQJAAkACQCAULQAAQfDIgIAAai0AAEF/ag4H1AHVAdYBAJwCAQLXAQsgFEEBaiEBDAoLIBRBAWohAQzNAQtBACEQIABBADYCHCAAQZuSgIAANgIQIABBBzYCDCAAIBRBAWo2AhQM9gILAkADQAJAIAEtAABB8MiAgABqLQAAIhBBBEYNAAJAAkAgEEF/ag4H0gHTAdQB2QEABAHZAQsgASEBQdoAIRAM4AILIAFBAWohAUHcACEQDN8CCyABQQFqIgEgAkcNAAtB7wAhEAz2AgsgAUEBaiEBDMsBCwJAIAEiFCACRw0AQfAAIRAM9QILIBQtAABBL0cN1AEgFEEBaiEBDAYLAkAgASIUIAJHDQBB8QAhEAz0AgsCQCAULQAAIgFBL0cNACAUQQFqIQFB3QAhEAzbAgsgAUF2aiIEQRZLDdMBQQEgBHRBiYCAAnFFDdMBDMoCCwJAIAEiASACRg0AIAFBAWohAUHeACEQDNoCC0HyACEQDPICCwJAIAEiFCACRw0AQfQAIRAM8gILIBQhAQJAIBQtAABB8MyAgABqLQAAQX9qDgPJApQCANQBC0HhACEQDNgCCwJAIAEiFCACRg0AA0ACQCAULQAAQfDKgIAAai0AACIBQQNGDQACQCABQX9qDgLLAgDVAQsgFCEBQd8AIRAM2gILIBRBAWoiFCACRw0AC0HzACEQDPECC0HzACEQDPACCwJAIAEiASACRg0AIABBj4CAgAA2AgggACABNgIEIAEhAUHgACEQDNcCC0H1ACEQDO8CCwJAIAEiASACRw0AQfYAIRAM7wILIABBj4CAgAA2AgggACABNgIEIAEhAQtBAyEQDNQCCwNAIAEtAABBIEcNwwIgAUEBaiIBIAJHDQALQfcAIRAM7AILAkAgASIBIAJHDQBB+AAhEAzsAgsgAS0AAEEgRw3OASABQQFqIQEM7wELIAAgASIBIAIQrICAgAAiEA3OASABIQEMjgILAkAgASIEIAJHDQBB+gAhEAzqAgsgBC0AAEHMAEcN0QEgBEEBaiEBQRMhEAzPAQsCQCABIgQgAkcNAEH7ACEQDOkCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRADQCAELQAAIAFB8M6AgABqLQAARw3QASABQQVGDc4BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQfsAIRAM6AILAkAgASIEIAJHDQBB/AAhEAzoAgsCQAJAIAQtAABBvX9qDgwA0QHRAdEB0QHRAdEB0QHRAdEB0QEB0QELIARBAWohAUHmACEQDM8CCyAEQQFqIQFB5wAhEAzOAgsCQCABIgQgAkcNAEH9ACEQDOcCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDc8BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH9ACEQDOcCCyAAQQA2AgAgEEEBaiEBQRAhEAzMAQsCQCABIgQgAkcNAEH+ACEQDOYCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUH2zoCAAGotAABHDc4BIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH+ACEQDOYCCyAAQQA2AgAgEEEBaiEBQRYhEAzLAQsCQCABIgQgAkcNAEH/ACEQDOUCCyACIARrIAAoAgAiAWohFCAEIAFrQQNqIRACQANAIAQtAAAgAUH8zoCAAGotAABHDc0BIAFBA0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH/ACEQDOUCCyAAQQA2AgAgEEEBaiEBQQUhEAzKAQsCQCABIgQgAkcNAEGAASEQDOQCCyAELQAAQdkARw3LASAEQQFqIQFBCCEQDMkBCwJAIAEiBCACRw0AQYEBIRAM4wILAkACQCAELQAAQbJ/ag4DAMwBAcwBCyAEQQFqIQFB6wAhEAzKAgsgBEEBaiEBQewAIRAMyQILAkAgASIEIAJHDQBBggEhEAziAgsCQAJAIAQtAABBuH9qDggAywHLAcsBywHLAcsBAcsBCyAEQQFqIQFB6gAhEAzJAgsgBEEBaiEBQe0AIRAMyAILAkAgASIEIAJHDQBBgwEhEAzhAgsgAiAEayAAKAIAIgFqIRAgBCABa0ECaiEUAkADQCAELQAAIAFBgM+AgABqLQAARw3JASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBA2AgBBgwEhEAzhAgtBACEQIABBADYCACAUQQFqIQEMxgELAkAgASIEIAJHDQBBhAEhEAzgAgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBg8+AgABqLQAARw3IASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBhAEhEAzgAgsgAEEANgIAIBBBAWohAUEjIRAMxQELAkAgASIEIAJHDQBBhQEhEAzfAgsCQAJAIAQtAABBtH9qDggAyAHIAcgByAHIAcgBAcgBCyAEQQFqIQFB7wAhEAzGAgsgBEEBaiEBQfAAIRAMxQILAkAgASIEIAJHDQBBhgEhEAzeAgsgBC0AAEHFAEcNxQEgBEEBaiEBDIMCCwJAIAEiBCACRw0AQYcBIRAM3QILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQYjPgIAAai0AAEcNxQEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYcBIRAM3QILIABBADYCACAQQQFqIQFBLSEQDMIBCwJAIAEiBCACRw0AQYgBIRAM3AILIAIgBGsgACgCACIBaiEUIAQgAWtBCGohEAJAA0AgBC0AACABQdDPgIAAai0AAEcNxAEgAUEIRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYgBIRAM3AILIABBADYCACAQQQFqIQFBKSEQDMEBCwJAIAEiASACRw0AQYkBIRAM2wILQQEhECABLQAAQd8ARw3AASABQQFqIQEMgQILAkAgASIEIAJHDQBBigEhEAzaAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQA0AgBC0AACABQYzPgIAAai0AAEcNwQEgAUEBRg2vAiABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGKASEQDNkCCwJAIAEiBCACRw0AQYsBIRAM2QILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQY7PgIAAai0AAEcNwQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYsBIRAM2QILIABBADYCACAQQQFqIQFBAiEQDL4BCwJAIAEiBCACRw0AQYwBIRAM2AILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfDPgIAAai0AAEcNwAEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYwBIRAM2AILIABBADYCACAQQQFqIQFBHyEQDL0BCwJAIAEiBCACRw0AQY0BIRAM1wILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfLPgIAAai0AAEcNvwEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQY0BIRAM1wILIABBADYCACAQQQFqIQFBCSEQDLwBCwJAIAEiBCACRw0AQY4BIRAM1gILAkACQCAELQAAQbd/ag4HAL8BvwG/Ab8BvwEBvwELIARBAWohAUH4ACEQDL0CCyAEQQFqIQFB+QAhEAy8AgsCQCABIgQgAkcNAEGPASEQDNUCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGRz4CAAGotAABHDb0BIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGPASEQDNUCCyAAQQA2AgAgEEEBaiEBQRghEAy6AQsCQCABIgQgAkcNAEGQASEQDNQCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUGXz4CAAGotAABHDbwBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGQASEQDNQCCyAAQQA2AgAgEEEBaiEBQRchEAy5AQsCQCABIgQgAkcNAEGRASEQDNMCCyACIARrIAAoAgAiAWohFCAEIAFrQQZqIRACQANAIAQtAAAgAUGaz4CAAGotAABHDbsBIAFBBkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGRASEQDNMCCyAAQQA2AgAgEEEBaiEBQRUhEAy4AQsCQCABIgQgAkcNAEGSASEQDNICCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGhz4CAAGotAABHDboBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGSASEQDNICCyAAQQA2AgAgEEEBaiEBQR4hEAy3AQsCQCABIgQgAkcNAEGTASEQDNECCyAELQAAQcwARw24ASAEQQFqIQFBCiEQDLYBCwJAIAQgAkcNAEGUASEQDNACCwJAAkAgBC0AAEG/f2oODwC5AbkBuQG5AbkBuQG5AbkBuQG5AbkBuQG5AQG5AQsgBEEBaiEBQf4AIRAMtwILIARBAWohAUH/ACEQDLYCCwJAIAQgAkcNAEGVASEQDM8CCwJAAkAgBC0AAEG/f2oOAwC4AQG4AQsgBEEBaiEBQf0AIRAMtgILIARBAWohBEGAASEQDLUCCwJAIAQgAkcNAEGWASEQDM4CCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUGnz4CAAGotAABHDbYBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGWASEQDM4CCyAAQQA2AgAgEEEBaiEBQQshEAyzAQsCQCAEIAJHDQBBlwEhEAzNAgsCQAJAAkACQCAELQAAQVNqDiMAuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AQG4AbgBuAG4AbgBArgBuAG4AQO4AQsgBEEBaiEBQfsAIRAMtgILIARBAWohAUH8ACEQDLUCCyAEQQFqIQRBgQEhEAy0AgsgBEEBaiEEQYIBIRAMswILAkAgBCACRw0AQZgBIRAMzAILIAIgBGsgACgCACIBaiEUIAQgAWtBBGohEAJAA0AgBC0AACABQanPgIAAai0AAEcNtAEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZgBIRAMzAILIABBADYCACAQQQFqIQFBGSEQDLEBCwJAIAQgAkcNAEGZASEQDMsCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGuz4CAAGotAABHDbMBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGZASEQDMsCCyAAQQA2AgAgEEEBaiEBQQYhEAywAQsCQCAEIAJHDQBBmgEhEAzKAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBtM+AgABqLQAARw2yASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmgEhEAzKAgsgAEEANgIAIBBBAWohAUEcIRAMrwELAkAgBCACRw0AQZsBIRAMyQILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQbbPgIAAai0AAEcNsQEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZsBIRAMyQILIABBADYCACAQQQFqIQFBJyEQDK4BCwJAIAQgAkcNAEGcASEQDMgCCwJAAkAgBC0AAEGsf2oOAgABsQELIARBAWohBEGGASEQDK8CCyAEQQFqIQRBhwEhEAyuAgsCQCAEIAJHDQBBnQEhEAzHAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBuM+AgABqLQAARw2vASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBnQEhEAzHAgsgAEEANgIAIBBBAWohAUEmIRAMrAELAkAgBCACRw0AQZ4BIRAMxgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQbrPgIAAai0AAEcNrgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZ4BIRAMxgILIABBADYCACAQQQFqIQFBAyEQDKsBCwJAIAQgAkcNAEGfASEQDMUCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDa0BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGfASEQDMUCCyAAQQA2AgAgEEEBaiEBQQwhEAyqAQsCQCAEIAJHDQBBoAEhEAzEAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFBvM+AgABqLQAARw2sASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBoAEhEAzEAgsgAEEANgIAIBBBAWohAUENIRAMqQELAkAgBCACRw0AQaEBIRAMwwILAkACQCAELQAAQbp/ag4LAKwBrAGsAawBrAGsAawBrAGsAQGsAQsgBEEBaiEEQYsBIRAMqgILIARBAWohBEGMASEQDKkCCwJAIAQgAkcNAEGiASEQDMICCyAELQAAQdAARw2pASAEQQFqIQQM6QELAkAgBCACRw0AQaMBIRAMwQILAkACQCAELQAAQbd/ag4HAaoBqgGqAaoBqgEAqgELIARBAWohBEGOASEQDKgCCyAEQQFqIQFBIiEQDKYBCwJAIAQgAkcNAEGkASEQDMACCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUHAz4CAAGotAABHDagBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGkASEQDMACCyAAQQA2AgAgEEEBaiEBQR0hEAylAQsCQCAEIAJHDQBBpQEhEAy/AgsCQAJAIAQtAABBrn9qDgMAqAEBqAELIARBAWohBEGQASEQDKYCCyAEQQFqIQFBBCEQDKQBCwJAIAQgAkcNAEGmASEQDL4CCwJAAkACQAJAAkAgBC0AAEG/f2oOFQCqAaoBqgGqAaoBqgGqAaoBqgGqAQGqAaoBAqoBqgEDqgGqAQSqAQsgBEEBaiEEQYgBIRAMqAILIARBAWohBEGJASEQDKcCCyAEQQFqIQRBigEhEAymAgsgBEEBaiEEQY8BIRAMpQILIARBAWohBEGRASEQDKQCCwJAIAQgAkcNAEGnASEQDL0CCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDaUBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGnASEQDL0CCyAAQQA2AgAgEEEBaiEBQREhEAyiAQsCQCAEIAJHDQBBqAEhEAy8AgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBws+AgABqLQAARw2kASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBqAEhEAy8AgsgAEEANgIAIBBBAWohAUEsIRAMoQELAkAgBCACRw0AQakBIRAMuwILIAIgBGsgACgCACIBaiEUIAQgAWtBBGohEAJAA0AgBC0AACABQcXPgIAAai0AAEcNowEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQakBIRAMuwILIABBADYCACAQQQFqIQFBKyEQDKABCwJAIAQgAkcNAEGqASEQDLoCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHKz4CAAGotAABHDaIBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGqASEQDLoCCyAAQQA2AgAgEEEBaiEBQRQhEAyfAQsCQCAEIAJHDQBBqwEhEAy5AgsCQAJAAkACQCAELQAAQb5/ag4PAAECpAGkAaQBpAGkAaQBpAGkAaQBpAGkAQOkAQsgBEEBaiEEQZMBIRAMogILIARBAWohBEGUASEQDKECCyAEQQFqIQRBlQEhEAygAgsgBEEBaiEEQZYBIRAMnwILAkAgBCACRw0AQawBIRAMuAILIAQtAABBxQBHDZ8BIARBAWohBAzgAQsCQCAEIAJHDQBBrQEhEAy3AgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBzc+AgABqLQAARw2fASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBrQEhEAy3AgsgAEEANgIAIBBBAWohAUEOIRAMnAELAkAgBCACRw0AQa4BIRAMtgILIAQtAABB0ABHDZ0BIARBAWohAUElIRAMmwELAkAgBCACRw0AQa8BIRAMtQILIAIgBGsgACgCACIBaiEUIAQgAWtBCGohEAJAA0AgBC0AACABQdDPgIAAai0AAEcNnQEgAUEIRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQa8BIRAMtQILIABBADYCACAQQQFqIQFBKiEQDJoBCwJAIAQgAkcNAEGwASEQDLQCCwJAAkAgBC0AAEGrf2oOCwCdAZ0BnQGdAZ0BnQGdAZ0BnQEBnQELIARBAWohBEGaASEQDJsCCyAEQQFqIQRBmwEhEAyaAgsCQCAEIAJHDQBBsQEhEAyzAgsCQAJAIAQtAABBv39qDhQAnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBAZwBCyAEQQFqIQRBmQEhEAyaAgsgBEEBaiEEQZwBIRAMmQILAkAgBCACRw0AQbIBIRAMsgILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQdnPgIAAai0AAEcNmgEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbIBIRAMsgILIABBADYCACAQQQFqIQFBISEQDJcBCwJAIAQgAkcNAEGzASEQDLECCyACIARrIAAoAgAiAWohFCAEIAFrQQZqIRACQANAIAQtAAAgAUHdz4CAAGotAABHDZkBIAFBBkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGzASEQDLECCyAAQQA2AgAgEEEBaiEBQRohEAyWAQsCQCAEIAJHDQBBtAEhEAywAgsCQAJAAkAgBC0AAEG7f2oOEQCaAZoBmgGaAZoBmgGaAZoBmgEBmgGaAZoBmgGaAQKaAQsgBEEBaiEEQZ0BIRAMmAILIARBAWohBEGeASEQDJcCCyAEQQFqIQRBnwEhEAyWAgsCQCAEIAJHDQBBtQEhEAyvAgsgAiAEayAAKAIAIgFqIRQgBCABa0EFaiEQAkADQCAELQAAIAFB5M+AgABqLQAARw2XASABQQVGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBtQEhEAyvAgsgAEEANgIAIBBBAWohAUEoIRAMlAELAkAgBCACRw0AQbYBIRAMrgILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQerPgIAAai0AAEcNlgEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbYBIRAMrgILIABBADYCACAQQQFqIQFBByEQDJMBCwJAIAQgAkcNAEG3ASEQDK0CCwJAAkAgBC0AAEG7f2oODgCWAZYBlgGWAZYBlgGWAZYBlgGWAZYBlgEBlgELIARBAWohBEGhASEQDJQCCyAEQQFqIQRBogEhEAyTAgsCQCAEIAJHDQBBuAEhEAysAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFB7c+AgABqLQAARw2UASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBuAEhEAysAgsgAEEANgIAIBBBAWohAUESIRAMkQELAkAgBCACRw0AQbkBIRAMqwILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfDPgIAAai0AAEcNkwEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbkBIRAMqwILIABBADYCACAQQQFqIQFBICEQDJABCwJAIAQgAkcNAEG6ASEQDKoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUHyz4CAAGotAABHDZIBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG6ASEQDKoCCyAAQQA2AgAgEEEBaiEBQQ8hEAyPAQsCQCAEIAJHDQBBuwEhEAypAgsCQAJAIAQtAABBt39qDgcAkgGSAZIBkgGSAQGSAQsgBEEBaiEEQaUBIRAMkAILIARBAWohBEGmASEQDI8CCwJAIAQgAkcNAEG8ASEQDKgCCyACIARrIAAoAgAiAWohFCAEIAFrQQdqIRACQANAIAQtAAAgAUH0z4CAAGotAABHDZABIAFBB0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG8ASEQDKgCCyAAQQA2AgAgEEEBaiEBQRshEAyNAQsCQCAEIAJHDQBBvQEhEAynAgsCQAJAAkAgBC0AAEG+f2oOEgCRAZEBkQGRAZEBkQGRAZEBkQEBkQGRAZEBkQGRAZEBApEBCyAEQQFqIQRBpAEhEAyPAgsgBEEBaiEEQacBIRAMjgILIARBAWohBEGoASEQDI0CCwJAIAQgAkcNAEG+ASEQDKYCCyAELQAAQc4ARw2NASAEQQFqIQQMzwELAkAgBCACRw0AQb8BIRAMpQILAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBC0AAEG/f2oOFQABAgOcAQQFBpwBnAGcAQcICQoLnAEMDQ4PnAELIARBAWohAUHoACEQDJoCCyAEQQFqIQFB6QAhEAyZAgsgBEEBaiEBQe4AIRAMmAILIARBAWohAUHyACEQDJcCCyAEQQFqIQFB8wAhEAyWAgsgBEEBaiEBQfYAIRAMlQILIARBAWohAUH3ACEQDJQCCyAEQQFqIQFB+gAhEAyTAgsgBEEBaiEEQYMBIRAMkgILIARBAWohBEGEASEQDJECCyAEQQFqIQRBhQEhEAyQAgsgBEEBaiEEQZIBIRAMjwILIARBAWohBEGYASEQDI4CCyAEQQFqIQRBoAEhEAyNAgsgBEEBaiEEQaMBIRAMjAILIARBAWohBEGqASEQDIsCCwJAIAQgAkYNACAAQZCAgIAANgIIIAAgBDYCBEGrASEQDIsCC0HAASEQDKMCCyAAIAUgAhCqgICAACIBDYsBIAUhAQxcCwJAIAYgAkYNACAGQQFqIQUMjQELQcIBIRAMoQILA0ACQCAQLQAAQXZqDgSMAQAAjwEACyAQQQFqIhAgAkcNAAtBwwEhEAygAgsCQCAHIAJGDQAgAEGRgICAADYCCCAAIAc2AgQgByEBQQEhEAyHAgtBxAEhEAyfAgsCQCAHIAJHDQBBxQEhEAyfAgsCQAJAIActAABBdmoOBAHOAc4BAM4BCyAHQQFqIQYMjQELIAdBAWohBQyJAQsCQCAHIAJHDQBBxgEhEAyeAgsCQAJAIActAABBdmoOFwGPAY8BAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAQCPAQsgB0EBaiEHC0GwASEQDIQCCwJAIAggAkcNAEHIASEQDJ0CCyAILQAAQSBHDY0BIABBADsBMiAIQQFqIQFBswEhEAyDAgsgASEXAkADQCAXIgcgAkYNASAHLQAAQVBqQf8BcSIQQQpPDcwBAkAgAC8BMiIUQZkzSw0AIAAgFEEKbCIUOwEyIBBB//8DcyAUQf7/A3FJDQAgB0EBaiEXIAAgFCAQaiIQOwEyIBBB//8DcUHoB0kNAQsLQQAhECAAQQA2AhwgAEHBiYCAADYCECAAQQ02AgwgACAHQQFqNgIUDJwCC0HHASEQDJsCCyAAIAggAhCugICAACIQRQ3KASAQQRVHDYwBIABByAE2AhwgACAINgIUIABByZeAgAA2AhAgAEEVNgIMQQAhEAyaAgsCQCAJIAJHDQBBzAEhEAyaAgtBACEUQQEhF0EBIRZBACEQAkACQAJAAkACQAJAAkACQAJAIAktAABBUGoOCpYBlQEAAQIDBAUGCJcBC0ECIRAMBgtBAyEQDAULQQQhEAwEC0EFIRAMAwtBBiEQDAILQQchEAwBC0EIIRALQQAhF0EAIRZBACEUDI4BC0EJIRBBASEUQQAhF0EAIRYMjQELAkAgCiACRw0AQc4BIRAMmQILIAotAABBLkcNjgEgCkEBaiEJDMoBCyALIAJHDY4BQdABIRAMlwILAkAgCyACRg0AIABBjoCAgAA2AgggACALNgIEQbcBIRAM/gELQdEBIRAMlgILAkAgBCACRw0AQdIBIRAMlgILIAIgBGsgACgCACIQaiEUIAQgEGtBBGohCwNAIAQtAAAgEEH8z4CAAGotAABHDY4BIBBBBEYN6QEgEEEBaiEQIARBAWoiBCACRw0ACyAAIBQ2AgBB0gEhEAyVAgsgACAMIAIQrICAgAAiAQ2NASAMIQEMuAELAkAgBCACRw0AQdQBIRAMlAILIAIgBGsgACgCACIQaiEUIAQgEGtBAWohDANAIAQtAAAgEEGB0ICAAGotAABHDY8BIBBBAUYNjgEgEEEBaiEQIARBAWoiBCACRw0ACyAAIBQ2AgBB1AEhEAyTAgsCQCAEIAJHDQBB1gEhEAyTAgsgAiAEayAAKAIAIhBqIRQgBCAQa0ECaiELA0AgBC0AACAQQYPQgIAAai0AAEcNjgEgEEECRg2QASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHWASEQDJICCwJAIAQgAkcNAEHXASEQDJICCwJAAkAgBC0AAEG7f2oOEACPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BAY8BCyAEQQFqIQRBuwEhEAz5AQsgBEEBaiEEQbwBIRAM+AELAkAgBCACRw0AQdgBIRAMkQILIAQtAABByABHDYwBIARBAWohBAzEAQsCQCAEIAJGDQAgAEGQgICAADYCCCAAIAQ2AgRBvgEhEAz3AQtB2QEhEAyPAgsCQCAEIAJHDQBB2gEhEAyPAgsgBC0AAEHIAEYNwwEgAEEBOgAoDLkBCyAAQQI6AC8gACAEIAIQpoCAgAAiEA2NAUHCASEQDPQBCyAALQAoQX9qDgK3AbkBuAELA0ACQCAELQAAQXZqDgQAjgGOAQCOAQsgBEEBaiIEIAJHDQALQd0BIRAMiwILIABBADoALyAALQAtQQRxRQ2EAgsgAEEAOgAvIABBAToANCABIQEMjAELIBBBFUYN2gEgAEEANgIcIAAgATYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAMiAILAkAgACAQIAIQtICAgAAiBA0AIBAhAQyBAgsCQCAEQRVHDQAgAEEDNgIcIAAgEDYCFCAAQbCYgIAANgIQIABBFTYCDEEAIRAMiAILIABBADYCHCAAIBA2AhQgAEGnjoCAADYCECAAQRI2AgxBACEQDIcCCyAQQRVGDdYBIABBADYCHCAAIAE2AhQgAEHajYCAADYCECAAQRQ2AgxBACEQDIYCCyAAKAIEIRcgAEEANgIEIBAgEadqIhYhASAAIBcgECAWIBQbIhAQtYCAgAAiFEUNjQEgAEEHNgIcIAAgEDYCFCAAIBQ2AgxBACEQDIUCCyAAIAAvATBBgAFyOwEwIAEhAQtBKiEQDOoBCyAQQRVGDdEBIABBADYCHCAAIAE2AhQgAEGDjICAADYCECAAQRM2AgxBACEQDIICCyAQQRVGDc8BIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDIECCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyNAQsgAEEMNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDIACCyAQQRVGDcwBIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDP8BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyMAQsgAEENNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDP4BCyAQQRVGDckBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDP0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQuYCAgAAiEA0AIAFBAWohAQyLAQsgAEEONgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPwBCyAAQQA2AhwgACABNgIUIABBwJWAgAA2AhAgAEECNgIMQQAhEAz7AQsgEEEVRg3FASAAQQA2AhwgACABNgIUIABBxoyAgAA2AhAgAEEjNgIMQQAhEAz6AQsgAEEQNgIcIAAgATYCFCAAIBA2AgxBACEQDPkBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQzxAQsgAEERNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPgBCyAQQRVGDcEBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDPcBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQuYCAgAAiEA0AIAFBAWohAQyIAQsgAEETNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPYBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQztAQsgAEEUNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPUBCyAQQRVGDb0BIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDPQBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyGAQsgAEEWNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPMBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQt4CAgAAiBA0AIAFBAWohAQzpAQsgAEEXNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPIBCyAAQQA2AhwgACABNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhEAzxAQtCASERCyAQQQFqIQECQCAAKQMgIhJC//////////8PVg0AIAAgEkIEhiARhDcDICABIQEMhAELIABBADYCHCAAIAE2AhQgAEGtiYCAADYCECAAQQw2AgxBACEQDO8BCyAAQQA2AhwgACAQNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhEAzuAQsgACgCBCEXIABBADYCBCAQIBGnaiIWIQEgACAXIBAgFiAUGyIQELWAgIAAIhRFDXMgAEEFNgIcIAAgEDYCFCAAIBQ2AgxBACEQDO0BCyAAQQA2AhwgACAQNgIUIABBqpyAgAA2AhAgAEEPNgIMQQAhEAzsAQsgACAQIAIQtICAgAAiAQ0BIBAhAQtBDiEQDNEBCwJAIAFBFUcNACAAQQI2AhwgACAQNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAzqAQsgAEEANgIcIAAgEDYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAM6QELIAFBAWohEAJAIAAvATAiAUGAAXFFDQACQCAAIBAgAhC7gICAACIBDQAgECEBDHALIAFBFUcNugEgAEEFNgIcIAAgEDYCFCAAQfmXgIAANgIQIABBFTYCDEEAIRAM6QELAkAgAUGgBHFBoARHDQAgAC0ALUECcQ0AIABBADYCHCAAIBA2AhQgAEGWk4CAADYCECAAQQQ2AgxBACEQDOkBCyAAIBAgAhC9gICAABogECEBAkACQAJAAkACQCAAIBAgAhCzgICAAA4WAgEABAQEBAQEBAQEBAQEBAQEBAQEAwQLIABBAToALgsgACAALwEwQcAAcjsBMCAQIQELQSYhEAzRAQsgAEEjNgIcIAAgEDYCFCAAQaWWgIAANgIQIABBFTYCDEEAIRAM6QELIABBADYCHCAAIBA2AhQgAEHVi4CAADYCECAAQRE2AgxBACEQDOgBCyAALQAtQQFxRQ0BQcMBIRAMzgELAkAgDSACRg0AA0ACQCANLQAAQSBGDQAgDSEBDMQBCyANQQFqIg0gAkcNAAtBJSEQDOcBC0ElIRAM5gELIAAoAgQhBCAAQQA2AgQgACAEIA0Qr4CAgAAiBEUNrQEgAEEmNgIcIAAgBDYCDCAAIA1BAWo2AhRBACEQDOUBCyAQQRVGDasBIABBADYCHCAAIAE2AhQgAEH9jYCAADYCECAAQR02AgxBACEQDOQBCyAAQSc2AhwgACABNgIUIAAgEDYCDEEAIRAM4wELIBAhAUEBIRQCQAJAAkACQAJAAkACQCAALQAsQX5qDgcGBQUDAQIABQsgACAALwEwQQhyOwEwDAMLQQIhFAwBC0EEIRQLIABBAToALCAAIAAvATAgFHI7ATALIBAhAQtBKyEQDMoBCyAAQQA2AhwgACAQNgIUIABBq5KAgAA2AhAgAEELNgIMQQAhEAziAQsgAEEANgIcIAAgATYCFCAAQeGPgIAANgIQIABBCjYCDEEAIRAM4QELIABBADoALCAQIQEMvQELIBAhAUEBIRQCQAJAAkACQAJAIAAtACxBe2oOBAMBAgAFCyAAIAAvATBBCHI7ATAMAwtBAiEUDAELQQQhFAsgAEEBOgAsIAAgAC8BMCAUcjsBMAsgECEBC0EpIRAMxQELIABBADYCHCAAIAE2AhQgAEHwlICAADYCECAAQQM2AgxBACEQDN0BCwJAIA4tAABBDUcNACAAKAIEIQEgAEEANgIEAkAgACABIA4QsYCAgAAiAQ0AIA5BAWohAQx1CyAAQSw2AhwgACABNgIMIAAgDkEBajYCFEEAIRAM3QELIAAtAC1BAXFFDQFBxAEhEAzDAQsCQCAOIAJHDQBBLSEQDNwBCwJAAkADQAJAIA4tAABBdmoOBAIAAAMACyAOQQFqIg4gAkcNAAtBLSEQDN0BCyAAKAIEIQEgAEEANgIEAkAgACABIA4QsYCAgAAiAQ0AIA4hAQx0CyAAQSw2AhwgACAONgIUIAAgATYCDEEAIRAM3AELIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDkEBaiEBDHMLIABBLDYCHCAAIAE2AgwgACAOQQFqNgIUQQAhEAzbAQsgACgCBCEEIABBADYCBCAAIAQgDhCxgICAACIEDaABIA4hAQzOAQsgEEEsRw0BIAFBAWohEEEBIQECQAJAAkACQAJAIAAtACxBe2oOBAMBAgQACyAQIQEMBAtBAiEBDAELQQQhAQsgAEEBOgAsIAAgAC8BMCABcjsBMCAQIQEMAQsgACAALwEwQQhyOwEwIBAhAQtBOSEQDL8BCyAAQQA6ACwgASEBC0E0IRAMvQELIAAgAC8BMEEgcjsBMCABIQEMAgsgACgCBCEEIABBADYCBAJAIAAgBCABELGAgIAAIgQNACABIQEMxwELIABBNzYCHCAAIAE2AhQgACAENgIMQQAhEAzUAQsgAEEIOgAsIAEhAQtBMCEQDLkBCwJAIAAtAChBAUYNACABIQEMBAsgAC0ALUEIcUUNkwEgASEBDAMLIAAtADBBIHENlAFBxQEhEAy3AQsCQCAPIAJGDQACQANAAkAgDy0AAEFQaiIBQf8BcUEKSQ0AIA8hAUE1IRAMugELIAApAyAiEUKZs+bMmbPmzBlWDQEgACARQgp+IhE3AyAgESABrUL/AYMiEkJ/hVYNASAAIBEgEnw3AyAgD0EBaiIPIAJHDQALQTkhEAzRAQsgACgCBCECIABBADYCBCAAIAIgD0EBaiIEELGAgIAAIgINlQEgBCEBDMMBC0E5IRAMzwELAkAgAC8BMCIBQQhxRQ0AIAAtAChBAUcNACAALQAtQQhxRQ2QAQsgACABQff7A3FBgARyOwEwIA8hAQtBNyEQDLQBCyAAIAAvATBBEHI7ATAMqwELIBBBFUYNiwEgAEEANgIcIAAgATYCFCAAQfCOgIAANgIQIABBHDYCDEEAIRAMywELIABBwwA2AhwgACABNgIMIAAgDUEBajYCFEEAIRAMygELAkAgAS0AAEE6Rw0AIAAoAgQhECAAQQA2AgQCQCAAIBAgARCvgICAACIQDQAgAUEBaiEBDGMLIABBwwA2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAMygELIABBADYCHCAAIAE2AhQgAEGxkYCAADYCECAAQQo2AgxBACEQDMkBCyAAQQA2AhwgACABNgIUIABBoJmAgAA2AhAgAEEeNgIMQQAhEAzIAQsgAEEANgIACyAAQYASOwEqIAAgF0EBaiIBIAIQqICAgAAiEA0BIAEhAQtBxwAhEAysAQsgEEEVRw2DASAAQdEANgIcIAAgATYCFCAAQeOXgIAANgIQIABBFTYCDEEAIRAMxAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDF4LIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMwwELIABBADYCHCAAIBQ2AhQgAEHBqICAADYCECAAQQc2AgwgAEEANgIAQQAhEAzCAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMXQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAzBAQtBACEQIABBADYCHCAAIAE2AhQgAEGAkYCAADYCECAAQQk2AgwMwAELIBBBFUYNfSAAQQA2AhwgACABNgIUIABBlI2AgAA2AhAgAEEhNgIMQQAhEAy/AQtBASEWQQAhF0EAIRRBASEQCyAAIBA6ACsgAUEBaiEBAkACQCAALQAtQRBxDQACQAJAAkAgAC0AKg4DAQACBAsgFkUNAwwCCyAUDQEMAgsgF0UNAQsgACgCBCEQIABBADYCBAJAIAAgECABEK2AgIAAIhANACABIQEMXAsgAEHYADYCHCAAIAE2AhQgACAQNgIMQQAhEAy+AQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMrQELIABB2QA2AhwgACABNgIUIAAgBDYCDEEAIRAMvQELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKsBCyAAQdoANgIcIAAgATYCFCAAIAQ2AgxBACEQDLwBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQypAQsgAEHcADYCHCAAIAE2AhQgACAENgIMQQAhEAy7AQsCQCABLQAAQVBqIhBB/wFxQQpPDQAgACAQOgAqIAFBAWohAUHPACEQDKIBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQynAQsgAEHeADYCHCAAIAE2AhQgACAENgIMQQAhEAy6AQsgAEEANgIAIBdBAWohAQJAIAAtAClBI08NACABIQEMWQsgAEEANgIcIAAgATYCFCAAQdOJgIAANgIQIABBCDYCDEEAIRAMuQELIABBADYCAAtBACEQIABBADYCHCAAIAE2AhQgAEGQs4CAADYCECAAQQg2AgwMtwELIABBADYCACAXQQFqIQECQCAALQApQSFHDQAgASEBDFYLIABBADYCHCAAIAE2AhQgAEGbioCAADYCECAAQQg2AgxBACEQDLYBCyAAQQA2AgAgF0EBaiEBAkAgAC0AKSIQQV1qQQtPDQAgASEBDFULAkAgEEEGSw0AQQEgEHRBygBxRQ0AIAEhAQxVC0EAIRAgAEEANgIcIAAgATYCFCAAQfeJgIAANgIQIABBCDYCDAy1AQsgEEEVRg1xIABBADYCHCAAIAE2AhQgAEG5jYCAADYCECAAQRo2AgxBACEQDLQBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxUCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLMBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdIANgIcIAAgATYCFCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAUNgIUIAAgATYCDEEAIRAMogELIABBADYCHCAAIBQ2AhQgAEHDj4CAADYCECAAQQc2AgxBACEQDKEBCyAAQQA2AhwgACABNgIUIABBw4+AgAA2AhAgAEEHNgIMQQAhEAygAQtBACEQIABBADYCHCAAIBQ2AhQgAEGMnICAADYCECAAQQc2AgwMnwELIABBADYCHCAAIBQ2AhQgAEGMnICAADYCECAAQQc2AgxBACEQDJ4BCyAAQQA2AhwgACAUNgIUIABB/pGAgAA2AhAgAEEHNgIMQQAhEAydAQsgAEEANgIcIAAgATYCFCAAQY6bgIAANgIQIABBBjYCDEEAIRAMnAELIBBBFUYNVyAAQQA2AhwgACABNgIUIABBzI6AgAA2AhAgAEEgNgIMQQAhEAybAQsgAEEANgIAIBBBAWohAUEkIRALIAAgEDoAKSAAKAIEIRAgAEEANgIEIAAgECABEKuAgIAAIhANVCABIQEMPgsgAEEANgIAC0EAIRAgAEEANgIcIAAgBDYCFCAAQfGbgIAANgIQIABBBjYCDAyXAQsgAUEVRg1QIABBADYCHCAAIAU2AhQgAEHwjICAADYCECAAQRs2AgxBACEQDJYBCyAAKAIEIQUgAEEANgIEIAAgBSAQEKmAgIAAIgUNASAQQQFqIQULQa0BIRAMewsgAEHBATYCHCAAIAU2AgwgACAQQQFqNgIUQQAhEAyTAQsgACgCBCEGIABBADYCBCAAIAYgEBCpgICAACIGDQEgEEEBaiEGC0GuASEQDHgLIABBwgE2AhwgACAGNgIMIAAgEEEBajYCFEEAIRAMkAELIABBADYCHCAAIAc2AhQgAEGXi4CAADYCECAAQQ02AgxBACEQDI8BCyAAQQA2AhwgACAINgIUIABB45CAgAA2AhAgAEEJNgIMQQAhEAyOAQsgAEEANgIcIAAgCDYCFCAAQZSNgIAANgIQIABBITYCDEEAIRAMjQELQQEhFkEAIRdBACEUQQEhEAsgACAQOgArIAlBAWohCAJAAkAgAC0ALUEQcQ0AAkACQAJAIAAtACoOAwEAAgQLIBZFDQMMAgsgFA0BDAILIBdFDQELIAAoAgQhECAAQQA2AgQgACAQIAgQrYCAgAAiEEUNPSAAQckBNgIcIAAgCDYCFCAAIBA2AgxBACEQDIwBCyAAKAIEIQQgAEEANgIEIAAgBCAIEK2AgIAAIgRFDXYgAEHKATYCHCAAIAg2AhQgACAENgIMQQAhEAyLAQsgACgCBCEEIABBADYCBCAAIAQgCRCtgICAACIERQ10IABBywE2AhwgACAJNgIUIAAgBDYCDEEAIRAMigELIAAoAgQhBCAAQQA2AgQgACAEIAoQrYCAgAAiBEUNciAAQc0BNgIcIAAgCjYCFCAAIAQ2AgxBACEQDIkBCwJAIAstAABBUGoiEEH/AXFBCk8NACAAIBA6ACogC0EBaiEKQbYBIRAMcAsgACgCBCEEIABBADYCBCAAIAQgCxCtgICAACIERQ1wIABBzwE2AhwgACALNgIUIAAgBDYCDEEAIRAMiAELIABBADYCHCAAIAQ2AhQgAEGQs4CAADYCECAAQQg2AgwgAEEANgIAQQAhEAyHAQsgAUEVRg0/IABBADYCHCAAIAw2AhQgAEHMjoCAADYCECAAQSA2AgxBACEQDIYBCyAAQYEEOwEoIAAoAgQhECAAQgA3AwAgACAQIAxBAWoiDBCrgICAACIQRQ04IABB0wE2AhwgACAMNgIUIAAgEDYCDEEAIRAMhQELIABBADYCAAtBACEQIABBADYCHCAAIAQ2AhQgAEHYm4CAADYCECAAQQg2AgwMgwELIAAoAgQhECAAQgA3AwAgACAQIAtBAWoiCxCrgICAACIQDQFBxgEhEAxpCyAAQQI6ACgMVQsgAEHVATYCHCAAIAs2AhQgACAQNgIMQQAhEAyAAQsgEEEVRg03IABBADYCHCAAIAQ2AhQgAEGkjICAADYCECAAQRA2AgxBACEQDH8LIAAtADRBAUcNNCAAIAQgAhC8gICAACIQRQ00IBBBFUcNNSAAQdwBNgIcIAAgBDYCFCAAQdWWgIAANgIQIABBFTYCDEEAIRAMfgtBACEQIABBADYCHCAAQa+LgIAANgIQIABBAjYCDCAAIBRBAWo2AhQMfQtBACEQDGMLQQIhEAxiC0ENIRAMYQtBDyEQDGALQSUhEAxfC0ETIRAMXgtBFSEQDF0LQRYhEAxcC0EXIRAMWwtBGCEQDFoLQRkhEAxZC0EaIRAMWAtBGyEQDFcLQRwhEAxWC0EdIRAMVQtBHyEQDFQLQSEhEAxTC0EjIRAMUgtBxgAhEAxRC0EuIRAMUAtBLyEQDE8LQTshEAxOC0E9IRAMTQtByAAhEAxMC0HJACEQDEsLQcsAIRAMSgtBzAAhEAxJC0HOACEQDEgLQdEAIRAMRwtB1QAhEAxGC0HYACEQDEULQdkAIRAMRAtB2wAhEAxDC0HkACEQDEILQeUAIRAMQQtB8QAhEAxAC0H0ACEQDD8LQY0BIRAMPgtBlwEhEAw9C0GpASEQDDwLQawBIRAMOwtBwAEhEAw6C0G5ASEQDDkLQa8BIRAMOAtBsQEhEAw3C0GyASEQDDYLQbQBIRAMNQtBtQEhEAw0C0G6ASEQDDMLQb0BIRAMMgtBvwEhEAwxC0HBASEQDDALIABBADYCHCAAIAQ2AhQgAEHpi4CAADYCECAAQR82AgxBACEQDEgLIABB2wE2AhwgACAENgIUIABB+paAgAA2AhAgAEEVNgIMQQAhEAxHCyAAQfgANgIcIAAgDDYCFCAAQcqYgIAANgIQIABBFTYCDEEAIRAMRgsgAEHRADYCHCAAIAU2AhQgAEGwl4CAADYCECAAQRU2AgxBACEQDEULIABB+QA2AhwgACABNgIUIAAgEDYCDEEAIRAMRAsgAEH4ADYCHCAAIAE2AhQgAEHKmICAADYCECAAQRU2AgxBACEQDEMLIABB5AA2AhwgACABNgIUIABB45eAgAA2AhAgAEEVNgIMQQAhEAxCCyAAQdcANgIcIAAgATYCFCAAQcmXgIAANgIQIABBFTYCDEEAIRAMQQsgAEEANgIcIAAgATYCFCAAQbmNgIAANgIQIABBGjYCDEEAIRAMQAsgAEHCADYCHCAAIAE2AhQgAEHjmICAADYCECAAQRU2AgxBACEQDD8LIABBADYCBCAAIA8gDxCxgICAACIERQ0BIABBOjYCHCAAIAQ2AgwgACAPQQFqNgIUQQAhEAw+CyAAKAIEIQQgAEEANgIEAkAgACAEIAEQsYCAgAAiBEUNACAAQTs2AhwgACAENgIMIAAgAUEBajYCFEEAIRAMPgsgAUEBaiEBDC0LIA9BAWohAQwtCyAAQQA2AhwgACAPNgIUIABB5JKAgAA2AhAgAEEENgIMQQAhEAw7CyAAQTY2AhwgACAENgIUIAAgAjYCDEEAIRAMOgsgAEEuNgIcIAAgDjYCFCAAIAQ2AgxBACEQDDkLIABB0AA2AhwgACABNgIUIABBkZiAgAA2AhAgAEEVNgIMQQAhEAw4CyANQQFqIQEMLAsgAEEVNgIcIAAgATYCFCAAQYKZgIAANgIQIABBFTYCDEEAIRAMNgsgAEEbNgIcIAAgATYCFCAAQZGXgIAANgIQIABBFTYCDEEAIRAMNQsgAEEPNgIcIAAgATYCFCAAQZGXgIAANgIQIABBFTYCDEEAIRAMNAsgAEELNgIcIAAgATYCFCAAQZGXgIAANgIQIABBFTYCDEEAIRAMMwsgAEEaNgIcIAAgATYCFCAAQYKZgIAANgIQIABBFTYCDEEAIRAMMgsgAEELNgIcIAAgATYCFCAAQYKZgIAANgIQIABBFTYCDEEAIRAMMQsgAEEKNgIcIAAgATYCFCAAQeSWgIAANgIQIABBFTYCDEEAIRAMMAsgAEEeNgIcIAAgATYCFCAAQfmXgIAANgIQIABBFTYCDEEAIRAMLwsgAEEANgIcIAAgEDYCFCAAQdqNgIAANgIQIABBFDYCDEEAIRAMLgsgAEEENgIcIAAgATYCFCAAQbCYgIAANgIQIABBFTYCDEEAIRAMLQsgAEEANgIAIAtBAWohCwtBuAEhEAwSCyAAQQA2AgAgEEEBaiEBQfUAIRAMEQsgASEBAkAgAC0AKUEFRw0AQeMAIRAMEQtB4gAhEAwQC0EAIRAgAEEANgIcIABB5JGAgAA2AhAgAEEHNgIMIAAgFEEBajYCFAwoCyAAQQA2AgAgF0EBaiEBQcAAIRAMDgtBASEBCyAAIAE6ACwgAEEANgIAIBdBAWohAQtBKCEQDAsLIAEhAQtBOCEQDAkLAkAgASIPIAJGDQADQAJAIA8tAABBgL6AgABqLQAAIgFBAUYNACABQQJHDQMgD0EBaiEBDAQLIA9BAWoiDyACRw0AC0E+IRAMIgtBPiEQDCELIABBADoALCAPIQEMAQtBCyEQDAYLQTohEAwFCyABQQFqIQFBLSEQDAQLIAAgAToALCAAQQA2AgAgFkEBaiEBQQwhEAwDCyAAQQA2AgAgF0EBaiEBQQohEAwCCyAAQQA2AgALIABBADoALCANIQFBCSEQDAALC0EAIRAgAEEANgIcIAAgCzYCFCAAQc2QgIAANgIQIABBCTYCDAwXC0EAIRAgAEEANgIcIAAgCjYCFCAAQemKgIAANgIQIABBCTYCDAwWC0EAIRAgAEEANgIcIAAgCTYCFCAAQbeQgIAANgIQIABBCTYCDAwVC0EAIRAgAEEANgIcIAAgCDYCFCAAQZyRgIAANgIQIABBCTYCDAwUC0EAIRAgAEEANgIcIAAgATYCFCAAQc2QgIAANgIQIABBCTYCDAwTC0EAIRAgAEEANgIcIAAgATYCFCAAQemKgIAANgIQIABBCTYCDAwSC0EAIRAgAEEANgIcIAAgATYCFCAAQbeQgIAANgIQIABBCTYCDAwRC0EAIRAgAEEANgIcIAAgATYCFCAAQZyRgIAANgIQIABBCTYCDAwQC0EAIRAgAEEANgIcIAAgATYCFCAAQZeVgIAANgIQIABBDzYCDAwPC0EAIRAgAEEANgIcIAAgATYCFCAAQZeVgIAANgIQIABBDzYCDAwOC0EAIRAgAEEANgIcIAAgATYCFCAAQcCSgIAANgIQIABBCzYCDAwNC0EAIRAgAEEANgIcIAAgATYCFCAAQZWJgIAANgIQIABBCzYCDAwMC0EAIRAgAEEANgIcIAAgATYCFCAAQeGPgIAANgIQIABBCjYCDAwLC0EAIRAgAEEANgIcIAAgATYCFCAAQfuPgIAANgIQIABBCjYCDAwKC0EAIRAgAEEANgIcIAAgATYCFCAAQfGZgIAANgIQIABBAjYCDAwJC0EAIRAgAEEANgIcIAAgATYCFCAAQcSUgIAANgIQIABBAjYCDAwIC0EAIRAgAEEANgIcIAAgATYCFCAAQfKVgIAANgIQIABBAjYCDAwHCyAAQQI2AhwgACABNgIUIABBnJqAgAA2AhAgAEEWNgIMQQAhEAwGC0EBIRAMBQtB1AAhECABIgQgAkYNBCADQQhqIAAgBCACQdjCgIAAQQoQxYCAgAAgAygCDCEEIAMoAggOAwEEAgALEMqAgIAAAAsgAEEANgIcIABBtZqAgAA2AhAgAEEXNgIMIAAgBEEBajYCFEEAIRAMAgsgAEEANgIcIAAgBDYCFCAAQcqagIAANgIQIABBCTYCDEEAIRAMAQsCQCABIgQgAkcNAEEiIRAMAQsgAEGJgICAADYCCCAAIAQ2AgRBISEQCyADQRBqJICAgIAAIBALrwEBAn8gASgCACEGAkACQCACIANGDQAgBCAGaiEEIAYgA2ogAmshByACIAZBf3MgBWoiBmohBQNAAkAgAi0AACAELQAARg0AQQIhBAwDCwJAIAYNAEEAIQQgBSECDAMLIAZBf2ohBiAEQQFqIQQgAkEBaiICIANHDQALIAchBiADIQILIABBATYCACABIAY2AgAgACACNgIEDwsgAUEANgIAIAAgBDYCACAAIAI2AgQLCgAgABDHgICAAAvyNgELfyOAgICAAEEQayIBJICAgIAAAkBBACgCoNCAgAANAEEAEMuAgIAAQYDUhIAAayICQdkASQ0AQQAhAwJAQQAoAuDTgIAAIgQNAEEAQn83AuzTgIAAQQBCgICEgICAwAA3AuTTgIAAQQAgAUEIakFwcUHYqtWqBXMiBDYC4NOAgABBAEEANgL004CAAEEAQQA2AsTTgIAAC0EAIAI2AszTgIAAQQBBgNSEgAA2AsjTgIAAQQBBgNSEgAA2ApjQgIAAQQAgBDYCrNCAgABBAEF/NgKo0ICAAANAIANBxNCAgABqIANBuNCAgABqIgQ2AgAgBCADQbDQgIAAaiIFNgIAIANBvNCAgABqIAU2AgAgA0HM0ICAAGogA0HA0ICAAGoiBTYCACAFIAQ2AgAgA0HU0ICAAGogA0HI0ICAAGoiBDYCACAEIAU2AgAgA0HQ0ICAAGogBDYCACADQSBqIgNBgAJHDQALQYDUhIAAQXhBgNSEgABrQQ9xQQBBgNSEgABBCGpBD3EbIgNqIgRBBGogAkFIaiIFIANrIgNBAXI2AgBBAEEAKALw04CAADYCpNCAgABBACADNgKU0ICAAEEAIAQ2AqDQgIAAQYDUhIAAIAVqQTg2AgQLAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB7AFLDQACQEEAKAKI0ICAACIGQRAgAEETakFwcSAAQQtJGyICQQN2IgR2IgNBA3FFDQACQAJAIANBAXEgBHJBAXMiBUEDdCIEQbDQgIAAaiIDIARBuNCAgABqKAIAIgQoAggiAkcNAEEAIAZBfiAFd3E2AojQgIAADAELIAMgAjYCCCACIAM2AgwLIARBCGohAyAEIAVBA3QiBUEDcjYCBCAEIAVqIgQgBCgCBEEBcjYCBAwMCyACQQAoApDQgIAAIgdNDQECQCADRQ0AAkACQCADIAR0QQIgBHQiA0EAIANrcnEiA0EAIANrcUF/aiIDIANBDHZBEHEiA3YiBEEFdkEIcSIFIANyIAQgBXYiA0ECdkEEcSIEciADIAR2IgNBAXZBAnEiBHIgAyAEdiIDQQF2QQFxIgRyIAMgBHZqIgRBA3QiA0Gw0ICAAGoiBSADQbjQgIAAaigCACIDKAIIIgBHDQBBACAGQX4gBHdxIgY2AojQgIAADAELIAUgADYCCCAAIAU2AgwLIAMgAkEDcjYCBCADIARBA3QiBGogBCACayIFNgIAIAMgAmoiACAFQQFyNgIEAkAgB0UNACAHQXhxQbDQgIAAaiECQQAoApzQgIAAIQQCQAJAIAZBASAHQQN2dCIIcQ0AQQAgBiAIcjYCiNCAgAAgAiEIDAELIAIoAgghCAsgCCAENgIMIAIgBDYCCCAEIAI2AgwgBCAINgIICyADQQhqIQNBACAANgKc0ICAAEEAIAU2ApDQgIAADAwLQQAoAozQgIAAIglFDQEgCUEAIAlrcUF/aiIDIANBDHZBEHEiA3YiBEEFdkEIcSIFIANyIAQgBXYiA0ECdkEEcSIEciADIAR2IgNBAXZBAnEiBHIgAyAEdiIDQQF2QQFxIgRyIAMgBHZqQQJ0QbjSgIAAaigCACIAKAIEQXhxIAJrIQQgACEFAkADQAJAIAUoAhAiAw0AIAVBFGooAgAiA0UNAgsgAygCBEF4cSACayIFIAQgBSAESSIFGyEEIAMgACAFGyEAIAMhBQwACwsgACgCGCEKAkAgACgCDCIIIABGDQAgACgCCCIDQQAoApjQgIAASRogCCADNgIIIAMgCDYCDAwLCwJAIABBFGoiBSgCACIDDQAgACgCECIDRQ0DIABBEGohBQsDQCAFIQsgAyIIQRRqIgUoAgAiAw0AIAhBEGohBSAIKAIQIgMNAAsgC0EANgIADAoLQX8hAiAAQb9/Sw0AIABBE2oiA0FwcSECQQAoAozQgIAAIgdFDQBBACELAkAgAkGAAkkNAEEfIQsgAkH///8HSw0AIANBCHYiAyADQYD+P2pBEHZBCHEiA3QiBCAEQYDgH2pBEHZBBHEiBHQiBSAFQYCAD2pBEHZBAnEiBXRBD3YgAyAEciAFcmsiA0EBdCACIANBFWp2QQFxckEcaiELC0EAIAJrIQQCQAJAAkACQCALQQJ0QbjSgIAAaigCACIFDQBBACEDQQAhCAwBC0EAIQMgAkEAQRkgC0EBdmsgC0EfRht0IQBBACEIA0ACQCAFKAIEQXhxIAJrIgYgBE8NACAGIQQgBSEIIAYNAEEAIQQgBSEIIAUhAwwDCyADIAVBFGooAgAiBiAGIAUgAEEddkEEcWpBEGooAgAiBUYbIAMgBhshAyAAQQF0IQAgBQ0ACwsCQCADIAhyDQBBACEIQQIgC3QiA0EAIANrciAHcSIDRQ0DIANBACADa3FBf2oiAyADQQx2QRBxIgN2IgVBBXZBCHEiACADciAFIAB2IgNBAnZBBHEiBXIgAyAFdiIDQQF2QQJxIgVyIAMgBXYiA0EBdkEBcSIFciADIAV2akECdEG40oCAAGooAgAhAwsgA0UNAQsDQCADKAIEQXhxIAJrIgYgBEkhAAJAIAMoAhAiBQ0AIANBFGooAgAhBQsgBiAEIAAbIQQgAyAIIAAbIQggBSEDIAUNAAsLIAhFDQAgBEEAKAKQ0ICAACACa08NACAIKAIYIQsCQCAIKAIMIgAgCEYNACAIKAIIIgNBACgCmNCAgABJGiAAIAM2AgggAyAANgIMDAkLAkAgCEEUaiIFKAIAIgMNACAIKAIQIgNFDQMgCEEQaiEFCwNAIAUhBiADIgBBFGoiBSgCACIDDQAgAEEQaiEFIAAoAhAiAw0ACyAGQQA2AgAMCAsCQEEAKAKQ0ICAACIDIAJJDQBBACgCnNCAgAAhBAJAAkAgAyACayIFQRBJDQAgBCACaiIAIAVBAXI2AgRBACAFNgKQ0ICAAEEAIAA2ApzQgIAAIAQgA2ogBTYCACAEIAJBA3I2AgQMAQsgBCADQQNyNgIEIAQgA2oiAyADKAIEQQFyNgIEQQBBADYCnNCAgABBAEEANgKQ0ICAAAsgBEEIaiEDDAoLAkBBACgClNCAgAAiACACTQ0AQQAoAqDQgIAAIgMgAmoiBCAAIAJrIgVBAXI2AgRBACAFNgKU0ICAAEEAIAQ2AqDQgIAAIAMgAkEDcjYCBCADQQhqIQMMCgsCQAJAQQAoAuDTgIAARQ0AQQAoAujTgIAAIQQMAQtBAEJ/NwLs04CAAEEAQoCAhICAgMAANwLk04CAAEEAIAFBDGpBcHFB2KrVqgVzNgLg04CAAEEAQQA2AvTTgIAAQQBBADYCxNOAgABBgIAEIQQLQQAhAwJAIAQgAkHHAGoiB2oiBkEAIARrIgtxIgggAksNAEEAQTA2AvjTgIAADAoLAkBBACgCwNOAgAAiA0UNAAJAQQAoArjTgIAAIgQgCGoiBSAETQ0AIAUgA00NAQtBACEDQQBBMDYC+NOAgAAMCgtBAC0AxNOAgABBBHENBAJAAkACQEEAKAKg0ICAACIERQ0AQcjTgIAAIQMDQAJAIAMoAgAiBSAESw0AIAUgAygCBGogBEsNAwsgAygCCCIDDQALC0EAEMuAgIAAIgBBf0YNBSAIIQYCQEEAKALk04CAACIDQX9qIgQgAHFFDQAgCCAAayAEIABqQQAgA2txaiEGCyAGIAJNDQUgBkH+////B0sNBQJAQQAoAsDTgIAAIgNFDQBBACgCuNOAgAAiBCAGaiIFIARNDQYgBSADSw0GCyAGEMuAgIAAIgMgAEcNAQwHCyAGIABrIAtxIgZB/v///wdLDQQgBhDLgICAACIAIAMoAgAgAygCBGpGDQMgACEDCwJAIANBf0YNACACQcgAaiAGTQ0AAkAgByAGa0EAKALo04CAACIEakEAIARrcSIEQf7///8HTQ0AIAMhAAwHCwJAIAQQy4CAgABBf0YNACAEIAZqIQYgAyEADAcLQQAgBmsQy4CAgAAaDAQLIAMhACADQX9HDQUMAwtBACEIDAcLQQAhAAwFCyAAQX9HDQILQQBBACgCxNOAgABBBHI2AsTTgIAACyAIQf7///8HSw0BIAgQy4CAgAAhAEEAEMuAgIAAIQMgAEF/Rg0BIANBf0YNASAAIANPDQEgAyAAayIGIAJBOGpNDQELQQBBACgCuNOAgAAgBmoiAzYCuNOAgAACQCADQQAoArzTgIAATQ0AQQAgAzYCvNOAgAALAkACQAJAAkBBACgCoNCAgAAiBEUNAEHI04CAACEDA0AgACADKAIAIgUgAygCBCIIakYNAiADKAIIIgMNAAwDCwsCQAJAQQAoApjQgIAAIgNFDQAgACADTw0BC0EAIAA2ApjQgIAAC0EAIQNBACAGNgLM04CAAEEAIAA2AsjTgIAAQQBBfzYCqNCAgABBAEEAKALg04CAADYCrNCAgABBAEEANgLU04CAAANAIANBxNCAgABqIANBuNCAgABqIgQ2AgAgBCADQbDQgIAAaiIFNgIAIANBvNCAgABqIAU2AgAgA0HM0ICAAGogA0HA0ICAAGoiBTYCACAFIAQ2AgAgA0HU0ICAAGogA0HI0ICAAGoiBDYCACAEIAU2AgAgA0HQ0ICAAGogBDYCACADQSBqIgNBgAJHDQALIABBeCAAa0EPcUEAIABBCGpBD3EbIgNqIgQgBkFIaiIFIANrIgNBAXI2AgRBAEEAKALw04CAADYCpNCAgABBACADNgKU0ICAAEEAIAQ2AqDQgIAAIAAgBWpBODYCBAwCCyADLQAMQQhxDQAgBCAFSQ0AIAQgAE8NACAEQXggBGtBD3FBACAEQQhqQQ9xGyIFaiIAQQAoApTQgIAAIAZqIgsgBWsiBUEBcjYCBCADIAggBmo2AgRBAEEAKALw04CAADYCpNCAgABBACAFNgKU0ICAAEEAIAA2AqDQgIAAIAQgC2pBODYCBAwBCwJAIABBACgCmNCAgAAiCE8NAEEAIAA2ApjQgIAAIAAhCAsgACAGaiEFQcjTgIAAIQMCQAJAAkACQAJAAkACQANAIAMoAgAgBUYNASADKAIIIgMNAAwCCwsgAy0ADEEIcUUNAQtByNOAgAAhAwNAAkAgAygCACIFIARLDQAgBSADKAIEaiIFIARLDQMLIAMoAgghAwwACwsgAyAANgIAIAMgAygCBCAGajYCBCAAQXggAGtBD3FBACAAQQhqQQ9xG2oiCyACQQNyNgIEIAVBeCAFa0EPcUEAIAVBCGpBD3EbaiIGIAsgAmoiAmshAwJAIAYgBEcNAEEAIAI2AqDQgIAAQQBBACgClNCAgAAgA2oiAzYClNCAgAAgAiADQQFyNgIEDAMLAkAgBkEAKAKc0ICAAEcNAEEAIAI2ApzQgIAAQQBBACgCkNCAgAAgA2oiAzYCkNCAgAAgAiADQQFyNgIEIAIgA2ogAzYCAAwDCwJAIAYoAgQiBEEDcUEBRw0AIARBeHEhBwJAAkAgBEH/AUsNACAGKAIIIgUgBEEDdiIIQQN0QbDQgIAAaiIARhoCQCAGKAIMIgQgBUcNAEEAQQAoAojQgIAAQX4gCHdxNgKI0ICAAAwCCyAEIABGGiAEIAU2AgggBSAENgIMDAELIAYoAhghCQJAAkAgBigCDCIAIAZGDQAgBigCCCIEIAhJGiAAIAQ2AgggBCAANgIMDAELAkAgBkEUaiIEKAIAIgUNACAGQRBqIgQoAgAiBQ0AQQAhAAwBCwNAIAQhCCAFIgBBFGoiBCgCACIFDQAgAEEQaiEEIAAoAhAiBQ0ACyAIQQA2AgALIAlFDQACQAJAIAYgBigCHCIFQQJ0QbjSgIAAaiIEKAIARw0AIAQgADYCACAADQFBAEEAKAKM0ICAAEF+IAV3cTYCjNCAgAAMAgsgCUEQQRQgCSgCECAGRhtqIAA2AgAgAEUNAQsgACAJNgIYAkAgBigCECIERQ0AIAAgBDYCECAEIAA2AhgLIAYoAhQiBEUNACAAQRRqIAQ2AgAgBCAANgIYCyAHIANqIQMgBiAHaiIGKAIEIQQLIAYgBEF+cTYCBCACIANqIAM2AgAgAiADQQFyNgIEAkAgA0H/AUsNACADQXhxQbDQgIAAaiEEAkACQEEAKAKI0ICAACIFQQEgA0EDdnQiA3ENAEEAIAUgA3I2AojQgIAAIAQhAwwBCyAEKAIIIQMLIAMgAjYCDCAEIAI2AgggAiAENgIMIAIgAzYCCAwDC0EfIQQCQCADQf///wdLDQAgA0EIdiIEIARBgP4/akEQdkEIcSIEdCIFIAVBgOAfakEQdkEEcSIFdCIAIABBgIAPakEQdkECcSIAdEEPdiAEIAVyIAByayIEQQF0IAMgBEEVanZBAXFyQRxqIQQLIAIgBDYCHCACQgA3AhAgBEECdEG40oCAAGohBQJAQQAoAozQgIAAIgBBASAEdCIIcQ0AIAUgAjYCAEEAIAAgCHI2AozQgIAAIAIgBTYCGCACIAI2AgggAiACNgIMDAMLIANBAEEZIARBAXZrIARBH0YbdCEEIAUoAgAhAANAIAAiBSgCBEF4cSADRg0CIARBHXYhACAEQQF0IQQgBSAAQQRxakEQaiIIKAIAIgANAAsgCCACNgIAIAIgBTYCGCACIAI2AgwgAiACNgIIDAILIABBeCAAa0EPcUEAIABBCGpBD3EbIgNqIgsgBkFIaiIIIANrIgNBAXI2AgQgACAIakE4NgIEIAQgBUE3IAVrQQ9xQQAgBUFJakEPcRtqQUFqIgggCCAEQRBqSRsiCEEjNgIEQQBBACgC8NOAgAA2AqTQgIAAQQAgAzYClNCAgABBACALNgKg0ICAACAIQRBqQQApAtDTgIAANwIAIAhBACkCyNOAgAA3AghBACAIQQhqNgLQ04CAAEEAIAY2AszTgIAAQQAgADYCyNOAgABBAEEANgLU04CAACAIQSRqIQMDQCADQQc2AgAgA0EEaiIDIAVJDQALIAggBEYNAyAIIAgoAgRBfnE2AgQgCCAIIARrIgA2AgAgBCAAQQFyNgIEAkAgAEH/AUsNACAAQXhxQbDQgIAAaiEDAkACQEEAKAKI0ICAACIFQQEgAEEDdnQiAHENAEEAIAUgAHI2AojQgIAAIAMhBQwBCyADKAIIIQULIAUgBDYCDCADIAQ2AgggBCADNgIMIAQgBTYCCAwEC0EfIQMCQCAAQf///wdLDQAgAEEIdiIDIANBgP4/akEQdkEIcSIDdCIFIAVBgOAfakEQdkEEcSIFdCIIIAhBgIAPakEQdkECcSIIdEEPdiADIAVyIAhyayIDQQF0IAAgA0EVanZBAXFyQRxqIQMLIAQgAzYCHCAEQgA3AhAgA0ECdEG40oCAAGohBQJAQQAoAozQgIAAIghBASADdCIGcQ0AIAUgBDYCAEEAIAggBnI2AozQgIAAIAQgBTYCGCAEIAQ2AgggBCAENgIMDAQLIABBAEEZIANBAXZrIANBH0YbdCEDIAUoAgAhCANAIAgiBSgCBEF4cSAARg0DIANBHXYhCCADQQF0IQMgBSAIQQRxakEQaiIGKAIAIggNAAsgBiAENgIAIAQgBTYCGCAEIAQ2AgwgBCAENgIIDAMLIAUoAggiAyACNgIMIAUgAjYCCCACQQA2AhggAiAFNgIMIAIgAzYCCAsgC0EIaiEDDAULIAUoAggiAyAENgIMIAUgBDYCCCAEQQA2AhggBCAFNgIMIAQgAzYCCAtBACgClNCAgAAiAyACTQ0AQQAoAqDQgIAAIgQgAmoiBSADIAJrIgNBAXI2AgRBACADNgKU0ICAAEEAIAU2AqDQgIAAIAQgAkEDcjYCBCAEQQhqIQMMAwtBACEDQQBBMDYC+NOAgAAMAgsCQCALRQ0AAkACQCAIIAgoAhwiBUECdEG40oCAAGoiAygCAEcNACADIAA2AgAgAA0BQQAgB0F+IAV3cSIHNgKM0ICAAAwCCyALQRBBFCALKAIQIAhGG2ogADYCACAARQ0BCyAAIAs2AhgCQCAIKAIQIgNFDQAgACADNgIQIAMgADYCGAsgCEEUaigCACIDRQ0AIABBFGogAzYCACADIAA2AhgLAkACQCAEQQ9LDQAgCCAEIAJqIgNBA3I2AgQgCCADaiIDIAMoAgRBAXI2AgQMAQsgCCACaiIAIARBAXI2AgQgCCACQQNyNgIEIAAgBGogBDYCAAJAIARB/wFLDQAgBEF4cUGw0ICAAGohAwJAAkBBACgCiNCAgAAiBUEBIARBA3Z0IgRxDQBBACAFIARyNgKI0ICAACADIQQMAQsgAygCCCEECyAEIAA2AgwgAyAANgIIIAAgAzYCDCAAIAQ2AggMAQtBHyEDAkAgBEH///8HSw0AIARBCHYiAyADQYD+P2pBEHZBCHEiA3QiBSAFQYDgH2pBEHZBBHEiBXQiAiACQYCAD2pBEHZBAnEiAnRBD3YgAyAFciACcmsiA0EBdCAEIANBFWp2QQFxckEcaiEDCyAAIAM2AhwgAEIANwIQIANBAnRBuNKAgABqIQUCQCAHQQEgA3QiAnENACAFIAA2AgBBACAHIAJyNgKM0ICAACAAIAU2AhggACAANgIIIAAgADYCDAwBCyAEQQBBGSADQQF2ayADQR9GG3QhAyAFKAIAIQICQANAIAIiBSgCBEF4cSAERg0BIANBHXYhAiADQQF0IQMgBSACQQRxakEQaiIGKAIAIgINAAsgBiAANgIAIAAgBTYCGCAAIAA2AgwgACAANgIIDAELIAUoAggiAyAANgIMIAUgADYCCCAAQQA2AhggACAFNgIMIAAgAzYCCAsgCEEIaiEDDAELAkAgCkUNAAJAAkAgACAAKAIcIgVBAnRBuNKAgABqIgMoAgBHDQAgAyAINgIAIAgNAUEAIAlBfiAFd3E2AozQgIAADAILIApBEEEUIAooAhAgAEYbaiAINgIAIAhFDQELIAggCjYCGAJAIAAoAhAiA0UNACAIIAM2AhAgAyAINgIYCyAAQRRqKAIAIgNFDQAgCEEUaiADNgIAIAMgCDYCGAsCQAJAIARBD0sNACAAIAQgAmoiA0EDcjYCBCAAIANqIgMgAygCBEEBcjYCBAwBCyAAIAJqIgUgBEEBcjYCBCAAIAJBA3I2AgQgBSAEaiAENgIAAkAgB0UNACAHQXhxQbDQgIAAaiECQQAoApzQgIAAIQMCQAJAQQEgB0EDdnQiCCAGcQ0AQQAgCCAGcjYCiNCAgAAgAiEIDAELIAIoAgghCAsgCCADNgIMIAIgAzYCCCADIAI2AgwgAyAINgIIC0EAIAU2ApzQgIAAQQAgBDYCkNCAgAALIABBCGohAwsgAUEQaiSAgICAACADCwoAIAAQyYCAgAAL4g0BB38CQCAARQ0AIABBeGoiASAAQXxqKAIAIgJBeHEiAGohAwJAIAJBAXENACACQQNxRQ0BIAEgASgCACICayIBQQAoApjQgIAAIgRJDQEgAiAAaiEAAkAgAUEAKAKc0ICAAEYNAAJAIAJB/wFLDQAgASgCCCIEIAJBA3YiBUEDdEGw0ICAAGoiBkYaAkAgASgCDCICIARHDQBBAEEAKAKI0ICAAEF+IAV3cTYCiNCAgAAMAwsgAiAGRhogAiAENgIIIAQgAjYCDAwCCyABKAIYIQcCQAJAIAEoAgwiBiABRg0AIAEoAggiAiAESRogBiACNgIIIAIgBjYCDAwBCwJAIAFBFGoiAigCACIEDQAgAUEQaiICKAIAIgQNAEEAIQYMAQsDQCACIQUgBCIGQRRqIgIoAgAiBA0AIAZBEGohAiAGKAIQIgQNAAsgBUEANgIACyAHRQ0BAkACQCABIAEoAhwiBEECdEG40oCAAGoiAigCAEcNACACIAY2AgAgBg0BQQBBACgCjNCAgABBfiAEd3E2AozQgIAADAMLIAdBEEEUIAcoAhAgAUYbaiAGNgIAIAZFDQILIAYgBzYCGAJAIAEoAhAiAkUNACAGIAI2AhAgAiAGNgIYCyABKAIUIgJFDQEgBkEUaiACNgIAIAIgBjYCGAwBCyADKAIEIgJBA3FBA0cNACADIAJBfnE2AgRBACAANgKQ0ICAACABIABqIAA2AgAgASAAQQFyNgIEDwsgASADTw0AIAMoAgQiAkEBcUUNAAJAAkAgAkECcQ0AAkAgA0EAKAKg0ICAAEcNAEEAIAE2AqDQgIAAQQBBACgClNCAgAAgAGoiADYClNCAgAAgASAAQQFyNgIEIAFBACgCnNCAgABHDQNBAEEANgKQ0ICAAEEAQQA2ApzQgIAADwsCQCADQQAoApzQgIAARw0AQQAgATYCnNCAgABBAEEAKAKQ0ICAACAAaiIANgKQ0ICAACABIABBAXI2AgQgASAAaiAANgIADwsgAkF4cSAAaiEAAkACQCACQf8BSw0AIAMoAggiBCACQQN2IgVBA3RBsNCAgABqIgZGGgJAIAMoAgwiAiAERw0AQQBBACgCiNCAgABBfiAFd3E2AojQgIAADAILIAIgBkYaIAIgBDYCCCAEIAI2AgwMAQsgAygCGCEHAkACQCADKAIMIgYgA0YNACADKAIIIgJBACgCmNCAgABJGiAGIAI2AgggAiAGNgIMDAELAkAgA0EUaiICKAIAIgQNACADQRBqIgIoAgAiBA0AQQAhBgwBCwNAIAIhBSAEIgZBFGoiAigCACIEDQAgBkEQaiECIAYoAhAiBA0ACyAFQQA2AgALIAdFDQACQAJAIAMgAygCHCIEQQJ0QbjSgIAAaiICKAIARw0AIAIgBjYCACAGDQFBAEEAKAKM0ICAAEF+IAR3cTYCjNCAgAAMAgsgB0EQQRQgBygCECADRhtqIAY2AgAgBkUNAQsgBiAHNgIYAkAgAygCECICRQ0AIAYgAjYCECACIAY2AhgLIAMoAhQiAkUNACAGQRRqIAI2AgAgAiAGNgIYCyABIABqIAA2AgAgASAAQQFyNgIEIAFBACgCnNCAgABHDQFBACAANgKQ0ICAAA8LIAMgAkF+cTYCBCABIABqIAA2AgAgASAAQQFyNgIECwJAIABB/wFLDQAgAEF4cUGw0ICAAGohAgJAAkBBACgCiNCAgAAiBEEBIABBA3Z0IgBxDQBBACAEIAByNgKI0ICAACACIQAMAQsgAigCCCEACyAAIAE2AgwgAiABNgIIIAEgAjYCDCABIAA2AggPC0EfIQICQCAAQf///wdLDQAgAEEIdiICIAJBgP4/akEQdkEIcSICdCIEIARBgOAfakEQdkEEcSIEdCIGIAZBgIAPakEQdkECcSIGdEEPdiACIARyIAZyayICQQF0IAAgAkEVanZBAXFyQRxqIQILIAEgAjYCHCABQgA3AhAgAkECdEG40oCAAGohBAJAAkBBACgCjNCAgAAiBkEBIAJ0IgNxDQAgBCABNgIAQQAgBiADcjYCjNCAgAAgASAENgIYIAEgATYCCCABIAE2AgwMAQsgAEEAQRkgAkEBdmsgAkEfRht0IQIgBCgCACEGAkADQCAGIgQoAgRBeHEgAEYNASACQR12IQYgAkEBdCECIAQgBkEEcWpBEGoiAygCACIGDQALIAMgATYCACABIAQ2AhggASABNgIMIAEgATYCCAwBCyAEKAIIIgAgATYCDCAEIAE2AgggAUEANgIYIAEgBDYCDCABIAA2AggLQQBBACgCqNCAgABBf2oiAUF/IAEbNgKo0ICAAAsLBAAAAAtOAAJAIAANAD8AQRB0DwsCQCAAQf//A3ENACAAQX9MDQACQCAAQRB2QAAiAEF/Rw0AQQBBMDYC+NOAgABBfw8LIABBEHQPCxDKgICAAAAL8gICA38BfgJAIAJFDQAgACABOgAAIAIgAGoiA0F/aiABOgAAIAJBA0kNACAAIAE6AAIgACABOgABIANBfWogAToAACADQX5qIAE6AAAgAkEHSQ0AIAAgAToAAyADQXxqIAE6AAAgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIFayICQSBJDQAgAa1CgYCAgBB+IQYgAyAFaiEBA0AgASAGNwMYIAEgBjcDECABIAY3AwggASAGNwMAIAFBIGohASACQWBqIgJBH0sNAAsLIAALC45IAQBBgAgLhkgBAAAAAgAAAAMAAAAAAAAAAAAAAAQAAAAFAAAAAAAAAAAAAAAGAAAABwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEludmFsaWQgY2hhciBpbiB1cmwgcXVlcnkAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9ib2R5AENvbnRlbnQtTGVuZ3RoIG92ZXJmbG93AENodW5rIHNpemUgb3ZlcmZsb3cAUmVzcG9uc2Ugb3ZlcmZsb3cASW52YWxpZCBtZXRob2QgZm9yIEhUVFAveC54IHJlcXVlc3QASW52YWxpZCBtZXRob2QgZm9yIFJUU1AveC54IHJlcXVlc3QARXhwZWN0ZWQgU09VUkNFIG1ldGhvZCBmb3IgSUNFL3gueCByZXF1ZXN0AEludmFsaWQgY2hhciBpbiB1cmwgZnJhZ21lbnQgc3RhcnQARXhwZWN0ZWQgZG90AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fc3RhdHVzAEludmFsaWQgcmVzcG9uc2Ugc3RhdHVzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8="},7785:e=>{e.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJsbGh0dHBfc3RhdHVzX25hbWUAIRpsbGh0dHBfc2V0X2xlbmllbnRfaGVhZGVycwAiIWxsaHR0cF9zZXRfbGVuaWVudF9jaHVua2VkX2xlbmd0aAAjHWxsaHR0cF9zZXRfbGVuaWVudF9rZWVwX2FsaXZlACQkbGxodHRwX3NldF9sZW5pZW50X3RyYW5zZmVyX2VuY29kaW5nACUYbGxodHRwX21lc3NhZ2VfbmVlZHNfZW9mAD8JFwEAQQELEQECAwQFCwYHNTk3MS8tJyspCrLgAkUCAAsIABCIgICAAAsZACAAEMKAgIAAGiAAIAI2AjggACABOgAoCxwAIAAgAC8BMiAALQAuIAAQwYCAgAAQgICAgAALKgEBf0HAABDGgICAACIBEMKAgIAAGiABQYCIgIAANgI4IAEgADoAKCABCwoAIAAQyICAgAALBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LRQEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABDCgICAABogACAENgI4IAAgAzoAKCAAIAI6AC0gACABNgIYCxEAIAAgASABIAJqEMOAgIAACxAAIABBAEHcABDMgICAABoLZwEBf0EAIQECQCAAKAIMDQACQAJAAkACQCAALQAvDgMBAAMCCyAAKAI4IgFFDQAgASgCLCIBRQ0AIAAgARGAgICAAAAiAQ0DC0EADwsQyoCAgAAACyAAQcOWgIAANgIQQQ4hAQsgAQseAAJAIAAoAgwNACAAQdGbgIAANgIQIABBFTYCDAsLFgACQCAAKAIMQRVHDQAgAEEANgIMCwsWAAJAIAAoAgxBFkcNACAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsiAAJAIABBJEkNABDKgICAAAALIABBAnRBoLOAgABqKAIACyIAAkAgAEEuSQ0AEMqAgIAAAAsgAEECdEGwtICAAGooAgAL7gsBAX9B66iAgAAhAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABBnH9qDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0Hhp4CAAA8LQaShgIAADwtBy6yAgAAPC0H+sYCAAA8LQcCkgIAADwtBq6SAgAAPC0GNqICAAA8LQeKmgIAADwtBgLCAgAAPC0G5r4CAAA8LQdekgIAADwtB75+AgAAPC0Hhn4CAAA8LQfqfgIAADwtB8qCAgAAPC0Gor4CAAA8LQa6ygIAADwtBiLCAgAAPC0Hsp4CAAA8LQYKigIAADwtBjp2AgAAPC0HQroCAAA8LQcqjgIAADwtBxbKAgAAPC0HfnICAAA8LQdKcgIAADwtBxKCAgAAPC0HXoICAAA8LQaKfgIAADwtB7a6AgAAPC0GrsICAAA8LQdSlgIAADwtBzK6AgAAPC0H6roCAAA8LQfyrgIAADwtB0rCAgAAPC0HxnYCAAA8LQbuggIAADwtB96uAgAAPC0GQsYCAAA8LQdexgIAADwtBoq2AgAAPC0HUp4CAAA8LQeCrgIAADwtBn6yAgAAPC0HrsYCAAA8LQdWfgIAADwtByrGAgAAPC0HepYCAAA8LQdSegIAADwtB9JyAgAAPC0GnsoCAAA8LQbGdgIAADwtBoJ2AgAAPC0G5sYCAAA8LQbywgIAADwtBkqGAgAAPC0GzpoCAAA8LQemsgIAADwtBrJ6AgAAPC0HUq4CAAA8LQfemgIAADwtBgKaAgAAPC0GwoYCAAA8LQf6egIAADwtBjaOAgAAPC0GJrYCAAA8LQfeigIAADwtBoLGAgAAPC0Gun4CAAA8LQcalgIAADwtB6J6AgAAPC0GTooCAAA8LQcKvgIAADwtBw52AgAAPC0GLrICAAA8LQeGdgIAADwtBja+AgAAPC0HqoYCAAA8LQbStgIAADwtB0q+AgAAPC0HfsoCAAA8LQdKygIAADwtB8LCAgAAPC0GpooCAAA8LQfmjgIAADwtBmZ6AgAAPC0G1rICAAA8LQZuwgIAADwtBkrKAgAAPC0G2q4CAAA8LQcKigIAADwtB+LKAgAAPC0GepYCAAA8LQdCigIAADwtBup6AgAAPC0GBnoCAAA8LEMqAgIAAAAtB1qGAgAAhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAgAiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCBCIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQcaRgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIwIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAggiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2ioCAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCNCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIMIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZqAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAjgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCECIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZWQgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAI8IgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAhQiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEGqm4CAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCQCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIYIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZOAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCJCIERQ0AIAAgBBGAgICAAAAhAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIsIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAigiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2iICAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCUCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIcIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABBwpmAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCICIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZSUgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAJMIgRFDQAgACAEEYCAgIAAACEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAlQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCWCIERQ0AIAAgBBGAgICAAAAhAwsgAwtFAQF/AkACQCAALwEwQRRxQRRHDQBBASEDIAAtAChBAUYNASAALwEyQeUARiEDDAELIAAtAClBBUYhAwsgACADOgAuQQAL/gEBA39BASEDAkAgAC8BMCIEQQhxDQAgACkDIEIAUiEDCwJAAkAgAC0ALkUNAEEBIQUgAC0AKUEFRg0BQQEhBSAEQcAAcUUgA3FBAUcNAQtBACEFIARBwABxDQBBAiEFIARB//8DcSIDQQhxDQACQCADQYAEcUUNAAJAIAAtAChBAUcNACAALQAtQQpxDQBBBQ8LQQQPCwJAIANBIHENAAJAIAAtAChBAUYNACAALwEyQf//A3EiAEGcf2pB5ABJDQAgAEHMAUYNACAAQbACRg0AQQQhBSAEQShxRQ0CIANBiARxQYAERg0CC0EADwtBAEEDIAApAyBQGyEFCyAFC2IBAn9BACEBAkAgAC0AKEEBRg0AIAAvATJB//8DcSICQZx/akHkAEkNACACQcwBRg0AIAJBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhASAAQYgEcUGABEYNACAAQShxRSEBCyABC6cBAQN/AkACQAJAIAAtACpFDQAgAC0AK0UNAEEAIQMgAC8BMCIEQQJxRQ0BDAILQQAhAyAALwEwIgRBAXFFDQELQQEhAyAALQAoQQFGDQAgAC8BMkH//wNxIgVBnH9qQeQASQ0AIAVBzAFGDQAgBUGwAkYNACAEQcAAcQ0AQQAhAyAEQYgEcUGABEYNACAEQShxQQBHIQMLIABBADsBMCAAQQA6AC8gAwuZAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQBBACEBIAAvATAiAkECcUUNAQwCC0EAIQEgAC8BMCICQQFxRQ0BC0EBIQEgAC0AKEEBRg0AIAAvATJB//8DcSIAQZx/akHkAEkNACAAQcwBRg0AIABBsAJGDQAgAkHAAHENAEEAIQEgAkGIBHFBgARGDQAgAkEocUEARyEBCyABC0kBAXsgAEEQav0MAAAAAAAAAAAAAAAAAAAAACIB/QsDACAAIAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AcsBygG4AckBuQHIAboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBANwBC0EAIRAMxgELQQ4hEAzFAQtBDSEQDMQBC0EPIRAMwwELQRAhEAzCAQtBEyEQDMEBC0EUIRAMwAELQRUhEAy/AQtBFiEQDL4BC0EXIRAMvQELQRghEAy8AQtBGSEQDLsBC0EaIRAMugELQRshEAy5AQtBHCEQDLgBC0EIIRAMtwELQR0hEAy2AQtBICEQDLUBC0EfIRAMtAELQQchEAyzAQtBISEQDLIBC0EiIRAMsQELQR4hEAywAQtBIyEQDK8BC0ESIRAMrgELQREhEAytAQtBJCEQDKwBC0ElIRAMqwELQSYhEAyqAQtBJyEQDKkBC0HDASEQDKgBC0EpIRAMpwELQSshEAymAQtBLCEQDKUBC0EtIRAMpAELQS4hEAyjAQtBLyEQDKIBC0HEASEQDKEBC0EwIRAMoAELQTQhEAyfAQtBDCEQDJ4BC0ExIRAMnQELQTIhEAycAQtBMyEQDJsBC0E5IRAMmgELQTUhEAyZAQtBxQEhEAyYAQtBCyEQDJcBC0E6IRAMlgELQTYhEAyVAQtBCiEQDJQBC0E3IRAMkwELQTghEAySAQtBPCEQDJEBC0E7IRAMkAELQT0hEAyPAQtBCSEQDI4BC0EoIRAMjQELQT4hEAyMAQtBPyEQDIsBC0HAACEQDIoBC0HBACEQDIkBC0HCACEQDIgBC0HDACEQDIcBC0HEACEQDIYBC0HFACEQDIUBC0HGACEQDIQBC0EqIRAMgwELQccAIRAMggELQcgAIRAMgQELQckAIRAMgAELQcoAIRAMfwtBywAhEAx+C0HNACEQDH0LQcwAIRAMfAtBzgAhEAx7C0HPACEQDHoLQdAAIRAMeQtB0QAhEAx4C0HSACEQDHcLQdMAIRAMdgtB1AAhEAx1C0HWACEQDHQLQdUAIRAMcwtBBiEQDHILQdcAIRAMcQtBBSEQDHALQdgAIRAMbwtBBCEQDG4LQdkAIRAMbQtB2gAhEAxsC0HbACEQDGsLQdwAIRAMagtBAyEQDGkLQd0AIRAMaAtB3gAhEAxnC0HfACEQDGYLQeEAIRAMZQtB4AAhEAxkC0HiACEQDGMLQeMAIRAMYgtBAiEQDGELQeQAIRAMYAtB5QAhEAxfC0HmACEQDF4LQecAIRAMXQtB6AAhEAxcC0HpACEQDFsLQeoAIRAMWgtB6wAhEAxZC0HsACEQDFgLQe0AIRAMVwtB7gAhEAxWC0HvACEQDFULQfAAIRAMVAtB8QAhEAxTC0HyACEQDFILQfMAIRAMUQtB9AAhEAxQC0H1ACEQDE8LQfYAIRAMTgtB9wAhEAxNC0H4ACEQDEwLQfkAIRAMSwtB+gAhEAxKC0H7ACEQDEkLQfwAIRAMSAtB/QAhEAxHC0H+ACEQDEYLQf8AIRAMRQtBgAEhEAxEC0GBASEQDEMLQYIBIRAMQgtBgwEhEAxBC0GEASEQDEALQYUBIRAMPwtBhgEhEAw+C0GHASEQDD0LQYgBIRAMPAtBiQEhEAw7C0GKASEQDDoLQYsBIRAMOQtBjAEhEAw4C0GNASEQDDcLQY4BIRAMNgtBjwEhEAw1C0GQASEQDDQLQZEBIRAMMwtBkgEhEAwyC0GTASEQDDELQZQBIRAMMAtBlQEhEAwvC0GWASEQDC4LQZcBIRAMLQtBmAEhEAwsC0GZASEQDCsLQZoBIRAMKgtBmwEhEAwpC0GcASEQDCgLQZ0BIRAMJwtBngEhEAwmC0GfASEQDCULQaABIRAMJAtBoQEhEAwjC0GiASEQDCILQaMBIRAMIQtBpAEhEAwgC0GlASEQDB8LQaYBIRAMHgtBpwEhEAwdC0GoASEQDBwLQakBIRAMGwtBqgEhEAwaC0GrASEQDBkLQawBIRAMGAtBrQEhEAwXC0GuASEQDBYLQQEhEAwVC0GvASEQDBQLQbABIRAMEwtBsQEhEAwSC0GzASEQDBELQbIBIRAMEAtBtAEhEAwPC0G1ASEQDA4LQbYBIRAMDQtBtwEhEAwMC0G4ASEQDAsLQbkBIRAMCgtBugEhEAwJC0G7ASEQDAgLQcYBIRAMBwtBvAEhEAwGC0G9ASEQDAULQb4BIRAMBAtBvwEhEAwDC0HAASEQDAILQcIBIRAMAQtBwQEhEAsDQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB4fICEjJSg/QEFERUZHSElKS0xNT1BRUlPeA1dZW1xdYGJlZmdoaWprbG1vcHFyc3R1dnd4eXp7fH1+gAGCAYUBhgGHAYkBiwGMAY0BjgGPAZABkQGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAdQB1QHWAdcB2AHZAdoB2wHcAd0B3gHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMBmQKkArAC/gL+AgsgASIEIAJHDfMBQd0BIRAM/wMLIAEiECACRw3dAUHDASEQDP4DCyABIgEgAkcNkAFB9wAhEAz9AwsgASIBIAJHDYYBQe8AIRAM/AMLIAEiASACRw1/QeoAIRAM+wMLIAEiASACRw17QegAIRAM+gMLIAEiASACRw14QeYAIRAM+QMLIAEiASACRw0aQRghEAz4AwsgASIBIAJHDRRBEiEQDPcDCyABIgEgAkcNWUHFACEQDPYDCyABIgEgAkcNSkE/IRAM9QMLIAEiASACRw1IQTwhEAz0AwsgASIBIAJHDUFBMSEQDPMDCyAALQAuQQFGDesDDIcCCyAAIAEiASACEMCAgIAAQQFHDeYBIABCADcDIAznAQsgACABIgEgAhC0gICAACIQDecBIAEhAQz1AgsCQCABIgEgAkcNAEEGIRAM8AMLIAAgAUEBaiIBIAIQu4CAgAAiEA3oASABIQEMMQsgAEIANwMgQRIhEAzVAwsgASIQIAJHDStBHSEQDO0DCwJAIAEiASACRg0AIAFBAWohAUEQIRAM1AMLQQchEAzsAwsgAEIAIAApAyAiESACIAEiEGutIhJ9IhMgEyARVhs3AyAgESASViIURQ3lAUEIIRAM6wMLAkAgASIBIAJGDQAgAEGJgICAADYCCCAAIAE2AgQgASEBQRQhEAzSAwtBCSEQDOoDCyABIQEgACkDIFAN5AEgASEBDPICCwJAIAEiASACRw0AQQshEAzpAwsgACABQQFqIgEgAhC2gICAACIQDeUBIAEhAQzyAgsgACABIgEgAhC4gICAACIQDeUBIAEhAQzyAgsgACABIgEgAhC4gICAACIQDeYBIAEhAQwNCyAAIAEiASACELqAgIAAIhAN5wEgASEBDPACCwJAIAEiASACRw0AQQ8hEAzlAwsgAS0AACIQQTtGDQggEEENRw3oASABQQFqIQEM7wILIAAgASIBIAIQuoCAgAAiEA3oASABIQEM8gILA0ACQCABLQAAQfC1gIAAai0AACIQQQFGDQAgEEECRw3rASAAKAIEIRAgAEEANgIEIAAgECABQQFqIgEQuYCAgAAiEA3qASABIQEM9AILIAFBAWoiASACRw0AC0ESIRAM4gMLIAAgASIBIAIQuoCAgAAiEA3pASABIQEMCgsgASIBIAJHDQZBGyEQDOADCwJAIAEiASACRw0AQRYhEAzgAwsgAEGKgICAADYCCCAAIAE2AgQgACABIAIQuICAgAAiEA3qASABIQFBICEQDMYDCwJAIAEiASACRg0AA0ACQCABLQAAQfC3gIAAai0AACIQQQJGDQACQCAQQX9qDgTlAewBAOsB7AELIAFBAWohAUEIIRAMyAMLIAFBAWoiASACRw0AC0EVIRAM3wMLQRUhEAzeAwsDQAJAIAEtAABB8LmAgABqLQAAIhBBAkYNACAQQX9qDgTeAewB4AHrAewBCyABQQFqIgEgAkcNAAtBGCEQDN0DCwJAIAEiASACRg0AIABBi4CAgAA2AgggACABNgIEIAEhAUEHIRAMxAMLQRkhEAzcAwsgAUEBaiEBDAILAkAgASIUIAJHDQBBGiEQDNsDCyAUIQECQCAULQAAQXNqDhTdAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAgDuAgtBACEQIABBADYCHCAAQa+LgIAANgIQIABBAjYCDCAAIBRBAWo2AhQM2gMLAkAgAS0AACIQQTtGDQAgEEENRw3oASABQQFqIQEM5QILIAFBAWohAQtBIiEQDL8DCwJAIAEiECACRw0AQRwhEAzYAwtCACERIBAhASAQLQAAQVBqDjfnAeYBAQIDBAUGBwgAAAAAAAAACQoLDA0OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEBESExQAC0EeIRAMvQMLQgIhEQzlAQtCAyERDOQBC0IEIREM4wELQgUhEQziAQtCBiERDOEBC0IHIREM4AELQgghEQzfAQtCCSERDN4BC0IKIREM3QELQgshEQzcAQtCDCERDNsBC0INIREM2gELQg4hEQzZAQtCDyERDNgBC0IKIREM1wELQgshEQzWAQtCDCERDNUBC0INIREM1AELQg4hEQzTAQtCDyERDNIBC0IAIRECQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAtAABBUGoON+UB5AEAAQIDBAUGB+YB5gHmAeYB5gHmAeYBCAkKCwwN5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAQ4PEBESE+YBC0ICIREM5AELQgMhEQzjAQtCBCERDOIBC0IFIREM4QELQgYhEQzgAQtCByERDN8BC0IIIREM3gELQgkhEQzdAQtCCiERDNwBC0ILIREM2wELQgwhEQzaAQtCDSERDNkBC0IOIREM2AELQg8hEQzXAQtCCiERDNYBC0ILIREM1QELQgwhEQzUAQtCDSERDNMBC0IOIREM0gELQg8hEQzRAQsgAEIAIAApAyAiESACIAEiEGutIhJ9IhMgEyARVhs3AyAgESASViIURQ3SAUEfIRAMwAMLAkAgASIBIAJGDQAgAEGJgICAADYCCCAAIAE2AgQgASEBQSQhEAynAwtBICEQDL8DCyAAIAEiECACEL6AgIAAQX9qDgW2AQDFAgHRAdIBC0ERIRAMpAMLIABBAToALyAQIQEMuwMLIAEiASACRw3SAUEkIRAMuwMLIAEiDSACRw0eQcYAIRAMugMLIAAgASIBIAIQsoCAgAAiEA3UASABIQEMtQELIAEiECACRw0mQdAAIRAMuAMLAkAgASIBIAJHDQBBKCEQDLgDCyAAQQA2AgQgAEGMgICAADYCCCAAIAEgARCxgICAACIQDdMBIAEhAQzYAQsCQCABIhAgAkcNAEEpIRAMtwMLIBAtAAAiAUEgRg0UIAFBCUcN0wEgEEEBaiEBDBULAkAgASIBIAJGDQAgAUEBaiEBDBcLQSohEAy1AwsCQCABIhAgAkcNAEErIRAMtQMLAkAgEC0AACIBQQlGDQAgAUEgRw3VAQsgAC0ALEEIRg3TASAQIQEMkQMLAkAgASIBIAJHDQBBLCEQDLQDCyABLQAAQQpHDdUBIAFBAWohAQzJAgsgASIOIAJHDdUBQS8hEAyyAwsDQAJAIAEtAAAiEEEgRg0AAkAgEEF2ag4EANwB3AEA2gELIAEhAQzgAQsgAUEBaiIBIAJHDQALQTEhEAyxAwtBMiEQIAEiFCACRg2wAyACIBRrIAAoAgAiAWohFSAUIAFrQQNqIRYCQANAIBQtAAAiF0EgciAXIBdBv39qQf8BcUEaSRtB/wFxIAFB8LuAgABqLQAARw0BAkAgAUEDRw0AQQYhAQyWAwsgAUEBaiEBIBRBAWoiFCACRw0ACyAAIBU2AgAMsQMLIABBADYCACAUIQEM2QELQTMhECABIhQgAkYNrwMgAiAUayAAKAIAIgFqIRUgFCABa0EIaiEWAkADQCAULQAAIhdBIHIgFyAXQb9/akH/AXFBGkkbQf8BcSABQfS7gIAAai0AAEcNAQJAIAFBCEcNAEEFIQEMlQMLIAFBAWohASAUQQFqIhQgAkcNAAsgACAVNgIADLADCyAAQQA2AgAgFCEBDNgBC0E0IRAgASIUIAJGDa4DIAIgFGsgACgCACIBaiEVIBQgAWtBBWohFgJAA0AgFC0AACIXQSByIBcgF0G/f2pB/wFxQRpJG0H/AXEgAUHQwoCAAGotAABHDQECQCABQQVHDQBBByEBDJQDCyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFTYCAAyvAwsgAEEANgIAIBQhAQzXAQsCQCABIgEgAkYNAANAAkAgAS0AAEGAvoCAAGotAAAiEEEBRg0AIBBBAkYNCiABIQEM3QELIAFBAWoiASACRw0AC0EwIRAMrgMLQTAhEAytAwsCQCABIgEgAkYNAANAAkAgAS0AACIQQSBGDQAgEEF2ag4E2QHaAdoB2QHaAQsgAUEBaiIBIAJHDQALQTghEAytAwtBOCEQDKwDCwNAAkAgAS0AACIQQSBGDQAgEEEJRw0DCyABQQFqIgEgAkcNAAtBPCEQDKsDCwNAAkAgAS0AACIQQSBGDQACQAJAIBBBdmoOBNoBAQHaAQALIBBBLEYN2wELIAEhAQwECyABQQFqIgEgAkcNAAtBPyEQDKoDCyABIQEM2wELQcAAIRAgASIUIAJGDagDIAIgFGsgACgCACIBaiEWIBQgAWtBBmohFwJAA0AgFC0AAEEgciABQYDAgIAAai0AAEcNASABQQZGDY4DIAFBAWohASAUQQFqIhQgAkcNAAsgACAWNgIADKkDCyAAQQA2AgAgFCEBC0E2IRAMjgMLAkAgASIPIAJHDQBBwQAhEAynAwsgAEGMgICAADYCCCAAIA82AgQgDyEBIAAtACxBf2oOBM0B1QHXAdkBhwMLIAFBAWohAQzMAQsCQCABIgEgAkYNAANAAkAgAS0AACIQQSByIBAgEEG/f2pB/wFxQRpJG0H/AXEiEEEJRg0AIBBBIEYNAAJAAkACQAJAIBBBnX9qDhMAAwMDAwMDAwEDAwMDAwMDAwMCAwsgAUEBaiEBQTEhEAyRAwsgAUEBaiEBQTIhEAyQAwsgAUEBaiEBQTMhEAyPAwsgASEBDNABCyABQQFqIgEgAkcNAAtBNSEQDKUDC0E1IRAMpAMLAkAgASIBIAJGDQADQAJAIAEtAABBgLyAgABqLQAAQQFGDQAgASEBDNMBCyABQQFqIgEgAkcNAAtBPSEQDKQDC0E9IRAMowMLIAAgASIBIAIQsICAgAAiEA3WASABIQEMAQsgEEEBaiEBC0E8IRAMhwMLAkAgASIBIAJHDQBBwgAhEAygAwsCQANAAkAgAS0AAEF3ag4YAAL+Av4ChAP+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gIA/gILIAFBAWoiASACRw0AC0HCACEQDKADCyABQQFqIQEgAC0ALUEBcUUNvQEgASEBC0EsIRAMhQMLIAEiASACRw3TAUHEACEQDJ0DCwNAAkAgAS0AAEGQwICAAGotAABBAUYNACABIQEMtwILIAFBAWoiASACRw0AC0HFACEQDJwDCyANLQAAIhBBIEYNswEgEEE6Rw2BAyAAKAIEIQEgAEEANgIEIAAgASANEK+AgIAAIgEN0AEgDUEBaiEBDLMCC0HHACEQIAEiDSACRg2aAyACIA1rIAAoAgAiAWohFiANIAFrQQVqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQZDCgIAAai0AAEcNgAMgAUEFRg30AiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyaAwtByAAhECABIg0gAkYNmQMgAiANayAAKAIAIgFqIRYgDSABa0EJaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGWwoCAAGotAABHDf8CAkAgAUEJRw0AQQIhAQz1AgsgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMmQMLAkAgASINIAJHDQBByQAhEAyZAwsCQAJAIA0tAAAiAUEgciABIAFBv39qQf8BcUEaSRtB/wFxQZJ/ag4HAIADgAOAA4ADgAMBgAMLIA1BAWohAUE+IRAMgAMLIA1BAWohAUE/IRAM/wILQcoAIRAgASINIAJGDZcDIAIgDWsgACgCACIBaiEWIA0gAWtBAWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBoMKAgABqLQAARw39AiABQQFGDfACIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJcDC0HLACEQIAEiDSACRg2WAyACIA1rIAAoAgAiAWohFiANIAFrQQ5qIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQaLCgIAAai0AAEcN/AIgAUEORg3wAiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyWAwtBzAAhECABIg0gAkYNlQMgAiANayAAKAIAIgFqIRYgDSABa0EPaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUHAwoCAAGotAABHDfsCAkAgAUEPRw0AQQMhAQzxAgsgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMlQMLQc0AIRAgASINIAJGDZQDIAIgDWsgACgCACIBaiEWIA0gAWtBBWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFB0MKAgABqLQAARw36AgJAIAFBBUcNAEEEIQEM8AILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJQDCwJAIAEiDSACRw0AQc4AIRAMlAMLAkACQAJAAkAgDS0AACIBQSByIAEgAUG/f2pB/wFxQRpJG0H/AXFBnX9qDhMA/QL9Av0C/QL9Av0C/QL9Av0C/QL9Av0CAf0C/QL9AgID/QILIA1BAWohAUHBACEQDP0CCyANQQFqIQFBwgAhEAz8AgsgDUEBaiEBQcMAIRAM+wILIA1BAWohAUHEACEQDPoCCwJAIAEiASACRg0AIABBjYCAgAA2AgggACABNgIEIAEhAUHFACEQDPoCC0HPACEQDJIDCyAQIQECQAJAIBAtAABBdmoOBAGoAqgCAKgCCyAQQQFqIQELQSchEAz4AgsCQCABIgEgAkcNAEHRACEQDJEDCwJAIAEtAABBIEYNACABIQEMjQELIAFBAWohASAALQAtQQFxRQ3HASABIQEMjAELIAEiFyACRw3IAUHSACEQDI8DC0HTACEQIAEiFCACRg2OAyACIBRrIAAoAgAiAWohFiAUIAFrQQFqIRcDQCAULQAAIAFB1sKAgABqLQAARw3MASABQQFGDccBIAFBAWohASAUQQFqIhQgAkcNAAsgACAWNgIADI4DCwJAIAEiASACRw0AQdUAIRAMjgMLIAEtAABBCkcNzAEgAUEBaiEBDMcBCwJAIAEiASACRw0AQdYAIRAMjQMLAkACQCABLQAAQXZqDgQAzQHNAQHNAQsgAUEBaiEBDMcBCyABQQFqIQFBygAhEAzzAgsgACABIgEgAhCugICAACIQDcsBIAEhAUHNACEQDPICCyAALQApQSJGDYUDDKYCCwJAIAEiASACRw0AQdsAIRAMigMLQQAhFEEBIRdBASEWQQAhEAJAAkACQAJAAkACQAJAAkACQCABLQAAQVBqDgrUAdMBAAECAwQFBgjVAQtBAiEQDAYLQQMhEAwFC0EEIRAMBAtBBSEQDAMLQQYhEAwCC0EHIRAMAQtBCCEQC0EAIRdBACEWQQAhFAzMAQtBCSEQQQEhFEEAIRdBACEWDMsBCwJAIAEiASACRw0AQd0AIRAMiQMLIAEtAABBLkcNzAEgAUEBaiEBDKYCCyABIgEgAkcNzAFB3wAhEAyHAwsCQCABIgEgAkYNACAAQY6AgIAANgIIIAAgATYCBCABIQFB0AAhEAzuAgtB4AAhEAyGAwtB4QAhECABIgEgAkYNhQMgAiABayAAKAIAIhRqIRYgASAUa0EDaiEXA0AgAS0AACAUQeLCgIAAai0AAEcNzQEgFEEDRg3MASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyFAwtB4gAhECABIgEgAkYNhAMgAiABayAAKAIAIhRqIRYgASAUa0ECaiEXA0AgAS0AACAUQebCgIAAai0AAEcNzAEgFEECRg3OASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyEAwtB4wAhECABIgEgAkYNgwMgAiABayAAKAIAIhRqIRYgASAUa0EDaiEXA0AgAS0AACAUQenCgIAAai0AAEcNywEgFEEDRg3OASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyDAwsCQCABIgEgAkcNAEHlACEQDIMDCyAAIAFBAWoiASACEKiAgIAAIhANzQEgASEBQdYAIRAM6QILAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgRg0AAkACQAJAIBBBuH9qDgsAAc8BzwHPAc8BzwHPAc8BzwECzwELIAFBAWohAUHSACEQDO0CCyABQQFqIQFB0wAhEAzsAgsgAUEBaiEBQdQAIRAM6wILIAFBAWoiASACRw0AC0HkACEQDIIDC0HkACEQDIEDCwNAAkAgAS0AAEHwwoCAAGotAAAiEEEBRg0AIBBBfmoOA88B0AHRAdIBCyABQQFqIgEgAkcNAAtB5gAhEAyAAwsCQCABIgEgAkYNACABQQFqIQEMAwtB5wAhEAz/AgsDQAJAIAEtAABB8MSAgABqLQAAIhBBAUYNAAJAIBBBfmoOBNIB0wHUAQDVAQsgASEBQdcAIRAM5wILIAFBAWoiASACRw0AC0HoACEQDP4CCwJAIAEiASACRw0AQekAIRAM/gILAkAgAS0AACIQQXZqDhq6AdUB1QG8AdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAcoB1QHVAQDTAQsgAUEBaiEBC0EGIRAM4wILA0ACQCABLQAAQfDGgIAAai0AAEEBRg0AIAEhAQyeAgsgAUEBaiIBIAJHDQALQeoAIRAM+wILAkAgASIBIAJGDQAgAUEBaiEBDAMLQesAIRAM+gILAkAgASIBIAJHDQBB7AAhEAz6AgsgAUEBaiEBDAELAkAgASIBIAJHDQBB7QAhEAz5AgsgAUEBaiEBC0EEIRAM3gILAkAgASIUIAJHDQBB7gAhEAz3AgsgFCEBAkACQAJAIBQtAABB8MiAgABqLQAAQX9qDgfUAdUB1gEAnAIBAtcBCyAUQQFqIQEMCgsgFEEBaiEBDM0BC0EAIRAgAEEANgIcIABBm5KAgAA2AhAgAEEHNgIMIAAgFEEBajYCFAz2AgsCQANAAkAgAS0AAEHwyICAAGotAAAiEEEERg0AAkACQCAQQX9qDgfSAdMB1AHZAQAEAdkBCyABIQFB2gAhEAzgAgsgAUEBaiEBQdwAIRAM3wILIAFBAWoiASACRw0AC0HvACEQDPYCCyABQQFqIQEMywELAkAgASIUIAJHDQBB8AAhEAz1AgsgFC0AAEEvRw3UASAUQQFqIQEMBgsCQCABIhQgAkcNAEHxACEQDPQCCwJAIBQtAAAiAUEvRw0AIBRBAWohAUHdACEQDNsCCyABQXZqIgRBFksN0wFBASAEdEGJgIACcUUN0wEMygILAkAgASIBIAJGDQAgAUEBaiEBQd4AIRAM2gILQfIAIRAM8gILAkAgASIUIAJHDQBB9AAhEAzyAgsgFCEBAkAgFC0AAEHwzICAAGotAABBf2oOA8kClAIA1AELQeEAIRAM2AILAkAgASIUIAJGDQADQAJAIBQtAABB8MqAgABqLQAAIgFBA0YNAAJAIAFBf2oOAssCANUBCyAUIQFB3wAhEAzaAgsgFEEBaiIUIAJHDQALQfMAIRAM8QILQfMAIRAM8AILAkAgASIBIAJGDQAgAEGPgICAADYCCCAAIAE2AgQgASEBQeAAIRAM1wILQfUAIRAM7wILAkAgASIBIAJHDQBB9gAhEAzvAgsgAEGPgICAADYCCCAAIAE2AgQgASEBC0EDIRAM1AILA0AgAS0AAEEgRw3DAiABQQFqIgEgAkcNAAtB9wAhEAzsAgsCQCABIgEgAkcNAEH4ACEQDOwCCyABLQAAQSBHDc4BIAFBAWohAQzvAQsgACABIgEgAhCsgICAACIQDc4BIAEhAQyOAgsCQCABIgQgAkcNAEH6ACEQDOoCCyAELQAAQcwARw3RASAEQQFqIQFBEyEQDM8BCwJAIAEiBCACRw0AQfsAIRAM6QILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEANAIAQtAAAgAUHwzoCAAGotAABHDdABIAFBBUYNzgEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBB+wAhEAzoAgsCQCABIgQgAkcNAEH8ACEQDOgCCwJAAkAgBC0AAEG9f2oODADRAdEB0QHRAdEB0QHRAdEB0QHRAQHRAQsgBEEBaiEBQeYAIRAMzwILIARBAWohAUHnACEQDM4CCwJAIAEiBCACRw0AQf0AIRAM5wILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNzwEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf0AIRAM5wILIABBADYCACAQQQFqIQFBECEQDMwBCwJAIAEiBCACRw0AQf4AIRAM5gILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQfbOgIAAai0AAEcNzgEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf4AIRAM5gILIABBADYCACAQQQFqIQFBFiEQDMsBCwJAIAEiBCACRw0AQf8AIRAM5QILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQfzOgIAAai0AAEcNzQEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf8AIRAM5QILIABBADYCACAQQQFqIQFBBSEQDMoBCwJAIAEiBCACRw0AQYABIRAM5AILIAQtAABB2QBHDcsBIARBAWohAUEIIRAMyQELAkAgASIEIAJHDQBBgQEhEAzjAgsCQAJAIAQtAABBsn9qDgMAzAEBzAELIARBAWohAUHrACEQDMoCCyAEQQFqIQFB7AAhEAzJAgsCQCABIgQgAkcNAEGCASEQDOICCwJAAkAgBC0AAEG4f2oOCADLAcsBywHLAcsBywEBywELIARBAWohAUHqACEQDMkCCyAEQQFqIQFB7QAhEAzIAgsCQCABIgQgAkcNAEGDASEQDOECCyACIARrIAAoAgAiAWohECAEIAFrQQJqIRQCQANAIAQtAAAgAUGAz4CAAGotAABHDckBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgEDYCAEGDASEQDOECC0EAIRAgAEEANgIAIBRBAWohAQzGAQsCQCABIgQgAkcNAEGEASEQDOACCyACIARrIAAoAgAiAWohFCAEIAFrQQRqIRACQANAIAQtAAAgAUGDz4CAAGotAABHDcgBIAFBBEYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGEASEQDOACCyAAQQA2AgAgEEEBaiEBQSMhEAzFAQsCQCABIgQgAkcNAEGFASEQDN8CCwJAAkAgBC0AAEG0f2oOCADIAcgByAHIAcgByAEByAELIARBAWohAUHvACEQDMYCCyAEQQFqIQFB8AAhEAzFAgsCQCABIgQgAkcNAEGGASEQDN4CCyAELQAAQcUARw3FASAEQQFqIQEMgwILAkAgASIEIAJHDQBBhwEhEAzdAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFBiM+AgABqLQAARw3FASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBhwEhEAzdAgsgAEEANgIAIBBBAWohAUEtIRAMwgELAkAgASIEIAJHDQBBiAEhEAzcAgsgAiAEayAAKAIAIgFqIRQgBCABa0EIaiEQAkADQCAELQAAIAFB0M+AgABqLQAARw3EASABQQhGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBiAEhEAzcAgsgAEEANgIAIBBBAWohAUEpIRAMwQELAkAgASIBIAJHDQBBiQEhEAzbAgtBASEQIAEtAABB3wBHDcABIAFBAWohAQyBAgsCQCABIgQgAkcNAEGKASEQDNoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRADQCAELQAAIAFBjM+AgABqLQAARw3BASABQQFGDa8CIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYoBIRAM2QILAkAgASIEIAJHDQBBiwEhEAzZAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBjs+AgABqLQAARw3BASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBiwEhEAzZAgsgAEEANgIAIBBBAWohAUECIRAMvgELAkAgASIEIAJHDQBBjAEhEAzYAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8M+AgABqLQAARw3AASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBjAEhEAzYAgsgAEEANgIAIBBBAWohAUEfIRAMvQELAkAgASIEIAJHDQBBjQEhEAzXAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8s+AgABqLQAARw2/ASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBjQEhEAzXAgsgAEEANgIAIBBBAWohAUEJIRAMvAELAkAgASIEIAJHDQBBjgEhEAzWAgsCQAJAIAQtAABBt39qDgcAvwG/Ab8BvwG/AQG/AQsgBEEBaiEBQfgAIRAMvQILIARBAWohAUH5ACEQDLwCCwJAIAEiBCACRw0AQY8BIRAM1QILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQZHPgIAAai0AAEcNvQEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQY8BIRAM1QILIABBADYCACAQQQFqIQFBGCEQDLoBCwJAIAEiBCACRw0AQZABIRAM1AILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQZfPgIAAai0AAEcNvAEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZABIRAM1AILIABBADYCACAQQQFqIQFBFyEQDLkBCwJAIAEiBCACRw0AQZEBIRAM0wILIAIgBGsgACgCACIBaiEUIAQgAWtBBmohEAJAA0AgBC0AACABQZrPgIAAai0AAEcNuwEgAUEGRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZEBIRAM0wILIABBADYCACAQQQFqIQFBFSEQDLgBCwJAIAEiBCACRw0AQZIBIRAM0gILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQaHPgIAAai0AAEcNugEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZIBIRAM0gILIABBADYCACAQQQFqIQFBHiEQDLcBCwJAIAEiBCACRw0AQZMBIRAM0QILIAQtAABBzABHDbgBIARBAWohAUEKIRAMtgELAkAgBCACRw0AQZQBIRAM0AILAkACQCAELQAAQb9/ag4PALkBuQG5AbkBuQG5AbkBuQG5AbkBuQG5AbkBAbkBCyAEQQFqIQFB/gAhEAy3AgsgBEEBaiEBQf8AIRAMtgILAkAgBCACRw0AQZUBIRAMzwILAkACQCAELQAAQb9/ag4DALgBAbgBCyAEQQFqIQFB/QAhEAy2AgsgBEEBaiEEQYABIRAMtQILAkAgBCACRw0AQZYBIRAMzgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQafPgIAAai0AAEcNtgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZYBIRAMzgILIABBADYCACAQQQFqIQFBCyEQDLMBCwJAIAQgAkcNAEGXASEQDM0CCwJAAkACQAJAIAQtAABBU2oOIwC4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBAbgBuAG4AbgBuAECuAG4AbgBA7gBCyAEQQFqIQFB+wAhEAy2AgsgBEEBaiEBQfwAIRAMtQILIARBAWohBEGBASEQDLQCCyAEQQFqIQRBggEhEAyzAgsCQCAEIAJHDQBBmAEhEAzMAgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBqc+AgABqLQAARw20ASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmAEhEAzMAgsgAEEANgIAIBBBAWohAUEZIRAMsQELAkAgBCACRw0AQZkBIRAMywILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQa7PgIAAai0AAEcNswEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZkBIRAMywILIABBADYCACAQQQFqIQFBBiEQDLABCwJAIAQgAkcNAEGaASEQDMoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUG0z4CAAGotAABHDbIBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGaASEQDMoCCyAAQQA2AgAgEEEBaiEBQRwhEAyvAQsCQCAEIAJHDQBBmwEhEAzJAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBts+AgABqLQAARw2xASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmwEhEAzJAgsgAEEANgIAIBBBAWohAUEnIRAMrgELAkAgBCACRw0AQZwBIRAMyAILAkACQCAELQAAQax/ag4CAAGxAQsgBEEBaiEEQYYBIRAMrwILIARBAWohBEGHASEQDK4CCwJAIAQgAkcNAEGdASEQDMcCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUG4z4CAAGotAABHDa8BIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGdASEQDMcCCyAAQQA2AgAgEEEBaiEBQSYhEAysAQsCQCAEIAJHDQBBngEhEAzGAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBus+AgABqLQAARw2uASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBngEhEAzGAgsgAEEANgIAIBBBAWohAUEDIRAMqwELAkAgBCACRw0AQZ8BIRAMxQILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNrQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZ8BIRAMxQILIABBADYCACAQQQFqIQFBDCEQDKoBCwJAIAQgAkcNAEGgASEQDMQCCyACIARrIAAoAgAiAWohFCAEIAFrQQNqIRACQANAIAQtAAAgAUG8z4CAAGotAABHDawBIAFBA0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGgASEQDMQCCyAAQQA2AgAgEEEBaiEBQQ0hEAypAQsCQCAEIAJHDQBBoQEhEAzDAgsCQAJAIAQtAABBun9qDgsArAGsAawBrAGsAawBrAGsAawBAawBCyAEQQFqIQRBiwEhEAyqAgsgBEEBaiEEQYwBIRAMqQILAkAgBCACRw0AQaIBIRAMwgILIAQtAABB0ABHDakBIARBAWohBAzpAQsCQCAEIAJHDQBBowEhEAzBAgsCQAJAIAQtAABBt39qDgcBqgGqAaoBqgGqAQCqAQsgBEEBaiEEQY4BIRAMqAILIARBAWohAUEiIRAMpgELAkAgBCACRw0AQaQBIRAMwAILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQcDPgIAAai0AAEcNqAEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQaQBIRAMwAILIABBADYCACAQQQFqIQFBHSEQDKUBCwJAIAQgAkcNAEGlASEQDL8CCwJAAkAgBC0AAEGuf2oOAwCoAQGoAQsgBEEBaiEEQZABIRAMpgILIARBAWohAUEEIRAMpAELAkAgBCACRw0AQaYBIRAMvgILAkACQAJAAkACQCAELQAAQb9/ag4VAKoBqgGqAaoBqgGqAaoBqgGqAaoBAaoBqgECqgGqAQOqAaoBBKoBCyAEQQFqIQRBiAEhEAyoAgsgBEEBaiEEQYkBIRAMpwILIARBAWohBEGKASEQDKYCCyAEQQFqIQRBjwEhEAylAgsgBEEBaiEEQZEBIRAMpAILAkAgBCACRw0AQacBIRAMvQILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNpQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQacBIRAMvQILIABBADYCACAQQQFqIQFBESEQDKIBCwJAIAQgAkcNAEGoASEQDLwCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHCz4CAAGotAABHDaQBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGoASEQDLwCCyAAQQA2AgAgEEEBaiEBQSwhEAyhAQsCQCAEIAJHDQBBqQEhEAy7AgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBxc+AgABqLQAARw2jASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBqQEhEAy7AgsgAEEANgIAIBBBAWohAUErIRAMoAELAkAgBCACRw0AQaoBIRAMugILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQcrPgIAAai0AAEcNogEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQaoBIRAMugILIABBADYCACAQQQFqIQFBFCEQDJ8BCwJAIAQgAkcNAEGrASEQDLkCCwJAAkACQAJAIAQtAABBvn9qDg8AAQKkAaQBpAGkAaQBpAGkAaQBpAGkAaQBA6QBCyAEQQFqIQRBkwEhEAyiAgsgBEEBaiEEQZQBIRAMoQILIARBAWohBEGVASEQDKACCyAEQQFqIQRBlgEhEAyfAgsCQCAEIAJHDQBBrAEhEAy4AgsgBC0AAEHFAEcNnwEgBEEBaiEEDOABCwJAIAQgAkcNAEGtASEQDLcCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHNz4CAAGotAABHDZ8BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGtASEQDLcCCyAAQQA2AgAgEEEBaiEBQQ4hEAycAQsCQCAEIAJHDQBBrgEhEAy2AgsgBC0AAEHQAEcNnQEgBEEBaiEBQSUhEAybAQsCQCAEIAJHDQBBrwEhEAy1AgsgAiAEayAAKAIAIgFqIRQgBCABa0EIaiEQAkADQCAELQAAIAFB0M+AgABqLQAARw2dASABQQhGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBrwEhEAy1AgsgAEEANgIAIBBBAWohAUEqIRAMmgELAkAgBCACRw0AQbABIRAMtAILAkACQCAELQAAQat/ag4LAJ0BnQGdAZ0BnQGdAZ0BnQGdAQGdAQsgBEEBaiEEQZoBIRAMmwILIARBAWohBEGbASEQDJoCCwJAIAQgAkcNAEGxASEQDLMCCwJAAkAgBC0AAEG/f2oOFACcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAEBnAELIARBAWohBEGZASEQDJoCCyAEQQFqIQRBnAEhEAyZAgsCQCAEIAJHDQBBsgEhEAyyAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFB2c+AgABqLQAARw2aASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBsgEhEAyyAgsgAEEANgIAIBBBAWohAUEhIRAMlwELAkAgBCACRw0AQbMBIRAMsQILIAIgBGsgACgCACIBaiEUIAQgAWtBBmohEAJAA0AgBC0AACABQd3PgIAAai0AAEcNmQEgAUEGRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbMBIRAMsQILIABBADYCACAQQQFqIQFBGiEQDJYBCwJAIAQgAkcNAEG0ASEQDLACCwJAAkACQCAELQAAQbt/ag4RAJoBmgGaAZoBmgGaAZoBmgGaAQGaAZoBmgGaAZoBApoBCyAEQQFqIQRBnQEhEAyYAgsgBEEBaiEEQZ4BIRAMlwILIARBAWohBEGfASEQDJYCCwJAIAQgAkcNAEG1ASEQDK8CCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUHkz4CAAGotAABHDZcBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG1ASEQDK8CCyAAQQA2AgAgEEEBaiEBQSghEAyUAQsCQCAEIAJHDQBBtgEhEAyuAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFB6s+AgABqLQAARw2WASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBtgEhEAyuAgsgAEEANgIAIBBBAWohAUEHIRAMkwELAkAgBCACRw0AQbcBIRAMrQILAkACQCAELQAAQbt/ag4OAJYBlgGWAZYBlgGWAZYBlgGWAZYBlgGWAQGWAQsgBEEBaiEEQaEBIRAMlAILIARBAWohBEGiASEQDJMCCwJAIAQgAkcNAEG4ASEQDKwCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDZQBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG4ASEQDKwCCyAAQQA2AgAgEEEBaiEBQRIhEAyRAQsCQCAEIAJHDQBBuQEhEAyrAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8M+AgABqLQAARw2TASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBuQEhEAyrAgsgAEEANgIAIBBBAWohAUEgIRAMkAELAkAgBCACRw0AQboBIRAMqgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfLPgIAAai0AAEcNkgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQboBIRAMqgILIABBADYCACAQQQFqIQFBDyEQDI8BCwJAIAQgAkcNAEG7ASEQDKkCCwJAAkAgBC0AAEG3f2oOBwCSAZIBkgGSAZIBAZIBCyAEQQFqIQRBpQEhEAyQAgsgBEEBaiEEQaYBIRAMjwILAkAgBCACRw0AQbwBIRAMqAILIAIgBGsgACgCACIBaiEUIAQgAWtBB2ohEAJAA0AgBC0AACABQfTPgIAAai0AAEcNkAEgAUEHRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbwBIRAMqAILIABBADYCACAQQQFqIQFBGyEQDI0BCwJAIAQgAkcNAEG9ASEQDKcCCwJAAkACQCAELQAAQb5/ag4SAJEBkQGRAZEBkQGRAZEBkQGRAQGRAZEBkQGRAZEBkQECkQELIARBAWohBEGkASEQDI8CCyAEQQFqIQRBpwEhEAyOAgsgBEEBaiEEQagBIRAMjQILAkAgBCACRw0AQb4BIRAMpgILIAQtAABBzgBHDY0BIARBAWohBAzPAQsCQCAEIAJHDQBBvwEhEAylAgsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAELQAAQb9/ag4VAAECA5wBBAUGnAGcAZwBBwgJCgucAQwNDg+cAQsgBEEBaiEBQegAIRAMmgILIARBAWohAUHpACEQDJkCCyAEQQFqIQFB7gAhEAyYAgsgBEEBaiEBQfIAIRAMlwILIARBAWohAUHzACEQDJYCCyAEQQFqIQFB9gAhEAyVAgsgBEEBaiEBQfcAIRAMlAILIARBAWohAUH6ACEQDJMCCyAEQQFqIQRBgwEhEAySAgsgBEEBaiEEQYQBIRAMkQILIARBAWohBEGFASEQDJACCyAEQQFqIQRBkgEhEAyPAgsgBEEBaiEEQZgBIRAMjgILIARBAWohBEGgASEQDI0CCyAEQQFqIQRBowEhEAyMAgsgBEEBaiEEQaoBIRAMiwILAkAgBCACRg0AIABBkICAgAA2AgggACAENgIEQasBIRAMiwILQcABIRAMowILIAAgBSACEKqAgIAAIgENiwEgBSEBDFwLAkAgBiACRg0AIAZBAWohBQyNAQtBwgEhEAyhAgsDQAJAIBAtAABBdmoOBIwBAACPAQALIBBBAWoiECACRw0AC0HDASEQDKACCwJAIAcgAkYNACAAQZGAgIAANgIIIAAgBzYCBCAHIQFBASEQDIcCC0HEASEQDJ8CCwJAIAcgAkcNAEHFASEQDJ8CCwJAAkAgBy0AAEF2ag4EAc4BzgEAzgELIAdBAWohBgyNAQsgB0EBaiEFDIkBCwJAIAcgAkcNAEHGASEQDJ4CCwJAAkAgBy0AAEF2ag4XAY8BjwEBjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BAI8BCyAHQQFqIQcLQbABIRAMhAILAkAgCCACRw0AQcgBIRAMnQILIAgtAABBIEcNjQEgAEEAOwEyIAhBAWohAUGzASEQDIMCCyABIRcCQANAIBciByACRg0BIActAABBUGpB/wFxIhBBCk8NzAECQCAALwEyIhRBmTNLDQAgACAUQQpsIhQ7ATIgEEH//wNzIBRB/v8DcUkNACAHQQFqIRcgACAUIBBqIhA7ATIgEEH//wNxQegHSQ0BCwtBACEQIABBADYCHCAAQcGJgIAANgIQIABBDTYCDCAAIAdBAWo2AhQMnAILQccBIRAMmwILIAAgCCACEK6AgIAAIhBFDcoBIBBBFUcNjAEgAEHIATYCHCAAIAg2AhQgAEHJl4CAADYCECAAQRU2AgxBACEQDJoCCwJAIAkgAkcNAEHMASEQDJoCC0EAIRRBASEXQQEhFkEAIRACQAJAAkACQAJAAkACQAJAAkAgCS0AAEFQag4KlgGVAQABAgMEBQYIlwELQQIhEAwGC0EDIRAMBQtBBCEQDAQLQQUhEAwDC0EGIRAMAgtBByEQDAELQQghEAtBACEXQQAhFkEAIRQMjgELQQkhEEEBIRRBACEXQQAhFgyNAQsCQCAKIAJHDQBBzgEhEAyZAgsgCi0AAEEuRw2OASAKQQFqIQkMygELIAsgAkcNjgFB0AEhEAyXAgsCQCALIAJGDQAgAEGOgICAADYCCCAAIAs2AgRBtwEhEAz+AQtB0QEhEAyWAgsCQCAEIAJHDQBB0gEhEAyWAgsgAiAEayAAKAIAIhBqIRQgBCAQa0EEaiELA0AgBC0AACAQQfzPgIAAai0AAEcNjgEgEEEERg3pASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHSASEQDJUCCyAAIAwgAhCsgICAACIBDY0BIAwhAQy4AQsCQCAEIAJHDQBB1AEhEAyUAgsgAiAEayAAKAIAIhBqIRQgBCAQa0EBaiEMA0AgBC0AACAQQYHQgIAAai0AAEcNjwEgEEEBRg2OASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHUASEQDJMCCwJAIAQgAkcNAEHWASEQDJMCCyACIARrIAAoAgAiEGohFCAEIBBrQQJqIQsDQCAELQAAIBBBg9CAgABqLQAARw2OASAQQQJGDZABIBBBAWohECAEQQFqIgQgAkcNAAsgACAUNgIAQdYBIRAMkgILAkAgBCACRw0AQdcBIRAMkgILAkACQCAELQAAQbt/ag4QAI8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwEBjwELIARBAWohBEG7ASEQDPkBCyAEQQFqIQRBvAEhEAz4AQsCQCAEIAJHDQBB2AEhEAyRAgsgBC0AAEHIAEcNjAEgBEEBaiEEDMQBCwJAIAQgAkYNACAAQZCAgIAANgIIIAAgBDYCBEG+ASEQDPcBC0HZASEQDI8CCwJAIAQgAkcNAEHaASEQDI8CCyAELQAAQcgARg3DASAAQQE6ACgMuQELIABBAjoALyAAIAQgAhCmgICAACIQDY0BQcIBIRAM9AELIAAtAChBf2oOArcBuQG4AQsDQAJAIAQtAABBdmoOBACOAY4BAI4BCyAEQQFqIgQgAkcNAAtB3QEhEAyLAgsgAEEAOgAvIAAtAC1BBHFFDYQCCyAAQQA6AC8gAEEBOgA0IAEhAQyMAQsgEEEVRg3aASAAQQA2AhwgACABNgIUIABBp46AgAA2AhAgAEESNgIMQQAhEAyIAgsCQCAAIBAgAhC0gICAACIEDQAgECEBDIECCwJAIARBFUcNACAAQQM2AhwgACAQNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAyIAgsgAEEANgIcIAAgEDYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAMhwILIBBBFUYN1gEgAEEANgIcIAAgATYCFCAAQdqNgIAANgIQIABBFDYCDEEAIRAMhgILIAAoAgQhFyAAQQA2AgQgECARp2oiFiEBIAAgFyAQIBYgFBsiEBC1gICAACIURQ2NASAAQQc2AhwgACAQNgIUIAAgFDYCDEEAIRAMhQILIAAgAC8BMEGAAXI7ATAgASEBC0EqIRAM6gELIBBBFUYN0QEgAEEANgIcIAAgATYCFCAAQYOMgIAANgIQIABBEzYCDEEAIRAMggILIBBBFUYNzwEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAMgQILIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDI0BCyAAQQw2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAMgAILIBBBFUYNzAEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAM/wELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDIwBCyAAQQ02AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM/gELIBBBFUYNyQEgAEEANgIcIAAgATYCFCAAQcaMgIAANgIQIABBIzYCDEEAIRAM/QELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC5gICAACIQDQAgAUEBaiEBDIsBCyAAQQ42AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM/AELIABBADYCHCAAIAE2AhQgAEHAlYCAADYCECAAQQI2AgxBACEQDPsBCyAQQRVGDcUBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDPoBCyAAQRA2AhwgACABNgIUIAAgEDYCDEEAIRAM+QELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC5gICAACIEDQAgAUEBaiEBDPEBCyAAQRE2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM+AELIBBBFUYNwQEgAEEANgIcIAAgATYCFCAAQcaMgIAANgIQIABBIzYCDEEAIRAM9wELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC5gICAACIQDQAgAUEBaiEBDIgBCyAAQRM2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM9gELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC5gICAACIEDQAgAUEBaiEBDO0BCyAAQRQ2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM9QELIBBBFUYNvQEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAM9AELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDIYBCyAAQRY2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM8wELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC3gICAACIEDQAgAUEBaiEBDOkBCyAAQRc2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM8gELIABBADYCHCAAIAE2AhQgAEHNk4CAADYCECAAQQw2AgxBACEQDPEBC0IBIRELIBBBAWohAQJAIAApAyAiEkL//////////w9WDQAgACASQgSGIBGENwMgIAEhAQyEAQsgAEEANgIcIAAgATYCFCAAQa2JgIAANgIQIABBDDYCDEEAIRAM7wELIABBADYCHCAAIBA2AhQgAEHNk4CAADYCECAAQQw2AgxBACEQDO4BCyAAKAIEIRcgAEEANgIEIBAgEadqIhYhASAAIBcgECAWIBQbIhAQtYCAgAAiFEUNcyAAQQU2AhwgACAQNgIUIAAgFDYCDEEAIRAM7QELIABBADYCHCAAIBA2AhQgAEGqnICAADYCECAAQQ82AgxBACEQDOwBCyAAIBAgAhC0gICAACIBDQEgECEBC0EOIRAM0QELAkAgAUEVRw0AIABBAjYCHCAAIBA2AhQgAEGwmICAADYCECAAQRU2AgxBACEQDOoBCyAAQQA2AhwgACAQNgIUIABBp46AgAA2AhAgAEESNgIMQQAhEAzpAQsgAUEBaiEQAkAgAC8BMCIBQYABcUUNAAJAIAAgECACELuAgIAAIgENACAQIQEMcAsgAUEVRw26ASAAQQU2AhwgACAQNgIUIABB+ZeAgAA2AhAgAEEVNgIMQQAhEAzpAQsCQCABQaAEcUGgBEcNACAALQAtQQJxDQAgAEEANgIcIAAgEDYCFCAAQZaTgIAANgIQIABBBDYCDEEAIRAM6QELIAAgECACEL2AgIAAGiAQIQECQAJAAkACQAJAIAAgECACELOAgIAADhYCAQAEBAQEBAQEBAQEBAQEBAQEBAQDBAsgAEEBOgAuCyAAIAAvATBBwAByOwEwIBAhAQtBJiEQDNEBCyAAQSM2AhwgACAQNgIUIABBpZaAgAA2AhAgAEEVNgIMQQAhEAzpAQsgAEEANgIcIAAgEDYCFCAAQdWLgIAANgIQIABBETYCDEEAIRAM6AELIAAtAC1BAXFFDQFBwwEhEAzOAQsCQCANIAJGDQADQAJAIA0tAABBIEYNACANIQEMxAELIA1BAWoiDSACRw0AC0ElIRAM5wELQSUhEAzmAQsgACgCBCEEIABBADYCBCAAIAQgDRCvgICAACIERQ2tASAAQSY2AhwgACAENgIMIAAgDUEBajYCFEEAIRAM5QELIBBBFUYNqwEgAEEANgIcIAAgATYCFCAAQf2NgIAANgIQIABBHTYCDEEAIRAM5AELIABBJzYCHCAAIAE2AhQgACAQNgIMQQAhEAzjAQsgECEBQQEhFAJAAkACQAJAAkACQAJAIAAtACxBfmoOBwYFBQMBAgAFCyAAIAAvATBBCHI7ATAMAwtBAiEUDAELQQQhFAsgAEEBOgAsIAAgAC8BMCAUcjsBMAsgECEBC0ErIRAMygELIABBADYCHCAAIBA2AhQgAEGrkoCAADYCECAAQQs2AgxBACEQDOIBCyAAQQA2AhwgACABNgIUIABB4Y+AgAA2AhAgAEEKNgIMQQAhEAzhAQsgAEEAOgAsIBAhAQy9AQsgECEBQQEhFAJAAkACQAJAAkAgAC0ALEF7ag4EAwECAAULIAAgAC8BMEEIcjsBMAwDC0ECIRQMAQtBBCEUCyAAQQE6ACwgACAALwEwIBRyOwEwCyAQIQELQSkhEAzFAQsgAEEANgIcIAAgATYCFCAAQfCUgIAANgIQIABBAzYCDEEAIRAM3QELAkAgDi0AAEENRw0AIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDkEBaiEBDHULIABBLDYCHCAAIAE2AgwgACAOQQFqNgIUQQAhEAzdAQsgAC0ALUEBcUUNAUHEASEQDMMBCwJAIA4gAkcNAEEtIRAM3AELAkACQANAAkAgDi0AAEF2ag4EAgAAAwALIA5BAWoiDiACRw0AC0EtIRAM3QELIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDiEBDHQLIABBLDYCHCAAIA42AhQgACABNgIMQQAhEAzcAQsgACgCBCEBIABBADYCBAJAIAAgASAOELGAgIAAIgENACAOQQFqIQEMcwsgAEEsNgIcIAAgATYCDCAAIA5BAWo2AhRBACEQDNsBCyAAKAIEIQQgAEEANgIEIAAgBCAOELGAgIAAIgQNoAEgDiEBDM4BCyAQQSxHDQEgAUEBaiEQQQEhAQJAAkACQAJAAkAgAC0ALEF7ag4EAwECBAALIBAhAQwEC0ECIQEMAQtBBCEBCyAAQQE6ACwgACAALwEwIAFyOwEwIBAhAQwBCyAAIAAvATBBCHI7ATAgECEBC0E5IRAMvwELIABBADoALCABIQELQTQhEAy9AQsgACAALwEwQSByOwEwIAEhAQwCCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQsYCAgAAiBA0AIAEhAQzHAQsgAEE3NgIcIAAgATYCFCAAIAQ2AgxBACEQDNQBCyAAQQg6ACwgASEBC0EwIRAMuQELAkAgAC0AKEEBRg0AIAEhAQwECyAALQAtQQhxRQ2TASABIQEMAwsgAC0AMEEgcQ2UAUHFASEQDLcBCwJAIA8gAkYNAAJAA0ACQCAPLQAAQVBqIgFB/wFxQQpJDQAgDyEBQTUhEAy6AQsgACkDICIRQpmz5syZs+bMGVYNASAAIBFCCn4iETcDICARIAGtQv8BgyISQn+FVg0BIAAgESASfDcDICAPQQFqIg8gAkcNAAtBOSEQDNEBCyAAKAIEIQIgAEEANgIEIAAgAiAPQQFqIgQQsYCAgAAiAg2VASAEIQEMwwELQTkhEAzPAQsCQCAALwEwIgFBCHFFDQAgAC0AKEEBRw0AIAAtAC1BCHFFDZABCyAAIAFB9/sDcUGABHI7ATAgDyEBC0E3IRAMtAELIAAgAC8BMEEQcjsBMAyrAQsgEEEVRg2LASAAQQA2AhwgACABNgIUIABB8I6AgAA2AhAgAEEcNgIMQQAhEAzLAQsgAEHDADYCHCAAIAE2AgwgACANQQFqNgIUQQAhEAzKAQsCQCABLQAAQTpHDQAgACgCBCEQIABBADYCBAJAIAAgECABEK+AgIAAIhANACABQQFqIQEMYwsgAEHDADYCHCAAIBA2AgwgACABQQFqNgIUQQAhEAzKAQsgAEEANgIcIAAgATYCFCAAQbGRgIAANgIQIABBCjYCDEEAIRAMyQELIABBADYCHCAAIAE2AhQgAEGgmYCAADYCECAAQR42AgxBACEQDMgBCyAAQQA2AgALIABBgBI7ASogACAXQQFqIgEgAhCogICAACIQDQEgASEBC0HHACEQDKwBCyAQQRVHDYMBIABB0QA2AhwgACABNgIUIABB45eAgAA2AhAgAEEVNgIMQQAhEAzEAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMXgsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAzDAQsgAEEANgIcIAAgFDYCFCAAQcGogIAANgIQIABBBzYCDCAAQQA2AgBBACEQDMIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxdCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDMEBC0EAIRAgAEEANgIcIAAgATYCFCAAQYCRgIAANgIQIABBCTYCDAzAAQsgEEEVRg19IABBADYCHCAAIAE2AhQgAEGUjYCAADYCECAAQSE2AgxBACEQDL8BC0EBIRZBACEXQQAhFEEBIRALIAAgEDoAKyABQQFqIQECQAJAIAAtAC1BEHENAAJAAkACQCAALQAqDgMBAAIECyAWRQ0DDAILIBQNAQwCCyAXRQ0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQrYCAgAAiEA0AIAEhAQxcCyAAQdgANgIcIAAgATYCFCAAIBA2AgxBACEQDL4BCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQytAQsgAEHZADYCHCAAIAE2AhQgACAENgIMQQAhEAy9AQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMqwELIABB2gA2AhwgACABNgIUIAAgBDYCDEEAIRAMvAELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKkBCyAAQdwANgIcIAAgATYCFCAAIAQ2AgxBACEQDLsBCwJAIAEtAABBUGoiEEH/AXFBCk8NACAAIBA6ACogAUEBaiEBQc8AIRAMogELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKcBCyAAQd4ANgIcIAAgATYCFCAAIAQ2AgxBACEQDLoBCyAAQQA2AgAgF0EBaiEBAkAgAC0AKUEjTw0AIAEhAQxZCyAAQQA2AhwgACABNgIUIABB04mAgAA2AhAgAEEINgIMQQAhEAy5AQsgAEEANgIAC0EAIRAgAEEANgIcIAAgATYCFCAAQZCzgIAANgIQIABBCDYCDAy3AQsgAEEANgIAIBdBAWohAQJAIAAtAClBIUcNACABIQEMVgsgAEEANgIcIAAgATYCFCAAQZuKgIAANgIQIABBCDYCDEEAIRAMtgELIABBADYCACAXQQFqIQECQCAALQApIhBBXWpBC08NACABIQEMVQsCQCAQQQZLDQBBASAQdEHKAHFFDQAgASEBDFULQQAhECAAQQA2AhwgACABNgIUIABB94mAgAA2AhAgAEEINgIMDLUBCyAQQRVGDXEgAEEANgIcIAAgATYCFCAAQbmNgIAANgIQIABBGjYCDEEAIRAMtAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDFQLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMswELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDE0LIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMsgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDE0LIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMsQELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDFELIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMsAELIABBADYCHCAAIAE2AhQgAEHGioCAADYCECAAQQc2AgxBACEQDK8BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxJCyAAQdIANgIcIAAgATYCFCAAIBA2AgxBACEQDK4BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxJCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDK0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDKwBCyAAQQA2AhwgACABNgIUIABB3IiAgAA2AhAgAEEHNgIMQQAhEAyrAQsgEEE/Rw0BIAFBAWohAQtBBSEQDJABC0EAIRAgAEEANgIcIAAgATYCFCAAQf2SgIAANgIQIABBBzYCDAyoAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMQgsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAynAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMQgsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAymAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMRgsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAylAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMPwsgAEHSADYCHCAAIBQ2AhQgACABNgIMQQAhEAykAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMPwsgAEHTADYCHCAAIBQ2AhQgACABNgIMQQAhEAyjAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMQwsgAEHlADYCHCAAIBQ2AhQgACABNgIMQQAhEAyiAQsgAEEANgIcIAAgFDYCFCAAQcOPgIAANgIQIABBBzYCDEEAIRAMoQELIABBADYCHCAAIAE2AhQgAEHDj4CAADYCECAAQQc2AgxBACEQDKABC0EAIRAgAEEANgIcIAAgFDYCFCAAQYycgIAANgIQIABBBzYCDAyfAQsgAEEANgIcIAAgFDYCFCAAQYycgIAANgIQIABBBzYCDEEAIRAMngELIABBADYCHCAAIBQ2AhQgAEH+kYCAADYCECAAQQc2AgxBACEQDJ0BCyAAQQA2AhwgACABNgIUIABBjpuAgAA2AhAgAEEGNgIMQQAhEAycAQsgEEEVRg1XIABBADYCHCAAIAE2AhQgAEHMjoCAADYCECAAQSA2AgxBACEQDJsBCyAAQQA2AgAgEEEBaiEBQSQhEAsgACAQOgApIAAoAgQhECAAQQA2AgQgACAQIAEQq4CAgAAiEA1UIAEhAQw+CyAAQQA2AgALQQAhECAAQQA2AhwgACAENgIUIABB8ZuAgAA2AhAgAEEGNgIMDJcBCyABQRVGDVAgAEEANgIcIAAgBTYCFCAAQfCMgIAANgIQIABBGzYCDEEAIRAMlgELIAAoAgQhBSAAQQA2AgQgACAFIBAQqYCAgAAiBQ0BIBBBAWohBQtBrQEhEAx7CyAAQcEBNgIcIAAgBTYCDCAAIBBBAWo2AhRBACEQDJMBCyAAKAIEIQYgAEEANgIEIAAgBiAQEKmAgIAAIgYNASAQQQFqIQYLQa4BIRAMeAsgAEHCATYCHCAAIAY2AgwgACAQQQFqNgIUQQAhEAyQAQsgAEEANgIcIAAgBzYCFCAAQZeLgIAANgIQIABBDTYCDEEAIRAMjwELIABBADYCHCAAIAg2AhQgAEHjkICAADYCECAAQQk2AgxBACEQDI4BCyAAQQA2AhwgACAINgIUIABBlI2AgAA2AhAgAEEhNgIMQQAhEAyNAQtBASEWQQAhF0EAIRRBASEQCyAAIBA6ACsgCUEBaiEIAkACQCAALQAtQRBxDQACQAJAAkAgAC0AKg4DAQACBAsgFkUNAwwCCyAUDQEMAgsgF0UNAQsgACgCBCEQIABBADYCBCAAIBAgCBCtgICAACIQRQ09IABByQE2AhwgACAINgIUIAAgEDYCDEEAIRAMjAELIAAoAgQhBCAAQQA2AgQgACAEIAgQrYCAgAAiBEUNdiAAQcoBNgIcIAAgCDYCFCAAIAQ2AgxBACEQDIsBCyAAKAIEIQQgAEEANgIEIAAgBCAJEK2AgIAAIgRFDXQgAEHLATYCHCAAIAk2AhQgACAENgIMQQAhEAyKAQsgACgCBCEEIABBADYCBCAAIAQgChCtgICAACIERQ1yIABBzQE2AhwgACAKNgIUIAAgBDYCDEEAIRAMiQELAkAgCy0AAEFQaiIQQf8BcUEKTw0AIAAgEDoAKiALQQFqIQpBtgEhEAxwCyAAKAIEIQQgAEEANgIEIAAgBCALEK2AgIAAIgRFDXAgAEHPATYCHCAAIAs2AhQgACAENgIMQQAhEAyIAQsgAEEANgIcIAAgBDYCFCAAQZCzgIAANgIQIABBCDYCDCAAQQA2AgBBACEQDIcBCyABQRVGDT8gAEEANgIcIAAgDDYCFCAAQcyOgIAANgIQIABBIDYCDEEAIRAMhgELIABBgQQ7ASggACgCBCEQIABCADcDACAAIBAgDEEBaiIMEKuAgIAAIhBFDTggAEHTATYCHCAAIAw2AhQgACAQNgIMQQAhEAyFAQsgAEEANgIAC0EAIRAgAEEANgIcIAAgBDYCFCAAQdibgIAANgIQIABBCDYCDAyDAQsgACgCBCEQIABCADcDACAAIBAgC0EBaiILEKuAgIAAIhANAUHGASEQDGkLIABBAjoAKAxVCyAAQdUBNgIcIAAgCzYCFCAAIBA2AgxBACEQDIABCyAQQRVGDTcgAEEANgIcIAAgBDYCFCAAQaSMgIAANgIQIABBEDYCDEEAIRAMfwsgAC0ANEEBRw00IAAgBCACELyAgIAAIhBFDTQgEEEVRw01IABB3AE2AhwgACAENgIUIABB1ZaAgAA2AhAgAEEVNgIMQQAhEAx+C0EAIRAgAEEANgIcIABBr4uAgAA2AhAgAEECNgIMIAAgFEEBajYCFAx9C0EAIRAMYwtBAiEQDGILQQ0hEAxhC0EPIRAMYAtBJSEQDF8LQRMhEAxeC0EVIRAMXQtBFiEQDFwLQRchEAxbC0EYIRAMWgtBGSEQDFkLQRohEAxYC0EbIRAMVwtBHCEQDFYLQR0hEAxVC0EfIRAMVAtBISEQDFMLQSMhEAxSC0HGACEQDFELQS4hEAxQC0EvIRAMTwtBOyEQDE4LQT0hEAxNC0HIACEQDEwLQckAIRAMSwtBywAhEAxKC0HMACEQDEkLQc4AIRAMSAtB0QAhEAxHC0HVACEQDEYLQdgAIRAMRQtB2QAhEAxEC0HbACEQDEMLQeQAIRAMQgtB5QAhEAxBC0HxACEQDEALQfQAIRAMPwtBjQEhEAw+C0GXASEQDD0LQakBIRAMPAtBrAEhEAw7C0HAASEQDDoLQbkBIRAMOQtBrwEhEAw4C0GxASEQDDcLQbIBIRAMNgtBtAEhEAw1C0G1ASEQDDQLQboBIRAMMwtBvQEhEAwyC0G/ASEQDDELQcEBIRAMMAsgAEEANgIcIAAgBDYCFCAAQemLgIAANgIQIABBHzYCDEEAIRAMSAsgAEHbATYCHCAAIAQ2AhQgAEH6loCAADYCECAAQRU2AgxBACEQDEcLIABB+AA2AhwgACAMNgIUIABBypiAgAA2AhAgAEEVNgIMQQAhEAxGCyAAQdEANgIcIAAgBTYCFCAAQbCXgIAANgIQIABBFTYCDEEAIRAMRQsgAEH5ADYCHCAAIAE2AhQgACAQNgIMQQAhEAxECyAAQfgANgIcIAAgATYCFCAAQcqYgIAANgIQIABBFTYCDEEAIRAMQwsgAEHkADYCHCAAIAE2AhQgAEHjl4CAADYCECAAQRU2AgxBACEQDEILIABB1wA2AhwgACABNgIUIABByZeAgAA2AhAgAEEVNgIMQQAhEAxBCyAAQQA2AhwgACABNgIUIABBuY2AgAA2AhAgAEEaNgIMQQAhEAxACyAAQcIANgIcIAAgATYCFCAAQeOYgIAANgIQIABBFTYCDEEAIRAMPwsgAEEANgIEIAAgDyAPELGAgIAAIgRFDQEgAEE6NgIcIAAgBDYCDCAAIA9BAWo2AhRBACEQDD4LIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCxgICAACIERQ0AIABBOzYCHCAAIAQ2AgwgACABQQFqNgIUQQAhEAw+CyABQQFqIQEMLQsgD0EBaiEBDC0LIABBADYCHCAAIA82AhQgAEHkkoCAADYCECAAQQQ2AgxBACEQDDsLIABBNjYCHCAAIAQ2AhQgACACNgIMQQAhEAw6CyAAQS42AhwgACAONgIUIAAgBDYCDEEAIRAMOQsgAEHQADYCHCAAIAE2AhQgAEGRmICAADYCECAAQRU2AgxBACEQDDgLIA1BAWohAQwsCyAAQRU2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAw2CyAAQRs2AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAw1CyAAQQ82AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAw0CyAAQQs2AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAwzCyAAQRo2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAwyCyAAQQs2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAwxCyAAQQo2AhwgACABNgIUIABB5JaAgAA2AhAgAEEVNgIMQQAhEAwwCyAAQR42AhwgACABNgIUIABB+ZeAgAA2AhAgAEEVNgIMQQAhEAwvCyAAQQA2AhwgACAQNgIUIABB2o2AgAA2AhAgAEEUNgIMQQAhEAwuCyAAQQQ2AhwgACABNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAwtCyAAQQA2AgAgC0EBaiELC0G4ASEQDBILIABBADYCACAQQQFqIQFB9QAhEAwRCyABIQECQCAALQApQQVHDQBB4wAhEAwRC0HiACEQDBALQQAhECAAQQA2AhwgAEHkkYCAADYCECAAQQc2AgwgACAUQQFqNgIUDCgLIABBADYCACAXQQFqIQFBwAAhEAwOC0EBIQELIAAgAToALCAAQQA2AgAgF0EBaiEBC0EoIRAMCwsgASEBC0E4IRAMCQsCQCABIg8gAkYNAANAAkAgDy0AAEGAvoCAAGotAAAiAUEBRg0AIAFBAkcNAyAPQQFqIQEMBAsgD0EBaiIPIAJHDQALQT4hEAwiC0E+IRAMIQsgAEEAOgAsIA8hAQwBC0ELIRAMBgtBOiEQDAULIAFBAWohAUEtIRAMBAsgACABOgAsIABBADYCACAWQQFqIQFBDCEQDAMLIABBADYCACAXQQFqIQFBCiEQDAILIABBADYCAAsgAEEAOgAsIA0hAUEJIRAMAAsLQQAhECAAQQA2AhwgACALNgIUIABBzZCAgAA2AhAgAEEJNgIMDBcLQQAhECAAQQA2AhwgACAKNgIUIABB6YqAgAA2AhAgAEEJNgIMDBYLQQAhECAAQQA2AhwgACAJNgIUIABBt5CAgAA2AhAgAEEJNgIMDBULQQAhECAAQQA2AhwgACAINgIUIABBnJGAgAA2AhAgAEEJNgIMDBQLQQAhECAAQQA2AhwgACABNgIUIABBzZCAgAA2AhAgAEEJNgIMDBMLQQAhECAAQQA2AhwgACABNgIUIABB6YqAgAA2AhAgAEEJNgIMDBILQQAhECAAQQA2AhwgACABNgIUIABBt5CAgAA2AhAgAEEJNgIMDBELQQAhECAAQQA2AhwgACABNgIUIABBnJGAgAA2AhAgAEEJNgIMDBALQQAhECAAQQA2AhwgACABNgIUIABBl5WAgAA2AhAgAEEPNgIMDA8LQQAhECAAQQA2AhwgACABNgIUIABBl5WAgAA2AhAgAEEPNgIMDA4LQQAhECAAQQA2AhwgACABNgIUIABBwJKAgAA2AhAgAEELNgIMDA0LQQAhECAAQQA2AhwgACABNgIUIABBlYmAgAA2AhAgAEELNgIMDAwLQQAhECAAQQA2AhwgACABNgIUIABB4Y+AgAA2AhAgAEEKNgIMDAsLQQAhECAAQQA2AhwgACABNgIUIABB+4+AgAA2AhAgAEEKNgIMDAoLQQAhECAAQQA2AhwgACABNgIUIABB8ZmAgAA2AhAgAEECNgIMDAkLQQAhECAAQQA2AhwgACABNgIUIABBxJSAgAA2AhAgAEECNgIMDAgLQQAhECAAQQA2AhwgACABNgIUIABB8pWAgAA2AhAgAEECNgIMDAcLIABBAjYCHCAAIAE2AhQgAEGcmoCAADYCECAAQRY2AgxBACEQDAYLQQEhEAwFC0HUACEQIAEiBCACRg0EIANBCGogACAEIAJB2MKAgABBChDFgICAACADKAIMIQQgAygCCA4DAQQCAAsQyoCAgAAACyAAQQA2AhwgAEG1moCAADYCECAAQRc2AgwgACAEQQFqNgIUQQAhEAwCCyAAQQA2AhwgACAENgIUIABBypqAgAA2AhAgAEEJNgIMQQAhEAwBCwJAIAEiBCACRw0AQSIhEAwBCyAAQYmAgIAANgIIIAAgBDYCBEEhIRALIANBEGokgICAgAAgEAuvAQECfyABKAIAIQYCQAJAIAIgA0YNACAEIAZqIQQgBiADaiACayEHIAIgBkF/cyAFaiIGaiEFA0ACQCACLQAAIAQtAABGDQBBAiEEDAMLAkAgBg0AQQAhBCAFIQIMAwsgBkF/aiEGIARBAWohBCACQQFqIgIgA0cNAAsgByEGIAMhAgsgAEEBNgIAIAEgBjYCACAAIAI2AgQPCyABQQA2AgAgACAENgIAIAAgAjYCBAsKACAAEMeAgIAAC/I2AQt/I4CAgIAAQRBrIgEkgICAgAACQEEAKAKg0ICAAA0AQQAQy4CAgABBgNSEgABrIgJB2QBJDQBBACEDAkBBACgC4NOAgAAiBA0AQQBCfzcC7NOAgABBAEKAgISAgIDAADcC5NOAgABBACABQQhqQXBxQdiq1aoFcyIENgLg04CAAEEAQQA2AvTTgIAAQQBBADYCxNOAgAALQQAgAjYCzNOAgABBAEGA1ISAADYCyNOAgABBAEGA1ISAADYCmNCAgABBACAENgKs0ICAAEEAQX82AqjQgIAAA0AgA0HE0ICAAGogA0G40ICAAGoiBDYCACAEIANBsNCAgABqIgU2AgAgA0G80ICAAGogBTYCACADQczQgIAAaiADQcDQgIAAaiIFNgIAIAUgBDYCACADQdTQgIAAaiADQcjQgIAAaiIENgIAIAQgBTYCACADQdDQgIAAaiAENgIAIANBIGoiA0GAAkcNAAtBgNSEgABBeEGA1ISAAGtBD3FBAEGA1ISAAEEIakEPcRsiA2oiBEEEaiACQUhqIgUgA2siA0EBcjYCAEEAQQAoAvDTgIAANgKk0ICAAEEAIAM2ApTQgIAAQQAgBDYCoNCAgABBgNSEgAAgBWpBODYCBAsCQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEHsAUsNAAJAQQAoAojQgIAAIgZBECAAQRNqQXBxIABBC0kbIgJBA3YiBHYiA0EDcUUNAAJAAkAgA0EBcSAEckEBcyIFQQN0IgRBsNCAgABqIgMgBEG40ICAAGooAgAiBCgCCCICRw0AQQAgBkF+IAV3cTYCiNCAgAAMAQsgAyACNgIIIAIgAzYCDAsgBEEIaiEDIAQgBUEDdCIFQQNyNgIEIAQgBWoiBCAEKAIEQQFyNgIEDAwLIAJBACgCkNCAgAAiB00NAQJAIANFDQACQAJAIAMgBHRBAiAEdCIDQQAgA2tycSIDQQAgA2txQX9qIgMgA0EMdkEQcSIDdiIEQQV2QQhxIgUgA3IgBCAFdiIDQQJ2QQRxIgRyIAMgBHYiA0EBdkECcSIEciADIAR2IgNBAXZBAXEiBHIgAyAEdmoiBEEDdCIDQbDQgIAAaiIFIANBuNCAgABqKAIAIgMoAggiAEcNAEEAIAZBfiAEd3EiBjYCiNCAgAAMAQsgBSAANgIIIAAgBTYCDAsgAyACQQNyNgIEIAMgBEEDdCIEaiAEIAJrIgU2AgAgAyACaiIAIAVBAXI2AgQCQCAHRQ0AIAdBeHFBsNCAgABqIQJBACgCnNCAgAAhBAJAAkAgBkEBIAdBA3Z0IghxDQBBACAGIAhyNgKI0ICAACACIQgMAQsgAigCCCEICyAIIAQ2AgwgAiAENgIIIAQgAjYCDCAEIAg2AggLIANBCGohA0EAIAA2ApzQgIAAQQAgBTYCkNCAgAAMDAtBACgCjNCAgAAiCUUNASAJQQAgCWtxQX9qIgMgA0EMdkEQcSIDdiIEQQV2QQhxIgUgA3IgBCAFdiIDQQJ2QQRxIgRyIAMgBHYiA0EBdkECcSIEciADIAR2IgNBAXZBAXEiBHIgAyAEdmpBAnRBuNKAgABqKAIAIgAoAgRBeHEgAmshBCAAIQUCQANAAkAgBSgCECIDDQAgBUEUaigCACIDRQ0CCyADKAIEQXhxIAJrIgUgBCAFIARJIgUbIQQgAyAAIAUbIQAgAyEFDAALCyAAKAIYIQoCQCAAKAIMIgggAEYNACAAKAIIIgNBACgCmNCAgABJGiAIIAM2AgggAyAINgIMDAsLAkAgAEEUaiIFKAIAIgMNACAAKAIQIgNFDQMgAEEQaiEFCwNAIAUhCyADIghBFGoiBSgCACIDDQAgCEEQaiEFIAgoAhAiAw0ACyALQQA2AgAMCgtBfyECIABBv39LDQAgAEETaiIDQXBxIQJBACgCjNCAgAAiB0UNAEEAIQsCQCACQYACSQ0AQR8hCyACQf///wdLDQAgA0EIdiIDIANBgP4/akEQdkEIcSIDdCIEIARBgOAfakEQdkEEcSIEdCIFIAVBgIAPakEQdkECcSIFdEEPdiADIARyIAVyayIDQQF0IAIgA0EVanZBAXFyQRxqIQsLQQAgAmshBAJAAkACQAJAIAtBAnRBuNKAgABqKAIAIgUNAEEAIQNBACEIDAELQQAhAyACQQBBGSALQQF2ayALQR9GG3QhAEEAIQgDQAJAIAUoAgRBeHEgAmsiBiAETw0AIAYhBCAFIQggBg0AQQAhBCAFIQggBSEDDAMLIAMgBUEUaigCACIGIAYgBSAAQR12QQRxakEQaigCACIFRhsgAyAGGyEDIABBAXQhACAFDQALCwJAIAMgCHINAEEAIQhBAiALdCIDQQAgA2tyIAdxIgNFDQMgA0EAIANrcUF/aiIDIANBDHZBEHEiA3YiBUEFdkEIcSIAIANyIAUgAHYiA0ECdkEEcSIFciADIAV2IgNBAXZBAnEiBXIgAyAFdiIDQQF2QQFxIgVyIAMgBXZqQQJ0QbjSgIAAaigCACEDCyADRQ0BCwNAIAMoAgRBeHEgAmsiBiAESSEAAkAgAygCECIFDQAgA0EUaigCACEFCyAGIAQgABshBCADIAggABshCCAFIQMgBQ0ACwsgCEUNACAEQQAoApDQgIAAIAJrTw0AIAgoAhghCwJAIAgoAgwiACAIRg0AIAgoAggiA0EAKAKY0ICAAEkaIAAgAzYCCCADIAA2AgwMCQsCQCAIQRRqIgUoAgAiAw0AIAgoAhAiA0UNAyAIQRBqIQULA0AgBSEGIAMiAEEUaiIFKAIAIgMNACAAQRBqIQUgACgCECIDDQALIAZBADYCAAwICwJAQQAoApDQgIAAIgMgAkkNAEEAKAKc0ICAACEEAkACQCADIAJrIgVBEEkNACAEIAJqIgAgBUEBcjYCBEEAIAU2ApDQgIAAQQAgADYCnNCAgAAgBCADaiAFNgIAIAQgAkEDcjYCBAwBCyAEIANBA3I2AgQgBCADaiIDIAMoAgRBAXI2AgRBAEEANgKc0ICAAEEAQQA2ApDQgIAACyAEQQhqIQMMCgsCQEEAKAKU0ICAACIAIAJNDQBBACgCoNCAgAAiAyACaiIEIAAgAmsiBUEBcjYCBEEAIAU2ApTQgIAAQQAgBDYCoNCAgAAgAyACQQNyNgIEIANBCGohAwwKCwJAAkBBACgC4NOAgABFDQBBACgC6NOAgAAhBAwBC0EAQn83AuzTgIAAQQBCgICEgICAwAA3AuTTgIAAQQAgAUEMakFwcUHYqtWqBXM2AuDTgIAAQQBBADYC9NOAgABBAEEANgLE04CAAEGAgAQhBAtBACEDAkAgBCACQccAaiIHaiIGQQAgBGsiC3EiCCACSw0AQQBBMDYC+NOAgAAMCgsCQEEAKALA04CAACIDRQ0AAkBBACgCuNOAgAAiBCAIaiIFIARNDQAgBSADTQ0BC0EAIQNBAEEwNgL404CAAAwKC0EALQDE04CAAEEEcQ0EAkACQAJAQQAoAqDQgIAAIgRFDQBByNOAgAAhAwNAAkAgAygCACIFIARLDQAgBSADKAIEaiAESw0DCyADKAIIIgMNAAsLQQAQy4CAgAAiAEF/Rg0FIAghBgJAQQAoAuTTgIAAIgNBf2oiBCAAcUUNACAIIABrIAQgAGpBACADa3FqIQYLIAYgAk0NBSAGQf7///8HSw0FAkBBACgCwNOAgAAiA0UNAEEAKAK404CAACIEIAZqIgUgBE0NBiAFIANLDQYLIAYQy4CAgAAiAyAARw0BDAcLIAYgAGsgC3EiBkH+////B0sNBCAGEMuAgIAAIgAgAygCACADKAIEakYNAyAAIQMLAkAgA0F/Rg0AIAJByABqIAZNDQACQCAHIAZrQQAoAujTgIAAIgRqQQAgBGtxIgRB/v///wdNDQAgAyEADAcLAkAgBBDLgICAAEF/Rg0AIAQgBmohBiADIQAMBwtBACAGaxDLgICAABoMBAsgAyEAIANBf0cNBQwDC0EAIQgMBwtBACEADAULIABBf0cNAgtBAEEAKALE04CAAEEEcjYCxNOAgAALIAhB/v///wdLDQEgCBDLgICAACEAQQAQy4CAgAAhAyAAQX9GDQEgA0F/Rg0BIAAgA08NASADIABrIgYgAkE4ak0NAQtBAEEAKAK404CAACAGaiIDNgK404CAAAJAIANBACgCvNOAgABNDQBBACADNgK804CAAAsCQAJAAkACQEEAKAKg0ICAACIERQ0AQcjTgIAAIQMDQCAAIAMoAgAiBSADKAIEIghqRg0CIAMoAggiAw0ADAMLCwJAAkBBACgCmNCAgAAiA0UNACAAIANPDQELQQAgADYCmNCAgAALQQAhA0EAIAY2AszTgIAAQQAgADYCyNOAgABBAEF/NgKo0ICAAEEAQQAoAuDTgIAANgKs0ICAAEEAQQA2AtTTgIAAA0AgA0HE0ICAAGogA0G40ICAAGoiBDYCACAEIANBsNCAgABqIgU2AgAgA0G80ICAAGogBTYCACADQczQgIAAaiADQcDQgIAAaiIFNgIAIAUgBDYCACADQdTQgIAAaiADQcjQgIAAaiIENgIAIAQgBTYCACADQdDQgIAAaiAENgIAIANBIGoiA0GAAkcNAAsgAEF4IABrQQ9xQQAgAEEIakEPcRsiA2oiBCAGQUhqIgUgA2siA0EBcjYCBEEAQQAoAvDTgIAANgKk0ICAAEEAIAM2ApTQgIAAQQAgBDYCoNCAgAAgACAFakE4NgIEDAILIAMtAAxBCHENACAEIAVJDQAgBCAATw0AIARBeCAEa0EPcUEAIARBCGpBD3EbIgVqIgBBACgClNCAgAAgBmoiCyAFayIFQQFyNgIEIAMgCCAGajYCBEEAQQAoAvDTgIAANgKk0ICAAEEAIAU2ApTQgIAAQQAgADYCoNCAgAAgBCALakE4NgIEDAELAkAgAEEAKAKY0ICAACIITw0AQQAgADYCmNCAgAAgACEICyAAIAZqIQVByNOAgAAhAwJAAkACQAJAAkACQAJAA0AgAygCACAFRg0BIAMoAggiAw0ADAILCyADLQAMQQhxRQ0BC0HI04CAACEDA0ACQCADKAIAIgUgBEsNACAFIAMoAgRqIgUgBEsNAwsgAygCCCEDDAALCyADIAA2AgAgAyADKAIEIAZqNgIEIABBeCAAa0EPcUEAIABBCGpBD3EbaiILIAJBA3I2AgQgBUF4IAVrQQ9xQQAgBUEIakEPcRtqIgYgCyACaiICayEDAkAgBiAERw0AQQAgAjYCoNCAgABBAEEAKAKU0ICAACADaiIDNgKU0ICAACACIANBAXI2AgQMAwsCQCAGQQAoApzQgIAARw0AQQAgAjYCnNCAgABBAEEAKAKQ0ICAACADaiIDNgKQ0ICAACACIANBAXI2AgQgAiADaiADNgIADAMLAkAgBigCBCIEQQNxQQFHDQAgBEF4cSEHAkACQCAEQf8BSw0AIAYoAggiBSAEQQN2IghBA3RBsNCAgABqIgBGGgJAIAYoAgwiBCAFRw0AQQBBACgCiNCAgABBfiAId3E2AojQgIAADAILIAQgAEYaIAQgBTYCCCAFIAQ2AgwMAQsgBigCGCEJAkACQCAGKAIMIgAgBkYNACAGKAIIIgQgCEkaIAAgBDYCCCAEIAA2AgwMAQsCQCAGQRRqIgQoAgAiBQ0AIAZBEGoiBCgCACIFDQBBACEADAELA0AgBCEIIAUiAEEUaiIEKAIAIgUNACAAQRBqIQQgACgCECIFDQALIAhBADYCAAsgCUUNAAJAAkAgBiAGKAIcIgVBAnRBuNKAgABqIgQoAgBHDQAgBCAANgIAIAANAUEAQQAoAozQgIAAQX4gBXdxNgKM0ICAAAwCCyAJQRBBFCAJKAIQIAZGG2ogADYCACAARQ0BCyAAIAk2AhgCQCAGKAIQIgRFDQAgACAENgIQIAQgADYCGAsgBigCFCIERQ0AIABBFGogBDYCACAEIAA2AhgLIAcgA2ohAyAGIAdqIgYoAgQhBAsgBiAEQX5xNgIEIAIgA2ogAzYCACACIANBAXI2AgQCQCADQf8BSw0AIANBeHFBsNCAgABqIQQCQAJAQQAoAojQgIAAIgVBASADQQN2dCIDcQ0AQQAgBSADcjYCiNCAgAAgBCEDDAELIAQoAgghAwsgAyACNgIMIAQgAjYCCCACIAQ2AgwgAiADNgIIDAMLQR8hBAJAIANB////B0sNACADQQh2IgQgBEGA/j9qQRB2QQhxIgR0IgUgBUGA4B9qQRB2QQRxIgV0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAQgBXIgAHJrIgRBAXQgAyAEQRVqdkEBcXJBHGohBAsgAiAENgIcIAJCADcCECAEQQJ0QbjSgIAAaiEFAkBBACgCjNCAgAAiAEEBIAR0IghxDQAgBSACNgIAQQAgACAIcjYCjNCAgAAgAiAFNgIYIAIgAjYCCCACIAI2AgwMAwsgA0EAQRkgBEEBdmsgBEEfRht0IQQgBSgCACEAA0AgACIFKAIEQXhxIANGDQIgBEEddiEAIARBAXQhBCAFIABBBHFqQRBqIggoAgAiAA0ACyAIIAI2AgAgAiAFNgIYIAIgAjYCDCACIAI2AggMAgsgAEF4IABrQQ9xQQAgAEEIakEPcRsiA2oiCyAGQUhqIgggA2siA0EBcjYCBCAAIAhqQTg2AgQgBCAFQTcgBWtBD3FBACAFQUlqQQ9xG2pBQWoiCCAIIARBEGpJGyIIQSM2AgRBAEEAKALw04CAADYCpNCAgABBACADNgKU0ICAAEEAIAs2AqDQgIAAIAhBEGpBACkC0NOAgAA3AgAgCEEAKQLI04CAADcCCEEAIAhBCGo2AtDTgIAAQQAgBjYCzNOAgABBACAANgLI04CAAEEAQQA2AtTTgIAAIAhBJGohAwNAIANBBzYCACADQQRqIgMgBUkNAAsgCCAERg0DIAggCCgCBEF+cTYCBCAIIAggBGsiADYCACAEIABBAXI2AgQCQCAAQf8BSw0AIABBeHFBsNCAgABqIQMCQAJAQQAoAojQgIAAIgVBASAAQQN2dCIAcQ0AQQAgBSAAcjYCiNCAgAAgAyEFDAELIAMoAgghBQsgBSAENgIMIAMgBDYCCCAEIAM2AgwgBCAFNgIIDAQLQR8hAwJAIABB////B0sNACAAQQh2IgMgA0GA/j9qQRB2QQhxIgN0IgUgBUGA4B9qQRB2QQRxIgV0IgggCEGAgA9qQRB2QQJxIgh0QQ92IAMgBXIgCHJrIgNBAXQgACADQRVqdkEBcXJBHGohAwsgBCADNgIcIARCADcCECADQQJ0QbjSgIAAaiEFAkBBACgCjNCAgAAiCEEBIAN0IgZxDQAgBSAENgIAQQAgCCAGcjYCjNCAgAAgBCAFNgIYIAQgBDYCCCAEIAQ2AgwMBAsgAEEAQRkgA0EBdmsgA0EfRht0IQMgBSgCACEIA0AgCCIFKAIEQXhxIABGDQMgA0EddiEIIANBAXQhAyAFIAhBBHFqQRBqIgYoAgAiCA0ACyAGIAQ2AgAgBCAFNgIYIAQgBDYCDCAEIAQ2AggMAwsgBSgCCCIDIAI2AgwgBSACNgIIIAJBADYCGCACIAU2AgwgAiADNgIICyALQQhqIQMMBQsgBSgCCCIDIAQ2AgwgBSAENgIIIARBADYCGCAEIAU2AgwgBCADNgIIC0EAKAKU0ICAACIDIAJNDQBBACgCoNCAgAAiBCACaiIFIAMgAmsiA0EBcjYCBEEAIAM2ApTQgIAAQQAgBTYCoNCAgAAgBCACQQNyNgIEIARBCGohAwwDC0EAIQNBAEEwNgL404CAAAwCCwJAIAtFDQACQAJAIAggCCgCHCIFQQJ0QbjSgIAAaiIDKAIARw0AIAMgADYCACAADQFBACAHQX4gBXdxIgc2AozQgIAADAILIAtBEEEUIAsoAhAgCEYbaiAANgIAIABFDQELIAAgCzYCGAJAIAgoAhAiA0UNACAAIAM2AhAgAyAANgIYCyAIQRRqKAIAIgNFDQAgAEEUaiADNgIAIAMgADYCGAsCQAJAIARBD0sNACAIIAQgAmoiA0EDcjYCBCAIIANqIgMgAygCBEEBcjYCBAwBCyAIIAJqIgAgBEEBcjYCBCAIIAJBA3I2AgQgACAEaiAENgIAAkAgBEH/AUsNACAEQXhxQbDQgIAAaiEDAkACQEEAKAKI0ICAACIFQQEgBEEDdnQiBHENAEEAIAUgBHI2AojQgIAAIAMhBAwBCyADKAIIIQQLIAQgADYCDCADIAA2AgggACADNgIMIAAgBDYCCAwBC0EfIQMCQCAEQf///wdLDQAgBEEIdiIDIANBgP4/akEQdkEIcSIDdCIFIAVBgOAfakEQdkEEcSIFdCICIAJBgIAPakEQdkECcSICdEEPdiADIAVyIAJyayIDQQF0IAQgA0EVanZBAXFyQRxqIQMLIAAgAzYCHCAAQgA3AhAgA0ECdEG40oCAAGohBQJAIAdBASADdCICcQ0AIAUgADYCAEEAIAcgAnI2AozQgIAAIAAgBTYCGCAAIAA2AgggACAANgIMDAELIARBAEEZIANBAXZrIANBH0YbdCEDIAUoAgAhAgJAA0AgAiIFKAIEQXhxIARGDQEgA0EddiECIANBAXQhAyAFIAJBBHFqQRBqIgYoAgAiAg0ACyAGIAA2AgAgACAFNgIYIAAgADYCDCAAIAA2AggMAQsgBSgCCCIDIAA2AgwgBSAANgIIIABBADYCGCAAIAU2AgwgACADNgIICyAIQQhqIQMMAQsCQCAKRQ0AAkACQCAAIAAoAhwiBUECdEG40oCAAGoiAygCAEcNACADIAg2AgAgCA0BQQAgCUF+IAV3cTYCjNCAgAAMAgsgCkEQQRQgCigCECAARhtqIAg2AgAgCEUNAQsgCCAKNgIYAkAgACgCECIDRQ0AIAggAzYCECADIAg2AhgLIABBFGooAgAiA0UNACAIQRRqIAM2AgAgAyAINgIYCwJAAkAgBEEPSw0AIAAgBCACaiIDQQNyNgIEIAAgA2oiAyADKAIEQQFyNgIEDAELIAAgAmoiBSAEQQFyNgIEIAAgAkEDcjYCBCAFIARqIAQ2AgACQCAHRQ0AIAdBeHFBsNCAgABqIQJBACgCnNCAgAAhAwJAAkBBASAHQQN2dCIIIAZxDQBBACAIIAZyNgKI0ICAACACIQgMAQsgAigCCCEICyAIIAM2AgwgAiADNgIIIAMgAjYCDCADIAg2AggLQQAgBTYCnNCAgABBACAENgKQ0ICAAAsgAEEIaiEDCyABQRBqJICAgIAAIAMLCgAgABDJgICAAAviDQEHfwJAIABFDQAgAEF4aiIBIABBfGooAgAiAkF4cSIAaiEDAkAgAkEBcQ0AIAJBA3FFDQEgASABKAIAIgJrIgFBACgCmNCAgAAiBEkNASACIABqIQACQCABQQAoApzQgIAARg0AAkAgAkH/AUsNACABKAIIIgQgAkEDdiIFQQN0QbDQgIAAaiIGRhoCQCABKAIMIgIgBEcNAEEAQQAoAojQgIAAQX4gBXdxNgKI0ICAAAwDCyACIAZGGiACIAQ2AgggBCACNgIMDAILIAEoAhghBwJAAkAgASgCDCIGIAFGDQAgASgCCCICIARJGiAGIAI2AgggAiAGNgIMDAELAkAgAUEUaiICKAIAIgQNACABQRBqIgIoAgAiBA0AQQAhBgwBCwNAIAIhBSAEIgZBFGoiAigCACIEDQAgBkEQaiECIAYoAhAiBA0ACyAFQQA2AgALIAdFDQECQAJAIAEgASgCHCIEQQJ0QbjSgIAAaiICKAIARw0AIAIgBjYCACAGDQFBAEEAKAKM0ICAAEF+IAR3cTYCjNCAgAAMAwsgB0EQQRQgBygCECABRhtqIAY2AgAgBkUNAgsgBiAHNgIYAkAgASgCECICRQ0AIAYgAjYCECACIAY2AhgLIAEoAhQiAkUNASAGQRRqIAI2AgAgAiAGNgIYDAELIAMoAgQiAkEDcUEDRw0AIAMgAkF+cTYCBEEAIAA2ApDQgIAAIAEgAGogADYCACABIABBAXI2AgQPCyABIANPDQAgAygCBCICQQFxRQ0AAkACQCACQQJxDQACQCADQQAoAqDQgIAARw0AQQAgATYCoNCAgABBAEEAKAKU0ICAACAAaiIANgKU0ICAACABIABBAXI2AgQgAUEAKAKc0ICAAEcNA0EAQQA2ApDQgIAAQQBBADYCnNCAgAAPCwJAIANBACgCnNCAgABHDQBBACABNgKc0ICAAEEAQQAoApDQgIAAIABqIgA2ApDQgIAAIAEgAEEBcjYCBCABIABqIAA2AgAPCyACQXhxIABqIQACQAJAIAJB/wFLDQAgAygCCCIEIAJBA3YiBUEDdEGw0ICAAGoiBkYaAkAgAygCDCICIARHDQBBAEEAKAKI0ICAAEF+IAV3cTYCiNCAgAAMAgsgAiAGRhogAiAENgIIIAQgAjYCDAwBCyADKAIYIQcCQAJAIAMoAgwiBiADRg0AIAMoAggiAkEAKAKY0ICAAEkaIAYgAjYCCCACIAY2AgwMAQsCQCADQRRqIgIoAgAiBA0AIANBEGoiAigCACIEDQBBACEGDAELA0AgAiEFIAQiBkEUaiICKAIAIgQNACAGQRBqIQIgBigCECIEDQALIAVBADYCAAsgB0UNAAJAAkAgAyADKAIcIgRBAnRBuNKAgABqIgIoAgBHDQAgAiAGNgIAIAYNAUEAQQAoAozQgIAAQX4gBHdxNgKM0ICAAAwCCyAHQRBBFCAHKAIQIANGG2ogBjYCACAGRQ0BCyAGIAc2AhgCQCADKAIQIgJFDQAgBiACNgIQIAIgBjYCGAsgAygCFCICRQ0AIAZBFGogAjYCACACIAY2AhgLIAEgAGogADYCACABIABBAXI2AgQgAUEAKAKc0ICAAEcNAUEAIAA2ApDQgIAADwsgAyACQX5xNgIEIAEgAGogADYCACABIABBAXI2AgQLAkAgAEH/AUsNACAAQXhxQbDQgIAAaiECAkACQEEAKAKI0ICAACIEQQEgAEEDdnQiAHENAEEAIAQgAHI2AojQgIAAIAIhAAwBCyACKAIIIQALIAAgATYCDCACIAE2AgggASACNgIMIAEgADYCCA8LQR8hAgJAIABB////B0sNACAAQQh2IgIgAkGA/j9qQRB2QQhxIgJ0IgQgBEGA4B9qQRB2QQRxIgR0IgYgBkGAgA9qQRB2QQJxIgZ0QQ92IAIgBHIgBnJrIgJBAXQgACACQRVqdkEBcXJBHGohAgsgASACNgIcIAFCADcCECACQQJ0QbjSgIAAaiEEAkACQEEAKAKM0ICAACIGQQEgAnQiA3ENACAEIAE2AgBBACAGIANyNgKM0ICAACABIAQ2AhggASABNgIIIAEgATYCDAwBCyAAQQBBGSACQQF2ayACQR9GG3QhAiAEKAIAIQYCQANAIAYiBCgCBEF4cSAARg0BIAJBHXYhBiACQQF0IQIgBCAGQQRxakEQaiIDKAIAIgYNAAsgAyABNgIAIAEgBDYCGCABIAE2AgwgASABNgIIDAELIAQoAggiACABNgIMIAQgATYCCCABQQA2AhggASAENgIMIAEgADYCCAtBAEEAKAKo0ICAAEF/aiIBQX8gARs2AqjQgIAACwsEAAAAC04AAkAgAA0APwBBEHQPCwJAIABB//8DcQ0AIABBf0wNAAJAIABBEHZAACIAQX9HDQBBAEEwNgL404CAAEF/DwsgAEEQdA8LEMqAgIAAAAvyAgIDfwF+AkAgAkUNACAAIAE6AAAgAiAAaiIDQX9qIAE6AAAgAkEDSQ0AIAAgAToAAiAAIAE6AAEgA0F9aiABOgAAIANBfmogAToAACACQQdJDQAgACABOgADIANBfGogAToAACACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiATYCACADIAIgBGtBfHEiBGoiAkF8aiABNgIAIARBCUkNACADIAE2AgggAyABNgIEIAJBeGogATYCACACQXRqIAE2AgAgBEEZSQ0AIAMgATYCGCADIAE2AhQgAyABNgIQIAMgATYCDCACQXBqIAE2AgAgAkFsaiABNgIAIAJBaGogATYCACACQWRqIAE2AgAgBCADQQRxQRhyIgVrIgJBIEkNACABrUKBgICAEH4hBiADIAVqIQEDQCABIAY3AxggASAGNwMQIAEgBjcDCCABIAY3AwAgAUEgaiEBIAJBYGoiAkEfSw0ACwsgAAsLjkgBAEGACAuGSAEAAAACAAAAAwAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAYAAAAHAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=="},4778:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.enumToMap=void 0;function enumToMap(e){const t={};Object.keys(e).forEach((r=>{const s=e[r];if(typeof s==="number"){t[r]=s}}));return t}t.enumToMap=enumToMap},6004:(e,t,r)=>{"use strict";const{kClients:s}=r(3932);const n=r(8840);const{kAgent:o,kMockAgentSet:i,kMockAgentGet:a,kDispatches:A,kIsMockActive:c,kNetConnect:l,kGetNetConnect:u,kOptions:p,kFactory:d}=r(4745);const g=r(1287);const h=r(7220);const{matchValue:m,buildMockOptions:E}=r(9700);const{InvalidArgumentError:C,UndiciError:I}=r(2366);const B=r(8648);const Q=r(5024);const b=r(5464);class FakeWeakRef{constructor(e){this.value=e}deref(){return this.value}}class MockAgent extends B{constructor(e){super(e);this[l]=true;this[c]=true;if(e&&e.agent&&typeof e.agent.dispatch!=="function"){throw new C("Argument opts.agent must implement Agent")}const t=e&&e.agent?e.agent:new n(e);this[o]=t;this[s]=t[s];this[p]=E(e)}get(e){let t=this[a](e);if(!t){t=this[d](e);this[i](e,t)}return t}dispatch(e,t){this.get(e.origin);return this[o].dispatch(e,t)}async close(){await this[o].close();this[s].clear()}deactivate(){this[c]=false}activate(){this[c]=true}enableNetConnect(e){if(typeof e==="string"||typeof e==="function"||e instanceof RegExp){if(Array.isArray(this[l])){this[l].push(e)}else{this[l]=[e]}}else if(typeof e==="undefined"){this[l]=true}else{throw new C("Unsupported matcher. Must be one of String|Function|RegExp.")}}disableNetConnect(){this[l]=false}get isMockActive(){return this[c]}[i](e,t){this[s].set(e,new FakeWeakRef(t))}[d](e){const t=Object.assign({agent:this},this[p]);return this[p]&&this[p].connections===1?new g(e,t):new h(e,t)}[a](e){const t=this[s].get(e);if(t){return t.deref()}if(typeof e!=="string"){const t=this[d]("http://localhost:9999");this[i](e,t);return t}for(const[t,r]of Array.from(this[s])){const s=r.deref();if(s&&typeof t!=="string"&&m(t,e)){const t=this[d](e);this[i](e,t);t[A]=s[A];return t}}}[u](){return this[l]}pendingInterceptors(){const e=this[s];return Array.from(e.entries()).flatMap((([e,t])=>t.deref()[A].map((t=>({...t,origin:e}))))).filter((({pending:e})=>e))}assertNoPendingInterceptors({pendingInterceptorsFormatter:e=new b}={}){const t=this.pendingInterceptors();if(t.length===0){return}const r=new Q("interceptor","interceptors").pluralize(t.length);throw new I(`\n${r.count} ${r.noun} ${r.is} pending:\n\n${e.format(t)}\n`.trim())}}e.exports=MockAgent},1287:(e,t,r)=>{"use strict";const{promisify:s}=r(3837);const n=r(1735);const{buildMockDispatch:o}=r(9700);const{kDispatches:i,kMockAgent:a,kClose:A,kOriginalClose:c,kOrigin:l,kOriginalDispatch:u,kConnected:p}=r(4745);const{MockInterceptor:d}=r(7857);const g=r(3932);const{InvalidArgumentError:h}=r(2366);class MockClient extends n{constructor(e,t){super(e,t);if(!t||!t.agent||typeof t.agent.dispatch!=="function"){throw new h("Argument opts.agent must implement Agent")}this[a]=t.agent;this[l]=e;this[i]=[];this[p]=1;this[u]=this.dispatch;this[c]=this.close.bind(this);this.dispatch=o.call(this);this.close=this[A]}get[g.kConnected](){return this[p]}intercept(e){return new d(e,this[i])}async[A](){await s(this[c])();this[p]=0;this[a][g.kClients].delete(this[l])}}e.exports=MockClient},2703:(e,t,r)=>{"use strict";const{UndiciError:s}=r(2366);class MockNotMatchedError extends s{constructor(e){super(e);Error.captureStackTrace(this,MockNotMatchedError);this.name="MockNotMatchedError";this.message=e||"The request does not match any registered mock dispatches";this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}}e.exports={MockNotMatchedError:MockNotMatchedError}},7857:(e,t,r)=>{"use strict";const{getResponseData:s,buildKey:n,addMockDispatch:o}=r(9700);const{kDispatches:i,kDispatchKey:a,kDefaultHeaders:A,kDefaultTrailers:c,kContentLength:l,kMockDispatch:u}=r(4745);const{InvalidArgumentError:p}=r(2366);const{buildURL:d}=r(7497);class MockScope{constructor(e){this[u]=e}delay(e){if(typeof e!=="number"||!Number.isInteger(e)||e<=0){throw new p("waitInMs must be a valid integer > 0")}this[u].delay=e;return this}persist(){this[u].persist=true;return this}times(e){if(typeof e!=="number"||!Number.isInteger(e)||e<=0){throw new p("repeatTimes must be a valid integer > 0")}this[u].times=e;return this}}class MockInterceptor{constructor(e,t){if(typeof e!=="object"){throw new p("opts must be an object")}if(typeof e.path==="undefined"){throw new p("opts.path must be defined")}if(typeof e.method==="undefined"){e.method="GET"}if(typeof e.path==="string"){if(e.query){e.path=d(e.path,e.query)}else{const t=new URL(e.path,"data://");e.path=t.pathname+t.search}}if(typeof e.method==="string"){e.method=e.method.toUpperCase()}this[a]=n(e);this[i]=t;this[A]={};this[c]={};this[l]=false}createMockScopeDispatchData(e,t,r={}){const n=s(t);const o=this[l]?{"content-length":n.length}:{};const i={...this[A],...o,...r.headers};const a={...this[c],...r.trailers};return{statusCode:e,data:t,headers:i,trailers:a}}validateReplyParameters(e,t,r){if(typeof e==="undefined"){throw new p("statusCode must be defined")}if(typeof t==="undefined"){throw new p("data must be defined")}if(typeof r!=="object"){throw new p("responseOptions must be an object")}}reply(e){if(typeof e==="function"){const wrappedDefaultsCallback=t=>{const r=e(t);if(typeof r!=="object"){throw new p("reply options callback must return an object")}const{statusCode:s,data:n="",responseOptions:o={}}=r;this.validateReplyParameters(s,n,o);return{...this.createMockScopeDispatchData(s,n,o)}};const t=o(this[i],this[a],wrappedDefaultsCallback);return new MockScope(t)}const[t,r="",s={}]=[...arguments];this.validateReplyParameters(t,r,s);const n=this.createMockScopeDispatchData(t,r,s);const A=o(this[i],this[a],n);return new MockScope(A)}replyWithError(e){if(typeof e==="undefined"){throw new p("error must be defined")}const t=o(this[i],this[a],{error:e});return new MockScope(t)}defaultReplyHeaders(e){if(typeof e==="undefined"){throw new p("headers must be defined")}this[A]=e;return this}defaultReplyTrailers(e){if(typeof e==="undefined"){throw new p("trailers must be defined")}this[c]=e;return this}replyContentLength(){this[l]=true;return this}}e.exports.MockInterceptor=MockInterceptor;e.exports.MockScope=MockScope},7220:(e,t,r)=>{"use strict";const{promisify:s}=r(3837);const n=r(780);const{buildMockDispatch:o}=r(9700);const{kDispatches:i,kMockAgent:a,kClose:A,kOriginalClose:c,kOrigin:l,kOriginalDispatch:u,kConnected:p}=r(4745);const{MockInterceptor:d}=r(7857);const g=r(3932);const{InvalidArgumentError:h}=r(2366);class MockPool extends n{constructor(e,t){super(e,t);if(!t||!t.agent||typeof t.agent.dispatch!=="function"){throw new h("Argument opts.agent must implement Agent")}this[a]=t.agent;this[l]=e;this[i]=[];this[p]=1;this[u]=this.dispatch;this[c]=this.close.bind(this);this.dispatch=o.call(this);this.close=this[A]}get[g.kConnected](){return this[p]}intercept(e){return new d(e,this[i])}async[A](){await s(this[c])();this[p]=0;this[a][g.kClients].delete(this[l])}}e.exports=MockPool},4745:e=>{"use strict";e.exports={kAgent:Symbol("agent"),kOptions:Symbol("options"),kFactory:Symbol("factory"),kDispatches:Symbol("dispatches"),kDispatchKey:Symbol("dispatch key"),kDefaultHeaders:Symbol("default headers"),kDefaultTrailers:Symbol("default trailers"),kContentLength:Symbol("content length"),kMockAgent:Symbol("mock agent"),kMockAgentSet:Symbol("mock agent set"),kMockAgentGet:Symbol("mock agent get"),kMockDispatch:Symbol("mock dispatch"),kClose:Symbol("close"),kOriginalClose:Symbol("original agent close"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected")}},9700:(e,t,r)=>{"use strict";const{MockNotMatchedError:s}=r(2703);const{kDispatches:n,kMockAgent:o,kOriginalDispatch:i,kOrigin:a,kGetNetConnect:A}=r(4745);const{buildURL:c,nop:l}=r(7497);const{STATUS_CODES:u}=r(3685);const{types:{isPromise:p}}=r(3837);function matchValue(e,t){if(typeof e==="string"){return e===t}if(e instanceof RegExp){return e.test(t)}if(typeof e==="function"){return e(t)===true}return false}function lowerCaseEntries(e){return Object.fromEntries(Object.entries(e).map((([e,t])=>[e.toLocaleLowerCase(),t])))}function getHeaderByName(e,t){if(Array.isArray(e)){for(let r=0;r!e)).filter((({path:e})=>matchValue(safeUrl(e),n)));if(o.length===0){throw new s(`Mock dispatch not matched for path '${n}'`)}o=o.filter((({method:e})=>matchValue(e,t.method)));if(o.length===0){throw new s(`Mock dispatch not matched for method '${t.method}'`)}o=o.filter((({body:e})=>typeof e!=="undefined"?matchValue(e,t.body):true));if(o.length===0){throw new s(`Mock dispatch not matched for body '${t.body}'`)}o=o.filter((e=>matchHeaders(e,t.headers)));if(o.length===0){throw new s(`Mock dispatch not matched for headers '${typeof t.headers==="object"?JSON.stringify(t.headers):t.headers}'`)}return o[0]}function addMockDispatch(e,t,r){const s={timesInvoked:0,times:1,persist:false,consumed:false};const n=typeof r==="function"?{callback:r}:{...r};const o={...s,...t,pending:true,data:{error:null,...n}};e.push(o);return o}function deleteMockDispatch(e,t){const r=e.findIndex((e=>{if(!e.consumed){return false}return matchKey(e,t)}));if(r!==-1){e.splice(r,1)}}function buildKey(e){const{path:t,method:r,body:s,headers:n,query:o}=e;return{path:t,method:r,body:s,headers:n,query:o}}function generateKeyValues(e){return Object.entries(e).reduce(((e,[t,r])=>[...e,Buffer.from(`${t}`),Array.isArray(r)?r.map((e=>Buffer.from(`${e}`))):Buffer.from(`${r}`)]),[])}function getStatusText(e){return u[e]||"unknown"}async function getResponse(e){const t=[];for await(const r of e){t.push(r)}return Buffer.concat(t).toString("utf8")}function mockDispatch(e,t){const r=buildKey(e);const s=getMockDispatch(this[n],r);s.timesInvoked++;if(s.data.callback){s.data={...s.data,...s.data.callback(e)}}const{data:{statusCode:o,data:i,headers:a,trailers:A,error:c},delay:u,persist:d}=s;const{timesInvoked:g,times:h}=s;s.consumed=!d&&g>=h;s.pending=g0){setTimeout((()=>{handleReply(this[n])}),u)}else{handleReply(this[n])}function handleReply(s,n=i){const c=Array.isArray(e.headers)?buildHeadersFromArray(e.headers):e.headers;const u=typeof n==="function"?n({...e,headers:c}):n;if(p(u)){u.then((e=>handleReply(s,e)));return}const d=getResponseData(u);const g=generateKeyValues(a);const h=generateKeyValues(A);t.abort=l;t.onHeaders(o,g,resume,getStatusText(o));t.onData(Buffer.from(d));t.onComplete(h);deleteMockDispatch(s,r)}function resume(){}return true}function buildMockDispatch(){const e=this[o];const t=this[a];const r=this[i];return function dispatch(n,o){if(e.isMockActive){try{mockDispatch.call(this,n,o)}catch(i){if(i instanceof s){const a=e[A]();if(a===false){throw new s(`${i.message}: subsequent request to origin ${t} was not allowed (net.connect disabled)`)}if(checkNetConnect(a,t)){r.call(this,n,o)}else{throw new s(`${i.message}: subsequent request to origin ${t} was not allowed (net.connect is not enabled for this origin)`)}}else{throw i}}}else{r.call(this,n,o)}}}function checkNetConnect(e,t){const r=new URL(t);if(e===true){return true}else if(Array.isArray(e)&&e.some((e=>matchValue(e,r.host)))){return true}return false}function buildMockOptions(e){if(e){const{agent:t,...r}=e;return r}}e.exports={getResponseData:getResponseData,getMockDispatch:getMockDispatch,addMockDispatch:addMockDispatch,deleteMockDispatch:deleteMockDispatch,buildKey:buildKey,generateKeyValues:generateKeyValues,matchValue:matchValue,getResponse:getResponse,getStatusText:getStatusText,mockDispatch:mockDispatch,buildMockDispatch:buildMockDispatch,checkNetConnect:checkNetConnect,buildMockOptions:buildMockOptions,getHeaderByName:getHeaderByName}},5464:(e,t,r)=>{"use strict";const{Transform:s}=r(2781);const{Console:n}=r(6206);e.exports=class PendingInterceptorsFormatter{constructor({disableColors:e}={}){this.transform=new s({transform(e,t,r){r(null,e)}});this.logger=new n({stdout:this.transform,inspectOptions:{colors:!e&&!process.env.CI}})}format(e){const t=e.map((({method:e,path:t,data:{statusCode:r},persist:s,times:n,timesInvoked:o,origin:i})=>({Method:e,Origin:i,Path:t,"Status code":r,Persistent:s?"✅":"❌",Invocations:o,Remaining:s?Infinity:n-o})));this.logger.table(t);return this.transform.read().toString()}}},5024:e=>{"use strict";const t={pronoun:"it",is:"is",was:"was",this:"this"};const r={pronoun:"they",is:"are",was:"were",this:"these"};e.exports=class Pluralizer{constructor(e,t){this.singular=e;this.plural=t}pluralize(e){const s=e===1;const n=s?t:r;const o=s?this.singular:this.plural;return{...n,count:e,noun:o}}}},4629:e=>{"use strict";const t=2048;const r=t-1;class FixedCircularBuffer{constructor(){this.bottom=0;this.top=0;this.list=new Array(t);this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&r)===this.bottom}push(e){this.list[this.top]=e;this.top=this.top+1&r}shift(){const e=this.list[this.bottom];if(e===undefined)return null;this.list[this.bottom]=undefined;this.bottom=this.bottom+1&r;return e}}e.exports=class FixedQueue{constructor(){this.head=this.tail=new FixedCircularBuffer}isEmpty(){return this.head.isEmpty()}push(e){if(this.head.isFull()){this.head=this.head.next=new FixedCircularBuffer}this.head.push(e)}shift(){const e=this.tail;const t=e.shift();if(e.isEmpty()&&e.next!==null){this.tail=e.next}return t}}},4414:(e,t,r)=>{"use strict";const s=r(8757);const n=r(4629);const{kConnected:o,kSize:i,kRunning:a,kPending:A,kQueued:c,kBusy:l,kFree:u,kUrl:p,kClose:d,kDestroy:g,kDispatch:h}=r(3932);const m=r(47);const E=Symbol("clients");const C=Symbol("needDrain");const I=Symbol("queue");const B=Symbol("closed resolve");const Q=Symbol("onDrain");const b=Symbol("onConnect");const y=Symbol("onDisconnect");const v=Symbol("onConnectionError");const w=Symbol("get dispatcher");const x=Symbol("add client");const k=Symbol("remove client");const R=Symbol("stats");class PoolBase extends s{constructor(){super();this[I]=new n;this[E]=[];this[c]=0;const e=this;this[Q]=function onDrain(t,r){const s=e[I];let n=false;while(!n){const t=s.shift();if(!t){break}e[c]--;n=!this.dispatch(t.opts,t.handler)}this[C]=n;if(!this[C]&&e[C]){e[C]=false;e.emit("drain",t,[e,...r])}if(e[B]&&s.isEmpty()){Promise.all(e[E].map((e=>e.close()))).then(e[B])}};this[b]=(t,r)=>{e.emit("connect",t,[e,...r])};this[y]=(t,r,s)=>{e.emit("disconnect",t,[e,...r],s)};this[v]=(t,r,s)=>{e.emit("connectionError",t,[e,...r],s)};this[R]=new m(this)}get[l](){return this[C]}get[o](){return this[E].filter((e=>e[o])).length}get[u](){return this[E].filter((e=>e[o]&&!e[C])).length}get[A](){let e=this[c];for(const{[A]:t}of this[E]){e+=t}return e}get[a](){let e=0;for(const{[a]:t}of this[E]){e+=t}return e}get[i](){let e=this[c];for(const{[i]:t}of this[E]){e+=t}return e}get stats(){return this[R]}async[d](){if(this[I].isEmpty()){return Promise.all(this[E].map((e=>e.close())))}else{return new Promise((e=>{this[B]=e}))}}async[g](e){while(true){const t=this[I].shift();if(!t){break}t.handler.onError(e)}return Promise.all(this[E].map((t=>t.destroy(e))))}[h](e,t){const r=this[w]();if(!r){this[C]=true;this[I].push({opts:e,handler:t});this[c]++}else if(!r.dispatch(e,t)){r[C]=true;this[C]=!this[w]()}return!this[C]}[x](e){e.on("drain",this[Q]).on("connect",this[b]).on("disconnect",this[y]).on("connectionError",this[v]);this[E].push(e);if(this[C]){process.nextTick((()=>{if(this[C]){this[Q](e[p],[this,e])}}))}return this}[k](e){e.close((()=>{const t=this[E].indexOf(e);if(t!==-1){this[E].splice(t,1)}}));this[C]=this[E].some((e=>!e[C]&&e.closed!==true&&e.destroyed!==true))}}e.exports={PoolBase:PoolBase,kClients:E,kNeedDrain:C,kAddClient:x,kRemoveClient:k,kGetDispatcher:w}},47:(e,t,r)=>{const{kFree:s,kConnected:n,kPending:o,kQueued:i,kRunning:a,kSize:A}=r(3932);const c=Symbol("pool");class PoolStats{constructor(e){this[c]=e}get connected(){return this[c][n]}get free(){return this[c][s]}get pending(){return this[c][o]}get queued(){return this[c][i]}get running(){return this[c][a]}get size(){return this[c][A]}}e.exports=PoolStats},780:(e,t,r)=>{"use strict";const{PoolBase:s,kClients:n,kNeedDrain:o,kAddClient:i,kGetDispatcher:a}=r(4414);const A=r(1735);const{InvalidArgumentError:c}=r(2366);const l=r(7497);const{kUrl:u,kInterceptors:p}=r(3932);const d=r(9218);const g=Symbol("options");const h=Symbol("connections");const m=Symbol("factory");function defaultFactory(e,t){return new A(e,t)}class Pool extends s{constructor(e,{connections:t,factory:r=defaultFactory,connect:s,connectTimeout:n,tls:o,maxCachedSessions:i,socketPath:a,autoSelectFamily:A,autoSelectFamilyAttemptTimeout:E,allowH2:C,...I}={}){super();if(t!=null&&(!Number.isFinite(t)||t<0)){throw new c("invalid connections")}if(typeof r!=="function"){throw new c("factory must be a function.")}if(s!=null&&typeof s!=="function"&&typeof s!=="object"){throw new c("connect must be a function or an object")}if(typeof s!=="function"){s=d({...o,maxCachedSessions:i,allowH2:C,socketPath:a,timeout:n,...l.nodeHasAutoSelectFamily&&A?{autoSelectFamily:A,autoSelectFamilyAttemptTimeout:E}:undefined,...s})}this[p]=I.interceptors&&I.interceptors.Pool&&Array.isArray(I.interceptors.Pool)?I.interceptors.Pool:[];this[h]=t||null;this[u]=l.parseOrigin(e);this[g]={...l.deepClone(I),connect:s,allowH2:C};this[g].interceptors=I.interceptors?{...I.interceptors}:undefined;this[m]=r}[a](){let e=this[n].find((e=>!e[o]));if(e){return e}if(!this[h]||this[n].length{"use strict";const{kProxy:s,kClose:n,kDestroy:o,kInterceptors:i}=r(3932);const{URL:a}=r(7310);const A=r(8840);const c=r(780);const l=r(8757);const{InvalidArgumentError:u,RequestAbortedError:p}=r(2366);const d=r(9218);const g=Symbol("proxy agent");const h=Symbol("proxy client");const m=Symbol("proxy headers");const E=Symbol("request tls settings");const C=Symbol("proxy tls settings");const I=Symbol("connect endpoint function");function defaultProtocolPort(e){return e==="https:"?443:80}function buildProxyOptions(e){if(typeof e==="string"){e={uri:e}}if(!e||!e.uri){throw new u("Proxy opts.uri is mandatory")}return{uri:e.uri,protocol:e.protocol||"https"}}function defaultFactory(e,t){return new c(e,t)}class ProxyAgent extends l{constructor(e){super(e);this[s]=buildProxyOptions(e);this[g]=new A(e);this[i]=e.interceptors&&e.interceptors.ProxyAgent&&Array.isArray(e.interceptors.ProxyAgent)?e.interceptors.ProxyAgent:[];if(typeof e==="string"){e={uri:e}}if(!e||!e.uri){throw new u("Proxy opts.uri is mandatory")}const{clientFactory:t=defaultFactory}=e;if(typeof t!=="function"){throw new u("Proxy opts.clientFactory must be a function.")}this[E]=e.requestTls;this[C]=e.proxyTls;this[m]=e.headers||{};const r=new a(e.uri);const{origin:n,port:o,host:c,username:l,password:B}=r;if(e.auth&&e.token){throw new u("opts.auth cannot be used in combination with opts.token")}else if(e.auth){this[m]["proxy-authorization"]=`Basic ${e.auth}`}else if(e.token){this[m]["proxy-authorization"]=e.token}else if(l&&B){this[m]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(l)}:${decodeURIComponent(B)}`).toString("base64")}`}const Q=d({...e.proxyTls});this[I]=d({...e.requestTls});this[h]=t(r,{connect:Q});this[g]=new A({...e,connect:async(e,t)=>{let r=e.host;if(!e.port){r+=`:${defaultProtocolPort(e.protocol)}`}try{const{socket:s,statusCode:i}=await this[h].connect({origin:n,port:o,path:r,signal:e.signal,headers:{...this[m],host:c}});if(i!==200){s.on("error",(()=>{})).destroy();t(new p(`Proxy response (${i}) !== 200 when HTTP Tunneling`))}if(e.protocol!=="https:"){t(null,s);return}let a;if(this[E]){a=this[E].servername}else{a=e.servername}this[I]({...e,servername:a,httpSocket:s},t)}catch(e){t(e)}}})}dispatch(e,t){const{host:r}=new a(e.origin);const s=buildHeaders(e.headers);throwIfProxyAuthIsSent(s);return this[g].dispatch({...e,headers:{...s,host:r}},t)}async[n](){await this[g].close();await this[h].close()}async[o](){await this[g].destroy();await this[h].destroy()}}function buildHeaders(e){if(Array.isArray(e)){const t={};for(let r=0;re.toLowerCase()==="proxy-authorization"));if(t){throw new u("Proxy-Authorization should be sent in ProxyAgent constructor")}}e.exports=ProxyAgent},2882:e=>{"use strict";let t=Date.now();let r;const s=[];function onTimeout(){t=Date.now();let e=s.length;let r=0;while(r0&&t>=n.state){n.state=-1;n.callback(n.opaque)}if(n.state===-1){n.state=-2;if(r!==e-1){s[r]=s.pop()}else{s.pop()}e-=1}else{r+=1}}if(s.length>0){refreshTimeout()}}function refreshTimeout(){if(r&&r.refresh){r.refresh()}else{clearTimeout(r);r=setTimeout(onTimeout,1e3);if(r.unref){r.unref()}}}class Timeout{constructor(e,t,r){this.callback=e;this.delay=t;this.opaque=r;this.state=-2;this.refresh()}refresh(){if(this.state===-2){s.push(this);if(!r||s.length===1){refreshTimeout()}}this.state=0}clear(){this.state=-1}}e.exports={setTimeout(e,t,r){return t<1e3?setTimeout(e,t,r):new Timeout(e,t,r)},clearTimeout(e){if(e instanceof Timeout){e.clear()}else{clearTimeout(e)}}}},250:(e,t,r)=>{"use strict";const s=r(7643);const{uid:n,states:o}=r(6487);const{kReadyState:i,kSentClose:a,kByteParser:A,kReceivedClose:c}=r(7380);const{fireEvent:l,failWebsocketConnection:u}=r(5714);const{CloseEvent:p}=r(1879);const{makeRequest:d}=r(6453);const{fetching:g}=r(8802);const{Headers:h}=r(1855);const{getGlobalDispatcher:m}=r(2899);const{kHeadersList:E}=r(3932);const C={};C.open=s.channel("undici:websocket:open");C.close=s.channel("undici:websocket:close");C.socketError=s.channel("undici:websocket:socket_error");let I;try{I=r(6113)}catch{}function establishWebSocketConnection(e,t,r,s,o){const i=e;i.protocol=e.protocol==="ws:"?"http:":"https:";const a=d({urlList:[i],serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(o.headers){const e=new h(o.headers)[E];a.headersList=e}const A=I.randomBytes(16).toString("base64");a.headersList.append("sec-websocket-key",A);a.headersList.append("sec-websocket-version","13");for(const e of t){a.headersList.append("sec-websocket-protocol",e)}const c="";const l=g({request:a,useParallelQueue:true,dispatcher:o.dispatcher??m(),processResponse(e){if(e.type==="error"||e.status!==101){u(r,"Received network error or non-101 status code.");return}if(t.length!==0&&!e.headersList.get("Sec-WebSocket-Protocol")){u(r,"Server did not respond with sent protocols.");return}if(e.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){u(r,'Server did not set Upgrade header to "websocket".');return}if(e.headersList.get("Connection")?.toLowerCase()!=="upgrade"){u(r,'Server did not set Connection header to "upgrade".');return}const o=e.headersList.get("Sec-WebSocket-Accept");const i=I.createHash("sha1").update(A+n).digest("base64");if(o!==i){u(r,"Incorrect hash received in Sec-WebSocket-Accept header.");return}const l=e.headersList.get("Sec-WebSocket-Extensions");if(l!==null&&l!==c){u(r,"Received different permessage-deflate than the one set.");return}const p=e.headersList.get("Sec-WebSocket-Protocol");if(p!==null&&p!==a.headersList.get("Sec-WebSocket-Protocol")){u(r,"Protocol was not set in the opening handshake.");return}e.socket.on("data",onSocketData);e.socket.on("close",onSocketClose);e.socket.on("error",onSocketError);if(C.open.hasSubscribers){C.open.publish({address:e.socket.address(),protocol:p,extensions:l})}s(e)}});return l}function onSocketData(e){if(!this.ws[A].write(e)){this.pause()}}function onSocketClose(){const{ws:e}=this;const t=e[a]&&e[c];let r=1005;let s="";const n=e[A].closingInfo;if(n){r=n.code??1005;s=n.reason}else if(!e[a]){r=1006}e[i]=o.CLOSED;l("close",e,p,{wasClean:t,code:r,reason:s});if(C.close.hasSubscribers){C.close.publish({websocket:e,code:r,reason:s})}}function onSocketError(e){const{ws:t}=this;t[i]=o.CLOSING;if(C.socketError.hasSubscribers){C.socketError.publish(e)}this.destroy()}e.exports={establishWebSocketConnection:establishWebSocketConnection}},6487:e=>{"use strict";const t="258EAFA5-E914-47DA-95CA-C5AB0DC85B11";const r={enumerable:true,writable:false,configurable:false};const s={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};const n={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10};const o=2**16-1;const i={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4};const a=Buffer.allocUnsafe(0);e.exports={uid:t,staticPropertyDescriptors:r,states:s,opcodes:n,maxUnsigned16Bit:o,parserStates:i,emptyBuffer:a}},1879:(e,t,r)=>{"use strict";const{webidl:s}=r(9111);const{kEnumerableProperty:n}=r(7497);const{MessagePort:o}=r(1267);class MessageEvent extends Event{#o;constructor(e,t={}){s.argumentLengthCheck(arguments,1,{header:"MessageEvent constructor"});e=s.converters.DOMString(e);t=s.converters.MessageEventInit(t);super(e,t);this.#o=t}get data(){s.brandCheck(this,MessageEvent);return this.#o.data}get origin(){s.brandCheck(this,MessageEvent);return this.#o.origin}get lastEventId(){s.brandCheck(this,MessageEvent);return this.#o.lastEventId}get source(){s.brandCheck(this,MessageEvent);return this.#o.source}get ports(){s.brandCheck(this,MessageEvent);if(!Object.isFrozen(this.#o.ports)){Object.freeze(this.#o.ports)}return this.#o.ports}initMessageEvent(e,t=false,r=false,n=null,o="",i="",a=null,A=[]){s.brandCheck(this,MessageEvent);s.argumentLengthCheck(arguments,1,{header:"MessageEvent.initMessageEvent"});return new MessageEvent(e,{bubbles:t,cancelable:r,data:n,origin:o,lastEventId:i,source:a,ports:A})}}class CloseEvent extends Event{#o;constructor(e,t={}){s.argumentLengthCheck(arguments,1,{header:"CloseEvent constructor"});e=s.converters.DOMString(e);t=s.converters.CloseEventInit(t);super(e,t);this.#o=t}get wasClean(){s.brandCheck(this,CloseEvent);return this.#o.wasClean}get code(){s.brandCheck(this,CloseEvent);return this.#o.code}get reason(){s.brandCheck(this,CloseEvent);return this.#o.reason}}class ErrorEvent extends Event{#o;constructor(e,t){s.argumentLengthCheck(arguments,1,{header:"ErrorEvent constructor"});super(e,t);e=s.converters.DOMString(e);t=s.converters.ErrorEventInit(t??{});this.#o=t}get message(){s.brandCheck(this,ErrorEvent);return this.#o.message}get filename(){s.brandCheck(this,ErrorEvent);return this.#o.filename}get lineno(){s.brandCheck(this,ErrorEvent);return this.#o.lineno}get colno(){s.brandCheck(this,ErrorEvent);return this.#o.colno}get error(){s.brandCheck(this,ErrorEvent);return this.#o.error}}Object.defineProperties(MessageEvent.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:true},data:n,origin:n,lastEventId:n,source:n,ports:n,initMessageEvent:n});Object.defineProperties(CloseEvent.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:true},reason:n,code:n,wasClean:n});Object.defineProperties(ErrorEvent.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:true},message:n,filename:n,lineno:n,colno:n,error:n});s.converters.MessagePort=s.interfaceConverter(o);s.converters["sequence"]=s.sequenceConverter(s.converters.MessagePort);const i=[{key:"bubbles",converter:s.converters.boolean,defaultValue:false},{key:"cancelable",converter:s.converters.boolean,defaultValue:false},{key:"composed",converter:s.converters.boolean,defaultValue:false}];s.converters.MessageEventInit=s.dictionaryConverter([...i,{key:"data",converter:s.converters.any,defaultValue:null},{key:"origin",converter:s.converters.USVString,defaultValue:""},{key:"lastEventId",converter:s.converters.DOMString,defaultValue:""},{key:"source",converter:s.nullableConverter(s.converters.MessagePort),defaultValue:null},{key:"ports",converter:s.converters["sequence"],get defaultValue(){return[]}}]);s.converters.CloseEventInit=s.dictionaryConverter([...i,{key:"wasClean",converter:s.converters.boolean,defaultValue:false},{key:"code",converter:s.converters["unsigned short"],defaultValue:0},{key:"reason",converter:s.converters.USVString,defaultValue:""}]);s.converters.ErrorEventInit=s.dictionaryConverter([...i,{key:"message",converter:s.converters.DOMString,defaultValue:""},{key:"filename",converter:s.converters.USVString,defaultValue:""},{key:"lineno",converter:s.converters["unsigned long"],defaultValue:0},{key:"colno",converter:s.converters["unsigned long"],defaultValue:0},{key:"error",converter:s.converters.any}]);e.exports={MessageEvent:MessageEvent,CloseEvent:CloseEvent,ErrorEvent:ErrorEvent}},6771:(e,t,r)=>{"use strict";const{maxUnsigned16Bit:s}=r(6487);let n;try{n=r(6113)}catch{}class WebsocketFrameSend{constructor(e){this.frameData=e;this.maskKey=n.randomBytes(4)}createFrame(e){const t=this.frameData?.byteLength??0;let r=t;let n=6;if(t>s){n+=8;r=127}else if(t>125){n+=2;r=126}const o=Buffer.allocUnsafe(t+n);o[0]=o[1]=0;o[0]|=128;o[0]=(o[0]&240)+e; -/*! ws. MIT License. Einar Otto Stangvik */o[n-4]=this.maskKey[0];o[n-3]=this.maskKey[1];o[n-2]=this.maskKey[2];o[n-1]=this.maskKey[3];o[1]=r;if(r===126){o.writeUInt16BE(t,2)}else if(r===127){o[2]=o[3]=0;o.writeUIntBE(t,4,6)}o[1]|=128;for(let e=0;e{"use strict";const{Writable:s}=r(2781);const n=r(7643);const{parserStates:o,opcodes:i,states:a,emptyBuffer:A}=r(6487);const{kReadyState:c,kSentClose:l,kResponse:u,kReceivedClose:p}=r(7380);const{isValidStatusCode:d,failWebsocketConnection:g,websocketMessageReceived:h}=r(5714);const{WebsocketFrameSend:m}=r(6771);const E={};E.ping=n.channel("undici:websocket:ping");E.pong=n.channel("undici:websocket:pong");class ByteParser extends s{#i=[];#a=0;#A=o.INFO;#c={};#l=[];constructor(e){super();this.ws=e}_write(e,t,r){this.#i.push(e);this.#a+=e.length;this.run(r)}run(e){while(true){if(this.#A===o.INFO){if(this.#a<2){return e()}const t=this.consume(2);this.#c.fin=(t[0]&128)!==0;this.#c.opcode=t[0]&15;this.#c.originalOpcode??=this.#c.opcode;this.#c.fragmented=!this.#c.fin&&this.#c.opcode!==i.CONTINUATION;if(this.#c.fragmented&&this.#c.opcode!==i.BINARY&&this.#c.opcode!==i.TEXT){g(this.ws,"Invalid frame type was fragmented.");return}const r=t[1]&127;if(r<=125){this.#c.payloadLength=r;this.#A=o.READ_DATA}else if(r===126){this.#A=o.PAYLOADLENGTH_16}else if(r===127){this.#A=o.PAYLOADLENGTH_64}if(this.#c.fragmented&&r>125){g(this.ws,"Fragmented frame exceeded 125 bytes.");return}else if((this.#c.opcode===i.PING||this.#c.opcode===i.PONG||this.#c.opcode===i.CLOSE)&&r>125){g(this.ws,"Payload length for control frame exceeded 125 bytes.");return}else if(this.#c.opcode===i.CLOSE){if(r===1){g(this.ws,"Received close frame with a 1-byte body.");return}const e=this.consume(r);this.#c.closeInfo=this.parseCloseBody(false,e);if(!this.ws[l]){const e=Buffer.allocUnsafe(2);e.writeUInt16BE(this.#c.closeInfo.code,0);const t=new m(e);this.ws[u].socket.write(t.createFrame(i.CLOSE),(e=>{if(!e){this.ws[l]=true}}))}this.ws[c]=a.CLOSING;this.ws[p]=true;this.end();return}else if(this.#c.opcode===i.PING){const t=this.consume(r);if(!this.ws[p]){const e=new m(t);this.ws[u].socket.write(e.createFrame(i.PONG));if(E.ping.hasSubscribers){E.ping.publish({payload:t})}}this.#A=o.INFO;if(this.#a>0){continue}else{e();return}}else if(this.#c.opcode===i.PONG){const t=this.consume(r);if(E.pong.hasSubscribers){E.pong.publish({payload:t})}if(this.#a>0){continue}else{e();return}}}else if(this.#A===o.PAYLOADLENGTH_16){if(this.#a<2){return e()}const t=this.consume(2);this.#c.payloadLength=t.readUInt16BE(0);this.#A=o.READ_DATA}else if(this.#A===o.PAYLOADLENGTH_64){if(this.#a<8){return e()}const t=this.consume(8);const r=t.readUInt32BE(0);if(r>2**31-1){g(this.ws,"Received payload length > 2^31 bytes.");return}const s=t.readUInt32BE(4);this.#c.payloadLength=(r<<8)+s;this.#A=o.READ_DATA}else if(this.#A===o.READ_DATA){if(this.#a=this.#c.payloadLength){const e=this.consume(this.#c.payloadLength);this.#l.push(e);if(!this.#c.fragmented||this.#c.fin&&this.#c.opcode===i.CONTINUATION){const e=Buffer.concat(this.#l);h(this.ws,this.#c.originalOpcode,e);this.#c={};this.#l.length=0}this.#A=o.INFO}}if(this.#a>0){continue}else{e();break}}}consume(e){if(e>this.#a){return null}else if(e===0){return A}if(this.#i[0].length===e){this.#a-=this.#i[0].length;return this.#i.shift()}const t=Buffer.allocUnsafe(e);let r=0;while(r!==e){const s=this.#i[0];const{length:n}=s;if(n+r===e){t.set(this.#i.shift(),r);break}else if(n+r>e){t.set(s.subarray(0,e-r),r);this.#i[0]=s.subarray(e-r);break}else{t.set(this.#i.shift(),r);r+=s.length}}this.#a-=e;return t}parseCloseBody(e,t){let r;if(t.length>=2){r=t.readUInt16BE(0)}if(e){if(!d(r)){return null}return{code:r}}let s=t.subarray(2);if(s[0]===239&&s[1]===187&&s[2]===191){s=s.subarray(3)}if(r!==undefined&&!d(r)){return null}try{s=new TextDecoder("utf-8",{fatal:true}).decode(s)}catch{return null}return{code:r,reason:s}}get closingInfo(){return this.#c.closeInfo}}e.exports={ByteParser:ByteParser}},7380:e=>{"use strict";e.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}},5714:(e,t,r)=>{"use strict";const{kReadyState:s,kController:n,kResponse:o,kBinaryType:i,kWebSocketURL:a}=r(7380);const{states:A,opcodes:c}=r(6487);const{MessageEvent:l,ErrorEvent:u}=r(1879);function isEstablished(e){return e[s]===A.OPEN}function isClosing(e){return e[s]===A.CLOSING}function isClosed(e){return e[s]===A.CLOSED}function fireEvent(e,t,r=Event,s){const n=new r(e,s);t.dispatchEvent(n)}function websocketMessageReceived(e,t,r){if(e[s]!==A.OPEN){return}let n;if(t===c.TEXT){try{n=new TextDecoder("utf-8",{fatal:true}).decode(r)}catch{failWebsocketConnection(e,"Received invalid UTF-8 in text frame.");return}}else if(t===c.BINARY){if(e[i]==="blob"){n=new Blob([r])}else{n=new Uint8Array(r).buffer}}fireEvent("message",e,l,{origin:e[a].origin,data:n})}function isValidSubprotocol(e){if(e.length===0){return false}for(const t of e){const e=t.charCodeAt(0);if(e<33||e>126||t==="("||t===")"||t==="<"||t===">"||t==="@"||t===","||t===";"||t===":"||t==="\\"||t==='"'||t==="/"||t==="["||t==="]"||t==="?"||t==="="||t==="{"||t==="}"||e===32||e===9){return false}}return true}function isValidStatusCode(e){if(e>=1e3&&e<1015){return e!==1004&&e!==1005&&e!==1006}return e>=3e3&&e<=4999}function failWebsocketConnection(e,t){const{[n]:r,[o]:s}=e;r.abort();if(s?.socket&&!s.socket.destroyed){s.socket.destroy()}if(t){fireEvent("error",e,u,{error:new Error(t)})}}e.exports={isEstablished:isEstablished,isClosing:isClosing,isClosed:isClosed,fireEvent:fireEvent,isValidSubprotocol:isValidSubprotocol,isValidStatusCode:isValidStatusCode,failWebsocketConnection:failWebsocketConnection,websocketMessageReceived:websocketMessageReceived}},1986:(e,t,r)=>{"use strict";const{webidl:s}=r(9111);const{DOMException:n}=r(7533);const{URLSerializer:o}=r(5958);const{getGlobalOrigin:i}=r(7011);const{staticPropertyDescriptors:a,states:A,opcodes:c,emptyBuffer:l}=r(6487);const{kWebSocketURL:u,kReadyState:p,kController:d,kBinaryType:g,kResponse:h,kSentClose:m,kByteParser:E}=r(7380);const{isEstablished:C,isClosing:I,isValidSubprotocol:B,failWebsocketConnection:Q,fireEvent:b}=r(5714);const{establishWebSocketConnection:y}=r(250);const{WebsocketFrameSend:v}=r(6771);const{ByteParser:w}=r(5379);const{kEnumerableProperty:x,isBlobLike:k}=r(7497);const{getGlobalDispatcher:R}=r(2899);const{types:S}=r(3837);let D=false;class WebSocket extends EventTarget{#u={open:null,error:null,close:null,message:null};#p=0;#d="";#g="";constructor(e,t=[]){super();s.argumentLengthCheck(arguments,1,{header:"WebSocket constructor"});if(!D){D=true;process.emitWarning("WebSockets are experimental, expect them to change at any time.",{code:"UNDICI-WS"})}const r=s.converters["DOMString or sequence or WebSocketInit"](t);e=s.converters.USVString(e);t=r.protocols;const o=i();let a;try{a=new URL(e,o)}catch(e){throw new n(e,"SyntaxError")}if(a.protocol==="http:"){a.protocol="ws:"}else if(a.protocol==="https:"){a.protocol="wss:"}if(a.protocol!=="ws:"&&a.protocol!=="wss:"){throw new n(`Expected a ws: or wss: protocol, got ${a.protocol}`,"SyntaxError")}if(a.hash||a.href.endsWith("#")){throw new n("Got fragment","SyntaxError")}if(typeof t==="string"){t=[t]}if(t.length!==new Set(t.map((e=>e.toLowerCase()))).size){throw new n("Invalid Sec-WebSocket-Protocol value","SyntaxError")}if(t.length>0&&!t.every((e=>B(e)))){throw new n("Invalid Sec-WebSocket-Protocol value","SyntaxError")}this[u]=new URL(a.href);this[d]=y(a,t,this,(e=>this.#h(e)),r);this[p]=WebSocket.CONNECTING;this[g]="blob"}close(e=undefined,t=undefined){s.brandCheck(this,WebSocket);if(e!==undefined){e=s.converters["unsigned short"](e,{clamp:true})}if(t!==undefined){t=s.converters.USVString(t)}if(e!==undefined){if(e!==1e3&&(e<3e3||e>4999)){throw new n("invalid code","InvalidAccessError")}}let r=0;if(t!==undefined){r=Buffer.byteLength(t);if(r>123){throw new n(`Reason must be less than 123 bytes; received ${r}`,"SyntaxError")}}if(this[p]===WebSocket.CLOSING||this[p]===WebSocket.CLOSED){}else if(!C(this)){Q(this,"Connection was closed before it was established.");this[p]=WebSocket.CLOSING}else if(!I(this)){const s=new v;if(e!==undefined&&t===undefined){s.frameData=Buffer.allocUnsafe(2);s.frameData.writeUInt16BE(e,0)}else if(e!==undefined&&t!==undefined){s.frameData=Buffer.allocUnsafe(2+r);s.frameData.writeUInt16BE(e,0);s.frameData.write(t,2,"utf-8")}else{s.frameData=l}const n=this[h].socket;n.write(s.createFrame(c.CLOSE),(e=>{if(!e){this[m]=true}}));this[p]=A.CLOSING}else{this[p]=WebSocket.CLOSING}}send(e){s.brandCheck(this,WebSocket);s.argumentLengthCheck(arguments,1,{header:"WebSocket.send"});e=s.converters.WebSocketSendData(e);if(this[p]===WebSocket.CONNECTING){throw new n("Sent before connected.","InvalidStateError")}if(!C(this)||I(this)){return}const t=this[h].socket;if(typeof e==="string"){const r=Buffer.from(e);const s=new v(r);const n=s.createFrame(c.TEXT);this.#p+=r.byteLength;t.write(n,(()=>{this.#p-=r.byteLength}))}else if(S.isArrayBuffer(e)){const r=Buffer.from(e);const s=new v(r);const n=s.createFrame(c.BINARY);this.#p+=r.byteLength;t.write(n,(()=>{this.#p-=r.byteLength}))}else if(ArrayBuffer.isView(e)){const r=Buffer.from(e,e.byteOffset,e.byteLength);const s=new v(r);const n=s.createFrame(c.BINARY);this.#p+=r.byteLength;t.write(n,(()=>{this.#p-=r.byteLength}))}else if(k(e)){const r=new v;e.arrayBuffer().then((e=>{const s=Buffer.from(e);r.frameData=s;const n=r.createFrame(c.BINARY);this.#p+=s.byteLength;t.write(n,(()=>{this.#p-=s.byteLength}))}))}}get readyState(){s.brandCheck(this,WebSocket);return this[p]}get bufferedAmount(){s.brandCheck(this,WebSocket);return this.#p}get url(){s.brandCheck(this,WebSocket);return o(this[u])}get extensions(){s.brandCheck(this,WebSocket);return this.#g}get protocol(){s.brandCheck(this,WebSocket);return this.#d}get onopen(){s.brandCheck(this,WebSocket);return this.#u.open}set onopen(e){s.brandCheck(this,WebSocket);if(this.#u.open){this.removeEventListener("open",this.#u.open)}if(typeof e==="function"){this.#u.open=e;this.addEventListener("open",e)}else{this.#u.open=null}}get onerror(){s.brandCheck(this,WebSocket);return this.#u.error}set onerror(e){s.brandCheck(this,WebSocket);if(this.#u.error){this.removeEventListener("error",this.#u.error)}if(typeof e==="function"){this.#u.error=e;this.addEventListener("error",e)}else{this.#u.error=null}}get onclose(){s.brandCheck(this,WebSocket);return this.#u.close}set onclose(e){s.brandCheck(this,WebSocket);if(this.#u.close){this.removeEventListener("close",this.#u.close)}if(typeof e==="function"){this.#u.close=e;this.addEventListener("close",e)}else{this.#u.close=null}}get onmessage(){s.brandCheck(this,WebSocket);return this.#u.message}set onmessage(e){s.brandCheck(this,WebSocket);if(this.#u.message){this.removeEventListener("message",this.#u.message)}if(typeof e==="function"){this.#u.message=e;this.addEventListener("message",e)}else{this.#u.message=null}}get binaryType(){s.brandCheck(this,WebSocket);return this[g]}set binaryType(e){s.brandCheck(this,WebSocket);if(e!=="blob"&&e!=="arraybuffer"){this[g]="blob"}else{this[g]=e}}#h(e){this[h]=e;const t=new w(this);t.on("drain",(function onParserDrain(){this.ws[h].socket.resume()}));e.socket.ws=this;this[E]=t;this[p]=A.OPEN;const r=e.headersList.get("sec-websocket-extensions");if(r!==null){this.#g=r}const s=e.headersList.get("sec-websocket-protocol");if(s!==null){this.#d=s}b("open",this)}}WebSocket.CONNECTING=WebSocket.prototype.CONNECTING=A.CONNECTING;WebSocket.OPEN=WebSocket.prototype.OPEN=A.OPEN;WebSocket.CLOSING=WebSocket.prototype.CLOSING=A.CLOSING;WebSocket.CLOSED=WebSocket.prototype.CLOSED=A.CLOSED;Object.defineProperties(WebSocket.prototype,{CONNECTING:a,OPEN:a,CLOSING:a,CLOSED:a,url:x,readyState:x,bufferedAmount:x,onopen:x,onerror:x,onclose:x,close:x,onmessage:x,binaryType:x,send:x,extensions:x,protocol:x,[Symbol.toStringTag]:{value:"WebSocket",writable:false,enumerable:false,configurable:true}});Object.defineProperties(WebSocket,{CONNECTING:a,OPEN:a,CLOSING:a,CLOSED:a});s.converters["sequence"]=s.sequenceConverter(s.converters.DOMString);s.converters["DOMString or sequence"]=function(e){if(s.util.Type(e)==="Object"&&Symbol.iterator in e){return s.converters["sequence"](e)}return s.converters.DOMString(e)};s.converters.WebSocketInit=s.dictionaryConverter([{key:"protocols",converter:s.converters["DOMString or sequence"],get defaultValue(){return[]}},{key:"dispatcher",converter:e=>e,get defaultValue(){return R()}},{key:"headers",converter:s.nullableConverter(s.converters.HeadersInit)}]);s.converters["DOMString or sequence or WebSocketInit"]=function(e){if(s.util.Type(e)==="Object"&&!(Symbol.iterator in e)){return s.converters.WebSocketInit(e)}return{protocols:s.converters["DOMString or sequence"](e)}};s.converters.WebSocketSendData=function(e){if(s.util.Type(e)==="Object"){if(k(e)){return s.converters.Blob(e,{strict:false})}if(ArrayBuffer.isView(e)||S.isAnyArrayBuffer(e)){return s.converters.BufferSource(e)}}return s.converters.USVString(e)};e.exports={WebSocket:WebSocket}},5938:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&"version"in process){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}t.getUserAgent=getUserAgent},3872:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});Object.defineProperty(t,"v1",{enumerable:true,get:function(){return s.default}});Object.defineProperty(t,"v3",{enumerable:true,get:function(){return n.default}});Object.defineProperty(t,"v4",{enumerable:true,get:function(){return o.default}});Object.defineProperty(t,"v5",{enumerable:true,get:function(){return i.default}});Object.defineProperty(t,"NIL",{enumerable:true,get:function(){return a.default}});Object.defineProperty(t,"version",{enumerable:true,get:function(){return A.default}});Object.defineProperty(t,"validate",{enumerable:true,get:function(){return c.default}});Object.defineProperty(t,"stringify",{enumerable:true,get:function(){return l.default}});Object.defineProperty(t,"parse",{enumerable:true,get:function(){return u.default}});var s=_interopRequireDefault(r(5596));var n=_interopRequireDefault(r(2427));var o=_interopRequireDefault(r(6007));var i=_interopRequireDefault(r(398));var a=_interopRequireDefault(r(1623));var A=_interopRequireDefault(r(8818));var c=_interopRequireDefault(r(7178));var l=_interopRequireDefault(r(7016));var u=_interopRequireDefault(r(1158));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},3828:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(r(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return s.default.createHash("md5").update(e).digest()}var n=md5;t["default"]=n},1623:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r="00000000-0000-0000-0000-000000000000";t["default"]=r},1158:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(r(7178));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,s.default)(e)){throw TypeError("Invalid UUID")}let t;const r=new Uint8Array(16);r[0]=(t=parseInt(e.slice(0,8),16))>>>24;r[1]=t>>>16&255;r[2]=t>>>8&255;r[3]=t&255;r[4]=(t=parseInt(e.slice(9,13),16))>>>8;r[5]=t&255;r[6]=(t=parseInt(e.slice(14,18),16))>>>8;r[7]=t&255;r[8]=(t=parseInt(e.slice(19,23),16))>>>8;r[9]=t&255;r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255;r[11]=t/4294967296&255;r[12]=t>>>24&255;r[13]=t>>>16&255;r[14]=t>>>8&255;r[15]=t&255;return r}var n=parse;t["default"]=n},3607:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;t["default"]=r},1260:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=rng;var s=_interopRequireDefault(r(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const n=new Uint8Array(256);let o=n.length;function rng(){if(o>n.length-16){s.default.randomFillSync(n);o=0}return n.slice(o,o+=16)}},7615:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(r(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return s.default.createHash("sha1").update(e).digest()}var n=sha1;t["default"]=n},7016:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(r(7178));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const n=[];for(let e=0;e<256;++e){n.push((e+256).toString(16).substr(1))}function stringify(e,t=0){const r=(n[e[t+0]]+n[e[t+1]]+n[e[t+2]]+n[e[t+3]]+"-"+n[e[t+4]]+n[e[t+5]]+"-"+n[e[t+6]]+n[e[t+7]]+"-"+n[e[t+8]]+n[e[t+9]]+"-"+n[e[t+10]]+n[e[t+11]]+n[e[t+12]]+n[e[t+13]]+n[e[t+14]]+n[e[t+15]]).toLowerCase();if(!(0,s.default)(r)){throw TypeError("Stringified UUID is invalid")}return r}var o=stringify;t["default"]=o},5596:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(r(1260));var n=_interopRequireDefault(r(7016));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let o;let i;let a=0;let A=0;function v1(e,t,r){let c=t&&r||0;const l=t||new Array(16);e=e||{};let u=e.node||o;let p=e.clockseq!==undefined?e.clockseq:i;if(u==null||p==null){const t=e.random||(e.rng||s.default)();if(u==null){u=o=[t[0]|1,t[1],t[2],t[3],t[4],t[5]]}if(p==null){p=i=(t[6]<<8|t[7])&16383}}let d=e.msecs!==undefined?e.msecs:Date.now();let g=e.nsecs!==undefined?e.nsecs:A+1;const h=d-a+(g-A)/1e4;if(h<0&&e.clockseq===undefined){p=p+1&16383}if((h<0||d>a)&&e.nsecs===undefined){g=0}if(g>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}a=d;A=g;i=p;d+=122192928e5;const m=((d&268435455)*1e4+g)%4294967296;l[c++]=m>>>24&255;l[c++]=m>>>16&255;l[c++]=m>>>8&255;l[c++]=m&255;const E=d/4294967296*1e4&268435455;l[c++]=E>>>8&255;l[c++]=E&255;l[c++]=E>>>24&15|16;l[c++]=E>>>16&255;l[c++]=p>>>8|128;l[c++]=p&255;for(let e=0;e<6;++e){l[c+e]=u[e]}return t||(0,n.default)(l)}var c=v1;t["default"]=c},2427:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(r(6901));var n=_interopRequireDefault(r(3828));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o=(0,s.default)("v3",48,n.default);var i=o;t["default"]=i},6901:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=_default;t.URL=t.DNS=void 0;var s=_interopRequireDefault(r(7016));var n=_interopRequireDefault(r(1158));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const t=[];for(let r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(r(1260));var n=_interopRequireDefault(r(7016));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,t,r){e=e||{};const o=e.random||(e.rng||s.default)();o[6]=o[6]&15|64;o[8]=o[8]&63|128;if(t){r=r||0;for(let e=0;e<16;++e){t[r+e]=o[e]}return t}return(0,n.default)(o)}var o=v4;t["default"]=o},398:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(r(6901));var n=_interopRequireDefault(r(7615));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o=(0,s.default)("v5",80,n.default);var i=o;t["default"]=i},7178:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(r(3607));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&s.default.test(e)}var n=validate;t["default"]=n},8818:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(r(7178));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,s.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var n=version;t["default"]=n},7212:e=>{e.exports=wrappy;function wrappy(e,t){if(e&&t)return wrappy(e)(t);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(t){wrapper[t]=e[t]}));return wrapper;function wrapper(){var t=new Array(arguments.length);for(var r=0;r{module.exports=eval("require")("supports-color")},9491:e=>{"use strict";e.exports=require("assert")},852:e=>{"use strict";e.exports=require("async_hooks")},4300:e=>{"use strict";e.exports=require("buffer")},2081:e=>{"use strict";e.exports=require("child_process")},6206:e=>{"use strict";e.exports=require("console")},6113:e=>{"use strict";e.exports=require("crypto")},7643:e=>{"use strict";e.exports=require("diagnostics_channel")},9820:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3685:e=>{"use strict";e.exports=require("http")},5158:e=>{"use strict";e.exports=require("http2")},5687:e=>{"use strict";e.exports=require("https")},1808:e=>{"use strict";e.exports=require("net")},5673:e=>{"use strict";e.exports=require("node:events")},4492:e=>{"use strict";e.exports=require("node:stream")},7261:e=>{"use strict";e.exports=require("node:util")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},4074:e=>{"use strict";e.exports=require("perf_hooks")},3477:e=>{"use strict";e.exports=require("querystring")},2781:e=>{"use strict";e.exports=require("stream")},5356:e=>{"use strict";e.exports=require("stream/web")},1576:e=>{"use strict";e.exports=require("string_decoder")},9512:e=>{"use strict";e.exports=require("timers")},4404:e=>{"use strict";e.exports=require("tls")},6224:e=>{"use strict";e.exports=require("tty")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9830:e=>{"use strict";e.exports=require("util/types")},1267:e=>{"use strict";e.exports=require("worker_threads")},9796:e=>{"use strict";e.exports=require("zlib")},1089:(e,t,r)=>{"use strict";const s=r(4492).Writable;const n=r(7261).inherits;const o=r(9306);const i=r(5575);const a=r(2010);const A=45;const c=Buffer.from("-");const l=Buffer.from("\r\n");const EMPTY_FN=function(){};function Dicer(e){if(!(this instanceof Dicer)){return new Dicer(e)}s.call(this,e);if(!e||!e.headerFirst&&typeof e.boundary!=="string"){throw new TypeError("Boundary required")}if(typeof e.boundary==="string"){this.setBoundary(e.boundary)}else{this._bparser=undefined}this._headerFirst=e.headerFirst;this._dashes=0;this._parts=0;this._finished=false;this._realFinish=false;this._isPreamble=true;this._justMatched=false;this._firstWrite=true;this._inHeader=true;this._part=undefined;this._cb=undefined;this._ignoreData=false;this._partOpts={highWaterMark:e.partHwm};this._pause=false;const t=this;this._hparser=new a(e);this._hparser.on("header",(function(e){t._inHeader=false;t._part.emit("header",e)}))}n(Dicer,s);Dicer.prototype.emit=function(e){if(e==="finish"&&!this._realFinish){if(!this._finished){const e=this;process.nextTick((function(){e.emit("error",new Error("Unexpected end of multipart data"));if(e._part&&!e._ignoreData){const t=e._isPreamble?"Preamble":"Part";e._part.emit("error",new Error(t+" terminated early due to unexpected end of multipart data"));e._part.push(null);process.nextTick((function(){e._realFinish=true;e.emit("finish");e._realFinish=false}));return}e._realFinish=true;e.emit("finish");e._realFinish=false}))}}else{s.prototype.emit.apply(this,arguments)}};Dicer.prototype._write=function(e,t,r){if(!this._hparser&&!this._bparser){return r()}if(this._headerFirst&&this._isPreamble){if(!this._part){this._part=new i(this._partOpts);if(this._events.preamble){this.emit("preamble",this._part)}else{this._ignore()}}const t=this._hparser.push(e);if(!this._inHeader&&t!==undefined&&t{"use strict";const s=r(5673).EventEmitter;const n=r(7261).inherits;const o=r(7845);const i=r(9306);const a=Buffer.from("\r\n\r\n");const A=/\r\n/g;const c=/^([^:]+):[ \t]?([\x00-\xFF]+)?$/;function HeaderParser(e){s.call(this);e=e||{};const t=this;this.nread=0;this.maxed=false;this.npairs=0;this.maxHeaderPairs=o(e,"maxHeaderPairs",2e3);this.maxHeaderSize=o(e,"maxHeaderSize",80*1024);this.buffer="";this.header={};this.finished=false;this.ss=new i(a);this.ss.on("info",(function(e,r,s,n){if(r&&!t.maxed){if(t.nread+n-s>=t.maxHeaderSize){n=t.maxHeaderSize-t.nread+s;t.nread=t.maxHeaderSize;t.maxed=true}else{t.nread+=n-s}t.buffer+=r.toString("binary",s,n)}if(e){t._finish()}}))}n(HeaderParser,s);HeaderParser.prototype.push=function(e){const t=this.ss.push(e);if(this.finished){return t}};HeaderParser.prototype.reset=function(){this.finished=false;this.buffer="";this.header={};this.ss.reset()};HeaderParser.prototype._finish=function(){if(this.buffer){this._parseHeader()}this.ss.matches=this.ss.maxMatches;const e=this.header;this.header={};this.buffer="";this.finished=true;this.nread=this.npairs=0;this.maxed=false;this.emit("header",e)};HeaderParser.prototype._parseHeader=function(){if(this.npairs===this.maxHeaderPairs){return}const e=this.buffer.split(A);const t=e.length;let r,s;for(var n=0;n{"use strict";const s=r(7261).inherits;const n=r(4492).Readable;function PartStream(e){n.call(this,e)}s(PartStream,n);PartStream.prototype._read=function(e){};e.exports=PartStream},9306:(e,t,r)=>{"use strict";const s=r(5673).EventEmitter;const n=r(7261).inherits;function SBMH(e){if(typeof e==="string"){e=Buffer.from(e)}if(!Buffer.isBuffer(e)){throw new TypeError("The needle has to be a String or a Buffer.")}const t=e.length;if(t===0){throw new Error("The needle cannot be an empty String/Buffer.")}if(t>256){throw new Error("The needle cannot have a length bigger than 256.")}this.maxMatches=Infinity;this.matches=0;this._occ=new Array(256).fill(t);this._lookbehind_size=0;this._needle=e;this._bufpos=0;this._lookbehind=Buffer.alloc(t);for(var r=0;r=0){this.emit("info",false,this._lookbehind,0,this._lookbehind_size);this._lookbehind_size=0}else{const r=this._lookbehind_size+o;if(r>0){this.emit("info",false,this._lookbehind,0,r)}this._lookbehind.copy(this._lookbehind,0,r,this._lookbehind_size-r);this._lookbehind_size-=r;e.copy(this._lookbehind,this._lookbehind_size);this._lookbehind_size+=t;this._bufpos=t;return t}}o+=(o>=0)*this._bufpos;if(e.indexOf(r,o)!==-1){o=e.indexOf(r,o);++this.matches;if(o>0){this.emit("info",true,e,this._bufpos,o)}else{this.emit("info",true)}return this._bufpos=o+s}else{o=t-s}while(o0){this.emit("info",false,e,this._bufpos,o{"use strict";const s=r(4492).Writable;const{inherits:n}=r(7261);const o=r(1089);const i=r(6541);const a=r(9933);const A=r(8696);function Busboy(e){if(!(this instanceof Busboy)){return new Busboy(e)}if(typeof e!=="object"){throw new TypeError("Busboy expected an options-Object.")}if(typeof e.headers!=="object"){throw new TypeError("Busboy expected an options-Object with headers-attribute.")}if(typeof e.headers["content-type"]!=="string"){throw new TypeError("Missing Content-Type-header.")}const{headers:t,...r}=e;this.opts={autoDestroy:false,...r};s.call(this,this.opts);this._done=false;this._parser=this.getParserByHeaders(t);this._finished=false}n(Busboy,s);Busboy.prototype.emit=function(e){if(e==="finish"){if(!this._done){this._parser?.end();return}else if(this._finished){return}this._finished=true}s.prototype.emit.apply(this,arguments)};Busboy.prototype.getParserByHeaders=function(e){const t=A(e["content-type"]);const r={defCharset:this.opts.defCharset,fileHwm:this.opts.fileHwm,headers:e,highWaterMark:this.opts.highWaterMark,isPartAFile:this.opts.isPartAFile,limits:this.opts.limits,parsedConType:t,preservePath:this.opts.preservePath};if(i.detect.test(t[0])){return new i(this,r)}if(a.detect.test(t[0])){return new a(this,r)}throw new Error("Unsupported Content-Type.")};Busboy.prototype._write=function(e,t,r){this._parser.write(e,r)};e.exports=Busboy;e.exports["default"]=Busboy;e.exports.Busboy=Busboy;e.exports.Dicer=o},6541:(e,t,r)=>{"use strict";const{Readable:s}=r(4492);const{inherits:n}=r(7261);const o=r(1089);const i=r(8696);const a=r(9999);const A=r(1602);const c=r(7845);const l=/^boundary$/i;const u=/^form-data$/i;const p=/^charset$/i;const d=/^filename$/i;const g=/^name$/i;Multipart.detect=/^multipart\/form-data/i;function Multipart(e,t){let r;let s;const n=this;let h;const m=t.limits;const E=t.isPartAFile||((e,t,r)=>t==="application/octet-stream"||r!==undefined);const C=t.parsedConType||[];const I=t.defCharset||"utf8";const B=t.preservePath;const Q={highWaterMark:t.fileHwm};for(r=0,s=C.length;rx){n.parser.removeListener("part",onPart);n.parser.on("part",skipPart);e.hitPartsLimit=true;e.emit("partsLimit");return skipPart(t)}if(F){const e=F;e.emit("end");e.removeAllListeners("end")}t.on("header",(function(o){let c;let l;let h;let m;let C;let x;let k=0;if(o["content-type"]){h=i(o["content-type"][0]);if(h[0]){c=h[0].toLowerCase();for(r=0,s=h.length;ry){const s=y-k+e.length;if(s>0){r.push(e.slice(0,s))}r.truncated=true;r.bytesRead=y;t.removeAllListeners("data");r.emit("limit");return}else if(!r.push(e)){n._pause=true}r.bytesRead=k};N=function(){_=undefined;r.push(null)}}else{if(D===w){if(!e.hitFieldsLimit){e.hitFieldsLimit=true;e.emit("fieldsLimit")}return skipPart(t)}++D;++T;let r="";let s=false;F=t;R=function(e){if((k+=e.length)>b){const n=b-(k-e.length);r+=e.toString("binary",0,n);s=true;t.removeAllListeners("data")}else{r+=e.toString("binary")}};N=function(){F=undefined;if(r.length){r=a(r,"binary",m)}e.emit("field",l,r,false,s,C,c);--T;checkFinished()}}t._readableState.sync=false;t.on("data",R);t.on("end",N)})).on("error",(function(e){if(_){_.emit("error",e)}}))})).on("error",(function(t){e.emit("error",t)})).on("finish",(function(){N=true;checkFinished()}))}Multipart.prototype.write=function(e,t){const r=this.parser.write(e);if(r&&!this._pause){t()}else{this._needDrain=!r;this._cb=t}};Multipart.prototype.end=function(){const e=this;if(e.parser.writable){e.parser.end()}else if(!e._boy._done){process.nextTick((function(){e._boy._done=true;e._boy.emit("finish")}))}};function skipPart(e){e.resume()}function FileStream(e){s.call(this,e);this.bytesRead=0;this.truncated=false}n(FileStream,s);FileStream.prototype._read=function(e){};e.exports=Multipart},9933:(e,t,r)=>{"use strict";const s=r(2017);const n=r(9999);const o=r(7845);const i=/^charset$/i;UrlEncoded.detect=/^application\/x-www-form-urlencoded/i;function UrlEncoded(e,t){const r=t.limits;const n=t.parsedConType;this.boy=e;this.fieldSizeLimit=o(r,"fieldSize",1*1024*1024);this.fieldNameSizeLimit=o(r,"fieldNameSize",100);this.fieldsLimit=o(r,"fields",Infinity);let a;for(var A=0,c=n.length;Ai){this._key+=this.decoder.write(e.toString("binary",i,r))}this._state="val";this._hitLimit=false;this._checkingBytes=true;this._val="";this._bytesVal=0;this._valTrunc=false;this.decoder.reset();i=r+1}else if(s!==undefined){++this._fields;let r;const o=this._keyTrunc;if(s>i){r=this._key+=this.decoder.write(e.toString("binary",i,s))}else{r=this._key}this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();if(r.length){this.boy.emit("field",n(r,"binary",this.charset),"",o,false)}i=s+1;if(this._fields===this.fieldsLimit){return t()}}else if(this._hitLimit){if(o>i){this._key+=this.decoder.write(e.toString("binary",i,o))}i=o;if((this._bytesKey=this._key.length)===this.fieldNameSizeLimit){this._checkingBytes=false;this._keyTrunc=true}}else{if(ii){this._val+=this.decoder.write(e.toString("binary",i,s))}this.boy.emit("field",n(this._key,"binary",this.charset),n(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc);this._state="key";this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();i=s+1;if(this._fields===this.fieldsLimit){return t()}}else if(this._hitLimit){if(o>i){this._val+=this.decoder.write(e.toString("binary",i,o))}i=o;if(this._val===""&&this.fieldSizeLimit===0||(this._bytesVal=this._val.length)===this.fieldSizeLimit){this._checkingBytes=false;this._valTrunc=true}}else{if(i0){this.boy.emit("field",n(this._key,"binary",this.charset),"",this._keyTrunc,false)}else if(this._state==="val"){this.boy.emit("field",n(this._key,"binary",this.charset),n(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc)}this.boy._done=true;this.boy.emit("finish")};e.exports=UrlEncoded},2017:e=>{"use strict";const t=/\+/g;const r=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];function Decoder(){this.buffer=undefined}Decoder.prototype.write=function(e){e=e.replace(t," ");let s="";let n=0;let o=0;const i=e.length;for(;no){s+=e.substring(o,n);o=n}this.buffer="";++o}}if(o{"use strict";e.exports=function basename(e){if(typeof e!=="string"){return""}for(var t=e.length-1;t>=0;--t){switch(e.charCodeAt(t)){case 47:case 92:e=e.slice(t+1);return e===".."||e==="."?"":e}}return e===".."||e==="."?"":e}},9999:function(e){"use strict";const t=new TextDecoder("utf-8");const r=new Map([["utf-8",t],["utf8",t]]);function getDecoder(e){let t;while(true){switch(e){case"utf-8":case"utf8":return s.utf8;case"latin1":case"ascii":case"us-ascii":case"iso-8859-1":case"iso8859-1":case"iso88591":case"iso_8859-1":case"windows-1252":case"iso_8859-1:1987":case"cp1252":case"x-cp1252":return s.latin1;case"utf16le":case"utf-16le":case"ucs2":case"ucs-2":return s.utf16le;case"base64":return s.base64;default:if(t===undefined){t=true;e=e.toLowerCase();continue}return s.other.bind(e)}}}const s={utf8:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.utf8Slice(0,e.length)},latin1:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){return e}return e.latin1Slice(0,e.length)},utf16le:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.ucs2Slice(0,e.length)},base64:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.base64Slice(0,e.length)},other:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}if(r.has(this.toString())){try{return r.get(this).decode(e)}catch(e){}}return typeof e==="string"?e:e.toString()}};function decodeText(e,t,r){if(e){return getDecoder(r)(e,t)}return e}e.exports=decodeText},7845:e=>{"use strict";e.exports=function getLimit(e,t,r){if(!e||e[t]===undefined||e[t]===null){return r}if(typeof e[t]!=="number"||isNaN(e[t])){throw new TypeError("Limit "+t+" is not a valid number")}return e[t]}},8696:(e,t,r)=>{"use strict";const s=r(9999);const n=/%[a-fA-F0-9][a-fA-F0-9]/g;const o={"%00":"\0","%01":"","%02":"","%03":"","%04":"","%05":"","%06":"","%07":"","%08":"\b","%09":"\t","%0a":"\n","%0A":"\n","%0b":"\v","%0B":"\v","%0c":"\f","%0C":"\f","%0d":"\r","%0D":"\r","%0e":"","%0E":"","%0f":"","%0F":"","%10":"","%11":"","%12":"","%13":"","%14":"","%15":"","%16":"","%17":"","%18":"","%19":"","%1a":"","%1A":"","%1b":"","%1B":"","%1c":"","%1C":"","%1d":"","%1D":"","%1e":"","%1E":"","%1f":"","%1F":"","%20":" ","%21":"!","%22":'"',"%23":"#","%24":"$","%25":"%","%26":"&","%27":"'","%28":"(","%29":")","%2a":"*","%2A":"*","%2b":"+","%2B":"+","%2c":",","%2C":",","%2d":"-","%2D":"-","%2e":".","%2E":".","%2f":"/","%2F":"/","%30":"0","%31":"1","%32":"2","%33":"3","%34":"4","%35":"5","%36":"6","%37":"7","%38":"8","%39":"9","%3a":":","%3A":":","%3b":";","%3B":";","%3c":"<","%3C":"<","%3d":"=","%3D":"=","%3e":">","%3E":">","%3f":"?","%3F":"?","%40":"@","%41":"A","%42":"B","%43":"C","%44":"D","%45":"E","%46":"F","%47":"G","%48":"H","%49":"I","%4a":"J","%4A":"J","%4b":"K","%4B":"K","%4c":"L","%4C":"L","%4d":"M","%4D":"M","%4e":"N","%4E":"N","%4f":"O","%4F":"O","%50":"P","%51":"Q","%52":"R","%53":"S","%54":"T","%55":"U","%56":"V","%57":"W","%58":"X","%59":"Y","%5a":"Z","%5A":"Z","%5b":"[","%5B":"[","%5c":"\\","%5C":"\\","%5d":"]","%5D":"]","%5e":"^","%5E":"^","%5f":"_","%5F":"_","%60":"`","%61":"a","%62":"b","%63":"c","%64":"d","%65":"e","%66":"f","%67":"g","%68":"h","%69":"i","%6a":"j","%6A":"j","%6b":"k","%6B":"k","%6c":"l","%6C":"l","%6d":"m","%6D":"m","%6e":"n","%6E":"n","%6f":"o","%6F":"o","%70":"p","%71":"q","%72":"r","%73":"s","%74":"t","%75":"u","%76":"v","%77":"w","%78":"x","%79":"y","%7a":"z","%7A":"z","%7b":"{","%7B":"{","%7c":"|","%7C":"|","%7d":"}","%7D":"}","%7e":"~","%7E":"~","%7f":"","%7F":"","%80":"€","%81":"","%82":"‚","%83":"ƒ","%84":"„","%85":"…","%86":"†","%87":"‡","%88":"ˆ","%89":"‰","%8a":"Š","%8A":"Š","%8b":"‹","%8B":"‹","%8c":"Œ","%8C":"Œ","%8d":"","%8D":"","%8e":"Ž","%8E":"Ž","%8f":"","%8F":"","%90":"","%91":"‘","%92":"’","%93":"“","%94":"”","%95":"•","%96":"–","%97":"—","%98":"˜","%99":"™","%9a":"š","%9A":"š","%9b":"›","%9B":"›","%9c":"œ","%9C":"œ","%9d":"","%9D":"","%9e":"ž","%9E":"ž","%9f":"Ÿ","%9F":"Ÿ","%a0":" ","%A0":" ","%a1":"¡","%A1":"¡","%a2":"¢","%A2":"¢","%a3":"£","%A3":"£","%a4":"¤","%A4":"¤","%a5":"¥","%A5":"¥","%a6":"¦","%A6":"¦","%a7":"§","%A7":"§","%a8":"¨","%A8":"¨","%a9":"©","%A9":"©","%aa":"ª","%Aa":"ª","%aA":"ª","%AA":"ª","%ab":"«","%Ab":"«","%aB":"«","%AB":"«","%ac":"¬","%Ac":"¬","%aC":"¬","%AC":"¬","%ad":"­","%Ad":"­","%aD":"­","%AD":"­","%ae":"®","%Ae":"®","%aE":"®","%AE":"®","%af":"¯","%Af":"¯","%aF":"¯","%AF":"¯","%b0":"°","%B0":"°","%b1":"±","%B1":"±","%b2":"²","%B2":"²","%b3":"³","%B3":"³","%b4":"´","%B4":"´","%b5":"µ","%B5":"µ","%b6":"¶","%B6":"¶","%b7":"·","%B7":"·","%b8":"¸","%B8":"¸","%b9":"¹","%B9":"¹","%ba":"º","%Ba":"º","%bA":"º","%BA":"º","%bb":"»","%Bb":"»","%bB":"»","%BB":"»","%bc":"¼","%Bc":"¼","%bC":"¼","%BC":"¼","%bd":"½","%Bd":"½","%bD":"½","%BD":"½","%be":"¾","%Be":"¾","%bE":"¾","%BE":"¾","%bf":"¿","%Bf":"¿","%bF":"¿","%BF":"¿","%c0":"À","%C0":"À","%c1":"Á","%C1":"Á","%c2":"Â","%C2":"Â","%c3":"Ã","%C3":"Ã","%c4":"Ä","%C4":"Ä","%c5":"Å","%C5":"Å","%c6":"Æ","%C6":"Æ","%c7":"Ç","%C7":"Ç","%c8":"È","%C8":"È","%c9":"É","%C9":"É","%ca":"Ê","%Ca":"Ê","%cA":"Ê","%CA":"Ê","%cb":"Ë","%Cb":"Ë","%cB":"Ë","%CB":"Ë","%cc":"Ì","%Cc":"Ì","%cC":"Ì","%CC":"Ì","%cd":"Í","%Cd":"Í","%cD":"Í","%CD":"Í","%ce":"Î","%Ce":"Î","%cE":"Î","%CE":"Î","%cf":"Ï","%Cf":"Ï","%cF":"Ï","%CF":"Ï","%d0":"Ð","%D0":"Ð","%d1":"Ñ","%D1":"Ñ","%d2":"Ò","%D2":"Ò","%d3":"Ó","%D3":"Ó","%d4":"Ô","%D4":"Ô","%d5":"Õ","%D5":"Õ","%d6":"Ö","%D6":"Ö","%d7":"×","%D7":"×","%d8":"Ø","%D8":"Ø","%d9":"Ù","%D9":"Ù","%da":"Ú","%Da":"Ú","%dA":"Ú","%DA":"Ú","%db":"Û","%Db":"Û","%dB":"Û","%DB":"Û","%dc":"Ü","%Dc":"Ü","%dC":"Ü","%DC":"Ü","%dd":"Ý","%Dd":"Ý","%dD":"Ý","%DD":"Ý","%de":"Þ","%De":"Þ","%dE":"Þ","%DE":"Þ","%df":"ß","%Df":"ß","%dF":"ß","%DF":"ß","%e0":"à","%E0":"à","%e1":"á","%E1":"á","%e2":"â","%E2":"â","%e3":"ã","%E3":"ã","%e4":"ä","%E4":"ä","%e5":"å","%E5":"å","%e6":"æ","%E6":"æ","%e7":"ç","%E7":"ç","%e8":"è","%E8":"è","%e9":"é","%E9":"é","%ea":"ê","%Ea":"ê","%eA":"ê","%EA":"ê","%eb":"ë","%Eb":"ë","%eB":"ë","%EB":"ë","%ec":"ì","%Ec":"ì","%eC":"ì","%EC":"ì","%ed":"í","%Ed":"í","%eD":"í","%ED":"í","%ee":"î","%Ee":"î","%eE":"î","%EE":"î","%ef":"ï","%Ef":"ï","%eF":"ï","%EF":"ï","%f0":"ð","%F0":"ð","%f1":"ñ","%F1":"ñ","%f2":"ò","%F2":"ò","%f3":"ó","%F3":"ó","%f4":"ô","%F4":"ô","%f5":"õ","%F5":"õ","%f6":"ö","%F6":"ö","%f7":"÷","%F7":"÷","%f8":"ø","%F8":"ø","%f9":"ù","%F9":"ù","%fa":"ú","%Fa":"ú","%fA":"ú","%FA":"ú","%fb":"û","%Fb":"û","%fB":"û","%FB":"û","%fc":"ü","%Fc":"ü","%fC":"ü","%FC":"ü","%fd":"ý","%Fd":"ý","%fD":"ý","%FD":"ý","%fe":"þ","%Fe":"þ","%fE":"þ","%FE":"þ","%ff":"ÿ","%Ff":"ÿ","%fF":"ÿ","%FF":"ÿ"};function encodedReplacer(e){return o[e]}const i=0;const a=1;const A=2;const c=3;function parseParams(e){const t=[];let r=i;let o="";let l=false;let u=false;let p=0;let d="";const g=e.length;for(var h=0;h{"use strict";const s=r(2896);const n=r(7310);const o=r(490);const i=r(3685);const a=r(5687);const A=r(3837);const c=r(7098);const l=r(9796);const u=r(2781);const p=r(9820);function _interopDefaultLegacy(e){return e&&typeof e==="object"&&"default"in e?e:{default:e}}const d=_interopDefaultLegacy(s);const g=_interopDefaultLegacy(n);const h=_interopDefaultLegacy(i);const m=_interopDefaultLegacy(a);const E=_interopDefaultLegacy(A);const C=_interopDefaultLegacy(c);const I=_interopDefaultLegacy(l);const B=_interopDefaultLegacy(u);function bind(e,t){return function wrap(){return e.apply(t,arguments)}}const{toString:Q}=Object.prototype;const{getPrototypeOf:b}=Object;const y=(e=>t=>{const r=Q.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null));const kindOfTest=e=>{e=e.toLowerCase();return t=>y(t)===e};const typeOfTest=e=>t=>typeof t===e;const{isArray:v}=Array;const w=typeOfTest("undefined");function isBuffer(e){return e!==null&&!w(e)&&e.constructor!==null&&!w(e.constructor)&&R(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const x=kindOfTest("ArrayBuffer");function isArrayBufferView(e){let t;if(typeof ArrayBuffer!=="undefined"&&ArrayBuffer.isView){t=ArrayBuffer.isView(e)}else{t=e&&e.buffer&&x(e.buffer)}return t}const k=typeOfTest("string");const R=typeOfTest("function");const S=typeOfTest("number");const isObject=e=>e!==null&&typeof e==="object";const isBoolean=e=>e===true||e===false;const isPlainObject=e=>{if(y(e)!=="object"){return false}const t=b(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)};const D=kindOfTest("Date");const T=kindOfTest("File");const _=kindOfTest("Blob");const F=kindOfTest("FileList");const isStream=e=>isObject(e)&&R(e.pipe);const isFormData=e=>{let t;return e&&(typeof FormData==="function"&&e instanceof FormData||R(e.append)&&((t=y(e))==="formdata"||t==="object"&&R(e.toString)&&e.toString()==="[object FormData]"))};const N=kindOfTest("URLSearchParams");const[U,O,M,L]=["ReadableStream","Request","Response","Headers"].map(kindOfTest);const trim=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function forEach(e,t,{allOwnKeys:r=false}={}){if(e===null||typeof e==="undefined"){return}let s;let n;if(typeof e!=="object"){e=[e]}if(v(e)){for(s=0,n=e.length;s0){n=r[s];if(t===n.toLowerCase()){return n}}return null}const P=(()=>{if(typeof globalThis!=="undefined")return globalThis;return typeof self!=="undefined"?self:typeof window!=="undefined"?window:global})();const isContextDefined=e=>!w(e)&&e!==P;function merge(){const{caseless:e}=isContextDefined(this)&&this||{};const t={};const assignValue=(r,s)=>{const n=e&&findKey(t,s)||s;if(isPlainObject(t[n])&&isPlainObject(r)){t[n]=merge(t[n],r)}else if(isPlainObject(r)){t[n]=merge({},r)}else if(v(r)){t[n]=r.slice()}else{t[n]=r}};for(let e=0,t=arguments.length;e{forEach(t,((t,s)=>{if(r&&R(t)){e[s]=bind(t,r)}else{e[s]=t}}),{allOwnKeys:s});return e};const stripBOM=e=>{if(e.charCodeAt(0)===65279){e=e.slice(1)}return e};const inherits=(e,t,r,s)=>{e.prototype=Object.create(t.prototype,s);e.prototype.constructor=e;Object.defineProperty(e,"super",{value:t.prototype});r&&Object.assign(e.prototype,r)};const toFlatObject=(e,t,r,s)=>{let n;let o;let i;const a={};t=t||{};if(e==null)return t;do{n=Object.getOwnPropertyNames(e);o=n.length;while(o-- >0){i=n[o];if((!s||s(i,e,t))&&!a[i]){t[i]=e[i];a[i]=true}}e=r!==false&&b(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t};const endsWith=(e,t,r)=>{e=String(e);if(r===undefined||r>e.length){r=e.length}r-=t.length;const s=e.indexOf(t,r);return s!==-1&&s===r};const toArray=e=>{if(!e)return null;if(v(e))return e;let t=e.length;if(!S(t))return null;const r=new Array(t);while(t-- >0){r[t]=e[t]}return r};const G=(e=>t=>e&&t instanceof e)(typeof Uint8Array!=="undefined"&&b(Uint8Array));const forEachEntry=(e,t)=>{const r=e&&e[Symbol.iterator];const s=r.call(e);let n;while((n=s.next())&&!n.done){const r=n.value;t.call(e,r[0],r[1])}};const matchAll=(e,t)=>{let r;const s=[];while((r=e.exec(t))!==null){s.push(r)}return s};const j=kindOfTest("HTMLFormElement");const toCamelCase=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function replacer(e,t,r){return t.toUpperCase()+r}));const H=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype);const J=kindOfTest("RegExp");const reduceDescriptors=(e,t)=>{const r=Object.getOwnPropertyDescriptors(e);const s={};forEach(r,((r,n)=>{let o;if((o=t(r,n,e))!==false){s[n]=o||r}}));Object.defineProperties(e,s)};const freezeMethods=e=>{reduceDescriptors(e,((t,r)=>{if(R(e)&&["arguments","caller","callee"].indexOf(r)!==-1){return false}const s=e[r];if(!R(s))return;t.enumerable=false;if("writable"in t){t.writable=false;return}if(!t.set){t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")}}}))};const toObjectSet=(e,t)=>{const r={};const define=e=>{e.forEach((e=>{r[e]=true}))};v(e)?define(e):define(String(e).split(t));return r};const noop=()=>{};const toFiniteNumber=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;const V="abcdefghijklmnopqrstuvwxyz";const Y="0123456789";const q={DIGIT:Y,ALPHA:V,ALPHA_DIGIT:V+V.toUpperCase()+Y};const generateString=(e=16,t=q.ALPHA_DIGIT)=>{let r="";const{length:s}=t;while(e--){r+=t[Math.random()*s|0]}return r};function isSpecCompliantForm(e){return!!(e&&R(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const toJSONObject=e=>{const t=new Array(10);const visit=(e,r)=>{if(isObject(e)){if(t.indexOf(e)>=0){return}if(!("toJSON"in e)){t[r]=e;const s=v(e)?[]:{};forEach(e,((e,t)=>{const n=visit(e,r+1);!w(n)&&(s[t]=n)}));t[r]=undefined;return s}}return e};return visit(e,0)};const W=kindOfTest("AsyncFunction");const isThenable=e=>e&&(isObject(e)||R(e))&&R(e.then)&&R(e.catch);const Z=((e,t)=>{if(e){return setImmediate}return t?((e,t)=>{P.addEventListener("message",(({source:r,data:s})=>{if(r===P&&s===e){t.length&&t.shift()()}}),false);return r=>{t.push(r);P.postMessage(e,"*")}})(`axios@${Math.random()}`,[]):e=>setTimeout(e)})(typeof setImmediate==="function",R(P.postMessage));const z=typeof queueMicrotask!=="undefined"?queueMicrotask.bind(P):typeof process!=="undefined"&&process.nextTick||Z;const K={isArray:v,isArrayBuffer:x,isBuffer:isBuffer,isFormData:isFormData,isArrayBufferView:isArrayBufferView,isString:k,isNumber:S,isBoolean:isBoolean,isObject:isObject,isPlainObject:isPlainObject,isReadableStream:U,isRequest:O,isResponse:M,isHeaders:L,isUndefined:w,isDate:D,isFile:T,isBlob:_,isRegExp:J,isFunction:R,isStream:isStream,isURLSearchParams:N,isTypedArray:G,isFileList:F,forEach:forEach,merge:merge,extend:extend,trim:trim,stripBOM:stripBOM,inherits:inherits,toFlatObject:toFlatObject,kindOf:y,kindOfTest:kindOfTest,endsWith:endsWith,toArray:toArray,forEachEntry:forEachEntry,matchAll:matchAll,isHTMLForm:j,hasOwnProperty:H,hasOwnProp:H,reduceDescriptors:reduceDescriptors,freezeMethods:freezeMethods,toObjectSet:toObjectSet,toCamelCase:toCamelCase,noop:noop,toFiniteNumber:toFiniteNumber,findKey:findKey,global:P,isContextDefined:isContextDefined,ALPHABET:q,generateString:generateString,isSpecCompliantForm:isSpecCompliantForm,toJSONObject:toJSONObject,isAsyncFn:W,isThenable:isThenable,setImmediate:Z,asap:z};function AxiosError(e,t,r,s,n){Error.call(this);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}else{this.stack=(new Error).stack}this.message=e;this.name="AxiosError";t&&(this.code=t);r&&(this.config=r);s&&(this.request=s);if(n){this.response=n;this.status=n.status?n.status:null}}K.inherits(AxiosError,Error,{toJSON:function toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:K.toJSONObject(this.config),code:this.code,status:this.status}}});const X=AxiosError.prototype;const $={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{$[e]={value:e}}));Object.defineProperties(AxiosError,$);Object.defineProperty(X,"isAxiosError",{value:true});AxiosError.from=(e,t,r,s,n,o)=>{const i=Object.create(X);K.toFlatObject(e,i,(function filter(e){return e!==Error.prototype}),(e=>e!=="isAxiosError"));AxiosError.call(i,e.message,t,r,s,n);i.cause=e;i.name=e.name;o&&Object.assign(i,o);return i};function isVisitable(e){return K.isPlainObject(e)||K.isArray(e)}function removeBrackets(e){return K.endsWith(e,"[]")?e.slice(0,-2):e}function renderKey(e,t,r){if(!e)return t;return e.concat(t).map((function each(e,t){e=removeBrackets(e);return!r&&t?"["+e+"]":e})).join(r?".":"")}function isFlatArray(e){return K.isArray(e)&&!e.some(isVisitable)}const ee=K.toFlatObject(K,{},null,(function filter(e){return/^is[A-Z]/.test(e)}));function toFormData(e,t,r){if(!K.isObject(e)){throw new TypeError("target must be an object")}t=t||new(d["default"]||FormData);r=K.toFlatObject(r,{metaTokens:true,dots:false,indexes:false},false,(function defined(e,t){return!K.isUndefined(t[e])}));const s=r.metaTokens;const n=r.visitor||defaultVisitor;const o=r.dots;const i=r.indexes;const a=r.Blob||typeof Blob!=="undefined"&&Blob;const A=a&&K.isSpecCompliantForm(t);if(!K.isFunction(n)){throw new TypeError("visitor must be a function")}function convertValue(e){if(e===null)return"";if(K.isDate(e)){return e.toISOString()}if(!A&&K.isBlob(e)){throw new AxiosError("Blob is not supported. Use a Buffer instead.")}if(K.isArrayBuffer(e)||K.isTypedArray(e)){return A&&typeof Blob==="function"?new Blob([e]):Buffer.from(e)}return e}function defaultVisitor(e,r,n){let a=e;if(e&&!n&&typeof e==="object"){if(K.endsWith(r,"{}")){r=s?r:r.slice(0,-2);e=JSON.stringify(e)}else if(K.isArray(e)&&isFlatArray(e)||(K.isFileList(e)||K.endsWith(r,"[]"))&&(a=K.toArray(e))){r=removeBrackets(r);a.forEach((function each(e,s){!(K.isUndefined(e)||e===null)&&t.append(i===true?renderKey([r],s,o):i===null?r:r+"[]",convertValue(e))}));return false}}if(isVisitable(e)){return true}t.append(renderKey(n,r,o),convertValue(e));return false}const c=[];const l=Object.assign(ee,{defaultVisitor:defaultVisitor,convertValue:convertValue,isVisitable:isVisitable});function build(e,r){if(K.isUndefined(e))return;if(c.indexOf(e)!==-1){throw Error("Circular reference detected in "+r.join("."))}c.push(e);K.forEach(e,(function each(e,s){const o=!(K.isUndefined(e)||e===null)&&n.call(t,e,K.isString(s)?s.trim():s,r,l);if(o===true){build(e,r?r.concat(s):[s])}}));c.pop()}if(!K.isObject(e)){throw new TypeError("data must be an object")}build(e);return t}function encode$1(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function replacer(e){return t[e]}))}function AxiosURLSearchParams(e,t){this._pairs=[];e&&toFormData(e,this,t)}const te=AxiosURLSearchParams.prototype;te.append=function append(e,t){this._pairs.push([e,t])};te.toString=function toString(e){const t=e?function(t){return e.call(this,t,encode$1)}:encode$1;return this._pairs.map((function each(e){return t(e[0])+"="+t(e[1])}),"").join("&")};function encode(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function buildURL(e,t,r){if(!t){return e}const s=r&&r.encode||encode;const n=r&&r.serialize;let o;if(n){o=n(t,r)}else{o=K.isURLSearchParams(t)?t.toString():new AxiosURLSearchParams(t,r).toString(s)}if(o){const t=e.indexOf("#");if(t!==-1){e=e.slice(0,t)}e+=(e.indexOf("?")===-1?"?":"&")+o}return e}class InterceptorManager{constructor(){this.handlers=[]}use(e,t,r){this.handlers.push({fulfilled:e,rejected:t,synchronous:r?r.synchronous:false,runWhen:r?r.runWhen:null});return this.handlers.length-1}eject(e){if(this.handlers[e]){this.handlers[e]=null}}clear(){if(this.handlers){this.handlers=[]}}forEach(e){K.forEach(this.handlers,(function forEachHandler(t){if(t!==null){e(t)}}))}}const re=InterceptorManager;const se={silentJSONParsing:true,forcedJSONParsing:true,clarifyTimeoutError:false};const ne=g["default"].URLSearchParams;const oe={isNode:true,classes:{URLSearchParams:ne,FormData:d["default"],Blob:typeof Blob!=="undefined"&&Blob||null},protocols:["http","https","file","data"]};const ie=typeof window!=="undefined"&&typeof document!=="undefined";const ae=typeof navigator==="object"&&navigator||undefined;const Ae=ie&&(!ae||["ReactNative","NativeScript","NS"].indexOf(ae.product)<0);const ce=(()=>typeof WorkerGlobalScope!=="undefined"&&self instanceof WorkerGlobalScope&&typeof self.importScripts==="function")();const le=ie&&window.location.href||"http://localhost";const ue=Object.freeze({__proto__:null,hasBrowserEnv:ie,hasStandardBrowserWebWorkerEnv:ce,hasStandardBrowserEnv:Ae,navigator:ae,origin:le});const pe={...ue,...oe};function toURLEncodedForm(e,t){return toFormData(e,new pe.classes.URLSearchParams,Object.assign({visitor:function(e,t,r,s){if(pe.isNode&&K.isBuffer(e)){this.append(t,e.toString("base64"));return false}return s.defaultVisitor.apply(this,arguments)}},t))}function parsePropPath(e){return K.matchAll(/\w+|\[(\w*)]/g,e).map((e=>e[0]==="[]"?"":e[1]||e[0]))}function arrayToObject(e){const t={};const r=Object.keys(e);let s;const n=r.length;let o;for(s=0;s=e.length;n=!n&&K.isArray(r)?r.length:n;if(i){if(K.hasOwnProp(r,n)){r[n]=[r[n],t]}else{r[n]=t}return!o}if(!r[n]||!K.isObject(r[n])){r[n]=[]}const a=buildPath(e,t,r[n],s);if(a&&K.isArray(r[n])){r[n]=arrayToObject(r[n])}return!o}if(K.isFormData(e)&&K.isFunction(e.entries)){const t={};K.forEachEntry(e,((e,r)=>{buildPath(parsePropPath(e),r,t,0)}));return t}return null}function stringifySafely(e,t,r){if(K.isString(e)){try{(t||JSON.parse)(e);return K.trim(e)}catch(e){if(e.name!=="SyntaxError"){throw e}}}return(r||JSON.stringify)(e)}const de={transitional:se,adapter:["xhr","http","fetch"],transformRequest:[function transformRequest(e,t){const r=t.getContentType()||"";const s=r.indexOf("application/json")>-1;const n=K.isObject(e);if(n&&K.isHTMLForm(e)){e=new FormData(e)}const o=K.isFormData(e);if(o){return s?JSON.stringify(formDataToJSON(e)):e}if(K.isArrayBuffer(e)||K.isBuffer(e)||K.isStream(e)||K.isFile(e)||K.isBlob(e)||K.isReadableStream(e)){return e}if(K.isArrayBufferView(e)){return e.buffer}if(K.isURLSearchParams(e)){t.setContentType("application/x-www-form-urlencoded;charset=utf-8",false);return e.toString()}let i;if(n){if(r.indexOf("application/x-www-form-urlencoded")>-1){return toURLEncodedForm(e,this.formSerializer).toString()}if((i=K.isFileList(e))||r.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return toFormData(i?{"files[]":e}:e,t&&new t,this.formSerializer)}}if(n||s){t.setContentType("application/json",false);return stringifySafely(e)}return e}],transformResponse:[function transformResponse(e){const t=this.transitional||de.transitional;const r=t&&t.forcedJSONParsing;const s=this.responseType==="json";if(K.isResponse(e)||K.isReadableStream(e)){return e}if(e&&K.isString(e)&&(r&&!this.responseType||s)){const r=t&&t.silentJSONParsing;const n=!r&&s;try{return JSON.parse(e)}catch(e){if(n){if(e.name==="SyntaxError"){throw AxiosError.from(e,AxiosError.ERR_BAD_RESPONSE,this,null,this.response)}throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:pe.classes.FormData,Blob:pe.classes.Blob},validateStatus:function validateStatus(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":undefined}}};K.forEach(["delete","get","head","post","put","patch"],(e=>{de.headers[e]={}}));const ge=de;const he=K.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]);const parseHeaders=e=>{const t={};let r;let s;let n;e&&e.split("\n").forEach((function parser(e){n=e.indexOf(":");r=e.substring(0,n).trim().toLowerCase();s=e.substring(n+1).trim();if(!r||t[r]&&he[r]){return}if(r==="set-cookie"){if(t[r]){t[r].push(s)}else{t[r]=[s]}}else{t[r]=t[r]?t[r]+", "+s:s}}));return t};const fe=Symbol("internals");function normalizeHeader(e){return e&&String(e).trim().toLowerCase()}function normalizeValue(e){if(e===false||e==null){return e}return K.isArray(e)?e.map(normalizeValue):String(e)}function parseTokens(e){const t=Object.create(null);const r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let s;while(s=r.exec(e)){t[s[1]]=s[2]}return t}const isValidHeaderName=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function matchHeaderValue(e,t,r,s,n){if(K.isFunction(s)){return s.call(this,t,r)}if(n){t=r}if(!K.isString(t))return;if(K.isString(s)){return t.indexOf(s)!==-1}if(K.isRegExp(s)){return s.test(t)}}function formatHeader(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,r)=>t.toUpperCase()+r))}function buildAccessors(e,t){const r=K.toCamelCase(" "+t);["get","set","has"].forEach((s=>{Object.defineProperty(e,s+r,{value:function(e,r,n){return this[s].call(this,t,e,r,n)},configurable:true})}))}class AxiosHeaders{constructor(e){e&&this.set(e)}set(e,t,r){const s=this;function setHeader(e,t,r){const n=normalizeHeader(t);if(!n){throw new Error("header name must be a non-empty string")}const o=K.findKey(s,n);if(!o||s[o]===undefined||r===true||r===undefined&&s[o]!==false){s[o||t]=normalizeValue(e)}}const setHeaders=(e,t)=>K.forEach(e,((e,r)=>setHeader(e,r,t)));if(K.isPlainObject(e)||e instanceof this.constructor){setHeaders(e,t)}else if(K.isString(e)&&(e=e.trim())&&!isValidHeaderName(e)){setHeaders(parseHeaders(e),t)}else if(K.isHeaders(e)){for(const[t,s]of e.entries()){setHeader(s,t,r)}}else{e!=null&&setHeader(t,e,r)}return this}get(e,t){e=normalizeHeader(e);if(e){const r=K.findKey(this,e);if(r){const e=this[r];if(!t){return e}if(t===true){return parseTokens(e)}if(K.isFunction(t)){return t.call(this,e,r)}if(K.isRegExp(t)){return t.exec(e)}throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){e=normalizeHeader(e);if(e){const r=K.findKey(this,e);return!!(r&&this[r]!==undefined&&(!t||matchHeaderValue(this,this[r],r,t)))}return false}delete(e,t){const r=this;let s=false;function deleteHeader(e){e=normalizeHeader(e);if(e){const n=K.findKey(r,e);if(n&&(!t||matchHeaderValue(r,r[n],n,t))){delete r[n];s=true}}}if(K.isArray(e)){e.forEach(deleteHeader)}else{deleteHeader(e)}return s}clear(e){const t=Object.keys(this);let r=t.length;let s=false;while(r--){const n=t[r];if(!e||matchHeaderValue(this,this[n],n,e,true)){delete this[n];s=true}}return s}normalize(e){const t=this;const r={};K.forEach(this,((s,n)=>{const o=K.findKey(r,n);if(o){t[o]=normalizeValue(s);delete t[n];return}const i=e?formatHeader(n):String(n).trim();if(i!==n){delete t[n]}t[i]=normalizeValue(s);r[i]=true}));return this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);K.forEach(this,((r,s)=>{r!=null&&r!==false&&(t[s]=e&&K.isArray(r)?r.join(", "):r)}));return t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const r=new this(e);t.forEach((e=>r.set(e)));return r}static accessor(e){const t=this[fe]=this[fe]={accessors:{}};const r=t.accessors;const s=this.prototype;function defineAccessor(e){const t=normalizeHeader(e);if(!r[t]){buildAccessors(s,e);r[t]=true}}K.isArray(e)?e.forEach(defineAccessor):defineAccessor(e);return this}}AxiosHeaders.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);K.reduceDescriptors(AxiosHeaders.prototype,(({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[r]=e}}}));K.freezeMethods(AxiosHeaders);const me=AxiosHeaders;function transformData(e,t){const r=this||ge;const s=t||r;const n=me.from(s.headers);let o=s.data;K.forEach(e,(function transform(e){o=e.call(r,o,n.normalize(),t?t.status:undefined)}));n.normalize();return o}function isCancel(e){return!!(e&&e.__CANCEL__)}function CanceledError(e,t,r){AxiosError.call(this,e==null?"canceled":e,AxiosError.ERR_CANCELED,t,r);this.name="CanceledError"}K.inherits(CanceledError,AxiosError,{__CANCEL__:true});function settle(e,t,r){const s=r.config.validateStatus;if(!r.status||!s||s(r.status)){e(r)}else{t(new AxiosError("Request failed with status code "+r.status,[AxiosError.ERR_BAD_REQUEST,AxiosError.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}}function isAbsoluteURL(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function combineURLs(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function buildFullPath(e,t){if(e&&!isAbsoluteURL(t)){return combineURLs(e,t)}return t}const Ee="1.7.5";function parseProtocol(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}const Ce=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function fromDataURI(e,t,r){const s=r&&r.Blob||pe.classes.Blob;const n=parseProtocol(e);if(t===undefined&&s){t=true}if(n==="data"){e=n.length?e.slice(n.length+1):e;const r=Ce.exec(e);if(!r){throw new AxiosError("Invalid URL",AxiosError.ERR_INVALID_URL)}const o=r[1];const i=r[2];const a=r[3];const A=Buffer.from(decodeURIComponent(a),i?"base64":"utf8");if(t){if(!s){throw new AxiosError("Blob is not supported",AxiosError.ERR_NOT_SUPPORT)}return new s([A],{type:o})}return A}throw new AxiosError("Unsupported protocol "+n,AxiosError.ERR_NOT_SUPPORT)}const Ie=Symbol("internals");class AxiosTransformStream extends B["default"].Transform{constructor(e){e=K.toFlatObject(e,{maxRate:0,chunkSize:64*1024,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,((e,t)=>!K.isUndefined(t[e])));super({readableHighWaterMark:e.chunkSize});const t=this[Ie]={timeWindow:e.timeWindow,chunkSize:e.chunkSize,maxRate:e.maxRate,minChunkSize:e.minChunkSize,bytesSeen:0,isCaptured:false,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null};this.on("newListener",(e=>{if(e==="progress"){if(!t.isCaptured){t.isCaptured=true}}}))}_read(e){const t=this[Ie];if(t.onReadCallback){t.onReadCallback()}return super._read(e)}_transform(e,t,r){const s=this[Ie];const n=s.maxRate;const o=this.readableHighWaterMark;const i=s.timeWindow;const a=1e3/i;const A=n/a;const c=s.minChunkSize!==false?Math.max(s.minChunkSize,A*.01):0;const pushChunk=(e,t)=>{const r=Buffer.byteLength(e);s.bytesSeen+=r;s.bytes+=r;s.isCaptured&&this.emit("progress",s.bytesSeen);if(this.push(e)){process.nextTick(t)}else{s.onReadCallback=()=>{s.onReadCallback=null;process.nextTick(t)}}};const transformChunk=(e,t)=>{const r=Buffer.byteLength(e);let a=null;let l=o;let u;let p=0;if(n){const e=Date.now();if(!s.ts||(p=e-s.ts)>=i){s.ts=e;u=A-s.bytes;s.bytes=u<0?-u:0;p=0}u=A-s.bytes}if(n){if(u<=0){return setTimeout((()=>{t(null,e)}),i-p)}if(ul&&r-l>c){a=e.subarray(l);e=e.subarray(0,l)}pushChunk(e,a?()=>{process.nextTick(t,null,a)}:t)};transformChunk(e,(function transformNextChunk(e,t){if(e){return r(e)}if(t){transformChunk(t,transformNextChunk)}else{r(null)}}))}}const Be=AxiosTransformStream;const{asyncIterator:Qe}=Symbol;const readBlob=async function*(e){if(e.stream){yield*e.stream()}else if(e.arrayBuffer){yield await e.arrayBuffer()}else if(e[Qe]){yield*e[Qe]()}else{yield e}};const be=readBlob;const ye=K.ALPHABET.ALPHA_DIGIT+"-_";const ve=new A.TextEncoder;const we="\r\n";const xe=ve.encode(we);const ke=2;class FormDataPart{constructor(e,t){const{escapeName:r}=this.constructor;const s=K.isString(t);let n=`Content-Disposition: form-data; name="${r(e)}"${!s&&t.name?`; filename="${r(t.name)}"`:""}${we}`;if(s){t=ve.encode(String(t).replace(/\r?\n|\r\n?/g,we))}else{n+=`Content-Type: ${t.type||"application/octet-stream"}${we}`}this.headers=ve.encode(n+we);this.contentLength=s?t.byteLength:t.size;this.size=this.headers.byteLength+this.contentLength+ke;this.name=e;this.value=t}async*encode(){yield this.headers;const{value:e}=this;if(K.isTypedArray(e)){yield e}else{yield*be(e)}yield xe}static escapeName(e){return String(e).replace(/[\r\n"]/g,(e=>({"\r":"%0D","\n":"%0A",'"':"%22"}[e])))}}const formDataToStream=(e,t,r)=>{const{tag:s="form-data-boundary",size:n=25,boundary:o=s+"-"+K.generateString(n,ye)}=r||{};if(!K.isFormData(e)){throw TypeError("FormData instance required")}if(o.length<1||o.length>70){throw Error("boundary must be 10-70 characters long")}const i=ve.encode("--"+o+we);const a=ve.encode("--"+o+"--"+we+we);let A=a.byteLength;const c=Array.from(e.entries()).map((([e,t])=>{const r=new FormDataPart(e,t);A+=r.size;return r}));A+=i.byteLength*c.length;A=K.toFiniteNumber(A);const l={"Content-Type":`multipart/form-data; boundary=${o}`};if(Number.isFinite(A)){l["Content-Length"]=A}t&&t(l);return u.Readable.from(async function*(){for(const e of c){yield i;yield*e.encode()}yield a}())};const Re=formDataToStream;class ZlibHeaderTransformStream extends B["default"].Transform{__transform(e,t,r){this.push(e);r()}_transform(e,t,r){if(e.length!==0){this._transform=this.__transform;if(e[0]!==120){const e=Buffer.alloc(2);e[0]=120;e[1]=156;this.push(e,t)}}this.__transform(e,t,r)}}const Se=ZlibHeaderTransformStream;const callbackify=(e,t)=>K.isAsyncFn(e)?function(...r){const s=r.pop();e.apply(this,r).then((e=>{try{t?s(null,...t(e)):s(null,e)}catch(e){s(e)}}),s)}:e;const De=callbackify;function speedometer(e,t){e=e||10;const r=new Array(e);const s=new Array(e);let n=0;let o=0;let i;t=t!==undefined?t:1e3;return function push(a){const A=Date.now();const c=s[o];if(!i){i=A}r[n]=a;s[n]=A;let l=o;let u=0;while(l!==n){u+=r[l++];l=l%e}n=(n+1)%e;if(n===o){o=(o+1)%e}if(A-i{r=s;n=null;if(o){clearTimeout(o);o=null}e.apply(null,t)};const throttled=(...e)=>{const t=Date.now();const i=t-r;if(i>=s){invoke(e,t)}else{n=e;if(!o){o=setTimeout((()=>{o=null;invoke(n)}),s-i)}}};const flush=()=>n&&invoke(n);return[throttled,flush]}const progressEventReducer=(e,t,r=3)=>{let s=0;const n=speedometer(50,250);return throttle((r=>{const o=r.loaded;const i=r.lengthComputable?r.total:undefined;const a=o-s;const A=n(a);const c=o<=i;s=o;const l={loaded:o,total:i,progress:i?o/i:undefined,bytes:a,rate:A?A:undefined,estimated:A&&i&&c?(i-o)/A:undefined,event:r,lengthComputable:i!=null,[t?"download":"upload"]:true};e(l)}),r)};const progressEventDecorator=(e,t)=>{const r=e!=null;return[s=>t[0]({lengthComputable:r,total:e,loaded:s}),t[1]]};const asyncDecorator=e=>(...t)=>K.asap((()=>e(...t)));const Te={flush:I["default"].constants.Z_SYNC_FLUSH,finishFlush:I["default"].constants.Z_SYNC_FLUSH};const _e={flush:I["default"].constants.BROTLI_OPERATION_FLUSH,finishFlush:I["default"].constants.BROTLI_OPERATION_FLUSH};const Fe=K.isFunction(I["default"].createBrotliDecompress);const{http:Ne,https:Ue}=C["default"];const Oe=/https:?/;const Me=pe.protocols.map((e=>e+":"));const flushOnFinish=(e,[t,r])=>{e.on("end",r).on("error",r);return t};function dispatchBeforeRedirect(e,t){if(e.beforeRedirects.proxy){e.beforeRedirects.proxy(e)}if(e.beforeRedirects.config){e.beforeRedirects.config(e,t)}}function setProxy(e,t,r){let s=t;if(!s&&s!==false){const e=o.getProxyForUrl(r);if(e){s=new URL(e)}}if(s){if(s.username){s.auth=(s.username||"")+":"+(s.password||"")}if(s.auth){if(s.auth.username||s.auth.password){s.auth=(s.auth.username||"")+":"+(s.auth.password||"")}const t=Buffer.from(s.auth,"utf8").toString("base64");e.headers["Proxy-Authorization"]="Basic "+t}e.headers.host=e.hostname+(e.port?":"+e.port:"");const t=s.hostname||s.host;e.hostname=t;e.host=t;e.port=s.port;e.path=r;if(s.protocol){e.protocol=s.protocol.includes(":")?s.protocol:`${s.protocol}:`}}e.beforeRedirects.proxy=function beforeRedirect(e){setProxy(e,t,e.href)}}const Le=typeof process!=="undefined"&&K.kindOf(process)==="process";const wrapAsync=e=>new Promise(((t,r)=>{let s;let n;const done=(e,t)=>{if(n)return;n=true;s&&s(e,t)};const _resolve=e=>{done(e);t(e)};const _reject=e=>{done(e,true);r(e)};e(_resolve,_reject,(e=>s=e)).catch(_reject)}));const resolveFamily=({address:e,family:t})=>{if(!K.isString(e)){throw TypeError("address must be a string")}return{address:e,family:t||(e.indexOf(".")<0?6:4)}};const buildAddressEntry=(e,t)=>resolveFamily(K.isObject(e)?e:{address:e,family:t});const Pe=Le&&function httpAdapter(e){return wrapAsync((async function dispatchHttpRequest(t,r,s){let{data:n,lookup:o,family:i}=e;const{responseType:a,responseEncoding:A}=e;const c=e.method.toUpperCase();let l;let u=false;let d;if(o){const e=De(o,(e=>K.isArray(e)?e:[e]));o=(t,r,s)=>{e(t,r,((e,t,n)=>{if(e){return s(e)}const o=K.isArray(t)?t.map((e=>buildAddressEntry(e))):[buildAddressEntry(t,n)];r.all?s(e,o):s(e,o[0].address,o[0].family)}))}}const g=new p.EventEmitter;const onFinished=()=>{if(e.cancelToken){e.cancelToken.unsubscribe(abort)}if(e.signal){e.signal.removeEventListener("abort",abort)}g.removeAllListeners()};s(((e,t)=>{l=true;if(t){u=true;onFinished()}}));function abort(t){g.emit("abort",!t||t.type?new CanceledError(null,e,d):t)}g.once("abort",r);if(e.cancelToken||e.signal){e.cancelToken&&e.cancelToken.subscribe(abort);if(e.signal){e.signal.aborted?abort():e.signal.addEventListener("abort",abort)}}const C=buildFullPath(e.baseURL,e.url);const Q=new URL(C,pe.hasBrowserEnv?pe.origin:undefined);const b=Q.protocol||Me[0];if(b==="data:"){let s;if(c!=="GET"){return settle(t,r,{status:405,statusText:"method not allowed",headers:{},config:e})}try{s=fromDataURI(e.url,a==="blob",{Blob:e.env&&e.env.Blob})}catch(t){throw AxiosError.from(t,AxiosError.ERR_BAD_REQUEST,e)}if(a==="text"){s=s.toString(A);if(!A||A==="utf8"){s=K.stripBOM(s)}}else if(a==="stream"){s=B["default"].Readable.from(s)}return settle(t,r,{data:s,status:200,statusText:"OK",headers:new me,config:e})}if(Me.indexOf(b)===-1){return r(new AxiosError("Unsupported protocol "+b,AxiosError.ERR_BAD_REQUEST,e))}const y=me.from(e.headers).normalize();y.set("User-Agent","axios/"+Ee,false);const{onUploadProgress:v,onDownloadProgress:w}=e;const x=e.maxRate;let k=undefined;let R=undefined;if(K.isSpecCompliantForm(n)){const e=y.getContentType(/boundary=([-_\w\d]{10,70})/i);n=Re(n,(e=>{y.set(e)}),{tag:`axios-${Ee}-boundary`,boundary:e&&e[1]||undefined})}else if(K.isFormData(n)&&K.isFunction(n.getHeaders)){y.set(n.getHeaders());if(!y.hasContentLength()){try{const e=await E["default"].promisify(n.getLength).call(n);Number.isFinite(e)&&e>=0&&y.setContentLength(e)}catch(e){}}}else if(K.isBlob(n)){n.size&&y.setContentType(n.type||"application/octet-stream");y.setContentLength(n.size||0);n=B["default"].Readable.from(be(n))}else if(n&&!K.isStream(n)){if(Buffer.isBuffer(n));else if(K.isArrayBuffer(n)){n=Buffer.from(new Uint8Array(n))}else if(K.isString(n)){n=Buffer.from(n,"utf-8")}else{return r(new AxiosError("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",AxiosError.ERR_BAD_REQUEST,e))}y.setContentLength(n.length,false);if(e.maxBodyLength>-1&&n.length>e.maxBodyLength){return r(new AxiosError("Request body larger than maxBodyLength limit",AxiosError.ERR_BAD_REQUEST,e))}}const S=K.toFiniteNumber(y.getContentLength());if(K.isArray(x)){k=x[0];R=x[1]}else{k=R=x}if(n&&(v||k)){if(!K.isStream(n)){n=B["default"].Readable.from(n,{objectMode:false})}n=B["default"].pipeline([n,new Be({maxRate:K.toFiniteNumber(k)})],K.noop);v&&n.on("progress",flushOnFinish(n,progressEventDecorator(S,progressEventReducer(asyncDecorator(v),false,3))))}let D=undefined;if(e.auth){const t=e.auth.username||"";const r=e.auth.password||"";D=t+":"+r}if(!D&&Q.username){const e=Q.username;const t=Q.password;D=e+":"+t}D&&y.delete("authorization");let T;try{T=buildURL(Q.pathname+Q.search,e.params,e.paramsSerializer).replace(/^\?/,"")}catch(t){const s=new Error(t.message);s.config=e;s.url=e.url;s.exists=true;return r(s)}y.set("Accept-Encoding","gzip, compress, deflate"+(Fe?", br":""),false);const _={path:T,method:c,headers:y.toJSON(),agents:{http:e.httpAgent,https:e.httpsAgent},auth:D,protocol:b,family:i,beforeRedirect:dispatchBeforeRedirect,beforeRedirects:{}};!K.isUndefined(o)&&(_.lookup=o);if(e.socketPath){_.socketPath=e.socketPath}else{_.hostname=Q.hostname;_.port=Q.port;setProxy(_,e.proxy,b+"//"+Q.hostname+(Q.port?":"+Q.port:"")+_.path)}let F;const N=Oe.test(_.protocol);_.agent=N?e.httpsAgent:e.httpAgent;if(e.transport){F=e.transport}else if(e.maxRedirects===0){F=N?m["default"]:h["default"]}else{if(e.maxRedirects){_.maxRedirects=e.maxRedirects}if(e.beforeRedirect){_.beforeRedirects.config=e.beforeRedirect}F=N?Ue:Ne}if(e.maxBodyLength>-1){_.maxBodyLength=e.maxBodyLength}else{_.maxBodyLength=Infinity}if(e.insecureHTTPParser){_.insecureHTTPParser=e.insecureHTTPParser}d=F.request(_,(function handleResponse(s){if(d.destroyed)return;const n=[s];const o=+s.headers["content-length"];if(w||R){const e=new Be({maxRate:K.toFiniteNumber(R)});w&&e.on("progress",flushOnFinish(e,progressEventDecorator(o,progressEventReducer(asyncDecorator(w),true,3))));n.push(e)}let i=s;const l=s.req||d;if(e.decompress!==false&&s.headers["content-encoding"]){if(c==="HEAD"||s.statusCode===204){delete s.headers["content-encoding"]}switch((s.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":n.push(I["default"].createUnzip(Te));delete s.headers["content-encoding"];break;case"deflate":n.push(new Se);n.push(I["default"].createUnzip(Te));delete s.headers["content-encoding"];break;case"br":if(Fe){n.push(I["default"].createBrotliDecompress(_e));delete s.headers["content-encoding"]}}}i=n.length>1?B["default"].pipeline(n,K.noop):n[0];const p=B["default"].finished(i,(()=>{p();onFinished()}));const h={status:s.statusCode,statusText:s.statusMessage,headers:new me(s.headers),config:e,request:l};if(a==="stream"){h.data=i;settle(t,r,h)}else{const s=[];let n=0;i.on("data",(function handleStreamData(t){s.push(t);n+=t.length;if(e.maxContentLength>-1&&n>e.maxContentLength){u=true;i.destroy();r(new AxiosError("maxContentLength size of "+e.maxContentLength+" exceeded",AxiosError.ERR_BAD_RESPONSE,e,l))}}));i.on("aborted",(function handlerStreamAborted(){if(u){return}const t=new AxiosError("maxContentLength size of "+e.maxContentLength+" exceeded",AxiosError.ERR_BAD_RESPONSE,e,l);i.destroy(t);r(t)}));i.on("error",(function handleStreamError(t){if(d.destroyed)return;r(AxiosError.from(t,null,e,l))}));i.on("end",(function handleStreamEnd(){try{let e=s.length===1?s[0]:Buffer.concat(s);if(a!=="arraybuffer"){e=e.toString(A);if(!A||A==="utf8"){e=K.stripBOM(e)}}h.data=e}catch(t){return r(AxiosError.from(t,null,e,h.request,h))}settle(t,r,h)}))}g.once("abort",(e=>{if(!i.destroyed){i.emit("error",e);i.destroy()}}))}));g.once("abort",(e=>{r(e);d.destroy(e)}));d.on("error",(function handleRequestError(t){r(AxiosError.from(t,null,e,d))}));d.on("socket",(function handleRequestSocket(e){e.setKeepAlive(true,1e3*60)}));if(e.timeout){const t=parseInt(e.timeout,10);if(Number.isNaN(t)){r(new AxiosError("error trying to parse `config.timeout` to int",AxiosError.ERR_BAD_OPTION_VALUE,e,d));return}d.setTimeout(t,(function handleRequestTimeout(){if(l)return;let t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const s=e.transitional||se;if(e.timeoutErrorMessage){t=e.timeoutErrorMessage}r(new AxiosError(t,s.clarifyTimeoutError?AxiosError.ETIMEDOUT:AxiosError.ECONNABORTED,e,d));abort()}))}if(K.isStream(n)){let t=false;let r=false;n.on("end",(()=>{t=true}));n.once("error",(e=>{r=true;d.destroy(e)}));n.on("close",(()=>{if(!t&&!r){abort(new CanceledError("Request stream has been aborted",e,d))}}));n.pipe(d)}else{d.end(n)}}))};const Ge=pe.hasStandardBrowserEnv?function standardBrowserEnv(){const e=pe.navigator&&/(msie|trident)/i.test(pe.navigator.userAgent);const t=document.createElement("a");let r;function resolveURL(r){let s=r;if(e){t.setAttribute("href",s);s=t.href}t.setAttribute("href",s);return{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:t.pathname.charAt(0)==="/"?t.pathname:"/"+t.pathname}}r=resolveURL(window.location.href);return function isURLSameOrigin(e){const t=K.isString(e)?resolveURL(e):e;return t.protocol===r.protocol&&t.host===r.host}}():function nonStandardBrowserEnv(){return function isURLSameOrigin(){return true}}();const je=pe.hasStandardBrowserEnv?{write(e,t,r,s,n,o){const i=[e+"="+encodeURIComponent(t)];K.isNumber(r)&&i.push("expires="+new Date(r).toGMTString());K.isString(s)&&i.push("path="+s);K.isString(n)&&i.push("domain="+n);o===true&&i.push("secure");document.cookie=i.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};const headersToObject=e=>e instanceof me?{...e}:e;function mergeConfig(e,t){t=t||{};const r={};function getMergedValue(e,t,r){if(K.isPlainObject(e)&&K.isPlainObject(t)){return K.merge.call({caseless:r},e,t)}else if(K.isPlainObject(t)){return K.merge({},t)}else if(K.isArray(t)){return t.slice()}return t}function mergeDeepProperties(e,t,r){if(!K.isUndefined(t)){return getMergedValue(e,t,r)}else if(!K.isUndefined(e)){return getMergedValue(undefined,e,r)}}function valueFromConfig2(e,t){if(!K.isUndefined(t)){return getMergedValue(undefined,t)}}function defaultToConfig2(e,t){if(!K.isUndefined(t)){return getMergedValue(undefined,t)}else if(!K.isUndefined(e)){return getMergedValue(undefined,e)}}function mergeDirectKeys(r,s,n){if(n in t){return getMergedValue(r,s)}else if(n in e){return getMergedValue(undefined,r)}}const s={url:valueFromConfig2,method:valueFromConfig2,data:valueFromConfig2,baseURL:defaultToConfig2,transformRequest:defaultToConfig2,transformResponse:defaultToConfig2,paramsSerializer:defaultToConfig2,timeout:defaultToConfig2,timeoutMessage:defaultToConfig2,withCredentials:defaultToConfig2,withXSRFToken:defaultToConfig2,adapter:defaultToConfig2,responseType:defaultToConfig2,xsrfCookieName:defaultToConfig2,xsrfHeaderName:defaultToConfig2,onUploadProgress:defaultToConfig2,onDownloadProgress:defaultToConfig2,decompress:defaultToConfig2,maxContentLength:defaultToConfig2,maxBodyLength:defaultToConfig2,beforeRedirect:defaultToConfig2,transport:defaultToConfig2,httpAgent:defaultToConfig2,httpsAgent:defaultToConfig2,cancelToken:defaultToConfig2,socketPath:defaultToConfig2,responseEncoding:defaultToConfig2,validateStatus:mergeDirectKeys,headers:(e,t)=>mergeDeepProperties(headersToObject(e),headersToObject(t),true)};K.forEach(Object.keys(Object.assign({},e,t)),(function computeConfigValue(n){const o=s[n]||mergeDeepProperties;const i=o(e[n],t[n],n);K.isUndefined(i)&&o!==mergeDirectKeys||(r[n]=i)}));return r}const resolveConfig=e=>{const t=mergeConfig({},e);let{data:r,withXSRFToken:s,xsrfHeaderName:n,xsrfCookieName:o,headers:i,auth:a}=t;t.headers=i=me.from(i);t.url=buildURL(buildFullPath(t.baseURL,t.url),e.params,e.paramsSerializer);if(a){i.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):"")))}let A;if(K.isFormData(r)){if(pe.hasStandardBrowserEnv||pe.hasStandardBrowserWebWorkerEnv){i.setContentType(undefined)}else if((A=i.getContentType())!==false){const[e,...t]=A?A.split(";").map((e=>e.trim())).filter(Boolean):[];i.setContentType([e||"multipart/form-data",...t].join("; "))}}if(pe.hasStandardBrowserEnv){s&&K.isFunction(s)&&(s=s(t));if(s||s!==false&&Ge(t.url)){const e=n&&o&&je.read(o);if(e){i.set(n,e)}}}return t};const He=typeof XMLHttpRequest!=="undefined";const Je=He&&function(e){return new Promise((function dispatchXhrRequest(t,r){const s=resolveConfig(e);let n=s.data;const o=me.from(s.headers).normalize();let{responseType:i,onUploadProgress:a,onDownloadProgress:A}=s;let c;let l,u;let p,d;function done(){p&&p();d&&d();s.cancelToken&&s.cancelToken.unsubscribe(c);s.signal&&s.signal.removeEventListener("abort",c)}let g=new XMLHttpRequest;g.open(s.method.toUpperCase(),s.url,true);g.timeout=s.timeout;function onloadend(){if(!g){return}const s=me.from("getAllResponseHeaders"in g&&g.getAllResponseHeaders());const n=!i||i==="text"||i==="json"?g.responseText:g.response;const o={data:n,status:g.status,statusText:g.statusText,headers:s,config:e,request:g};settle((function _resolve(e){t(e);done()}),(function _reject(e){r(e);done()}),o);g=null}if("onloadend"in g){g.onloadend=onloadend}else{g.onreadystatechange=function handleLoad(){if(!g||g.readyState!==4){return}if(g.status===0&&!(g.responseURL&&g.responseURL.indexOf("file:")===0)){return}setTimeout(onloadend)}}g.onabort=function handleAbort(){if(!g){return}r(new AxiosError("Request aborted",AxiosError.ECONNABORTED,e,g));g=null};g.onerror=function handleError(){r(new AxiosError("Network Error",AxiosError.ERR_NETWORK,e,g));g=null};g.ontimeout=function handleTimeout(){let t=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const n=s.transitional||se;if(s.timeoutErrorMessage){t=s.timeoutErrorMessage}r(new AxiosError(t,n.clarifyTimeoutError?AxiosError.ETIMEDOUT:AxiosError.ECONNABORTED,e,g));g=null};n===undefined&&o.setContentType(null);if("setRequestHeader"in g){K.forEach(o.toJSON(),(function setRequestHeader(e,t){g.setRequestHeader(t,e)}))}if(!K.isUndefined(s.withCredentials)){g.withCredentials=!!s.withCredentials}if(i&&i!=="json"){g.responseType=s.responseType}if(A){[u,d]=progressEventReducer(A,true);g.addEventListener("progress",u)}if(a&&g.upload){[l,p]=progressEventReducer(a);g.upload.addEventListener("progress",l);g.upload.addEventListener("loadend",p)}if(s.cancelToken||s.signal){c=t=>{if(!g){return}r(!t||t.type?new CanceledError(null,e,g):t);g.abort();g=null};s.cancelToken&&s.cancelToken.subscribe(c);if(s.signal){s.signal.aborted?c():s.signal.addEventListener("abort",c)}}const h=parseProtocol(s.url);if(h&&pe.protocols.indexOf(h)===-1){r(new AxiosError("Unsupported protocol "+h+":",AxiosError.ERR_BAD_REQUEST,e));return}g.send(n||null)}))};const composeSignals=(e,t)=>{let r=new AbortController;let s;const onabort=function(e){if(!s){s=true;unsubscribe();const t=e instanceof Error?e:this.reason;r.abort(t instanceof AxiosError?t:new CanceledError(t instanceof Error?t.message:t))}};let n=t&&setTimeout((()=>{onabort(new AxiosError(`timeout ${t} of ms exceeded`,AxiosError.ETIMEDOUT))}),t);const unsubscribe=()=>{if(e){n&&clearTimeout(n);n=null;e.forEach((e=>{e&&(e.removeEventListener?e.removeEventListener("abort",onabort):e.unsubscribe(onabort))}));e=null}};e.forEach((e=>e&&e.addEventListener&&e.addEventListener("abort",onabort)));const{signal:o}=r;o.unsubscribe=unsubscribe;return[o,()=>{n&&clearTimeout(n);n=null}]};const Ve=composeSignals;const streamChunk=function*(e,t){let r=e.byteLength;if(!t||r{const o=readBytes(e,t,n);let i=0;let a;let _onFinish=e=>{if(!a){a=true;s&&s(e)}};return new ReadableStream({async pull(e){try{const{done:t,value:s}=await o.next();if(t){_onFinish();e.close();return}let n=s.byteLength;if(r){let e=i+=n;r(e)}e.enqueue(new Uint8Array(s))}catch(e){_onFinish(e);throw e}},cancel(e){_onFinish(e);return o.return()}},{highWaterMark:2})};const Ye=typeof fetch==="function"&&typeof Request==="function"&&typeof Response==="function";const qe=Ye&&typeof ReadableStream==="function";const We=Ye&&(typeof TextEncoder==="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer()));const test=(e,...t)=>{try{return!!e(...t)}catch(e){return false}};const Ze=qe&&test((()=>{let e=false;const t=new Request(pe.origin,{body:new ReadableStream,method:"POST",get duplex(){e=true;return"half"}}).headers.has("Content-Type");return e&&!t}));const ze=64*1024;const Ke=qe&&test((()=>K.isReadableStream(new Response("").body)));const Xe={stream:Ke&&(e=>e.body)};Ye&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach((t=>{!Xe[t]&&(Xe[t]=K.isFunction(e[t])?e=>e[t]():(e,r)=>{throw new AxiosError(`Response type '${t}' is not supported`,AxiosError.ERR_NOT_SUPPORT,r)})}))})(new Response);const getBodyLength=async e=>{if(e==null){return 0}if(K.isBlob(e)){return e.size}if(K.isSpecCompliantForm(e)){return(await new Request(e).arrayBuffer()).byteLength}if(K.isArrayBufferView(e)||K.isArrayBuffer(e)){return e.byteLength}if(K.isURLSearchParams(e)){e=e+""}if(K.isString(e)){return(await We(e)).byteLength}};const resolveBodyLength=async(e,t)=>{const r=K.toFiniteNumber(e.getContentLength());return r==null?getBodyLength(t):r};const $e=Ye&&(async e=>{let{url:t,method:r,data:s,signal:n,cancelToken:o,timeout:i,onDownloadProgress:a,onUploadProgress:A,responseType:c,headers:l,withCredentials:u="same-origin",fetchOptions:p}=resolveConfig(e);c=c?(c+"").toLowerCase():"text";let[d,g]=n||o||i?Ve([n,o],i):[];let h,m;const onFinish=()=>{!h&&setTimeout((()=>{d&&d.unsubscribe()}));h=true};let E;try{if(A&&Ze&&r!=="get"&&r!=="head"&&(E=await resolveBodyLength(l,s))!==0){let e=new Request(t,{method:"POST",body:s,duplex:"half"});let r;if(K.isFormData(s)&&(r=e.headers.get("content-type"))){l.setContentType(r)}if(e.body){const[t,r]=progressEventDecorator(E,progressEventReducer(asyncDecorator(A)));s=trackStream(e.body,ze,t,r,We)}}if(!K.isString(u)){u=u?"include":"omit"}const n="credentials"in Request.prototype;m=new Request(t,{...p,signal:d,method:r.toUpperCase(),headers:l.normalize().toJSON(),body:s,duplex:"half",credentials:n?u:undefined});let o=await fetch(m);const i=Ke&&(c==="stream"||c==="response");if(Ke&&(a||i)){const e={};["status","statusText","headers"].forEach((t=>{e[t]=o[t]}));const t=K.toFiniteNumber(o.headers.get("content-length"));const[r,s]=a&&progressEventDecorator(t,progressEventReducer(asyncDecorator(a),true))||[];o=new Response(trackStream(o.body,ze,r,(()=>{s&&s();i&&onFinish()}),We),e)}c=c||"text";let h=await Xe[K.findKey(Xe,c)||"text"](o,e);!i&&onFinish();g&&g();return await new Promise(((t,r)=>{settle(t,r,{data:h,headers:me.from(o.headers),status:o.status,statusText:o.statusText,config:e,request:m})}))}catch(t){onFinish();if(t&&t.name==="TypeError"&&/fetch/i.test(t.message)){throw Object.assign(new AxiosError("Network Error",AxiosError.ERR_NETWORK,e,m),{cause:t.cause||t})}throw AxiosError.from(t,t&&t.code,e,m)}});const et={http:Pe,xhr:Je,fetch:$e};K.forEach(et,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const renderReason=e=>`- ${e}`;const isResolvedHandle=e=>K.isFunction(e)||e===null||e===false;const tt={getAdapter:e=>{e=K.isArray(e)?e:[e];const{length:t}=e;let r;let s;const n={};for(let o=0;o`adapter ${e} `+(t===false?"is not supported by the environment":"is not available in the build")));let r=t?e.length>1?"since :\n"+e.map(renderReason).join("\n"):" "+renderReason(e[0]):"as no adapter specified";throw new AxiosError(`There is no suitable adapter to dispatch the request `+r,"ERR_NOT_SUPPORT")}return s},adapters:et};function throwIfCancellationRequested(e){if(e.cancelToken){e.cancelToken.throwIfRequested()}if(e.signal&&e.signal.aborted){throw new CanceledError(null,e)}}function dispatchRequest(e){throwIfCancellationRequested(e);e.headers=me.from(e.headers);e.data=transformData.call(e,e.transformRequest);if(["post","put","patch"].indexOf(e.method)!==-1){e.headers.setContentType("application/x-www-form-urlencoded",false)}const t=tt.getAdapter(e.adapter||ge.adapter);return t(e).then((function onAdapterResolution(t){throwIfCancellationRequested(e);t.data=transformData.call(e,e.transformResponse,t);t.headers=me.from(t.headers);return t}),(function onAdapterRejection(t){if(!isCancel(t)){throwIfCancellationRequested(e);if(t&&t.response){t.response.data=transformData.call(e,e.transformResponse,t.response);t.response.headers=me.from(t.response.headers)}}return Promise.reject(t)}))}const rt={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{rt[e]=function validator(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}}));const st={};rt.transitional=function transitional(e,t,r){function formatMessage(e,t){return"[Axios v"+Ee+"] Transitional option '"+e+"'"+t+(r?". "+r:"")}return(r,s,n)=>{if(e===false){throw new AxiosError(formatMessage(s," has been removed"+(t?" in "+t:"")),AxiosError.ERR_DEPRECATED)}if(t&&!st[s]){st[s]=true;console.warn(formatMessage(s," has been deprecated since v"+t+" and will be removed in the near future"))}return e?e(r,s,n):true}};function assertOptions(e,t,r){if(typeof e!=="object"){throw new AxiosError("options must be an object",AxiosError.ERR_BAD_OPTION_VALUE)}const s=Object.keys(e);let n=s.length;while(n-- >0){const o=s[n];const i=t[o];if(i){const t=e[o];const r=t===undefined||i(t,o,e);if(r!==true){throw new AxiosError("option "+o+" must be "+r,AxiosError.ERR_BAD_OPTION_VALUE)}continue}if(r!==true){throw new AxiosError("Unknown option "+o,AxiosError.ERR_BAD_OPTION)}}}const nt={assertOptions:assertOptions,validators:rt};const ot=nt.validators;class Axios{constructor(e){this.defaults=e;this.interceptors={request:new re,response:new re}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t;Error.captureStackTrace?Error.captureStackTrace(t={}):t=new Error;const r=t.stack?t.stack.replace(/^.+\n/,""):"";try{if(!e.stack){e.stack=r}else if(r&&!String(e.stack).endsWith(r.replace(/^.+\n.+\n/,""))){e.stack+="\n"+r}}catch(e){}}throw e}}_request(e,t){if(typeof e==="string"){t=t||{};t.url=e}else{t=e||{}}t=mergeConfig(this.defaults,t);const{transitional:r,paramsSerializer:s,headers:n}=t;if(r!==undefined){nt.assertOptions(r,{silentJSONParsing:ot.transitional(ot.boolean),forcedJSONParsing:ot.transitional(ot.boolean),clarifyTimeoutError:ot.transitional(ot.boolean)},false)}if(s!=null){if(K.isFunction(s)){t.paramsSerializer={serialize:s}}else{nt.assertOptions(s,{encode:ot.function,serialize:ot.function},true)}}t.method=(t.method||this.defaults.method||"get").toLowerCase();let o=n&&K.merge(n.common,n[t.method]);n&&K.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete n[e]}));t.headers=me.concat(o,n);const i=[];let a=true;this.interceptors.request.forEach((function unshiftRequestInterceptors(e){if(typeof e.runWhen==="function"&&e.runWhen(t)===false){return}a=a&&e.synchronous;i.unshift(e.fulfilled,e.rejected)}));const A=[];this.interceptors.response.forEach((function pushResponseInterceptors(e){A.push(e.fulfilled,e.rejected)}));let c;let l=0;let u;if(!a){const e=[dispatchRequest.bind(this),undefined];e.unshift.apply(e,i);e.push.apply(e,A);u=e.length;c=Promise.resolve(t);while(l{if(!r._listeners)return;let t=r._listeners.length;while(t-- >0){r._listeners[t](e)}r._listeners=null}));this.promise.then=e=>{let t;const s=new Promise((e=>{r.subscribe(e);t=e})).then(e);s.cancel=function reject(){r.unsubscribe(t)};return s};e((function cancel(e,s,n){if(r.reason){return}r.reason=new CanceledError(e,s,n);t(r.reason)}))}throwIfRequested(){if(this.reason){throw this.reason}}subscribe(e){if(this.reason){e(this.reason);return}if(this._listeners){this._listeners.push(e)}else{this._listeners=[e]}}unsubscribe(e){if(!this._listeners){return}const t=this._listeners.indexOf(e);if(t!==-1){this._listeners.splice(t,1)}}static source(){let e;const t=new CancelToken((function executor(t){e=t}));return{token:t,cancel:e}}}const at=CancelToken;function spread(e){return function wrap(t){return e.apply(null,t)}}function isAxiosError(e){return K.isObject(e)&&e.isAxiosError===true}const At={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(At).forEach((([e,t])=>{At[t]=e}));const ct=At;function createInstance(e){const t=new it(e);const r=bind(it.prototype.request,t);K.extend(r,it.prototype,t,{allOwnKeys:true});K.extend(r,t,null,{allOwnKeys:true});r.create=function create(t){return createInstance(mergeConfig(e,t))};return r}const lt=createInstance(ge);lt.Axios=it;lt.CanceledError=CanceledError;lt.CancelToken=at;lt.isCancel=isCancel;lt.VERSION=Ee;lt.toFormData=toFormData;lt.AxiosError=AxiosError;lt.Cancel=lt.CanceledError;lt.all=function all(e){return Promise.all(e)};lt.spread=spread;lt.isAxiosError=isAxiosError;lt.mergeConfig=mergeConfig;lt.AxiosHeaders=me;lt.formToJSON=e=>formDataToJSON(K.isHTMLForm(e)?new FormData(e):e);lt.getAdapter=tt.getAdapter;lt.HttpStatusCode=ct;lt.default=lt;e.exports=lt},7371:e=>{"use strict";e.exports=JSON.parse('{"name":"@slack/web-api","version":"7.3.4","description":"Official library for using the Slack Platform\'s Web API","author":"Slack Technologies, LLC","license":"MIT","keywords":["slack","web-api","bot","client","http","api","proxy","rate-limiting","pagination"],"main":"dist/index.js","types":"./dist/index.d.ts","files":["dist/**/*"],"engines":{"node":">= 18","npm":">= 8.6.0"},"repository":"slackapi/node-slack-sdk","homepage":"https://slack.dev/node-slack-sdk/web-api","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/slackapi/node-slack-sdk/issues"},"scripts":{"prepare":"npm run build","build":"npm run build:clean && tsc","build:clean":"shx rm -rf ./dist ./coverage","lint":"eslint --fix --ext .ts src","mocha":"mocha --config .mocharc.json src/*.spec.js","test":"npm run lint && npm run test:types && npm run test:integration && npm run test:unit","test:integration":"npm run build && node test/integration/commonjs-project/index.js && node test/integration/esm-project/index.mjs && npm run test:integration:ts","test:integration:ts":"cd test/integration/ts-4.7-project && npm i && npm run build","test:unit":"npm run build && c8 npm run mocha","test:types":"tsd","ref-docs:model":"api-extractor run","watch":"npx nodemon --watch \'src\' --ext \'ts\' --exec npm run build"},"dependencies":{"@slack/logger":"^4.0.0","@slack/types":"^2.9.0","@types/node":">=18.0.0","@types/retry":"0.12.0","axios":"^1.7.4","eventemitter3":"^5.0.1","form-data":"^4.0.0","is-electron":"2.2.2","is-stream":"^2","p-queue":"^6","p-retry":"^4","retry":"^0.13.1"},"devDependencies":{"@microsoft/api-extractor":"^7","@tsconfig/recommended":"^1","@types/chai":"^4","@types/mocha":"^10","@types/sinon":"^17","@typescript-eslint/eslint-plugin":"^6","@typescript-eslint/parser":"^6","busboy":"^1","c8":"^9.1.0","chai":"^4","eslint":"^8","eslint-config-airbnb-base":"^15","eslint-config-airbnb-typescript":"^17","eslint-plugin-import":"^2","eslint-plugin-import-newlines":"^1.3.4","eslint-plugin-jsdoc":"^48","eslint-plugin-node":"^11","mocha":"^10","nock":"^13","shx":"^0.3.2","sinon":"^17","source-map-support":"^0.5.21","ts-node":"^10","tsd":"^0.30.0","typescript":"5.3.3"},"tsd":{"directory":"test/types"}}')},6450:e=>{"use strict";e.exports=JSON.parse('{"application/1d-interleaved-parityfec":{"source":"iana"},"application/3gpdash-qoe-report+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/3gpp-ims+xml":{"source":"iana","compressible":true},"application/3gpphal+json":{"source":"iana","compressible":true},"application/3gpphalforms+json":{"source":"iana","compressible":true},"application/a2l":{"source":"iana"},"application/ace+cbor":{"source":"iana"},"application/activemessage":{"source":"iana"},"application/activity+json":{"source":"iana","compressible":true},"application/alto-costmap+json":{"source":"iana","compressible":true},"application/alto-costmapfilter+json":{"source":"iana","compressible":true},"application/alto-directory+json":{"source":"iana","compressible":true},"application/alto-endpointcost+json":{"source":"iana","compressible":true},"application/alto-endpointcostparams+json":{"source":"iana","compressible":true},"application/alto-endpointprop+json":{"source":"iana","compressible":true},"application/alto-endpointpropparams+json":{"source":"iana","compressible":true},"application/alto-error+json":{"source":"iana","compressible":true},"application/alto-networkmap+json":{"source":"iana","compressible":true},"application/alto-networkmapfilter+json":{"source":"iana","compressible":true},"application/alto-updatestreamcontrol+json":{"source":"iana","compressible":true},"application/alto-updatestreamparams+json":{"source":"iana","compressible":true},"application/aml":{"source":"iana"},"application/andrew-inset":{"source":"iana","extensions":["ez"]},"application/applefile":{"source":"iana"},"application/applixware":{"source":"apache","extensions":["aw"]},"application/at+jwt":{"source":"iana"},"application/atf":{"source":"iana"},"application/atfx":{"source":"iana"},"application/atom+xml":{"source":"iana","compressible":true,"extensions":["atom"]},"application/atomcat+xml":{"source":"iana","compressible":true,"extensions":["atomcat"]},"application/atomdeleted+xml":{"source":"iana","compressible":true,"extensions":["atomdeleted"]},"application/atomicmail":{"source":"iana"},"application/atomsvc+xml":{"source":"iana","compressible":true,"extensions":["atomsvc"]},"application/atsc-dwd+xml":{"source":"iana","compressible":true,"extensions":["dwd"]},"application/atsc-dynamic-event-message":{"source":"iana"},"application/atsc-held+xml":{"source":"iana","compressible":true,"extensions":["held"]},"application/atsc-rdt+json":{"source":"iana","compressible":true},"application/atsc-rsat+xml":{"source":"iana","compressible":true,"extensions":["rsat"]},"application/atxml":{"source":"iana"},"application/auth-policy+xml":{"source":"iana","compressible":true},"application/bacnet-xdd+zip":{"source":"iana","compressible":false},"application/batch-smtp":{"source":"iana"},"application/bdoc":{"compressible":false,"extensions":["bdoc"]},"application/beep+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/calendar+json":{"source":"iana","compressible":true},"application/calendar+xml":{"source":"iana","compressible":true,"extensions":["xcs"]},"application/call-completion":{"source":"iana"},"application/cals-1840":{"source":"iana"},"application/captive+json":{"source":"iana","compressible":true},"application/cbor":{"source":"iana"},"application/cbor-seq":{"source":"iana"},"application/cccex":{"source":"iana"},"application/ccmp+xml":{"source":"iana","compressible":true},"application/ccxml+xml":{"source":"iana","compressible":true,"extensions":["ccxml"]},"application/cdfx+xml":{"source":"iana","compressible":true,"extensions":["cdfx"]},"application/cdmi-capability":{"source":"iana","extensions":["cdmia"]},"application/cdmi-container":{"source":"iana","extensions":["cdmic"]},"application/cdmi-domain":{"source":"iana","extensions":["cdmid"]},"application/cdmi-object":{"source":"iana","extensions":["cdmio"]},"application/cdmi-queue":{"source":"iana","extensions":["cdmiq"]},"application/cdni":{"source":"iana"},"application/cea":{"source":"iana"},"application/cea-2018+xml":{"source":"iana","compressible":true},"application/cellml+xml":{"source":"iana","compressible":true},"application/cfw":{"source":"iana"},"application/city+json":{"source":"iana","compressible":true},"application/clr":{"source":"iana"},"application/clue+xml":{"source":"iana","compressible":true},"application/clue_info+xml":{"source":"iana","compressible":true},"application/cms":{"source":"iana"},"application/cnrp+xml":{"source":"iana","compressible":true},"application/coap-group+json":{"source":"iana","compressible":true},"application/coap-payload":{"source":"iana"},"application/commonground":{"source":"iana"},"application/conference-info+xml":{"source":"iana","compressible":true},"application/cose":{"source":"iana"},"application/cose-key":{"source":"iana"},"application/cose-key-set":{"source":"iana"},"application/cpl+xml":{"source":"iana","compressible":true,"extensions":["cpl"]},"application/csrattrs":{"source":"iana"},"application/csta+xml":{"source":"iana","compressible":true},"application/cstadata+xml":{"source":"iana","compressible":true},"application/csvm+json":{"source":"iana","compressible":true},"application/cu-seeme":{"source":"apache","extensions":["cu"]},"application/cwt":{"source":"iana"},"application/cybercash":{"source":"iana"},"application/dart":{"compressible":true},"application/dash+xml":{"source":"iana","compressible":true,"extensions":["mpd"]},"application/dash-patch+xml":{"source":"iana","compressible":true,"extensions":["mpp"]},"application/dashdelta":{"source":"iana"},"application/davmount+xml":{"source":"iana","compressible":true,"extensions":["davmount"]},"application/dca-rft":{"source":"iana"},"application/dcd":{"source":"iana"},"application/dec-dx":{"source":"iana"},"application/dialog-info+xml":{"source":"iana","compressible":true},"application/dicom":{"source":"iana"},"application/dicom+json":{"source":"iana","compressible":true},"application/dicom+xml":{"source":"iana","compressible":true},"application/dii":{"source":"iana"},"application/dit":{"source":"iana"},"application/dns":{"source":"iana"},"application/dns+json":{"source":"iana","compressible":true},"application/dns-message":{"source":"iana"},"application/docbook+xml":{"source":"apache","compressible":true,"extensions":["dbk"]},"application/dots+cbor":{"source":"iana"},"application/dskpp+xml":{"source":"iana","compressible":true},"application/dssc+der":{"source":"iana","extensions":["dssc"]},"application/dssc+xml":{"source":"iana","compressible":true,"extensions":["xdssc"]},"application/dvcs":{"source":"iana"},"application/ecmascript":{"source":"iana","compressible":true,"extensions":["es","ecma"]},"application/edi-consent":{"source":"iana"},"application/edi-x12":{"source":"iana","compressible":false},"application/edifact":{"source":"iana","compressible":false},"application/efi":{"source":"iana"},"application/elm+json":{"source":"iana","charset":"UTF-8","compressible":true},"application/elm+xml":{"source":"iana","compressible":true},"application/emergencycalldata.cap+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/emergencycalldata.comment+xml":{"source":"iana","compressible":true},"application/emergencycalldata.control+xml":{"source":"iana","compressible":true},"application/emergencycalldata.deviceinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.ecall.msd":{"source":"iana"},"application/emergencycalldata.providerinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.serviceinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.subscriberinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.veds+xml":{"source":"iana","compressible":true},"application/emma+xml":{"source":"iana","compressible":true,"extensions":["emma"]},"application/emotionml+xml":{"source":"iana","compressible":true,"extensions":["emotionml"]},"application/encaprtp":{"source":"iana"},"application/epp+xml":{"source":"iana","compressible":true},"application/epub+zip":{"source":"iana","compressible":false,"extensions":["epub"]},"application/eshop":{"source":"iana"},"application/exi":{"source":"iana","extensions":["exi"]},"application/expect-ct-report+json":{"source":"iana","compressible":true},"application/express":{"source":"iana","extensions":["exp"]},"application/fastinfoset":{"source":"iana"},"application/fastsoap":{"source":"iana"},"application/fdt+xml":{"source":"iana","compressible":true,"extensions":["fdt"]},"application/fhir+json":{"source":"iana","charset":"UTF-8","compressible":true},"application/fhir+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/fido.trusted-apps+json":{"compressible":true},"application/fits":{"source":"iana"},"application/flexfec":{"source":"iana"},"application/font-sfnt":{"source":"iana"},"application/font-tdpfr":{"source":"iana","extensions":["pfr"]},"application/font-woff":{"source":"iana","compressible":false},"application/framework-attributes+xml":{"source":"iana","compressible":true},"application/geo+json":{"source":"iana","compressible":true,"extensions":["geojson"]},"application/geo+json-seq":{"source":"iana"},"application/geopackage+sqlite3":{"source":"iana"},"application/geoxacml+xml":{"source":"iana","compressible":true},"application/gltf-buffer":{"source":"iana"},"application/gml+xml":{"source":"iana","compressible":true,"extensions":["gml"]},"application/gpx+xml":{"source":"apache","compressible":true,"extensions":["gpx"]},"application/gxf":{"source":"apache","extensions":["gxf"]},"application/gzip":{"source":"iana","compressible":false,"extensions":["gz"]},"application/h224":{"source":"iana"},"application/held+xml":{"source":"iana","compressible":true},"application/hjson":{"extensions":["hjson"]},"application/http":{"source":"iana"},"application/hyperstudio":{"source":"iana","extensions":["stk"]},"application/ibe-key-request+xml":{"source":"iana","compressible":true},"application/ibe-pkg-reply+xml":{"source":"iana","compressible":true},"application/ibe-pp-data":{"source":"iana"},"application/iges":{"source":"iana"},"application/im-iscomposing+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/index":{"source":"iana"},"application/index.cmd":{"source":"iana"},"application/index.obj":{"source":"iana"},"application/index.response":{"source":"iana"},"application/index.vnd":{"source":"iana"},"application/inkml+xml":{"source":"iana","compressible":true,"extensions":["ink","inkml"]},"application/iotp":{"source":"iana"},"application/ipfix":{"source":"iana","extensions":["ipfix"]},"application/ipp":{"source":"iana"},"application/isup":{"source":"iana"},"application/its+xml":{"source":"iana","compressible":true,"extensions":["its"]},"application/java-archive":{"source":"apache","compressible":false,"extensions":["jar","war","ear"]},"application/java-serialized-object":{"source":"apache","compressible":false,"extensions":["ser"]},"application/java-vm":{"source":"apache","compressible":false,"extensions":["class"]},"application/javascript":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["js","mjs"]},"application/jf2feed+json":{"source":"iana","compressible":true},"application/jose":{"source":"iana"},"application/jose+json":{"source":"iana","compressible":true},"application/jrd+json":{"source":"iana","compressible":true},"application/jscalendar+json":{"source":"iana","compressible":true},"application/json":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["json","map"]},"application/json-patch+json":{"source":"iana","compressible":true},"application/json-seq":{"source":"iana"},"application/json5":{"extensions":["json5"]},"application/jsonml+json":{"source":"apache","compressible":true,"extensions":["jsonml"]},"application/jwk+json":{"source":"iana","compressible":true},"application/jwk-set+json":{"source":"iana","compressible":true},"application/jwt":{"source":"iana"},"application/kpml-request+xml":{"source":"iana","compressible":true},"application/kpml-response+xml":{"source":"iana","compressible":true},"application/ld+json":{"source":"iana","compressible":true,"extensions":["jsonld"]},"application/lgr+xml":{"source":"iana","compressible":true,"extensions":["lgr"]},"application/link-format":{"source":"iana"},"application/load-control+xml":{"source":"iana","compressible":true},"application/lost+xml":{"source":"iana","compressible":true,"extensions":["lostxml"]},"application/lostsync+xml":{"source":"iana","compressible":true},"application/lpf+zip":{"source":"iana","compressible":false},"application/lxf":{"source":"iana"},"application/mac-binhex40":{"source":"iana","extensions":["hqx"]},"application/mac-compactpro":{"source":"apache","extensions":["cpt"]},"application/macwriteii":{"source":"iana"},"application/mads+xml":{"source":"iana","compressible":true,"extensions":["mads"]},"application/manifest+json":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["webmanifest"]},"application/marc":{"source":"iana","extensions":["mrc"]},"application/marcxml+xml":{"source":"iana","compressible":true,"extensions":["mrcx"]},"application/mathematica":{"source":"iana","extensions":["ma","nb","mb"]},"application/mathml+xml":{"source":"iana","compressible":true,"extensions":["mathml"]},"application/mathml-content+xml":{"source":"iana","compressible":true},"application/mathml-presentation+xml":{"source":"iana","compressible":true},"application/mbms-associated-procedure-description+xml":{"source":"iana","compressible":true},"application/mbms-deregister+xml":{"source":"iana","compressible":true},"application/mbms-envelope+xml":{"source":"iana","compressible":true},"application/mbms-msk+xml":{"source":"iana","compressible":true},"application/mbms-msk-response+xml":{"source":"iana","compressible":true},"application/mbms-protection-description+xml":{"source":"iana","compressible":true},"application/mbms-reception-report+xml":{"source":"iana","compressible":true},"application/mbms-register+xml":{"source":"iana","compressible":true},"application/mbms-register-response+xml":{"source":"iana","compressible":true},"application/mbms-schedule+xml":{"source":"iana","compressible":true},"application/mbms-user-service-description+xml":{"source":"iana","compressible":true},"application/mbox":{"source":"iana","extensions":["mbox"]},"application/media-policy-dataset+xml":{"source":"iana","compressible":true,"extensions":["mpf"]},"application/media_control+xml":{"source":"iana","compressible":true},"application/mediaservercontrol+xml":{"source":"iana","compressible":true,"extensions":["mscml"]},"application/merge-patch+json":{"source":"iana","compressible":true},"application/metalink+xml":{"source":"apache","compressible":true,"extensions":["metalink"]},"application/metalink4+xml":{"source":"iana","compressible":true,"extensions":["meta4"]},"application/mets+xml":{"source":"iana","compressible":true,"extensions":["mets"]},"application/mf4":{"source":"iana"},"application/mikey":{"source":"iana"},"application/mipc":{"source":"iana"},"application/missing-blocks+cbor-seq":{"source":"iana"},"application/mmt-aei+xml":{"source":"iana","compressible":true,"extensions":["maei"]},"application/mmt-usd+xml":{"source":"iana","compressible":true,"extensions":["musd"]},"application/mods+xml":{"source":"iana","compressible":true,"extensions":["mods"]},"application/moss-keys":{"source":"iana"},"application/moss-signature":{"source":"iana"},"application/mosskey-data":{"source":"iana"},"application/mosskey-request":{"source":"iana"},"application/mp21":{"source":"iana","extensions":["m21","mp21"]},"application/mp4":{"source":"iana","extensions":["mp4s","m4p"]},"application/mpeg4-generic":{"source":"iana"},"application/mpeg4-iod":{"source":"iana"},"application/mpeg4-iod-xmt":{"source":"iana"},"application/mrb-consumer+xml":{"source":"iana","compressible":true},"application/mrb-publish+xml":{"source":"iana","compressible":true},"application/msc-ivr+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/msc-mixer+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/msword":{"source":"iana","compressible":false,"extensions":["doc","dot"]},"application/mud+json":{"source":"iana","compressible":true},"application/multipart-core":{"source":"iana"},"application/mxf":{"source":"iana","extensions":["mxf"]},"application/n-quads":{"source":"iana","extensions":["nq"]},"application/n-triples":{"source":"iana","extensions":["nt"]},"application/nasdata":{"source":"iana"},"application/news-checkgroups":{"source":"iana","charset":"US-ASCII"},"application/news-groupinfo":{"source":"iana","charset":"US-ASCII"},"application/news-transmission":{"source":"iana"},"application/nlsml+xml":{"source":"iana","compressible":true},"application/node":{"source":"iana","extensions":["cjs"]},"application/nss":{"source":"iana"},"application/oauth-authz-req+jwt":{"source":"iana"},"application/oblivious-dns-message":{"source":"iana"},"application/ocsp-request":{"source":"iana"},"application/ocsp-response":{"source":"iana"},"application/octet-stream":{"source":"iana","compressible":false,"extensions":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{"source":"iana","extensions":["oda"]},"application/odm+xml":{"source":"iana","compressible":true},"application/odx":{"source":"iana"},"application/oebps-package+xml":{"source":"iana","compressible":true,"extensions":["opf"]},"application/ogg":{"source":"iana","compressible":false,"extensions":["ogx"]},"application/omdoc+xml":{"source":"apache","compressible":true,"extensions":["omdoc"]},"application/onenote":{"source":"apache","extensions":["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{"source":"iana","compressible":true},"application/oscore":{"source":"iana"},"application/oxps":{"source":"iana","extensions":["oxps"]},"application/p21":{"source":"iana"},"application/p21+zip":{"source":"iana","compressible":false},"application/p2p-overlay+xml":{"source":"iana","compressible":true,"extensions":["relo"]},"application/parityfec":{"source":"iana"},"application/passport":{"source":"iana"},"application/patch-ops-error+xml":{"source":"iana","compressible":true,"extensions":["xer"]},"application/pdf":{"source":"iana","compressible":false,"extensions":["pdf"]},"application/pdx":{"source":"iana"},"application/pem-certificate-chain":{"source":"iana"},"application/pgp-encrypted":{"source":"iana","compressible":false,"extensions":["pgp"]},"application/pgp-keys":{"source":"iana","extensions":["asc"]},"application/pgp-signature":{"source":"iana","extensions":["asc","sig"]},"application/pics-rules":{"source":"apache","extensions":["prf"]},"application/pidf+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/pidf-diff+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/pkcs10":{"source":"iana","extensions":["p10"]},"application/pkcs12":{"source":"iana"},"application/pkcs7-mime":{"source":"iana","extensions":["p7m","p7c"]},"application/pkcs7-signature":{"source":"iana","extensions":["p7s"]},"application/pkcs8":{"source":"iana","extensions":["p8"]},"application/pkcs8-encrypted":{"source":"iana"},"application/pkix-attr-cert":{"source":"iana","extensions":["ac"]},"application/pkix-cert":{"source":"iana","extensions":["cer"]},"application/pkix-crl":{"source":"iana","extensions":["crl"]},"application/pkix-pkipath":{"source":"iana","extensions":["pkipath"]},"application/pkixcmp":{"source":"iana","extensions":["pki"]},"application/pls+xml":{"source":"iana","compressible":true,"extensions":["pls"]},"application/poc-settings+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/postscript":{"source":"iana","compressible":true,"extensions":["ai","eps","ps"]},"application/ppsp-tracker+json":{"source":"iana","compressible":true},"application/problem+json":{"source":"iana","compressible":true},"application/problem+xml":{"source":"iana","compressible":true},"application/provenance+xml":{"source":"iana","compressible":true,"extensions":["provx"]},"application/prs.alvestrand.titrax-sheet":{"source":"iana"},"application/prs.cww":{"source":"iana","extensions":["cww"]},"application/prs.cyn":{"source":"iana","charset":"7-BIT"},"application/prs.hpub+zip":{"source":"iana","compressible":false},"application/prs.nprend":{"source":"iana"},"application/prs.plucker":{"source":"iana"},"application/prs.rdf-xml-crypt":{"source":"iana"},"application/prs.xsf+xml":{"source":"iana","compressible":true},"application/pskc+xml":{"source":"iana","compressible":true,"extensions":["pskcxml"]},"application/pvd+json":{"source":"iana","compressible":true},"application/qsig":{"source":"iana"},"application/raml+yaml":{"compressible":true,"extensions":["raml"]},"application/raptorfec":{"source":"iana"},"application/rdap+json":{"source":"iana","compressible":true},"application/rdf+xml":{"source":"iana","compressible":true,"extensions":["rdf","owl"]},"application/reginfo+xml":{"source":"iana","compressible":true,"extensions":["rif"]},"application/relax-ng-compact-syntax":{"source":"iana","extensions":["rnc"]},"application/remote-printing":{"source":"iana"},"application/reputon+json":{"source":"iana","compressible":true},"application/resource-lists+xml":{"source":"iana","compressible":true,"extensions":["rl"]},"application/resource-lists-diff+xml":{"source":"iana","compressible":true,"extensions":["rld"]},"application/rfc+xml":{"source":"iana","compressible":true},"application/riscos":{"source":"iana"},"application/rlmi+xml":{"source":"iana","compressible":true},"application/rls-services+xml":{"source":"iana","compressible":true,"extensions":["rs"]},"application/route-apd+xml":{"source":"iana","compressible":true,"extensions":["rapd"]},"application/route-s-tsid+xml":{"source":"iana","compressible":true,"extensions":["sls"]},"application/route-usd+xml":{"source":"iana","compressible":true,"extensions":["rusd"]},"application/rpki-ghostbusters":{"source":"iana","extensions":["gbr"]},"application/rpki-manifest":{"source":"iana","extensions":["mft"]},"application/rpki-publication":{"source":"iana"},"application/rpki-roa":{"source":"iana","extensions":["roa"]},"application/rpki-updown":{"source":"iana"},"application/rsd+xml":{"source":"apache","compressible":true,"extensions":["rsd"]},"application/rss+xml":{"source":"apache","compressible":true,"extensions":["rss"]},"application/rtf":{"source":"iana","compressible":true,"extensions":["rtf"]},"application/rtploopback":{"source":"iana"},"application/rtx":{"source":"iana"},"application/samlassertion+xml":{"source":"iana","compressible":true},"application/samlmetadata+xml":{"source":"iana","compressible":true},"application/sarif+json":{"source":"iana","compressible":true},"application/sarif-external-properties+json":{"source":"iana","compressible":true},"application/sbe":{"source":"iana"},"application/sbml+xml":{"source":"iana","compressible":true,"extensions":["sbml"]},"application/scaip+xml":{"source":"iana","compressible":true},"application/scim+json":{"source":"iana","compressible":true},"application/scvp-cv-request":{"source":"iana","extensions":["scq"]},"application/scvp-cv-response":{"source":"iana","extensions":["scs"]},"application/scvp-vp-request":{"source":"iana","extensions":["spq"]},"application/scvp-vp-response":{"source":"iana","extensions":["spp"]},"application/sdp":{"source":"iana","extensions":["sdp"]},"application/secevent+jwt":{"source":"iana"},"application/senml+cbor":{"source":"iana"},"application/senml+json":{"source":"iana","compressible":true},"application/senml+xml":{"source":"iana","compressible":true,"extensions":["senmlx"]},"application/senml-etch+cbor":{"source":"iana"},"application/senml-etch+json":{"source":"iana","compressible":true},"application/senml-exi":{"source":"iana"},"application/sensml+cbor":{"source":"iana"},"application/sensml+json":{"source":"iana","compressible":true},"application/sensml+xml":{"source":"iana","compressible":true,"extensions":["sensmlx"]},"application/sensml-exi":{"source":"iana"},"application/sep+xml":{"source":"iana","compressible":true},"application/sep-exi":{"source":"iana"},"application/session-info":{"source":"iana"},"application/set-payment":{"source":"iana"},"application/set-payment-initiation":{"source":"iana","extensions":["setpay"]},"application/set-registration":{"source":"iana"},"application/set-registration-initiation":{"source":"iana","extensions":["setreg"]},"application/sgml":{"source":"iana"},"application/sgml-open-catalog":{"source":"iana"},"application/shf+xml":{"source":"iana","compressible":true,"extensions":["shf"]},"application/sieve":{"source":"iana","extensions":["siv","sieve"]},"application/simple-filter+xml":{"source":"iana","compressible":true},"application/simple-message-summary":{"source":"iana"},"application/simplesymbolcontainer":{"source":"iana"},"application/sipc":{"source":"iana"},"application/slate":{"source":"iana"},"application/smil":{"source":"iana"},"application/smil+xml":{"source":"iana","compressible":true,"extensions":["smi","smil"]},"application/smpte336m":{"source":"iana"},"application/soap+fastinfoset":{"source":"iana"},"application/soap+xml":{"source":"iana","compressible":true},"application/sparql-query":{"source":"iana","extensions":["rq"]},"application/sparql-results+xml":{"source":"iana","compressible":true,"extensions":["srx"]},"application/spdx+json":{"source":"iana","compressible":true},"application/spirits-event+xml":{"source":"iana","compressible":true},"application/sql":{"source":"iana"},"application/srgs":{"source":"iana","extensions":["gram"]},"application/srgs+xml":{"source":"iana","compressible":true,"extensions":["grxml"]},"application/sru+xml":{"source":"iana","compressible":true,"extensions":["sru"]},"application/ssdl+xml":{"source":"apache","compressible":true,"extensions":["ssdl"]},"application/ssml+xml":{"source":"iana","compressible":true,"extensions":["ssml"]},"application/stix+json":{"source":"iana","compressible":true},"application/swid+xml":{"source":"iana","compressible":true,"extensions":["swidtag"]},"application/tamp-apex-update":{"source":"iana"},"application/tamp-apex-update-confirm":{"source":"iana"},"application/tamp-community-update":{"source":"iana"},"application/tamp-community-update-confirm":{"source":"iana"},"application/tamp-error":{"source":"iana"},"application/tamp-sequence-adjust":{"source":"iana"},"application/tamp-sequence-adjust-confirm":{"source":"iana"},"application/tamp-status-query":{"source":"iana"},"application/tamp-status-response":{"source":"iana"},"application/tamp-update":{"source":"iana"},"application/tamp-update-confirm":{"source":"iana"},"application/tar":{"compressible":true},"application/taxii+json":{"source":"iana","compressible":true},"application/td+json":{"source":"iana","compressible":true},"application/tei+xml":{"source":"iana","compressible":true,"extensions":["tei","teicorpus"]},"application/tetra_isi":{"source":"iana"},"application/thraud+xml":{"source":"iana","compressible":true,"extensions":["tfi"]},"application/timestamp-query":{"source":"iana"},"application/timestamp-reply":{"source":"iana"},"application/timestamped-data":{"source":"iana","extensions":["tsd"]},"application/tlsrpt+gzip":{"source":"iana"},"application/tlsrpt+json":{"source":"iana","compressible":true},"application/tnauthlist":{"source":"iana"},"application/token-introspection+jwt":{"source":"iana"},"application/toml":{"compressible":true,"extensions":["toml"]},"application/trickle-ice-sdpfrag":{"source":"iana"},"application/trig":{"source":"iana","extensions":["trig"]},"application/ttml+xml":{"source":"iana","compressible":true,"extensions":["ttml"]},"application/tve-trigger":{"source":"iana"},"application/tzif":{"source":"iana"},"application/tzif-leap":{"source":"iana"},"application/ubjson":{"compressible":false,"extensions":["ubj"]},"application/ulpfec":{"source":"iana"},"application/urc-grpsheet+xml":{"source":"iana","compressible":true},"application/urc-ressheet+xml":{"source":"iana","compressible":true,"extensions":["rsheet"]},"application/urc-targetdesc+xml":{"source":"iana","compressible":true,"extensions":["td"]},"application/urc-uisocketdesc+xml":{"source":"iana","compressible":true},"application/vcard+json":{"source":"iana","compressible":true},"application/vcard+xml":{"source":"iana","compressible":true},"application/vemmi":{"source":"iana"},"application/vividence.scriptfile":{"source":"apache"},"application/vnd.1000minds.decision-model+xml":{"source":"iana","compressible":true,"extensions":["1km"]},"application/vnd.3gpp-prose+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-prose-pc3ch+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-v2x-local-service-information":{"source":"iana"},"application/vnd.3gpp.5gnas":{"source":"iana"},"application/vnd.3gpp.access-transfer-events+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.bsf+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.gmop+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.gtpc":{"source":"iana"},"application/vnd.3gpp.interworking-data":{"source":"iana"},"application/vnd.3gpp.lpp":{"source":"iana"},"application/vnd.3gpp.mc-signalling-ear":{"source":"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-payload":{"source":"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-signalling":{"source":"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-floor-request+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-location-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-signed+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-ue-init-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-location-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-transmission-request+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mid-call+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.ngap":{"source":"iana"},"application/vnd.3gpp.pfcp":{"source":"iana"},"application/vnd.3gpp.pic-bw-large":{"source":"iana","extensions":["plb"]},"application/vnd.3gpp.pic-bw-small":{"source":"iana","extensions":["psb"]},"application/vnd.3gpp.pic-bw-var":{"source":"iana","extensions":["pvb"]},"application/vnd.3gpp.s1ap":{"source":"iana"},"application/vnd.3gpp.sms":{"source":"iana"},"application/vnd.3gpp.sms+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.srvcc-ext+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.srvcc-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.state-and-event-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.ussd+xml":{"source":"iana","compressible":true},"application/vnd.3gpp2.bcmcsinfo+xml":{"source":"iana","compressible":true},"application/vnd.3gpp2.sms":{"source":"iana"},"application/vnd.3gpp2.tcap":{"source":"iana","extensions":["tcap"]},"application/vnd.3lightssoftware.imagescal":{"source":"iana"},"application/vnd.3m.post-it-notes":{"source":"iana","extensions":["pwn"]},"application/vnd.accpac.simply.aso":{"source":"iana","extensions":["aso"]},"application/vnd.accpac.simply.imp":{"source":"iana","extensions":["imp"]},"application/vnd.acucobol":{"source":"iana","extensions":["acu"]},"application/vnd.acucorp":{"source":"iana","extensions":["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{"source":"apache","compressible":false,"extensions":["air"]},"application/vnd.adobe.flash.movie":{"source":"iana"},"application/vnd.adobe.formscentral.fcdt":{"source":"iana","extensions":["fcdt"]},"application/vnd.adobe.fxp":{"source":"iana","extensions":["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{"source":"iana"},"application/vnd.adobe.xdp+xml":{"source":"iana","compressible":true,"extensions":["xdp"]},"application/vnd.adobe.xfdf":{"source":"iana","extensions":["xfdf"]},"application/vnd.aether.imp":{"source":"iana"},"application/vnd.afpc.afplinedata":{"source":"iana"},"application/vnd.afpc.afplinedata-pagedef":{"source":"iana"},"application/vnd.afpc.cmoca-cmresource":{"source":"iana"},"application/vnd.afpc.foca-charset":{"source":"iana"},"application/vnd.afpc.foca-codedfont":{"source":"iana"},"application/vnd.afpc.foca-codepage":{"source":"iana"},"application/vnd.afpc.modca":{"source":"iana"},"application/vnd.afpc.modca-cmtable":{"source":"iana"},"application/vnd.afpc.modca-formdef":{"source":"iana"},"application/vnd.afpc.modca-mediummap":{"source":"iana"},"application/vnd.afpc.modca-objectcontainer":{"source":"iana"},"application/vnd.afpc.modca-overlay":{"source":"iana"},"application/vnd.afpc.modca-pagesegment":{"source":"iana"},"application/vnd.age":{"source":"iana","extensions":["age"]},"application/vnd.ah-barcode":{"source":"iana"},"application/vnd.ahead.space":{"source":"iana","extensions":["ahead"]},"application/vnd.airzip.filesecure.azf":{"source":"iana","extensions":["azf"]},"application/vnd.airzip.filesecure.azs":{"source":"iana","extensions":["azs"]},"application/vnd.amadeus+json":{"source":"iana","compressible":true},"application/vnd.amazon.ebook":{"source":"apache","extensions":["azw"]},"application/vnd.amazon.mobi8-ebook":{"source":"iana"},"application/vnd.americandynamics.acc":{"source":"iana","extensions":["acc"]},"application/vnd.amiga.ami":{"source":"iana","extensions":["ami"]},"application/vnd.amundsen.maze+xml":{"source":"iana","compressible":true},"application/vnd.android.ota":{"source":"iana"},"application/vnd.android.package-archive":{"source":"apache","compressible":false,"extensions":["apk"]},"application/vnd.anki":{"source":"iana"},"application/vnd.anser-web-certificate-issue-initiation":{"source":"iana","extensions":["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{"source":"apache","extensions":["fti"]},"application/vnd.antix.game-component":{"source":"iana","extensions":["atx"]},"application/vnd.apache.arrow.file":{"source":"iana"},"application/vnd.apache.arrow.stream":{"source":"iana"},"application/vnd.apache.thrift.binary":{"source":"iana"},"application/vnd.apache.thrift.compact":{"source":"iana"},"application/vnd.apache.thrift.json":{"source":"iana"},"application/vnd.api+json":{"source":"iana","compressible":true},"application/vnd.aplextor.warrp+json":{"source":"iana","compressible":true},"application/vnd.apothekende.reservation+json":{"source":"iana","compressible":true},"application/vnd.apple.installer+xml":{"source":"iana","compressible":true,"extensions":["mpkg"]},"application/vnd.apple.keynote":{"source":"iana","extensions":["key"]},"application/vnd.apple.mpegurl":{"source":"iana","extensions":["m3u8"]},"application/vnd.apple.numbers":{"source":"iana","extensions":["numbers"]},"application/vnd.apple.pages":{"source":"iana","extensions":["pages"]},"application/vnd.apple.pkpass":{"compressible":false,"extensions":["pkpass"]},"application/vnd.arastra.swi":{"source":"iana"},"application/vnd.aristanetworks.swi":{"source":"iana","extensions":["swi"]},"application/vnd.artisan+json":{"source":"iana","compressible":true},"application/vnd.artsquare":{"source":"iana"},"application/vnd.astraea-software.iota":{"source":"iana","extensions":["iota"]},"application/vnd.audiograph":{"source":"iana","extensions":["aep"]},"application/vnd.autopackage":{"source":"iana"},"application/vnd.avalon+json":{"source":"iana","compressible":true},"application/vnd.avistar+xml":{"source":"iana","compressible":true},"application/vnd.balsamiq.bmml+xml":{"source":"iana","compressible":true,"extensions":["bmml"]},"application/vnd.balsamiq.bmpr":{"source":"iana"},"application/vnd.banana-accounting":{"source":"iana"},"application/vnd.bbf.usp.error":{"source":"iana"},"application/vnd.bbf.usp.msg":{"source":"iana"},"application/vnd.bbf.usp.msg+json":{"source":"iana","compressible":true},"application/vnd.bekitzur-stech+json":{"source":"iana","compressible":true},"application/vnd.bint.med-content":{"source":"iana"},"application/vnd.biopax.rdf+xml":{"source":"iana","compressible":true},"application/vnd.blink-idb-value-wrapper":{"source":"iana"},"application/vnd.blueice.multipass":{"source":"iana","extensions":["mpm"]},"application/vnd.bluetooth.ep.oob":{"source":"iana"},"application/vnd.bluetooth.le.oob":{"source":"iana"},"application/vnd.bmi":{"source":"iana","extensions":["bmi"]},"application/vnd.bpf":{"source":"iana"},"application/vnd.bpf3":{"source":"iana"},"application/vnd.businessobjects":{"source":"iana","extensions":["rep"]},"application/vnd.byu.uapi+json":{"source":"iana","compressible":true},"application/vnd.cab-jscript":{"source":"iana"},"application/vnd.canon-cpdl":{"source":"iana"},"application/vnd.canon-lips":{"source":"iana"},"application/vnd.capasystems-pg+json":{"source":"iana","compressible":true},"application/vnd.cendio.thinlinc.clientconf":{"source":"iana"},"application/vnd.century-systems.tcp_stream":{"source":"iana"},"application/vnd.chemdraw+xml":{"source":"iana","compressible":true,"extensions":["cdxml"]},"application/vnd.chess-pgn":{"source":"iana"},"application/vnd.chipnuts.karaoke-mmd":{"source":"iana","extensions":["mmd"]},"application/vnd.ciedi":{"source":"iana"},"application/vnd.cinderella":{"source":"iana","extensions":["cdy"]},"application/vnd.cirpack.isdn-ext":{"source":"iana"},"application/vnd.citationstyles.style+xml":{"source":"iana","compressible":true,"extensions":["csl"]},"application/vnd.claymore":{"source":"iana","extensions":["cla"]},"application/vnd.cloanto.rp9":{"source":"iana","extensions":["rp9"]},"application/vnd.clonk.c4group":{"source":"iana","extensions":["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{"source":"iana","extensions":["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{"source":"iana","extensions":["c11amz"]},"application/vnd.coffeescript":{"source":"iana"},"application/vnd.collabio.xodocuments.document":{"source":"iana"},"application/vnd.collabio.xodocuments.document-template":{"source":"iana"},"application/vnd.collabio.xodocuments.presentation":{"source":"iana"},"application/vnd.collabio.xodocuments.presentation-template":{"source":"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{"source":"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{"source":"iana"},"application/vnd.collection+json":{"source":"iana","compressible":true},"application/vnd.collection.doc+json":{"source":"iana","compressible":true},"application/vnd.collection.next+json":{"source":"iana","compressible":true},"application/vnd.comicbook+zip":{"source":"iana","compressible":false},"application/vnd.comicbook-rar":{"source":"iana"},"application/vnd.commerce-battelle":{"source":"iana"},"application/vnd.commonspace":{"source":"iana","extensions":["csp"]},"application/vnd.contact.cmsg":{"source":"iana","extensions":["cdbcmsg"]},"application/vnd.coreos.ignition+json":{"source":"iana","compressible":true},"application/vnd.cosmocaller":{"source":"iana","extensions":["cmc"]},"application/vnd.crick.clicker":{"source":"iana","extensions":["clkx"]},"application/vnd.crick.clicker.keyboard":{"source":"iana","extensions":["clkk"]},"application/vnd.crick.clicker.palette":{"source":"iana","extensions":["clkp"]},"application/vnd.crick.clicker.template":{"source":"iana","extensions":["clkt"]},"application/vnd.crick.clicker.wordbank":{"source":"iana","extensions":["clkw"]},"application/vnd.criticaltools.wbs+xml":{"source":"iana","compressible":true,"extensions":["wbs"]},"application/vnd.cryptii.pipe+json":{"source":"iana","compressible":true},"application/vnd.crypto-shade-file":{"source":"iana"},"application/vnd.cryptomator.encrypted":{"source":"iana"},"application/vnd.cryptomator.vault":{"source":"iana"},"application/vnd.ctc-posml":{"source":"iana","extensions":["pml"]},"application/vnd.ctct.ws+xml":{"source":"iana","compressible":true},"application/vnd.cups-pdf":{"source":"iana"},"application/vnd.cups-postscript":{"source":"iana"},"application/vnd.cups-ppd":{"source":"iana","extensions":["ppd"]},"application/vnd.cups-raster":{"source":"iana"},"application/vnd.cups-raw":{"source":"iana"},"application/vnd.curl":{"source":"iana"},"application/vnd.curl.car":{"source":"apache","extensions":["car"]},"application/vnd.curl.pcurl":{"source":"apache","extensions":["pcurl"]},"application/vnd.cyan.dean.root+xml":{"source":"iana","compressible":true},"application/vnd.cybank":{"source":"iana"},"application/vnd.cyclonedx+json":{"source":"iana","compressible":true},"application/vnd.cyclonedx+xml":{"source":"iana","compressible":true},"application/vnd.d2l.coursepackage1p0+zip":{"source":"iana","compressible":false},"application/vnd.d3m-dataset":{"source":"iana"},"application/vnd.d3m-problem":{"source":"iana"},"application/vnd.dart":{"source":"iana","compressible":true,"extensions":["dart"]},"application/vnd.data-vision.rdz":{"source":"iana","extensions":["rdz"]},"application/vnd.datapackage+json":{"source":"iana","compressible":true},"application/vnd.dataresource+json":{"source":"iana","compressible":true},"application/vnd.dbf":{"source":"iana","extensions":["dbf"]},"application/vnd.debian.binary-package":{"source":"iana"},"application/vnd.dece.data":{"source":"iana","extensions":["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{"source":"iana","compressible":true,"extensions":["uvt","uvvt"]},"application/vnd.dece.unspecified":{"source":"iana","extensions":["uvx","uvvx"]},"application/vnd.dece.zip":{"source":"iana","extensions":["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{"source":"iana","extensions":["fe_launch"]},"application/vnd.desmume.movie":{"source":"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{"source":"iana"},"application/vnd.dm.delegation+xml":{"source":"iana","compressible":true},"application/vnd.dna":{"source":"iana","extensions":["dna"]},"application/vnd.document+json":{"source":"iana","compressible":true},"application/vnd.dolby.mlp":{"source":"apache","extensions":["mlp"]},"application/vnd.dolby.mobile.1":{"source":"iana"},"application/vnd.dolby.mobile.2":{"source":"iana"},"application/vnd.doremir.scorecloud-binary-document":{"source":"iana"},"application/vnd.dpgraph":{"source":"iana","extensions":["dpg"]},"application/vnd.dreamfactory":{"source":"iana","extensions":["dfac"]},"application/vnd.drive+json":{"source":"iana","compressible":true},"application/vnd.ds-keypoint":{"source":"apache","extensions":["kpxx"]},"application/vnd.dtg.local":{"source":"iana"},"application/vnd.dtg.local.flash":{"source":"iana"},"application/vnd.dtg.local.html":{"source":"iana"},"application/vnd.dvb.ait":{"source":"iana","extensions":["ait"]},"application/vnd.dvb.dvbisl+xml":{"source":"iana","compressible":true},"application/vnd.dvb.dvbj":{"source":"iana"},"application/vnd.dvb.esgcontainer":{"source":"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{"source":"iana"},"application/vnd.dvb.ipdcesgaccess":{"source":"iana"},"application/vnd.dvb.ipdcesgaccess2":{"source":"iana"},"application/vnd.dvb.ipdcesgpdd":{"source":"iana"},"application/vnd.dvb.ipdcroaming":{"source":"iana"},"application/vnd.dvb.iptv.alfec-base":{"source":"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{"source":"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-container+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-generic+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-msglist+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-registration-request+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-registration-response+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-init+xml":{"source":"iana","compressible":true},"application/vnd.dvb.pfr":{"source":"iana"},"application/vnd.dvb.service":{"source":"iana","extensions":["svc"]},"application/vnd.dxr":{"source":"iana"},"application/vnd.dynageo":{"source":"iana","extensions":["geo"]},"application/vnd.dzr":{"source":"iana"},"application/vnd.easykaraoke.cdgdownload":{"source":"iana"},"application/vnd.ecdis-update":{"source":"iana"},"application/vnd.ecip.rlp":{"source":"iana"},"application/vnd.eclipse.ditto+json":{"source":"iana","compressible":true},"application/vnd.ecowin.chart":{"source":"iana","extensions":["mag"]},"application/vnd.ecowin.filerequest":{"source":"iana"},"application/vnd.ecowin.fileupdate":{"source":"iana"},"application/vnd.ecowin.series":{"source":"iana"},"application/vnd.ecowin.seriesrequest":{"source":"iana"},"application/vnd.ecowin.seriesupdate":{"source":"iana"},"application/vnd.efi.img":{"source":"iana"},"application/vnd.efi.iso":{"source":"iana"},"application/vnd.emclient.accessrequest+xml":{"source":"iana","compressible":true},"application/vnd.enliven":{"source":"iana","extensions":["nml"]},"application/vnd.enphase.envoy":{"source":"iana"},"application/vnd.eprints.data+xml":{"source":"iana","compressible":true},"application/vnd.epson.esf":{"source":"iana","extensions":["esf"]},"application/vnd.epson.msf":{"source":"iana","extensions":["msf"]},"application/vnd.epson.quickanime":{"source":"iana","extensions":["qam"]},"application/vnd.epson.salt":{"source":"iana","extensions":["slt"]},"application/vnd.epson.ssf":{"source":"iana","extensions":["ssf"]},"application/vnd.ericsson.quickcall":{"source":"iana"},"application/vnd.espass-espass+zip":{"source":"iana","compressible":false},"application/vnd.eszigno3+xml":{"source":"iana","compressible":true,"extensions":["es3","et3"]},"application/vnd.etsi.aoc+xml":{"source":"iana","compressible":true},"application/vnd.etsi.asic-e+zip":{"source":"iana","compressible":false},"application/vnd.etsi.asic-s+zip":{"source":"iana","compressible":false},"application/vnd.etsi.cug+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvcommand+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvdiscovery+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvprofile+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-bc+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-cod+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-npvr+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvservice+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsync+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvueprofile+xml":{"source":"iana","compressible":true},"application/vnd.etsi.mcid+xml":{"source":"iana","compressible":true},"application/vnd.etsi.mheg5":{"source":"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{"source":"iana","compressible":true},"application/vnd.etsi.pstn+xml":{"source":"iana","compressible":true},"application/vnd.etsi.sci+xml":{"source":"iana","compressible":true},"application/vnd.etsi.simservs+xml":{"source":"iana","compressible":true},"application/vnd.etsi.timestamp-token":{"source":"iana"},"application/vnd.etsi.tsl+xml":{"source":"iana","compressible":true},"application/vnd.etsi.tsl.der":{"source":"iana"},"application/vnd.eu.kasparian.car+json":{"source":"iana","compressible":true},"application/vnd.eudora.data":{"source":"iana"},"application/vnd.evolv.ecig.profile":{"source":"iana"},"application/vnd.evolv.ecig.settings":{"source":"iana"},"application/vnd.evolv.ecig.theme":{"source":"iana"},"application/vnd.exstream-empower+zip":{"source":"iana","compressible":false},"application/vnd.exstream-package":{"source":"iana"},"application/vnd.ezpix-album":{"source":"iana","extensions":["ez2"]},"application/vnd.ezpix-package":{"source":"iana","extensions":["ez3"]},"application/vnd.f-secure.mobile":{"source":"iana"},"application/vnd.familysearch.gedcom+zip":{"source":"iana","compressible":false},"application/vnd.fastcopy-disk-image":{"source":"iana"},"application/vnd.fdf":{"source":"iana","extensions":["fdf"]},"application/vnd.fdsn.mseed":{"source":"iana","extensions":["mseed"]},"application/vnd.fdsn.seed":{"source":"iana","extensions":["seed","dataless"]},"application/vnd.ffsns":{"source":"iana"},"application/vnd.ficlab.flb+zip":{"source":"iana","compressible":false},"application/vnd.filmit.zfc":{"source":"iana"},"application/vnd.fints":{"source":"iana"},"application/vnd.firemonkeys.cloudcell":{"source":"iana"},"application/vnd.flographit":{"source":"iana","extensions":["gph"]},"application/vnd.fluxtime.clip":{"source":"iana","extensions":["ftc"]},"application/vnd.font-fontforge-sfd":{"source":"iana"},"application/vnd.framemaker":{"source":"iana","extensions":["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{"source":"iana","extensions":["fnc"]},"application/vnd.frogans.ltf":{"source":"iana","extensions":["ltf"]},"application/vnd.fsc.weblaunch":{"source":"iana","extensions":["fsc"]},"application/vnd.fujifilm.fb.docuworks":{"source":"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{"source":"iana"},"application/vnd.fujifilm.fb.docuworks.container":{"source":"iana"},"application/vnd.fujifilm.fb.jfi+xml":{"source":"iana","compressible":true},"application/vnd.fujitsu.oasys":{"source":"iana","extensions":["oas"]},"application/vnd.fujitsu.oasys2":{"source":"iana","extensions":["oa2"]},"application/vnd.fujitsu.oasys3":{"source":"iana","extensions":["oa3"]},"application/vnd.fujitsu.oasysgp":{"source":"iana","extensions":["fg5"]},"application/vnd.fujitsu.oasysprs":{"source":"iana","extensions":["bh2"]},"application/vnd.fujixerox.art-ex":{"source":"iana"},"application/vnd.fujixerox.art4":{"source":"iana"},"application/vnd.fujixerox.ddd":{"source":"iana","extensions":["ddd"]},"application/vnd.fujixerox.docuworks":{"source":"iana","extensions":["xdw"]},"application/vnd.fujixerox.docuworks.binder":{"source":"iana","extensions":["xbd"]},"application/vnd.fujixerox.docuworks.container":{"source":"iana"},"application/vnd.fujixerox.hbpl":{"source":"iana"},"application/vnd.fut-misnet":{"source":"iana"},"application/vnd.futoin+cbor":{"source":"iana"},"application/vnd.futoin+json":{"source":"iana","compressible":true},"application/vnd.fuzzysheet":{"source":"iana","extensions":["fzs"]},"application/vnd.genomatix.tuxedo":{"source":"iana","extensions":["txd"]},"application/vnd.gentics.grd+json":{"source":"iana","compressible":true},"application/vnd.geo+json":{"source":"iana","compressible":true},"application/vnd.geocube+xml":{"source":"iana","compressible":true},"application/vnd.geogebra.file":{"source":"iana","extensions":["ggb"]},"application/vnd.geogebra.slides":{"source":"iana"},"application/vnd.geogebra.tool":{"source":"iana","extensions":["ggt"]},"application/vnd.geometry-explorer":{"source":"iana","extensions":["gex","gre"]},"application/vnd.geonext":{"source":"iana","extensions":["gxt"]},"application/vnd.geoplan":{"source":"iana","extensions":["g2w"]},"application/vnd.geospace":{"source":"iana","extensions":["g3w"]},"application/vnd.gerber":{"source":"iana"},"application/vnd.globalplatform.card-content-mgt":{"source":"iana"},"application/vnd.globalplatform.card-content-mgt-response":{"source":"iana"},"application/vnd.gmx":{"source":"iana","extensions":["gmx"]},"application/vnd.google-apps.document":{"compressible":false,"extensions":["gdoc"]},"application/vnd.google-apps.presentation":{"compressible":false,"extensions":["gslides"]},"application/vnd.google-apps.spreadsheet":{"compressible":false,"extensions":["gsheet"]},"application/vnd.google-earth.kml+xml":{"source":"iana","compressible":true,"extensions":["kml"]},"application/vnd.google-earth.kmz":{"source":"iana","compressible":false,"extensions":["kmz"]},"application/vnd.gov.sk.e-form+xml":{"source":"iana","compressible":true},"application/vnd.gov.sk.e-form+zip":{"source":"iana","compressible":false},"application/vnd.gov.sk.xmldatacontainer+xml":{"source":"iana","compressible":true},"application/vnd.grafeq":{"source":"iana","extensions":["gqf","gqs"]},"application/vnd.gridmp":{"source":"iana"},"application/vnd.groove-account":{"source":"iana","extensions":["gac"]},"application/vnd.groove-help":{"source":"iana","extensions":["ghf"]},"application/vnd.groove-identity-message":{"source":"iana","extensions":["gim"]},"application/vnd.groove-injector":{"source":"iana","extensions":["grv"]},"application/vnd.groove-tool-message":{"source":"iana","extensions":["gtm"]},"application/vnd.groove-tool-template":{"source":"iana","extensions":["tpl"]},"application/vnd.groove-vcard":{"source":"iana","extensions":["vcg"]},"application/vnd.hal+json":{"source":"iana","compressible":true},"application/vnd.hal+xml":{"source":"iana","compressible":true,"extensions":["hal"]},"application/vnd.handheld-entertainment+xml":{"source":"iana","compressible":true,"extensions":["zmm"]},"application/vnd.hbci":{"source":"iana","extensions":["hbci"]},"application/vnd.hc+json":{"source":"iana","compressible":true},"application/vnd.hcl-bireports":{"source":"iana"},"application/vnd.hdt":{"source":"iana"},"application/vnd.heroku+json":{"source":"iana","compressible":true},"application/vnd.hhe.lesson-player":{"source":"iana","extensions":["les"]},"application/vnd.hl7cda+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.hl7v2+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.hp-hpgl":{"source":"iana","extensions":["hpgl"]},"application/vnd.hp-hpid":{"source":"iana","extensions":["hpid"]},"application/vnd.hp-hps":{"source":"iana","extensions":["hps"]},"application/vnd.hp-jlyt":{"source":"iana","extensions":["jlt"]},"application/vnd.hp-pcl":{"source":"iana","extensions":["pcl"]},"application/vnd.hp-pclxl":{"source":"iana","extensions":["pclxl"]},"application/vnd.httphone":{"source":"iana"},"application/vnd.hydrostatix.sof-data":{"source":"iana","extensions":["sfd-hdstx"]},"application/vnd.hyper+json":{"source":"iana","compressible":true},"application/vnd.hyper-item+json":{"source":"iana","compressible":true},"application/vnd.hyperdrive+json":{"source":"iana","compressible":true},"application/vnd.hzn-3d-crossword":{"source":"iana"},"application/vnd.ibm.afplinedata":{"source":"iana"},"application/vnd.ibm.electronic-media":{"source":"iana"},"application/vnd.ibm.minipay":{"source":"iana","extensions":["mpy"]},"application/vnd.ibm.modcap":{"source":"iana","extensions":["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{"source":"iana","extensions":["irm"]},"application/vnd.ibm.secure-container":{"source":"iana","extensions":["sc"]},"application/vnd.iccprofile":{"source":"iana","extensions":["icc","icm"]},"application/vnd.ieee.1905":{"source":"iana"},"application/vnd.igloader":{"source":"iana","extensions":["igl"]},"application/vnd.imagemeter.folder+zip":{"source":"iana","compressible":false},"application/vnd.imagemeter.image+zip":{"source":"iana","compressible":false},"application/vnd.immervision-ivp":{"source":"iana","extensions":["ivp"]},"application/vnd.immervision-ivu":{"source":"iana","extensions":["ivu"]},"application/vnd.ims.imsccv1p1":{"source":"iana"},"application/vnd.ims.imsccv1p2":{"source":"iana"},"application/vnd.ims.imsccv1p3":{"source":"iana"},"application/vnd.ims.lis.v2.result+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolproxy+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolproxy.id+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolsettings+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolsettings.simple+json":{"source":"iana","compressible":true},"application/vnd.informedcontrol.rms+xml":{"source":"iana","compressible":true},"application/vnd.informix-visionary":{"source":"iana"},"application/vnd.infotech.project":{"source":"iana"},"application/vnd.infotech.project+xml":{"source":"iana","compressible":true},"application/vnd.innopath.wamp.notification":{"source":"iana"},"application/vnd.insors.igm":{"source":"iana","extensions":["igm"]},"application/vnd.intercon.formnet":{"source":"iana","extensions":["xpw","xpx"]},"application/vnd.intergeo":{"source":"iana","extensions":["i2g"]},"application/vnd.intertrust.digibox":{"source":"iana"},"application/vnd.intertrust.nncp":{"source":"iana"},"application/vnd.intu.qbo":{"source":"iana","extensions":["qbo"]},"application/vnd.intu.qfx":{"source":"iana","extensions":["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.conceptitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.knowledgeitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.newsitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.newsmessage+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.packageitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.planningitem+xml":{"source":"iana","compressible":true},"application/vnd.ipunplugged.rcprofile":{"source":"iana","extensions":["rcprofile"]},"application/vnd.irepository.package+xml":{"source":"iana","compressible":true,"extensions":["irp"]},"application/vnd.is-xpr":{"source":"iana","extensions":["xpr"]},"application/vnd.isac.fcs":{"source":"iana","extensions":["fcs"]},"application/vnd.iso11783-10+zip":{"source":"iana","compressible":false},"application/vnd.jam":{"source":"iana","extensions":["jam"]},"application/vnd.japannet-directory-service":{"source":"iana"},"application/vnd.japannet-jpnstore-wakeup":{"source":"iana"},"application/vnd.japannet-payment-wakeup":{"source":"iana"},"application/vnd.japannet-registration":{"source":"iana"},"application/vnd.japannet-registration-wakeup":{"source":"iana"},"application/vnd.japannet-setstore-wakeup":{"source":"iana"},"application/vnd.japannet-verification":{"source":"iana"},"application/vnd.japannet-verification-wakeup":{"source":"iana"},"application/vnd.jcp.javame.midlet-rms":{"source":"iana","extensions":["rms"]},"application/vnd.jisp":{"source":"iana","extensions":["jisp"]},"application/vnd.joost.joda-archive":{"source":"iana","extensions":["joda"]},"application/vnd.jsk.isdn-ngn":{"source":"iana"},"application/vnd.kahootz":{"source":"iana","extensions":["ktz","ktr"]},"application/vnd.kde.karbon":{"source":"iana","extensions":["karbon"]},"application/vnd.kde.kchart":{"source":"iana","extensions":["chrt"]},"application/vnd.kde.kformula":{"source":"iana","extensions":["kfo"]},"application/vnd.kde.kivio":{"source":"iana","extensions":["flw"]},"application/vnd.kde.kontour":{"source":"iana","extensions":["kon"]},"application/vnd.kde.kpresenter":{"source":"iana","extensions":["kpr","kpt"]},"application/vnd.kde.kspread":{"source":"iana","extensions":["ksp"]},"application/vnd.kde.kword":{"source":"iana","extensions":["kwd","kwt"]},"application/vnd.kenameaapp":{"source":"iana","extensions":["htke"]},"application/vnd.kidspiration":{"source":"iana","extensions":["kia"]},"application/vnd.kinar":{"source":"iana","extensions":["kne","knp"]},"application/vnd.koan":{"source":"iana","extensions":["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{"source":"iana","extensions":["sse"]},"application/vnd.las":{"source":"iana"},"application/vnd.las.las+json":{"source":"iana","compressible":true},"application/vnd.las.las+xml":{"source":"iana","compressible":true,"extensions":["lasxml"]},"application/vnd.laszip":{"source":"iana"},"application/vnd.leap+json":{"source":"iana","compressible":true},"application/vnd.liberty-request+xml":{"source":"iana","compressible":true},"application/vnd.llamagraphics.life-balance.desktop":{"source":"iana","extensions":["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{"source":"iana","compressible":true,"extensions":["lbe"]},"application/vnd.logipipe.circuit+zip":{"source":"iana","compressible":false},"application/vnd.loom":{"source":"iana"},"application/vnd.lotus-1-2-3":{"source":"iana","extensions":["123"]},"application/vnd.lotus-approach":{"source":"iana","extensions":["apr"]},"application/vnd.lotus-freelance":{"source":"iana","extensions":["pre"]},"application/vnd.lotus-notes":{"source":"iana","extensions":["nsf"]},"application/vnd.lotus-organizer":{"source":"iana","extensions":["org"]},"application/vnd.lotus-screencam":{"source":"iana","extensions":["scm"]},"application/vnd.lotus-wordpro":{"source":"iana","extensions":["lwp"]},"application/vnd.macports.portpkg":{"source":"iana","extensions":["portpkg"]},"application/vnd.mapbox-vector-tile":{"source":"iana","extensions":["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.conftoken+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.license+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.mdcf":{"source":"iana"},"application/vnd.mason+json":{"source":"iana","compressible":true},"application/vnd.maxar.archive.3tz+zip":{"source":"iana","compressible":false},"application/vnd.maxmind.maxmind-db":{"source":"iana"},"application/vnd.mcd":{"source":"iana","extensions":["mcd"]},"application/vnd.medcalcdata":{"source":"iana","extensions":["mc1"]},"application/vnd.mediastation.cdkey":{"source":"iana","extensions":["cdkey"]},"application/vnd.meridian-slingshot":{"source":"iana"},"application/vnd.mfer":{"source":"iana","extensions":["mwf"]},"application/vnd.mfmp":{"source":"iana","extensions":["mfm"]},"application/vnd.micro+json":{"source":"iana","compressible":true},"application/vnd.micrografx.flo":{"source":"iana","extensions":["flo"]},"application/vnd.micrografx.igx":{"source":"iana","extensions":["igx"]},"application/vnd.microsoft.portable-executable":{"source":"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{"source":"iana"},"application/vnd.miele+json":{"source":"iana","compressible":true},"application/vnd.mif":{"source":"iana","extensions":["mif"]},"application/vnd.minisoft-hp3000-save":{"source":"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{"source":"iana"},"application/vnd.mobius.daf":{"source":"iana","extensions":["daf"]},"application/vnd.mobius.dis":{"source":"iana","extensions":["dis"]},"application/vnd.mobius.mbk":{"source":"iana","extensions":["mbk"]},"application/vnd.mobius.mqy":{"source":"iana","extensions":["mqy"]},"application/vnd.mobius.msl":{"source":"iana","extensions":["msl"]},"application/vnd.mobius.plc":{"source":"iana","extensions":["plc"]},"application/vnd.mobius.txf":{"source":"iana","extensions":["txf"]},"application/vnd.mophun.application":{"source":"iana","extensions":["mpn"]},"application/vnd.mophun.certificate":{"source":"iana","extensions":["mpc"]},"application/vnd.motorola.flexsuite":{"source":"iana"},"application/vnd.motorola.flexsuite.adsi":{"source":"iana"},"application/vnd.motorola.flexsuite.fis":{"source":"iana"},"application/vnd.motorola.flexsuite.gotap":{"source":"iana"},"application/vnd.motorola.flexsuite.kmr":{"source":"iana"},"application/vnd.motorola.flexsuite.ttc":{"source":"iana"},"application/vnd.motorola.flexsuite.wem":{"source":"iana"},"application/vnd.motorola.iprm":{"source":"iana"},"application/vnd.mozilla.xul+xml":{"source":"iana","compressible":true,"extensions":["xul"]},"application/vnd.ms-3mfdocument":{"source":"iana"},"application/vnd.ms-artgalry":{"source":"iana","extensions":["cil"]},"application/vnd.ms-asf":{"source":"iana"},"application/vnd.ms-cab-compressed":{"source":"iana","extensions":["cab"]},"application/vnd.ms-color.iccprofile":{"source":"apache"},"application/vnd.ms-excel":{"source":"iana","compressible":false,"extensions":["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{"source":"iana","extensions":["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{"source":"iana","extensions":["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{"source":"iana","extensions":["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{"source":"iana","extensions":["xltm"]},"application/vnd.ms-fontobject":{"source":"iana","compressible":true,"extensions":["eot"]},"application/vnd.ms-htmlhelp":{"source":"iana","extensions":["chm"]},"application/vnd.ms-ims":{"source":"iana","extensions":["ims"]},"application/vnd.ms-lrm":{"source":"iana","extensions":["lrm"]},"application/vnd.ms-office.activex+xml":{"source":"iana","compressible":true},"application/vnd.ms-officetheme":{"source":"iana","extensions":["thmx"]},"application/vnd.ms-opentype":{"source":"apache","compressible":true},"application/vnd.ms-outlook":{"compressible":false,"extensions":["msg"]},"application/vnd.ms-package.obfuscated-opentype":{"source":"apache"},"application/vnd.ms-pki.seccat":{"source":"apache","extensions":["cat"]},"application/vnd.ms-pki.stl":{"source":"apache","extensions":["stl"]},"application/vnd.ms-playready.initiator+xml":{"source":"iana","compressible":true},"application/vnd.ms-powerpoint":{"source":"iana","compressible":false,"extensions":["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{"source":"iana","extensions":["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{"source":"iana","extensions":["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{"source":"iana","extensions":["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{"source":"iana","extensions":["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{"source":"iana","extensions":["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{"source":"iana","compressible":true},"application/vnd.ms-printing.printticket+xml":{"source":"apache","compressible":true},"application/vnd.ms-printschematicket+xml":{"source":"iana","compressible":true},"application/vnd.ms-project":{"source":"iana","extensions":["mpp","mpt"]},"application/vnd.ms-tnef":{"source":"iana"},"application/vnd.ms-windows.devicepairing":{"source":"iana"},"application/vnd.ms-windows.nwprinting.oob":{"source":"iana"},"application/vnd.ms-windows.printerpairing":{"source":"iana"},"application/vnd.ms-windows.wsd.oob":{"source":"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{"source":"iana"},"application/vnd.ms-wmdrm.lic-resp":{"source":"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{"source":"iana"},"application/vnd.ms-wmdrm.meter-resp":{"source":"iana"},"application/vnd.ms-word.document.macroenabled.12":{"source":"iana","extensions":["docm"]},"application/vnd.ms-word.template.macroenabled.12":{"source":"iana","extensions":["dotm"]},"application/vnd.ms-works":{"source":"iana","extensions":["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{"source":"iana","extensions":["wpl"]},"application/vnd.ms-xpsdocument":{"source":"iana","compressible":false,"extensions":["xps"]},"application/vnd.msa-disk-image":{"source":"iana"},"application/vnd.mseq":{"source":"iana","extensions":["mseq"]},"application/vnd.msign":{"source":"iana"},"application/vnd.multiad.creator":{"source":"iana"},"application/vnd.multiad.creator.cif":{"source":"iana"},"application/vnd.music-niff":{"source":"iana"},"application/vnd.musician":{"source":"iana","extensions":["mus"]},"application/vnd.muvee.style":{"source":"iana","extensions":["msty"]},"application/vnd.mynfc":{"source":"iana","extensions":["taglet"]},"application/vnd.nacamar.ybrid+json":{"source":"iana","compressible":true},"application/vnd.ncd.control":{"source":"iana"},"application/vnd.ncd.reference":{"source":"iana"},"application/vnd.nearst.inv+json":{"source":"iana","compressible":true},"application/vnd.nebumind.line":{"source":"iana"},"application/vnd.nervana":{"source":"iana"},"application/vnd.netfpx":{"source":"iana"},"application/vnd.neurolanguage.nlu":{"source":"iana","extensions":["nlu"]},"application/vnd.nimn":{"source":"iana"},"application/vnd.nintendo.nitro.rom":{"source":"iana"},"application/vnd.nintendo.snes.rom":{"source":"iana"},"application/vnd.nitf":{"source":"iana","extensions":["ntf","nitf"]},"application/vnd.noblenet-directory":{"source":"iana","extensions":["nnd"]},"application/vnd.noblenet-sealer":{"source":"iana","extensions":["nns"]},"application/vnd.noblenet-web":{"source":"iana","extensions":["nnw"]},"application/vnd.nokia.catalogs":{"source":"iana"},"application/vnd.nokia.conml+wbxml":{"source":"iana"},"application/vnd.nokia.conml+xml":{"source":"iana","compressible":true},"application/vnd.nokia.iptv.config+xml":{"source":"iana","compressible":true},"application/vnd.nokia.isds-radio-presets":{"source":"iana"},"application/vnd.nokia.landmark+wbxml":{"source":"iana"},"application/vnd.nokia.landmark+xml":{"source":"iana","compressible":true},"application/vnd.nokia.landmarkcollection+xml":{"source":"iana","compressible":true},"application/vnd.nokia.n-gage.ac+xml":{"source":"iana","compressible":true,"extensions":["ac"]},"application/vnd.nokia.n-gage.data":{"source":"iana","extensions":["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{"source":"iana","extensions":["n-gage"]},"application/vnd.nokia.ncd":{"source":"iana"},"application/vnd.nokia.pcd+wbxml":{"source":"iana"},"application/vnd.nokia.pcd+xml":{"source":"iana","compressible":true},"application/vnd.nokia.radio-preset":{"source":"iana","extensions":["rpst"]},"application/vnd.nokia.radio-presets":{"source":"iana","extensions":["rpss"]},"application/vnd.novadigm.edm":{"source":"iana","extensions":["edm"]},"application/vnd.novadigm.edx":{"source":"iana","extensions":["edx"]},"application/vnd.novadigm.ext":{"source":"iana","extensions":["ext"]},"application/vnd.ntt-local.content-share":{"source":"iana"},"application/vnd.ntt-local.file-transfer":{"source":"iana"},"application/vnd.ntt-local.ogw_remote-access":{"source":"iana"},"application/vnd.ntt-local.sip-ta_remote":{"source":"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{"source":"iana"},"application/vnd.oasis.opendocument.chart":{"source":"iana","extensions":["odc"]},"application/vnd.oasis.opendocument.chart-template":{"source":"iana","extensions":["otc"]},"application/vnd.oasis.opendocument.database":{"source":"iana","extensions":["odb"]},"application/vnd.oasis.opendocument.formula":{"source":"iana","extensions":["odf"]},"application/vnd.oasis.opendocument.formula-template":{"source":"iana","extensions":["odft"]},"application/vnd.oasis.opendocument.graphics":{"source":"iana","compressible":false,"extensions":["odg"]},"application/vnd.oasis.opendocument.graphics-template":{"source":"iana","extensions":["otg"]},"application/vnd.oasis.opendocument.image":{"source":"iana","extensions":["odi"]},"application/vnd.oasis.opendocument.image-template":{"source":"iana","extensions":["oti"]},"application/vnd.oasis.opendocument.presentation":{"source":"iana","compressible":false,"extensions":["odp"]},"application/vnd.oasis.opendocument.presentation-template":{"source":"iana","extensions":["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{"source":"iana","compressible":false,"extensions":["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{"source":"iana","extensions":["ots"]},"application/vnd.oasis.opendocument.text":{"source":"iana","compressible":false,"extensions":["odt"]},"application/vnd.oasis.opendocument.text-master":{"source":"iana","extensions":["odm"]},"application/vnd.oasis.opendocument.text-template":{"source":"iana","extensions":["ott"]},"application/vnd.oasis.opendocument.text-web":{"source":"iana","extensions":["oth"]},"application/vnd.obn":{"source":"iana"},"application/vnd.ocf+cbor":{"source":"iana"},"application/vnd.oci.image.manifest.v1+json":{"source":"iana","compressible":true},"application/vnd.oftn.l10n+json":{"source":"iana","compressible":true},"application/vnd.oipf.contentaccessdownload+xml":{"source":"iana","compressible":true},"application/vnd.oipf.contentaccessstreaming+xml":{"source":"iana","compressible":true},"application/vnd.oipf.cspg-hexbinary":{"source":"iana"},"application/vnd.oipf.dae.svg+xml":{"source":"iana","compressible":true},"application/vnd.oipf.dae.xhtml+xml":{"source":"iana","compressible":true},"application/vnd.oipf.mippvcontrolmessage+xml":{"source":"iana","compressible":true},"application/vnd.oipf.pae.gem":{"source":"iana"},"application/vnd.oipf.spdiscovery+xml":{"source":"iana","compressible":true},"application/vnd.oipf.spdlist+xml":{"source":"iana","compressible":true},"application/vnd.oipf.ueprofile+xml":{"source":"iana","compressible":true},"application/vnd.oipf.userprofile+xml":{"source":"iana","compressible":true},"application/vnd.olpc-sugar":{"source":"iana","extensions":["xo"]},"application/vnd.oma-scws-config":{"source":"iana"},"application/vnd.oma-scws-http-request":{"source":"iana"},"application/vnd.oma-scws-http-response":{"source":"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.drm-trigger+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.imd+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.ltkm":{"source":"iana"},"application/vnd.oma.bcast.notification+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.provisioningtrigger":{"source":"iana"},"application/vnd.oma.bcast.sgboot":{"source":"iana"},"application/vnd.oma.bcast.sgdd+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.sgdu":{"source":"iana"},"application/vnd.oma.bcast.simple-symbol-container":{"source":"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.sprov+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.stkm":{"source":"iana"},"application/vnd.oma.cab-address-book+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-feature-handler+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-pcc+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-subs-invite+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-user-prefs+xml":{"source":"iana","compressible":true},"application/vnd.oma.dcd":{"source":"iana"},"application/vnd.oma.dcdc":{"source":"iana"},"application/vnd.oma.dd2+xml":{"source":"iana","compressible":true,"extensions":["dd2"]},"application/vnd.oma.drm.risd+xml":{"source":"iana","compressible":true},"application/vnd.oma.group-usage-list+xml":{"source":"iana","compressible":true},"application/vnd.oma.lwm2m+cbor":{"source":"iana"},"application/vnd.oma.lwm2m+json":{"source":"iana","compressible":true},"application/vnd.oma.lwm2m+tlv":{"source":"iana"},"application/vnd.oma.pal+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.detailed-progress-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.final-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.groups+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.invocation-descriptor+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.optimized-progress-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.push":{"source":"iana"},"application/vnd.oma.scidm.messages+xml":{"source":"iana","compressible":true},"application/vnd.oma.xcap-directory+xml":{"source":"iana","compressible":true},"application/vnd.omads-email+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omads-file+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omads-folder+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omaloc-supl-init":{"source":"iana"},"application/vnd.onepager":{"source":"iana"},"application/vnd.onepagertamp":{"source":"iana"},"application/vnd.onepagertamx":{"source":"iana"},"application/vnd.onepagertat":{"source":"iana"},"application/vnd.onepagertatp":{"source":"iana"},"application/vnd.onepagertatx":{"source":"iana"},"application/vnd.openblox.game+xml":{"source":"iana","compressible":true,"extensions":["obgx"]},"application/vnd.openblox.game-binary":{"source":"iana"},"application/vnd.openeye.oeb":{"source":"iana"},"application/vnd.openofficeorg.extension":{"source":"apache","extensions":["oxt"]},"application/vnd.openstreetmap.data+xml":{"source":"iana","compressible":true,"extensions":["osm"]},"application/vnd.opentimestamps.ots":{"source":"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawing+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{"source":"iana","compressible":false,"extensions":["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slide":{"source":"iana","extensions":["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{"source":"iana","extensions":["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.template":{"source":"iana","extensions":["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"source":"iana","compressible":false,"extensions":["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{"source":"iana","extensions":["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.theme+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.vmldrawing":{"source":"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{"source":"iana","compressible":false,"extensions":["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{"source":"iana","extensions":["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.core-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.relationships+xml":{"source":"iana","compressible":true},"application/vnd.oracle.resource+json":{"source":"iana","compressible":true},"application/vnd.orange.indata":{"source":"iana"},"application/vnd.osa.netdeploy":{"source":"iana"},"application/vnd.osgeo.mapguide.package":{"source":"iana","extensions":["mgp"]},"application/vnd.osgi.bundle":{"source":"iana"},"application/vnd.osgi.dp":{"source":"iana","extensions":["dp"]},"application/vnd.osgi.subsystem":{"source":"iana","extensions":["esa"]},"application/vnd.otps.ct-kip+xml":{"source":"iana","compressible":true},"application/vnd.oxli.countgraph":{"source":"iana"},"application/vnd.pagerduty+json":{"source":"iana","compressible":true},"application/vnd.palm":{"source":"iana","extensions":["pdb","pqa","oprc"]},"application/vnd.panoply":{"source":"iana"},"application/vnd.paos.xml":{"source":"iana"},"application/vnd.patentdive":{"source":"iana"},"application/vnd.patientecommsdoc":{"source":"iana"},"application/vnd.pawaafile":{"source":"iana","extensions":["paw"]},"application/vnd.pcos":{"source":"iana"},"application/vnd.pg.format":{"source":"iana","extensions":["str"]},"application/vnd.pg.osasli":{"source":"iana","extensions":["ei6"]},"application/vnd.piaccess.application-licence":{"source":"iana"},"application/vnd.picsel":{"source":"iana","extensions":["efif"]},"application/vnd.pmi.widget":{"source":"iana","extensions":["wg"]},"application/vnd.poc.group-advertisement+xml":{"source":"iana","compressible":true},"application/vnd.pocketlearn":{"source":"iana","extensions":["plf"]},"application/vnd.powerbuilder6":{"source":"iana","extensions":["pbd"]},"application/vnd.powerbuilder6-s":{"source":"iana"},"application/vnd.powerbuilder7":{"source":"iana"},"application/vnd.powerbuilder7-s":{"source":"iana"},"application/vnd.powerbuilder75":{"source":"iana"},"application/vnd.powerbuilder75-s":{"source":"iana"},"application/vnd.preminet":{"source":"iana"},"application/vnd.previewsystems.box":{"source":"iana","extensions":["box"]},"application/vnd.proteus.magazine":{"source":"iana","extensions":["mgz"]},"application/vnd.psfs":{"source":"iana"},"application/vnd.publishare-delta-tree":{"source":"iana","extensions":["qps"]},"application/vnd.pvi.ptid1":{"source":"iana","extensions":["ptid"]},"application/vnd.pwg-multiplexed":{"source":"iana"},"application/vnd.pwg-xhtml-print+xml":{"source":"iana","compressible":true},"application/vnd.qualcomm.brew-app-res":{"source":"iana"},"application/vnd.quarantainenet":{"source":"iana"},"application/vnd.quark.quarkxpress":{"source":"iana","extensions":["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{"source":"iana"},"application/vnd.radisys.moml+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-conf+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-conn+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-dialog+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-stream+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-conf+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-base+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-fax-detect+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-group+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-speech+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-transform+xml":{"source":"iana","compressible":true},"application/vnd.rainstor.data":{"source":"iana"},"application/vnd.rapid":{"source":"iana"},"application/vnd.rar":{"source":"iana","extensions":["rar"]},"application/vnd.realvnc.bed":{"source":"iana","extensions":["bed"]},"application/vnd.recordare.musicxml":{"source":"iana","extensions":["mxl"]},"application/vnd.recordare.musicxml+xml":{"source":"iana","compressible":true,"extensions":["musicxml"]},"application/vnd.renlearn.rlprint":{"source":"iana"},"application/vnd.resilient.logic":{"source":"iana"},"application/vnd.restful+json":{"source":"iana","compressible":true},"application/vnd.rig.cryptonote":{"source":"iana","extensions":["cryptonote"]},"application/vnd.rim.cod":{"source":"apache","extensions":["cod"]},"application/vnd.rn-realmedia":{"source":"apache","extensions":["rm"]},"application/vnd.rn-realmedia-vbr":{"source":"apache","extensions":["rmvb"]},"application/vnd.route66.link66+xml":{"source":"iana","compressible":true,"extensions":["link66"]},"application/vnd.rs-274x":{"source":"iana"},"application/vnd.ruckus.download":{"source":"iana"},"application/vnd.s3sms":{"source":"iana"},"application/vnd.sailingtracker.track":{"source":"iana","extensions":["st"]},"application/vnd.sar":{"source":"iana"},"application/vnd.sbm.cid":{"source":"iana"},"application/vnd.sbm.mid2":{"source":"iana"},"application/vnd.scribus":{"source":"iana"},"application/vnd.sealed.3df":{"source":"iana"},"application/vnd.sealed.csf":{"source":"iana"},"application/vnd.sealed.doc":{"source":"iana"},"application/vnd.sealed.eml":{"source":"iana"},"application/vnd.sealed.mht":{"source":"iana"},"application/vnd.sealed.net":{"source":"iana"},"application/vnd.sealed.ppt":{"source":"iana"},"application/vnd.sealed.tiff":{"source":"iana"},"application/vnd.sealed.xls":{"source":"iana"},"application/vnd.sealedmedia.softseal.html":{"source":"iana"},"application/vnd.sealedmedia.softseal.pdf":{"source":"iana"},"application/vnd.seemail":{"source":"iana","extensions":["see"]},"application/vnd.seis+json":{"source":"iana","compressible":true},"application/vnd.sema":{"source":"iana","extensions":["sema"]},"application/vnd.semd":{"source":"iana","extensions":["semd"]},"application/vnd.semf":{"source":"iana","extensions":["semf"]},"application/vnd.shade-save-file":{"source":"iana"},"application/vnd.shana.informed.formdata":{"source":"iana","extensions":["ifm"]},"application/vnd.shana.informed.formtemplate":{"source":"iana","extensions":["itp"]},"application/vnd.shana.informed.interchange":{"source":"iana","extensions":["iif"]},"application/vnd.shana.informed.package":{"source":"iana","extensions":["ipk"]},"application/vnd.shootproof+json":{"source":"iana","compressible":true},"application/vnd.shopkick+json":{"source":"iana","compressible":true},"application/vnd.shp":{"source":"iana"},"application/vnd.shx":{"source":"iana"},"application/vnd.sigrok.session":{"source":"iana"},"application/vnd.simtech-mindmapper":{"source":"iana","extensions":["twd","twds"]},"application/vnd.siren+json":{"source":"iana","compressible":true},"application/vnd.smaf":{"source":"iana","extensions":["mmf"]},"application/vnd.smart.notebook":{"source":"iana"},"application/vnd.smart.teacher":{"source":"iana","extensions":["teacher"]},"application/vnd.snesdev-page-table":{"source":"iana"},"application/vnd.software602.filler.form+xml":{"source":"iana","compressible":true,"extensions":["fo"]},"application/vnd.software602.filler.form-xml-zip":{"source":"iana"},"application/vnd.solent.sdkm+xml":{"source":"iana","compressible":true,"extensions":["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{"source":"iana","extensions":["dxp"]},"application/vnd.spotfire.sfs":{"source":"iana","extensions":["sfs"]},"application/vnd.sqlite3":{"source":"iana"},"application/vnd.sss-cod":{"source":"iana"},"application/vnd.sss-dtf":{"source":"iana"},"application/vnd.sss-ntf":{"source":"iana"},"application/vnd.stardivision.calc":{"source":"apache","extensions":["sdc"]},"application/vnd.stardivision.draw":{"source":"apache","extensions":["sda"]},"application/vnd.stardivision.impress":{"source":"apache","extensions":["sdd"]},"application/vnd.stardivision.math":{"source":"apache","extensions":["smf"]},"application/vnd.stardivision.writer":{"source":"apache","extensions":["sdw","vor"]},"application/vnd.stardivision.writer-global":{"source":"apache","extensions":["sgl"]},"application/vnd.stepmania.package":{"source":"iana","extensions":["smzip"]},"application/vnd.stepmania.stepchart":{"source":"iana","extensions":["sm"]},"application/vnd.street-stream":{"source":"iana"},"application/vnd.sun.wadl+xml":{"source":"iana","compressible":true,"extensions":["wadl"]},"application/vnd.sun.xml.calc":{"source":"apache","extensions":["sxc"]},"application/vnd.sun.xml.calc.template":{"source":"apache","extensions":["stc"]},"application/vnd.sun.xml.draw":{"source":"apache","extensions":["sxd"]},"application/vnd.sun.xml.draw.template":{"source":"apache","extensions":["std"]},"application/vnd.sun.xml.impress":{"source":"apache","extensions":["sxi"]},"application/vnd.sun.xml.impress.template":{"source":"apache","extensions":["sti"]},"application/vnd.sun.xml.math":{"source":"apache","extensions":["sxm"]},"application/vnd.sun.xml.writer":{"source":"apache","extensions":["sxw"]},"application/vnd.sun.xml.writer.global":{"source":"apache","extensions":["sxg"]},"application/vnd.sun.xml.writer.template":{"source":"apache","extensions":["stw"]},"application/vnd.sus-calendar":{"source":"iana","extensions":["sus","susp"]},"application/vnd.svd":{"source":"iana","extensions":["svd"]},"application/vnd.swiftview-ics":{"source":"iana"},"application/vnd.sycle+xml":{"source":"iana","compressible":true},"application/vnd.syft+json":{"source":"iana","compressible":true},"application/vnd.symbian.install":{"source":"apache","extensions":["sis","sisx"]},"application/vnd.syncml+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["xsm"]},"application/vnd.syncml.dm+wbxml":{"source":"iana","charset":"UTF-8","extensions":["bdm"]},"application/vnd.syncml.dm+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["xdm"]},"application/vnd.syncml.dm.notification":{"source":"iana"},"application/vnd.syncml.dmddf+wbxml":{"source":"iana"},"application/vnd.syncml.dmddf+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{"source":"iana"},"application/vnd.syncml.dmtnds+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.syncml.ds.notification":{"source":"iana"},"application/vnd.tableschema+json":{"source":"iana","compressible":true},"application/vnd.tao.intent-module-archive":{"source":"iana","extensions":["tao"]},"application/vnd.tcpdump.pcap":{"source":"iana","extensions":["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{"source":"iana","compressible":true},"application/vnd.tmd.mediaflex.api+xml":{"source":"iana","compressible":true},"application/vnd.tml":{"source":"iana"},"application/vnd.tmobile-livetv":{"source":"iana","extensions":["tmo"]},"application/vnd.tri.onesource":{"source":"iana"},"application/vnd.trid.tpt":{"source":"iana","extensions":["tpt"]},"application/vnd.triscape.mxs":{"source":"iana","extensions":["mxs"]},"application/vnd.trueapp":{"source":"iana","extensions":["tra"]},"application/vnd.truedoc":{"source":"iana"},"application/vnd.ubisoft.webplayer":{"source":"iana"},"application/vnd.ufdl":{"source":"iana","extensions":["ufd","ufdl"]},"application/vnd.uiq.theme":{"source":"iana","extensions":["utz"]},"application/vnd.umajin":{"source":"iana","extensions":["umj"]},"application/vnd.unity":{"source":"iana","extensions":["unityweb"]},"application/vnd.uoml+xml":{"source":"iana","compressible":true,"extensions":["uoml"]},"application/vnd.uplanet.alert":{"source":"iana"},"application/vnd.uplanet.alert-wbxml":{"source":"iana"},"application/vnd.uplanet.bearer-choice":{"source":"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{"source":"iana"},"application/vnd.uplanet.cacheop":{"source":"iana"},"application/vnd.uplanet.cacheop-wbxml":{"source":"iana"},"application/vnd.uplanet.channel":{"source":"iana"},"application/vnd.uplanet.channel-wbxml":{"source":"iana"},"application/vnd.uplanet.list":{"source":"iana"},"application/vnd.uplanet.list-wbxml":{"source":"iana"},"application/vnd.uplanet.listcmd":{"source":"iana"},"application/vnd.uplanet.listcmd-wbxml":{"source":"iana"},"application/vnd.uplanet.signal":{"source":"iana"},"application/vnd.uri-map":{"source":"iana"},"application/vnd.valve.source.material":{"source":"iana"},"application/vnd.vcx":{"source":"iana","extensions":["vcx"]},"application/vnd.vd-study":{"source":"iana"},"application/vnd.vectorworks":{"source":"iana"},"application/vnd.vel+json":{"source":"iana","compressible":true},"application/vnd.verimatrix.vcas":{"source":"iana"},"application/vnd.veritone.aion+json":{"source":"iana","compressible":true},"application/vnd.veryant.thin":{"source":"iana"},"application/vnd.ves.encrypted":{"source":"iana"},"application/vnd.vidsoft.vidconference":{"source":"iana"},"application/vnd.visio":{"source":"iana","extensions":["vsd","vst","vss","vsw"]},"application/vnd.visionary":{"source":"iana","extensions":["vis"]},"application/vnd.vividence.scriptfile":{"source":"iana"},"application/vnd.vsf":{"source":"iana","extensions":["vsf"]},"application/vnd.wap.sic":{"source":"iana"},"application/vnd.wap.slc":{"source":"iana"},"application/vnd.wap.wbxml":{"source":"iana","charset":"UTF-8","extensions":["wbxml"]},"application/vnd.wap.wmlc":{"source":"iana","extensions":["wmlc"]},"application/vnd.wap.wmlscriptc":{"source":"iana","extensions":["wmlsc"]},"application/vnd.webturbo":{"source":"iana","extensions":["wtb"]},"application/vnd.wfa.dpp":{"source":"iana"},"application/vnd.wfa.p2p":{"source":"iana"},"application/vnd.wfa.wsc":{"source":"iana"},"application/vnd.windows.devicepairing":{"source":"iana"},"application/vnd.wmc":{"source":"iana"},"application/vnd.wmf.bootstrap":{"source":"iana"},"application/vnd.wolfram.mathematica":{"source":"iana"},"application/vnd.wolfram.mathematica.package":{"source":"iana"},"application/vnd.wolfram.player":{"source":"iana","extensions":["nbp"]},"application/vnd.wordperfect":{"source":"iana","extensions":["wpd"]},"application/vnd.wqd":{"source":"iana","extensions":["wqd"]},"application/vnd.wrq-hp3000-labelled":{"source":"iana"},"application/vnd.wt.stf":{"source":"iana","extensions":["stf"]},"application/vnd.wv.csp+wbxml":{"source":"iana"},"application/vnd.wv.csp+xml":{"source":"iana","compressible":true},"application/vnd.wv.ssp+xml":{"source":"iana","compressible":true},"application/vnd.xacml+json":{"source":"iana","compressible":true},"application/vnd.xara":{"source":"iana","extensions":["xar"]},"application/vnd.xfdl":{"source":"iana","extensions":["xfdl"]},"application/vnd.xfdl.webform":{"source":"iana"},"application/vnd.xmi+xml":{"source":"iana","compressible":true},"application/vnd.xmpie.cpkg":{"source":"iana"},"application/vnd.xmpie.dpkg":{"source":"iana"},"application/vnd.xmpie.plan":{"source":"iana"},"application/vnd.xmpie.ppkg":{"source":"iana"},"application/vnd.xmpie.xlim":{"source":"iana"},"application/vnd.yamaha.hv-dic":{"source":"iana","extensions":["hvd"]},"application/vnd.yamaha.hv-script":{"source":"iana","extensions":["hvs"]},"application/vnd.yamaha.hv-voice":{"source":"iana","extensions":["hvp"]},"application/vnd.yamaha.openscoreformat":{"source":"iana","extensions":["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{"source":"iana","compressible":true,"extensions":["osfpvg"]},"application/vnd.yamaha.remote-setup":{"source":"iana"},"application/vnd.yamaha.smaf-audio":{"source":"iana","extensions":["saf"]},"application/vnd.yamaha.smaf-phrase":{"source":"iana","extensions":["spf"]},"application/vnd.yamaha.through-ngn":{"source":"iana"},"application/vnd.yamaha.tunnel-udpencap":{"source":"iana"},"application/vnd.yaoweme":{"source":"iana"},"application/vnd.yellowriver-custom-menu":{"source":"iana","extensions":["cmp"]},"application/vnd.youtube.yt":{"source":"iana"},"application/vnd.zul":{"source":"iana","extensions":["zir","zirz"]},"application/vnd.zzazz.deck+xml":{"source":"iana","compressible":true,"extensions":["zaz"]},"application/voicexml+xml":{"source":"iana","compressible":true,"extensions":["vxml"]},"application/voucher-cms+json":{"source":"iana","compressible":true},"application/vq-rtcpxr":{"source":"iana"},"application/wasm":{"source":"iana","compressible":true,"extensions":["wasm"]},"application/watcherinfo+xml":{"source":"iana","compressible":true,"extensions":["wif"]},"application/webpush-options+json":{"source":"iana","compressible":true},"application/whoispp-query":{"source":"iana"},"application/whoispp-response":{"source":"iana"},"application/widget":{"source":"iana","extensions":["wgt"]},"application/winhlp":{"source":"apache","extensions":["hlp"]},"application/wita":{"source":"iana"},"application/wordperfect5.1":{"source":"iana"},"application/wsdl+xml":{"source":"iana","compressible":true,"extensions":["wsdl"]},"application/wspolicy+xml":{"source":"iana","compressible":true,"extensions":["wspolicy"]},"application/x-7z-compressed":{"source":"apache","compressible":false,"extensions":["7z"]},"application/x-abiword":{"source":"apache","extensions":["abw"]},"application/x-ace-compressed":{"source":"apache","extensions":["ace"]},"application/x-amf":{"source":"apache"},"application/x-apple-diskimage":{"source":"apache","extensions":["dmg"]},"application/x-arj":{"compressible":false,"extensions":["arj"]},"application/x-authorware-bin":{"source":"apache","extensions":["aab","x32","u32","vox"]},"application/x-authorware-map":{"source":"apache","extensions":["aam"]},"application/x-authorware-seg":{"source":"apache","extensions":["aas"]},"application/x-bcpio":{"source":"apache","extensions":["bcpio"]},"application/x-bdoc":{"compressible":false,"extensions":["bdoc"]},"application/x-bittorrent":{"source":"apache","extensions":["torrent"]},"application/x-blorb":{"source":"apache","extensions":["blb","blorb"]},"application/x-bzip":{"source":"apache","compressible":false,"extensions":["bz"]},"application/x-bzip2":{"source":"apache","compressible":false,"extensions":["bz2","boz"]},"application/x-cbr":{"source":"apache","extensions":["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{"source":"apache","extensions":["vcd"]},"application/x-cfs-compressed":{"source":"apache","extensions":["cfs"]},"application/x-chat":{"source":"apache","extensions":["chat"]},"application/x-chess-pgn":{"source":"apache","extensions":["pgn"]},"application/x-chrome-extension":{"extensions":["crx"]},"application/x-cocoa":{"source":"nginx","extensions":["cco"]},"application/x-compress":{"source":"apache"},"application/x-conference":{"source":"apache","extensions":["nsc"]},"application/x-cpio":{"source":"apache","extensions":["cpio"]},"application/x-csh":{"source":"apache","extensions":["csh"]},"application/x-deb":{"compressible":false},"application/x-debian-package":{"source":"apache","extensions":["deb","udeb"]},"application/x-dgc-compressed":{"source":"apache","extensions":["dgc"]},"application/x-director":{"source":"apache","extensions":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{"source":"apache","extensions":["wad"]},"application/x-dtbncx+xml":{"source":"apache","compressible":true,"extensions":["ncx"]},"application/x-dtbook+xml":{"source":"apache","compressible":true,"extensions":["dtb"]},"application/x-dtbresource+xml":{"source":"apache","compressible":true,"extensions":["res"]},"application/x-dvi":{"source":"apache","compressible":false,"extensions":["dvi"]},"application/x-envoy":{"source":"apache","extensions":["evy"]},"application/x-eva":{"source":"apache","extensions":["eva"]},"application/x-font-bdf":{"source":"apache","extensions":["bdf"]},"application/x-font-dos":{"source":"apache"},"application/x-font-framemaker":{"source":"apache"},"application/x-font-ghostscript":{"source":"apache","extensions":["gsf"]},"application/x-font-libgrx":{"source":"apache"},"application/x-font-linux-psf":{"source":"apache","extensions":["psf"]},"application/x-font-pcf":{"source":"apache","extensions":["pcf"]},"application/x-font-snf":{"source":"apache","extensions":["snf"]},"application/x-font-speedo":{"source":"apache"},"application/x-font-sunos-news":{"source":"apache"},"application/x-font-type1":{"source":"apache","extensions":["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{"source":"apache"},"application/x-freearc":{"source":"apache","extensions":["arc"]},"application/x-futuresplash":{"source":"apache","extensions":["spl"]},"application/x-gca-compressed":{"source":"apache","extensions":["gca"]},"application/x-glulx":{"source":"apache","extensions":["ulx"]},"application/x-gnumeric":{"source":"apache","extensions":["gnumeric"]},"application/x-gramps-xml":{"source":"apache","extensions":["gramps"]},"application/x-gtar":{"source":"apache","extensions":["gtar"]},"application/x-gzip":{"source":"apache"},"application/x-hdf":{"source":"apache","extensions":["hdf"]},"application/x-httpd-php":{"compressible":true,"extensions":["php"]},"application/x-install-instructions":{"source":"apache","extensions":["install"]},"application/x-iso9660-image":{"source":"apache","extensions":["iso"]},"application/x-iwork-keynote-sffkey":{"extensions":["key"]},"application/x-iwork-numbers-sffnumbers":{"extensions":["numbers"]},"application/x-iwork-pages-sffpages":{"extensions":["pages"]},"application/x-java-archive-diff":{"source":"nginx","extensions":["jardiff"]},"application/x-java-jnlp-file":{"source":"apache","compressible":false,"extensions":["jnlp"]},"application/x-javascript":{"compressible":true},"application/x-keepass2":{"extensions":["kdbx"]},"application/x-latex":{"source":"apache","compressible":false,"extensions":["latex"]},"application/x-lua-bytecode":{"extensions":["luac"]},"application/x-lzh-compressed":{"source":"apache","extensions":["lzh","lha"]},"application/x-makeself":{"source":"nginx","extensions":["run"]},"application/x-mie":{"source":"apache","extensions":["mie"]},"application/x-mobipocket-ebook":{"source":"apache","extensions":["prc","mobi"]},"application/x-mpegurl":{"compressible":false},"application/x-ms-application":{"source":"apache","extensions":["application"]},"application/x-ms-shortcut":{"source":"apache","extensions":["lnk"]},"application/x-ms-wmd":{"source":"apache","extensions":["wmd"]},"application/x-ms-wmz":{"source":"apache","extensions":["wmz"]},"application/x-ms-xbap":{"source":"apache","extensions":["xbap"]},"application/x-msaccess":{"source":"apache","extensions":["mdb"]},"application/x-msbinder":{"source":"apache","extensions":["obd"]},"application/x-mscardfile":{"source":"apache","extensions":["crd"]},"application/x-msclip":{"source":"apache","extensions":["clp"]},"application/x-msdos-program":{"extensions":["exe"]},"application/x-msdownload":{"source":"apache","extensions":["exe","dll","com","bat","msi"]},"application/x-msmediaview":{"source":"apache","extensions":["mvb","m13","m14"]},"application/x-msmetafile":{"source":"apache","extensions":["wmf","wmz","emf","emz"]},"application/x-msmoney":{"source":"apache","extensions":["mny"]},"application/x-mspublisher":{"source":"apache","extensions":["pub"]},"application/x-msschedule":{"source":"apache","extensions":["scd"]},"application/x-msterminal":{"source":"apache","extensions":["trm"]},"application/x-mswrite":{"source":"apache","extensions":["wri"]},"application/x-netcdf":{"source":"apache","extensions":["nc","cdf"]},"application/x-ns-proxy-autoconfig":{"compressible":true,"extensions":["pac"]},"application/x-nzb":{"source":"apache","extensions":["nzb"]},"application/x-perl":{"source":"nginx","extensions":["pl","pm"]},"application/x-pilot":{"source":"nginx","extensions":["prc","pdb"]},"application/x-pkcs12":{"source":"apache","compressible":false,"extensions":["p12","pfx"]},"application/x-pkcs7-certificates":{"source":"apache","extensions":["p7b","spc"]},"application/x-pkcs7-certreqresp":{"source":"apache","extensions":["p7r"]},"application/x-pki-message":{"source":"iana"},"application/x-rar-compressed":{"source":"apache","compressible":false,"extensions":["rar"]},"application/x-redhat-package-manager":{"source":"nginx","extensions":["rpm"]},"application/x-research-info-systems":{"source":"apache","extensions":["ris"]},"application/x-sea":{"source":"nginx","extensions":["sea"]},"application/x-sh":{"source":"apache","compressible":true,"extensions":["sh"]},"application/x-shar":{"source":"apache","extensions":["shar"]},"application/x-shockwave-flash":{"source":"apache","compressible":false,"extensions":["swf"]},"application/x-silverlight-app":{"source":"apache","extensions":["xap"]},"application/x-sql":{"source":"apache","extensions":["sql"]},"application/x-stuffit":{"source":"apache","compressible":false,"extensions":["sit"]},"application/x-stuffitx":{"source":"apache","extensions":["sitx"]},"application/x-subrip":{"source":"apache","extensions":["srt"]},"application/x-sv4cpio":{"source":"apache","extensions":["sv4cpio"]},"application/x-sv4crc":{"source":"apache","extensions":["sv4crc"]},"application/x-t3vm-image":{"source":"apache","extensions":["t3"]},"application/x-tads":{"source":"apache","extensions":["gam"]},"application/x-tar":{"source":"apache","compressible":true,"extensions":["tar"]},"application/x-tcl":{"source":"apache","extensions":["tcl","tk"]},"application/x-tex":{"source":"apache","extensions":["tex"]},"application/x-tex-tfm":{"source":"apache","extensions":["tfm"]},"application/x-texinfo":{"source":"apache","extensions":["texinfo","texi"]},"application/x-tgif":{"source":"apache","extensions":["obj"]},"application/x-ustar":{"source":"apache","extensions":["ustar"]},"application/x-virtualbox-hdd":{"compressible":true,"extensions":["hdd"]},"application/x-virtualbox-ova":{"compressible":true,"extensions":["ova"]},"application/x-virtualbox-ovf":{"compressible":true,"extensions":["ovf"]},"application/x-virtualbox-vbox":{"compressible":true,"extensions":["vbox"]},"application/x-virtualbox-vbox-extpack":{"compressible":false,"extensions":["vbox-extpack"]},"application/x-virtualbox-vdi":{"compressible":true,"extensions":["vdi"]},"application/x-virtualbox-vhd":{"compressible":true,"extensions":["vhd"]},"application/x-virtualbox-vmdk":{"compressible":true,"extensions":["vmdk"]},"application/x-wais-source":{"source":"apache","extensions":["src"]},"application/x-web-app-manifest+json":{"compressible":true,"extensions":["webapp"]},"application/x-www-form-urlencoded":{"source":"iana","compressible":true},"application/x-x509-ca-cert":{"source":"iana","extensions":["der","crt","pem"]},"application/x-x509-ca-ra-cert":{"source":"iana"},"application/x-x509-next-ca-cert":{"source":"iana"},"application/x-xfig":{"source":"apache","extensions":["fig"]},"application/x-xliff+xml":{"source":"apache","compressible":true,"extensions":["xlf"]},"application/x-xpinstall":{"source":"apache","compressible":false,"extensions":["xpi"]},"application/x-xz":{"source":"apache","extensions":["xz"]},"application/x-zmachine":{"source":"apache","extensions":["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{"source":"iana"},"application/xacml+xml":{"source":"iana","compressible":true},"application/xaml+xml":{"source":"apache","compressible":true,"extensions":["xaml"]},"application/xcap-att+xml":{"source":"iana","compressible":true,"extensions":["xav"]},"application/xcap-caps+xml":{"source":"iana","compressible":true,"extensions":["xca"]},"application/xcap-diff+xml":{"source":"iana","compressible":true,"extensions":["xdf"]},"application/xcap-el+xml":{"source":"iana","compressible":true,"extensions":["xel"]},"application/xcap-error+xml":{"source":"iana","compressible":true},"application/xcap-ns+xml":{"source":"iana","compressible":true,"extensions":["xns"]},"application/xcon-conference-info+xml":{"source":"iana","compressible":true},"application/xcon-conference-info-diff+xml":{"source":"iana","compressible":true},"application/xenc+xml":{"source":"iana","compressible":true,"extensions":["xenc"]},"application/xhtml+xml":{"source":"iana","compressible":true,"extensions":["xhtml","xht"]},"application/xhtml-voice+xml":{"source":"apache","compressible":true},"application/xliff+xml":{"source":"iana","compressible":true,"extensions":["xlf"]},"application/xml":{"source":"iana","compressible":true,"extensions":["xml","xsl","xsd","rng"]},"application/xml-dtd":{"source":"iana","compressible":true,"extensions":["dtd"]},"application/xml-external-parsed-entity":{"source":"iana"},"application/xml-patch+xml":{"source":"iana","compressible":true},"application/xmpp+xml":{"source":"iana","compressible":true},"application/xop+xml":{"source":"iana","compressible":true,"extensions":["xop"]},"application/xproc+xml":{"source":"apache","compressible":true,"extensions":["xpl"]},"application/xslt+xml":{"source":"iana","compressible":true,"extensions":["xsl","xslt"]},"application/xspf+xml":{"source":"apache","compressible":true,"extensions":["xspf"]},"application/xv+xml":{"source":"iana","compressible":true,"extensions":["mxml","xhvml","xvml","xvm"]},"application/yang":{"source":"iana","extensions":["yang"]},"application/yang-data+json":{"source":"iana","compressible":true},"application/yang-data+xml":{"source":"iana","compressible":true},"application/yang-patch+json":{"source":"iana","compressible":true},"application/yang-patch+xml":{"source":"iana","compressible":true},"application/yin+xml":{"source":"iana","compressible":true,"extensions":["yin"]},"application/zip":{"source":"iana","compressible":false,"extensions":["zip"]},"application/zlib":{"source":"iana"},"application/zstd":{"source":"iana"},"audio/1d-interleaved-parityfec":{"source":"iana"},"audio/32kadpcm":{"source":"iana"},"audio/3gpp":{"source":"iana","compressible":false,"extensions":["3gpp"]},"audio/3gpp2":{"source":"iana"},"audio/aac":{"source":"iana"},"audio/ac3":{"source":"iana"},"audio/adpcm":{"source":"apache","extensions":["adp"]},"audio/amr":{"source":"iana","extensions":["amr"]},"audio/amr-wb":{"source":"iana"},"audio/amr-wb+":{"source":"iana"},"audio/aptx":{"source":"iana"},"audio/asc":{"source":"iana"},"audio/atrac-advanced-lossless":{"source":"iana"},"audio/atrac-x":{"source":"iana"},"audio/atrac3":{"source":"iana"},"audio/basic":{"source":"iana","compressible":false,"extensions":["au","snd"]},"audio/bv16":{"source":"iana"},"audio/bv32":{"source":"iana"},"audio/clearmode":{"source":"iana"},"audio/cn":{"source":"iana"},"audio/dat12":{"source":"iana"},"audio/dls":{"source":"iana"},"audio/dsr-es201108":{"source":"iana"},"audio/dsr-es202050":{"source":"iana"},"audio/dsr-es202211":{"source":"iana"},"audio/dsr-es202212":{"source":"iana"},"audio/dv":{"source":"iana"},"audio/dvi4":{"source":"iana"},"audio/eac3":{"source":"iana"},"audio/encaprtp":{"source":"iana"},"audio/evrc":{"source":"iana"},"audio/evrc-qcp":{"source":"iana"},"audio/evrc0":{"source":"iana"},"audio/evrc1":{"source":"iana"},"audio/evrcb":{"source":"iana"},"audio/evrcb0":{"source":"iana"},"audio/evrcb1":{"source":"iana"},"audio/evrcnw":{"source":"iana"},"audio/evrcnw0":{"source":"iana"},"audio/evrcnw1":{"source":"iana"},"audio/evrcwb":{"source":"iana"},"audio/evrcwb0":{"source":"iana"},"audio/evrcwb1":{"source":"iana"},"audio/evs":{"source":"iana"},"audio/flexfec":{"source":"iana"},"audio/fwdred":{"source":"iana"},"audio/g711-0":{"source":"iana"},"audio/g719":{"source":"iana"},"audio/g722":{"source":"iana"},"audio/g7221":{"source":"iana"},"audio/g723":{"source":"iana"},"audio/g726-16":{"source":"iana"},"audio/g726-24":{"source":"iana"},"audio/g726-32":{"source":"iana"},"audio/g726-40":{"source":"iana"},"audio/g728":{"source":"iana"},"audio/g729":{"source":"iana"},"audio/g7291":{"source":"iana"},"audio/g729d":{"source":"iana"},"audio/g729e":{"source":"iana"},"audio/gsm":{"source":"iana"},"audio/gsm-efr":{"source":"iana"},"audio/gsm-hr-08":{"source":"iana"},"audio/ilbc":{"source":"iana"},"audio/ip-mr_v2.5":{"source":"iana"},"audio/isac":{"source":"apache"},"audio/l16":{"source":"iana"},"audio/l20":{"source":"iana"},"audio/l24":{"source":"iana","compressible":false},"audio/l8":{"source":"iana"},"audio/lpc":{"source":"iana"},"audio/melp":{"source":"iana"},"audio/melp1200":{"source":"iana"},"audio/melp2400":{"source":"iana"},"audio/melp600":{"source":"iana"},"audio/mhas":{"source":"iana"},"audio/midi":{"source":"apache","extensions":["mid","midi","kar","rmi"]},"audio/mobile-xmf":{"source":"iana","extensions":["mxmf"]},"audio/mp3":{"compressible":false,"extensions":["mp3"]},"audio/mp4":{"source":"iana","compressible":false,"extensions":["m4a","mp4a"]},"audio/mp4a-latm":{"source":"iana"},"audio/mpa":{"source":"iana"},"audio/mpa-robust":{"source":"iana"},"audio/mpeg":{"source":"iana","compressible":false,"extensions":["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{"source":"iana"},"audio/musepack":{"source":"apache"},"audio/ogg":{"source":"iana","compressible":false,"extensions":["oga","ogg","spx","opus"]},"audio/opus":{"source":"iana"},"audio/parityfec":{"source":"iana"},"audio/pcma":{"source":"iana"},"audio/pcma-wb":{"source":"iana"},"audio/pcmu":{"source":"iana"},"audio/pcmu-wb":{"source":"iana"},"audio/prs.sid":{"source":"iana"},"audio/qcelp":{"source":"iana"},"audio/raptorfec":{"source":"iana"},"audio/red":{"source":"iana"},"audio/rtp-enc-aescm128":{"source":"iana"},"audio/rtp-midi":{"source":"iana"},"audio/rtploopback":{"source":"iana"},"audio/rtx":{"source":"iana"},"audio/s3m":{"source":"apache","extensions":["s3m"]},"audio/scip":{"source":"iana"},"audio/silk":{"source":"apache","extensions":["sil"]},"audio/smv":{"source":"iana"},"audio/smv-qcp":{"source":"iana"},"audio/smv0":{"source":"iana"},"audio/sofa":{"source":"iana"},"audio/sp-midi":{"source":"iana"},"audio/speex":{"source":"iana"},"audio/t140c":{"source":"iana"},"audio/t38":{"source":"iana"},"audio/telephone-event":{"source":"iana"},"audio/tetra_acelp":{"source":"iana"},"audio/tetra_acelp_bb":{"source":"iana"},"audio/tone":{"source":"iana"},"audio/tsvcis":{"source":"iana"},"audio/uemclip":{"source":"iana"},"audio/ulpfec":{"source":"iana"},"audio/usac":{"source":"iana"},"audio/vdvi":{"source":"iana"},"audio/vmr-wb":{"source":"iana"},"audio/vnd.3gpp.iufp":{"source":"iana"},"audio/vnd.4sb":{"source":"iana"},"audio/vnd.audiokoz":{"source":"iana"},"audio/vnd.celp":{"source":"iana"},"audio/vnd.cisco.nse":{"source":"iana"},"audio/vnd.cmles.radio-events":{"source":"iana"},"audio/vnd.cns.anp1":{"source":"iana"},"audio/vnd.cns.inf1":{"source":"iana"},"audio/vnd.dece.audio":{"source":"iana","extensions":["uva","uvva"]},"audio/vnd.digital-winds":{"source":"iana","extensions":["eol"]},"audio/vnd.dlna.adts":{"source":"iana"},"audio/vnd.dolby.heaac.1":{"source":"iana"},"audio/vnd.dolby.heaac.2":{"source":"iana"},"audio/vnd.dolby.mlp":{"source":"iana"},"audio/vnd.dolby.mps":{"source":"iana"},"audio/vnd.dolby.pl2":{"source":"iana"},"audio/vnd.dolby.pl2x":{"source":"iana"},"audio/vnd.dolby.pl2z":{"source":"iana"},"audio/vnd.dolby.pulse.1":{"source":"iana"},"audio/vnd.dra":{"source":"iana","extensions":["dra"]},"audio/vnd.dts":{"source":"iana","extensions":["dts"]},"audio/vnd.dts.hd":{"source":"iana","extensions":["dtshd"]},"audio/vnd.dts.uhd":{"source":"iana"},"audio/vnd.dvb.file":{"source":"iana"},"audio/vnd.everad.plj":{"source":"iana"},"audio/vnd.hns.audio":{"source":"iana"},"audio/vnd.lucent.voice":{"source":"iana","extensions":["lvp"]},"audio/vnd.ms-playready.media.pya":{"source":"iana","extensions":["pya"]},"audio/vnd.nokia.mobile-xmf":{"source":"iana"},"audio/vnd.nortel.vbk":{"source":"iana"},"audio/vnd.nuera.ecelp4800":{"source":"iana","extensions":["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{"source":"iana","extensions":["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{"source":"iana","extensions":["ecelp9600"]},"audio/vnd.octel.sbc":{"source":"iana"},"audio/vnd.presonus.multitrack":{"source":"iana"},"audio/vnd.qcelp":{"source":"iana"},"audio/vnd.rhetorex.32kadpcm":{"source":"iana"},"audio/vnd.rip":{"source":"iana","extensions":["rip"]},"audio/vnd.rn-realaudio":{"compressible":false},"audio/vnd.sealedmedia.softseal.mpeg":{"source":"iana"},"audio/vnd.vmx.cvsd":{"source":"iana"},"audio/vnd.wave":{"compressible":false},"audio/vorbis":{"source":"iana","compressible":false},"audio/vorbis-config":{"source":"iana"},"audio/wav":{"compressible":false,"extensions":["wav"]},"audio/wave":{"compressible":false,"extensions":["wav"]},"audio/webm":{"source":"apache","compressible":false,"extensions":["weba"]},"audio/x-aac":{"source":"apache","compressible":false,"extensions":["aac"]},"audio/x-aiff":{"source":"apache","extensions":["aif","aiff","aifc"]},"audio/x-caf":{"source":"apache","compressible":false,"extensions":["caf"]},"audio/x-flac":{"source":"apache","extensions":["flac"]},"audio/x-m4a":{"source":"nginx","extensions":["m4a"]},"audio/x-matroska":{"source":"apache","extensions":["mka"]},"audio/x-mpegurl":{"source":"apache","extensions":["m3u"]},"audio/x-ms-wax":{"source":"apache","extensions":["wax"]},"audio/x-ms-wma":{"source":"apache","extensions":["wma"]},"audio/x-pn-realaudio":{"source":"apache","extensions":["ram","ra"]},"audio/x-pn-realaudio-plugin":{"source":"apache","extensions":["rmp"]},"audio/x-realaudio":{"source":"nginx","extensions":["ra"]},"audio/x-tta":{"source":"apache"},"audio/x-wav":{"source":"apache","extensions":["wav"]},"audio/xm":{"source":"apache","extensions":["xm"]},"chemical/x-cdx":{"source":"apache","extensions":["cdx"]},"chemical/x-cif":{"source":"apache","extensions":["cif"]},"chemical/x-cmdf":{"source":"apache","extensions":["cmdf"]},"chemical/x-cml":{"source":"apache","extensions":["cml"]},"chemical/x-csml":{"source":"apache","extensions":["csml"]},"chemical/x-pdb":{"source":"apache"},"chemical/x-xyz":{"source":"apache","extensions":["xyz"]},"font/collection":{"source":"iana","extensions":["ttc"]},"font/otf":{"source":"iana","compressible":true,"extensions":["otf"]},"font/sfnt":{"source":"iana"},"font/ttf":{"source":"iana","compressible":true,"extensions":["ttf"]},"font/woff":{"source":"iana","extensions":["woff"]},"font/woff2":{"source":"iana","extensions":["woff2"]},"image/aces":{"source":"iana","extensions":["exr"]},"image/apng":{"compressible":false,"extensions":["apng"]},"image/avci":{"source":"iana","extensions":["avci"]},"image/avcs":{"source":"iana","extensions":["avcs"]},"image/avif":{"source":"iana","compressible":false,"extensions":["avif"]},"image/bmp":{"source":"iana","compressible":true,"extensions":["bmp"]},"image/cgm":{"source":"iana","extensions":["cgm"]},"image/dicom-rle":{"source":"iana","extensions":["drle"]},"image/emf":{"source":"iana","extensions":["emf"]},"image/fits":{"source":"iana","extensions":["fits"]},"image/g3fax":{"source":"iana","extensions":["g3"]},"image/gif":{"source":"iana","compressible":false,"extensions":["gif"]},"image/heic":{"source":"iana","extensions":["heic"]},"image/heic-sequence":{"source":"iana","extensions":["heics"]},"image/heif":{"source":"iana","extensions":["heif"]},"image/heif-sequence":{"source":"iana","extensions":["heifs"]},"image/hej2k":{"source":"iana","extensions":["hej2"]},"image/hsj2":{"source":"iana","extensions":["hsj2"]},"image/ief":{"source":"iana","extensions":["ief"]},"image/jls":{"source":"iana","extensions":["jls"]},"image/jp2":{"source":"iana","compressible":false,"extensions":["jp2","jpg2"]},"image/jpeg":{"source":"iana","compressible":false,"extensions":["jpeg","jpg","jpe"]},"image/jph":{"source":"iana","extensions":["jph"]},"image/jphc":{"source":"iana","extensions":["jhc"]},"image/jpm":{"source":"iana","compressible":false,"extensions":["jpm"]},"image/jpx":{"source":"iana","compressible":false,"extensions":["jpx","jpf"]},"image/jxr":{"source":"iana","extensions":["jxr"]},"image/jxra":{"source":"iana","extensions":["jxra"]},"image/jxrs":{"source":"iana","extensions":["jxrs"]},"image/jxs":{"source":"iana","extensions":["jxs"]},"image/jxsc":{"source":"iana","extensions":["jxsc"]},"image/jxsi":{"source":"iana","extensions":["jxsi"]},"image/jxss":{"source":"iana","extensions":["jxss"]},"image/ktx":{"source":"iana","extensions":["ktx"]},"image/ktx2":{"source":"iana","extensions":["ktx2"]},"image/naplps":{"source":"iana"},"image/pjpeg":{"compressible":false},"image/png":{"source":"iana","compressible":false,"extensions":["png"]},"image/prs.btif":{"source":"iana","extensions":["btif"]},"image/prs.pti":{"source":"iana","extensions":["pti"]},"image/pwg-raster":{"source":"iana"},"image/sgi":{"source":"apache","extensions":["sgi"]},"image/svg+xml":{"source":"iana","compressible":true,"extensions":["svg","svgz"]},"image/t38":{"source":"iana","extensions":["t38"]},"image/tiff":{"source":"iana","compressible":false,"extensions":["tif","tiff"]},"image/tiff-fx":{"source":"iana","extensions":["tfx"]},"image/vnd.adobe.photoshop":{"source":"iana","compressible":true,"extensions":["psd"]},"image/vnd.airzip.accelerator.azv":{"source":"iana","extensions":["azv"]},"image/vnd.cns.inf2":{"source":"iana"},"image/vnd.dece.graphic":{"source":"iana","extensions":["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{"source":"iana","extensions":["djvu","djv"]},"image/vnd.dvb.subtitle":{"source":"iana","extensions":["sub"]},"image/vnd.dwg":{"source":"iana","extensions":["dwg"]},"image/vnd.dxf":{"source":"iana","extensions":["dxf"]},"image/vnd.fastbidsheet":{"source":"iana","extensions":["fbs"]},"image/vnd.fpx":{"source":"iana","extensions":["fpx"]},"image/vnd.fst":{"source":"iana","extensions":["fst"]},"image/vnd.fujixerox.edmics-mmr":{"source":"iana","extensions":["mmr"]},"image/vnd.fujixerox.edmics-rlc":{"source":"iana","extensions":["rlc"]},"image/vnd.globalgraphics.pgb":{"source":"iana"},"image/vnd.microsoft.icon":{"source":"iana","compressible":true,"extensions":["ico"]},"image/vnd.mix":{"source":"iana"},"image/vnd.mozilla.apng":{"source":"iana"},"image/vnd.ms-dds":{"compressible":true,"extensions":["dds"]},"image/vnd.ms-modi":{"source":"iana","extensions":["mdi"]},"image/vnd.ms-photo":{"source":"apache","extensions":["wdp"]},"image/vnd.net-fpx":{"source":"iana","extensions":["npx"]},"image/vnd.pco.b16":{"source":"iana","extensions":["b16"]},"image/vnd.radiance":{"source":"iana"},"image/vnd.sealed.png":{"source":"iana"},"image/vnd.sealedmedia.softseal.gif":{"source":"iana"},"image/vnd.sealedmedia.softseal.jpg":{"source":"iana"},"image/vnd.svf":{"source":"iana"},"image/vnd.tencent.tap":{"source":"iana","extensions":["tap"]},"image/vnd.valve.source.texture":{"source":"iana","extensions":["vtf"]},"image/vnd.wap.wbmp":{"source":"iana","extensions":["wbmp"]},"image/vnd.xiff":{"source":"iana","extensions":["xif"]},"image/vnd.zbrush.pcx":{"source":"iana","extensions":["pcx"]},"image/webp":{"source":"apache","extensions":["webp"]},"image/wmf":{"source":"iana","extensions":["wmf"]},"image/x-3ds":{"source":"apache","extensions":["3ds"]},"image/x-cmu-raster":{"source":"apache","extensions":["ras"]},"image/x-cmx":{"source":"apache","extensions":["cmx"]},"image/x-freehand":{"source":"apache","extensions":["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{"source":"apache","compressible":true,"extensions":["ico"]},"image/x-jng":{"source":"nginx","extensions":["jng"]},"image/x-mrsid-image":{"source":"apache","extensions":["sid"]},"image/x-ms-bmp":{"source":"nginx","compressible":true,"extensions":["bmp"]},"image/x-pcx":{"source":"apache","extensions":["pcx"]},"image/x-pict":{"source":"apache","extensions":["pic","pct"]},"image/x-portable-anymap":{"source":"apache","extensions":["pnm"]},"image/x-portable-bitmap":{"source":"apache","extensions":["pbm"]},"image/x-portable-graymap":{"source":"apache","extensions":["pgm"]},"image/x-portable-pixmap":{"source":"apache","extensions":["ppm"]},"image/x-rgb":{"source":"apache","extensions":["rgb"]},"image/x-tga":{"source":"apache","extensions":["tga"]},"image/x-xbitmap":{"source":"apache","extensions":["xbm"]},"image/x-xcf":{"compressible":false},"image/x-xpixmap":{"source":"apache","extensions":["xpm"]},"image/x-xwindowdump":{"source":"apache","extensions":["xwd"]},"message/cpim":{"source":"iana"},"message/delivery-status":{"source":"iana"},"message/disposition-notification":{"source":"iana","extensions":["disposition-notification"]},"message/external-body":{"source":"iana"},"message/feedback-report":{"source":"iana"},"message/global":{"source":"iana","extensions":["u8msg"]},"message/global-delivery-status":{"source":"iana","extensions":["u8dsn"]},"message/global-disposition-notification":{"source":"iana","extensions":["u8mdn"]},"message/global-headers":{"source":"iana","extensions":["u8hdr"]},"message/http":{"source":"iana","compressible":false},"message/imdn+xml":{"source":"iana","compressible":true},"message/news":{"source":"iana"},"message/partial":{"source":"iana","compressible":false},"message/rfc822":{"source":"iana","compressible":true,"extensions":["eml","mime"]},"message/s-http":{"source":"iana"},"message/sip":{"source":"iana"},"message/sipfrag":{"source":"iana"},"message/tracking-status":{"source":"iana"},"message/vnd.si.simp":{"source":"iana"},"message/vnd.wfa.wsc":{"source":"iana","extensions":["wsc"]},"model/3mf":{"source":"iana","extensions":["3mf"]},"model/e57":{"source":"iana"},"model/gltf+json":{"source":"iana","compressible":true,"extensions":["gltf"]},"model/gltf-binary":{"source":"iana","compressible":true,"extensions":["glb"]},"model/iges":{"source":"iana","compressible":false,"extensions":["igs","iges"]},"model/mesh":{"source":"iana","compressible":false,"extensions":["msh","mesh","silo"]},"model/mtl":{"source":"iana","extensions":["mtl"]},"model/obj":{"source":"iana","extensions":["obj"]},"model/step":{"source":"iana"},"model/step+xml":{"source":"iana","compressible":true,"extensions":["stpx"]},"model/step+zip":{"source":"iana","compressible":false,"extensions":["stpz"]},"model/step-xml+zip":{"source":"iana","compressible":false,"extensions":["stpxz"]},"model/stl":{"source":"iana","extensions":["stl"]},"model/vnd.collada+xml":{"source":"iana","compressible":true,"extensions":["dae"]},"model/vnd.dwf":{"source":"iana","extensions":["dwf"]},"model/vnd.flatland.3dml":{"source":"iana"},"model/vnd.gdl":{"source":"iana","extensions":["gdl"]},"model/vnd.gs-gdl":{"source":"apache"},"model/vnd.gs.gdl":{"source":"iana"},"model/vnd.gtw":{"source":"iana","extensions":["gtw"]},"model/vnd.moml+xml":{"source":"iana","compressible":true},"model/vnd.mts":{"source":"iana","extensions":["mts"]},"model/vnd.opengex":{"source":"iana","extensions":["ogex"]},"model/vnd.parasolid.transmit.binary":{"source":"iana","extensions":["x_b"]},"model/vnd.parasolid.transmit.text":{"source":"iana","extensions":["x_t"]},"model/vnd.pytha.pyox":{"source":"iana"},"model/vnd.rosette.annotated-data-model":{"source":"iana"},"model/vnd.sap.vds":{"source":"iana","extensions":["vds"]},"model/vnd.usdz+zip":{"source":"iana","compressible":false,"extensions":["usdz"]},"model/vnd.valve.source.compiled-map":{"source":"iana","extensions":["bsp"]},"model/vnd.vtu":{"source":"iana","extensions":["vtu"]},"model/vrml":{"source":"iana","compressible":false,"extensions":["wrl","vrml"]},"model/x3d+binary":{"source":"apache","compressible":false,"extensions":["x3db","x3dbz"]},"model/x3d+fastinfoset":{"source":"iana","extensions":["x3db"]},"model/x3d+vrml":{"source":"apache","compressible":false,"extensions":["x3dv","x3dvz"]},"model/x3d+xml":{"source":"iana","compressible":true,"extensions":["x3d","x3dz"]},"model/x3d-vrml":{"source":"iana","extensions":["x3dv"]},"multipart/alternative":{"source":"iana","compressible":false},"multipart/appledouble":{"source":"iana"},"multipart/byteranges":{"source":"iana"},"multipart/digest":{"source":"iana"},"multipart/encrypted":{"source":"iana","compressible":false},"multipart/form-data":{"source":"iana","compressible":false},"multipart/header-set":{"source":"iana"},"multipart/mixed":{"source":"iana"},"multipart/multilingual":{"source":"iana"},"multipart/parallel":{"source":"iana"},"multipart/related":{"source":"iana","compressible":false},"multipart/report":{"source":"iana"},"multipart/signed":{"source":"iana","compressible":false},"multipart/vnd.bint.med-plus":{"source":"iana"},"multipart/voice-message":{"source":"iana"},"multipart/x-mixed-replace":{"source":"iana"},"text/1d-interleaved-parityfec":{"source":"iana"},"text/cache-manifest":{"source":"iana","compressible":true,"extensions":["appcache","manifest"]},"text/calendar":{"source":"iana","extensions":["ics","ifb"]},"text/calender":{"compressible":true},"text/cmd":{"compressible":true},"text/coffeescript":{"extensions":["coffee","litcoffee"]},"text/cql":{"source":"iana"},"text/cql-expression":{"source":"iana"},"text/cql-identifier":{"source":"iana"},"text/css":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["css"]},"text/csv":{"source":"iana","compressible":true,"extensions":["csv"]},"text/csv-schema":{"source":"iana"},"text/directory":{"source":"iana"},"text/dns":{"source":"iana"},"text/ecmascript":{"source":"iana"},"text/encaprtp":{"source":"iana"},"text/enriched":{"source":"iana"},"text/fhirpath":{"source":"iana"},"text/flexfec":{"source":"iana"},"text/fwdred":{"source":"iana"},"text/gff3":{"source":"iana"},"text/grammar-ref-list":{"source":"iana"},"text/html":{"source":"iana","compressible":true,"extensions":["html","htm","shtml"]},"text/jade":{"extensions":["jade"]},"text/javascript":{"source":"iana","compressible":true},"text/jcr-cnd":{"source":"iana"},"text/jsx":{"compressible":true,"extensions":["jsx"]},"text/less":{"compressible":true,"extensions":["less"]},"text/markdown":{"source":"iana","compressible":true,"extensions":["markdown","md"]},"text/mathml":{"source":"nginx","extensions":["mml"]},"text/mdx":{"compressible":true,"extensions":["mdx"]},"text/mizar":{"source":"iana"},"text/n3":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["n3"]},"text/parameters":{"source":"iana","charset":"UTF-8"},"text/parityfec":{"source":"iana"},"text/plain":{"source":"iana","compressible":true,"extensions":["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{"source":"iana","charset":"UTF-8"},"text/prs.fallenstein.rst":{"source":"iana"},"text/prs.lines.tag":{"source":"iana","extensions":["dsc"]},"text/prs.prop.logic":{"source":"iana"},"text/raptorfec":{"source":"iana"},"text/red":{"source":"iana"},"text/rfc822-headers":{"source":"iana"},"text/richtext":{"source":"iana","compressible":true,"extensions":["rtx"]},"text/rtf":{"source":"iana","compressible":true,"extensions":["rtf"]},"text/rtp-enc-aescm128":{"source":"iana"},"text/rtploopback":{"source":"iana"},"text/rtx":{"source":"iana"},"text/sgml":{"source":"iana","extensions":["sgml","sgm"]},"text/shaclc":{"source":"iana"},"text/shex":{"source":"iana","extensions":["shex"]},"text/slim":{"extensions":["slim","slm"]},"text/spdx":{"source":"iana","extensions":["spdx"]},"text/strings":{"source":"iana"},"text/stylus":{"extensions":["stylus","styl"]},"text/t140":{"source":"iana"},"text/tab-separated-values":{"source":"iana","compressible":true,"extensions":["tsv"]},"text/troff":{"source":"iana","extensions":["t","tr","roff","man","me","ms"]},"text/turtle":{"source":"iana","charset":"UTF-8","extensions":["ttl"]},"text/ulpfec":{"source":"iana"},"text/uri-list":{"source":"iana","compressible":true,"extensions":["uri","uris","urls"]},"text/vcard":{"source":"iana","compressible":true,"extensions":["vcard"]},"text/vnd.a":{"source":"iana"},"text/vnd.abc":{"source":"iana"},"text/vnd.ascii-art":{"source":"iana"},"text/vnd.curl":{"source":"iana","extensions":["curl"]},"text/vnd.curl.dcurl":{"source":"apache","extensions":["dcurl"]},"text/vnd.curl.mcurl":{"source":"apache","extensions":["mcurl"]},"text/vnd.curl.scurl":{"source":"apache","extensions":["scurl"]},"text/vnd.debian.copyright":{"source":"iana","charset":"UTF-8"},"text/vnd.dmclientscript":{"source":"iana"},"text/vnd.dvb.subtitle":{"source":"iana","extensions":["sub"]},"text/vnd.esmertec.theme-descriptor":{"source":"iana","charset":"UTF-8"},"text/vnd.familysearch.gedcom":{"source":"iana","extensions":["ged"]},"text/vnd.ficlab.flt":{"source":"iana"},"text/vnd.fly":{"source":"iana","extensions":["fly"]},"text/vnd.fmi.flexstor":{"source":"iana","extensions":["flx"]},"text/vnd.gml":{"source":"iana"},"text/vnd.graphviz":{"source":"iana","extensions":["gv"]},"text/vnd.hans":{"source":"iana"},"text/vnd.hgl":{"source":"iana"},"text/vnd.in3d.3dml":{"source":"iana","extensions":["3dml"]},"text/vnd.in3d.spot":{"source":"iana","extensions":["spot"]},"text/vnd.iptc.newsml":{"source":"iana"},"text/vnd.iptc.nitf":{"source":"iana"},"text/vnd.latex-z":{"source":"iana"},"text/vnd.motorola.reflex":{"source":"iana"},"text/vnd.ms-mediapackage":{"source":"iana"},"text/vnd.net2phone.commcenter.command":{"source":"iana"},"text/vnd.radisys.msml-basic-layout":{"source":"iana"},"text/vnd.senx.warpscript":{"source":"iana"},"text/vnd.si.uricatalogue":{"source":"iana"},"text/vnd.sosi":{"source":"iana"},"text/vnd.sun.j2me.app-descriptor":{"source":"iana","charset":"UTF-8","extensions":["jad"]},"text/vnd.trolltech.linguist":{"source":"iana","charset":"UTF-8"},"text/vnd.wap.si":{"source":"iana"},"text/vnd.wap.sl":{"source":"iana"},"text/vnd.wap.wml":{"source":"iana","extensions":["wml"]},"text/vnd.wap.wmlscript":{"source":"iana","extensions":["wmls"]},"text/vtt":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["vtt"]},"text/x-asm":{"source":"apache","extensions":["s","asm"]},"text/x-c":{"source":"apache","extensions":["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{"source":"nginx","extensions":["htc"]},"text/x-fortran":{"source":"apache","extensions":["f","for","f77","f90"]},"text/x-gwt-rpc":{"compressible":true},"text/x-handlebars-template":{"extensions":["hbs"]},"text/x-java-source":{"source":"apache","extensions":["java"]},"text/x-jquery-tmpl":{"compressible":true},"text/x-lua":{"extensions":["lua"]},"text/x-markdown":{"compressible":true,"extensions":["mkd"]},"text/x-nfo":{"source":"apache","extensions":["nfo"]},"text/x-opml":{"source":"apache","extensions":["opml"]},"text/x-org":{"compressible":true,"extensions":["org"]},"text/x-pascal":{"source":"apache","extensions":["p","pas"]},"text/x-processing":{"compressible":true,"extensions":["pde"]},"text/x-sass":{"extensions":["sass"]},"text/x-scss":{"extensions":["scss"]},"text/x-setext":{"source":"apache","extensions":["etx"]},"text/x-sfv":{"source":"apache","extensions":["sfv"]},"text/x-suse-ymp":{"compressible":true,"extensions":["ymp"]},"text/x-uuencode":{"source":"apache","extensions":["uu"]},"text/x-vcalendar":{"source":"apache","extensions":["vcs"]},"text/x-vcard":{"source":"apache","extensions":["vcf"]},"text/xml":{"source":"iana","compressible":true,"extensions":["xml"]},"text/xml-external-parsed-entity":{"source":"iana"},"text/yaml":{"compressible":true,"extensions":["yaml","yml"]},"video/1d-interleaved-parityfec":{"source":"iana"},"video/3gpp":{"source":"iana","extensions":["3gp","3gpp"]},"video/3gpp-tt":{"source":"iana"},"video/3gpp2":{"source":"iana","extensions":["3g2"]},"video/av1":{"source":"iana"},"video/bmpeg":{"source":"iana"},"video/bt656":{"source":"iana"},"video/celb":{"source":"iana"},"video/dv":{"source":"iana"},"video/encaprtp":{"source":"iana"},"video/ffv1":{"source":"iana"},"video/flexfec":{"source":"iana"},"video/h261":{"source":"iana","extensions":["h261"]},"video/h263":{"source":"iana","extensions":["h263"]},"video/h263-1998":{"source":"iana"},"video/h263-2000":{"source":"iana"},"video/h264":{"source":"iana","extensions":["h264"]},"video/h264-rcdo":{"source":"iana"},"video/h264-svc":{"source":"iana"},"video/h265":{"source":"iana"},"video/iso.segment":{"source":"iana","extensions":["m4s"]},"video/jpeg":{"source":"iana","extensions":["jpgv"]},"video/jpeg2000":{"source":"iana"},"video/jpm":{"source":"apache","extensions":["jpm","jpgm"]},"video/jxsv":{"source":"iana"},"video/mj2":{"source":"iana","extensions":["mj2","mjp2"]},"video/mp1s":{"source":"iana"},"video/mp2p":{"source":"iana"},"video/mp2t":{"source":"iana","extensions":["ts"]},"video/mp4":{"source":"iana","compressible":false,"extensions":["mp4","mp4v","mpg4"]},"video/mp4v-es":{"source":"iana"},"video/mpeg":{"source":"iana","compressible":false,"extensions":["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{"source":"iana"},"video/mpv":{"source":"iana"},"video/nv":{"source":"iana"},"video/ogg":{"source":"iana","compressible":false,"extensions":["ogv"]},"video/parityfec":{"source":"iana"},"video/pointer":{"source":"iana"},"video/quicktime":{"source":"iana","compressible":false,"extensions":["qt","mov"]},"video/raptorfec":{"source":"iana"},"video/raw":{"source":"iana"},"video/rtp-enc-aescm128":{"source":"iana"},"video/rtploopback":{"source":"iana"},"video/rtx":{"source":"iana"},"video/scip":{"source":"iana"},"video/smpte291":{"source":"iana"},"video/smpte292m":{"source":"iana"},"video/ulpfec":{"source":"iana"},"video/vc1":{"source":"iana"},"video/vc2":{"source":"iana"},"video/vnd.cctv":{"source":"iana"},"video/vnd.dece.hd":{"source":"iana","extensions":["uvh","uvvh"]},"video/vnd.dece.mobile":{"source":"iana","extensions":["uvm","uvvm"]},"video/vnd.dece.mp4":{"source":"iana"},"video/vnd.dece.pd":{"source":"iana","extensions":["uvp","uvvp"]},"video/vnd.dece.sd":{"source":"iana","extensions":["uvs","uvvs"]},"video/vnd.dece.video":{"source":"iana","extensions":["uvv","uvvv"]},"video/vnd.directv.mpeg":{"source":"iana"},"video/vnd.directv.mpeg-tts":{"source":"iana"},"video/vnd.dlna.mpeg-tts":{"source":"iana"},"video/vnd.dvb.file":{"source":"iana","extensions":["dvb"]},"video/vnd.fvt":{"source":"iana","extensions":["fvt"]},"video/vnd.hns.video":{"source":"iana"},"video/vnd.iptvforum.1dparityfec-1010":{"source":"iana"},"video/vnd.iptvforum.1dparityfec-2005":{"source":"iana"},"video/vnd.iptvforum.2dparityfec-1010":{"source":"iana"},"video/vnd.iptvforum.2dparityfec-2005":{"source":"iana"},"video/vnd.iptvforum.ttsavc":{"source":"iana"},"video/vnd.iptvforum.ttsmpeg2":{"source":"iana"},"video/vnd.motorola.video":{"source":"iana"},"video/vnd.motorola.videop":{"source":"iana"},"video/vnd.mpegurl":{"source":"iana","extensions":["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{"source":"iana","extensions":["pyv"]},"video/vnd.nokia.interleaved-multimedia":{"source":"iana"},"video/vnd.nokia.mp4vr":{"source":"iana"},"video/vnd.nokia.videovoip":{"source":"iana"},"video/vnd.objectvideo":{"source":"iana"},"video/vnd.radgamettools.bink":{"source":"iana"},"video/vnd.radgamettools.smacker":{"source":"iana"},"video/vnd.sealed.mpeg1":{"source":"iana"},"video/vnd.sealed.mpeg4":{"source":"iana"},"video/vnd.sealed.swf":{"source":"iana"},"video/vnd.sealedmedia.softseal.mov":{"source":"iana"},"video/vnd.uvvu.mp4":{"source":"iana","extensions":["uvu","uvvu"]},"video/vnd.vivo":{"source":"iana","extensions":["viv"]},"video/vnd.youtube.yt":{"source":"iana"},"video/vp8":{"source":"iana"},"video/vp9":{"source":"iana"},"video/webm":{"source":"apache","compressible":false,"extensions":["webm"]},"video/x-f4v":{"source":"apache","extensions":["f4v"]},"video/x-fli":{"source":"apache","extensions":["fli"]},"video/x-flv":{"source":"apache","compressible":false,"extensions":["flv"]},"video/x-m4v":{"source":"apache","extensions":["m4v"]},"video/x-matroska":{"source":"apache","compressible":false,"extensions":["mkv","mk3d","mks"]},"video/x-mng":{"source":"apache","extensions":["mng"]},"video/x-ms-asf":{"source":"apache","extensions":["asf","asx"]},"video/x-ms-vob":{"source":"apache","extensions":["vob"]},"video/x-ms-wm":{"source":"apache","extensions":["wm"]},"video/x-ms-wmv":{"source":"apache","compressible":false,"extensions":["wmv"]},"video/x-ms-wmx":{"source":"apache","extensions":["wmx"]},"video/x-ms-wvx":{"source":"apache","extensions":["wvx"]},"video/x-msvideo":{"source":"apache","extensions":["avi"]},"video/x-sgi-movie":{"source":"apache","extensions":["movie"]},"video/x-smv":{"source":"apache","extensions":["smv"]},"x-conference/x-cooltalk":{"source":"apache","extensions":["ice"]},"x-shader/x-fragment":{"compressible":true},"x-shader/x-vertex":{"compressible":true}}')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var t=__webpack_module_cache__[e];if(t!==undefined){return t.exports}var r=__webpack_module_cache__[e]={exports:{}};var s=true;try{__webpack_modules__[e].call(r.exports,r,r.exports,__nccwpck_require__);s=false}finally{if(s)delete __webpack_module_cache__[e]}return r.exports}(()=>{__nccwpck_require__.r=e=>{if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(e,"__esModule",{value:true})}})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__={};(()=>{"use strict";__nccwpck_require__.r(__webpack_exports__);var e=__nccwpck_require__(1227);var t=__nccwpck_require__(4237);var r=__nccwpck_require__(7131);let s="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let customAlphabet=(e,t=21)=>(r=t)=>{let s="";let n=r;while(n--){s+=e[Math.random()*e.length|0]}return s};let nanoid=(e=21)=>{let t="";let r=e;while(r--){t+=s[Math.random()*64|0]}return t};var n="vercel.ai.error";var o=Symbol.for(n);var i;var a=class _AISDKError extends Error{constructor({name:e,message:t,cause:r}){super(t);this[i]=true;this.name=e;this.cause=r}static isInstance(e){return _AISDKError.hasMarker(e,n)}static hasMarker(e,t){const r=Symbol.for(t);return e!=null&&typeof e==="object"&&r in e&&typeof e[r]==="boolean"&&e[r]===true}toJSON(){return{name:this.name,message:this.message}}};i=o;var A=a;var c="AI_APICallError";var l=`vercel.ai.error.${c}`;var u=Symbol.for(l);var p;var d=class extends A{constructor({message:e,url:t,requestBodyValues:r,statusCode:s,responseHeaders:n,responseBody:o,cause:i,isRetryable:a=s!=null&&(s===408||s===409||s===429||s>=500),data:A}){super({name:c,message:e,cause:i});this[p]=true;this.url=t;this.requestBodyValues=r;this.statusCode=s;this.responseHeaders=n;this.responseBody=o;this.isRetryable=a;this.data=A}static isInstance(e){return A.hasMarker(e,l)}static isAPICallError(e){return e instanceof Error&&e.name===c&&typeof e.url==="string"&&typeof e.requestBodyValues==="object"&&(e.statusCode==null||typeof e.statusCode==="number")&&(e.responseHeaders==null||typeof e.responseHeaders==="object")&&(e.responseBody==null||typeof e.responseBody==="string")&&(e.cause==null||typeof e.cause==="object")&&typeof e.isRetryable==="boolean"&&(e.data==null||typeof e.data==="object")}toJSON(){return{name:this.name,message:this.message,url:this.url,requestBodyValues:this.requestBodyValues,statusCode:this.statusCode,responseHeaders:this.responseHeaders,responseBody:this.responseBody,cause:this.cause,isRetryable:this.isRetryable,data:this.data}}};p=u;var g="AI_EmptyResponseBodyError";var h=`vercel.ai.error.${g}`;var m=Symbol.for(h);var E;var C=class extends A{constructor({message:e="Empty response body"}={}){super({name:g,message:e});this[E]=true}static isInstance(e){return A.hasMarker(e,h)}static isEmptyResponseBodyError(e){return e instanceof Error&&e.name===g}};E=m;function getErrorMessage(e){if(e==null){return"unknown error"}if(typeof e==="string"){return e}if(e instanceof Error){return e.message}return JSON.stringify(e)}var I="AI_InvalidPromptError";var B=`vercel.ai.error.${I}`;var Q=Symbol.for(B);var b;var y=class extends A{constructor({prompt:e,message:t,cause:r}){super({name:I,message:`Invalid prompt: ${t}`,cause:r});this[b]=true;this.prompt=e}static isInstance(e){return A.hasMarker(e,B)}static isInvalidPromptError(e){return e instanceof Error&&e.name===I&&prompt!=null}toJSON(){return{name:this.name,message:this.message,stack:this.stack,prompt:this.prompt}}};b=Q;var v="AI_InvalidResponseDataError";var w=`vercel.ai.error.${v}`;var x=Symbol.for(w);var k;var R=class extends A{constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:v,message:t});this[k]=true;this.data=e}static isInstance(e){return A.hasMarker(e,w)}static isInvalidResponseDataError(e){return e instanceof Error&&e.name===v&&e.data!=null}toJSON(){return{name:this.name,message:this.message,stack:this.stack,data:this.data}}};k=x;var S="AI_JSONParseError";var D=`vercel.ai.error.${S}`;var T=Symbol.for(D);var _;var F=class extends A{constructor({text:e,cause:t}){super({name:S,message:`JSON parsing failed: Text: ${e}.\nError message: ${getErrorMessage(t)}`,cause:t});this[_]=true;this.text=e}static isInstance(e){return A.hasMarker(e,D)}static isJSONParseError(e){return e instanceof Error&&e.name===S&&"text"in e&&typeof e.text==="string"}toJSON(){return{name:this.name,message:this.message,cause:this.cause,stack:this.stack,valueText:this.text}}};_=T;var N="AI_LoadAPIKeyError";var U=`vercel.ai.error.${N}`;var O=Symbol.for(U);var M;var L=class extends A{constructor({message:e}){super({name:N,message:e});this[M]=true}static isInstance(e){return A.hasMarker(e,U)}static isLoadAPIKeyError(e){return e instanceof Error&&e.name===N}};M=O;var P="AI_LoadSettingError";var G=`vercel.ai.error.${P}`;var j=Symbol.for(G);var H;var J=class extends(null&&A){constructor({message:e}){super({name:P,message:e});this[H]=true}static isInstance(e){return A.hasMarker(e,G)}static isLoadSettingError(e){return e instanceof Error&&e.name===P}};H=j;var V="AI_NoContentGeneratedError";var Y=`vercel.ai.error.${V}`;var q=Symbol.for(Y);var W;var Z=class extends(null&&A){constructor({message:e="No content generated."}={}){super({name:V,message:e});this[W]=true}static isInstance(e){return A.hasMarker(e,Y)}static isNoContentGeneratedError(e){return e instanceof Error&&e.name===V}toJSON(){return{name:this.name,cause:this.cause,message:this.message,stack:this.stack}}};W=q;var z="AI_NoSuchModelError";var K=`vercel.ai.error.${z}`;var X=Symbol.for(K);var $;var ee=class extends(null&&A){constructor({errorName:e=z,modelId:t,modelType:r,message:s=`No such ${r}: ${t}`}){super({name:e,message:s});this[$]=true;this.modelId=t;this.modelType=r}static isInstance(e){return A.hasMarker(e,K)}static isNoSuchModelError(e){return e instanceof Error&&e.name===z&&typeof e.modelId==="string"&&typeof e.modelType==="string"}toJSON(){return{name:this.name,message:this.message,stack:this.stack,modelId:this.modelId,modelType:this.modelType}}};$=X;var te="AI_TooManyEmbeddingValuesForCallError";var re=`vercel.ai.error.${te}`;var se=Symbol.for(re);var ne;var oe=class extends A{constructor(e){super({name:te,message:`Too many values for a single embedding call. The ${e.provider} model "${e.modelId}" can only embed up to ${e.maxEmbeddingsPerCall} values per call, but ${e.values.length} values were provided.`});this[ne]=true;this.provider=e.provider;this.modelId=e.modelId;this.maxEmbeddingsPerCall=e.maxEmbeddingsPerCall;this.values=e.values}static isInstance(e){return A.hasMarker(e,re)}static isTooManyEmbeddingValuesForCallError(e){return e instanceof Error&&e.name===te&&"provider"in e&&typeof e.provider==="string"&&"modelId"in e&&typeof e.modelId==="string"&&"maxEmbeddingsPerCall"in e&&typeof e.maxEmbeddingsPerCall==="number"&&"values"in e&&Array.isArray(e.values)}toJSON(){return{name:this.name,message:this.message,stack:this.stack,provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:this.values}}};ne=se;var ie="AI_TypeValidationError";var ae=`vercel.ai.error.${ie}`;var Ae=Symbol.for(ae);var ce;var le=class _TypeValidationError extends A{constructor({value:e,cause:t}){super({name:ie,message:`Type validation failed: Value: ${JSON.stringify(e)}.\nError message: ${getErrorMessage(t)}`,cause:t});this[ce]=true;this.value=e}static isInstance(e){return A.hasMarker(e,ae)}static wrap({value:e,cause:t}){return _TypeValidationError.isInstance(t)&&t.value===e?t:new _TypeValidationError({value:e,cause:t})}static isTypeValidationError(e){return e instanceof Error&&e.name===ie}toJSON(){return{name:this.name,message:this.message,cause:this.cause,stack:this.stack,value:this.value}}};ce=Ae;var ue=le;var pe="AI_UnsupportedFunctionalityError";var de=`vercel.ai.error.${pe}`;var ge=Symbol.for(de);var he;var fe=class extends A{constructor({functionality:e}){super({name:pe,message:`'${e}' functionality not supported.`});this[he]=true;this.functionality=e}static isInstance(e){return A.hasMarker(e,de)}static isUnsupportedFunctionalityError(e){return e instanceof Error&&e.name===pe&&typeof e.functionality==="string"}toJSON(){return{name:this.name,message:this.message,stack:this.stack,functionality:this.functionality}}};he=ge;function isJSONValue(e){if(e===null||typeof e==="string"||typeof e==="number"||typeof e==="boolean"){return true}if(Array.isArray(e)){return e.every(isJSONValue)}if(typeof e==="object"){return Object.entries(e).every((([e,t])=>typeof e==="string"&&isJSONValue(t)))}return false}function dist_isJSONArray(e){return Array.isArray(e)&&e.every(isJSONValue)}function dist_isJSONObject(e){return e!=null&&typeof e==="object"&&Object.entries(e).every((([e,t])=>typeof e==="string"&&isJSONValue(t)))}var me=__nccwpck_require__(4642);function dist_createParser(e){let t;let r;let s;let n;let o;let i;let a;reset();return{feed:feed,reset:reset};function reset(){t=true;r="";s=0;n=-1;o=void 0;i=void 0;a=""}function feed(e){r=r?r+e:e;if(t&&hasBom(r)){r=r.slice(Ee.length)}t=false;const o=r.length;let i=0;let a=false;while(i0){r=r.slice(i)}}function parseEventStreamLine(t,r,s,n){if(n===0){if(a.length>0){e({type:"event",id:o,event:i||void 0,data:a.slice(0,-1)});a="";o=void 0}i=void 0;return}const A=s<0;const c=t.slice(r,r+(A?n:s));let l=0;if(A){l=n}else if(t[r+s+1]===" "){l=s+2}else{l=s+1}const u=r+l;const p=n-l;const d=t.slice(u,u+p).toString();if(c==="data"){a+=d?"".concat(d,"\n"):"\n"}else if(c==="event"){i=d}else if(c==="id"&&!d.includes("\0")){o=d}else if(c==="retry"){const t=parseInt(d,10);if(!Number.isNaN(t)){e({type:"reconnect-interval",value:t})}}}}const Ee=[239,187,191];function hasBom(e){return Ee.every(((t,r)=>e.charCodeAt(r)===t))}class EventSourceParserStream extends TransformStream{constructor(){let e;super({start(t){e=dist_createParser((e=>{if(e.type==="event"){t.enqueue(e)}}))},transform(t){e.feed(t)}})}}function combineHeaders(...e){return e.reduce(((e,t)=>({...e,...t!=null?t:{}})),{})}function convertAsyncGeneratorToReadableStream(e){return new ReadableStream({async pull(t){try{const{value:r,done:s}=await e.next();if(s){t.close()}else{t.enqueue(r)}}catch(e){t.error(e)}},cancel(){}})}function extractResponseHeaders(e){const t={};e.headers.forEach(((e,r)=>{t[r]=e}));return t}var Ce=customAlphabet("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",7);function dist_getErrorMessage(e){if(e==null){return"unknown error"}if(typeof e==="string"){return e}if(e instanceof Error){return e.message}return JSON.stringify(e)}function isAbortError(e){return e instanceof Error&&(e.name==="AbortError"||e.name==="TimeoutError")}function dist_loadApiKey({apiKey:e,environmentVariableName:t,apiKeyParameterName:r="apiKey",description:s}){if(typeof e==="string"){return e}if(e!=null){throw new L({message:`${s} API key must be a string.`})}if(typeof process==="undefined"){throw new L({message:`${s} API key is missing. Pass it using the '${r}' parameter. Environment variables is not supported in this environment.`})}e=process.env[t];if(e==null){throw new L({message:`${s} API key is missing. Pass it using the '${r}' parameter or the ${t} environment variable.`})}if(typeof e!=="string"){throw new L({message:`${s} API key must be a string. The value of the ${t} environment variable is not a string.`})}return e}function loadSetting({settingValue:e,environmentVariableName:t,settingName:r,description:s}){if(typeof e==="string"){return e}if(e!=null){throw new LoadSettingError({message:`${s} setting must be a string.`})}if(typeof process==="undefined"){throw new LoadSettingError({message:`${s} setting is missing. Pass it using the '${r}' parameter. Environment variables is not supported in this environment.`})}e=process.env[t];if(e==null){throw new LoadSettingError({message:`${s} setting is missing. Pass it using the '${r}' parameter or the ${t} environment variable.`})}if(typeof e!=="string"){throw new LoadSettingError({message:`${s} setting must be a string. The value of the ${t} environment variable is not a string.`})}return e}function loadOptionalSetting({settingValue:e,environmentVariableName:t}){if(typeof e==="string"){return e}if(e!=null||typeof process==="undefined"){return void 0}e=process.env[t];if(e==null||typeof e!=="string"){return void 0}return e}var Ie=Symbol.for("vercel.ai.validator");function validator(e){return{[Ie]:true,validate:e}}function isValidator(e){return typeof e==="object"&&e!==null&&Ie in e&&e[Ie]===true&&"validate"in e}function asValidator(e){return isValidator(e)?e:zodValidator(e)}function zodValidator(e){return validator((t=>{const r=e.safeParse(t);return r.success?{success:true,value:r.data}:{success:false,error:r.error}}))}function validateTypes({value:e,schema:t}){const r=safeValidateTypes({value:e,schema:t});if(!r.success){throw ue.wrap({value:e,cause:r.error})}return r.value}function safeValidateTypes({value:e,schema:t}){const r=asValidator(t);try{if(r.validate==null){return{success:true,value:e}}const t=r.validate(e);if(t.success){return t}return{success:false,error:ue.wrap({value:e,cause:t.error})}}catch(t){return{success:false,error:ue.wrap({value:e,cause:t})}}}function parseJSON({text:e,schema:t}){try{const r=me.parse(e);if(t==null){return r}return validateTypes({value:r,schema:t})}catch(t){if(F.isJSONParseError(t)||ue.isTypeValidationError(t)){throw t}throw new F({text:e,cause:t})}}function dist_safeParseJSON({text:e,schema:t}){try{const r=me.parse(e);if(t==null){return{success:true,value:r}}return safeValidateTypes({value:r,schema:t})}catch(t){return{success:false,error:F.isJSONParseError(t)?t:new F({text:e,cause:t})}}}function isParsableJson(e){try{me.parse(e);return true}catch(e){return false}}var Be=null&&isParsableJson;function removeUndefinedEntries(e){return Object.fromEntries(Object.entries(e).filter((([e,t])=>t!=null)))}var getOriginalFetch=()=>globalThis.fetch;var postJsonToApi=async({url:e,headers:t,body:r,failedResponseHandler:s,successfulResponseHandler:n,abortSignal:o,fetch:i})=>postToApi({url:e,headers:{"Content-Type":"application/json",...t},body:{content:JSON.stringify(r),values:r},failedResponseHandler:s,successfulResponseHandler:n,abortSignal:o,fetch:i});var postToApi=async({url:e,headers:t={},body:r,successfulResponseHandler:s,failedResponseHandler:n,abortSignal:o,fetch:i=getOriginalFetch()})=>{try{const a=await i(e,{method:"POST",headers:removeUndefinedEntries(t),body:r.content,signal:o});const A=extractResponseHeaders(a);if(!a.ok){let t;try{t=await n({response:a,url:e,requestBodyValues:r.values})}catch(t){if(isAbortError(t)||d.isAPICallError(t)){throw t}throw new d({message:"Failed to process error response",cause:t,statusCode:a.status,url:e,responseHeaders:A,requestBodyValues:r.values})}throw t.value}try{return await s({response:a,url:e,requestBodyValues:r.values})}catch(t){if(t instanceof Error){if(isAbortError(t)||d.isAPICallError(t)){throw t}}throw new d({message:"Failed to process successful response",cause:t,statusCode:a.status,url:e,responseHeaders:A,requestBodyValues:r.values})}}catch(t){if(isAbortError(t)){throw t}if(t instanceof TypeError&&t.message==="fetch failed"){const s=t.cause;if(s!=null){throw new d({message:`Cannot connect to API: ${s.message}`,cause:s,url:e,requestBodyValues:r.values,isRetryable:true})}}throw t}};var createJsonErrorResponseHandler=({errorSchema:e,errorToMessage:t,isRetryable:r})=>async({response:s,url:n,requestBodyValues:o})=>{const i=await s.text();const a=extractResponseHeaders(s);if(i.trim()===""){return{responseHeaders:a,value:new d({message:s.statusText,url:n,requestBodyValues:o,statusCode:s.status,responseHeaders:a,responseBody:i,isRetryable:r==null?void 0:r(s)})}}try{const A=parseJSON({text:i,schema:e});return{responseHeaders:a,value:new d({message:t(A),url:n,requestBodyValues:o,statusCode:s.status,responseHeaders:a,responseBody:i,data:A,isRetryable:r==null?void 0:r(s,A)})}}catch(e){return{responseHeaders:a,value:new d({message:s.statusText,url:n,requestBodyValues:o,statusCode:s.status,responseHeaders:a,responseBody:i,isRetryable:r==null?void 0:r(s)})}}};var createEventSourceResponseHandler=e=>async({response:t})=>{const r=extractResponseHeaders(t);if(t.body==null){throw new C({})}return{responseHeaders:r,value:t.body.pipeThrough(new TextDecoderStream).pipeThrough(new EventSourceParserStream).pipeThrough(new TransformStream({transform({data:t},r){if(t==="[DONE]"){return}r.enqueue(dist_safeParseJSON({text:t,schema:e}))}}))}};var createJsonStreamResponseHandler=e=>async({response:t})=>{const r=extractResponseHeaders(t);if(t.body==null){throw new EmptyResponseBodyError({})}let s="";return{responseHeaders:r,value:t.body.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({transform(t,r){if(t.endsWith("\n")){r.enqueue(dist_safeParseJSON({text:s+t,schema:e}));s=""}else{s+=t}}}))}};var createJsonResponseHandler=e=>async({response:t,url:r,requestBodyValues:s})=>{const n=await t.text();const o=dist_safeParseJSON({text:n,schema:e});const i=extractResponseHeaders(t);if(!o.success){throw new d({message:"Invalid JSON response",cause:o.error,statusCode:t.status,responseHeaders:i,responseBody:n,url:r,requestBodyValues:s})}return{responseHeaders:i,value:o.value}};var{btoa:Qe,atob:be}=globalThis;function convertBase64ToUint8Array(e){const t=e.replace(/-/g,"+").replace(/_/g,"/");const r=be(t);return Uint8Array.from(r,(e=>e.codePointAt(0)))}function convertUint8ArrayToBase64(e){let t="";for(let r=0;re;function assertIs(e){}e.assertIs=assertIs;function assertNever(e){throw new Error}e.assertNever=assertNever;e.arrayToEnum=e=>{const t={};for(const r of e){t[r]=r}return t};e.getValidEnumValues=t=>{const r=e.objectKeys(t).filter((e=>typeof t[t[e]]!=="number"));const s={};for(const e of r){s[e]=t[e]}return e.objectValues(s)};e.objectValues=t=>e.objectKeys(t).map((function(e){return t[e]}));e.objectKeys=typeof Object.keys==="function"?e=>Object.keys(e):e=>{const t=[];for(const r in e){if(Object.prototype.hasOwnProperty.call(e,r)){t.push(r)}}return t};e.find=(e,t)=>{for(const r of e){if(t(r))return r}return undefined};e.isInteger=typeof Number.isInteger==="function"?e=>Number.isInteger(e):e=>typeof e==="number"&&isFinite(e)&&Math.floor(e)===e;function joinValues(e,t=" | "){return e.map((e=>typeof e==="string"?`'${e}'`:e)).join(t)}e.joinValues=joinValues;e.jsonStringifyReplacer=(e,t)=>{if(typeof t==="bigint"){return t.toString()}return t}})(ve||(ve={}));var we;(function(e){e.mergeShapes=(e,t)=>({...e,...t})})(we||(we={}));const xe=ve.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);const getParsedType=e=>{const t=typeof e;switch(t){case"undefined":return xe.undefined;case"string":return xe.string;case"number":return isNaN(e)?xe.nan:xe.number;case"boolean":return xe.boolean;case"function":return xe.function;case"bigint":return xe.bigint;case"symbol":return xe.symbol;case"object":if(Array.isArray(e)){return xe.array}if(e===null){return xe.null}if(e.then&&typeof e.then==="function"&&e.catch&&typeof e.catch==="function"){return xe.promise}if(typeof Map!=="undefined"&&e instanceof Map){return xe.map}if(typeof Set!=="undefined"&&e instanceof Set){return xe.set}if(typeof Date!=="undefined"&&e instanceof Date){return xe.date}return xe.object;default:return xe.unknown}};const ke=ve.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);const quotelessJson=e=>{const t=JSON.stringify(e,null,2);return t.replace(/"([^"]+)":/g,"$1:")};class ZodError extends Error{constructor(e){super();this.issues=[];this.addIssue=e=>{this.issues=[...this.issues,e]};this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;if(Object.setPrototypeOf){Object.setPrototypeOf(this,t)}else{this.__proto__=t}this.name="ZodError";this.issues=e}get errors(){return this.issues}format(e){const t=e||function(e){return e.message};const r={_errors:[]};const processError=e=>{for(const s of e.issues){if(s.code==="invalid_union"){s.unionErrors.map(processError)}else if(s.code==="invalid_return_type"){processError(s.returnTypeError)}else if(s.code==="invalid_arguments"){processError(s.argumentsError)}else if(s.path.length===0){r._errors.push(t(s))}else{let e=r;let n=0;while(ne.message)){const t={};const r=[];for(const s of this.issues){if(s.path.length>0){t[s.path[0]]=t[s.path[0]]||[];t[s.path[0]].push(e(s))}else{r.push(e(s))}}return{formErrors:r,fieldErrors:t}}get formErrors(){return this.flatten()}}ZodError.create=e=>{const t=new ZodError(e);return t};const errorMap=(e,t)=>{let r;switch(e.code){case ke.invalid_type:if(e.received===xe.undefined){r="Required"}else{r=`Expected ${e.expected}, received ${e.received}`}break;case ke.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,ve.jsonStringifyReplacer)}`;break;case ke.unrecognized_keys:r=`Unrecognized key(s) in object: ${ve.joinValues(e.keys,", ")}`;break;case ke.invalid_union:r=`Invalid input`;break;case ke.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${ve.joinValues(e.options)}`;break;case ke.invalid_enum_value:r=`Invalid enum value. Expected ${ve.joinValues(e.options)}, received '${e.received}'`;break;case ke.invalid_arguments:r=`Invalid function arguments`;break;case ke.invalid_return_type:r=`Invalid function return type`;break;case ke.invalid_date:r=`Invalid date`;break;case ke.invalid_string:if(typeof e.validation==="object"){if("includes"in e.validation){r=`Invalid input: must include "${e.validation.includes}"`;if(typeof e.validation.position==="number"){r=`${r} at one or more positions greater than or equal to ${e.validation.position}`}}else if("startsWith"in e.validation){r=`Invalid input: must start with "${e.validation.startsWith}"`}else if("endsWith"in e.validation){r=`Invalid input: must end with "${e.validation.endsWith}"`}else{ve.assertNever(e.validation)}}else if(e.validation!=="regex"){r=`Invalid ${e.validation}`}else{r="Invalid"}break;case ke.too_small:if(e.type==="array")r=`Array must contain ${e.exact?"exactly":e.inclusive?`at least`:`more than`} ${e.minimum} element(s)`;else if(e.type==="string")r=`String must contain ${e.exact?"exactly":e.inclusive?`at least`:`over`} ${e.minimum} character(s)`;else if(e.type==="number")r=`Number must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${e.minimum}`;else if(e.type==="date")r=`Date must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${new Date(Number(e.minimum))}`;else r="Invalid input";break;case ke.too_big:if(e.type==="array")r=`Array must contain ${e.exact?`exactly`:e.inclusive?`at most`:`less than`} ${e.maximum} element(s)`;else if(e.type==="string")r=`String must contain ${e.exact?`exactly`:e.inclusive?`at most`:`under`} ${e.maximum} character(s)`;else if(e.type==="number")r=`Number must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`;else if(e.type==="bigint")r=`BigInt must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`;else if(e.type==="date")r=`Date must be ${e.exact?`exactly`:e.inclusive?`smaller than or equal to`:`smaller than`} ${new Date(Number(e.maximum))}`;else r="Invalid input";break;case ke.custom:r=`Invalid input`;break;case ke.invalid_intersection_types:r=`Intersection results could not be merged`;break;case ke.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case ke.not_finite:r="Number must be finite";break;default:r=t.defaultError;ve.assertNever(e)}return{message:r}};let Re=errorMap;function setErrorMap(e){Re=e}function getErrorMap(){return Re}const makeIssue=e=>{const{data:t,path:r,errorMaps:s,issueData:n}=e;const o=[...r,...n.path||[]];const i={...n,path:o};if(n.message!==undefined){return{...n,path:o,message:n.message}}let a="";const A=s.filter((e=>!!e)).slice().reverse();for(const e of A){a=e(i,{data:t,defaultError:a}).message}return{...n,path:o,message:a}};const Se=[];function addIssueToContext(e,t){const r=getErrorMap();const s=makeIssue({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===errorMap?undefined:errorMap].filter((e=>!!e))});e.common.issues.push(s)}class ParseStatus{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(e,t){const r=[];for(const s of t){if(s.status==="aborted")return De;if(s.status==="dirty")e.dirty();r.push(s.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,t){const r=[];for(const e of t){const t=await e.key;const s=await e.value;r.push({key:t,value:s})}return ParseStatus.mergeObjectSync(e,r)}static mergeObjectSync(e,t){const r={};for(const s of t){const{key:t,value:n}=s;if(t.status==="aborted")return De;if(n.status==="aborted")return De;if(t.status==="dirty")e.dirty();if(n.status==="dirty")e.dirty();if(t.value!=="__proto__"&&(typeof n.value!=="undefined"||s.alwaysSet)){r[t.value]=n.value}}return{status:e.value,value:r}}}const De=Object.freeze({status:"aborted"});const DIRTY=e=>({status:"dirty",value:e});const OK=e=>({status:"valid",value:e});const isAborted=e=>e.status==="aborted";const isDirty=e=>e.status==="dirty";const isValid=e=>e.status==="valid";const isAsync=e=>typeof Promise!=="undefined"&&e instanceof Promise;function __classPrivateFieldGet(e,t,r,s){if(r==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof t==="function"?e!==t||!s:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?s:r==="a"?s.call(e):s?s.value:t.get(e)}function __classPrivateFieldSet(e,t,r,s,n){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!n)throw new TypeError("Private accessor was defined without a setter");if(typeof t==="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?n.call(e,r):n?n.value=r:t.set(e,r),r}typeof SuppressedError==="function"?SuppressedError:function(e,t,r){var s=new Error(r);return s.name="SuppressedError",s.error=e,s.suppressed=t,s};var Te;(function(e){e.errToObj=e=>typeof e==="string"?{message:e}:e||{};e.toString=e=>typeof e==="string"?e:e===null||e===void 0?void 0:e.message})(Te||(Te={}));var _e,Fe;class ParseInputLazyPath{constructor(e,t,r,s){this._cachedPath=[];this.parent=e;this.data=t;this._path=r;this._key=s}get path(){if(!this._cachedPath.length){if(this._key instanceof Array){this._cachedPath.push(...this._path,...this._key)}else{this._cachedPath.push(...this._path,this._key)}}return this._cachedPath}}const handleResult=(e,t)=>{if(isValid(t)){return{success:true,data:t.value}}else{if(!e.common.issues.length){throw new Error("Validation failed but no issues detected.")}return{success:false,get error(){if(this._error)return this._error;const t=new ZodError(e.common.issues);this._error=t;return this._error}}}};function processCreateParams(e){if(!e)return{};const{errorMap:t,invalid_type_error:r,required_error:s,description:n}=e;if(t&&(r||s)){throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`)}if(t)return{errorMap:t,description:n};const customMap=(t,n)=>{var o,i;const{message:a}=e;if(t.code==="invalid_enum_value"){return{message:a!==null&&a!==void 0?a:n.defaultError}}if(typeof n.data==="undefined"){return{message:(o=a!==null&&a!==void 0?a:s)!==null&&o!==void 0?o:n.defaultError}}if(t.code!=="invalid_type")return{message:n.defaultError};return{message:(i=a!==null&&a!==void 0?a:r)!==null&&i!==void 0?i:n.defaultError}};return{errorMap:customMap,description:n}}class ZodType{constructor(e){this.spa=this.safeParseAsync;this._def=e;this.parse=this.parse.bind(this);this.safeParse=this.safeParse.bind(this);this.parseAsync=this.parseAsync.bind(this);this.safeParseAsync=this.safeParseAsync.bind(this);this.spa=this.spa.bind(this);this.refine=this.refine.bind(this);this.refinement=this.refinement.bind(this);this.superRefine=this.superRefine.bind(this);this.optional=this.optional.bind(this);this.nullable=this.nullable.bind(this);this.nullish=this.nullish.bind(this);this.array=this.array.bind(this);this.promise=this.promise.bind(this);this.or=this.or.bind(this);this.and=this.and.bind(this);this.transform=this.transform.bind(this);this.brand=this.brand.bind(this);this.default=this.default.bind(this);this.catch=this.catch.bind(this);this.describe=this.describe.bind(this);this.pipe=this.pipe.bind(this);this.readonly=this.readonly.bind(this);this.isNullable=this.isNullable.bind(this);this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return getParsedType(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:getParsedType(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new ParseStatus,ctx:{common:e.parent.common,data:e.data,parsedType:getParsedType(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(isAsync(t)){throw new Error("Synchronous parse encountered promise.")}return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const r=this.safeParse(e,t);if(r.success)return r.data;throw r.error}safeParse(e,t){var r;const s={common:{issues:[],async:(r=t===null||t===void 0?void 0:t.async)!==null&&r!==void 0?r:false,contextualErrorMap:t===null||t===void 0?void 0:t.errorMap},path:(t===null||t===void 0?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:getParsedType(e)};const n=this._parseSync({data:e,path:s.path,parent:s});return handleResult(s,n)}async parseAsync(e,t){const r=await this.safeParseAsync(e,t);if(r.success)return r.data;throw r.error}async safeParseAsync(e,t){const r={common:{issues:[],contextualErrorMap:t===null||t===void 0?void 0:t.errorMap,async:true},path:(t===null||t===void 0?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:getParsedType(e)};const s=this._parse({data:e,path:r.path,parent:r});const n=await(isAsync(s)?s:Promise.resolve(s));return handleResult(r,n)}refine(e,t){const getIssueProperties=e=>{if(typeof t==="string"||typeof t==="undefined"){return{message:t}}else if(typeof t==="function"){return t(e)}else{return t}};return this._refinement(((t,r)=>{const s=e(t);const setError=()=>r.addIssue({code:ke.custom,...getIssueProperties(t)});if(typeof Promise!=="undefined"&&s instanceof Promise){return s.then((e=>{if(!e){setError();return false}else{return true}}))}if(!s){setError();return false}else{return true}}))}refinement(e,t){return this._refinement(((r,s)=>{if(!e(r)){s.addIssue(typeof t==="function"?t(r,s):t);return false}else{return true}}))}_refinement(e){return new ZodEffects({schema:this,typeName:Ke.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return ZodOptional.create(this,this._def)}nullable(){return ZodNullable.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ZodArray.create(this,this._def)}promise(){return ZodPromise.create(this,this._def)}or(e){return ZodUnion.create([this,e],this._def)}and(e){return ZodIntersection.create(this,e,this._def)}transform(e){return new ZodEffects({...processCreateParams(this._def),schema:this,typeName:Ke.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e==="function"?e:()=>e;return new ZodDefault({...processCreateParams(this._def),innerType:this,defaultValue:t,typeName:Ke.ZodDefault})}brand(){return new ZodBranded({typeName:Ke.ZodBranded,type:this,...processCreateParams(this._def)})}catch(e){const t=typeof e==="function"?e:()=>e;return new ZodCatch({...processCreateParams(this._def),innerType:this,catchValue:t,typeName:Ke.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return ZodPipeline.create(this,e)}readonly(){return ZodReadonly.create(this)}isOptional(){return this.safeParse(undefined).success}isNullable(){return this.safeParse(null).success}}const Ne=/^c[^\s-]{8,}$/i;const Ue=/^[0-9a-z]+$/;const Oe=/^[0-9A-HJKMNP-TV-Z]{26}$/;const Me=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i;const Le=/^[a-z0-9_-]{21}$/i;const Pe=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/;const Ge=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i;const je=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;let He;const Je=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;const Ve=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;const Ye=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;const qe=`((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))`;const We=new RegExp(`^${qe}$`);function timeRegexSource(e){let t=`([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d`;if(e.precision){t=`${t}\\.\\d{${e.precision}}`}else if(e.precision==null){t=`${t}(\\.\\d+)?`}return t}function timeRegex(e){return new RegExp(`^${timeRegexSource(e)}$`)}function datetimeRegex(e){let t=`${qe}T${timeRegexSource(e)}`;const r=[];r.push(e.local?`Z?`:`Z`);if(e.offset)r.push(`([+-]\\d{2}:?\\d{2})`);t=`${t}(${r.join("|")})`;return new RegExp(`^${t}$`)}function isValidIP(e,t){if((t==="v4"||!t)&&Je.test(e)){return true}if((t==="v6"||!t)&&Ve.test(e)){return true}return false}class ZodString extends ZodType{_parse(e){if(this._def.coerce){e.data=String(e.data)}const t=this._getType(e);if(t!==xe.string){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_type,expected:xe.string,received:t.parsedType});return De}const r=new ParseStatus;let s=undefined;for(const t of this._def.checks){if(t.kind==="min"){if(e.data.lengtht.value){s=this._getOrReturnCtx(e,s);addIssueToContext(s,{code:ke.too_big,maximum:t.value,type:"string",inclusive:true,exact:false,message:t.message});r.dirty()}}else if(t.kind==="length"){const n=e.data.length>t.value;const o=e.data.lengthe.test(t)),{validation:t,code:ke.invalid_string,...Te.errToObj(r)})}_addCheck(e){return new ZodString({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...Te.errToObj(e)})}url(e){return this._addCheck({kind:"url",...Te.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...Te.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...Te.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...Te.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...Te.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...Te.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...Te.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...Te.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...Te.errToObj(e)})}datetime(e){var t,r;if(typeof e==="string"){return this._addCheck({kind:"datetime",precision:null,offset:false,local:false,message:e})}return this._addCheck({kind:"datetime",precision:typeof(e===null||e===void 0?void 0:e.precision)==="undefined"?null:e===null||e===void 0?void 0:e.precision,offset:(t=e===null||e===void 0?void 0:e.offset)!==null&&t!==void 0?t:false,local:(r=e===null||e===void 0?void 0:e.local)!==null&&r!==void 0?r:false,...Te.errToObj(e===null||e===void 0?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){if(typeof e==="string"){return this._addCheck({kind:"time",precision:null,message:e})}return this._addCheck({kind:"time",precision:typeof(e===null||e===void 0?void 0:e.precision)==="undefined"?null:e===null||e===void 0?void 0:e.precision,...Te.errToObj(e===null||e===void 0?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...Te.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...Te.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t===null||t===void 0?void 0:t.position,...Te.errToObj(t===null||t===void 0?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...Te.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...Te.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...Te.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...Te.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...Te.errToObj(t)})}nonempty(e){return this.min(1,Te.errToObj(e))}trim(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((e=>e.kind==="datetime"))}get isDate(){return!!this._def.checks.find((e=>e.kind==="date"))}get isTime(){return!!this._def.checks.find((e=>e.kind==="time"))}get isDuration(){return!!this._def.checks.find((e=>e.kind==="duration"))}get isEmail(){return!!this._def.checks.find((e=>e.kind==="email"))}get isURL(){return!!this._def.checks.find((e=>e.kind==="url"))}get isEmoji(){return!!this._def.checks.find((e=>e.kind==="emoji"))}get isUUID(){return!!this._def.checks.find((e=>e.kind==="uuid"))}get isNANOID(){return!!this._def.checks.find((e=>e.kind==="nanoid"))}get isCUID(){return!!this._def.checks.find((e=>e.kind==="cuid"))}get isCUID2(){return!!this._def.checks.find((e=>e.kind==="cuid2"))}get isULID(){return!!this._def.checks.find((e=>e.kind==="ulid"))}get isIP(){return!!this._def.checks.find((e=>e.kind==="ip"))}get isBase64(){return!!this._def.checks.find((e=>e.kind==="base64"))}get minLength(){let e=null;for(const t of this._def.checks){if(t.kind==="min"){if(e===null||t.value>e)e=t.value}}return e}get maxLength(){let e=null;for(const t of this._def.checks){if(t.kind==="max"){if(e===null||t.value{var t;return new ZodString({checks:[],typeName:Ke.ZodString,coerce:(t=e===null||e===void 0?void 0:e.coerce)!==null&&t!==void 0?t:false,...processCreateParams(e)})};function floatSafeRemainder(e,t){const r=(e.toString().split(".")[1]||"").length;const s=(t.toString().split(".")[1]||"").length;const n=r>s?r:s;const o=parseInt(e.toFixed(n).replace(".",""));const i=parseInt(t.toFixed(n).replace(".",""));return o%i/Math.pow(10,n)}class ZodNumber extends ZodType{constructor(){super(...arguments);this.min=this.gte;this.max=this.lte;this.step=this.multipleOf}_parse(e){if(this._def.coerce){e.data=Number(e.data)}const t=this._getType(e);if(t!==xe.number){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_type,expected:xe.number,received:t.parsedType});return De}let r=undefined;const s=new ParseStatus;for(const t of this._def.checks){if(t.kind==="int"){if(!ve.isInteger(e.data)){r=this._getOrReturnCtx(e,r);addIssueToContext(r,{code:ke.invalid_type,expected:"integer",received:"float",message:t.message});s.dirty()}}else if(t.kind==="min"){const n=t.inclusive?e.datat.value:e.data>=t.value;if(n){r=this._getOrReturnCtx(e,r);addIssueToContext(r,{code:ke.too_big,maximum:t.value,type:"number",inclusive:t.inclusive,exact:false,message:t.message});s.dirty()}}else if(t.kind==="multipleOf"){if(floatSafeRemainder(e.data,t.value)!==0){r=this._getOrReturnCtx(e,r);addIssueToContext(r,{code:ke.not_multiple_of,multipleOf:t.value,message:t.message});s.dirty()}}else if(t.kind==="finite"){if(!Number.isFinite(e.data)){r=this._getOrReturnCtx(e,r);addIssueToContext(r,{code:ke.not_finite,message:t.message});s.dirty()}}else{ve.assertNever(t)}}return{status:s.value,value:e.data}}gte(e,t){return this.setLimit("min",e,true,Te.toString(t))}gt(e,t){return this.setLimit("min",e,false,Te.toString(t))}lte(e,t){return this.setLimit("max",e,true,Te.toString(t))}lt(e,t){return this.setLimit("max",e,false,Te.toString(t))}setLimit(e,t,r,s){return new ZodNumber({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:Te.toString(s)}]})}_addCheck(e){return new ZodNumber({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:Te.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:false,message:Te.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:false,message:Te.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:true,message:Te.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:true,message:Te.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Te.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:Te.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:true,value:Number.MIN_SAFE_INTEGER,message:Te.toString(e)})._addCheck({kind:"max",inclusive:true,value:Number.MAX_SAFE_INTEGER,message:Te.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks){if(t.kind==="min"){if(e===null||t.value>e)e=t.value}}return e}get maxValue(){let e=null;for(const t of this._def.checks){if(t.kind==="max"){if(e===null||t.valuee.kind==="int"||e.kind==="multipleOf"&&ve.isInteger(e.value)))}get isFinite(){let e=null,t=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf"){return true}else if(r.kind==="min"){if(t===null||r.value>t)t=r.value}else if(r.kind==="max"){if(e===null||r.valuenew ZodNumber({checks:[],typeName:Ke.ZodNumber,coerce:(e===null||e===void 0?void 0:e.coerce)||false,...processCreateParams(e)});class ZodBigInt extends ZodType{constructor(){super(...arguments);this.min=this.gte;this.max=this.lte}_parse(e){if(this._def.coerce){e.data=BigInt(e.data)}const t=this._getType(e);if(t!==xe.bigint){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_type,expected:xe.bigint,received:t.parsedType});return De}let r=undefined;const s=new ParseStatus;for(const t of this._def.checks){if(t.kind==="min"){const n=t.inclusive?e.datat.value:e.data>=t.value;if(n){r=this._getOrReturnCtx(e,r);addIssueToContext(r,{code:ke.too_big,type:"bigint",maximum:t.value,inclusive:t.inclusive,message:t.message});s.dirty()}}else if(t.kind==="multipleOf"){if(e.data%t.value!==BigInt(0)){r=this._getOrReturnCtx(e,r);addIssueToContext(r,{code:ke.not_multiple_of,multipleOf:t.value,message:t.message});s.dirty()}}else{ve.assertNever(t)}}return{status:s.value,value:e.data}}gte(e,t){return this.setLimit("min",e,true,Te.toString(t))}gt(e,t){return this.setLimit("min",e,false,Te.toString(t))}lte(e,t){return this.setLimit("max",e,true,Te.toString(t))}lt(e,t){return this.setLimit("max",e,false,Te.toString(t))}setLimit(e,t,r,s){return new ZodBigInt({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:Te.toString(s)}]})}_addCheck(e){return new ZodBigInt({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:false,message:Te.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:false,message:Te.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:true,message:Te.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:true,message:Te.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Te.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks){if(t.kind==="min"){if(e===null||t.value>e)e=t.value}}return e}get maxValue(){let e=null;for(const t of this._def.checks){if(t.kind==="max"){if(e===null||t.value{var t;return new ZodBigInt({checks:[],typeName:Ke.ZodBigInt,coerce:(t=e===null||e===void 0?void 0:e.coerce)!==null&&t!==void 0?t:false,...processCreateParams(e)})};class ZodBoolean extends ZodType{_parse(e){if(this._def.coerce){e.data=Boolean(e.data)}const t=this._getType(e);if(t!==xe.boolean){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_type,expected:xe.boolean,received:t.parsedType});return De}return OK(e.data)}}ZodBoolean.create=e=>new ZodBoolean({typeName:Ke.ZodBoolean,coerce:(e===null||e===void 0?void 0:e.coerce)||false,...processCreateParams(e)});class ZodDate extends ZodType{_parse(e){if(this._def.coerce){e.data=new Date(e.data)}const t=this._getType(e);if(t!==xe.date){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_type,expected:xe.date,received:t.parsedType});return De}if(isNaN(e.data.getTime())){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_date});return De}const r=new ParseStatus;let s=undefined;for(const t of this._def.checks){if(t.kind==="min"){if(e.data.getTime()t.value){s=this._getOrReturnCtx(e,s);addIssueToContext(s,{code:ke.too_big,message:t.message,inclusive:true,exact:false,maximum:t.value,type:"date"});r.dirty()}}else{ve.assertNever(t)}}return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new ZodDate({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:Te.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:Te.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks){if(t.kind==="min"){if(e===null||t.value>e)e=t.value}}return e!=null?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks){if(t.kind==="max"){if(e===null||t.valuenew ZodDate({checks:[],coerce:(e===null||e===void 0?void 0:e.coerce)||false,typeName:Ke.ZodDate,...processCreateParams(e)});class ZodSymbol extends ZodType{_parse(e){const t=this._getType(e);if(t!==xe.symbol){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_type,expected:xe.symbol,received:t.parsedType});return De}return OK(e.data)}}ZodSymbol.create=e=>new ZodSymbol({typeName:Ke.ZodSymbol,...processCreateParams(e)});class ZodUndefined extends ZodType{_parse(e){const t=this._getType(e);if(t!==xe.undefined){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_type,expected:xe.undefined,received:t.parsedType});return De}return OK(e.data)}}ZodUndefined.create=e=>new ZodUndefined({typeName:Ke.ZodUndefined,...processCreateParams(e)});class ZodNull extends ZodType{_parse(e){const t=this._getType(e);if(t!==xe.null){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_type,expected:xe.null,received:t.parsedType});return De}return OK(e.data)}}ZodNull.create=e=>new ZodNull({typeName:Ke.ZodNull,...processCreateParams(e)});class ZodAny extends ZodType{constructor(){super(...arguments);this._any=true}_parse(e){return OK(e.data)}}ZodAny.create=e=>new ZodAny({typeName:Ke.ZodAny,...processCreateParams(e)});class ZodUnknown extends ZodType{constructor(){super(...arguments);this._unknown=true}_parse(e){return OK(e.data)}}ZodUnknown.create=e=>new ZodUnknown({typeName:Ke.ZodUnknown,...processCreateParams(e)});class ZodNever extends ZodType{_parse(e){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_type,expected:xe.never,received:t.parsedType});return De}}ZodNever.create=e=>new ZodNever({typeName:Ke.ZodNever,...processCreateParams(e)});class ZodVoid extends ZodType{_parse(e){const t=this._getType(e);if(t!==xe.undefined){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_type,expected:xe.void,received:t.parsedType});return De}return OK(e.data)}}ZodVoid.create=e=>new ZodVoid({typeName:Ke.ZodVoid,...processCreateParams(e)});class ZodArray extends ZodType{_parse(e){const{ctx:t,status:r}=this._processInputParams(e);const s=this._def;if(t.parsedType!==xe.array){addIssueToContext(t,{code:ke.invalid_type,expected:xe.array,received:t.parsedType});return De}if(s.exactLength!==null){const e=t.data.length>s.exactLength.value;const n=t.data.lengths.maxLength.value){addIssueToContext(t,{code:ke.too_big,maximum:s.maxLength.value,type:"array",inclusive:true,exact:false,message:s.maxLength.message});r.dirty()}}if(t.common.async){return Promise.all([...t.data].map(((e,r)=>s.type._parseAsync(new ParseInputLazyPath(t,e,t.path,r))))).then((e=>ParseStatus.mergeArray(r,e)))}const n=[...t.data].map(((e,r)=>s.type._parseSync(new ParseInputLazyPath(t,e,t.path,r))));return ParseStatus.mergeArray(r,n)}get element(){return this._def.type}min(e,t){return new ZodArray({...this._def,minLength:{value:e,message:Te.toString(t)}})}max(e,t){return new ZodArray({...this._def,maxLength:{value:e,message:Te.toString(t)}})}length(e,t){return new ZodArray({...this._def,exactLength:{value:e,message:Te.toString(t)}})}nonempty(e){return this.min(1,e)}}ZodArray.create=(e,t)=>new ZodArray({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Ke.ZodArray,...processCreateParams(t)});function deepPartialify(e){if(e instanceof ZodObject){const t={};for(const r in e.shape){const s=e.shape[r];t[r]=ZodOptional.create(deepPartialify(s))}return new ZodObject({...e._def,shape:()=>t})}else if(e instanceof ZodArray){return new ZodArray({...e._def,type:deepPartialify(e.element)})}else if(e instanceof ZodOptional){return ZodOptional.create(deepPartialify(e.unwrap()))}else if(e instanceof ZodNullable){return ZodNullable.create(deepPartialify(e.unwrap()))}else if(e instanceof ZodTuple){return ZodTuple.create(e.items.map((e=>deepPartialify(e))))}else{return e}}class ZodObject extends ZodType{constructor(){super(...arguments);this._cached=null;this.nonstrict=this.passthrough;this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape();const t=ve.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){const t=this._getType(e);if(t!==xe.object){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_type,expected:xe.object,received:t.parsedType});return De}const{status:r,ctx:s}=this._processInputParams(e);const{shape:n,keys:o}=this._getCached();const i=[];if(!(this._def.catchall instanceof ZodNever&&this._def.unknownKeys==="strip")){for(const e in s.data){if(!o.includes(e)){i.push(e)}}}const a=[];for(const e of o){const t=n[e];const r=s.data[e];a.push({key:{status:"valid",value:e},value:t._parse(new ParseInputLazyPath(s,r,s.path,e)),alwaysSet:e in s.data})}if(this._def.catchall instanceof ZodNever){const e=this._def.unknownKeys;if(e==="passthrough"){for(const e of i){a.push({key:{status:"valid",value:e},value:{status:"valid",value:s.data[e]}})}}else if(e==="strict"){if(i.length>0){addIssueToContext(s,{code:ke.unrecognized_keys,keys:i});r.dirty()}}else if(e==="strip");else{throw new Error(`Internal ZodObject error: invalid unknownKeys value.`)}}else{const e=this._def.catchall;for(const t of i){const r=s.data[t];a.push({key:{status:"valid",value:t},value:e._parse(new ParseInputLazyPath(s,r,s.path,t)),alwaysSet:t in s.data})}}if(s.common.async){return Promise.resolve().then((async()=>{const e=[];for(const t of a){const r=await t.key;const s=await t.value;e.push({key:r,value:s,alwaysSet:t.alwaysSet})}return e})).then((e=>ParseStatus.mergeObjectSync(r,e)))}else{return ParseStatus.mergeObjectSync(r,a)}}get shape(){return this._def.shape()}strict(e){Te.errToObj;return new ZodObject({...this._def,unknownKeys:"strict",...e!==undefined?{errorMap:(t,r)=>{var s,n,o,i;const a=(o=(n=(s=this._def).errorMap)===null||n===void 0?void 0:n.call(s,t,r).message)!==null&&o!==void 0?o:r.defaultError;if(t.code==="unrecognized_keys")return{message:(i=Te.errToObj(e).message)!==null&&i!==void 0?i:a};return{message:a}}}:{}})}strip(){return new ZodObject({...this._def,unknownKeys:"strip"})}passthrough(){return new ZodObject({...this._def,unknownKeys:"passthrough"})}extend(e){return new ZodObject({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){const t=new ZodObject({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:Ke.ZodObject});return t}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new ZodObject({...this._def,catchall:e})}pick(e){const t={};ve.objectKeys(e).forEach((r=>{if(e[r]&&this.shape[r]){t[r]=this.shape[r]}}));return new ZodObject({...this._def,shape:()=>t})}omit(e){const t={};ve.objectKeys(this.shape).forEach((r=>{if(!e[r]){t[r]=this.shape[r]}}));return new ZodObject({...this._def,shape:()=>t})}deepPartial(){return deepPartialify(this)}partial(e){const t={};ve.objectKeys(this.shape).forEach((r=>{const s=this.shape[r];if(e&&!e[r]){t[r]=s}else{t[r]=s.optional()}}));return new ZodObject({...this._def,shape:()=>t})}required(e){const t={};ve.objectKeys(this.shape).forEach((r=>{if(e&&!e[r]){t[r]=this.shape[r]}else{const e=this.shape[r];let s=e;while(s instanceof ZodOptional){s=s._def.innerType}t[r]=s}}));return new ZodObject({...this._def,shape:()=>t})}keyof(){return createZodEnum(ve.objectKeys(this.shape))}}ZodObject.create=(e,t)=>new ZodObject({shape:()=>e,unknownKeys:"strip",catchall:ZodNever.create(),typeName:Ke.ZodObject,...processCreateParams(t)});ZodObject.strictCreate=(e,t)=>new ZodObject({shape:()=>e,unknownKeys:"strict",catchall:ZodNever.create(),typeName:Ke.ZodObject,...processCreateParams(t)});ZodObject.lazycreate=(e,t)=>new ZodObject({shape:e,unknownKeys:"strip",catchall:ZodNever.create(),typeName:Ke.ZodObject,...processCreateParams(t)});class ZodUnion extends ZodType{_parse(e){const{ctx:t}=this._processInputParams(e);const r=this._def.options;function handleResults(e){for(const t of e){if(t.result.status==="valid"){return t.result}}for(const r of e){if(r.result.status==="dirty"){t.common.issues.push(...r.ctx.common.issues);return r.result}}const r=e.map((e=>new ZodError(e.ctx.common.issues)));addIssueToContext(t,{code:ke.invalid_union,unionErrors:r});return De}if(t.common.async){return Promise.all(r.map((async e=>{const r={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:r}),ctx:r}}))).then(handleResults)}else{let e=undefined;const s=[];for(const n of r){const r={...t,common:{...t.common,issues:[]},parent:null};const o=n._parseSync({data:t.data,path:t.path,parent:r});if(o.status==="valid"){return o}else if(o.status==="dirty"&&!e){e={result:o,ctx:r}}if(r.common.issues.length){s.push(r.common.issues)}}if(e){t.common.issues.push(...e.ctx.common.issues);return e.result}const n=s.map((e=>new ZodError(e)));addIssueToContext(t,{code:ke.invalid_union,unionErrors:n});return De}}get options(){return this._def.options}}ZodUnion.create=(e,t)=>new ZodUnion({options:e,typeName:Ke.ZodUnion,...processCreateParams(t)});const getDiscriminator=e=>{if(e instanceof ZodLazy){return getDiscriminator(e.schema)}else if(e instanceof ZodEffects){return getDiscriminator(e.innerType())}else if(e instanceof ZodLiteral){return[e.value]}else if(e instanceof ZodEnum){return e.options}else if(e instanceof ZodNativeEnum){return ve.objectValues(e.enum)}else if(e instanceof ZodDefault){return getDiscriminator(e._def.innerType)}else if(e instanceof ZodUndefined){return[undefined]}else if(e instanceof ZodNull){return[null]}else if(e instanceof ZodOptional){return[undefined,...getDiscriminator(e.unwrap())]}else if(e instanceof ZodNullable){return[null,...getDiscriminator(e.unwrap())]}else if(e instanceof ZodBranded){return getDiscriminator(e.unwrap())}else if(e instanceof ZodReadonly){return getDiscriminator(e.unwrap())}else if(e instanceof ZodCatch){return getDiscriminator(e._def.innerType)}else{return[]}};class ZodDiscriminatedUnion extends ZodType{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==xe.object){addIssueToContext(t,{code:ke.invalid_type,expected:xe.object,received:t.parsedType});return De}const r=this.discriminator;const s=t.data[r];const n=this.optionsMap.get(s);if(!n){addIssueToContext(t,{code:ke.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]});return De}if(t.common.async){return n._parseAsync({data:t.data,path:t.path,parent:t})}else{return n._parseSync({data:t.data,path:t.path,parent:t})}}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,r){const s=new Map;for(const r of t){const t=getDiscriminator(r.shape[e]);if(!t.length){throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`)}for(const n of t){if(s.has(n)){throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(n)}`)}s.set(n,r)}}return new ZodDiscriminatedUnion({typeName:Ke.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:s,...processCreateParams(r)})}}function mergeValues(e,t){const r=getParsedType(e);const s=getParsedType(t);if(e===t){return{valid:true,data:e}}else if(r===xe.object&&s===xe.object){const r=ve.objectKeys(t);const s=ve.objectKeys(e).filter((e=>r.indexOf(e)!==-1));const n={...e,...t};for(const r of s){const s=mergeValues(e[r],t[r]);if(!s.valid){return{valid:false}}n[r]=s.data}return{valid:true,data:n}}else if(r===xe.array&&s===xe.array){if(e.length!==t.length){return{valid:false}}const r=[];for(let s=0;s{if(isAborted(e)||isAborted(s)){return De}const n=mergeValues(e.value,s.value);if(!n.valid){addIssueToContext(r,{code:ke.invalid_intersection_types});return De}if(isDirty(e)||isDirty(s)){t.dirty()}return{status:t.value,value:n.data}};if(r.common.async){return Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then((([e,t])=>handleParsed(e,t)))}else{return handleParsed(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}}ZodIntersection.create=(e,t,r)=>new ZodIntersection({left:e,right:t,typeName:Ke.ZodIntersection,...processCreateParams(r)});class ZodTuple extends ZodType{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==xe.array){addIssueToContext(r,{code:ke.invalid_type,expected:xe.array,received:r.parsedType});return De}if(r.data.lengththis._def.items.length){addIssueToContext(r,{code:ke.too_big,maximum:this._def.items.length,inclusive:true,exact:false,type:"array"});t.dirty()}const n=[...r.data].map(((e,t)=>{const s=this._def.items[t]||this._def.rest;if(!s)return null;return s._parse(new ParseInputLazyPath(r,e,r.path,t))})).filter((e=>!!e));if(r.common.async){return Promise.all(n).then((e=>ParseStatus.mergeArray(t,e)))}else{return ParseStatus.mergeArray(t,n)}}get items(){return this._def.items}rest(e){return new ZodTuple({...this._def,rest:e})}}ZodTuple.create=(e,t)=>{if(!Array.isArray(e)){throw new Error("You must pass an array of schemas to z.tuple([ ... ])")}return new ZodTuple({items:e,typeName:Ke.ZodTuple,rest:null,...processCreateParams(t)})};class ZodRecord extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==xe.object){addIssueToContext(r,{code:ke.invalid_type,expected:xe.object,received:r.parsedType});return De}const s=[];const n=this._def.keyType;const o=this._def.valueType;for(const e in r.data){s.push({key:n._parse(new ParseInputLazyPath(r,e,r.path,e)),value:o._parse(new ParseInputLazyPath(r,r.data[e],r.path,e)),alwaysSet:e in r.data})}if(r.common.async){return ParseStatus.mergeObjectAsync(t,s)}else{return ParseStatus.mergeObjectSync(t,s)}}get element(){return this._def.valueType}static create(e,t,r){if(t instanceof ZodType){return new ZodRecord({keyType:e,valueType:t,typeName:Ke.ZodRecord,...processCreateParams(r)})}return new ZodRecord({keyType:ZodString.create(),valueType:e,typeName:Ke.ZodRecord,...processCreateParams(t)})}}class ZodMap extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==xe.map){addIssueToContext(r,{code:ke.invalid_type,expected:xe.map,received:r.parsedType});return De}const s=this._def.keyType;const n=this._def.valueType;const o=[...r.data.entries()].map((([e,t],o)=>({key:s._parse(new ParseInputLazyPath(r,e,r.path,[o,"key"])),value:n._parse(new ParseInputLazyPath(r,t,r.path,[o,"value"]))})));if(r.common.async){const e=new Map;return Promise.resolve().then((async()=>{for(const r of o){const s=await r.key;const n=await r.value;if(s.status==="aborted"||n.status==="aborted"){return De}if(s.status==="dirty"||n.status==="dirty"){t.dirty()}e.set(s.value,n.value)}return{status:t.value,value:e}}))}else{const e=new Map;for(const r of o){const s=r.key;const n=r.value;if(s.status==="aborted"||n.status==="aborted"){return De}if(s.status==="dirty"||n.status==="dirty"){t.dirty()}e.set(s.value,n.value)}return{status:t.value,value:e}}}}ZodMap.create=(e,t,r)=>new ZodMap({valueType:t,keyType:e,typeName:Ke.ZodMap,...processCreateParams(r)});class ZodSet extends ZodType{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==xe.set){addIssueToContext(r,{code:ke.invalid_type,expected:xe.set,received:r.parsedType});return De}const s=this._def;if(s.minSize!==null){if(r.data.sizes.maxSize.value){addIssueToContext(r,{code:ke.too_big,maximum:s.maxSize.value,type:"set",inclusive:true,exact:false,message:s.maxSize.message});t.dirty()}}const n=this._def.valueType;function finalizeSet(e){const r=new Set;for(const s of e){if(s.status==="aborted")return De;if(s.status==="dirty")t.dirty();r.add(s.value)}return{status:t.value,value:r}}const o=[...r.data.values()].map(((e,t)=>n._parse(new ParseInputLazyPath(r,e,r.path,t))));if(r.common.async){return Promise.all(o).then((e=>finalizeSet(e)))}else{return finalizeSet(o)}}min(e,t){return new ZodSet({...this._def,minSize:{value:e,message:Te.toString(t)}})}max(e,t){return new ZodSet({...this._def,maxSize:{value:e,message:Te.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}ZodSet.create=(e,t)=>new ZodSet({valueType:e,minSize:null,maxSize:null,typeName:Ke.ZodSet,...processCreateParams(t)});class ZodFunction extends ZodType{constructor(){super(...arguments);this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==xe.function){addIssueToContext(t,{code:ke.invalid_type,expected:xe.function,received:t.parsedType});return De}function makeArgsIssue(e,r){return makeIssue({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,getErrorMap(),errorMap].filter((e=>!!e)),issueData:{code:ke.invalid_arguments,argumentsError:r}})}function makeReturnsIssue(e,r){return makeIssue({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,getErrorMap(),errorMap].filter((e=>!!e)),issueData:{code:ke.invalid_return_type,returnTypeError:r}})}const r={errorMap:t.common.contextualErrorMap};const s=t.data;if(this._def.returns instanceof ZodPromise){const e=this;return OK((async function(...t){const n=new ZodError([]);const o=await e._def.args.parseAsync(t,r).catch((e=>{n.addIssue(makeArgsIssue(t,e));throw n}));const i=await Reflect.apply(s,this,o);const a=await e._def.returns._def.type.parseAsync(i,r).catch((e=>{n.addIssue(makeReturnsIssue(i,e));throw n}));return a}))}else{const e=this;return OK((function(...t){const n=e._def.args.safeParse(t,r);if(!n.success){throw new ZodError([makeArgsIssue(t,n.error)])}const o=Reflect.apply(s,this,n.data);const i=e._def.returns.safeParse(o,r);if(!i.success){throw new ZodError([makeReturnsIssue(o,i.error)])}return i.data}))}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new ZodFunction({...this._def,args:ZodTuple.create(e).rest(ZodUnknown.create())})}returns(e){return new ZodFunction({...this._def,returns:e})}implement(e){const t=this.parse(e);return t}strictImplement(e){const t=this.parse(e);return t}static create(e,t,r){return new ZodFunction({args:e?e:ZodTuple.create([]).rest(ZodUnknown.create()),returns:t||ZodUnknown.create(),typeName:Ke.ZodFunction,...processCreateParams(r)})}}class ZodLazy extends ZodType{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);const r=this._def.getter();return r._parse({data:t.data,path:t.path,parent:t})}}ZodLazy.create=(e,t)=>new ZodLazy({getter:e,typeName:Ke.ZodLazy,...processCreateParams(t)});class ZodLiteral extends ZodType{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);addIssueToContext(t,{received:t.data,code:ke.invalid_literal,expected:this._def.value});return De}return{status:"valid",value:e.data}}get value(){return this._def.value}}ZodLiteral.create=(e,t)=>new ZodLiteral({value:e,typeName:Ke.ZodLiteral,...processCreateParams(t)});function createZodEnum(e,t){return new ZodEnum({values:e,typeName:Ke.ZodEnum,...processCreateParams(t)})}class ZodEnum extends ZodType{constructor(){super(...arguments);_e.set(this,void 0)}_parse(e){if(typeof e.data!=="string"){const t=this._getOrReturnCtx(e);const r=this._def.values;addIssueToContext(t,{expected:ve.joinValues(r),received:t.parsedType,code:ke.invalid_type});return De}if(!__classPrivateFieldGet(this,_e,"f")){__classPrivateFieldSet(this,_e,new Set(this._def.values),"f")}if(!__classPrivateFieldGet(this,_e,"f").has(e.data)){const t=this._getOrReturnCtx(e);const r=this._def.values;addIssueToContext(t,{received:t.data,code:ke.invalid_enum_value,options:r});return De}return OK(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values){e[t]=t}return e}get Values(){const e={};for(const t of this._def.values){e[t]=t}return e}get Enum(){const e={};for(const t of this._def.values){e[t]=t}return e}extract(e,t=this._def){return ZodEnum.create(e,{...this._def,...t})}exclude(e,t=this._def){return ZodEnum.create(this.options.filter((t=>!e.includes(t))),{...this._def,...t})}}_e=new WeakMap;ZodEnum.create=createZodEnum;class ZodNativeEnum extends ZodType{constructor(){super(...arguments);Fe.set(this,void 0)}_parse(e){const t=ve.getValidEnumValues(this._def.values);const r=this._getOrReturnCtx(e);if(r.parsedType!==xe.string&&r.parsedType!==xe.number){const e=ve.objectValues(t);addIssueToContext(r,{expected:ve.joinValues(e),received:r.parsedType,code:ke.invalid_type});return De}if(!__classPrivateFieldGet(this,Fe,"f")){__classPrivateFieldSet(this,Fe,new Set(ve.getValidEnumValues(this._def.values)),"f")}if(!__classPrivateFieldGet(this,Fe,"f").has(e.data)){const e=ve.objectValues(t);addIssueToContext(r,{received:r.data,code:ke.invalid_enum_value,options:e});return De}return OK(e.data)}get enum(){return this._def.values}}Fe=new WeakMap;ZodNativeEnum.create=(e,t)=>new ZodNativeEnum({values:e,typeName:Ke.ZodNativeEnum,...processCreateParams(t)});class ZodPromise extends ZodType{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==xe.promise&&t.common.async===false){addIssueToContext(t,{code:ke.invalid_type,expected:xe.promise,received:t.parsedType});return De}const r=t.parsedType===xe.promise?t.data:Promise.resolve(t.data);return OK(r.then((e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap}))))}}ZodPromise.create=(e,t)=>new ZodPromise({type:e,typeName:Ke.ZodPromise,...processCreateParams(t)});class ZodEffects extends ZodType{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Ke.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:r}=this._processInputParams(e);const s=this._def.effect||null;const n={addIssue:e=>{addIssueToContext(r,e);if(e.fatal){t.abort()}else{t.dirty()}},get path(){return r.path}};n.addIssue=n.addIssue.bind(n);if(s.type==="preprocess"){const e=s.transform(r.data,n);if(r.common.async){return Promise.resolve(e).then((async e=>{if(t.value==="aborted")return De;const s=await this._def.schema._parseAsync({data:e,path:r.path,parent:r});if(s.status==="aborted")return De;if(s.status==="dirty")return DIRTY(s.value);if(t.value==="dirty")return DIRTY(s.value);return s}))}else{if(t.value==="aborted")return De;const s=this._def.schema._parseSync({data:e,path:r.path,parent:r});if(s.status==="aborted")return De;if(s.status==="dirty")return DIRTY(s.value);if(t.value==="dirty")return DIRTY(s.value);return s}}if(s.type==="refinement"){const executeRefinement=e=>{const t=s.refinement(e,n);if(r.common.async){return Promise.resolve(t)}if(t instanceof Promise){throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.")}return e};if(r.common.async===false){const e=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(e.status==="aborted")return De;if(e.status==="dirty")t.dirty();executeRefinement(e.value);return{status:t.value,value:e.value}}else{return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then((e=>{if(e.status==="aborted")return De;if(e.status==="dirty")t.dirty();return executeRefinement(e.value).then((()=>({status:t.value,value:e.value})))}))}}if(s.type==="transform"){if(r.common.async===false){const e=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!isValid(e))return e;const o=s.transform(e.value,n);if(o instanceof Promise){throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`)}return{status:t.value,value:o}}else{return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then((e=>{if(!isValid(e))return e;return Promise.resolve(s.transform(e.value,n)).then((e=>({status:t.value,value:e})))}))}}ve.assertNever(s)}}ZodEffects.create=(e,t,r)=>new ZodEffects({schema:e,typeName:Ke.ZodEffects,effect:t,...processCreateParams(r)});ZodEffects.createWithPreprocess=(e,t,r)=>new ZodEffects({schema:t,effect:{type:"preprocess",transform:e},typeName:Ke.ZodEffects,...processCreateParams(r)});class ZodOptional extends ZodType{_parse(e){const t=this._getType(e);if(t===xe.undefined){return OK(undefined)}return this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}ZodOptional.create=(e,t)=>new ZodOptional({innerType:e,typeName:Ke.ZodOptional,...processCreateParams(t)});class ZodNullable extends ZodType{_parse(e){const t=this._getType(e);if(t===xe.null){return OK(null)}return this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}ZodNullable.create=(e,t)=>new ZodNullable({innerType:e,typeName:Ke.ZodNullable,...processCreateParams(t)});class ZodDefault extends ZodType{_parse(e){const{ctx:t}=this._processInputParams(e);let r=t.data;if(t.parsedType===xe.undefined){r=this._def.defaultValue()}return this._def.innerType._parse({data:r,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}ZodDefault.create=(e,t)=>new ZodDefault({innerType:e,typeName:Ke.ZodDefault,defaultValue:typeof t.default==="function"?t.default:()=>t.default,...processCreateParams(t)});class ZodCatch extends ZodType{_parse(e){const{ctx:t}=this._processInputParams(e);const r={...t,common:{...t.common,issues:[]}};const s=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});if(isAsync(s)){return s.then((e=>({status:"valid",value:e.status==="valid"?e.value:this._def.catchValue({get error(){return new ZodError(r.common.issues)},input:r.data})})))}else{return{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new ZodError(r.common.issues)},input:r.data})}}}removeCatch(){return this._def.innerType}}ZodCatch.create=(e,t)=>new ZodCatch({innerType:e,typeName:Ke.ZodCatch,catchValue:typeof t.catch==="function"?t.catch:()=>t.catch,...processCreateParams(t)});class ZodNaN extends ZodType{_parse(e){const t=this._getType(e);if(t!==xe.nan){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_type,expected:xe.nan,received:t.parsedType});return De}return{status:"valid",value:e.data}}}ZodNaN.create=e=>new ZodNaN({typeName:Ke.ZodNaN,...processCreateParams(e)});const Ze=Symbol("zod_brand");class ZodBranded extends ZodType{_parse(e){const{ctx:t}=this._processInputParams(e);const r=t.data;return this._def.type._parse({data:r,path:t.path,parent:t})}unwrap(){return this._def.type}}class ZodPipeline extends ZodType{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.common.async){const handleAsync=async()=>{const e=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});if(e.status==="aborted")return De;if(e.status==="dirty"){t.dirty();return DIRTY(e.value)}else{return this._def.out._parseAsync({data:e.value,path:r.path,parent:r})}};return handleAsync()}else{const e=this._def.in._parseSync({data:r.data,path:r.path,parent:r});if(e.status==="aborted")return De;if(e.status==="dirty"){t.dirty();return{status:"dirty",value:e.value}}else{return this._def.out._parseSync({data:e.value,path:r.path,parent:r})}}}static create(e,t){return new ZodPipeline({in:e,out:t,typeName:Ke.ZodPipeline})}}class ZodReadonly extends ZodType{_parse(e){const t=this._def.innerType._parse(e);const freeze=e=>{if(isValid(e)){e.value=Object.freeze(e.value)}return e};return isAsync(t)?t.then((e=>freeze(e))):freeze(t)}unwrap(){return this._def.innerType}}ZodReadonly.create=(e,t)=>new ZodReadonly({innerType:e,typeName:Ke.ZodReadonly,...processCreateParams(t)});function custom(e,t={},r){if(e)return ZodAny.create().superRefine(((s,n)=>{var o,i;if(!e(s)){const e=typeof t==="function"?t(s):typeof t==="string"?{message:t}:t;const a=(i=(o=e.fatal)!==null&&o!==void 0?o:r)!==null&&i!==void 0?i:true;const A=typeof e==="string"?{message:e}:e;n.addIssue({code:"custom",...A,fatal:a})}}));return ZodAny.create()}const ze={object:ZodObject.lazycreate};var Ke;(function(e){e["ZodString"]="ZodString";e["ZodNumber"]="ZodNumber";e["ZodNaN"]="ZodNaN";e["ZodBigInt"]="ZodBigInt";e["ZodBoolean"]="ZodBoolean";e["ZodDate"]="ZodDate";e["ZodSymbol"]="ZodSymbol";e["ZodUndefined"]="ZodUndefined";e["ZodNull"]="ZodNull";e["ZodAny"]="ZodAny";e["ZodUnknown"]="ZodUnknown";e["ZodNever"]="ZodNever";e["ZodVoid"]="ZodVoid";e["ZodArray"]="ZodArray";e["ZodObject"]="ZodObject";e["ZodUnion"]="ZodUnion";e["ZodDiscriminatedUnion"]="ZodDiscriminatedUnion";e["ZodIntersection"]="ZodIntersection";e["ZodTuple"]="ZodTuple";e["ZodRecord"]="ZodRecord";e["ZodMap"]="ZodMap";e["ZodSet"]="ZodSet";e["ZodFunction"]="ZodFunction";e["ZodLazy"]="ZodLazy";e["ZodLiteral"]="ZodLiteral";e["ZodEnum"]="ZodEnum";e["ZodEffects"]="ZodEffects";e["ZodNativeEnum"]="ZodNativeEnum";e["ZodOptional"]="ZodOptional";e["ZodNullable"]="ZodNullable";e["ZodDefault"]="ZodDefault";e["ZodCatch"]="ZodCatch";e["ZodPromise"]="ZodPromise";e["ZodBranded"]="ZodBranded";e["ZodPipeline"]="ZodPipeline";e["ZodReadonly"]="ZodReadonly"})(Ke||(Ke={}));const instanceOfType=(e,t={message:`Input not instance of ${e.name}`})=>custom((t=>t instanceof e),t);const Xe=ZodString.create;const $e=ZodNumber.create;const et=ZodNaN.create;const tt=ZodBigInt.create;const rt=ZodBoolean.create;const st=ZodDate.create;const nt=ZodSymbol.create;const ot=ZodUndefined.create;const it=ZodNull.create;const at=ZodAny.create;const At=ZodUnknown.create;const ct=ZodNever.create;const lt=ZodVoid.create;const ut=ZodArray.create;const pt=ZodObject.create;const dt=ZodObject.strictCreate;const gt=ZodUnion.create;const ht=ZodDiscriminatedUnion.create;const ft=ZodIntersection.create;const mt=ZodTuple.create;const Et=ZodRecord.create;const Ct=ZodMap.create;const It=ZodSet.create;const Bt=ZodFunction.create;const Qt=ZodLazy.create;const bt=ZodLiteral.create;const yt=ZodEnum.create;const vt=ZodNativeEnum.create;const wt=ZodPromise.create;const xt=ZodEffects.create;const kt=ZodOptional.create;const Rt=ZodNullable.create;const St=ZodEffects.createWithPreprocess;const Dt=ZodPipeline.create;const ostring=()=>Xe().optional();const onumber=()=>$e().optional();const oboolean=()=>rt().optional();const Tt={string:e=>ZodString.create({...e,coerce:true}),number:e=>ZodNumber.create({...e,coerce:true}),boolean:e=>ZodBoolean.create({...e,coerce:true}),bigint:e=>ZodBigInt.create({...e,coerce:true}),date:e=>ZodDate.create({...e,coerce:true})};const _t=De;var Ft=Object.freeze({__proto__:null,defaultErrorMap:errorMap,setErrorMap:setErrorMap,getErrorMap:getErrorMap,makeIssue:makeIssue,EMPTY_PATH:Se,addIssueToContext:addIssueToContext,ParseStatus:ParseStatus,INVALID:De,DIRTY:DIRTY,OK:OK,isAborted:isAborted,isDirty:isDirty,isValid:isValid,isAsync:isAsync,get util(){return ve},get objectUtil(){return we},ZodParsedType:xe,getParsedType:getParsedType,ZodType:ZodType,datetimeRegex:datetimeRegex,ZodString:ZodString,ZodNumber:ZodNumber,ZodBigInt:ZodBigInt,ZodBoolean:ZodBoolean,ZodDate:ZodDate,ZodSymbol:ZodSymbol,ZodUndefined:ZodUndefined,ZodNull:ZodNull,ZodAny:ZodAny,ZodUnknown:ZodUnknown,ZodNever:ZodNever,ZodVoid:ZodVoid,ZodArray:ZodArray,ZodObject:ZodObject,ZodUnion:ZodUnion,ZodDiscriminatedUnion:ZodDiscriminatedUnion,ZodIntersection:ZodIntersection,ZodTuple:ZodTuple,ZodRecord:ZodRecord,ZodMap:ZodMap,ZodSet:ZodSet,ZodFunction:ZodFunction,ZodLazy:ZodLazy,ZodLiteral:ZodLiteral,ZodEnum:ZodEnum,ZodNativeEnum:ZodNativeEnum,ZodPromise:ZodPromise,ZodEffects:ZodEffects,ZodTransformer:ZodEffects,ZodOptional:ZodOptional,ZodNullable:ZodNullable,ZodDefault:ZodDefault,ZodCatch:ZodCatch,ZodNaN:ZodNaN,BRAND:Ze,ZodBranded:ZodBranded,ZodPipeline:ZodPipeline,ZodReadonly:ZodReadonly,custom:custom,Schema:ZodType,ZodSchema:ZodType,late:ze,get ZodFirstPartyTypeKind(){return Ke},coerce:Tt,any:at,array:ut,bigint:tt,boolean:rt,date:st,discriminatedUnion:ht,effect:xt,enum:yt,function:Bt,instanceof:instanceOfType,intersection:ft,lazy:Qt,literal:bt,map:Ct,nan:et,nativeEnum:vt,never:ct,null:it,nullable:Rt,number:$e,object:pt,oboolean:oboolean,onumber:onumber,optional:kt,ostring:ostring,pipeline:Dt,preprocess:St,promise:wt,record:Et,set:It,strictObject:dt,string:Xe,symbol:nt,transformer:xt,tuple:mt,undefined:ot,union:gt,unknown:At,void:lt,NEVER:_t,ZodIssueCode:ke,quotelessJson:quotelessJson,ZodError:ZodError});const Nt=Symbol("Let zodToJsonSchema decide on which parser to use");const Ut={name:undefined,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",definitionPath:"definitions",target:"jsonSchema7",strictUnions:false,definitions:{},errorMessages:false,markdownDescription:false,patternStrategy:"escape",applyRegexFlags:false,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"};const getDefaultOptions=e=>typeof e==="string"?{...Ut,name:e}:{...Ut,...e};const getRefs=e=>{const t=getDefaultOptions(e);const r=t.name!==undefined?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,currentPath:r,propertyPath:undefined,seen:new Map(Object.entries(t.definitions).map((([e,r])=>[r._def,{def:r._def,path:[...t.basePath,t.definitionPath,e],jsonSchema:undefined}])))}};function parseAnyDef(){return{}}function addErrorMessage(e,t,r,s){if(!s?.errorMessages)return;if(r){e.errorMessage={...e.errorMessage,[t]:r}}}function setResponseValueAndErrors(e,t,r,s,n){e[t]=r;addErrorMessage(e,t,s,n)}function parseArrayDef(e,t){const r={type:"array"};if(e.type?._def?.typeName!==Ke.ZodAny){r.items=parseDef_parseDef(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})}if(e.minLength){setResponseValueAndErrors(r,"minItems",e.minLength.value,e.minLength.message,t)}if(e.maxLength){setResponseValueAndErrors(r,"maxItems",e.maxLength.value,e.maxLength.message,t)}if(e.exactLength){setResponseValueAndErrors(r,"minItems",e.exactLength.value,e.exactLength.message,t);setResponseValueAndErrors(r,"maxItems",e.exactLength.value,e.exactLength.message,t)}return r}function parseBigintDef(e,t){const r={type:"integer",format:"int64"};if(!e.checks)return r;for(const s of e.checks){switch(s.kind){case"min":if(t.target==="jsonSchema7"){if(s.inclusive){setResponseValueAndErrors(r,"minimum",s.value,s.message,t)}else{setResponseValueAndErrors(r,"exclusiveMinimum",s.value,s.message,t)}}else{if(!s.inclusive){r.exclusiveMinimum=true}setResponseValueAndErrors(r,"minimum",s.value,s.message,t)}break;case"max":if(t.target==="jsonSchema7"){if(s.inclusive){setResponseValueAndErrors(r,"maximum",s.value,s.message,t)}else{setResponseValueAndErrors(r,"exclusiveMaximum",s.value,s.message,t)}}else{if(!s.inclusive){r.exclusiveMaximum=true}setResponseValueAndErrors(r,"maximum",s.value,s.message,t)}break;case"multipleOf":setResponseValueAndErrors(r,"multipleOf",s.value,s.message,t);break}}return r}function parseBooleanDef(){return{type:"boolean"}}function parseBrandedDef(e,t){return parseDef_parseDef(e.type._def,t)}const parseCatchDef=(e,t)=>parseDef_parseDef(e.innerType._def,t);function parseDateDef(e,t,r){const s=r??t.dateStrategy;if(Array.isArray(s)){return{anyOf:s.map(((r,s)=>parseDateDef(e,t,r)))}}switch(s){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return integerDateParser(e,t)}}const integerDateParser=(e,t)=>{const r={type:"integer",format:"unix-time"};if(t.target==="openApi3"){return r}for(const s of e.checks){switch(s.kind){case"min":setResponseValueAndErrors(r,"minimum",s.value,s.message,t);break;case"max":setResponseValueAndErrors(r,"maximum",s.value,s.message,t);break}}return r};function parseDefaultDef(e,t){return{...parseDef_parseDef(e.innerType._def,t),default:e.defaultValue()}}function parseEffectsDef(e,t){return t.effectStrategy==="input"?parseDef_parseDef(e.schema._def,t):{}}function parseEnumDef(e){return{type:"string",enum:e.values}}const isJsonSchema7AllOfType=e=>{if("type"in e&&e.type==="string")return false;return"allOf"in e};function parseIntersectionDef(e,t){const r=[parseDef_parseDef(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),parseDef_parseDef(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter((e=>!!e));let s=t.target==="jsonSchema2019-09"?{unevaluatedProperties:false}:undefined;const n=[];r.forEach((e=>{if(isJsonSchema7AllOfType(e)){n.push(...e.allOf);if(e.unevaluatedProperties===undefined){s=undefined}}else{let t=e;if("additionalProperties"in e&&e.additionalProperties===false){const{additionalProperties:r,...s}=e;t=s}else{s=undefined}n.push(t)}}));return n.length?{allOf:n,...s}:undefined}function parseLiteralDef(e,t){const r=typeof e.value;if(r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"){return{type:Array.isArray(e.value)?"array":"object"}}if(t.target==="openApi3"){return{type:r==="bigint"?"integer":r,enum:[e.value]}}return{type:r==="bigint"?"integer":r,const:e.value}}let Ot;const Mt={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>{if(Ot===undefined){Ot=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")}return Ot},uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/};function parseStringDef(e,t){const r={type:"string"};function processPattern(e){return t.patternStrategy==="escape"?escapeNonAlphaNumeric(e):e}if(e.checks){for(const s of e.checks){switch(s.kind){case"min":setResponseValueAndErrors(r,"minLength",typeof r.minLength==="number"?Math.max(r.minLength,s.value):s.value,s.message,t);break;case"max":setResponseValueAndErrors(r,"maxLength",typeof r.maxLength==="number"?Math.min(r.maxLength,s.value):s.value,s.message,t);break;case"email":switch(t.emailStrategy){case"format:email":addFormat(r,"email",s.message,t);break;case"format:idn-email":addFormat(r,"idn-email",s.message,t);break;case"pattern:zod":addPattern(r,Mt.email,s.message,t);break}break;case"url":addFormat(r,"uri",s.message,t);break;case"uuid":addFormat(r,"uuid",s.message,t);break;case"regex":addPattern(r,s.regex,s.message,t);break;case"cuid":addPattern(r,Mt.cuid,s.message,t);break;case"cuid2":addPattern(r,Mt.cuid2,s.message,t);break;case"startsWith":addPattern(r,RegExp(`^${processPattern(s.value)}`),s.message,t);break;case"endsWith":addPattern(r,RegExp(`${processPattern(s.value)}$`),s.message,t);break;case"datetime":addFormat(r,"date-time",s.message,t);break;case"date":addFormat(r,"date",s.message,t);break;case"time":addFormat(r,"time",s.message,t);break;case"duration":addFormat(r,"duration",s.message,t);break;case"length":setResponseValueAndErrors(r,"minLength",typeof r.minLength==="number"?Math.max(r.minLength,s.value):s.value,s.message,t);setResponseValueAndErrors(r,"maxLength",typeof r.maxLength==="number"?Math.min(r.maxLength,s.value):s.value,s.message,t);break;case"includes":{addPattern(r,RegExp(processPattern(s.value)),s.message,t);break}case"ip":{if(s.version!=="v6"){addFormat(r,"ipv4",s.message,t)}if(s.version!=="v4"){addFormat(r,"ipv6",s.message,t)}break}case"emoji":addPattern(r,Mt.emoji,s.message,t);break;case"ulid":{addPattern(r,Mt.ulid,s.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{addFormat(r,"binary",s.message,t);break}case"contentEncoding:base64":{setResponseValueAndErrors(r,"contentEncoding","base64",s.message,t);break}case"pattern:zod":{addPattern(r,Mt.base64,s.message,t);break}}break}case"nanoid":{addPattern(r,Mt.nanoid,s.message,t)}case"toLowerCase":case"toUpperCase":case"trim":break;default:(e=>{})(s)}}}return r}const escapeNonAlphaNumeric=e=>Array.from(e).map((e=>/[a-zA-Z0-9]/.test(e)?e:`\\${e}`)).join("");const addFormat=(e,t,r,s)=>{if(e.format||e.anyOf?.some((e=>e.format))){if(!e.anyOf){e.anyOf=[]}if(e.format){e.anyOf.push({format:e.format,...e.errorMessage&&s.errorMessages&&{errorMessage:{format:e.errorMessage.format}}});delete e.format;if(e.errorMessage){delete e.errorMessage.format;if(Object.keys(e.errorMessage).length===0){delete e.errorMessage}}}e.anyOf.push({format:t,...r&&s.errorMessages&&{errorMessage:{format:r}}})}else{setResponseValueAndErrors(e,"format",t,r,s)}};const addPattern=(e,t,r,s)=>{if(e.pattern||e.allOf?.some((e=>e.pattern))){if(!e.allOf){e.allOf=[]}if(e.pattern){e.allOf.push({pattern:e.pattern,...e.errorMessage&&s.errorMessages&&{errorMessage:{pattern:e.errorMessage.pattern}}});delete e.pattern;if(e.errorMessage){delete e.errorMessage.pattern;if(Object.keys(e.errorMessage).length===0){delete e.errorMessage}}}e.allOf.push({pattern:processRegExp(t,s),...r&&s.errorMessages&&{errorMessage:{pattern:r}}})}else{setResponseValueAndErrors(e,"pattern",processRegExp(t,s),r,s)}};const processRegExp=(e,t)=>{const r=typeof e==="function"?e():e;if(!t.applyRegexFlags||!r.flags)return r.source;const s={i:r.flags.includes("i"),m:r.flags.includes("m"),s:r.flags.includes("s")};const n=s.i?r.source.toLowerCase():r.source;let o="";let i=false;let a=false;let A=false;for(let e=0;e({...r,[s]:parseDef_parseDef(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",s]})??{}})),{}),additionalProperties:false}}const r={type:"object",additionalProperties:parseDef_parseDef(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??{}};if(t.target==="openApi3"){return r}if(e.keyType?._def.typeName===Ke.ZodString&&e.keyType._def.checks?.length){const s=Object.entries(parseStringDef(e.keyType._def,t)).reduce(((e,[t,r])=>t==="type"?e:{...e,[t]:r}),{});return{...r,propertyNames:s}}else if(e.keyType?._def.typeName===Ke.ZodEnum){return{...r,propertyNames:{enum:e.keyType._def.values}}}return r}function parseMapDef(e,t){if(t.mapStrategy==="record"){return parseRecordDef(e,t)}const r=parseDef_parseDef(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||{};const s=parseDef_parseDef(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||{};return{type:"array",maxItems:125,items:{type:"array",items:[r,s],minItems:2,maxItems:2}}}function parseNativeEnumDef(e){const t=e.values;const r=Object.keys(e.values).filter((e=>typeof t[t[e]]!=="number"));const s=r.map((e=>t[e]));const n=Array.from(new Set(s.map((e=>typeof e))));return{type:n.length===1?n[0]==="string"?"string":"number":["string","number"],enum:s}}function parseNeverDef(){return{not:{}}}function parseNullDef(e){return e.target==="openApi3"?{enum:["null"],nullable:true}:{type:"null"}}const Lt={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function parseUnionDef(e,t){if(t.target==="openApi3")return asAnyOf(e,t);const r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every((e=>e._def.typeName in Lt&&(!e._def.checks||!e._def.checks.length)))){const e=r.reduce(((e,t)=>{const r=Lt[t._def.typeName];return r&&!e.includes(r)?[...e,r]:e}),[]);return{type:e.length>1?e:e[0]}}else if(r.every((e=>e._def.typeName==="ZodLiteral"&&!e.description))){const e=r.reduce(((e,t)=>{const r=typeof t._def.value;switch(r){case"string":case"number":case"boolean":return[...e,r];case"bigint":return[...e,"integer"];case"object":if(t._def.value===null)return[...e,"null"];case"symbol":case"undefined":case"function":default:return e}}),[]);if(e.length===r.length){const t=e.filter(((e,t,r)=>r.indexOf(e)===t));return{type:t.length>1?t:t[0],enum:r.reduce(((e,t)=>e.includes(t._def.value)?e:[...e,t._def.value]),[])}}}else if(r.every((e=>e._def.typeName==="ZodEnum"))){return{type:"string",enum:r.reduce(((e,t)=>[...e,...t._def.values.filter((t=>!e.includes(t)))]),[])}}return asAnyOf(e,t)}const asAnyOf=(e,t)=>{const r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map(((e,r)=>parseDef_parseDef(e._def,{...t,currentPath:[...t.currentPath,"anyOf",`${r}`]}))).filter((e=>!!e&&(!t.strictUnions||typeof e==="object"&&Object.keys(e).length>0)));return r.length?{anyOf:r}:undefined};function parseNullableDef(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length)){if(t.target==="openApi3"){return{type:Lt[e.innerType._def.typeName],nullable:true}}return{type:[Lt[e.innerType._def.typeName],"null"]}}if(t.target==="openApi3"){const r=parseDef_parseDef(e.innerType._def,{...t,currentPath:[...t.currentPath]});if(r&&"$ref"in r)return{allOf:[r],nullable:true};return r&&{...r,nullable:true}}const r=parseDef_parseDef(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function parseNumberDef(e,t){const r={type:"number"};if(!e.checks)return r;for(const s of e.checks){switch(s.kind){case"int":r.type="integer";addErrorMessage(r,"type",s.message,t);break;case"min":if(t.target==="jsonSchema7"){if(s.inclusive){setResponseValueAndErrors(r,"minimum",s.value,s.message,t)}else{setResponseValueAndErrors(r,"exclusiveMinimum",s.value,s.message,t)}}else{if(!s.inclusive){r.exclusiveMinimum=true}setResponseValueAndErrors(r,"minimum",s.value,s.message,t)}break;case"max":if(t.target==="jsonSchema7"){if(s.inclusive){setResponseValueAndErrors(r,"maximum",s.value,s.message,t)}else{setResponseValueAndErrors(r,"exclusiveMaximum",s.value,s.message,t)}}else{if(!s.inclusive){r.exclusiveMaximum=true}setResponseValueAndErrors(r,"maximum",s.value,s.message,t)}break;case"multipleOf":setResponseValueAndErrors(r,"multipleOf",s.value,s.message,t);break}}return r}function decideAdditionalProperties(e,t){if(t.removeAdditionalStrategy==="strict"){return e.catchall._def.typeName==="ZodNever"?e.unknownKeys!=="strict":parseDef_parseDef(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??true}else{return e.catchall._def.typeName==="ZodNever"?e.unknownKeys==="passthrough":parseDef_parseDef(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??true}}function parseObjectDefX(e,t){Object.keys(e.shape()).reduce(((r,s)=>{let n=e.shape()[s];const o=n.isOptional();if(!o){n={...n._def.innerSchema}}const i=parseDef(n._def,{...t,currentPath:[...t.currentPath,"properties",s],propertyPath:[...t.currentPath,"properties",s]});if(i!==undefined){r.properties[s]=i;if(!o){if(!r.required){r.required=[]}r.required.push(s)}}return r}),{type:"object",properties:{},additionalProperties:decideAdditionalProperties(e,t)});const r={type:"object",...Object.entries(e.shape()).reduce(((e,[r,s])=>{if(s===undefined||s._def===undefined)return e;const n=parseDef(s._def,{...t,currentPath:[...t.currentPath,"properties",r],propertyPath:[...t.currentPath,"properties",r]});if(n===undefined)return e;return{properties:{...e.properties,[r]:n},required:s.isOptional()?e.required:[...e.required,r]}}),{properties:{},required:[]}),additionalProperties:decideAdditionalProperties(e,t)};if(!r.required.length)delete r.required;return r}function parseObjectDef(e,t){const r={type:"object",...Object.entries(e.shape()).reduce(((e,[r,s])=>{if(s===undefined||s._def===undefined)return e;const n=parseDef_parseDef(s._def,{...t,currentPath:[...t.currentPath,"properties",r],propertyPath:[...t.currentPath,"properties",r]});if(n===undefined)return e;return{properties:{...e.properties,[r]:n},required:s.isOptional()?e.required:[...e.required,r]}}),{properties:{},required:[]}),additionalProperties:decideAdditionalProperties(e,t)};if(!r.required.length)delete r.required;return r}const parseOptionalDef=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString()){return parseDef_parseDef(e.innerType._def,t)}const r=parseDef_parseDef(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:{}},r]}:{}};const parsePipelineDef=(e,t)=>{if(t.pipeStrategy==="input"){return parseDef_parseDef(e.in._def,t)}else if(t.pipeStrategy==="output"){return parseDef_parseDef(e.out._def,t)}const r=parseDef_parseDef(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]});const s=parseDef_parseDef(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,s].filter((e=>e!==undefined))}};function parsePromiseDef(e,t){return parseDef_parseDef(e.type._def,t)}function parseSetDef(e,t){const r=parseDef_parseDef(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]});const s={type:"array",uniqueItems:true,items:r};if(e.minSize){setResponseValueAndErrors(s,"minItems",e.minSize.value,e.minSize.message,t)}if(e.maxSize){setResponseValueAndErrors(s,"maxItems",e.maxSize.value,e.maxSize.message,t)}return s}function parseTupleDef(e,t){if(e.rest){return{type:"array",minItems:e.items.length,items:e.items.map(((e,r)=>parseDef_parseDef(e._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]}))).reduce(((e,t)=>t===undefined?e:[...e,t]),[]),additionalItems:parseDef_parseDef(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}}else{return{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map(((e,r)=>parseDef_parseDef(e._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]}))).reduce(((e,t)=>t===undefined?e:[...e,t]),[])}}}function parseUndefinedDef(){return{not:{}}}function parseUnknownDef(){return{}}const parseReadonlyDef=(e,t)=>parseDef_parseDef(e.innerType._def,t);function parseDef_parseDef(e,t,r=false){const s=t.seen.get(e);if(t.override){const n=t.override?.(e,t,s,r);if(n!==Nt){return n}}if(s&&!r){const e=get$ref(s,t);if(e!==undefined){return e}}const n={def:e,path:t.currentPath,jsonSchema:undefined};t.seen.set(e,n);const o=selectParser(e,e.typeName,t);if(o){addMeta(e,t,o)}n.jsonSchema=o;return o}const get$ref=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:getRelativePath(t.currentPath,e.path)};case"none":case"seen":{if(e.path.lengtht.currentPath[r]===e))){console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`);return{}}return t.$refStrategy==="seen"?{}:undefined}}};const getRelativePath=(e,t)=>{let r=0;for(;r{switch(t){case Ke.ZodString:return parseStringDef(e,r);case Ke.ZodNumber:return parseNumberDef(e,r);case Ke.ZodObject:return parseObjectDef(e,r);case Ke.ZodBigInt:return parseBigintDef(e,r);case Ke.ZodBoolean:return parseBooleanDef();case Ke.ZodDate:return parseDateDef(e,r);case Ke.ZodUndefined:return parseUndefinedDef();case Ke.ZodNull:return parseNullDef(r);case Ke.ZodArray:return parseArrayDef(e,r);case Ke.ZodUnion:case Ke.ZodDiscriminatedUnion:return parseUnionDef(e,r);case Ke.ZodIntersection:return parseIntersectionDef(e,r);case Ke.ZodTuple:return parseTupleDef(e,r);case Ke.ZodRecord:return parseRecordDef(e,r);case Ke.ZodLiteral:return parseLiteralDef(e,r);case Ke.ZodEnum:return parseEnumDef(e);case Ke.ZodNativeEnum:return parseNativeEnumDef(e);case Ke.ZodNullable:return parseNullableDef(e,r);case Ke.ZodOptional:return parseOptionalDef(e,r);case Ke.ZodMap:return parseMapDef(e,r);case Ke.ZodSet:return parseSetDef(e,r);case Ke.ZodLazy:return parseDef_parseDef(e.getter()._def,r);case Ke.ZodPromise:return parsePromiseDef(e,r);case Ke.ZodNaN:case Ke.ZodNever:return parseNeverDef();case Ke.ZodEffects:return parseEffectsDef(e,r);case Ke.ZodAny:return parseAnyDef();case Ke.ZodUnknown:return parseUnknownDef();case Ke.ZodDefault:return parseDefaultDef(e,r);case Ke.ZodBranded:return parseBrandedDef(e,r);case Ke.ZodReadonly:return parseReadonlyDef(e,r);case Ke.ZodCatch:return parseCatchDef(e,r);case Ke.ZodPipeline:return parsePipelineDef(e,r);case Ke.ZodFunction:case Ke.ZodVoid:case Ke.ZodSymbol:return undefined;default:return(e=>undefined)(t)}};const addMeta=(e,t,r)=>{if(e.description){r.description=e.description;if(t.markdownDescription){r.markdownDescription=e.description}}return r};const zodToJsonSchema=(e,t)=>{const r=getRefs(t);const s=typeof t==="object"&&t.definitions?Object.entries(t.definitions).reduce(((e,[t,s])=>({...e,[t]:parseDef_parseDef(s._def,{...r,currentPath:[...r.basePath,r.definitionPath,t]},true)??{}})),{}):undefined;const n=typeof t==="string"?t:t?.nameStrategy==="title"?undefined:t?.name;const o=parseDef_parseDef(e._def,n===undefined?r:{...r,currentPath:[...r.basePath,r.definitionPath,n]},false)??{};const i=typeof t==="object"&&t.name!==undefined&&t.nameStrategy==="title"?t.name:undefined;if(i!==undefined){o.title=i}const a=n===undefined?s?{...o,[r.definitionPath]:s}:o:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,n].join("/"),[r.definitionPath]:{...s,[n]:o}};if(r.target==="jsonSchema7"){a.$schema="http://json-schema.org/draft-07/schema#"}else if(r.target==="jsonSchema2019-09"){a.$schema="https://json-schema.org/draft/2019-09/schema#"}return a};const Pt=zodToJsonSchema;function fixJson(e){const t=["ROOT"];let r=-1;let s=null;function processValueStart(e,n,o){{switch(e){case'"':{r=n;t.pop();t.push(o);t.push("INSIDE_STRING");break}case"f":case"t":case"n":{r=n;s=n;t.pop();t.push(o);t.push("INSIDE_LITERAL");break}case"-":{t.pop();t.push(o);t.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=n;t.pop();t.push(o);t.push("INSIDE_NUMBER");break}case"{":{r=n;t.pop();t.push(o);t.push("INSIDE_OBJECT_START");break}case"[":{r=n;t.pop();t.push(o);t.push("INSIDE_ARRAY_START");break}}}}function processAfterObjectValue(e,s){switch(e){case",":{t.pop();t.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{r=s;t.pop();break}}}function processAfterArrayValue(e,s){switch(e){case",":{t.pop();t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{r=s;t.pop();break}}}for(let n=0;n=0;r--){const o=t[r];switch(o){case"INSIDE_STRING":{n+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{n+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{n+="]";break}case"INSIDE_LITERAL":{const t=e.substring(s,e.length);if("true".startsWith(t)){n+="true".slice(t.length)}else if("false".startsWith(t)){n+="false".slice(t.length)}else if("null".startsWith(t)){n+="null".slice(t.length)}}}}return n}function dist_parsePartialJson(e){if(e===void 0){return{value:void 0,state:"undefined-input"}}try{return{value:SecureJSON.parse(e),state:"successful-parse"}}catch(t){try{return{value:SecureJSON.parse(fixJson(e)),state:"repaired-parse"}}catch(e){}}return{value:void 0,state:"failed-parse"}}var Gt={code:"0",name:"text",parse:e=>{if(typeof e!=="string"){throw new Error('"text" parts expect a string value.')}return{type:"text",value:e}}};var jt={code:"1",name:"function_call",parse:e=>{if(e==null||typeof e!=="object"||!("function_call"in e)||typeof e.function_call!=="object"||e.function_call==null||!("name"in e.function_call)||!("arguments"in e.function_call)||typeof e.function_call.name!=="string"||typeof e.function_call.arguments!=="string"){throw new Error('"function_call" parts expect an object with a "function_call" property.')}return{type:"function_call",value:e}}};var Ht={code:"2",name:"data",parse:e=>{if(!Array.isArray(e)){throw new Error('"data" parts expect an array value.')}return{type:"data",value:e}}};var Jt={code:"3",name:"error",parse:e=>{if(typeof e!=="string"){throw new Error('"error" parts expect a string value.')}return{type:"error",value:e}}};var Vt={code:"4",name:"assistant_message",parse:e=>{if(e==null||typeof e!=="object"||!("id"in e)||!("role"in e)||!("content"in e)||typeof e.id!=="string"||typeof e.role!=="string"||e.role!=="assistant"||!Array.isArray(e.content)||!e.content.every((e=>e!=null&&typeof e==="object"&&"type"in e&&e.type==="text"&&"text"in e&&e.text!=null&&typeof e.text==="object"&&"value"in e.text&&typeof e.text.value==="string"))){throw new Error('"assistant_message" parts expect an object with an "id", "role", and "content" property.')}return{type:"assistant_message",value:e}}};var Yt={code:"5",name:"assistant_control_data",parse:e=>{if(e==null||typeof e!=="object"||!("threadId"in e)||!("messageId"in e)||typeof e.threadId!=="string"||typeof e.messageId!=="string"){throw new Error('"assistant_control_data" parts expect an object with a "threadId" and "messageId" property.')}return{type:"assistant_control_data",value:{threadId:e.threadId,messageId:e.messageId}}}};var qt={code:"6",name:"data_message",parse:e=>{if(e==null||typeof e!=="object"||!("role"in e)||!("data"in e)||typeof e.role!=="string"||e.role!=="data"){throw new Error('"data_message" parts expect an object with a "role" and "data" property.')}return{type:"data_message",value:e}}};var Wt={code:"7",name:"tool_calls",parse:e=>{if(e==null||typeof e!=="object"||!("tool_calls"in e)||typeof e.tool_calls!=="object"||e.tool_calls==null||!Array.isArray(e.tool_calls)||e.tool_calls.some((e=>e==null||typeof e!=="object"||!("id"in e)||typeof e.id!=="string"||!("type"in e)||typeof e.type!=="string"||!("function"in e)||e.function==null||typeof e.function!=="object"||!("arguments"in e.function)||typeof e.function.name!=="string"||typeof e.function.arguments!=="string"))){throw new Error('"tool_calls" parts expect an object with a ToolCallPayload.')}return{type:"tool_calls",value:e}}};var Zt={code:"8",name:"message_annotations",parse:e=>{if(!Array.isArray(e)){throw new Error('"message_annotations" parts expect an array value.')}return{type:"message_annotations",value:e}}};var zt={code:"9",name:"tool_call",parse:e=>{if(e==null||typeof e!=="object"||!("toolCallId"in e)||typeof e.toolCallId!=="string"||!("toolName"in e)||typeof e.toolName!=="string"||!("args"in e)||typeof e.args!=="object"){throw new Error('"tool_call" parts expect an object with a "toolCallId", "toolName", and "args" property.')}return{type:"tool_call",value:e}}};var Kt={code:"a",name:"tool_result",parse:e=>{if(e==null||typeof e!=="object"||!("toolCallId"in e)||typeof e.toolCallId!=="string"||!("result"in e)){throw new Error('"tool_result" parts expect an object with a "toolCallId" and a "result" property.')}return{type:"tool_result",value:e}}};var Xt={code:"b",name:"tool_call_streaming_start",parse:e=>{if(e==null||typeof e!=="object"||!("toolCallId"in e)||typeof e.toolCallId!=="string"||!("toolName"in e)||typeof e.toolName!=="string"){throw new Error('"tool_call_streaming_start" parts expect an object with a "toolCallId" and "toolName" property.')}return{type:"tool_call_streaming_start",value:e}}};var $t={code:"c",name:"tool_call_delta",parse:e=>{if(e==null||typeof e!=="object"||!("toolCallId"in e)||typeof e.toolCallId!=="string"||!("argsTextDelta"in e)||typeof e.argsTextDelta!=="string"){throw new Error('"tool_call_delta" parts expect an object with a "toolCallId" and "argsTextDelta" property.')}return{type:"tool_call_delta",value:e}}};var er={code:"d",name:"finish_message",parse:e=>{if(e==null||typeof e!=="object"||!("finishReason"in e)||typeof e.finishReason!=="string"||!("usage"in e)||e.usage==null||typeof e.usage!=="object"||!("promptTokens"in e.usage)||!("completionTokens"in e.usage)){throw new Error('"finish_message" parts expect an object with a "finishReason" and "usage" property.')}if(typeof e.usage.promptTokens!=="number"){e.usage.promptTokens=Number.NaN}if(typeof e.usage.completionTokens!=="number"){e.usage.completionTokens=Number.NaN}return{type:"finish_message",value:e}}};var tr=[Gt,jt,Ht,Jt,Vt,Yt,qt,Wt,Zt,zt,Kt,Xt,$t,er];var rr={[Gt.code]:Gt,[jt.code]:jt,[Ht.code]:Ht,[Jt.code]:Jt,[Vt.code]:Vt,[Yt.code]:Yt,[qt.code]:qt,[Wt.code]:Wt,[Zt.code]:Zt,[zt.code]:zt,[Kt.code]:Kt,[Xt.code]:Xt,[$t.code]:$t,[er.code]:er};var sr={[Gt.name]:Gt.code,[jt.name]:jt.code,[Ht.name]:Ht.code,[Jt.name]:Jt.code,[Vt.name]:Vt.code,[Yt.name]:Yt.code,[qt.name]:qt.code,[Wt.name]:Wt.code,[Zt.name]:Zt.code,[zt.name]:zt.code,[Kt.name]:Kt.code,[Xt.name]:Xt.code,[$t.name]:$t.code,[er.name]:er.code};var nr=tr.map((e=>e.code));var parseStreamPart=e=>{const t=e.indexOf(":");if(t===-1){throw new Error("Failed to parse stream string. No separator found.")}const r=e.slice(0,t);if(!nr.includes(r)){throw new Error(`Failed to parse stream string. Invalid code ${r}.`)}const s=r;const n=e.slice(t+1);const o=JSON.parse(n);return rr[s].parse(o)};function dist_formatStreamPart(e,t){const r=tr.find((t=>t.name===e));if(!r){throw new Error(`Invalid stream part type: ${e}`)}return`${r.code}:${JSON.stringify(t)}\n`}var or="\n".charCodeAt(0);function concatChunks(e,t){const r=new Uint8Array(t);let s=0;for(const t of e){r.set(t,s);s+=t.length}e.length=0;return r}async function*readDataStream(e,{isAborted:t}={}){const r=new TextDecoder;const s=[];let n=0;while(true){const{value:o}=await e.read();if(o){s.push(o);n+=o.length;if(o[o.length-1]!==or){continue}}if(s.length===0){break}const i=concatChunks(s,n);n=0;const a=r.decode(i,{stream:true}).split("\n").filter((e=>e!=="")).map(parseStreamPart);for(const e of a){yield e}if(t==null?void 0:t()){e.cancel();break}}}function assignAnnotationsToMessage(e,t){if(!e||!t||!t.length)return e;return{...e,annotations:[...t]}}async function parseComplexResponse({reader:e,abortControllerRef:t,update:r,onToolCall:s,onFinish:n,generateId:o=generateIdFunction,getCurrentDate:i=(()=>new Date)}){var a;const A=i();const c={data:[]};let l=void 0;const u={};let p={completionTokens:NaN,promptTokens:NaN,totalTokens:NaN};let d="unknown";for await(const{type:n,value:i}of readDataStream(e,{isAborted:()=>(t==null?void 0:t.current)===null})){if(n==="error"){throw new Error(i)}if(n==="text"){if(c["text"]){c["text"]={...c["text"],content:(c["text"].content||"")+i}}else{c["text"]={id:o(),role:"assistant",content:i,createdAt:A}}}if(n==="finish_message"){const{completionTokens:e,promptTokens:t}=i.usage;d=i.finishReason;p={completionTokens:e,promptTokens:t,totalTokens:e+t}}if(n==="tool_call_streaming_start"){if(c.text==null){c.text={id:o(),role:"assistant",content:"",createdAt:A}}if(c.text.toolInvocations==null){c.text.toolInvocations=[]}u[i.toolCallId]={text:"",toolName:i.toolName,prefixMapIndex:c.text.toolInvocations.length};c.text.toolInvocations.push({state:"partial-call",toolCallId:i.toolCallId,toolName:i.toolName,args:void 0})}else if(n==="tool_call_delta"){const e=u[i.toolCallId];e.text+=i.argsTextDelta;const{value:t}=dist_parsePartialJson(e.text);c.text.toolInvocations[e.prefixMapIndex]={state:"partial-call",toolCallId:i.toolCallId,toolName:e.toolName,args:t};c.text.internalUpdateId=o()}else if(n==="tool_call"){if(u[i.toolCallId]!=null){c.text.toolInvocations[u[i.toolCallId].prefixMapIndex]={state:"call",...i}}else{if(c.text==null){c.text={id:o(),role:"assistant",content:"",createdAt:A}}if(c.text.toolInvocations==null){c.text.toolInvocations=[]}c.text.toolInvocations.push({state:"call",...i})}c.text.internalUpdateId=o();if(s){const e=await s({toolCall:i});if(e!=null){c.text.toolInvocations[c.text.toolInvocations.length-1]={state:"result",...i,result:e}}}}else if(n==="tool_result"){const e=(a=c.text)==null?void 0:a.toolInvocations;if(e==null){throw new Error("tool_result must be preceded by a tool_call")}const t=e.findIndex((e=>e.toolCallId===i.toolCallId));if(t===-1){throw new Error("tool_result must be preceded by a tool_call with the same toolCallId")}e[t]={...e[t],state:"result",...i}}let e=null;if(n==="function_call"){c["function_call"]={id:o(),role:"assistant",content:"",function_call:i.function_call,name:i.function_call.name,createdAt:A};e=c["function_call"]}let t=null;if(n==="tool_calls"){c["tool_calls"]={id:o(),role:"assistant",content:"",tool_calls:i.tool_calls,createdAt:A};t=c["tool_calls"]}if(n==="data"){c["data"].push(...i)}let g=c["text"];if(n==="message_annotations"){if(!l){l=[...i]}else{l.push(...i)}e=assignAnnotationsToMessage(c["function_call"],l);t=assignAnnotationsToMessage(c["tool_calls"],l);g=assignAnnotationsToMessage(c["text"],l)}if(l==null?void 0:l.length){const e=["text","function_call","tool_calls"];e.forEach((e=>{if(c[e]){c[e].annotations=[...l]}}))}const h=[e,t,g].filter(Boolean).map((e=>({...assignAnnotationsToMessage(e,l)})));r(h,[...c["data"]])}n==null?void 0:n({prefixMap:c,finishReason:d,usage:p});return{messages:[c.text,c.function_call,c.tool_calls].filter(Boolean),data:c.data}}var dist_getOriginalFetch=()=>fetch;async function callChatApi({api:e,body:t,streamProtocol:r="data",credentials:s,headers:n,abortController:o,restoreMessagesOnFailure:i,onResponse:a,onUpdate:A,onFinish:c,onToolCall:l,generateId:u,fetch:p=dist_getOriginalFetch()}){var d,g;const h=await p(e,{method:"POST",body:JSON.stringify(t),headers:{"Content-Type":"application/json",...n},signal:(d=o==null?void 0:o())==null?void 0:d.signal,credentials:s}).catch((e=>{i();throw e}));if(a){try{await a(h)}catch(e){throw e}}if(!h.ok){i();throw new Error((g=await h.text())!=null?g:"Failed to fetch the chat response.")}if(!h.body){throw new Error("The response body is empty.")}const m=h.body.getReader();switch(r){case"text":{const e=dist_createChunkDecoder();const t={id:u(),createdAt:new Date,role:"assistant",content:""};while(true){const{done:r,value:s}=await m.read();if(r){break}t.content+=e(s);A([{...t}],[]);if((o==null?void 0:o())===null){m.cancel();break}}c==null?void 0:c(t,{usage:{completionTokens:NaN,promptTokens:NaN,totalTokens:NaN},finishReason:"unknown"});return{messages:[t],data:[]}}case"data":{return await parseComplexResponse({reader:m,abortControllerRef:o!=null?{current:o()}:void 0,update:A,onToolCall:l,onFinish({prefixMap:e,finishReason:t,usage:r}){if(c&&e.text!=null){c(e.text,{usage:r,finishReason:t})}},generateId:u})}default:{const e=r;throw new Error(`Unknown stream protocol: ${e}`)}}}var getOriginalFetch2=()=>fetch;async function callCompletionApi({api:e,prompt:t,credentials:r,headers:s,body:n,streamProtocol:o="data",setCompletion:i,setLoading:a,setError:A,setAbortController:c,onResponse:l,onFinish:u,onError:p,onData:d,fetch:g=getOriginalFetch2()}){try{a(true);A(void 0);const p=new AbortController;c(p);i("");const h=await g(e,{method:"POST",body:JSON.stringify({prompt:t,...n}),credentials:r,headers:{"Content-Type":"application/json",...s},signal:p.signal}).catch((e=>{throw e}));if(l){try{await l(h)}catch(e){throw e}}if(!h.ok){throw new Error(await h.text()||"Failed to fetch the chat response.")}if(!h.body){throw new Error("The response body is empty.")}let m="";const E=h.body.getReader();switch(o){case"text":{const e=dist_createChunkDecoder();while(true){const{done:t,value:r}=await E.read();if(t){break}m+=e(r);i(m);if(p===null){E.cancel();break}}break}case"data":{for await(const{type:e,value:t}of readDataStream(E,{isAborted:()=>p===null})){switch(e){case"text":{m+=t;i(m);break}case"data":{d==null?void 0:d(t);break}}}break}default:{const e=o;throw new Error(`Unknown stream protocol: ${e}`)}}if(u){u(t,m)}c(null);return m}catch(e){if(e.name==="AbortError"){c(null);return null}if(e instanceof Error){if(p){p(e)}}A(e)}finally{a(false)}}function dist_createChunkDecoder(e){const t=new TextDecoder;if(!e){return function(e){if(!e)return"";return t.decode(e,{stream:true})}}return function(e){const r=t.decode(e,{stream:true}).split("\n").filter((e=>e!==""));return r.map(parseStreamPart).filter(Boolean)}}function getTextFromDataUrl(e){const[t,r]=e.split(",");const s=t.split(";")[0].split(":")[1];if(s==null||r==null){throw new Error("Invalid data URL format")}try{return window.atob(r)}catch(e){throw new Error(`Error decoding data URL`)}}function dist_isDeepEqualData(e,t){if(e===t)return true;if(e==null||t==null)return false;if(typeof e!=="object"&&typeof t!=="object")return e===t;if(e.constructor!==t.constructor)return false;if(e instanceof Date&&t instanceof Date){return e.getTime()===t.getTime()}if(Array.isArray(e)){if(e.length!==t.length)return false;for(let r=0;rtypeof e!=="object"))){console.warn("experimental_onToolCall should not be defined when using tools");continue}const i=await r(n(),t);if(i===void 0){e=false;break}s(i)}}if(!e){break}}else{let fixFunctionCallArguments2=function(e){for(const t of e.messages){if(t.tool_calls!==void 0){for(const e of t.tool_calls){if(typeof e==="object"){if(e.function.arguments&&typeof e.function.arguments!=="string"){e.function.arguments=JSON.stringify(e.function.arguments)}}}}if(t.function_call!==void 0){if(typeof t.function_call==="object"){if(t.function_call.arguments&&typeof t.function_call.arguments!=="string"){t.function_call.arguments=JSON.stringify(t.function_call.arguments)}}}}};var o=fixFunctionCallArguments2;const e=i;if((e.function_call===void 0||typeof e.function_call==="string")&&(e.tool_calls===void 0||typeof e.tool_calls==="string")){break}if(t){const r=e.function_call;if(!(typeof r==="object")){console.warn("experimental_onFunctionCall should not be defined when using tools");continue}const o=await t(n(),r);if(o===void 0)break;fixFunctionCallArguments2(o);s(o)}if(r){const t=e.tool_calls;if(!(typeof t==="object")){console.warn("experimental_onToolCall should not be defined when using functions");continue}const o=await r(n(),t);if(o===void 0)break;fixFunctionCallArguments2(o);s(o)}}}}var ir=Symbol.for("vercel.ai.schema");function jsonSchema(e,{validate:t}={}){return{[ir]:true,_type:void 0,[Ie]:true,jsonSchema:e,validate:t}}function isSchema(e){return typeof e==="object"&&e!==null&&ir in e&&e[ir]===true&&"jsonSchema"in e&&"validate"in e}function dist_asSchema(e){return isSchema(e)?e:zodSchema(e)}function zodSchema(e){return jsonSchema(Pt(e),{validate:t=>{const r=e.safeParse(t);return r.success?{success:true,value:r.data}:{success:false,error:r.error}}})}var ar=Object.defineProperty;var __export=(e,t)=>{for(var r in t)ar(e,r,{get:t[r],enumerable:true})};async function delay(e){return e===void 0?Promise.resolve():new Promise((t=>setTimeout(t,e)))}var Ar="AI_RetryError";var cr=`vercel.ai.error.${Ar}`;var lr=Symbol.for(cr);var ur;var pr=class extends A{constructor({message:e,reason:t,errors:r}){super({name:Ar,message:e});this[ur]=true;this.reason=t;this.errors=r;this.lastError=r[r.length-1]}static isInstance(e){return A.hasMarker(e,cr)}static isRetryError(e){return e instanceof Error&&e.name===Ar&&typeof e.reason==="string"&&Array.isArray(e.errors)}toJSON(){return{name:this.name,message:this.message,reason:this.reason,lastError:this.lastError,errors:this.errors}}};ur=lr;var retryWithExponentialBackoff=({maxRetries:e=2,initialDelayInMs:t=2e3,backoffFactor:r=2}={})=>async s=>_retryWithExponentialBackoff(s,{maxRetries:e,delayInMs:t,backoffFactor:r});async function _retryWithExponentialBackoff(e,{maxRetries:t,delayInMs:r,backoffFactor:s},n=[]){try{return await e()}catch(o){if(isAbortError(o)){throw o}if(t===0){throw o}const i=dist_getErrorMessage(o);const a=[...n,o];const A=a.length;if(A>t){throw new pr({message:`Failed after ${A} attempts. Last error: ${i}`,reason:"maxRetriesExceeded",errors:a})}if(o instanceof Error&&d.isAPICallError(o)&&o.isRetryable===true&&A<=t){await delay(r);return _retryWithExponentialBackoff(e,{maxRetries:t,delayInMs:s*r,backoffFactor:s},a)}if(A===1){throw o}throw new pr({message:`Failed after ${A} attempts with non-retryable error: '${i}'`,reason:"errorNotRetryable",errors:a})}}function assembleOperationName({operationId:e,telemetry:t}){return{"operation.name":`${e}${(t==null?void 0:t.functionId)!=null?` ${t.functionId}`:""}`,"resource.name":t==null?void 0:t.functionId,"ai.operationId":e,"ai.telemetry.functionId":t==null?void 0:t.functionId}}function getBaseTelemetryAttributes({model:e,settings:t,telemetry:r,headers:s}){var n;return{"ai.model.provider":e.provider,"ai.model.id":e.modelId,...Object.entries(t).reduce(((e,[t,r])=>{e[`ai.settings.${t}`]=r;return e}),{}),...Object.entries((n=r==null?void 0:r.metadata)!=null?n:{}).reduce(((e,[t,r])=>{e[`ai.telemetry.metadata.${t}`]=r;return e}),{}),...Object.entries(s!=null?s:{}).reduce(((e,[t,r])=>{if(r!==void 0){e[`ai.request.headers.${t}`]=r}return e}),{})}}var dr={startSpan(){return gr},startActiveSpan(e,t,r,s){if(typeof t==="function"){return t(gr)}if(typeof r==="function"){return r(gr)}if(typeof s==="function"){return s(gr)}}};var gr={spanContext(){return hr},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},addLink(){return this},addLinks(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return false},recordException(){return this}};var hr={traceId:"",spanId:"",traceFlags:0};var fr=void 0;function getTracer({isEnabled:e}){if(!e){return dr}if(fr){return fr}return ye.g4.getTracer("ai")}function recordSpan({name:e,tracer:t,attributes:r,fn:s,endWhenDone:n=true}){return t.startActiveSpan(e,{attributes:r},(async e=>{try{const t=await s(e);if(n){e.end()}return t}catch(t){try{if(t instanceof Error){e.recordException({name:t.name,message:t.message,stack:t.stack});e.setStatus({code:ye.Qn.ERROR,message:t.message})}else{e.setStatus({code:ye.Qn.ERROR})}}finally{e.end()}throw t}}))}function selectTelemetryAttributes({telemetry:e,attributes:t}){return Object.entries(t).reduce(((t,[r,s])=>{if(s===void 0){return t}if(typeof s==="object"&&"input"in s&&typeof s.input==="function"){if((e==null?void 0:e.recordInputs)===false){return t}const n=s.input();return n===void 0?t:{...t,[r]:n}}if(typeof s==="object"&&"output"in s&&typeof s.output==="function"){if((e==null?void 0:e.recordOutputs)===false){return t}const n=s.output();return n===void 0?t:{...t,[r]:n}}return{...t,[r]:s}}),{})}async function dist_embed({model:e,value:t,maxRetries:r,abortSignal:s,headers:n,experimental_telemetry:o}){var i;const a=getBaseTelemetryAttributes({model:e,telemetry:o,headers:n,settings:{maxRetries:r}});const A=getTracer({isEnabled:(i=o==null?void 0:o.isEnabled)!=null?i:false});return recordSpan({name:"ai.embed",attributes:selectTelemetryAttributes({telemetry:o,attributes:{...assembleOperationName({operationId:"ai.embed",telemetry:o}),...a,"ai.value":{input:()=>JSON.stringify(t)}}}),tracer:A,fn:async i=>{const c=retryWithExponentialBackoff({maxRetries:r});const{embedding:l,usage:u,rawResponse:p}=await c((()=>recordSpan({name:"ai.embed.doEmbed",attributes:selectTelemetryAttributes({telemetry:o,attributes:{...assembleOperationName({operationId:"ai.embed.doEmbed",telemetry:o}),...a,"ai.values":{input:()=>[JSON.stringify(t)]}}}),tracer:A,fn:async r=>{var i;const a=await e.doEmbed({values:[t],abortSignal:s,headers:n});const A=a.embeddings[0];const c=(i=a.usage)!=null?i:{tokens:NaN};r.setAttributes(selectTelemetryAttributes({telemetry:o,attributes:{"ai.embeddings":{output:()=>a.embeddings.map((e=>JSON.stringify(e)))},"ai.usage.tokens":c.tokens}}));return{embedding:A,usage:c,rawResponse:a.rawResponse}}})));i.setAttributes(selectTelemetryAttributes({telemetry:o,attributes:{"ai.embedding":{output:()=>JSON.stringify(l)},"ai.usage.tokens":u.tokens}}));return new mr({value:t,embedding:l,usage:u,rawResponse:p})}})}var mr=class{constructor(e){this.value=e.value;this.embedding=e.embedding;this.usage=e.usage;this.rawResponse=e.rawResponse}};function splitArray(e,t){if(t<=0){throw new Error("chunkSize must be greater than 0")}const r=[];for(let s=0;st.map((e=>JSON.stringify(e)))}}}),tracer:A,fn:async i=>{const c=retryWithExponentialBackoff({maxRetries:r});const l=e.maxEmbeddingsPerCall;if(l==null){const{embeddings:r,usage:l}=await c((()=>recordSpan({name:"ai.embedMany.doEmbed",attributes:selectTelemetryAttributes({telemetry:o,attributes:{...assembleOperationName({operationId:"ai.embedMany.doEmbed",telemetry:o}),...a,"ai.values":{input:()=>t.map((e=>JSON.stringify(e)))}}}),tracer:A,fn:async r=>{var i;const a=await e.doEmbed({values:t,abortSignal:s,headers:n});const A=a.embeddings;const c=(i=a.usage)!=null?i:{tokens:NaN};r.setAttributes(selectTelemetryAttributes({telemetry:o,attributes:{"ai.embeddings":{output:()=>A.map((e=>JSON.stringify(e)))},"ai.usage.tokens":c.tokens}}));return{embeddings:A,usage:c}}})));i.setAttributes(selectTelemetryAttributes({telemetry:o,attributes:{"ai.embeddings":{output:()=>r.map((e=>JSON.stringify(e)))},"ai.usage.tokens":l.tokens}}));return new Er({values:t,embeddings:r,usage:l})}const u=splitArray(t,l);const p=[];let d=0;for(const t of u){const{embeddings:r,usage:i}=await c((()=>recordSpan({name:"ai.embedMany.doEmbed",attributes:selectTelemetryAttributes({telemetry:o,attributes:{...assembleOperationName({operationId:"ai.embedMany.doEmbed",telemetry:o}),...a,"ai.values":{input:()=>t.map((e=>JSON.stringify(e)))}}}),tracer:A,fn:async r=>{var i;const a=await e.doEmbed({values:t,abortSignal:s,headers:n});const A=a.embeddings;const c=(i=a.usage)!=null?i:{tokens:NaN};r.setAttributes(selectTelemetryAttributes({telemetry:o,attributes:{"ai.embeddings":{output:()=>A.map((e=>JSON.stringify(e)))},"ai.usage.tokens":c.tokens}}));return{embeddings:A,usage:c}}})));p.push(...r);d+=i.tokens}i.setAttributes(selectTelemetryAttributes({telemetry:o,attributes:{"ai.embeddings":{output:()=>p.map((e=>JSON.stringify(e)))},"ai.usage.tokens":d}}));return new Er({values:t,embeddings:p,usage:{tokens:d}})}})}var Er=class{constructor(e){this.values=e.values;this.embeddings=e.embeddings;this.usage=e.usage}};var Cr="AI_DownloadError";var Ir=`vercel.ai.error.${Cr}`;var Br=Symbol.for(Ir);var Qr;var br=class extends A{constructor({url:e,statusCode:t,statusText:r,cause:s,message:n=(s==null?`Failed to download ${e}: ${t} ${r}`:`Failed to download ${e}: ${s}`)}){super({name:Cr,message:n,cause:s});this[Qr]=true;this.url=e;this.statusCode=t;this.statusText=r}static isInstance(e){return A.hasMarker(e,Ir)}static isDownloadError(e){return e instanceof Error&&e.name===Cr&&typeof e.url==="string"&&(e.statusCode==null||typeof e.statusCode==="number")&&(e.statusText==null||typeof e.statusText==="string")}toJSON(){return{name:this.name,message:this.message,url:this.url,statusCode:this.statusCode,statusText:this.statusText,cause:this.cause}}};Qr=Br;async function download({url:e,fetchImplementation:t=fetch}){var r;const s=e.toString();try{const e=await t(s);if(!e.ok){throw new br({url:s,statusCode:e.status,statusText:e.statusText})}return{data:new Uint8Array(await e.arrayBuffer()),mimeType:(r=e.headers.get("content-type"))!=null?r:void 0}}catch(e){if(br.isInstance(e)){throw e}throw new br({url:s,cause:e})}}var yr=[{mimeType:"image/gif",bytes:[71,73,70]},{mimeType:"image/png",bytes:[137,80,78,71]},{mimeType:"image/jpeg",bytes:[255,216]},{mimeType:"image/webp",bytes:[82,73,70,70]}];function detectImageMimeType(e){for(const{bytes:t,mimeType:r}of yr){if(e.length>=t.length&&t.every(((t,r)=>e[r]===t))){return r}}return void 0}var vr="AI_InvalidDataContentError";var wr=`vercel.ai.error.${vr}`;var xr=Symbol.for(wr);var kr;var Rr=class extends A{constructor({content:e,cause:t,message:r=`Invalid data content. Expected a base64 string, Uint8Array, ArrayBuffer, or Buffer, but got ${typeof e}.`}){super({name:vr,message:r,cause:t});this[kr]=true;this.content=e}static isInstance(e){return A.hasMarker(e,wr)}static isInvalidDataContentError(e){return e instanceof Error&&e.name===vr&&e.content!=null}toJSON(){return{name:this.name,message:this.message,stack:this.stack,cause:this.cause,content:this.content}}};kr=xr;var Sr=Ft.union([Ft.string(),Ft["instanceof"](Uint8Array),Ft["instanceof"](ArrayBuffer),Ft.custom((e=>{var t,r;return(r=(t=globalThis.Buffer)==null?void 0:t.isBuffer(e))!=null?r:false}),{message:"Must be a Buffer"})]);function convertDataContentToUint8Array(e){if(e instanceof Uint8Array){return e}if(typeof e==="string"){try{return convertBase64ToUint8Array(e)}catch(t){throw new Rr({message:"Invalid data content. Content string is not a base64-encoded media.",content:e,cause:t})}}if(e instanceof ArrayBuffer){return new Uint8Array(e)}throw new Rr({content:e})}function convertUint8ArrayToText(e){try{return(new TextDecoder).decode(e)}catch(e){throw new Error("Error decoding Uint8Array to text")}}var Dr="AI_InvalidMessageRoleError";var Tr=`vercel.ai.error.${Dr}`;var _r=Symbol.for(Tr);var Fr;var Nr=class extends A{constructor({role:e,message:t=`Invalid message role: '${e}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:Dr,message:t});this[Fr]=true;this.role=e}static isInstance(e){return A.hasMarker(e,Tr)}static isInvalidMessageRoleError(e){return e instanceof Error&&e.name===Dr&&typeof e.role==="string"}toJSON(){return{name:this.name,message:this.message,stack:this.stack,role:this.role}}};Fr=_r;async function convertToLanguageModelPrompt({prompt:e,modelSupportsImageUrls:t=true,downloadImplementation:r=download}){const s=[];if(e.system!=null){s.push({role:"system",content:e.system})}const n=t||e.messages==null?null:await downloadImages(e.messages,r);const o=e.type;switch(o){case"prompt":{s.push({role:"user",content:[{type:"text",text:e.prompt}]});break}case"messages":{s.push(...e.messages.map((e=>convertToLanguageModelMessage(e,n))));break}default:{const e=o;throw new Error(`Unsupported prompt type: ${e}`)}}return s}function convertToLanguageModelMessage(e,t){const r=e.role;switch(r){case"system":{return{role:"system",content:e.content,providerMetadata:e.experimental_providerMetadata}}case"user":{if(typeof e.content==="string"){return{role:"user",content:[{type:"text",text:e.content}],providerMetadata:e.experimental_providerMetadata}}return{role:"user",content:e.content.map((r=>{var s,n,o;switch(r.type){case"text":{return{type:"text",text:r.text,providerMetadata:r.experimental_providerMetadata}}case"image":{if(r.image instanceof URL){if(t==null){return{type:"image",image:r.image,mimeType:r.mimeType,providerMetadata:r.experimental_providerMetadata}}else{const e=t[r.image.toString()];return{type:"image",image:e.data,mimeType:(s=r.mimeType)!=null?s:e.mimeType,providerMetadata:r.experimental_providerMetadata}}}if(typeof r.image==="string"){try{const s=new URL(r.image);switch(s.protocol){case"http:":case"https:":{if(t==null){return{type:"image",image:s,mimeType:r.mimeType,providerMetadata:r.experimental_providerMetadata}}else{const e=t[r.image];return{type:"image",image:e.data,mimeType:(n=r.mimeType)!=null?n:e.mimeType,providerMetadata:r.experimental_providerMetadata}}}case"data:":{try{const[e,t]=r.image.split(",");const s=e.split(";")[0].split(":")[1];if(s==null||t==null){throw new Error("Invalid data URL format")}return{type:"image",image:convertDataContentToUint8Array(t),mimeType:s,providerMetadata:r.experimental_providerMetadata}}catch(t){throw new Error(`Error processing data URL: ${dist_getErrorMessage(e)}`)}}default:{throw new Error(`Unsupported URL protocol: ${s.protocol}`)}}}catch(e){}}const i=convertDataContentToUint8Array(r.image);return{type:"image",image:i,mimeType:(o=r.mimeType)!=null?o:detectImageMimeType(i),providerMetadata:r.experimental_providerMetadata}}}})),providerMetadata:e.experimental_providerMetadata}}case"assistant":{if(typeof e.content==="string"){return{role:"assistant",content:[{type:"text",text:e.content}],providerMetadata:e.experimental_providerMetadata}}return{role:"assistant",content:e.content.filter((e=>e.type!=="text"||e.text!=="")),providerMetadata:e.experimental_providerMetadata}}case"tool":{return{role:"tool",content:e.content.map((e=>({type:"tool-result",toolCallId:e.toolCallId,toolName:e.toolName,result:e.result,providerMetadata:e.experimental_providerMetadata}))),providerMetadata:e.experimental_providerMetadata}}default:{const e=r;throw new Nr({role:e})}}}async function downloadImages(e,t){const r=e.filter((e=>e.role==="user")).map((e=>e.content)).filter((e=>Array.isArray(e))).flat().filter((e=>e.type==="image")).map((e=>e.image)).map((e=>typeof e==="string"&&(e.startsWith("http:")||e.startsWith("https:"))?new URL(e):e)).filter((e=>e instanceof URL));const s=await Promise.all(r.map((async e=>({url:e,data:await t({url:e})}))));return Object.fromEntries(s.map((({url:e,data:t})=>[e.toString(),t])))}var Ur="AI_InvalidArgumentError";var Or=`vercel.ai.error.${Ur}`;var Mr=Symbol.for(Or);var Lr;var Pr=class extends A{constructor({parameter:e,value:t,message:r}){super({name:Ur,message:`Invalid argument for parameter ${e}: ${r}`});this[Lr]=true;this.parameter=e;this.value=t}static isInstance(e){return A.hasMarker(e,Or)}static isInvalidArgumentError(e){return e instanceof Error&&e.name===Ur&&typeof e.parameter==="string"&&typeof e.value==="string"}toJSON(){return{name:this.name,message:this.message,stack:this.stack,parameter:this.parameter,value:this.value}}};Lr=Mr;function prepareCallSettings({maxTokens:e,temperature:t,topP:r,presencePenalty:s,frequencyPenalty:n,stopSequences:o,seed:i,maxRetries:a}){if(e!=null){if(!Number.isInteger(e)){throw new Pr({parameter:"maxTokens",value:e,message:"maxTokens must be an integer"})}if(e<1){throw new Pr({parameter:"maxTokens",value:e,message:"maxTokens must be >= 1"})}}if(t!=null){if(typeof t!=="number"){throw new Pr({parameter:"temperature",value:t,message:"temperature must be a number"})}}if(r!=null){if(typeof r!=="number"){throw new Pr({parameter:"topP",value:r,message:"topP must be a number"})}}if(s!=null){if(typeof s!=="number"){throw new Pr({parameter:"presencePenalty",value:s,message:"presencePenalty must be a number"})}}if(n!=null){if(typeof n!=="number"){throw new Pr({parameter:"frequencyPenalty",value:n,message:"frequencyPenalty must be a number"})}}if(i!=null){if(!Number.isInteger(i)){throw new Pr({parameter:"seed",value:i,message:"seed must be an integer"})}}if(a!=null){if(!Number.isInteger(a)){throw new Pr({parameter:"maxRetries",value:a,message:"maxRetries must be an integer"})}if(a<0){throw new Pr({parameter:"maxRetries",value:a,message:"maxRetries must be >= 0"})}}return{maxTokens:e,temperature:t!=null?t:0,topP:r,presencePenalty:s,frequencyPenalty:n,stopSequences:o!=null&&o.length>0?o:void 0,seed:i,maxRetries:a!=null?a:2}}var Gr=Ft.lazy((()=>Ft.union([Ft["null"](),Ft.string(),Ft.number(),Ft.boolean(),Ft.record(Ft.string(),Gr),Ft.array(Gr)])));var jr=Ft.record(Ft.string(),Ft.record(Ft.string(),Gr));var Hr=Ft.object({type:Ft.literal("text"),text:Ft.string(),experimental_providerMetadata:jr.optional()});var Jr=Ft.object({type:Ft.literal("image"),image:Ft.union([Sr,Ft["instanceof"](URL)]),mimeType:Ft.string().optional(),experimental_providerMetadata:jr.optional()});var Vr=Ft.object({type:Ft.literal("tool-call"),toolCallId:Ft.string(),toolName:Ft.string(),args:Ft.unknown()});var Yr=Ft.object({type:Ft.literal("tool-result"),toolCallId:Ft.string(),toolName:Ft.string(),result:Ft.unknown(),isError:Ft.boolean().optional(),experimental_providerMetadata:jr.optional()});var qr=Ft.object({role:Ft.literal("system"),content:Ft.string(),experimental_providerMetadata:jr.optional()});var Wr=Ft.object({role:Ft.literal("user"),content:Ft.union([Ft.string(),Ft.array(Ft.union([Hr,Jr]))]),experimental_providerMetadata:jr.optional()});var Zr=Ft.object({role:Ft.literal("assistant"),content:Ft.union([Ft.string(),Ft.array(Ft.union([Hr,Vr]))]),experimental_providerMetadata:jr.optional()});var zr=Ft.object({role:Ft.literal("tool"),content:Ft.array(Yr),experimental_providerMetadata:jr.optional()});var Kr=Ft.union([qr,Wr,Zr,zr]);function validatePrompt(e){if(e.prompt==null&&e.messages==null){throw new y({prompt:e,message:"prompt or messages must be defined"})}if(e.prompt!=null&&e.messages!=null){throw new y({prompt:e,message:"prompt and messages cannot be defined at the same time"})}if(e.system!=null&&typeof e.system!=="string"){throw new y({prompt:e,message:"system must be a string"})}if(e.prompt!=null){if(typeof e.prompt!=="string"){throw new y({prompt:e,message:"prompt must be a string"})}return{type:"prompt",prompt:e.prompt,messages:void 0,system:e.system}}if(e.messages!=null){const t=safeValidateTypes({value:e.messages,schema:Ft.array(Kr)});if(!t.success){throw new y({prompt:e,message:"messages must be an array of CoreMessage",cause:t.error})}return{type:"messages",prompt:void 0,messages:e.messages,system:e.system}}throw new Error("unreachable")}function calculateCompletionTokenUsage(e){return{promptTokens:e.promptTokens,completionTokens:e.completionTokens,totalTokens:e.promptTokens+e.completionTokens}}function prepareResponseHeaders(e,{contentType:t,dataStreamVersion:r}){var s;const n=new Headers((s=e==null?void 0:e.headers)!=null?s:{});if(!n.has("Content-Type")){n.set("Content-Type",t)}if(r!==void 0){n.set("X-Vercel-AI-Data-Stream",r)}return n}var Xr="JSON schema:";var $r="You MUST answer with a JSON object that matches the JSON schema above.";var es="You MUST answer with JSON.";function injectJsonInstruction({prompt:e,schema:t,schemaPrefix:r=(t!=null?Xr:void 0),schemaSuffix:s=(t!=null?$r:es)}){return[e!=null&&e.length>0?e:void 0,e!=null&&e.length>0?"":void 0,r,t!=null?JSON.stringify(t):void 0,s].filter((e=>e!=null)).join("\n")}var ts="AI_NoObjectGeneratedError";var rs=`vercel.ai.error.${ts}`;var ss=Symbol.for(rs);var ns;var os=class extends A{constructor({message:e="No object generated."}={}){super({name:ts,message:e});this[ns]=true}static isInstance(e){return A.hasMarker(e,rs)}static isNoObjectGeneratedError(e){return e instanceof Error&&e.name===ts}toJSON(){return{name:this.name,cause:this.cause,message:this.message,stack:this.stack}}};ns=ss;function createAsyncIterableStream(e,t){const r=e.pipeThrough(new TransformStream(t));r[Symbol.asyncIterator]=()=>{const e=r.getReader();return{async next(){const{done:t,value:r}=await e.read();return t?{done:true,value:void 0}:{done:false,value:r}}}};return r}var is={type:"no-schema",jsonSchema:void 0,validatePartialResult({value:e}){return{success:true,value:e}},validateFinalResult(e){return e===void 0?{success:false,error:new os}:{success:true,value:e}},createElementStream(){throw new fe({functionality:"element streams in no-schema mode"})}};var objectOutputStrategy=e=>({type:"object",jsonSchema:e.jsonSchema,validatePartialResult({value:e}){return{success:true,value:e}},validateFinalResult(t){return safeValidateTypes2({value:t,schema:e})},createElementStream(){throw new UnsupportedFunctionalityError({functionality:"element streams in object mode"})}});var arrayOutputStrategy=e=>{const{$schema:t,...r}=e.jsonSchema;return{type:"object",jsonSchema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:r}},required:["elements"],additionalProperties:false},validatePartialResult({value:t,parseState:r}){if(!isJSONObject(t)||!isJSONArray(t.elements)){return{success:false,error:new TypeValidationError({value:t,cause:"value must be an object that contains an array of elements"})}}const s=t.elements;const n=[];for(let t=0;tJSON.stringify({system:i,prompt:a,messages:A})},"ai.schema":h.jsonSchema!=null?{input:()=>JSON.stringify(h.jsonSchema)}:void 0,"ai.schema.name":r,"ai.schema.description":s,"ai.settings.output":h.type,"ai.settings.mode":n}}),tracer:E,fn:async t=>{const o=retryWithExponentialBackoff({maxRetries:c});if(n==="auto"||n==null){n=e.defaultObjectGenerationMode}let g;let C;let I;let B;let Q;let b;let y;switch(n){case"json":{const t=validatePrompt({system:h.jsonSchema==null?injectJsonInstruction({prompt:i}):e.supportsStructuredOutputs?i:injectJsonInstruction({prompt:i,schema:h.jsonSchema}),prompt:a,messages:A});const c=await convertToLanguageModelPrompt({prompt:t,modelSupportsImageUrls:e.supportsImageUrls});const v=t.type;const w=await o((()=>recordSpan({name:"ai.generateObject.doGenerate",attributes:selectTelemetryAttributes({telemetry:p,attributes:{...assembleOperationName({operationId:"ai.generateObject.doGenerate",telemetry:p}),...m,"ai.prompt.format":{input:()=>v},"ai.prompt.messages":{input:()=>JSON.stringify(c)},"ai.settings.mode":n,"gen_ai.request.model":e.modelId,"gen_ai.system":e.provider,"gen_ai.request.max_tokens":d.maxTokens,"gen_ai.request.temperature":d.temperature,"gen_ai.request.top_p":d.topP}}),tracer:E,fn:async t=>{const n=await e.doGenerate({mode:{type:"object-json",schema:h.jsonSchema,name:r,description:s},...prepareCallSettings(d),inputFormat:v,prompt:c,abortSignal:l,headers:u});if(n.text===void 0){throw new os}t.setAttributes(selectTelemetryAttributes({telemetry:p,attributes:{"ai.finishReason":n.finishReason,"ai.usage.promptTokens":n.usage.promptTokens,"ai.usage.completionTokens":n.usage.completionTokens,"ai.result.object":{output:()=>n.text},"gen_ai.response.finish_reasons":[n.finishReason],"gen_ai.usage.prompt_tokens":n.usage.promptTokens,"gen_ai.usage.completion_tokens":n.usage.completionTokens}}));return{...n,objectText:n.text}}})));g=w.objectText;C=w.finishReason;I=w.usage;B=w.warnings;Q=w.rawResponse;b=w.logprobs;y=w.providerMetadata;break}case"tool":{const t=validatePrompt({system:i,prompt:a,messages:A});const c=await convertToLanguageModelPrompt({prompt:t,modelSupportsImageUrls:e.supportsImageUrls});const v=t.type;const w=await o((()=>recordSpan({name:"ai.generateObject.doGenerate",attributes:selectTelemetryAttributes({telemetry:p,attributes:{...assembleOperationName({operationId:"ai.generateObject.doGenerate",telemetry:p}),...m,"ai.prompt.format":{input:()=>v},"ai.prompt.messages":{input:()=>JSON.stringify(c)},"ai.settings.mode":n,"gen_ai.request.model":e.modelId,"gen_ai.system":e.provider,"gen_ai.request.max_tokens":d.maxTokens,"gen_ai.request.temperature":d.temperature,"gen_ai.request.top_p":d.topP}}),tracer:E,fn:async t=>{var n,o;const i=await e.doGenerate({mode:{type:"object-tool",tool:{type:"function",name:r!=null?r:"json",description:s!=null?s:"Respond with a JSON object.",parameters:h.jsonSchema}},...prepareCallSettings(d),inputFormat:v,prompt:c,abortSignal:l,headers:u});const a=(o=(n=i.toolCalls)==null?void 0:n[0])==null?void 0:o.args;if(a===void 0){throw new os}t.setAttributes(selectTelemetryAttributes({telemetry:p,attributes:{"ai.finishReason":i.finishReason,"ai.usage.promptTokens":i.usage.promptTokens,"ai.usage.completionTokens":i.usage.completionTokens,"ai.result.object":{output:()=>a},"gen_ai.response.finish_reasons":[i.finishReason],"gen_ai.usage.prompt_tokens":i.usage.promptTokens,"gen_ai.usage.completion_tokens":i.usage.completionTokens}}));return{...i,objectText:a}}})));g=w.objectText;C=w.finishReason;I=w.usage;B=w.warnings;Q=w.rawResponse;b=w.logprobs;y=w.providerMetadata;break}case void 0:{throw new Error("Model does not have a default object generation mode.")}default:{const e=n;throw new Error(`Unsupported mode: ${e}`)}}const v=safeParseJSON({text:g});if(!v.success){throw v.error}const w=h.validateFinalResult(v.value);if(!w.success){throw w.error}t.setAttributes(selectTelemetryAttributes({telemetry:p,attributes:{"ai.finishReason":C,"ai.usage.promptTokens":I.promptTokens,"ai.usage.completionTokens":I.completionTokens,"ai.result.object":{output:()=>JSON.stringify(w.value)}}}));return new as({object:w.value,finishReason:C,usage:calculateCompletionTokenUsage(I),warnings:B,rawResponse:Q,logprobs:b,providerMetadata:y})}})}var as=class{constructor(e){this.object=e.object;this.finishReason=e.finishReason;this.usage=e.usage;this.warnings=e.warnings;this.rawResponse=e.rawResponse;this.logprobs=e.logprobs;this.experimental_providerMetadata=e.providerMetadata}toJsonResponse(e){var t;return new Response(JSON.stringify(this.object),{status:(t=e==null?void 0:e.status)!=null?t:200,headers:prepareResponseHeaders(e,{contentType:"application/json; charset=utf-8"})})}};var As=null&&generateObject;function createResolvablePromise(){let e;let t;const r=new Promise(((r,s)=>{e=r;t=s}));return{promise:r,resolve:e,reject:t}}var cs=class{constructor(){this.status={type:"pending"};this._resolve=void 0;this._reject=void 0}get value(){if(this.promise){return this.promise}this.promise=new Promise(((e,t)=>{if(this.status.type==="resolved"){e(this.status.value)}else if(this.status.type==="rejected"){t(this.status.error)}this._resolve=e;this._reject=t}));return this.promise}resolve(e){var t;this.status={type:"resolved",value:e};if(this.promise){(t=this._resolve)==null?void 0:t.call(this,e)}}reject(e){var t;this.status={type:"rejected",error:e};if(this.promise){(t=this._reject)==null?void 0:t.call(this,e)}}};async function streamObject({model:e,schema:t,schemaName:r,schemaDescription:s,mode:n,output:o="object",system:i,prompt:a,messages:A,maxRetries:c,abortSignal:l,headers:u,experimental_telemetry:p,onFinish:d,...g}){var h;validateObjectGenerationInput({output:o,mode:n,schema:t,schemaName:r,schemaDescription:s});const m=getOutputStrategy({output:o,schema:t});if(m.type==="no-schema"&&n===void 0){n="json"}const E=getBaseTelemetryAttributes({model:e,telemetry:p,headers:u,settings:{...g,maxRetries:c}});const C=getTracer({isEnabled:(h=p==null?void 0:p.isEnabled)!=null?h:false});const I=retryWithExponentialBackoff({maxRetries:c});return recordSpan({name:"ai.streamObject",attributes:selectTelemetryAttributes({telemetry:p,attributes:{...assembleOperationName({operationId:"ai.streamObject",telemetry:p}),...E,"ai.prompt":{input:()=>JSON.stringify({system:i,prompt:a,messages:A})},"ai.schema":m.jsonSchema!=null?{input:()=>JSON.stringify(m.jsonSchema)}:void 0,"ai.schema.name":r,"ai.schema.description":s,"ai.settings.output":m.type,"ai.settings.mode":n}}),tracer:C,endWhenDone:false,fn:async t=>{if(n==="auto"||n==null){n=e.defaultObjectGenerationMode}let o;let c;switch(n){case"json":{const t=validatePrompt({system:m.jsonSchema==null?injectJsonInstruction({prompt:i}):e.supportsStructuredOutputs?i:injectJsonInstruction({prompt:i,schema:m.jsonSchema}),prompt:a,messages:A});o={mode:{type:"object-json",schema:m.jsonSchema,name:r,description:s},...prepareCallSettings(g),inputFormat:t.type,prompt:await convertToLanguageModelPrompt({prompt:t,modelSupportsImageUrls:e.supportsImageUrls}),abortSignal:l,headers:u};c={transform:(e,t)=>{switch(e.type){case"text-delta":t.enqueue(e.textDelta);break;case"finish":case"error":t.enqueue(e);break}}};break}case"tool":{const t=validatePrompt({system:i,prompt:a,messages:A});o={mode:{type:"object-tool",tool:{type:"function",name:r!=null?r:"json",description:s!=null?s:"Respond with a JSON object.",parameters:m.jsonSchema}},...prepareCallSettings(g),inputFormat:t.type,prompt:await convertToLanguageModelPrompt({prompt:t,modelSupportsImageUrls:e.supportsImageUrls}),abortSignal:l,headers:u};c={transform(e,t){switch(e.type){case"tool-call-delta":t.enqueue(e.argsTextDelta);break;case"finish":case"error":t.enqueue(e);break}}};break}case void 0:{throw new Error("Model does not have a default object generation mode.")}default:{const e=n;throw new Error(`Unsupported mode: ${e}`)}}const{result:{stream:h,warnings:B,rawResponse:Q},doStreamSpan:b,startTimestamp:y}=await I((()=>recordSpan({name:"ai.streamObject.doStream",attributes:selectTelemetryAttributes({telemetry:p,attributes:{...assembleOperationName({operationId:"ai.streamObject.doStream",telemetry:p}),...E,"ai.prompt.format":{input:()=>o.inputFormat},"ai.prompt.messages":{input:()=>JSON.stringify(o.prompt)},"ai.settings.mode":n,"gen_ai.request.model":e.modelId,"gen_ai.system":e.provider,"gen_ai.request.max_tokens":g.maxTokens,"gen_ai.request.temperature":g.temperature,"gen_ai.request.top_p":g.topP}}),tracer:C,endWhenDone:false,fn:async t=>({startTimestamp:performance.now(),doStreamSpan:t,result:await e.doStream(o)})})));return new ls({outputStrategy:m,stream:h.pipeThrough(new TransformStream(c)),warnings:B,rawResponse:Q,onFinish:d,rootSpan:t,doStreamSpan:b,telemetry:p,startTimestamp:y})}})}var ls=class{constructor({stream:e,warnings:t,rawResponse:r,outputStrategy:s,onFinish:n,rootSpan:o,doStreamSpan:i,telemetry:a,startTimestamp:A}){this.warnings=t;this.rawResponse=r;this.outputStrategy=s;this.objectPromise=new cs;const{resolve:c,promise:l}=createResolvablePromise();this.usage=l;const{resolve:u,promise:p}=createResolvablePromise();this.experimental_providerMetadata=p;let d;let g;let h;let m;let E;let C="";let I="";let B=void 0;let Q=void 0;let b=true;const y=this;this.originalStream=e.pipeThrough(new TransformStream({async transform(e,t){if(b){const e=performance.now()-A;b=false;i.addEvent("ai.stream.firstChunk",{"ai.stream.msToFirstChunk":e});i.setAttributes({"ai.stream.msToFirstChunk":e})}if(typeof e==="string"){C+=e;I+=e;const{value:r,state:n}=parsePartialJson(C);if(r!==void 0&&!isDeepEqualData(B,r)){const e=s.validatePartialResult({value:r,parseState:n});if(e.success&&!isDeepEqualData(Q,e.value)){B=r;Q=e.value;t.enqueue({type:"object",object:Q});t.enqueue({type:"text-delta",textDelta:I});I=""}}return}switch(e.type){case"finish":{if(I!==""){t.enqueue({type:"text-delta",textDelta:I})}g=e.finishReason;d=calculateCompletionTokenUsage(e.usage);h=e.providerMetadata;t.enqueue({...e,usage:d});c(d);u(h);const r=s.validateFinalResult(B);if(r.success){m=r.value;y.objectPromise.resolve(m)}else{E=r.error;y.objectPromise.reject(E)}break}default:{t.enqueue(e);break}}},async flush(e){try{const e=d!=null?d:{promptTokens:NaN,completionTokens:NaN,totalTokens:NaN};i.setAttributes(selectTelemetryAttributes({telemetry:a,attributes:{"ai.finishReason":g,"ai.usage.promptTokens":e.promptTokens,"ai.usage.completionTokens":e.completionTokens,"ai.result.object":{output:()=>JSON.stringify(m)},"gen_ai.usage.prompt_tokens":e.promptTokens,"gen_ai.usage.completion_tokens":e.completionTokens,"gen_ai.response.finish_reasons":[g]}}));i.end();o.setAttributes(selectTelemetryAttributes({telemetry:a,attributes:{"ai.usage.promptTokens":e.promptTokens,"ai.usage.completionTokens":e.completionTokens,"ai.result.object":{output:()=>JSON.stringify(m)}}}));await(n==null?void 0:n({usage:e,object:m,error:E,rawResponse:r,warnings:t,experimental_providerMetadata:h}))}catch(t){e.error(t)}finally{o.end()}}}))}get object(){return this.objectPromise.value}get partialObjectStream(){return createAsyncIterableStream(this.originalStream,{transform(e,t){switch(e.type){case"object":t.enqueue(e.object);break;case"text-delta":case"finish":break;case"error":t.error(e.error);break;default:{const t=e;throw new Error(`Unsupported chunk type: ${t}`)}}}})}get elementStream(){return this.outputStrategy.createElementStream(this.originalStream)}get textStream(){return createAsyncIterableStream(this.originalStream,{transform(e,t){switch(e.type){case"text-delta":t.enqueue(e.textDelta);break;case"object":case"finish":break;case"error":t.error(e.error);break;default:{const t=e;throw new Error(`Unsupported chunk type: ${t}`)}}}})}get fullStream(){return createAsyncIterableStream(this.originalStream,{transform(e,t){t.enqueue(e)}})}pipeTextStreamToResponse(e,t){var r;e.writeHead((r=t==null?void 0:t.status)!=null?r:200,{"Content-Type":"text/plain; charset=utf-8",...t==null?void 0:t.headers});const s=this.textStream.pipeThrough(new TextEncoderStream).getReader();const read=async()=>{try{while(true){const{done:t,value:r}=await s.read();if(t)break;e.write(r)}}catch(e){throw e}finally{e.end()}};read()}toTextStreamResponse(e){var t;return new Response(this.textStream.pipeThrough(new TextEncoderStream),{status:(t=e==null?void 0:e.status)!=null?t:200,headers:prepareResponseHeaders(e,{contentType:"text/plain; charset=utf-8"})})}};var us=null&&streamObject;function isNonEmptyObject(e){return e!=null&&Object.keys(e).length>0}function prepareToolsAndToolChoice({tools:e,toolChoice:t}){if(!isNonEmptyObject(e)){return{tools:void 0,toolChoice:void 0}}return{tools:Object.entries(e).map((([e,t])=>({type:"function",name:e,description:t.description,parameters:dist_asSchema(t.parameters).jsonSchema}))),toolChoice:t==null?{type:"auto"}:typeof t==="string"?{type:t}:{type:"tool",toolName:t.toolName}}}var ps="AI_InvalidToolArgumentsError";var ds=`vercel.ai.error.${ps}`;var gs=Symbol.for(ds);var hs;var fs=class extends A{constructor({toolArgs:e,toolName:t,cause:r,message:s=`Invalid arguments for tool ${t}: ${getErrorMessage(r)}`}){super({name:ps,message:s,cause:r});this[hs]=true;this.toolArgs=e;this.toolName=t}static isInstance(e){return A.hasMarker(e,ds)}static isInvalidToolArgumentsError(e){return e instanceof Error&&e.name===ps&&typeof e.toolName==="string"&&typeof e.toolArgs==="string"}toJSON(){return{name:this.name,message:this.message,cause:this.cause,stack:this.stack,toolName:this.toolName,toolArgs:this.toolArgs}}};hs=gs;var ms="AI_NoSuchToolError";var Es=`vercel.ai.error.${ms}`;var Cs=Symbol.for(Es);var Is;var Bs=class extends A{constructor({toolName:e,availableTools:t=void 0,message:r=`Model tried to call unavailable tool '${e}'. ${t===void 0?"No tools are available.":`Available tools: ${t.join(", ")}.`}`}){super({name:ms,message:r});this[Is]=true;this.toolName=e;this.availableTools=t}static isInstance(e){return A.hasMarker(e,Es)}static isNoSuchToolError(e){return e instanceof Error&&e.name===ms&&"toolName"in e&&e.toolName!=void 0&&typeof e.name==="string"}toJSON(){return{name:this.name,message:this.message,stack:this.stack,toolName:this.toolName,availableTools:this.availableTools}}};Is=Cs;function parseToolCall({toolCall:e,tools:t}){const r=e.toolName;if(t==null){throw new Bs({toolName:e.toolName})}const s=t[r];if(s==null){throw new Bs({toolName:e.toolName,availableTools:Object.keys(t)})}const n=dist_safeParseJSON({text:e.args,schema:dist_asSchema(s.parameters)});if(n.success===false){throw new fs({toolName:r,toolArgs:e.args,cause:n.error})}return{type:"tool-call",toolCallId:e.toolCallId,toolName:r,args:n.value}}async function generateText({model:e,tools:t,toolChoice:r,system:s,prompt:n,messages:o,maxRetries:i,abortSignal:a,headers:A,maxAutomaticRoundtrips:c=0,maxToolRoundtrips:l=c,experimental_telemetry:u,...p}){var d;const g=getBaseTelemetryAttributes({model:e,telemetry:u,headers:A,settings:{...p,maxRetries:i}});const h=getTracer({isEnabled:(d=u==null?void 0:u.isEnabled)!=null?d:false});return recordSpan({name:"ai.generateText",attributes:selectTelemetryAttributes({telemetry:u,attributes:{...assembleOperationName({operationId:"ai.generateText",telemetry:u}),...g,"ai.prompt":{input:()=>JSON.stringify({system:s,prompt:n,messages:o})},"ai.settings.maxToolRoundtrips":l}}),tracer:h,fn:async c=>{var d,m,E,C;const I=retryWithExponentialBackoff({maxRetries:i});const B=validatePrompt({system:s,prompt:n,messages:o});const Q={type:"regular",...prepareToolsAndToolChoice({tools:t,toolChoice:r})};const b=prepareCallSettings(p);const y=await convertToLanguageModelPrompt({prompt:B,modelSupportsImageUrls:e.supportsImageUrls});let v;let w=[];let x=[];let k=0;const R=[];const S=[];const D={completionTokens:0,promptTokens:0,totalTokens:0};do{const r=k===0?B.type:"messages";v=await I((()=>recordSpan({name:"ai.generateText.doGenerate",attributes:selectTelemetryAttributes({telemetry:u,attributes:{...assembleOperationName({operationId:"ai.generateText.doGenerate",telemetry:u}),...g,"ai.prompt.format":{input:()=>r},"ai.prompt.messages":{input:()=>JSON.stringify(y)},"gen_ai.request.model":e.modelId,"gen_ai.system":e.provider,"gen_ai.request.max_tokens":p.maxTokens,"gen_ai.request.temperature":p.temperature,"gen_ai.request.top_p":p.topP}}),tracer:h,fn:async t=>{const s=await e.doGenerate({mode:Q,...b,inputFormat:r,prompt:y,abortSignal:a,headers:A});t.setAttributes(selectTelemetryAttributes({telemetry:u,attributes:{"ai.finishReason":s.finishReason,"ai.usage.promptTokens":s.usage.promptTokens,"ai.usage.completionTokens":s.usage.completionTokens,"ai.result.text":{output:()=>s.text},"ai.result.toolCalls":{output:()=>JSON.stringify(s.toolCalls)},"gen_ai.response.finish_reasons":[s.finishReason],"gen_ai.usage.prompt_tokens":s.usage.promptTokens,"gen_ai.usage.completion_tokens":s.usage.completionTokens}}));return s}})));w=((d=v.toolCalls)!=null?d:[]).map((e=>parseToolCall({toolCall:e,tools:t})));x=t==null?[]:await executeTools({toolCalls:w,tools:t,tracer:h,telemetry:u});const s=calculateCompletionTokenUsage(v.usage);D.completionTokens+=s.completionTokens;D.promptTokens+=s.promptTokens;D.totalTokens+=s.totalTokens;S.push({text:(m=v.text)!=null?m:"",toolCalls:w,toolResults:x,finishReason:v.finishReason,usage:s,warnings:v.warnings,logprobs:v.logprobs});const n=toResponseMessages({text:(E=v.text)!=null?E:"",toolCalls:w,toolResults:x});R.push(...n);y.push(...n.map((e=>convertToLanguageModelMessage(e,null))))}while(w.length>0&&x.length===w.length&&k++v.text},"ai.result.toolCalls":{output:()=>JSON.stringify(v.toolCalls)}}}));return new Qs({text:(C=v.text)!=null?C:"",toolCalls:w,toolResults:x,finishReason:v.finishReason,usage:D,warnings:v.warnings,rawResponse:v.rawResponse,logprobs:v.logprobs,responseMessages:R,roundtrips:S,providerMetadata:v.providerMetadata})}})}async function executeTools({toolCalls:e,tools:t,tracer:r,telemetry:s}){const n=await Promise.all(e.map((async e=>{const n=t[e.toolName];if((n==null?void 0:n.execute)==null){return void 0}const o=await recordSpan({name:"ai.toolCall",attributes:selectTelemetryAttributes({telemetry:s,attributes:{...assembleOperationName({operationId:"ai.toolCall",telemetry:s}),"ai.toolCall.name":e.toolName,"ai.toolCall.id":e.toolCallId,"ai.toolCall.args":{output:()=>JSON.stringify(e.args)}}}),tracer:r,fn:async t=>{const r=await n.execute(e.args);try{t.setAttributes(selectTelemetryAttributes({telemetry:s,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(r)}}}))}catch(e){}return r}});return{toolCallId:e.toolCallId,toolName:e.toolName,args:e.args,result:o}})));return n.filter((e=>e!=null))}var Qs=class{constructor(e){this.text=e.text;this.toolCalls=e.toolCalls;this.toolResults=e.toolResults;this.finishReason=e.finishReason;this.usage=e.usage;this.warnings=e.warnings;this.rawResponse=e.rawResponse;this.logprobs=e.logprobs;this.responseMessages=e.responseMessages;this.roundtrips=e.roundtrips;this.experimental_providerMetadata=e.providerMetadata}};function toResponseMessages({text:e,toolCalls:t,toolResults:r}){const s=[];s.push({role:"assistant",content:[{type:"text",text:e},...t]});if(r.length>0){s.push({role:"tool",content:r.map((e=>({type:"tool-result",toolCallId:e.toolCallId,toolName:e.toolName,result:e.result})))})}return s}var bs=null&&generateText;function mergeStreams(e,t){const r=e.getReader();const s=t.getReader();let n=void 0;let o=void 0;let i=false;let a=false;async function readStream1(e){try{if(n==null){n=r.read()}const t=await n;n=void 0;if(!t.done){e.enqueue(t.value)}else{e.close()}}catch(t){e.error(t)}}async function readStream2(e){try{if(o==null){o=s.read()}const t=await o;o=void 0;if(!t.done){e.enqueue(t.value)}else{e.close()}}catch(t){e.error(t)}}return new ReadableStream({async pull(e){try{if(i){await readStream2(e);return}if(a){await readStream1(e);return}if(n==null){n=r.read()}if(o==null){o=s.read()}const{result:t,reader:A}=await Promise.race([n.then((e=>({result:e,reader:r}))),o.then((e=>({result:e,reader:s})))]);if(!t.done){e.enqueue(t.value)}if(A===r){n=void 0;if(t.done){await readStream2(e);i=true}}else{o=void 0;if(t.done){a=true;await readStream1(e)}}}catch(t){e.error(t)}},cancel(){r.cancel();s.cancel()}})}function runToolsTransformation({tools:e,generatorStream:t,toolCallStreaming:r,tracer:s,telemetry:n}){let o=false;const i=new Set;let a=null;const A=new ReadableStream({start(e){a=e}});const c={};const l=new TransformStream({transform(t,A){const l=t.type;switch(l){case"text-delta":case"error":{A.enqueue(t);break}case"tool-call-delta":{if(r){if(!c[t.toolCallId]){A.enqueue({type:"tool-call-streaming-start",toolCallId:t.toolCallId,toolName:t.toolName});c[t.toolCallId]=true}A.enqueue({type:"tool-call-delta",toolCallId:t.toolCallId,toolName:t.toolName,argsTextDelta:t.argsTextDelta})}break}case"tool-call":{const r=t.toolName;if(e==null){a.enqueue({type:"error",error:new Bs({toolName:t.toolName})});break}const c=e[r];if(c==null){a.enqueue({type:"error",error:new Bs({toolName:t.toolName,availableTools:Object.keys(e)})});break}try{const r=parseToolCall({toolCall:t,tools:e});A.enqueue(r);if(c.execute!=null){const e=generateId();i.add(e);recordSpan({name:"ai.toolCall",attributes:selectTelemetryAttributes({telemetry:n,attributes:{...assembleOperationName({operationId:"ai.toolCall",telemetry:n}),"ai.toolCall.name":r.toolName,"ai.toolCall.id":r.toolCallId,"ai.toolCall.args":{output:()=>JSON.stringify(r.args)}}}),tracer:s,fn:async t=>c.execute(r.args).then((s=>{a.enqueue({...r,type:"tool-result",result:s});i.delete(e);if(o&&i.size===0){a.close()}try{t.setAttributes(selectTelemetryAttributes({telemetry:n,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(s)}}}))}catch(e){}}),(t=>{a.enqueue({type:"error",error:t});i.delete(e);if(o&&i.size===0){a.close()}}))})}}catch(e){a.enqueue({type:"error",error:e})}break}case"finish":{A.enqueue({type:"finish",finishReason:t.finishReason,logprobs:t.logprobs,usage:calculateCompletionTokenUsage(t.usage),experimental_providerMetadata:t.providerMetadata});break}default:{const e=l;throw new Error(`Unhandled chunk type: ${e}`)}}},flush(){o=true;if(i.size===0){a.close()}}});return new ReadableStream({async start(e){return Promise.all([t.pipeThrough(l).pipeTo(new WritableStream({write(t){e.enqueue(t)},close(){}})),A.pipeTo(new WritableStream({write(t){e.enqueue(t)},close(){e.close()}}))])}})}async function streamText({model:e,tools:t,toolChoice:r,system:s,prompt:n,messages:o,maxRetries:i,abortSignal:a,headers:A,experimental_telemetry:c,experimental_toolCallStreaming:l=false,onChunk:u,onFinish:p,...d}){var g;const h=getBaseTelemetryAttributes({model:e,telemetry:c,headers:A,settings:{...d,maxRetries:i}});const m=getTracer({isEnabled:(g=c==null?void 0:c.isEnabled)!=null?g:false});return recordSpan({name:"ai.streamText",attributes:selectTelemetryAttributes({telemetry:c,attributes:{...assembleOperationName({operationId:"ai.streamText",telemetry:c}),...h,"ai.prompt":{input:()=>JSON.stringify({system:s,prompt:n,messages:o})}}}),tracer:m,endWhenDone:false,fn:async g=>{const E=retryWithExponentialBackoff({maxRetries:i});const C=validatePrompt({system:s,prompt:n,messages:o});const I=await convertToLanguageModelPrompt({prompt:C,modelSupportsImageUrls:e.supportsImageUrls});const{result:{stream:B,warnings:Q,rawResponse:b},doStreamSpan:y,startTimestamp:v}=await E((()=>recordSpan({name:"ai.streamText.doStream",attributes:selectTelemetryAttributes({telemetry:c,attributes:{...assembleOperationName({operationId:"ai.streamText.doStream",telemetry:c}),...h,"ai.prompt.format":{input:()=>C.type},"ai.prompt.messages":{input:()=>JSON.stringify(I)},"gen_ai.request.model":e.modelId,"gen_ai.system":e.provider,"gen_ai.request.max_tokens":d.maxTokens,"gen_ai.request.temperature":d.temperature,"gen_ai.request.top_p":d.topP}}),tracer:m,endWhenDone:false,fn:async s=>({startTimestamp:performance.now(),doStreamSpan:s,result:await e.doStream({mode:{type:"regular",...prepareToolsAndToolChoice({tools:t,toolChoice:r})},...prepareCallSettings(d),inputFormat:C.type,prompt:I,abortSignal:a,headers:A})})})));return new ys({stream:runToolsTransformation({tools:t,generatorStream:B,toolCallStreaming:l,tracer:m,telemetry:c}),warnings:Q,rawResponse:b,onChunk:u,onFinish:p,rootSpan:g,doStreamSpan:y,telemetry:c,startTimestamp:v})}})}var ys=class{constructor({stream:e,warnings:t,rawResponse:r,onChunk:s,onFinish:n,rootSpan:o,doStreamSpan:i,telemetry:a,startTimestamp:A}){this.warnings=t;this.rawResponse=r;const{resolve:c,promise:l}=createResolvablePromise();this.usage=l;const{resolve:u,promise:p}=createResolvablePromise();this.finishReason=p;const{resolve:d,promise:g}=createResolvablePromise();this.text=g;const{resolve:h,promise:m}=createResolvablePromise();this.toolCalls=m;const{resolve:E,promise:C}=createResolvablePromise();this.toolResults=C;const{resolve:I,promise:B}=createResolvablePromise();this.experimental_providerMetadata=B;let Q;let b;let y;let v="";const w=[];const x=[];let k=true;this.originalStream=e.pipeThrough(new TransformStream({async transform(e,t){if(k){const e=performance.now()-A;k=false;i.addEvent("ai.stream.firstChunk",{"ai.stream.msToFirstChunk":e});i.setAttributes({"ai.stream.msToFirstChunk":e})}if(e.type==="text-delta"&&e.textDelta.length===0){return}t.enqueue(e);const r=e.type;switch(r){case"text-delta":v+=e.textDelta;await(s==null?void 0:s({chunk:e}));break;case"tool-call":w.push(e);await(s==null?void 0:s({chunk:e}));break;case"tool-result":x.push(e);await(s==null?void 0:s({chunk:e}));break;case"finish":b=e.usage;Q=e.finishReason;y=e.experimental_providerMetadata;c(b);u(Q);d(v);h(w);I(y);break;case"tool-call-streaming-start":case"tool-call-delta":{await(s==null?void 0:s({chunk:e}));break}case"error":break;default:{const e=r;throw new Error(`Unknown chunk type: ${e}`)}}},async flush(e){try{const e=b!=null?b:{promptTokens:NaN,completionTokens:NaN,totalTokens:NaN};const s=Q!=null?Q:"unknown";const A=w.length>0?JSON.stringify(w):void 0;i.setAttributes(selectTelemetryAttributes({telemetry:a,attributes:{"ai.finishReason":s,"ai.usage.promptTokens":e.promptTokens,"ai.usage.completionTokens":e.completionTokens,"ai.result.text":{output:()=>v},"ai.result.toolCalls":{output:()=>A},"gen_ai.response.finish_reasons":[s],"gen_ai.usage.prompt_tokens":e.promptTokens,"gen_ai.usage.completion_tokens":e.completionTokens}}));i.end();o.setAttributes(selectTelemetryAttributes({telemetry:a,attributes:{"ai.finishReason":s,"ai.usage.promptTokens":e.promptTokens,"ai.usage.completionTokens":e.completionTokens,"ai.result.text":{output:()=>v},"ai.result.toolCalls":{output:()=>A}}}));E(x);await(n==null?void 0:n({finishReason:s,usage:e,text:v,toolCalls:w,toolResults:x,rawResponse:r,warnings:t,experimental_providerMetadata:y}))}catch(t){e.error(t)}finally{o.end()}}}))}teeStream(){const[e,t]=this.originalStream.tee();this.originalStream=t;return e}get textStream(){return createAsyncIterableStream(this.teeStream(),{transform(e,t){if(e.type==="text-delta"){t.enqueue(e.textDelta)}else if(e.type==="error"){t.error(e.error)}}})}get fullStream(){return createAsyncIterableStream(this.teeStream(),{transform(e,t){t.enqueue(e)}})}toAIStream(e={}){return this.toDataStream({callbacks:e})}toDataStream({callbacks:e={},getErrorMessage:t=(()=>"")}={}){let r="";const s=new TransformStream({async start(){if(e.onStart)await e.onStart()},async transform(t,s){s.enqueue(t);if(t.type==="text-delta"){const s=t.textDelta;r+=s;if(e.onToken)await e.onToken(s);if(e.onText)await e.onText(s)}},async flush(){if(e.onCompletion)await e.onCompletion(r);if(e.onFinal)await e.onFinal(r)}});const n=new TransformStream({transform:async(e,r)=>{const s=e.type;switch(s){case"text-delta":r.enqueue(formatStreamPart("text",e.textDelta));break;case"tool-call-streaming-start":r.enqueue(formatStreamPart("tool_call_streaming_start",{toolCallId:e.toolCallId,toolName:e.toolName}));break;case"tool-call-delta":r.enqueue(formatStreamPart("tool_call_delta",{toolCallId:e.toolCallId,argsTextDelta:e.argsTextDelta}));break;case"tool-call":r.enqueue(formatStreamPart("tool_call",{toolCallId:e.toolCallId,toolName:e.toolName,args:e.args}));break;case"tool-result":r.enqueue(formatStreamPart("tool_result",{toolCallId:e.toolCallId,result:e.result}));break;case"error":r.enqueue(formatStreamPart("error",t(e.error)));break;case"finish":r.enqueue(formatStreamPart("finish_message",{finishReason:e.finishReason,usage:{promptTokens:e.usage.promptTokens,completionTokens:e.usage.completionTokens}}));break;default:{const e=s;throw new Error(`Unknown chunk type: ${e}`)}}}});return this.fullStream.pipeThrough(s).pipeThrough(n).pipeThrough(new TextEncoderStream)}pipeAIStreamToResponse(e,t){return this.pipeDataStreamToResponse(e,t)}pipeDataStreamToResponse(e,t){var r;e.writeHead((r=t==null?void 0:t.status)!=null?r:200,{"Content-Type":"text/plain; charset=utf-8",...t==null?void 0:t.headers});const s=this.toDataStream().getReader();const read=async()=>{try{while(true){const{done:t,value:r}=await s.read();if(t)break;e.write(r)}}catch(e){throw e}finally{e.end()}};read()}pipeTextStreamToResponse(e,t){var r;e.writeHead((r=t==null?void 0:t.status)!=null?r:200,{"Content-Type":"text/plain; charset=utf-8",...t==null?void 0:t.headers});const s=this.textStream.pipeThrough(new TextEncoderStream).getReader();const read=async()=>{try{while(true){const{done:t,value:r}=await s.read();if(t)break;e.write(r)}}catch(e){throw e}finally{e.end()}};read()}toAIStreamResponse(e){return this.toDataStreamResponse(e)}toDataStreamResponse(e){var t;const r=e==null?void 0:"init"in e?e.init:{headers:"headers"in e?e.headers:void 0,status:"status"in e?e.status:void 0,statusText:"statusText"in e?e.statusText:void 0};const s=e==null?void 0:"data"in e?e.data:void 0;const n=e==null?void 0:"getErrorMessage"in e?e.getErrorMessage:void 0;const o=s?mergeStreams(s.stream,this.toDataStream({getErrorMessage:n})):this.toDataStream({getErrorMessage:n});return new Response(o,{status:(t=r==null?void 0:r.status)!=null?t:200,statusText:r==null?void 0:r.statusText,headers:prepareResponseHeaders(r,{contentType:"text/plain; charset=utf-8",dataStreamVersion:"v1"})})}toTextStreamResponse(e){var t;return new Response(this.textStream.pipeThrough(new TextEncoderStream),{status:(t=e==null?void 0:e.status)!=null?t:200,headers:prepareResponseHeaders(e,{contentType:"text/plain; charset=utf-8"})})}};var vs=null&&streamText;function attachmentsToParts(e){var t,r,s;const n=[];for(const o of e){let e;try{e=new URL(o.url)}catch(e){throw new Error(`Invalid URL: ${o.url}`)}switch(e.protocol){case"http:":case"https:":{if((t=o.contentType)==null?void 0:t.startsWith("image/")){n.push({type:"image",image:e})}break}case"data:":{let e;let t;let i;try{[e,t]=o.url.split(",");i=e.split(";")[0].split(":")[1]}catch(e){throw new Error(`Error processing data URL: ${o.url}`)}if(i==null||t==null){throw new Error(`Invalid data URL format: ${o.url}`)}if((r=o.contentType)==null?void 0:r.startsWith("image/")){n.push({type:"image",image:convertDataContentToUint8Array(t)})}else if((s=o.contentType)==null?void 0:s.startsWith("text/")){n.push({type:"text",text:convertUint8ArrayToText(convertDataContentToUint8Array(t))})}break}default:{throw new Error(`Unsupported URL protocol: ${e.protocol}`)}}}return n}var ws="AI_MessageConversionError";var xs=`vercel.ai.error.${ws}`;var ks=Symbol.for(xs);var Rs;var Ss=class extends(null&&AISDKError9){constructor({originalMessage:e,message:t}){super({name:ws,message:t});this[Rs]=true;this.originalMessage=e}static isInstance(e){return AISDKError9.hasMarker(e,xs)}};Rs=ks;function convertToCoreMessages(e){const t=[];for(const r of e){const{role:e,content:s,toolInvocations:n,experimental_attachments:o}=r;switch(e){case"system":{t.push({role:"system",content:s});break}case"user":{t.push({role:"user",content:o?[{type:"text",text:s},...attachmentsToParts(o)]:s});break}case"assistant":{if(n==null){t.push({role:"assistant",content:s});break}t.push({role:"assistant",content:[{type:"text",text:s},...n.map((({toolCallId:e,toolName:t,args:r})=>({type:"tool-call",toolCallId:e,toolName:t,args:r})))]});t.push({role:"tool",content:n.map((e=>{if(!("result"in e)){throw new Ss({originalMessage:r,message:"ToolInvocation must have a result: "+JSON.stringify(e)})}const{toolCallId:t,toolName:s,args:n,result:o}=e;return{type:"tool-result",toolCallId:t,toolName:s,args:n,result:o}}))});break}case"function":case"data":case"tool":{break}default:{const t=e;throw new Ss({originalMessage:r,message:`Unsupported role: ${t}`})}}}return t}function experimental_customProvider({languageModels:e,textEmbeddingModels:t,fallbackProvider:r}){return{languageModel(t){if(e!=null&&t in e){return e[t]}if(r){return r.languageModel(t)}throw new NoSuchModelError({modelId:t,modelType:"languageModel"})},textEmbeddingModel(e){if(t!=null&&e in t){return t[e]}if(r){return r.textEmbeddingModel(e)}throw new NoSuchModelError({modelId:e,modelType:"textEmbeddingModel"})}}}var Ds="AI_NoSuchProviderError";var _s=`vercel.ai.error.${Ds}`;var Fs=Symbol.for(_s);var Ns;var Us=class extends(null&&NoSuchModelError2){constructor({modelId:e,modelType:t,providerId:r,availableProviders:s,message:n=`No such provider: ${r} (available providers: ${s.join()})`}){super({errorName:Ds,modelId:e,modelType:t,message:n});this[Ns]=true;this.providerId=r;this.availableProviders=s}static isInstance(e){return AISDKError10.hasMarker(e,_s)}static isNoSuchProviderError(e){return e instanceof Error&&e.name===Ds&&typeof e.providerId==="string"&&Array.isArray(e.availableProviders)}toJSON(){return{name:this.name,message:this.message,stack:this.stack,modelId:this.modelId,modelType:this.modelType,providerId:this.providerId,availableProviders:this.availableProviders}}};Ns=Fs;function experimental_createProviderRegistry(e){const t=new Ms;for(const[r,s]of Object.entries(e)){t.registerProvider({id:r,provider:s})}return t}var Os=null&&experimental_createProviderRegistry;var Ms=class{constructor(){this.providers={}}registerProvider({id:e,provider:t}){this.providers[e]=t}getProvider(e){const t=this.providers[e];if(t==null){throw new Us({modelId:e,modelType:"languageModel",providerId:e,availableProviders:Object.keys(this.providers)})}return t}splitId(e,t){const r=e.indexOf(":");if(r===-1){throw new NoSuchModelError3({modelId:e,modelType:t,message:`Invalid ${t} id for registry: ${e} (must be in the format "providerId:modelId")`})}return[e.slice(0,r),e.slice(r+1)]}languageModel(e){var t,r;const[s,n]=this.splitId(e,"languageModel");const o=(r=(t=this.getProvider(s)).languageModel)==null?void 0:r.call(t,n);if(o==null){throw new NoSuchModelError3({modelId:e,modelType:"languageModel"})}return o}textEmbeddingModel(e){var t,r,s;const[n,o]=this.splitId(e,"textEmbeddingModel");const i=this.getProvider(n);const a=(s=(t=i.textEmbeddingModel)==null?void 0:t.call(i,o))!=null?s:"textEmbedding"in i?(r=i.textEmbedding)==null?void 0:r.call(i,o):void 0;if(a==null){throw new NoSuchModelError3({modelId:e,modelType:"textEmbeddingModel"})}return a}textEmbedding(e){return this.textEmbeddingModel(e)}};function tool(e){return e}function cosineSimilarity(e,t){if(e.length!==t.length){throw new Error(`Vectors must have the same length (vector1: ${e.length} elements, vector2: ${t.length} elements)`)}return dotProduct(e,t)/(magnitude(e)*magnitude(t))}function dotProduct(e,t){return e.reduce(((e,r,s)=>e+r*t[s]),0)}function magnitude(e){return Math.sqrt(dotProduct(e,e))}function createEventStreamTransformer(e){const t=new TextDecoder;let r;return new TransformStream({async start(t){r=createParser((r=>{if("data"in r&&r.type==="event"&&r.data==="[DONE]"||r.event==="done"){t.terminate();return}if("data"in r){const s=e?e(r.data,{event:r.event}):r.data;if(s)t.enqueue(s)}}))},transform(e){r.feed(t.decode(e))}})}function createCallbacksTransformer(e){const t=new TextEncoder;let r="";const s=e||{};return new TransformStream({async start(){if(s.onStart)await s.onStart()},async transform(e,n){const o=typeof e==="string"?e:e.content;n.enqueue(t.encode(o));r+=o;if(s.onToken)await s.onToken(o);if(s.onText&&typeof e==="string"){await s.onText(e)}},async flush(){const e=isOfTypeOpenAIStreamCallbacks(s);if(s.onCompletion){await s.onCompletion(r)}if(s.onFinal&&!e){await s.onFinal(r)}}})}function isOfTypeOpenAIStreamCallbacks(e){return"experimental_onFunctionCall"in e}function trimStartOfStreamHelper(){let e=true;return t=>{if(e){t=t.trimStart();if(t)e=false}return t}}function AIStream(e,t,r){if(!e.ok){if(e.body){const t=e.body.getReader();return new ReadableStream({async start(e){const{done:r,value:s}=await t.read();if(!r){const t=(new TextDecoder).decode(s);e.error(new Error(`Response error: ${t}`))}}})}else{return new ReadableStream({start(e){e.error(new Error("Response error: No response body"))}})}}const s=e.body||createEmptyReadableStream();return s.pipeThrough(createEventStreamTransformer(t)).pipeThrough(createCallbacksTransformer(r))}function createEmptyReadableStream(){return new ReadableStream({start(e){e.close()}})}function readableFromAsyncIterable(e){let t=e[Symbol.asyncIterator]();return new ReadableStream({async pull(e){const{done:r,value:s}=await t.next();if(r)e.close();else e.enqueue(s)},async cancel(e){var r;await((r=t.return)==null?void 0:r.call(t,e))}})}var Ls=null&&15*1e3;var Ps=class{constructor(){this.encoder=new TextEncoder;this.controller=null;this.isClosed=false;this.warningTimeout=null;const e=this;this.stream=new ReadableStream({start:async t=>{e.controller=t;if(process.env.NODE_ENV==="development"){e.warningTimeout=setTimeout((()=>{console.warn("The data stream is hanging. Did you forget to close it with `data.close()`?")}),Ls)}},pull:e=>{},cancel:e=>{this.isClosed=true}})}async close(){if(this.isClosed){throw new Error("Data Stream has already been closed.")}if(!this.controller){throw new Error("Stream controller is not initialized.")}this.controller.close();this.isClosed=true;if(this.warningTimeout){clearTimeout(this.warningTimeout)}}append(e){if(this.isClosed){throw new Error("Data Stream has already been closed.")}if(!this.controller){throw new Error("Stream controller is not initialized.")}this.controller.enqueue(this.encoder.encode(formatStreamPart2("data",[e])))}appendMessageAnnotation(e){if(this.isClosed){throw new Error("Data Stream has already been closed.")}if(!this.controller){throw new Error("Stream controller is not initialized.")}this.controller.enqueue(this.encoder.encode(formatStreamPart2("message_annotations",[e])))}};function createStreamDataTransformer(){const e=new TextEncoder;const t=new TextDecoder;return new TransformStream({transform:async(r,s)=>{const n=t.decode(r);s.enqueue(e.encode(dist_formatStreamPart("text",n)))}})}var Gs=class extends(null&&Ps){};function parseAnthropicStream(){let e="";return t=>{const r=JSON.parse(t);if("error"in r){throw new Error(`${r.error.type}: ${r.error.message}`)}if(!("completion"in r)){return}const s=r.completion;if(!e||s.length>e.length&&s.startsWith(e)){const t=s.slice(e.length);e=s;return t}return s}}async function*streamable(e){for await(const t of e){if("completion"in t){const e=t.completion;if(e)yield e}else if("delta"in t){const{delta:e}=t;if("text"in e){const t=e.text;if(t)yield t}}}}function AnthropicStream(e,t){if(Symbol.asyncIterator in e){return readableFromAsyncIterable(streamable(e)).pipeThrough(createCallbacksTransformer(t)).pipeThrough(createStreamDataTransformer())}else{return AIStream(e,parseAnthropicStream(),t).pipeThrough(createStreamDataTransformer())}}function AssistantResponse({threadId:e,messageId:t},r){const s=new ReadableStream({async start(s){var n;const o=new TextEncoder;const sendMessage=e=>{s.enqueue(o.encode(formatStreamPart3("assistant_message",e)))};const sendDataMessage=e=>{s.enqueue(o.encode(formatStreamPart3("data_message",e)))};const sendError=e=>{s.enqueue(o.encode(formatStreamPart3("error",e)))};const forwardStream=async e=>{var t,r;let n=void 0;for await(const i of e){switch(i.event){case"thread.message.created":{s.enqueue(o.encode(formatStreamPart3("assistant_message",{id:i.data.id,role:"assistant",content:[{type:"text",text:{value:""}}]})));break}case"thread.message.delta":{const e=(t=i.data.delta.content)==null?void 0:t[0];if((e==null?void 0:e.type)==="text"&&((r=e.text)==null?void 0:r.value)!=null){s.enqueue(o.encode(formatStreamPart3("text",e.text.value)))}break}case"thread.run.completed":case"thread.run.requires_action":{n=i.data;break}}}return n};s.enqueue(o.encode(formatStreamPart3("assistant_control_data",{threadId:e,messageId:t})));try{await r({threadId:e,messageId:t,sendMessage:sendMessage,sendDataMessage:sendDataMessage,forwardStream:forwardStream})}catch(e){sendError((n=e.message)!=null?n:`${e}`)}finally{s.close()}},pull(e){},cancel(){}});return new Response(s,{status:200,headers:{"Content-Type":"text/plain; charset=utf-8"}})}var js=null&&AssistantResponse;async function*asDeltaIterable(e,t){var r,s;const n=new TextDecoder;for await(const o of(r=e.body)!=null?r:[]){const e=(s=o.chunk)==null?void 0:s.bytes;if(e!=null){const r=n.decode(e);const s=JSON.parse(r);const o=t(s);if(o!=null){yield o}}}}function AWSBedrockAnthropicMessagesStream(e,t){return AWSBedrockStream(e,t,(e=>{var t;return(t=e.delta)==null?void 0:t.text}))}function AWSBedrockAnthropicStream(e,t){return AWSBedrockStream(e,t,(e=>e.completion))}function AWSBedrockCohereStream(e,t){return AWSBedrockStream(e,t,(e=>e==null?void 0:e.text))}function AWSBedrockLlama2Stream(e,t){return AWSBedrockStream(e,t,(e=>e.generation))}function AWSBedrockStream(e,t,r){return readableFromAsyncIterable(asDeltaIterable(e,r)).pipeThrough(createCallbacksTransformer(t)).pipeThrough(createStreamDataTransformer())}var Hs=new TextDecoder("utf-8");async function processLines(e,t){for(const r of e){const{text:e,is_finished:s}=JSON.parse(r);if(!s){t.enqueue(e)}}}async function readAndProcessLines(e,t){let r="";while(true){const{value:s,done:n}=await e.read();if(n){break}r+=Hs.decode(s,{stream:true});const o=r.split(/\r\n|\n|\r/g);r=o.pop()||"";await processLines(o,t)}if(r){const e=[r];await processLines(e,t)}t.close()}function createParser2(e){var t;const r=(t=e.body)==null?void 0:t.getReader();return new ReadableStream({async start(e){if(!r){e.close();return}await readAndProcessLines(r,e)}})}async function*streamable2(e){for await(const t of e){if(t.eventType==="text-generation"){const e=t.text;if(e)yield e}}}function CohereStream(e,t){if(Symbol.asyncIterator in e){return readableFromAsyncIterable(streamable2(e)).pipeThrough(createCallbacksTransformer(t)).pipeThrough(createStreamDataTransformer())}else{return createParser2(e).pipeThrough(createCallbacksTransformer(t)).pipeThrough(createStreamDataTransformer())}}async function*streamable3(e){var t,r,s;for await(const n of e.stream){const e=(s=(r=(t=n.candidates)==null?void 0:t[0])==null?void 0:r.content)==null?void 0:s.parts;if(e===void 0){continue}const o=e[0];if(typeof o.text==="string"){yield o.text}}}function GoogleGenerativeAIStream(e,t){return readableFromAsyncIterable(streamable3(e)).pipeThrough(createCallbacksTransformer(t)).pipeThrough(createStreamDataTransformer())}function createParser3(e){const t=trimStartOfStreamHelper();return new ReadableStream({async pull(r){var s,n;const{value:o,done:i}=await e.next();if(i){r.close();return}const a=t((n=(s=o.token)==null?void 0:s.text)!=null?n:"");if(!a)return;if(o.generated_text!=null&&o.generated_text.length>0){return}if(a===""||a==="<|endoftext|>"||a==="<|end|>"){return}r.enqueue(a)}})}function HuggingFaceStream(e,t){return createParser3(e).pipeThrough(createCallbacksTransformer(t)).pipeThrough(createStreamDataTransformer())}function InkeepStream(e,t){if(!e.body){throw new Error("Response body is null")}let r="";let s;const inkeepEventParser=(e,n)=>{var o,i;const{event:a}=n;if(a==="records_cited"){s=JSON.parse(e);(o=t==null?void 0:t.onRecordsCited)==null?void 0:o.call(t,s)}if(a==="message_chunk"){const t=JSON.parse(e);r=(i=t.chat_session_id)!=null?i:r;return t.content_chunk}return};let{onRecordsCited:n,...o}=t||{};o={...o,onFinal:e=>{var n;const o={chat_session_id:r,records_cited:s};(n=t==null?void 0:t.onFinal)==null?void 0:n.call(t,e,o)}};return AIStream(e,inkeepEventParser,o).pipeThrough(createStreamDataTransformer())}var Js={};__export(Js,{toAIStream:()=>toAIStream,toDataStream:()=>toDataStream,toDataStreamResponse:()=>toDataStreamResponse});function toAIStream(e,t){return toDataStream(e,t)}function toDataStream(e,t){return e.pipeThrough(new TransformStream({transform:async(e,t)=>{var r;if(typeof e==="string"){t.enqueue(e);return}if("event"in e){if(e.event==="on_chat_model_stream"){forwardAIMessageChunk((r=e.data)==null?void 0:r.chunk,t)}return}forwardAIMessageChunk(e,t)}})).pipeThrough(createCallbacksTransformer(t)).pipeThrough(createStreamDataTransformer())}function toDataStreamResponse(e,t){var r;const s=toDataStream(e,t==null?void 0:t.callbacks);const n=t==null?void 0:t.data;const o=t==null?void 0:t.init;const i=n?mergeStreams(n.stream,s):s;return new Response(i,{status:(r=o==null?void 0:o.status)!=null?r:200,statusText:o==null?void 0:o.statusText,headers:prepareResponseHeaders(o,{contentType:"text/plain; charset=utf-8",dataStreamVersion:"v1"})})}function forwardAIMessageChunk(e,t){if(typeof e.content==="string"){t.enqueue(e.content)}else{const r=e.content;for(const e of r){if(e.type==="text"){t.enqueue(e.text)}}}}function LangChainStream(e){const t=new TransformStream;const r=t.writable.getWriter();const s=new Set;const handleError=async(e,t)=>{s.delete(t);await r.ready;await r.abort(e)};const handleStart=async e=>{s.add(e)};const handleEnd=async e=>{s.delete(e);if(s.size===0){await r.ready;await r.close()}};return{stream:t.readable.pipeThrough(createCallbacksTransformer(e)).pipeThrough(createStreamDataTransformer()),writer:r,handlers:{handleLLMNewToken:async e=>{await r.ready;await r.write(e)},handleLLMStart:async(e,t,r)=>{handleStart(r)},handleLLMEnd:async(e,t)=>{await handleEnd(t)},handleLLMError:async(e,t)=>{await handleError(e,t)},handleChainStart:async(e,t,r)=>{handleStart(r)},handleChainEnd:async(e,t)=>{await handleEnd(t)},handleChainError:async(e,t)=>{await handleError(e,t)},handleToolStart:async(e,t,r)=>{handleStart(r)},handleToolEnd:async(e,t)=>{await handleEnd(t)},handleToolError:async(e,t)=>{await handleError(e,t)}}}}async function*streamable4(e){var t,r;for await(const s of e){const e=(r=(t=s.choices[0])==null?void 0:t.delta)==null?void 0:r.content;if(e===void 0||e===""){continue}yield e}}function MistralStream(e,t){const r=readableFromAsyncIterable(streamable4(e));return r.pipeThrough(createCallbacksTransformer(t)).pipeThrough(createStreamDataTransformer())}function parseOpenAIStream(){const e=chunkToText();return t=>e(JSON.parse(t))}async function*streamable5(e){const t=chunkToText();for await(let r of e){if("promptFilterResults"in r){r={id:r.id,created:r.created.getDate(),object:r.object,model:r.model,choices:r.choices.map((e=>{var t,r,s,n,o,i,a;return{delta:{content:(t=e.delta)==null?void 0:t.content,function_call:(r=e.delta)==null?void 0:r.functionCall,role:(s=e.delta)==null?void 0:s.role,tool_calls:((o=(n=e.delta)==null?void 0:n.toolCalls)==null?void 0:o.length)?(a=(i=e.delta)==null?void 0:i.toolCalls)==null?void 0:a.map(((e,t)=>({index:t,id:e.id,function:e.function,type:e.type}))):void 0},finish_reason:e.finishReason,index:e.index}}))}}const e=t(r);if(e)yield e}}function chunkToText(){const e=trimStartOfStreamHelper();let t;return r=>{var s,n,o,i,a,A,c,l,u,p,d,g,h,m,E,C,I,B;if(isChatCompletionChunk(r)){const e=(s=r.choices[0])==null?void 0:s.delta;if((n=e.function_call)==null?void 0:n.name){t=true;return{isText:false,content:`{"function_call": {"name": "${e.function_call.name}", "arguments": "`}}else if((a=(i=(o=e.tool_calls)==null?void 0:o[0])==null?void 0:i.function)==null?void 0:a.name){t=true;const r=e.tool_calls[0];if(r.index===0){return{isText:false,content:`{"tool_calls":[ {"id": "${r.id}", "type": "function", "function": {"name": "${(A=r.function)==null?void 0:A.name}", "arguments": "`}}else{return{isText:false,content:`"}}, {"id": "${r.id}", "type": "function", "function": {"name": "${(c=r.function)==null?void 0:c.name}", "arguments": "`}}}else if((l=e.function_call)==null?void 0:l.arguments){return{isText:false,content:cleanupArguments((u=e.function_call)==null?void 0:u.arguments)}}else if((g=(d=(p=e.tool_calls)==null?void 0:p[0])==null?void 0:d.function)==null?void 0:g.arguments){return{isText:false,content:cleanupArguments((E=(m=(h=e.tool_calls)==null?void 0:h[0])==null?void 0:m.function)==null?void 0:E.arguments)}}else if(t&&(((C=r.choices[0])==null?void 0:C.finish_reason)==="function_call"||((I=r.choices[0])==null?void 0:I.finish_reason)==="stop")){t=false;return{isText:false,content:'"}}'}}else if(t&&((B=r.choices[0])==null?void 0:B.finish_reason)==="tool_calls"){t=false;return{isText:false,content:'"}}]}'}}}const Q=e(isChatCompletionChunk(r)&&r.choices[0].delta.content?r.choices[0].delta.content:isCompletion(r)?r.choices[0].text:"");return Q};function cleanupArguments(e){let t=e.replace(/\\/g,"\\\\").replace(/\//g,"\\/").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\f/g,"\\f");return`${t}`}}var Vs=Symbol("internal_openai_fn_messages");function isChatCompletionChunk(e){return"choices"in e&&e.choices&&e.choices[0]&&"delta"in e.choices[0]}function isCompletion(e){return"choices"in e&&e.choices&&e.choices[0]&&"text"in e.choices[0]}function OpenAIStream(e,t){const r=t;let s;if(Symbol.asyncIterator in e){s=readableFromAsyncIterable(streamable5(e)).pipeThrough(createCallbacksTransformer((r==null?void 0:r.experimental_onFunctionCall)||(r==null?void 0:r.experimental_onToolCall)?{...r,onFinal:void 0}:{...r}))}else{s=AIStream(e,parseOpenAIStream(),(r==null?void 0:r.experimental_onFunctionCall)||(r==null?void 0:r.experimental_onToolCall)?{...r,onFinal:void 0}:{...r})}if(r&&(r.experimental_onFunctionCall||r.experimental_onToolCall)){const e=createFunctionCallTransformer(r);return s.pipeThrough(e)}else{return s.pipeThrough(createStreamDataTransformer())}}function createFunctionCallTransformer(e){const t=new TextEncoder;let r=true;let s="";let n="";let o=false;let i=e[Vs]||[];const a=createChunkDecoder();return new TransformStream({async transform(e,i){const A=a(e);n+=A;const c=r&&(A.startsWith('{"function_call":')||A.startsWith('{"tool_calls":'));if(c){o=true;s+=A;r=false;return}if(!o){i.enqueue(t.encode(formatStreamPart4("text",A)));return}else{s+=A}},async flush(a){try{if(!r&&o&&(e.experimental_onFunctionCall||e.experimental_onToolCall)){o=false;const r=JSON.parse(s);let A=[...i];let c=void 0;if(e.experimental_onFunctionCall){if(r.function_call===void 0){console.warn("experimental_onFunctionCall should not be defined when using tools")}const t=JSON.parse(r.function_call.arguments);c=await e.experimental_onFunctionCall({name:r.function_call.name,arguments:t},(e=>{A=[...i,{role:"assistant",content:"",function_call:r.function_call},{role:"function",name:r.function_call.name,content:JSON.stringify(e)}];return A}))}if(e.experimental_onToolCall){const t={tools:[]};for(const e of r.tool_calls){t.tools.push({id:e.id,type:"function",func:{name:e.function.name,arguments:JSON.parse(e.function.arguments)}})}let s=0;try{c=await e.experimental_onToolCall(t,(e=>{if(e){const{tool_call_id:t,function_name:n,tool_call_result:o}=e;A=[...A,...s===0?[{role:"assistant",content:"",tool_calls:r.tool_calls.map((e=>({id:e.id,type:"function",function:{name:e.function.name,arguments:JSON.stringify(e.function.arguments)}})))}]:[],{role:"tool",tool_call_id:t,name:n,content:JSON.stringify(o)}];s++}return A}))}catch(e){console.error("Error calling experimental_onToolCall:",e)}}if(!c){a.enqueue(t.encode(formatStreamPart4(r.function_call?"function_call":"tool_calls",JSON.parse(s))));return}else if(typeof c==="string"){a.enqueue(t.encode(formatStreamPart4("text",c)));n=c;return}const l={...e,onStart:void 0};e.onFinal=void 0;const u=OpenAIStream(c,{...l,[Vs]:A});const p=u.getReader();while(true){const{done:e,value:t}=await p.read();if(e){break}a.enqueue(t)}}}finally{if(e.onFinal&&n){await e.onFinal(n)}}}})}async function ReplicateStream(e,t,r){var s;const n=(s=e.urls)==null?void 0:s.stream;if(!n){if(e.error)throw new Error(e.error);else throw new Error("Missing stream URL in Replicate response")}const o=await fetch(n,{method:"GET",headers:{Accept:"text/event-stream",...r==null?void 0:r.headers}});return AIStream(o,void 0,t).pipeThrough(createStreamDataTransformer())}function streamToResponse(e,t,r,s){var n;t.writeHead((n=r==null?void 0:r.status)!=null?n:200,{"Content-Type":"text/plain; charset=utf-8",...r==null?void 0:r.headers});let o=e;if(s){o=mergeStreams(s.stream,e)}const i=o.getReader();function read(){i.read().then((({done:e,value:r})=>{if(e){t.end();return}t.write(r);read()}))}read()}var Ys=class extends Response{constructor(e,t,r){let s=e;if(r){s=mergeStreams(r.stream,e)}super(s,{...t,status:200,headers:prepareResponseHeaders(t,{contentType:"text/plain; charset=utf-8"})})}};var qs=Ce;var Ws=Ce;function convertToOpenAIChatMessages({prompt:e,useLegacyFunctionCalling:t=false}){const r=[];for(const{role:s,content:n}of e){switch(s){case"system":{r.push({role:"system",content:n});break}case"user":{if(n.length===1&&n[0].type==="text"){r.push({role:"user",content:n[0].text});break}r.push({role:"user",content:n.map((e=>{var t;switch(e.type){case"text":{return{type:"text",text:e.text}}case"image":{return{type:"image_url",image_url:{url:e.image instanceof URL?e.image.toString():`data:${(t=e.mimeType)!=null?t:"image/jpeg"};base64,${convertUint8ArrayToBase64(e.image)}`}}}}}))});break}case"assistant":{let e="";const s=[];for(const t of n){switch(t.type){case"text":{e+=t.text;break}case"tool-call":{s.push({id:t.toolCallId,type:"function",function:{name:t.toolName,arguments:JSON.stringify(t.args)}});break}default:{const e=t;throw new Error(`Unsupported part: ${e}`)}}}if(t){if(s.length>1){throw new fe({functionality:"useLegacyFunctionCalling with multiple tool calls in one message"})}r.push({role:"assistant",content:e,function_call:s.length>0?s[0].function:void 0})}else{r.push({role:"assistant",content:e,tool_calls:s.length>0?s:void 0})}break}case"tool":{for(const e of n){if(t){r.push({role:"function",name:e.toolName,content:JSON.stringify(e.result)})}else{r.push({role:"tool",tool_call_id:e.toolCallId,content:JSON.stringify(e.result)})}}break}default:{const e=s;throw new Error(`Unsupported role: ${e}`)}}}return r}function mapOpenAIChatLogProbsOutput(e){var t,r;return(r=(t=e==null?void 0:e.content)==null?void 0:t.map((({token:e,logprob:t,top_logprobs:r})=>({token:e,logprob:t,topLogprobs:r?r.map((({token:e,logprob:t})=>({token:e,logprob:t}))):[]}))))!=null?r:void 0}function mapOpenAIFinishReason(e){switch(e){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"unknown"}}var Zs=Ft.object({error:Ft.object({message:Ft.string(),type:Ft.string().nullish(),param:Ft.any().nullish(),code:Ft.union([Ft.string(),Ft.number()]).nullish()})});var zs=createJsonErrorResponseHandler({errorSchema:Zs,errorToMessage:e=>e.error.message});var Ks=class{constructor(e,t,r){this.specificationVersion="v1";this.modelId=e;this.settings=t;this.config=r}get supportsStructuredOutputs(){return this.settings.structuredOutputs===true}get defaultObjectGenerationMode(){return this.supportsStructuredOutputs?"json":"tool"}get provider(){return this.config.provider}getArgs({mode:e,prompt:t,maxTokens:r,temperature:s,topP:n,topK:o,frequencyPenalty:i,presencePenalty:a,stopSequences:A,responseFormat:c,seed:l}){var u;const p=e.type;const d=[];if(o!=null){d.push({type:"unsupported-setting",setting:"topK"})}if(c!=null&&c.type==="json"&&c.schema!=null){d.push({type:"unsupported-setting",setting:"responseFormat",details:"JSON response format schema is not supported"})}const g=this.settings.useLegacyFunctionCalling;if(g&&this.settings.parallelToolCalls===true){throw new fe({functionality:"useLegacyFunctionCalling with parallelToolCalls"})}if(g&&this.settings.structuredOutputs===true){throw new fe({functionality:"structuredOutputs with useLegacyFunctionCalling"})}const h={model:this.modelId,logit_bias:this.settings.logitBias,logprobs:this.settings.logprobs===true||typeof this.settings.logprobs==="number"?true:void 0,top_logprobs:typeof this.settings.logprobs==="number"?this.settings.logprobs:typeof this.settings.logprobs==="boolean"?this.settings.logprobs?0:void 0:void 0,user:this.settings.user,parallel_tool_calls:this.settings.parallelToolCalls,max_tokens:r,temperature:s,top_p:n,frequency_penalty:i,presence_penalty:a,stop:A,seed:l,response_format:(c==null?void 0:c.type)==="json"?{type:"json_object"}:void 0,messages:convertToOpenAIChatMessages({prompt:t,useLegacyFunctionCalling:g})};switch(p){case"regular":{return{args:{...h,...dist_prepareToolsAndToolChoice({mode:e,useLegacyFunctionCalling:g,structuredOutputs:this.settings.structuredOutputs})},warnings:d}}case"object-json":{return{args:{...h,response_format:this.settings.structuredOutputs===true?{type:"json_schema",json_schema:{schema:e.schema,strict:true,name:(u=e.name)!=null?u:"response",description:e.description}}:{type:"json_object"}},warnings:d}}case"object-tool":{return{args:g?{...h,function_call:{name:e.tool.name},functions:[{name:e.tool.name,description:e.tool.description,parameters:e.tool.parameters}]}:{...h,tool_choice:{type:"function",function:{name:e.tool.name}},tools:[{type:"function",function:{name:e.tool.name,description:e.tool.description,parameters:e.tool.parameters,strict:this.settings.structuredOutputs===true?true:void 0}}]},warnings:d}}default:{const e=p;throw new Error(`Unsupported type: ${e}`)}}}async doGenerate(e){var t,r,s,n,o,i;const{args:a,warnings:A}=this.getArgs(e);const{responseHeaders:c,value:l}=await postJsonToApi({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:combineHeaders(this.config.headers(),e.headers),body:a,failedResponseHandler:zs,successfulResponseHandler:createJsonResponseHandler($s),abortSignal:e.abortSignal,fetch:this.config.fetch});const{messages:u,...p}=a;const d=l.choices[0];return{text:(t=d.message.content)!=null?t:void 0,toolCalls:this.settings.useLegacyFunctionCalling&&d.message.function_call?[{toolCallType:"function",toolCallId:Ce(),toolName:d.message.function_call.name,args:d.message.function_call.arguments}]:(r=d.message.tool_calls)==null?void 0:r.map((e=>{var t;return{toolCallType:"function",toolCallId:(t=e.id)!=null?t:Ce(),toolName:e.function.name,args:e.function.arguments}})),finishReason:mapOpenAIFinishReason(d.finish_reason),usage:{promptTokens:(n=(s=l.usage)==null?void 0:s.prompt_tokens)!=null?n:NaN,completionTokens:(i=(o=l.usage)==null?void 0:o.completion_tokens)!=null?i:NaN},rawCall:{rawPrompt:u,rawSettings:p},rawResponse:{headers:c},warnings:A,logprobs:mapOpenAIChatLogProbsOutput(d.logprobs)}}async doStream(e){const{args:t,warnings:r}=this.getArgs(e);const{responseHeaders:s,value:n}=await postJsonToApi({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:combineHeaders(this.config.headers(),e.headers),body:{...t,stream:true,stream_options:this.config.compatibility==="strict"?{include_usage:true}:void 0},failedResponseHandler:zs,successfulResponseHandler:createEventSourceResponseHandler(en),abortSignal:e.abortSignal,fetch:this.config.fetch});const{messages:o,...i}=t;const a=[];let A="unknown";let c={promptTokens:void 0,completionTokens:void 0};let l;const{useLegacyFunctionCalling:u}=this.settings;return{stream:n.pipeThrough(new TransformStream({transform(e,t){var r,s,n,o,i,p,d,g,h,m,E,C,I,B;if(!e.success){A="error";t.enqueue({type:"error",error:e.error});return}const Q=e.value;if("error"in Q){A="error";t.enqueue({type:"error",error:Q.error});return}if(Q.usage!=null){c={promptTokens:(r=Q.usage.prompt_tokens)!=null?r:void 0,completionTokens:(s=Q.usage.completion_tokens)!=null?s:void 0}}const b=Q.choices[0];if((b==null?void 0:b.finish_reason)!=null){A=mapOpenAIFinishReason(b.finish_reason)}if((b==null?void 0:b.delta)==null){return}const y=b.delta;if(y.content!=null){t.enqueue({type:"text-delta",textDelta:y.content})}const v=mapOpenAIChatLogProbsOutput(b==null?void 0:b.logprobs);if(v==null?void 0:v.length){if(l===void 0)l=[];l.push(...v)}const w=u&&y.function_call!=null?[{type:"function",id:Ce(),function:y.function_call,index:0}]:y.tool_calls;if(w!=null){for(const e of w){const r=e.index;if(a[r]==null){if(e.type!=="function"){throw new R({data:e,message:`Expected 'function' type.`})}if(e.id==null){throw new R({data:e,message:`Expected 'id' to be a string.`})}if(((n=e.function)==null?void 0:n.name)==null){throw new R({data:e,message:`Expected 'function.name' to be a string.`})}a[r]={id:e.id,type:"function",function:{name:e.function.name,arguments:(o=e.function.arguments)!=null?o:""}};const s=a[r];if(((i=s.function)==null?void 0:i.name)!=null&&((p=s.function)==null?void 0:p.arguments)!=null&&isParsableJson(s.function.arguments)){t.enqueue({type:"tool-call-delta",toolCallType:"function",toolCallId:s.id,toolName:s.function.name,argsTextDelta:s.function.arguments});t.enqueue({type:"tool-call",toolCallType:"function",toolCallId:(d=s.id)!=null?d:Ce(),toolName:s.function.name,args:s.function.arguments})}continue}const s=a[r];if(((g=e.function)==null?void 0:g.arguments)!=null){s.function.arguments+=(m=(h=e.function)==null?void 0:h.arguments)!=null?m:""}t.enqueue({type:"tool-call-delta",toolCallType:"function",toolCallId:s.id,toolName:s.function.name,argsTextDelta:(E=e.function.arguments)!=null?E:""});if(((C=s.function)==null?void 0:C.name)!=null&&((I=s.function)==null?void 0:I.arguments)!=null&&isParsableJson(s.function.arguments)){t.enqueue({type:"tool-call",toolCallType:"function",toolCallId:(B=s.id)!=null?B:Ce(),toolName:s.function.name,args:s.function.arguments})}}}},flush(e){var t,r;e.enqueue({type:"finish",finishReason:A,logprobs:l,usage:{promptTokens:(t=c.promptTokens)!=null?t:NaN,completionTokens:(r=c.completionTokens)!=null?r:NaN}})}})),rawCall:{rawPrompt:o,rawSettings:i},rawResponse:{headers:s},warnings:r}}};var Xs=Ft.object({prompt_tokens:Ft.number().nullish(),completion_tokens:Ft.number().nullish()}).nullish();var $s=Ft.object({choices:Ft.array(Ft.object({message:Ft.object({role:Ft.literal("assistant").nullish(),content:Ft.string().nullish(),function_call:Ft.object({arguments:Ft.string(),name:Ft.string()}).nullish(),tool_calls:Ft.array(Ft.object({id:Ft.string().nullish(),type:Ft.literal("function"),function:Ft.object({name:Ft.string(),arguments:Ft.string()})})).nullish()}),index:Ft.number(),logprobs:Ft.object({content:Ft.array(Ft.object({token:Ft.string(),logprob:Ft.number(),top_logprobs:Ft.array(Ft.object({token:Ft.string(),logprob:Ft.number()}))})).nullable()}).nullish(),finish_reason:Ft.string().nullish()})),usage:Xs});var en=Ft.union([Ft.object({choices:Ft.array(Ft.object({delta:Ft.object({role:Ft["enum"](["assistant"]).nullish(),content:Ft.string().nullish(),function_call:Ft.object({name:Ft.string().optional(),arguments:Ft.string().optional()}).nullish(),tool_calls:Ft.array(Ft.object({index:Ft.number(),id:Ft.string().nullish(),type:Ft.literal("function").optional(),function:Ft.object({name:Ft.string().nullish(),arguments:Ft.string().nullish()})})).nullish()}).nullish(),logprobs:Ft.object({content:Ft.array(Ft.object({token:Ft.string(),logprob:Ft.number(),top_logprobs:Ft.array(Ft.object({token:Ft.string(),logprob:Ft.number()}))})).nullable()}).nullish(),finish_reason:Ft.string().nullable().optional(),index:Ft.number()})),usage:Xs}),Zs]);function dist_prepareToolsAndToolChoice({mode:e,useLegacyFunctionCalling:t=false,structuredOutputs:r=false}){var s;const n=((s=e.tools)==null?void 0:s.length)?e.tools:void 0;if(n==null){return{tools:void 0,tool_choice:void 0}}const o=e.toolChoice;if(t){const e=n.map((e=>({name:e.name,description:e.description,parameters:e.parameters})));if(o==null){return{functions:e,function_call:void 0}}const t=o.type;switch(t){case"auto":case"none":case void 0:return{functions:e,function_call:void 0};case"required":throw new fe({functionality:"useLegacyFunctionCalling and toolChoice: required"});default:return{functions:e,function_call:{name:o.toolName}}}}const i=n.map((e=>({type:"function",function:{name:e.name,description:e.description,parameters:e.parameters,strict:r===true?true:void 0}})));if(o==null){return{tools:i,tool_choice:void 0}}const a=o.type;switch(a){case"auto":case"none":case"required":return{tools:i,tool_choice:a};case"tool":return{tools:i,tool_choice:{type:"function",function:{name:o.toolName}}};default:{const e=a;throw new Error(`Unsupported tool choice type: ${e}`)}}}function convertToOpenAICompletionPrompt({prompt:e,inputFormat:t,user:r="user",assistant:s="assistant"}){if(t==="prompt"&&e.length===1&&e[0].role==="user"&&e[0].content.length===1&&e[0].content[0].type==="text"){return{prompt:e[0].content[0].text}}let n="";if(e[0].role==="system"){n+=`${e[0].content}\n\n`;e=e.slice(1)}for(const{role:t,content:o}of e){switch(t){case"system":{throw new y({message:"Unexpected system message in prompt: ${content}",prompt:e})}case"user":{const e=o.map((e=>{switch(e.type){case"text":{return e.text}case"image":{throw new fe({functionality:"images"})}}})).join("");n+=`${r}:\n${e}\n\n`;break}case"assistant":{const e=o.map((e=>{switch(e.type){case"text":{return e.text}case"tool-call":{throw new fe({functionality:"tool-call messages"})}}})).join("");n+=`${s}:\n${e}\n\n`;break}case"tool":{throw new fe({functionality:"tool messages"})}default:{const e=t;throw new Error(`Unsupported role: ${e}`)}}}n+=`${s}:\n`;return{prompt:n,stopSequences:[`\n${r}:`]}}function mapOpenAICompletionLogProbs(e){return e==null?void 0:e.tokens.map(((t,r)=>({token:t,logprob:e.token_logprobs[r],topLogprobs:e.top_logprobs?Object.entries(e.top_logprobs[r]).map((([e,t])=>({token:e,logprob:t}))):[]})))}var tn=class{constructor(e,t,r){this.specificationVersion="v1";this.defaultObjectGenerationMode=void 0;this.modelId=e;this.settings=t;this.config=r}get provider(){return this.config.provider}getArgs({mode:e,inputFormat:t,prompt:r,maxTokens:s,temperature:n,topP:o,topK:i,frequencyPenalty:a,presencePenalty:A,stopSequences:c,responseFormat:l,seed:u}){var p;const d=e.type;const g=[];if(i!=null){g.push({type:"unsupported-setting",setting:"topK"})}if(l!=null&&l.type!=="text"){g.push({type:"unsupported-setting",setting:"responseFormat",details:"JSON response format is not supported."})}const{prompt:h,stopSequences:m}=convertToOpenAICompletionPrompt({prompt:r,inputFormat:t});const E=[...m!=null?m:[],...c!=null?c:[]];const C={model:this.modelId,echo:this.settings.echo,logit_bias:this.settings.logitBias,logprobs:typeof this.settings.logprobs==="number"?this.settings.logprobs:typeof this.settings.logprobs==="boolean"?this.settings.logprobs?0:void 0:void 0,suffix:this.settings.suffix,user:this.settings.user,max_tokens:s,temperature:n,top_p:o,frequency_penalty:a,presence_penalty:A,seed:u,prompt:h,stop:E.length>0?E:void 0};switch(d){case"regular":{if((p=e.tools)==null?void 0:p.length){throw new fe({functionality:"tools"})}if(e.toolChoice){throw new fe({functionality:"toolChoice"})}return{args:C,warnings:g}}case"object-json":{throw new fe({functionality:"object-json mode"})}case"object-tool":{throw new fe({functionality:"object-tool mode"})}default:{const e=d;throw new Error(`Unsupported type: ${e}`)}}}async doGenerate(e){const{args:t,warnings:r}=this.getArgs(e);const{responseHeaders:s,value:n}=await postJsonToApi({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:combineHeaders(this.config.headers(),e.headers),body:t,failedResponseHandler:zs,successfulResponseHandler:createJsonResponseHandler(rn),abortSignal:e.abortSignal,fetch:this.config.fetch});const{prompt:o,...i}=t;const a=n.choices[0];return{text:a.text,usage:{promptTokens:n.usage.prompt_tokens,completionTokens:n.usage.completion_tokens},finishReason:mapOpenAIFinishReason(a.finish_reason),logprobs:mapOpenAICompletionLogProbs(a.logprobs),rawCall:{rawPrompt:o,rawSettings:i},rawResponse:{headers:s},warnings:r}}async doStream(e){const{args:t,warnings:r}=this.getArgs(e);const{responseHeaders:s,value:n}=await postJsonToApi({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:combineHeaders(this.config.headers(),e.headers),body:{...t,stream:true,stream_options:this.config.compatibility==="strict"?{include_usage:true}:void 0},failedResponseHandler:zs,successfulResponseHandler:createEventSourceResponseHandler(sn),abortSignal:e.abortSignal,fetch:this.config.fetch});const{prompt:o,...i}=t;let a="unknown";let A={promptTokens:Number.NaN,completionTokens:Number.NaN};let c;return{stream:n.pipeThrough(new TransformStream({transform(e,t){if(!e.success){a="error";t.enqueue({type:"error",error:e.error});return}const r=e.value;if("error"in r){a="error";t.enqueue({type:"error",error:r.error});return}if(r.usage!=null){A={promptTokens:r.usage.prompt_tokens,completionTokens:r.usage.completion_tokens}}const s=r.choices[0];if((s==null?void 0:s.finish_reason)!=null){a=mapOpenAIFinishReason(s.finish_reason)}if((s==null?void 0:s.text)!=null){t.enqueue({type:"text-delta",textDelta:s.text})}const n=mapOpenAICompletionLogProbs(s==null?void 0:s.logprobs);if(n==null?void 0:n.length){if(c===void 0)c=[];c.push(...n)}},flush(e){e.enqueue({type:"finish",finishReason:a,logprobs:c,usage:A})}})),rawCall:{rawPrompt:o,rawSettings:i},rawResponse:{headers:s},warnings:r}}};var rn=Ft.object({choices:Ft.array(Ft.object({text:Ft.string(),finish_reason:Ft.string(),logprobs:Ft.object({tokens:Ft.array(Ft.string()),token_logprobs:Ft.array(Ft.number()),top_logprobs:Ft.array(Ft.record(Ft.string(),Ft.number())).nullable()}).nullable().optional()})),usage:Ft.object({prompt_tokens:Ft.number(),completion_tokens:Ft.number()})});var sn=Ft.union([Ft.object({choices:Ft.array(Ft.object({text:Ft.string(),finish_reason:Ft.string().nullish(),index:Ft.number(),logprobs:Ft.object({tokens:Ft.array(Ft.string()),token_logprobs:Ft.array(Ft.number()),top_logprobs:Ft.array(Ft.record(Ft.string(),Ft.number())).nullable()}).nullable().optional()})),usage:Ft.object({prompt_tokens:Ft.number(),completion_tokens:Ft.number()}).optional().nullable()}),Zs]);var nn=class{constructor(e={}){var t,r;this.baseURL=(r=withoutTrailingSlash((t=e.baseURL)!=null?t:e.baseUrl))!=null?r:"https://api.openai.com/v1";this.apiKey=e.apiKey;this.organization=e.organization;this.project=e.project;this.headers=e.headers}get baseConfig(){return{organization:this.organization,baseURL:this.baseURL,headers:()=>({Authorization:`Bearer ${loadApiKey({apiKey:this.apiKey,environmentVariableName:"OPENAI_API_KEY",description:"OpenAI"})}`,"OpenAI-Organization":this.organization,"OpenAI-Project":this.project,...this.headers})}}chat(e,t={}){return new Ks(e,t,{provider:"openai.chat",...this.baseConfig,compatibility:"strict",url:({path:e})=>`${this.baseURL}${e}`})}completion(e,t={}){return new tn(e,t,{provider:"openai.completion",...this.baseConfig,compatibility:"strict",url:({path:e})=>`${this.baseURL}${e}`})}};var an=class{constructor(e,t,r){this.specificationVersion="v1";this.modelId=e;this.settings=t;this.config=r}get provider(){return this.config.provider}get maxEmbeddingsPerCall(){var e;return(e=this.settings.maxEmbeddingsPerCall)!=null?e:2048}get supportsParallelCalls(){var e;return(e=this.settings.supportsParallelCalls)!=null?e:true}async doEmbed({values:e,headers:t,abortSignal:r}){if(e.length>this.maxEmbeddingsPerCall){throw new oe({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e})}const{responseHeaders:s,value:n}=await postJsonToApi({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:combineHeaders(this.config.headers(),t),body:{model:this.modelId,input:e,encoding_format:"float",dimensions:this.settings.dimensions,user:this.settings.user},failedResponseHandler:zs,successfulResponseHandler:createJsonResponseHandler(An),abortSignal:r,fetch:this.config.fetch});return{embeddings:n.data.map((e=>e.embedding)),usage:n.usage?{tokens:n.usage.prompt_tokens}:void 0,rawResponse:{headers:s}}}};var An=Ft.object({data:Ft.array(Ft.object({embedding:Ft.array(Ft.number())})),usage:Ft.object({prompt_tokens:Ft.number()}).nullish()});function createOpenAI(e={}){var t,r,s;const n=(r=dist_withoutTrailingSlash((t=e.baseURL)!=null?t:e.baseUrl))!=null?r:"https://api.openai.com/v1";const o=(s=e.compatibility)!=null?s:"compatible";const getHeaders=()=>({Authorization:`Bearer ${dist_loadApiKey({apiKey:e.apiKey,environmentVariableName:"OPENAI_API_KEY",description:"OpenAI"})}`,"OpenAI-Organization":e.organization,"OpenAI-Project":e.project,...e.headers});const createChatModel=(t,r={})=>new Ks(t,r,{provider:"openai.chat",url:({path:e})=>`${n}${e}`,headers:getHeaders,compatibility:o,fetch:e.fetch});const createCompletionModel=(t,r={})=>new tn(t,r,{provider:"openai.completion",url:({path:e})=>`${n}${e}`,headers:getHeaders,compatibility:o,fetch:e.fetch});const createEmbeddingModel=(t,r={})=>new an(t,r,{provider:"openai.embedding",url:({path:e})=>`${n}${e}`,headers:getHeaders,fetch:e.fetch});const createLanguageModel=(e,t)=>{if(new.target){throw new Error("The OpenAI model function cannot be called with the new keyword.")}if(e==="gpt-3.5-turbo-instruct"){return createCompletionModel(e,t)}return createChatModel(e,t)};const provider=function(e,t){return createLanguageModel(e,t)};provider.languageModel=createLanguageModel;provider.chat=createChatModel;provider.completion=createCompletionModel;provider.embedding=createEmbeddingModel;provider.textEmbedding=createEmbeddingModel;provider.textEmbeddingModel=createEmbeddingModel;return provider}var cn=createOpenAI({compatibility:"strict"});var ln=__nccwpck_require__(9690);var un=__nccwpck_require__(4260);function formattedDate(e){const t=new Date(e);return t.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}function ninetyDaysAgo(){const e=new Date;e.setDate(e.getDate()-90);return e.toISOString().split("T")[0]}async function getLatestCanaryVersion(){let e;try{const{stdout:t}=await(0,un.getExecOutput)("pnpm",["view","next","dist-tags","--json"]);const r=JSON.parse(t);e=r.canary||null}catch(e){(0,t.setFailed)(`Error fetching latest Next.js canary version, skipping update.`)}return e}async function getLatestVersion(){let e;try{const{stdout:t}=await(0,un.getExecOutput)("pnpm",["view","next","dist-tags","--json"]);const r=JSON.parse(t);e=r.latest||null}catch(e){(0,t.setFailed)(`Error fetching latest Next.js version, skipping update.`)}return e}const pn=Ft.object({avatar_url:Ft.string().optional(),deleted:Ft.boolean().optional(),email:Ft.string().nullable().optional(),events_url:Ft.string().optional(),followers_url:Ft.string().optional(),following_url:Ft.string().optional(),gists_url:Ft.string().optional(),gravatar_id:Ft.string().optional(),html_url:Ft.string().optional(),id:Ft.number(),login:Ft.string(),name:Ft.string().optional(),node_id:Ft.string().optional(),organizations_url:Ft.string().optional(),received_events_url:Ft.string().optional(),repos_url:Ft.string().optional(),site_admin:Ft.boolean().optional(),starred_url:Ft.string().optional(),subscriptions_url:Ft.string().optional(),type:Ft["enum"](["Bot","User","Organization"]).optional(),url:Ft.string().optional()}).strict();const dn=Ft.object({color:Ft.string(),default:Ft.boolean(),description:Ft.string().nullable(),id:Ft.number(),name:Ft.string(),node_id:Ft.string(),url:Ft.string()}).strict();const gn=Ft.object({closed_at:Ft.string().nullable(),closed_issues:Ft.number(),created_at:Ft.string(),creator:pn.nullable(),description:Ft.string().nullable(),due_on:Ft.string().nullable(),html_url:Ft.string(),id:Ft.number(),labels_url:Ft.string(),node_id:Ft.string(),number:Ft.number(),open_issues:Ft.number(),state:Ft["enum"](["closed","open"]),title:Ft.string(),updated_at:Ft.string(),url:Ft.string()}).strict().describe("A collection of related issues.");const hn=Ft.object({actions:Ft["enum"](["read","write"]),administration:Ft["enum"](["read","write"]),content_references:Ft["enum"](["read","write"]),contents:Ft["enum"](["read","write"]),deployments:Ft["enum"](["read","write"]),discussions:Ft["enum"](["read","write"]),emails:Ft["enum"](["read","write"]),environments:Ft["enum"](["read","write"]),issues:Ft["enum"](["read","write"]),keys:Ft["enum"](["read","write"]),members:Ft["enum"](["read","write"]),metadata:Ft["enum"](["read","write"]),organization_administration:Ft["enum"](["read","write"]),organization_hooks:Ft["enum"](["read","write"]),organization_packages:Ft["enum"](["read","write"]),organization_plan:Ft["enum"](["read","write"]),organization_projects:Ft["enum"](["read","write"]),organization_secrets:Ft["enum"](["read","write"]),organization_self_hosted_runners:Ft["enum"](["read","write"]),organization_user_blocking:Ft["enum"](["read","write"]),packages:Ft["enum"](["read","write"]),pages:Ft["enum"](["read","write"]),pull_requests:Ft["enum"](["read","write"]),repository_hooks:Ft["enum"](["read","write"]),repository_projects:Ft["enum"](["read","write"]),secret_scanning_alerts:Ft["enum"](["read","write"]),secrets:Ft["enum"](["read","write"]),security_events:Ft["enum"](["read","write"]),security_scanning_alert:Ft["enum"](["read","write"]),single_file:Ft["enum"](["read","write"]),statuses:Ft["enum"](["read","write"]),team_discussions:Ft["enum"](["read","write"]),vulnerability_alerts:Ft["enum"](["read","write"]),workflows:Ft["enum"](["read","write"])}).strict();const fn=Ft.object({created_at:Ft.string().nullable(),description:Ft.string().nullable(),events:Ft["enum"](["branch_protection_rule","check_run","check_suite","code_scanning_alert","commit_comment","content_reference","create","delete","deployment","deployment_review","deployment_status","deploy_key","discussion","discussion_comment","fork","gollum","issues","issue_comment","label","member","membership","milestone","organization","org_block","page_build","project","project_card","project_column","public","pull_request","pull_request_review","pull_request_review_comment","push","registry_package","release","repository","repository_dispatch","secret_scanning_alert","star","status","team","team_add","watch","workflow_dispatch","workflow_run","reminder","pull_request_review_thread"]),external_url:Ft.string().nullable(),html_url:Ft.string(),id:Ft.number().nullable(),name:Ft.string(),node_id:Ft.string(),owner:pn.nullable(),permissions:hn,slug:Ft.string(),updated_at:Ft.string().nullable()}).strict();const mn=Ft.object({"+1":Ft.number().optional(),"-1":Ft.number().optional(),confused:Ft.number().optional(),eyes:Ft.number().optional(),heart:Ft.number().optional(),hooray:Ft.number().optional(),laugh:Ft.number().optional(),rocket:Ft.number().optional(),total_count:Ft.number(),url:Ft.string()}).strict();const En=Ft.object({issue:Ft.object({active_lock_reason:Ft["enum"](["resolved","off-topic","too heated","spam"]).nullable(),assignee:pn.nullable().optional(),assignees:Ft.array(pn).optional(),author_association:Ft["enum"](["COLLABORATOR","CONTRIBUTOR","FIRST_TIMER","FIRST_TIME_CONTRIBUTOR","MANNEQUIN","MEMBER","NONE","OWNER"]),body:Ft.string().nullable(),closed_at:Ft.string().nullable(),comments:Ft.number(),comments_url:Ft.string(),created_at:Ft.string(),events_url:Ft.string(),html_url:Ft.string(),id:Ft.number(),labels:Ft.array(dn).default([]),labels_url:Ft.string(),locked:Ft.boolean(),milestone:gn.nullable(),node_id:Ft.string(),number:Ft.number(),performed_via_github_app:fn.nullable(),reactions:mn,repository_url:Ft.string(),state:Ft["enum"](["closed","open"]),state_reason:Ft.string().nullable(),timeline_url:Ft.string(),title:Ft.string(),updated_at:Ft.string(),url:Ft.string(),user:pn.nullable()})}).strict().describe("A GitHub issue.");var Cn=undefined&&undefined.__awaiter||function(e,t,r,s){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,n){function fulfilled(e){try{step(s.next(e))}catch(e){n(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){n(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))};function main(){return Cn(this,void 0,void 0,(function*(){if(!process.env.OPENAI_API_KEY)throw new TypeError("OPENAI_API_KEY not set");if(!process.env.SLACK_TOKEN)throw new TypeError("SLACK_TOKEN not set");if(!process.env.VERCEL_PROTECTION_BYPASS)throw new TypeError("VERCEL_PROTECTION_BYPASS not set");const s=new e.WebClient(process.env.SLACK_TOKEN);const n="gpt-4o";const o="#next-info";const i=r.context.payload.issue;const a=i.html_url;const A=i.number;const c=i.title;let l;let u;try{l=yield getLatestVersion();u=yield getLatestCanaryVersion();const e=yield fetch("https://next-triage.vercel.sh/api/triage-guidelines",{method:"GET",headers:{"x-vercel-protection-bypass":`${process.env.VERCEL_PROTECTION_BYPASS}`}});const r=yield e.text();const p=yield generateText({model:cn(n),maxToolRoundtrips:1,tools:{report_to_slack:tool({description:"Report to Slack.",parameters:En,execute:()=>Cn(this,void 0,void 0,(function*(){(0,t.info)("Reporting to Slack...")}))})},system:"Your job is to determine the severity of a GitHub issue using the triage guidelines and the latest versions of Next.js. Succinctly explain why you chose the severity, without paraphrasing the triage guidelines. Report to Slack the explanation only if the severity is considered severe.",prompt:`Here are the triage guidelines: ${r}`+`Here is the latest version of Next.js: ${l}`+`Here is the latest canary version of Next.js: ${u}`+`Here is the GitHub issue: ${JSON.stringify(i)}`});if(p.roundtrips.length>1){const e=(0,ln.BlockCollection)([(0,ln.Section)({text:`:github2: <${a}|#${A}>: ${c}\n_Note: This issue was evaluated and reported on Slack with *${n}*._`}),(0,ln.Divider)(),(0,ln.Section)({text:`_${p.text}_`})]);yield s.chat.postMessage({blocks:e,channel:o,icon_emoji:":github:",username:"GitHub Notifier"});(0,t.info)("Reported to Slack!")}(0,t.info)(`result.text: ${p.text}\nhtml_url: ${a}\nnumber: ${A}\ntitle: ${c}`)}catch(e){(0,t.setFailed)(e)}}))}main()})();module.exports=__webpack_exports__})(); \ No newline at end of file + */var s=r(3182);var n=r(1017).extname;var o=/^\s*([^;\s]*)(?:;|\s|$)/;var i=/^text\//i;t.charset=charset;t.charsets={lookup:charset};t.contentType=contentType;t.extension=extension;t.extensions=Object.create(null);t.lookup=lookup;t.types=Object.create(null);populateMaps(t.extensions,t.types);function charset(e){if(!e||typeof e!=="string"){return false}var t=o.exec(e);var r=t&&s[t[1].toLowerCase()];if(r&&r.charset){return r.charset}if(t&&i.test(t[1])){return"UTF-8"}return false}function contentType(e){if(!e||typeof e!=="string"){return false}var r=e.indexOf("/")===-1?t.lookup(e):e;if(!r){return false}if(r.indexOf("charset")===-1){var s=t.charset(r);if(s)r+="; charset="+s.toLowerCase()}return r}function extension(e){if(!e||typeof e!=="string"){return false}var r=o.exec(e);var s=r&&t.extensions[r[1].toLowerCase()];if(!s||!s.length){return false}return s[0]}function lookup(e){if(!e||typeof e!=="string"){return false}var r=n("x."+e).toLowerCase().substr(1);if(!r){return false}return t.types[r]||false}function populateMaps(e,t){var r=["nginx","apache",undefined,"iana"];Object.keys(s).forEach((function forEachMimeType(n){var o=s[n];var i=o.extensions;if(!i||!i.length){return}e[n]=i;for(var a=0;al||c===l&&t[A].substr(0,12)==="application/")){continue}}t[A]=n}}))}},3582:e=>{var t=1e3;var r=t*60;var s=r*60;var n=s*24;var o=n*7;var i=n*365.25;e.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0){return parse(e)}else if(r==="number"&&isFinite(e)){return t.long?fmtLong(e):fmtShort(e)}throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function parse(e){e=String(e);if(e.length>100){return}var a=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!a){return}var A=parseFloat(a[1]);var c=(a[2]||"ms").toLowerCase();switch(c){case"years":case"year":case"yrs":case"yr":case"y":return A*i;case"weeks":case"week":case"w":return A*o;case"days":case"day":case"d":return A*n;case"hours":case"hour":case"hrs":case"hr":case"h":return A*s;case"minutes":case"minute":case"mins":case"min":case"m":return A*r;case"seconds":case"second":case"secs":case"sec":case"s":return A*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return A;default:return undefined}}function fmtShort(e){var o=Math.abs(e);if(o>=n){return Math.round(e/n)+"d"}if(o>=s){return Math.round(e/s)+"h"}if(o>=r){return Math.round(e/r)+"m"}if(o>=t){return Math.round(e/t)+"s"}return e+"ms"}function fmtLong(e){var o=Math.abs(e);if(o>=n){return plural(e,o,n,"day")}if(o>=s){return plural(e,o,s,"hour")}if(o>=r){return plural(e,o,r,"minute")}if(o>=t){return plural(e,o,t,"second")}return e+" ms"}function plural(e,t,r,s){var n=t>=r*1.5;return Math.round(e/r)+" "+s+(n?"s":"")}},3069:(e,t,r)=>{var s=r(7212);e.exports=s(once);e.exports.strict=s(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var t=e.name||"Function wrapped with `once`";f.onceError=t+" shouldn't be called more than once";f.called=false;return f}},7574:e=>{"use strict";e.exports=(e,t)=>{t=t||(()=>{});return e.then((e=>new Promise((e=>{e(t())})).then((()=>e))),(e=>new Promise((e=>{e(t())})).then((()=>{throw e}))))}},5062:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});const s=r(2171);const n=r(2013);const o=r(8663);const empty=()=>{};const i=new n.TimeoutError;class PQueue extends s{constructor(e){var t,r,s,n;super();this._intervalCount=0;this._intervalEnd=0;this._pendingCount=0;this._resolveEmpty=empty;this._resolveIdle=empty;e=Object.assign({carryoverConcurrencyCount:false,intervalCap:Infinity,interval:0,concurrency:Infinity,autoStart:true,queueClass:o.default},e);if(!(typeof e.intervalCap==="number"&&e.intervalCap>=1)){throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(r=(t=e.intervalCap)===null||t===void 0?void 0:t.toString())!==null&&r!==void 0?r:""}\` (${typeof e.intervalCap})`)}if(e.interval===undefined||!(Number.isFinite(e.interval)&&e.interval>=0)){throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(n=(s=e.interval)===null||s===void 0?void 0:s.toString())!==null&&n!==void 0?n:""}\` (${typeof e.interval})`)}this._carryoverConcurrencyCount=e.carryoverConcurrencyCount;this._isIntervalIgnored=e.intervalCap===Infinity||e.interval===0;this._intervalCap=e.intervalCap;this._interval=e.interval;this._queue=new e.queueClass;this._queueClass=e.queueClass;this.concurrency=e.concurrency;this._timeout=e.timeout;this._throwOnTimeout=e.throwOnTimeout===true;this._isPaused=e.autoStart===false}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount{this._onResumeInterval()}),t)}return true}}return false}_tryToStartAnother(){if(this._queue.size===0){if(this._intervalId){clearInterval(this._intervalId)}this._intervalId=undefined;this._resolvePromises();return false}if(!this._isPaused){const e=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){const t=this._queue.dequeue();if(!t){return false}this.emit("active");t();if(e){this._initializeIntervalIfNeeded()}return true}}return false}_initializeIntervalIfNeeded(){if(this._isIntervalIgnored||this._intervalId!==undefined){return}this._intervalId=setInterval((()=>{this._onInterval()}),this._interval);this._intervalEnd=Date.now()+this._interval}_onInterval(){if(this._intervalCount===0&&this._pendingCount===0&&this._intervalId){clearInterval(this._intervalId);this._intervalId=undefined}this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0;this._processQueue()}_processQueue(){while(this._tryToStartAnother()){}}get concurrency(){return this._concurrency}set concurrency(e){if(!(typeof e==="number"&&e>=1)){throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`)}this._concurrency=e;this._processQueue()}async add(e,t={}){return new Promise(((r,s)=>{const run=async()=>{this._pendingCount++;this._intervalCount++;try{const o=this._timeout===undefined&&t.timeout===undefined?e():n.default(Promise.resolve(e()),t.timeout===undefined?this._timeout:t.timeout,(()=>{if(t.throwOnTimeout===undefined?this._throwOnTimeout:t.throwOnTimeout){s(i)}return undefined}));r(await o)}catch(e){s(e)}this._next()};this._queue.enqueue(run,t);this._tryToStartAnother();this.emit("add")}))}async addAll(e,t){return Promise.all(e.map((async e=>this.add(e,t))))}start(){if(!this._isPaused){return this}this._isPaused=false;this._processQueue();return this}pause(){this._isPaused=true}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size===0){return}return new Promise((e=>{const t=this._resolveEmpty;this._resolveEmpty=()=>{t();e()}}))}async onIdle(){if(this._pendingCount===0&&this._queue.size===0){return}return new Promise((e=>{const t=this._resolveIdle;this._resolveIdle=()=>{t();e()}}))}get size(){return this._queue.size}sizeBy(e){return this._queue.filter(e).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(e){this._timeout=e}}t["default"]=PQueue},7904:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});function lowerBound(e,t,r){let s=0;let n=e.length;while(n>0){const o=n/2|0;let i=s+o;if(r(e[i],t)<=0){s=++i;n-=o+1}else{n=o}}return s}t["default"]=lowerBound},8663:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});const s=r(7904);class PriorityQueue{constructor(){this._queue=[]}enqueue(e,t){t=Object.assign({priority:0},t);const r={priority:t.priority,run:e};if(this.size&&this._queue[this.size-1].priority>=t.priority){this._queue.push(r);return}const n=s.default(this._queue,r,((e,t)=>t.priority-e.priority));this._queue.splice(n,0,r)}dequeue(){const e=this._queue.shift();return e===null||e===void 0?void 0:e.run}filter(e){return this._queue.filter((t=>t.priority===e.priority)).map((e=>e.run))}get size(){return this._queue.length}}t["default"]=PriorityQueue},9005:(e,t,r)=>{"use strict";const s=r(5560);const n=["Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed"];class AbortError extends Error{constructor(e){super();if(e instanceof Error){this.originalError=e;({message:e}=e)}else{this.originalError=new Error(e);this.originalError.stack=this.stack}this.name="AbortError";this.message=e}}const decorateErrorWithCounts=(e,t,r)=>{const s=r.retries-(t-1);e.attemptNumber=t;e.retriesLeft=s;return e};const isNetworkError=e=>n.includes(e);const pRetry=(e,t)=>new Promise(((r,n)=>{t={onFailedAttempt:()=>{},retries:10,...t};const o=s.operation(t);o.attempt((async s=>{try{r(await e(s))}catch(e){if(!(e instanceof Error)){n(new TypeError(`Non-error was thrown: "${e}". You should only throw errors.`));return}if(e instanceof AbortError){o.stop();n(e.originalError)}else if(e instanceof TypeError&&!isNetworkError(e.message)){o.stop();n(e)}else{decorateErrorWithCounts(e,s,t);try{await t.onFailedAttempt(e)}catch(e){n(e);return}if(!o.retry(e)){n(o.mainError())}}}}))}));e.exports=pRetry;e.exports["default"]=pRetry;e.exports.AbortError=AbortError},2013:(e,t,r)=>{"use strict";const s=r(7574);class TimeoutError extends Error{constructor(e){super(e);this.name="TimeoutError"}}const pTimeout=(e,t,r)=>new Promise(((n,o)=>{if(typeof t!=="number"||t<0){throw new TypeError("Expected `milliseconds` to be a positive number")}if(t===Infinity){n(e);return}const i=setTimeout((()=>{if(typeof r==="function"){try{n(r())}catch(e){o(e)}return}const s=typeof r==="string"?r:`Promise timed out after ${t} milliseconds`;const i=r instanceof Error?r:new TimeoutError(s);if(typeof e.cancel==="function"){e.cancel()}o(i)}),t);s(e.then(n,o),(()=>{clearTimeout(i)}))}));e.exports=pTimeout;e.exports["default"]=pTimeout;e.exports.TimeoutError=TimeoutError},490:(e,t,r)=>{"use strict";var s=r(7310).parse;var n={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443};var o=String.prototype.endsWith||function(e){return e.length<=this.length&&this.indexOf(e,this.length-e.length)!==-1};function getProxyForUrl(e){var t=typeof e==="string"?s(e):e||{};var r=t.protocol;var o=t.host;var i=t.port;if(typeof o!=="string"||!o||typeof r!=="string"){return""}r=r.split(":",1)[0];o=o.replace(/:\d*$/,"");i=parseInt(i)||n[r]||0;if(!shouldProxy(o,i)){return""}var a=getEnv("npm_config_"+r+"_proxy")||getEnv(r+"_proxy")||getEnv("npm_config_proxy")||getEnv("all_proxy");if(a&&a.indexOf("://")===-1){a=r+"://"+a}return a}function shouldProxy(e,t){var r=(getEnv("npm_config_no_proxy")||getEnv("no_proxy")).toLowerCase();if(!r){return true}if(r==="*"){return false}return r.split(/[,\s]/).every((function(r){if(!r){return true}var s=r.match(/^(.+):(\d+)$/);var n=s?s[1]:r;var i=s?parseInt(s[2]):0;if(i&&i!==t){return true}if(!/^[.*]/.test(n)){return e!==n}if(n.charAt(0)==="*"){n=n.slice(1)}return!o.call(e,n)}))}function getEnv(e){return process.env[e.toLowerCase()]||process.env[e.toUpperCase()]||""}t.getProxyForUrl=getProxyForUrl},5560:(e,t,r)=>{e.exports=r(5312)},5312:(e,t,r)=>{var s=r(9689);t.operation=function(e){var r=t.timeouts(e);return new s(r,{forever:e&&(e.forever||e.retries===Infinity),unref:e&&e.unref,maxRetryTime:e&&e.maxRetryTime})};t.timeouts=function(e){if(e instanceof Array){return[].concat(e)}var t={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:Infinity,randomize:false};for(var r in e){t[r]=e[r]}if(t.minTimeout>t.maxTimeout){throw new Error("minTimeout is greater than maxTimeout")}var s=[];for(var n=0;n{function RetryOperation(e,t){if(typeof t==="boolean"){t={forever:t}}this._originalTimeouts=JSON.parse(JSON.stringify(e));this._timeouts=e;this._options=t||{};this._maxRetryTime=t&&t.maxRetryTime||Infinity;this._fn=null;this._errors=[];this._attempts=1;this._operationTimeout=null;this._operationTimeoutCb=null;this._timeout=null;this._operationStart=null;this._timer=null;if(this._options.forever){this._cachedTimeouts=this._timeouts.slice(0)}}e.exports=RetryOperation;RetryOperation.prototype.reset=function(){this._attempts=1;this._timeouts=this._originalTimeouts.slice(0)};RetryOperation.prototype.stop=function(){if(this._timeout){clearTimeout(this._timeout)}if(this._timer){clearTimeout(this._timer)}this._timeouts=[];this._cachedTimeouts=null};RetryOperation.prototype.retry=function(e){if(this._timeout){clearTimeout(this._timeout)}if(!e){return false}var t=(new Date).getTime();if(e&&t-this._operationStart>=this._maxRetryTime){this._errors.push(e);this._errors.unshift(new Error("RetryOperation timeout occurred"));return false}this._errors.push(e);var r=this._timeouts.shift();if(r===undefined){if(this._cachedTimeouts){this._errors.splice(0,this._errors.length-1);r=this._cachedTimeouts.slice(-1)}else{return false}}var s=this;this._timer=setTimeout((function(){s._attempts++;if(s._operationTimeoutCb){s._timeout=setTimeout((function(){s._operationTimeoutCb(s._attempts)}),s._operationTimeout);if(s._options.unref){s._timeout.unref()}}s._fn(s._attempts)}),r);if(this._options.unref){this._timer.unref()}return true};RetryOperation.prototype.attempt=function(e,t){this._fn=e;if(t){if(t.timeout){this._operationTimeout=t.timeout}if(t.cb){this._operationTimeoutCb=t.cb}}var r=this;if(this._operationTimeoutCb){this._timeout=setTimeout((function(){r._operationTimeoutCb()}),r._operationTimeout)}this._operationStart=(new Date).getTime();this._fn(this._attempts)};RetryOperation.prototype.try=function(e){console.log("Using RetryOperation.try() is deprecated");this.attempt(e)};RetryOperation.prototype.start=function(e){console.log("Using RetryOperation.start() is deprecated");this.attempt(e)};RetryOperation.prototype.start=RetryOperation.prototype.try;RetryOperation.prototype.errors=function(){return this._errors};RetryOperation.prototype.attempts=function(){return this._attempts};RetryOperation.prototype.mainError=function(){if(this._errors.length===0){return null}var e={};var t=null;var r=0;for(var s=0;s=r){t=n;r=i}}return t}},4642:e=>{"use strict";const t=typeof Buffer!=="undefined";const r=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/;const s=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function _parse(e,n,o){if(o==null){if(n!==null&&typeof n==="object"){o=n;n=undefined}}if(t&&Buffer.isBuffer(e)){e=e.toString()}if(e&&e.charCodeAt(0)===65279){e=e.slice(1)}const i=JSON.parse(e,n);if(i===null||typeof i!=="object"){return i}const a=o&&o.protoAction||"error";const A=o&&o.constructorAction||"error";if(a==="ignore"&&A==="ignore"){return i}if(a!=="ignore"&&A!=="ignore"){if(r.test(e)===false&&s.test(e)===false){return i}}else if(a!=="ignore"&&A==="ignore"){if(r.test(e)===false){return i}}else{if(s.test(e)===false){return i}}return filter(i,{protoAction:a,constructorAction:A,safe:o&&o.safe})}function filter(e,{protoAction:t="error",constructorAction:r="error",safe:s}={}){let n=[e];while(n.length){const e=n;n=[];for(const o of e){if(t!=="ignore"&&Object.prototype.hasOwnProperty.call(o,"__proto__")){if(s===true){return null}else if(t==="error"){throw new SyntaxError("Object contains forbidden prototype property")}delete o.__proto__}if(r!=="ignore"&&Object.prototype.hasOwnProperty.call(o,"constructor")&&Object.prototype.hasOwnProperty.call(o.constructor,"prototype")){if(s===true){return null}else if(r==="error"){throw new SyntaxError("Object contains forbidden prototype property")}delete o.constructor}for(const e in o){const t=o[e];if(t&&typeof t==="object"){n.push(t)}}}}return e}function parse(e,t,r){const s=Error.stackTraceLimit;Error.stackTraceLimit=0;try{return _parse(e,t,r)}finally{Error.stackTraceLimit=s}}function safeParse(e,t){const r=Error.stackTraceLimit;Error.stackTraceLimit=0;try{return _parse(e,t,{safe:true})}catch(e){return null}finally{Error.stackTraceLimit=r}}e.exports=parse;e.exports["default"]=parse;e.exports.parse=parse;e.exports.safeParse=safeParse;e.exports.scan=filter},1856:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.AttachmentBuilder=void 0;const s=r(5154);const n=r(6564);const o=r(133);const i=r(3077);class AttachmentBuilder extends s.BitBuilderBase{build(){return this.getResult(n.SlackDto,{blocks:o.getBuilderResults(this.props.blocks)})}}t.AttachmentBuilder=AttachmentBuilder;o.applyMixins(AttachmentBuilder,[i.Blocks,i.Color,i.End,i.Fallback])},2306:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ConfirmationDialogBuilder=void 0;const s=r(5154);const n=r(6564);const o=r(133);const i=r(3077);class ConfirmationDialogBuilder extends s.BitBuilderBase{build(){return this.getResult(n.SlackDto,{text:o.getMarkdownObject(this.props.text),title:o.getPlainTextObject(this.props.title),confirm:o.getPlainTextObject(this.props.confirm),deny:o.getPlainTextObject(this.props.deny)})}}t.ConfirmationDialogBuilder=ConfirmationDialogBuilder;o.applyMixins(ConfirmationDialogBuilder,[i.Confirm,i.Danger,i.Deny,i.End,i.Primary,i.Text,i.Title])},3706:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Bits=t.OptionGroup=t.Option=t.ConfirmationDialog=t.Attachment=void 0;const s=r(1856);const n=r(2306);const o=r(4198);const i=r(3907);function Attachment(e){return new s.AttachmentBuilder(e)}t.Attachment=Attachment;function ConfirmationDialog(e){return new n.ConfirmationDialogBuilder(e)}t.ConfirmationDialog=ConfirmationDialog;function Option(e){return new o.OptionBuilder(e)}t.Option=Option;function OptionGroup(e){return new i.OptionGroupBuilder(e)}t.OptionGroup=OptionGroup;const a={Attachment:Attachment,ConfirmationDialog:ConfirmationDialog,Option:Option,OptionGroup:OptionGroup};t.Bits=a},3907:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.OptionGroupBuilder=void 0;const s=r(5154);const n=r(6564);const o=r(133);const i=r(3077);class OptionGroupBuilder extends s.BitBuilderBase{build(){return this.getResult(n.SlackDto,{label:o.getPlainTextObject(this.props.label),options:o.getBuilderResults(this.props.options)})}}t.OptionGroupBuilder=OptionGroupBuilder;o.applyMixins(OptionGroupBuilder,[i.End,i.Label,i.Options])},4198:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.OptionBuilder=void 0;const s=r(5154);const n=r(6564);const o=r(133);const i=r(3077);class OptionBuilder extends s.BitBuilderBase{build({isMarkdown:e}={isMarkdown:false}){return this.getResult(n.SlackDto,{text:e?o.getMarkdownObject(this.props.text):o.getPlainTextObject(this.props.text),description:e?o.getMarkdownObject(this.props.description):o.getPlainTextObject(this.props.description)})}}t.OptionBuilder=OptionBuilder;o.applyMixins(OptionBuilder,[i.Description,i.End,i.Text,i.Url,i.Value])},3682:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ActionsBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class ActionsBuilder extends s.BlockBuilderBase{build(){return this.getResult(o.SlackBlockDto,{type:n.BlockType.Actions,elements:i.getBuilderResults(this.props.elements)})}}t.ActionsBuilder=ActionsBuilder;i.applyMixins(ActionsBuilder,[a.BlockId,a.End,a.Elements])},1489:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ContextBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class ContextBuilder extends s.BlockBuilderBase{build(){return this.getResult(o.SlackBlockDto,{type:n.BlockType.Context,elements:i.getElementsForContext(this.props.elements)})}}t.ContextBuilder=ContextBuilder;i.applyMixins(ContextBuilder,[a.BlockId,a.Elements,a.End])},6369:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.DividerBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class DividerBuilder extends s.BlockBuilderBase{build(){return this.getResult(o.SlackBlockDto,{type:n.BlockType.Divider})}}t.DividerBuilder=DividerBuilder;i.applyMixins(DividerBuilder,[a.BlockId,a.End])},9970:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.FileBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class FileBuilder extends s.BlockBuilderBase{build(){return this.getResult(o.SlackBlockDto,{type:n.BlockType.File,source:n.FileType.Remote})}}t.FileBuilder=FileBuilder;i.applyMixins(FileBuilder,[a.BlockId,a.End,a.ExternalId])},4897:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.HeaderBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class HeaderBuilder extends s.BlockBuilderBase{build(){return this.getResult(o.SlackBlockDto,{type:n.BlockType.Header,text:i.getPlainTextObject(this.props.text)})}}t.HeaderBuilder=HeaderBuilder;i.applyMixins(HeaderBuilder,[a.BlockId,a.End,a.Text])},5828:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ImageBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class ImageBuilder extends s.BlockBuilderBase{build(){return this.getResult(o.SlackBlockDto,{type:n.BlockType.Image,title:i.getPlainTextObject(this.props.title)})}}t.ImageBuilder=ImageBuilder;i.applyMixins(ImageBuilder,[a.AltText,a.BlockId,a.End,a.ImageUrl,a.Title])},7604:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Blocks=t.Video=t.Section=t.Input=t.Image=t.Header=t.File=t.Divider=t.Context=t.Actions=void 0;const s=r(3682);const n=r(1489);const o=r(6369);const i=r(9970);const a=r(4897);const A=r(5828);const c=r(6047);const l=r(857);const u=r(2963);function Actions(e){return new s.ActionsBuilder(e)}t.Actions=Actions;function Context(e){return new n.ContextBuilder(e)}t.Context=Context;function Divider(e){return new o.DividerBuilder(e)}t.Divider=Divider;function File(e){return new i.FileBuilder(e)}t.File=File;function Header(e){return new a.HeaderBuilder(e)}t.Header=Header;function Image(e){return new A.ImageBuilder(e)}t.Image=Image;function Input(e){return new c.InputBuilder(e)}t.Input=Input;function Section(e){return new l.SectionBuilder(e)}t.Section=Section;function Video(e){return new u.VideoBuilder(e)}t.Video=Video;const p={Actions:Actions,Context:Context,Divider:Divider,File:File,Header:Header,Image:Image,Input:Input,Section:Section,Video:Video};t.Blocks=p},6047:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.InputBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class InputBuilder extends s.BlockBuilderBase{build(){return this.getResult(o.SlackBlockDto,{type:n.BlockType.Input,label:i.getPlainTextObject(this.props.label),hint:i.getPlainTextObject(this.props.hint),element:i.getBuilderResult(this.props.element)})}}t.InputBuilder=InputBuilder;i.applyMixins(InputBuilder,[a.BlockId,a.DispatchAction,a.Element,a.End,a.Hint,a.Label,a.Optional])},857:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SectionBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class SectionBuilder extends s.BlockBuilderBase{build(){return this.getResult(o.SlackBlockDto,{type:n.BlockType.Section,text:i.getMarkdownObject(this.props.text),fields:i.getFields(this.props.fields),accessory:i.getBuilderResult(this.props.accessory)})}}t.SectionBuilder=SectionBuilder;i.applyMixins(SectionBuilder,[a.Accessory,a.BlockId,a.End,a.Fields,a.Text])},2963:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.VideoBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class VideoBuilder extends s.BlockBuilderBase{build(){return this.getResult(o.SlackBlockDto,{type:n.BlockType.Video,description:i.getPlainTextObject(this.props.description),title:i.getPlainTextObject(this.props.title)})}}t.VideoBuilder=VideoBuilder;i.applyMixins(VideoBuilder,[a.AltText,a.AuthorName,a.BlockId,a.Description,a.End,a.ProviderIconUrl,a.ProviderName,a.ThumbnailUrl,a.Title,a.TitleUrl,a.VideoUrl])},789:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.AccordionUIComponent=void 0;const s=r(7604);const n=r(9269);const o=r(6838);const i=r(243);class AccordionUIComponent{constructor(e){this.items=e.items;this.paginator=e.paginator;this.expandButtonText=e.expandButtonText||o.ComponentUIText.More;this.collapseButtonText=e.collapseButtonText||o.ComponentUIText.Close;this.titleTextFunction=e.titleTextFunction;this.actionIdFunction=e.actionIdFunction;this.builderFunction=e.builderFunction;this.isExpandableFunction=e.isExpandableFunction}getBlocks(){const e=this.items.map(((e,t)=>{const r=this.paginator.checkItemIsExpandedByIndex(t);const o=s.Blocks.Section({text:this.titleTextFunction({item:e})});if(this.isExpandableFunction(e)){o.accessory(n.Elements.Button({text:r?this.collapseButtonText:this.expandButtonText,actionId:this.actionIdFunction({expandedItems:this.paginator.getNextStateByItemIndex(t)})}))}const i=[o,...r?this.builderFunction({item:e}).flat():[]];return t===0?i:[s.Blocks.Divider(),...i]})).flat();return i.Builder.pruneUndefinedFromArray(e)}}t.AccordionUIComponent=AccordionUIComponent},9192:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Components=t.Accordion=t.EasyPaginator=t.Paginator=void 0;const s=r(2870);const n=r(789);const o=r(1498);function Paginator(e){const{page:t,perPage:r,totalItems:n}=e;const i=new o.PaginatorStateManager({page:t,perPage:r,totalItems:n});return new s.PaginatorUIComponent({items:e.items,paginator:i,nextButtonText:e.nextButtonText||null,previousButtonText:e.previousButtonText||null,pageCountTextFunction:e.pageCountText||null,actionIdFunction:e.actionId,builderFunction:e.blocksForEach})}t.Paginator=Paginator;function EasyPaginator(e){const{page:t,perPage:r,items:n}=e;const i=n.length;const a=new o.PaginatorStateManager({page:t,perPage:r,totalItems:i});const A=a.extractItems(n);return new s.PaginatorUIComponent({paginator:a,items:A,nextButtonText:e.nextButtonText||null,previousButtonText:e.previousButtonText||null,pageCountTextFunction:e.pageCountText||null,actionIdFunction:e.actionId,builderFunction:e.blocksForEach})}t.EasyPaginator=EasyPaginator;function Accordion(e){const{items:t,expandedItems:r,collapseOnExpand:s}=e;const i=new o.AccordionStateManager({expandedItems:r,collapseOnExpand:s});return new n.AccordionUIComponent({items:t,paginator:i,expandButtonText:e.expandButtonText||null,collapseButtonText:e.collapseButtonText||null,titleTextFunction:e.titleText,actionIdFunction:e.actionId,builderFunction:e.blocksForExpanded,isExpandableFunction:e.isExpandable||(()=>true)})}t.Accordion=Accordion;const i={Paginator:Paginator,EasyPaginator:EasyPaginator,Accordion:Accordion};t.Components=i},2870:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PaginatorUIComponent=void 0;const s=r(7604);const n=r(9269);const o=r(6838);const i=r(243);const defaultPageCountText=({page:e,totalPages:t})=>`Page ${e} of ${t}`;class PaginatorUIComponent{constructor(e){this.items=e.items;this.paginator=e.paginator;this.nextButtonText=e.nextButtonText||o.ComponentUIText.Next;this.previousButtonText=e.previousButtonText||o.ComponentUIText.Previous;this.pageCountTextFunction=e.pageCountTextFunction||defaultPageCountText;this.actionIdFunction=e.actionIdFunction;this.builderFunction=e.builderFunction}getBlocks(){const e=[];for(let t=0;t1?[...e.flat(),s.Blocks.Context().elements(this.pageCountTextFunction({page:this.paginator.getPage(),totalPages:this.paginator.getTotalPages()})),s.Blocks.Divider(),s.Blocks.Actions().elements(n.Elements.Button({text:this.previousButtonText,actionId:this.actionIdFunction({buttonId:o.PaginatorButtonId.Previous,...this.paginator.getPreviousPageState()})}),n.Elements.Button({text:this.nextButtonText,actionId:this.actionIdFunction({buttonId:o.PaginatorButtonId.Next,...this.paginator.getNextPageState()})}))]:e.flat();return i.Builder.pruneUndefinedFromArray(t)}}t.PaginatorUIComponent=PaginatorUIComponent},2654:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.conditionals=t.omitIfFalsy=t.setIfFalsy=t.omitIfTruthy=t.setIfTruthy=void 0;const r=[undefined,null,false];const falsy=e=>r.includes(e);const truthy=e=>!r.includes(e);function setIfTruthy(e,t){return truthy(e)?t:undefined}t.setIfTruthy=setIfTruthy;function omitIfTruthy(e,t){return truthy(e)?undefined:t}t.omitIfTruthy=omitIfTruthy;function setIfFalsy(e,t){return falsy(e)?t:undefined}t.setIfFalsy=setIfFalsy;function omitIfFalsy(e,t){return falsy(e)?undefined:t}t.omitIfFalsy=omitIfFalsy;const s={setIfTruthy:setIfTruthy,omitIfTruthy:omitIfTruthy,setIfFalsy:setIfFalsy,omitIfFalsy:omitIfFalsy};t.conditionals=s},162:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ButtonBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class ButtonBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.Button,confirm:i.getBuilderResult(this.props.confirm),text:i.getPlainTextObject(this.props.text)})}}t.ButtonBuilder=ButtonBuilder;i.applyMixins(ButtonBuilder,[a.AccessibilityLabel,a.ActionId,a.Confirm,a.Danger,a.End,a.Primary,a.Text,a.Url,a.Value])},3755:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ChannelMultiSelectBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class ChannelMultiSelectBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.ChannelsMultiSelect,placeholder:i.getPlainTextObject(this.props.placeholder),confirm:i.getBuilderResult(this.props.confirm)})}}t.ChannelMultiSelectBuilder=ChannelMultiSelectBuilder;i.applyMixins(ChannelMultiSelectBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialChannels,a.MaxSelectedItems,a.Placeholder])},9209:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ChannelSelectBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class ChannelSelectBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.ChannelSelect,placeholder:i.getPlainTextObject(this.props.placeholder),confirm:i.getBuilderResult(this.props.confirm)})}}t.ChannelSelectBuilder=ChannelSelectBuilder;i.applyMixins(ChannelSelectBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialChannel,a.Placeholder,a.ResponseUrlEnabled])},7794:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.CheckboxesBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class CheckboxesBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.Checkboxes,options:i.getBuilderResults(this.props.options,{isMarkdown:true}),initialOptions:i.getBuilderResults(this.props.initialOptions,{isMarkdown:true}),confirm:i.getBuilderResult(this.props.confirm)})}}t.CheckboxesBuilder=CheckboxesBuilder;i.applyMixins(CheckboxesBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialOptions,a.Options])},4061:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ConversationMultiSelectBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class ConversationMultiSelectBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.ConversationsMultiSelect,placeholder:i.getPlainTextObject(this.props.placeholder),confirm:i.getBuilderResult(this.props.confirm),filter:i.getFilter(this.props)})}}t.ConversationMultiSelectBuilder=ConversationMultiSelectBuilder;i.applyMixins(ConversationMultiSelectBuilder,[a.ActionId,a.Confirm,a.DefaultToCurrentConversation,a.End,a.ExcludeBotUsers,a.ExcludeExternalSharedChannels,a.Filter,a.FocusOnLoad,a.InitialConversations,a.MaxSelectedItems,a.Placeholder])},4742:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ConversationSelectBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class ConversationSelectBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.ConversationSelect,placeholder:i.getPlainTextObject(this.props.placeholder),confirm:i.getBuilderResult(this.props.confirm),filter:i.getFilter(this.props)})}}t.ConversationSelectBuilder=ConversationSelectBuilder;i.applyMixins(ConversationSelectBuilder,[a.ActionId,a.Confirm,a.DefaultToCurrentConversation,a.End,a.ExcludeBotUsers,a.ExcludeExternalSharedChannels,a.Filter,a.FocusOnLoad,a.InitialConversation,a.Placeholder,a.ResponseUrlEnabled,a.Placeholder])},6086:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.DatePickerBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class DatePickerBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.DatePicker,placeholder:i.getPlainTextObject(this.props.placeholder),initialDate:i.getFormattedDate(this.props.initialDate),confirm:i.getBuilderResult(this.props.confirm)})}}t.DatePickerBuilder=DatePickerBuilder;i.applyMixins(DatePickerBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialDate,a.Placeholder])},7779:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.DateTimePickerBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class DateTimePickerBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.DateTimePicker,initialDateTime:i.getDateTimeIntegerFromDate(this.props.initialDateTime),confirm:i.getBuilderResult(this.props.confirm)})}}t.DateTimePickerBuilder=DateTimePickerBuilder;i.applyMixins(DateTimePickerBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialDateTime])},3164:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.EmailInputBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class EmailInputBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.EmailInput,placeholder:i.getPlainTextObject(this.props.placeholder),dispatchActionConfig:i.getDispatchActionsConfigurationObject(this.props)})}}t.EmailInputBuilder=EmailInputBuilder;i.applyMixins(EmailInputBuilder,[a.ActionId,a.DispatchActionOnCharacterEntered,a.DispatchActionOnEnterPressed,a.End,a.FocusOnLoad,a.InitialValue,a.Placeholder])},6560:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ExternalMultiSelectBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class ExternalMultiSelectBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.ExternalMultiSelect,placeholder:i.getPlainTextObject(this.props.placeholder),initialOptions:i.getBuilderResults(this.props.initialOptions),confirm:i.getBuilderResult(this.props.confirm)})}}t.ExternalMultiSelectBuilder=ExternalMultiSelectBuilder;i.applyMixins(ExternalMultiSelectBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialOptions,a.MaxSelectedItems,a.MinQueryLength,a.Placeholder])},8828:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ExternalSelectBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class ExternalSelectBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.ExternalSelect,placeholder:i.getPlainTextObject(this.props.placeholder),initialOption:i.getBuilderResult(this.props.initialOption),confirm:i.getBuilderResult(this.props.confirm)})}}t.ExternalSelectBuilder=ExternalSelectBuilder;i.applyMixins(ExternalSelectBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialOption,a.MinQueryLength,a.Placeholder])},530:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.FileInputBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class FileInputBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.FileInput})}}t.FileInputBuilder=FileInputBuilder;i.applyMixins(FileInputBuilder,[a.ActionId,a.Filetypes,a.MaxFiles,a.End])},1283:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ImgBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class ImgBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.Image})}}t.ImgBuilder=ImgBuilder;i.applyMixins(ImgBuilder,[a.AltText,a.ImageUrl,a.End])},9269:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Elements=t.UserSelect=t.UserMultiSelect=t.URLInput=t.TimePicker=t.TextInput=t.StaticSelect=t.StaticMultiSelect=t.RadioButtons=t.OverflowMenu=t.NumberInput=t.FileInput=t.Img=t.ExternalSelect=t.ExternalMultiSelect=t.EmailInput=t.DateTimePicker=t.DatePicker=t.ConversationSelect=t.ConversationMultiSelect=t.Checkboxes=t.ChannelSelect=t.ChannelMultiSelect=t.Button=void 0;const s=r(162);const n=r(3755);const o=r(9209);const i=r(7794);const a=r(4061);const A=r(4742);const c=r(6086);const l=r(7779);const u=r(3164);const p=r(6560);const d=r(8828);const g=r(530);const h=r(1283);const m=r(9104);const E=r(9612);const C=r(5364);const I=r(3666);const B=r(4652);const Q=r(5923);const b=r(4015);const y=r(1527);const v=r(4604);const w=r(8509);function Button(e){return new s.ButtonBuilder(e)}t.Button=Button;function ChannelMultiSelect(e){return new n.ChannelMultiSelectBuilder(e)}t.ChannelMultiSelect=ChannelMultiSelect;function ChannelSelect(e){return new o.ChannelSelectBuilder(e)}t.ChannelSelect=ChannelSelect;function Checkboxes(e){return new i.CheckboxesBuilder(e)}t.Checkboxes=Checkboxes;function ConversationMultiSelect(e){return new a.ConversationMultiSelectBuilder(e)}t.ConversationMultiSelect=ConversationMultiSelect;function ConversationSelect(e){return new A.ConversationSelectBuilder(e)}t.ConversationSelect=ConversationSelect;function DatePicker(e){return new c.DatePickerBuilder(e)}t.DatePicker=DatePicker;function DateTimePicker(e){return new l.DateTimePickerBuilder(e)}t.DateTimePicker=DateTimePicker;function EmailInput(e){return new u.EmailInputBuilder(e)}t.EmailInput=EmailInput;function ExternalMultiSelect(e){return new p.ExternalMultiSelectBuilder(e)}t.ExternalMultiSelect=ExternalMultiSelect;function ExternalSelect(e){return new d.ExternalSelectBuilder(e)}t.ExternalSelect=ExternalSelect;function Img(e){return new h.ImgBuilder(e)}t.Img=Img;function FileInput(e){return new g.FileInputBuilder(e)}t.FileInput=FileInput;function NumberInput(e){return new m.NumberInputBuilder(e)}t.NumberInput=NumberInput;function OverflowMenu(e){return new E.OverflowMenuBuilder(e)}t.OverflowMenu=OverflowMenu;function RadioButtons(e){return new C.RadioButtonsBuilder(e)}t.RadioButtons=RadioButtons;function StaticMultiSelect(e){return new I.StaticMultiSelectBuilder(e)}t.StaticMultiSelect=StaticMultiSelect;function StaticSelect(e){return new B.StaticSelectBuilder(e)}t.StaticSelect=StaticSelect;function TextInput(e){return new Q.TextInputBuilder(e)}t.TextInput=TextInput;function TimePicker(e){return new b.TimePickerBuilder(e)}t.TimePicker=TimePicker;function URLInput(e){return new y.URLInputBuilder(e)}t.URLInput=URLInput;function UserMultiSelect(e){return new v.UserMultiSelectBuilder(e)}t.UserMultiSelect=UserMultiSelect;function UserSelect(e){return new w.UserSelectBuilder(e)}t.UserSelect=UserSelect;const x={Button:Button,ChannelMultiSelect:ChannelMultiSelect,ChannelSelect:ChannelSelect,Checkboxes:Checkboxes,ConversationMultiSelect:ConversationMultiSelect,ConversationSelect:ConversationSelect,DatePicker:DatePicker,DateTimePicker:DateTimePicker,EmailInput:EmailInput,ExternalMultiSelect:ExternalMultiSelect,ExternalSelect:ExternalSelect,Img:Img,NumberInput:NumberInput,OverflowMenu:OverflowMenu,RadioButtons:RadioButtons,StaticMultiSelect:StaticMultiSelect,StaticSelect:StaticSelect,TextInput:TextInput,TimePicker:TimePicker,URLInput:URLInput,UserMultiSelect:UserMultiSelect,UserSelect:UserSelect,FileInput:FileInput};t.Elements=x},9104:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.NumberInputBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class NumberInputBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.NumberInput,initialValue:i.getStringFromNumber(this.props.initialValue),maxValue:i.getStringFromNumber(this.props.maxValue),minValue:i.getStringFromNumber(this.props.minValue),placeholder:i.getPlainTextObject(this.props.placeholder),dispatchActionConfig:i.getDispatchActionsConfigurationObject(this.props)})}}t.NumberInputBuilder=NumberInputBuilder;i.applyMixins(NumberInputBuilder,[a.ActionId,a.DispatchActionOnCharacterEntered,a.DispatchActionOnEnterPressed,a.End,a.FocusOnLoad,a.InitialValue,a.IsDecimalAllowed,a.MaxValue,a.MinValue,a.Placeholder])},9612:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.OverflowMenuBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class OverflowMenuBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.Overflow,options:i.getBuilderResults(this.props.options),confirm:i.getBuilderResult(this.props.confirm)})}}t.OverflowMenuBuilder=OverflowMenuBuilder;i.applyMixins(OverflowMenuBuilder,[a.ActionId,a.Confirm,a.End,a.Options])},5364:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.RadioButtonsBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class RadioButtonsBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.RadioButtons,options:i.getBuilderResults(this.props.options,{isMarkdown:true}),initialOption:i.getBuilderResult(this.props.initialOption,{isMarkdown:true}),confirm:i.getBuilderResult(this.props.confirm)})}}t.RadioButtonsBuilder=RadioButtonsBuilder;i.applyMixins(RadioButtonsBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialOption,a.Options])},3666:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.StaticMultiSelectBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class StaticMultiSelectBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.StaticMultiSelect,placeholder:i.getPlainTextObject(this.props.placeholder),options:i.getBuilderResults(this.props.options),initialOptions:i.getBuilderResults(this.props.initialOptions),optionGroups:i.getBuilderResults(this.props.optionGroups),confirm:i.getBuilderResult(this.props.confirm)})}}t.StaticMultiSelectBuilder=StaticMultiSelectBuilder;i.applyMixins(StaticMultiSelectBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialOptions,a.MaxSelectedItems,a.OptionGroups,a.Options,a.Placeholder])},4652:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.StaticSelectBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class StaticSelectBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.StaticSelect,placeholder:i.getPlainTextObject(this.props.placeholder),options:i.getBuilderResults(this.props.options),optionGroups:i.getBuilderResults(this.props.optionGroups),initialOption:i.getBuilderResult(this.props.initialOption),confirm:i.getBuilderResult(this.props.confirm)})}}t.StaticSelectBuilder=StaticSelectBuilder;i.applyMixins(StaticSelectBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialOption,a.OptionGroups,a.Options,a.Placeholder])},5923:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.TextInputBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class TextInputBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.TextInput,placeholder:i.getPlainTextObject(this.props.placeholder),dispatchActionConfig:i.getDispatchActionsConfigurationObject(this.props)})}}t.TextInputBuilder=TextInputBuilder;i.applyMixins(TextInputBuilder,[a.ActionId,a.DispatchActionOnCharacterEntered,a.DispatchActionOnEnterPressed,a.End,a.FocusOnLoad,a.InitialValue,a.MaxLength,a.MinLength,a.Multiline,a.Placeholder])},4015:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.TimePickerBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class TimePickerBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.TimePicker,placeholder:i.getPlainTextObject(this.props.placeholder),confirm:i.getBuilderResult(this.props.confirm)})}}t.TimePickerBuilder=TimePickerBuilder;i.applyMixins(TimePickerBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialTime,a.Placeholder])},1527:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.URLInputBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class URLInputBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.URLInput,placeholder:i.getPlainTextObject(this.props.placeholder),dispatchActionConfig:i.getDispatchActionsConfigurationObject(this.props)})}}t.URLInputBuilder=URLInputBuilder;i.applyMixins(URLInputBuilder,[a.ActionId,a.DispatchActionOnCharacterEntered,a.DispatchActionOnEnterPressed,a.End,a.FocusOnLoad,a.InitialValue,a.Placeholder])},4604:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.UserMultiSelectBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class UserMultiSelectBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.UserMultiSelect,placeholder:i.getPlainTextObject(this.props.placeholder),confirm:i.getBuilderResult(this.props.confirm)})}}t.UserMultiSelectBuilder=UserMultiSelectBuilder;i.applyMixins(UserMultiSelectBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialUsers,a.MaxSelectedItems,a.Placeholder])},8509:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.UserSelectBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class UserSelectBuilder extends s.ElementBuilderBase{build(){return this.getResult(o.SlackElementDto,{type:n.ElementType.UserSelect,placeholder:i.getPlainTextObject(this.props.placeholder),confirm:i.getBuilderResult(this.props.confirm)})}}t.UserSelectBuilder=UserSelectBuilder;i.applyMixins(UserSelectBuilder,[a.ActionId,a.Confirm,a.End,a.FocusOnLoad,a.InitialUser,a.Placeholder])},9690:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){if(s===undefined)s=r;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,s){if(s===undefined)s=r;e[s]=t[r]});var n=this&&this.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))s(t,e,r)};Object.defineProperty(t,"__esModule",{value:true});n(r(3706),t);n(r(7604),t);n(r(9192),t);n(r(2654),t);n(r(9269),t);n(r(5543),t);n(r(4271),t);n(r(4609),t)},9090:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.BitBuilderBase=void 0;const s=r(7450);class BitBuilderBase extends s.Builder{}t.BitBuilderBase=BitBuilderBase},7544:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.BlockBuilderBase=void 0;const s=r(7450);class BlockBuilderBase extends s.Builder{}t.BlockBuilderBase=BlockBuilderBase},5991:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.CompositionObjectBase=void 0;class CompositionObjectBase{}t.CompositionObjectBase=CompositionObjectBase},7148:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ElementBuilderBase=void 0;const s=r(7450);class ElementBuilderBase extends s.Builder{}t.ElementBuilderBase=ElementBuilderBase},5154:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){if(s===undefined)s=r;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,s){if(s===undefined)s=r;e[s]=t[r]});var n=this&&this.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))s(t,e,r)};Object.defineProperty(t,"__esModule",{value:true});n(r(9090),t);n(r(7544),t);n(r(5991),t);n(r(7148),t);n(r(9221),t)},9221:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SurfaceBuilderBase=void 0;const s=r(7450);class SurfaceBuilderBase extends s.Builder{}t.SurfaceBuilderBase=SurfaceBuilderBase},1049:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.BlockType=void 0;var r;(function(e){e["Section"]="section";e["Actions"]="actions";e["Context"]="context";e["Input"]="input";e["File"]="file";e["Divider"]="divider";e["Image"]="image";e["Header"]="header";e["Video"]="video"})(r=t.BlockType||(t.BlockType={}))},1637:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ButtonStyle=void 0;var r;(function(e){e["Danger"]="danger";e["Primary"]="primary"})(r=t.ButtonStyle||(t.ButtonStyle={}))},6887:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ComponentUIText=void 0;var r;(function(e){e["Next"]="Next";e["Previous"]="Previous";e["More"]="More";e["Close"]="Close"})(r=t.ComponentUIText||(t.ComponentUIText={}))},4871:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.DispatchOnType=void 0;var r;(function(e){e["OnEnterPressed"]="on_enter_pressed";e["OnCharacterEntered"]="on_character_entered"})(r=t.DispatchOnType||(t.DispatchOnType={}))},9387:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ElementType=void 0;var r;(function(e){e["Button"]="button";e["Checkboxes"]="checkboxes";e["DatePicker"]="datepicker";e["DateTimePicker"]="datetimepicker";e["TimePicker"]="timepicker";e["Image"]="image";e["Overflow"]="overflow";e["TextInput"]="plain_text_input";e["RadioButtons"]="radio_buttons";e["StaticSelect"]="static_select";e["ExternalSelect"]="external_select";e["UserSelect"]="users_select";e["ConversationSelect"]="conversations_select";e["ChannelSelect"]="channels_select";e["StaticMultiSelect"]="multi_static_select";e["ExternalMultiSelect"]="multi_external_select";e["UserMultiSelect"]="multi_users_select";e["ConversationsMultiSelect"]="multi_conversations_select";e["ChannelsMultiSelect"]="multi_channels_select";e["URLInput"]="url_text_input";e["EmailInput"]="email_text_input";e["NumberInput"]="number_input";e["FileInput"]="file_input"})(r=t.ElementType||(t.ElementType={}))},2309:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.FileType=void 0;var r;(function(e){e["Remote"]="remote"})(r=t.FileType||(t.FileType={}))},8143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.FilterType=void 0;var r;(function(e){e["Im"]="im";e["Mpim"]="mpim";e["Private"]="private";e["Public"]="public"})(r=t.FilterType||(t.FilterType={}))},6838:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){if(s===undefined)s=r;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,s){if(s===undefined)s=r;e[s]=t[r]});var n=this&&this.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))s(t,e,r)};Object.defineProperty(t,"__esModule",{value:true});n(r(1049),t);n(r(1637),t);n(r(6887),t);n(r(4871),t);n(r(9387),t);n(r(2309),t);n(r(8143),t);n(r(9514),t);n(r(922),t);n(r(1286),t);n(r(1590),t);n(r(9741),t)},9514:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ObjectType=void 0;var r;(function(e){e["Text"]="plain_text";e["Markdown"]="mrkdwn"})(r=t.ObjectType||(t.ObjectType={}))},922:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PaginatorButtonId=void 0;var r;(function(e){e["Next"]="next";e["Previous"]="previous"})(r=t.PaginatorButtonId||(t.PaginatorButtonId={}))},1286:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Prop=void 0;var r;(function(e){e["AuthorName"]="authorName";e["Blocks"]="blocks";e["Elements"]="elements";e["BlockId"]="blockId";e["ExternalId"]="externalId";e["Label"]="label";e["Element"]="element";e["Hint"]="hint";e["Optional"]="optional";e["Fields"]="fields";e["Accessory"]="accessory";e["ActionId"]="actionId";e["Url"]="url";e["Style"]="style";e["Value"]="value";e["Option"]="option";e["Confirm"]="confirm";e["ImageUrl"]="imageUrl";e["AltText"]="altText";e["Options"]="options";e["InitialOptions"]="initialOptions";e["InitialOption"]="initialOption";e["Placeholder"]="placeholder";e["InitialDate"]="initialDate";e["InitialDateTime"]="initialDateTime";e["InitialValue"]="initialValue";e["IsDecimalAllowed"]="isDecimalAllowed";e["Multiline"]="multiline";e["MinLength"]="minLength";e["MaxLength"]="maxLength";e["MinValue"]="minValue";e["MaxValue"]="maxValue";e["InitialChannel"]="initialChannel";e["InitialChannels"]="initialChannels";e["InitialConversation"]="initialConversation";e["InitialConversations"]="initialConversations";e["ResponseUrlEnabled"]="responseUrlEnabled";e["DefaultToCurrentConversation"]="defaultToCurrentConversation";e["Filter"]="filter";e["MinQueryLength"]="minQueryLength";e["OptionGroups"]="optionGroups";e["InitialUser"]="initialUser";e["InitialUsers"]="initialUsers";e["MaxSelectedItems"]="maxSelectedItems";e["Title"]="title";e["Submit"]="submit";e["Close"]="close";e["Deny"]="deny";e["ExcludeExternalSharedChannels"]="excludeExternalSharedChannels";e["ExcludeBotUsers"]="excludeBotUsers";e["Text"]="text";e["PrivateMetaData"]="privateMetaData";e["CallbackId"]="callbackId";e["Channel"]="channel";e["ClearOnClose"]="clearOnClose";e["NotifyOnClose"]="notifyOnClose";e["Description"]="description";e["Danger"]="danger";e["Primary"]="primary";e["AsUser"]="asUser";e["ThreadTs"]="threadTs";e["ReplaceOriginal"]="replaceOriginal";e["DeleteOriginal"]="deleteOriginal";e["ResponseType"]="responseType";e["PostAt"]="postAt";e["Ephemeral"]="ephemeral";e["InChannel"]="inChannel";e["Ts"]="ts";e["Color"]="color";e["Fallback"]="fallback";e["Attachments"]="attachments";e["DispatchAction"]="dispatchAction";e["DispatchActionConfig"]="dispatchActionConfig";e["OnEnterPressed"]="onEnterPressed";e["OnCharacterEntered"]="onCharacterEntered";e["DispatchActionOnEnterPressed"]="dispatchActionOnEnterPressed";e["DispatchActionOnCharacterEntered"]="dispatchActionOnCharacterEntered";e["InitialTime"]="initialTime";e["Mrkdwn"]="mrkdwn";e["IgnoreMarkdown"]="ignoreMarkdown";e["SubmitDisabled"]="submitDisabled";e["FocusOnLoad"]="focusOnLoad";e["AccessibilityLabel"]="accessibilityLabel";e["ProviderIconUrl"]="providerIconUrl";e["ProviderName"]="providerName";e["TitleUrl"]="titleUrl";e["ThumbnailUrl"]="thumbnailUrl";e["VideoUrl"]="videoUrl";e["MaxFiles"]="maxFiles";e["Filetypes"]="filetypes"})(r=t.Prop||(t.Prop={}))},1590:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ResponseType=void 0;var r;(function(e){e["Ephemeral"]="ephemeral";e["InChannel"]="in_channel"})(r=t.ResponseType||(t.ResponseType={}))},9741:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SurfaceType=void 0;var r;(function(e){e["HomeTab"]="home";e["Modal"]="modal";e["WorkflowStep"]="workflow_step"})(r=t.SurfaceType||(t.SurfaceType={}))},6564:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){if(s===undefined)s=r;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,s){if(s===undefined)s=r;e[s]=t[r]});var n=this&&this.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))s(t,e,r)};Object.defineProperty(t,"__esModule",{value:true});n(r(895),t)},895:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SlackElementDto=t.SlackBlockDto=t.SlackWorkflowStepDto=t.SlackModalDto=t.SlackHomeTabDto=t.SlackMessageDto=t.SlackDto=t.Param=void 0;const s=r(6838);var n;(function(e){e["actionId"]="action_id";e["blocks"]="blocks";e["blockId"]="block_id";e["maxSelectedItems"]="max_selected_items";e["title"]="title";e["text"]="text";e["confirm"]="confirm";e["deny"]="deny";e["style"]="style";e["danger"]="danger";e["label"]="label";e["options"]="options";e["value"]="value";e["description"]="description";e["url"]="url";e["elements"]="elements";e["externalId"]="external_id";e["imageUrl"]="image_url";e["altText"]="alt_text";e["element"]="element";e["hint"]="hint";e["optional"]="optional";e["fields"]="fields";e["accessory"]="accessory";e["initialChannels"]="initial_channels";e["initialChannel"]="initial_channel";e["responseUrlEnabled"]="response_url_enabled";e["initialOptions"]="initial_options";e["initialConversations"]="initial_conversations";e["defaultToCurrentConversation"]="default_to_current_conversation";e["filter"]="filter";e["initialConversation"]="initial_conversation";e["initialDate"]="initial_date";e["initialDateTime"]="initial_date_time";e["isDecimalAllowed"]="is_decimal_allowed";e["minQueryLength"]="min_query_length";e["initialOption"]="initial_option";e["optionGroups"]="option_groups";e["placeholder"]="placeholder";e["initialValue"]="initial_value";e["multiline"]="multiline";e["minLength"]="min_length";e["maxLength"]="max_length";e["initialUsers"]="initial_users";e["initialUser"]="initial_user";e["channel"]="channel";e["close"]="close";e["submit"]="submit";e["clearOnClose"]="clear_on_close";e["notifyOnClose"]="notify_on_close";e["privateMetaData"]="private_metadata";e["callbackId"]="callback_id";e["asUser"]="as_user";e["ts"]="ts";e["threadTs"]="thread_ts";e["replaceOriginal"]="replace_original";e["deleteOriginal"]="delete_original";e["responseType"]="response_type";e["postAt"]="post_at";e["color"]="color";e["fallback"]="fallback";e["attachments"]="attachments";e["dispatchAction"]="dispatch_action";e["dispatchActionConfig"]="dispatch_action_config";e["initialTime"]="initial_time";e["mrkdwn"]="mrkdwn";e["submitDisabled"]="submit_disabled";e["type"]="type";e["focusOnLoad"]="focus_on_load";e["accessibilityLabel"]="accessibility_label";e["authorName"]="author_name";e["providerIconUrl"]="provider_icon_url";e["providerName"]="provider_name";e["titleUrl"]="title_url";e["thumbnailUrl"]="thumbnail_url";e["videoUrl"]="video_url";e["minValue"]="min_value";e["maxValue"]="max_value";e["maxFiles"]="max_files";e["filetypes"]="filetypes";e["source"]="source"})(n=t.Param||(t.Param={}));class SlackDto{constructor(e){Object.keys(e).forEach((t=>{const r=SlackDto.mapParam(t);if(e[t]!==undefined&&r!==undefined){this[r]=e[t]}}))}static mapParam(e){return n[e]}}t.SlackDto=SlackDto;class SlackMessageDto extends SlackDto{}t.SlackMessageDto=SlackMessageDto;class SlackHomeTabDto extends SlackDto{constructor(){super(...arguments);this.type=s.SurfaceType.HomeTab}}t.SlackHomeTabDto=SlackHomeTabDto;class SlackModalDto extends SlackDto{constructor(){super(...arguments);this.type=s.SurfaceType.Modal}}t.SlackModalDto=SlackModalDto;class SlackWorkflowStepDto extends SlackDto{constructor(){super(...arguments);this.type=s.SurfaceType.WorkflowStep}}t.SlackWorkflowStepDto=SlackWorkflowStepDto;class SlackBlockDto extends SlackDto{}t.SlackBlockDto=SlackBlockDto;class SlackElementDto extends SlackDto{}t.SlackElementDto=SlackElementDto},5624:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.BlockBuilderError=void 0;class BlockBuilderError extends Error{constructor(e){super(e);this.name="BlockBuilderError";Error.captureStackTrace(this,this.constructor)}}t.BlockBuilderError=BlockBuilderError},8476:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){if(s===undefined)s=r;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,s){if(s===undefined)s=r;e[s]=t[r]});var n=this&&this.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))s(t,e,r)};Object.defineProperty(t,"__esModule",{value:true});n(r(5624),t)},8470:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.applyMixins=void 0;function applyMixins(e,t){const{constructor:r}=e.prototype;t.forEach((t=>{Object.getOwnPropertyNames(t.prototype).forEach((r=>{const s=Object.getOwnPropertyDescriptor(t.prototype,r);Object.defineProperty(e.prototype,r,s)}))}));e.prototype.constructor=r}t.applyMixins=applyMixins},7216:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getDispatchActionsConfigurationObject=t.getFilter=t.getDateTimeIntegerFromDate=t.getFormattedDate=t.getFields=t.getElementsForContext=t.getMarkdownObject=t.getStringFromNumber=t.getPlainTextObject=t.getBuilderResults=t.getBuilderResult=void 0;const s=r(5347);const n={isMarkdown:false};const valueOrUndefined=e=>e===undefined?undefined:e;const valuesOrUndefined=e=>{if(e.filter((e=>e!==undefined)).length===0){return undefined}return e};function getBuilderResult(e,t=n){return valueOrUndefined(e)&&e.build(t)}t.getBuilderResult=getBuilderResult;function getBuilderResults(e,t=n){return valueOrUndefined(e)&&e.map((e=>getBuilderResult(e,t)))}t.getBuilderResults=getBuilderResults;function getPlainTextObject(e){return valueOrUndefined(e)?new s.PlainTextObject(e):undefined}t.getPlainTextObject=getPlainTextObject;function getStringFromNumber(e){return valueOrUndefined(e)?e.toString():undefined}t.getStringFromNumber=getStringFromNumber;function getMarkdownObject(e){return valueOrUndefined(e)?new s.MarkdownObject(e):undefined}t.getMarkdownObject=getMarkdownObject;function getElementsForContext(e){return valueOrUndefined(e)&&e.map((e=>typeof e==="string"?new s.MarkdownObject(e):e.build()))}t.getElementsForContext=getElementsForContext;function getFields(e){return valueOrUndefined(e)&&e.map((e=>new s.MarkdownObject(e)))}t.getFields=getFields;function getFormattedDate(e){return valueOrUndefined(e)&&e.toISOString().split("T")[0]}t.getFormattedDate=getFormattedDate;function getDateTimeIntegerFromDate(e){return valueOrUndefined(e)&&Math.floor(e.getTime()/1e3)}t.getDateTimeIntegerFromDate=getDateTimeIntegerFromDate;function getFilter({filter:e,excludeBotUsers:t,excludeExternalSharedChannels:r}){return valuesOrUndefined([e,t,r])&&new s.FilterObject({filter:e,excludeBotUsers:t,excludeExternalSharedChannels:r})}t.getFilter=getFilter;function getDispatchActionsConfigurationObject({onEnterPressed:e,onCharacterEntered:t}){return valuesOrUndefined([e,t])&&new s.DispatchActionsConfigurationObject([e,t].filter(Boolean))}t.getDispatchActionsConfigurationObject=getDispatchActionsConfigurationObject},133:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){if(s===undefined)s=r;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,s){if(s===undefined)s=r;e[s]=t[r]});var n=this&&this.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))s(t,e,r)};Object.defineProperty(t,"__esModule",{value:true});n(r(8470),t);n(r(7216),t)},1498:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){if(s===undefined)s=r;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,s){if(s===undefined)s=r;e[s]=t[r]});var n=this&&this.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))s(t,e,r)};Object.defineProperty(t,"__esModule",{value:true});n(r(5154),t);n(r(6838),t);n(r(6564),t);n(r(8476),t);n(r(133),t);n(r(243),t);n(r(3077),t);n(r(5347),t);n(r(4095),t)},9636:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.AccordionStateManager=void 0;class AccordionStateManager{constructor(e){this.expandedItems=e.expandedItems||[];this.collapseOnExpand=e.collapseOnExpand||false}checkItemIsExpandedByIndex(e){return this.expandedItems.includes(e)}getNextStateByItemIndex(e){if(e===undefined){return this.expandedItems}const t=this.checkItemIsExpandedByIndex(e);if(t){const t=[...this.expandedItems];const r=this.expandedItems.findIndex((t=>t===e));t.splice(r,1);return t}return this.collapseOnExpand?[e]:[...this.expandedItems,e]}}t.AccordionStateManager=AccordionStateManager},7450:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Builder=void 0;const s=r(8476);class Builder{constructor(e){this.props=e?{...e}:{};Object.keys(this.props).forEach((e=>this.props[e]===undefined&&delete this.props[e]));Object.seal(this)}set(e,t){if(this.props[t]!==undefined){throw new s.BlockBuilderError(`Property ${t} can only be assigned once.`)}if(e!==undefined){this.props[t]=e}return this}append(e,t){const r=Builder.pruneUndefinedFromArray(e);if(r.length>0){this.props[t]=this.props[t]===undefined?r:this.props[t].concat(r)}return this}getResult(e,t){const r=new e({...this.props,...t});return Object.freeze(r)}build(e){throw new s.BlockBuilderError("Builder must have a declared 'build' method")}static pruneUndefinedFromArray(e){return e.filter((e=>e!==undefined?e:false))}}t.Builder=Builder},243:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){if(s===undefined)s=r;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,s){if(s===undefined)s=r;e[s]=t[r]});var n=this&&this.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))s(t,e,r)};Object.defineProperty(t,"__esModule",{value:true});n(r(9636),t);n(r(7450),t);n(r(5890),t)},5890:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PaginatorStateManager=void 0;class PaginatorStateManager{constructor(e){const t=PaginatorStateManager.calculateState({page:Math.floor(e.page)||1,totalItems:Math.floor(e.totalItems)||1,perPage:Math.floor(e.perPage)});this.page=t.page;this.perPage=t.perPage;this.totalItems=t.totalItems;this.totalPages=t.totalPages;this.offset=t.offset}static calculateState(e){const{page:t,totalItems:r,perPage:s}=e;const n=Math.ceil(r/s);const o=PaginatorStateManager.calculatePage(t,n);const i=(o-1)*s;return{totalItems:r,perPage:s,totalPages:n,offset:i,page:o}}static calculatePage(e,t){if(e<1){return t}return e>t?1:e}getPage(){return this.page}getTotalPages(){return this.totalPages}getTotalItems(){return this.totalItems}getStateByPage(e){return PaginatorStateManager.calculateState({page:e,perPage:this.perPage,totalItems:this.totalItems})}getNextPageState(){return this.getStateByPage(this.page+1)}getPreviousPageState(){return this.getStateByPage(this.page-1)}extractItems(e){const t=this.offset;const r=t+this.perPage;return e.slice(t,r)}}t.PaginatorStateManager=PaginatorStateManager},3163:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Options=t.OptionGroups=t.InitialUsers=t.InitialOptions=t.InitialConversations=t.InitialChannels=t.Filter=t.Fields=t.Elements=t.Blocks=t.Attachments=void 0;const s=r(243);const n=r(6838);class Attachments extends s.Builder{attachments(...e){return this.append(e.flat(),n.Prop.Attachments)}}t.Attachments=Attachments;class Blocks extends s.Builder{blocks(...e){return this.append(e.flat(),n.Prop.Blocks)}}t.Blocks=Blocks;class Elements extends s.Builder{elements(...e){return this.append(e.flat(),n.Prop.Elements)}}t.Elements=Elements;class Fields extends s.Builder{fields(...e){return this.append(e.flat(),n.Prop.Fields)}}t.Fields=Fields;class Filter extends s.Builder{filter(...e){return this.append(e.flat(),n.Prop.Filter)}}t.Filter=Filter;class InitialChannels extends s.Builder{initialChannels(...e){return this.append(e.flat(),n.Prop.InitialChannels)}}t.InitialChannels=InitialChannels;class InitialConversations extends s.Builder{initialConversations(...e){return this.append(e.flat(),n.Prop.InitialConversations)}}t.InitialConversations=InitialConversations;class InitialOptions extends s.Builder{initialOptions(...e){return this.append(e.flat(),n.Prop.InitialOptions)}}t.InitialOptions=InitialOptions;class InitialUsers extends s.Builder{initialUsers(...e){return this.append(e.flat(),n.Prop.InitialUsers)}}t.InitialUsers=InitialUsers;class OptionGroups extends s.Builder{optionGroups(...e){return this.append(e.flat(),n.Prop.OptionGroups)}}t.OptionGroups=OptionGroups;class Options extends s.Builder{options(...e){return this.append(e.flat(),n.Prop.Options)}}t.Options=Options},7127:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SubmitDisabled=t.ResponseUrlEnabled=t.ReplaceOriginal=t.Primary=t.Optional=t.NotifyOnClose=t.Multiline=t.InChannel=t.IgnoreMarkdown=t.FocusOnLoad=t.ExcludeBotUsers=t.ExcludeExternalSharedChannels=t.Ephemeral=t.DispatchActionOnEnterPressed=t.DispatchActionOnCharacterEntered=t.DispatchAction=t.DeleteOriginal=t.DefaultToCurrentConversation=t.Danger=t.ClearOnClose=t.AsUser=void 0;const s=r(243);const n=r(6838);class AsUser extends s.Builder{asUser(e=true){return this.set(e,n.Prop.AsUser)}}t.AsUser=AsUser;class ClearOnClose extends s.Builder{clearOnClose(e=true){return this.set(e,n.Prop.ClearOnClose)}}t.ClearOnClose=ClearOnClose;class Danger extends s.Builder{danger(e=true){return e?this.set(n.ButtonStyle.Danger,n.Prop.Style):this}}t.Danger=Danger;class DefaultToCurrentConversation extends s.Builder{defaultToCurrentConversation(e=true){return this.set(e,n.Prop.DefaultToCurrentConversation)}}t.DefaultToCurrentConversation=DefaultToCurrentConversation;class DeleteOriginal extends s.Builder{deleteOriginal(e=true){return this.set(e,n.Prop.DeleteOriginal)}}t.DeleteOriginal=DeleteOriginal;class DispatchAction extends s.Builder{dispatchAction(e=true){return this.set(e,n.Prop.DispatchAction)}}t.DispatchAction=DispatchAction;class DispatchActionOnCharacterEntered extends s.Builder{dispatchActionOnCharacterEntered(e=true){return e?this.set(n.DispatchOnType.OnCharacterEntered,n.Prop.OnCharacterEntered):this}}t.DispatchActionOnCharacterEntered=DispatchActionOnCharacterEntered;class DispatchActionOnEnterPressed extends s.Builder{dispatchActionOnEnterPressed(e=true){return e?this.set(n.DispatchOnType.OnEnterPressed,n.Prop.OnEnterPressed):this}}t.DispatchActionOnEnterPressed=DispatchActionOnEnterPressed;class Ephemeral extends s.Builder{ephemeral(e=true){return e?this.set(n.ResponseType.Ephemeral,n.Prop.ResponseType):this}}t.Ephemeral=Ephemeral;class ExcludeExternalSharedChannels extends s.Builder{excludeExternalSharedChannels(e=true){return this.set(e,n.Prop.ExcludeExternalSharedChannels)}}t.ExcludeExternalSharedChannels=ExcludeExternalSharedChannels;class ExcludeBotUsers extends s.Builder{excludeBotUsers(e=true){return this.set(e,n.Prop.ExcludeBotUsers)}}t.ExcludeBotUsers=ExcludeBotUsers;class FocusOnLoad extends s.Builder{focusOnLoad(e=true){return this.set(e,n.Prop.FocusOnLoad)}}t.FocusOnLoad=FocusOnLoad;class IgnoreMarkdown extends s.Builder{ignoreMarkdown(e=false){return this.set(e,n.Prop.Mrkdwn)}}t.IgnoreMarkdown=IgnoreMarkdown;class InChannel extends s.Builder{inChannel(e=true){return e?this.set(n.ResponseType.InChannel,n.Prop.ResponseType):this}}t.InChannel=InChannel;class Multiline extends s.Builder{multiline(e=true){return this.set(e,n.Prop.Multiline)}}t.Multiline=Multiline;class NotifyOnClose extends s.Builder{notifyOnClose(e=true){return this.set(e,n.Prop.NotifyOnClose)}}t.NotifyOnClose=NotifyOnClose;class Optional extends s.Builder{optional(e=true){return this.set(e,n.Prop.Optional)}}t.Optional=Optional;class Primary extends s.Builder{primary(e=true){return e?this.set(n.ButtonStyle.Primary,n.Prop.Style):this}}t.Primary=Primary;class ReplaceOriginal extends s.Builder{replaceOriginal(e=true){return this.set(e,n.Prop.ReplaceOriginal)}}t.ReplaceOriginal=ReplaceOriginal;class ResponseUrlEnabled extends s.Builder{responseUrlEnabled(e=true){return this.set(e,n.Prop.ResponseUrlEnabled)}}t.ResponseUrlEnabled=ResponseUrlEnabled;class SubmitDisabled extends s.Builder{submitDisabled(e=true){return this.set(e,n.Prop.SubmitDisabled)}}t.SubmitDisabled=SubmitDisabled},3077:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){if(s===undefined)s=r;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,s){if(s===undefined)s=r;e[s]=t[r]});var n=this&&this.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))s(t,e,r)};Object.defineProperty(t,"__esModule",{value:true});n(r(3163),t);n(r(7127),t);n(r(1710),t);n(r(1232),t)},1710:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PrintPreviewUrl=t.GetPreviewUrl=t.GetBlocks=t.GetAttachments=t.End=t.BuildToObject=t.BuildToJSON=void 0;const s=r(243);class BuildToJSON extends s.Builder{buildToJSON(){const e=this.build();return JSON.stringify(e)}}t.BuildToJSON=BuildToJSON;class BuildToObject extends s.Builder{buildToObject(){return this.build()}}t.BuildToObject=BuildToObject;class End extends s.Builder{end(){return this}}t.End=End;class GetAttachments extends s.Builder{getAttachments(){return this.build().attachments}}t.GetAttachments=GetAttachments;class GetBlocks extends s.Builder{getBlocks(){this.build();return this.build().blocks}}t.GetBlocks=GetBlocks;class GetPreviewUrl extends s.Builder{getPreviewUrl(){const e=this.build();const t="https://app.slack.com/block-kit-builder/#";const r=e.type?JSON.stringify(e):JSON.stringify({blocks:e.blocks,attachments:e.attachments});return encodeURI(`${t}${r}`).replace(/[!'()*]/g,escape)}}t.GetPreviewUrl=GetPreviewUrl;class PrintPreviewUrl extends GetPreviewUrl{printPreviewUrl(){console.log(this.getPreviewUrl())}}t.PrintPreviewUrl=PrintPreviewUrl},1232:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.MaxFiles=t.VideoUrl=t.Value=t.Url=t.Ts=t.TitleUrl=t.Title=t.ThumbnailUrl=t.ThreadTs=t.Text=t.Submit=t.ProviderName=t.ProviderIconUrl=t.PrivateMetaData=t.PostAt=t.Placeholder=t.MinValue=t.MinLength=t.MinQueryLength=t.MaxValue=t.MaxSelectedItems=t.MaxLength=t.Label=t.IsDecimalAllowed=t.InitialValue=t.InitialUser=t.InitialTime=t.InitialOption=t.InitialDateTime=t.InitialDate=t.InitialConversation=t.InitialChannel=t.ImageUrl=t.Hint=t.Fallback=t.ExternalId=t.Element=t.Description=t.Deny=t.Confirm=t.Color=t.Close=t.Channel=t.CallbackId=t.BlockId=t.AuthorName=t.AltText=t.ActionId=t.Accessory=t.AccessibilityLabel=void 0;t.Filetypes=void 0;const s=r(243);const n=r(6838);class AccessibilityLabel extends s.Builder{accessibilityLabel(e){return this.set(e,n.Prop.AccessibilityLabel)}}t.AccessibilityLabel=AccessibilityLabel;class Accessory extends s.Builder{accessory(e){return this.set(e,n.Prop.Accessory)}}t.Accessory=Accessory;class ActionId extends s.Builder{actionId(e){return this.set(e,n.Prop.ActionId)}}t.ActionId=ActionId;class AltText extends s.Builder{altText(e){return this.set(e,n.Prop.AltText)}}t.AltText=AltText;class AuthorName extends s.Builder{authorName(e){return this.set(e,n.Prop.AuthorName)}}t.AuthorName=AuthorName;class BlockId extends s.Builder{blockId(e){return this.set(e,n.Prop.BlockId)}}t.BlockId=BlockId;class CallbackId extends s.Builder{callbackId(e){return this.set(e,n.Prop.CallbackId)}}t.CallbackId=CallbackId;class Channel extends s.Builder{channel(e){return this.set(e,n.Prop.Channel)}}t.Channel=Channel;class Close extends s.Builder{close(e){return this.set(e,n.Prop.Close)}}t.Close=Close;class Color extends s.Builder{color(e){return this.set(e,n.Prop.Color)}}t.Color=Color;class Confirm extends s.Builder{confirm(e){return this.set(e,n.Prop.Confirm)}}t.Confirm=Confirm;class Deny extends s.Builder{deny(e){return this.set(e,n.Prop.Deny)}}t.Deny=Deny;class Description extends s.Builder{description(e){return this.set(e,n.Prop.Description)}}t.Description=Description;class Element extends s.Builder{element(e){return this.set(e,n.Prop.Element)}}t.Element=Element;class ExternalId extends s.Builder{externalId(e){return this.set(e,n.Prop.ExternalId)}}t.ExternalId=ExternalId;class Fallback extends s.Builder{fallback(e){return this.set(e,n.Prop.Fallback)}}t.Fallback=Fallback;class Hint extends s.Builder{hint(e){return this.set(e,n.Prop.Hint)}}t.Hint=Hint;class ImageUrl extends s.Builder{imageUrl(e){return this.set(e,n.Prop.ImageUrl)}}t.ImageUrl=ImageUrl;class InitialChannel extends s.Builder{initialChannel(e){return this.set(e,n.Prop.InitialChannel)}}t.InitialChannel=InitialChannel;class InitialConversation extends s.Builder{initialConversation(e){return this.set(e,n.Prop.InitialConversation)}}t.InitialConversation=InitialConversation;class InitialDate extends s.Builder{initialDate(e){return this.set(e,n.Prop.InitialDate)}}t.InitialDate=InitialDate;class InitialDateTime extends s.Builder{initialDateTime(e){return this.set(e,n.Prop.InitialDateTime)}}t.InitialDateTime=InitialDateTime;class InitialOption extends s.Builder{initialOption(e){return this.set(e,n.Prop.InitialOption)}}t.InitialOption=InitialOption;class InitialTime extends s.Builder{initialTime(e){return this.set(e,n.Prop.InitialTime)}}t.InitialTime=InitialTime;class InitialUser extends s.Builder{initialUser(e){return this.set(e,n.Prop.InitialUser)}}t.InitialUser=InitialUser;class InitialValue extends s.Builder{initialValue(e){return this.set(e,n.Prop.InitialValue)}}t.InitialValue=InitialValue;class IsDecimalAllowed extends s.Builder{isDecimalAllowed(e){return this.set(e,n.Prop.IsDecimalAllowed)}}t.IsDecimalAllowed=IsDecimalAllowed;class Label extends s.Builder{label(e){return this.set(e,n.Prop.Label)}}t.Label=Label;class MaxLength extends s.Builder{maxLength(e){return this.set(e,n.Prop.MaxLength)}}t.MaxLength=MaxLength;class MaxSelectedItems extends s.Builder{maxSelectedItems(e){return this.set(e,n.Prop.MaxSelectedItems)}}t.MaxSelectedItems=MaxSelectedItems;class MaxValue extends s.Builder{maxValue(e){return this.set(e,n.Prop.MaxValue)}}t.MaxValue=MaxValue;class MinQueryLength extends s.Builder{minQueryLength(e){return this.set(e,n.Prop.MinQueryLength)}}t.MinQueryLength=MinQueryLength;class MinLength extends s.Builder{minLength(e){return this.set(e,n.Prop.MinLength)}}t.MinLength=MinLength;class MinValue extends s.Builder{minValue(e){return this.set(e,n.Prop.MinValue)}}t.MinValue=MinValue;class Placeholder extends s.Builder{placeholder(e){return this.set(e,n.Prop.Placeholder)}}t.Placeholder=Placeholder;class PostAt extends s.Builder{postAt(e){return this.set(e,n.Prop.PostAt)}}t.PostAt=PostAt;class PrivateMetaData extends s.Builder{privateMetaData(e){return this.set(e,n.Prop.PrivateMetaData)}}t.PrivateMetaData=PrivateMetaData;class ProviderIconUrl extends s.Builder{providerIconUrl(e){return this.set(e,n.Prop.ProviderIconUrl)}}t.ProviderIconUrl=ProviderIconUrl;class ProviderName extends s.Builder{providerName(e){return this.set(e,n.Prop.ProviderName)}}t.ProviderName=ProviderName;class Submit extends s.Builder{submit(e){return this.set(e,n.Prop.Submit)}}t.Submit=Submit;class Text extends s.Builder{text(e){return this.set(e,n.Prop.Text)}}t.Text=Text;class ThreadTs extends s.Builder{threadTs(e){return this.set(e,n.Prop.ThreadTs)}}t.ThreadTs=ThreadTs;class ThumbnailUrl extends s.Builder{thumbnailUrl(e){return this.set(e,n.Prop.ThumbnailUrl)}}t.ThumbnailUrl=ThumbnailUrl;class Title extends s.Builder{title(e){return this.set(e,n.Prop.Title)}}t.Title=Title;class TitleUrl extends s.Builder{titleUrl(e){return this.set(e,n.Prop.TitleUrl)}}t.TitleUrl=TitleUrl;class Ts extends s.Builder{ts(e){return this.set(e,n.Prop.Ts)}}t.Ts=Ts;class Url extends s.Builder{url(e){return this.set(e,n.Prop.Url)}}t.Url=Url;class Value extends s.Builder{value(e){return this.set(e,n.Prop.Value)}}t.Value=Value;class VideoUrl extends s.Builder{videoUrl(e){return this.set(e,n.Prop.VideoUrl)}}t.VideoUrl=VideoUrl;class MaxFiles extends s.Builder{maxFiles(e=10){return this.set(e,n.Prop.MaxFiles)}}t.MaxFiles=MaxFiles;class Filetypes extends s.Builder{filetypes(e=[]){return this.set(e.flat(),n.Prop.Filetypes)}}t.Filetypes=Filetypes},7935:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.DispatchActionsConfigurationObject=void 0;const s=r(5154);class DispatchActionsConfigurationObject extends s.CompositionObjectBase{constructor(e){super();this.trigger_actions_on=e}}t.DispatchActionsConfigurationObject=DispatchActionsConfigurationObject},2383:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.FilterObject=void 0;const s=r(5154);class FilterObject extends s.CompositionObjectBase{constructor(e){super();this.include=e.filter;this.exclude_external_shared_channels=e.excludeExternalSharedChannels;this.exclude_bot_users=e.excludeBotUsers}}t.FilterObject=FilterObject},5347:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){if(s===undefined)s=r;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,s){if(s===undefined)s=r;e[s]=t[r]});var n=this&&this.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))s(t,e,r)};Object.defineProperty(t,"__esModule",{value:true});n(r(7935),t);n(r(2383),t);n(r(3806),t);n(r(3642),t)},3806:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.MarkdownObject=void 0;const s=r(5154);const n=r(6838);class MarkdownObject extends s.CompositionObjectBase{constructor(e){super();this.type=n.ObjectType.Markdown;this.text=e}}t.MarkdownObject=MarkdownObject},3642:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PlainTextObject=void 0;const s=r(5154);const n=r(6838);class PlainTextObject extends s.CompositionObjectBase{constructor(e){super();this.type=n.ObjectType.Text;this.text=e}}t.PlainTextObject=PlainTextObject},4095:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true})},5543:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Md=t.group=t.channel=t.user=t.emoji=t.mailto=t.link=t.listBullet=t.listDash=t.codeBlock=t.codeInline=t.strike=t.italic=t.bold=t.blockquote=t.quote=void 0;function quote(e){return`"${e}"`}t.quote=quote;function blockquote(e){return e.split("\n").map((e=>`>${e}`)).join("\n")}t.blockquote=blockquote;function bold(e){return`*${e}*`}t.bold=bold;function italic(e){return`_${e}_`}t.italic=italic;function strike(e){return`~${e}~`}t.strike=strike;function codeInline(e){return`\`${e}\``}t.codeInline=codeInline;function codeBlock(e){return`\`\`\`${e}\`\`\``}t.codeBlock=codeBlock;function listDash(...e){return e.flat().map((e=>`- ${e}`)).join("\n")}t.listDash=listDash;function listBullet(...e){return e.flat().map((e=>`• ${e}`)).join("\n")}t.listBullet=listBullet;function link(e,t){return t?`<${e}|${t}>`:`<${e}>`}t.link=link;function mailto(e,t){return``}t.mailto=mailto;function emoji(e){return`:${e}:`}t.emoji=emoji;function user(e){return`<@${e}>`}t.user=user;function channel(e){return`<#${e}>`}t.channel=channel;function group(e){return``}t.group=group;const r={quote:quote,blockquote:blockquote,bold:bold,italic:italic,strike:strike,codeInline:codeInline,codeBlock:codeBlock,listDash:listDash,listBullet:listBullet,link:link,mailto:mailto,emoji:emoji,user:user,channel:channel,group:group};t.Md=r},7487:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.HomeTabBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class HomeTabBuilder extends s.SurfaceBuilderBase{build(){return this.getResult(o.SlackHomeTabDto,{type:n.SurfaceType.HomeTab,blocks:i.getBuilderResults(this.props.blocks)})}}t.HomeTabBuilder=HomeTabBuilder;i.applyMixins(HomeTabBuilder,[a.Blocks,a.CallbackId,a.ExternalId,a.PrivateMetaData,a.BuildToJSON,a.BuildToObject,a.GetBlocks,a.GetPreviewUrl,a.PrintPreviewUrl])},4271:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Surfaces=t.WorkflowStep=t.Modal=t.Message=t.HomeTab=void 0;const s=r(7487);const n=r(4025);const o=r(9052);const i=r(1833);function HomeTab(e){return new s.HomeTabBuilder(e)}t.HomeTab=HomeTab;function Message(e){return new n.MessageBuilder(e)}t.Message=Message;function Modal(e){return new o.ModalBuilder(e)}t.Modal=Modal;function WorkflowStep(e){return new i.WorkflowStepBuilder(e)}t.WorkflowStep=WorkflowStep;const a={HomeTab:HomeTab,Message:Message,Modal:Modal,WorkflowStep:WorkflowStep};t.Surfaces=a},4025:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.MessageBuilder=void 0;const s=r(5154);const n=r(6564);const o=r(133);const i=r(3077);class MessageBuilder extends s.SurfaceBuilderBase{build(){return this.getResult(n.SlackMessageDto,{blocks:o.getBuilderResults(this.props.blocks),attachments:o.getBuilderResults(this.props.attachments)})}}t.MessageBuilder=MessageBuilder;o.applyMixins(MessageBuilder,[i.AsUser,i.Attachments,i.Blocks,i.Channel,i.DeleteOriginal,i.Ephemeral,i.IgnoreMarkdown,i.InChannel,i.PostAt,i.ReplaceOriginal,i.Text,i.ThreadTs,i.Ts,i.BuildToJSON,i.BuildToObject,i.GetAttachments,i.GetBlocks,i.GetPreviewUrl,i.PrintPreviewUrl])},9052:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ModalBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class ModalBuilder extends s.SurfaceBuilderBase{build(){return this.getResult(o.SlackModalDto,{type:n.SurfaceType.Modal,title:i.getPlainTextObject(this.props.title),blocks:i.getBuilderResults(this.props.blocks),close:i.getPlainTextObject(this.props.close),submit:i.getPlainTextObject(this.props.submit)})}}t.ModalBuilder=ModalBuilder;i.applyMixins(ModalBuilder,[a.Blocks,a.CallbackId,a.ClearOnClose,a.Close,a.ExternalId,a.NotifyOnClose,a.PrivateMetaData,a.Submit,a.Title,a.BuildToJSON,a.BuildToObject,a.GetBlocks,a.GetPreviewUrl,a.PrintPreviewUrl])},1833:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.WorkflowStepBuilder=void 0;const s=r(5154);const n=r(6838);const o=r(6564);const i=r(133);const a=r(3077);class WorkflowStepBuilder extends s.SurfaceBuilderBase{build(){return this.getResult(o.SlackWorkflowStepDto,{type:n.SurfaceType.WorkflowStep,title:i.getPlainTextObject(this.props.title),blocks:i.getBuilderResults(this.props.blocks),close:i.getPlainTextObject(this.props.close),submit:i.getPlainTextObject(this.props.submit)})}}t.WorkflowStepBuilder=WorkflowStepBuilder;i.applyMixins(WorkflowStepBuilder,[a.Blocks,a.CallbackId,a.PrivateMetaData,a.SubmitDisabled,a.BuildToJSON,a.BuildToObject,a.GetBlocks,a.GetPreviewUrl,a.PrintPreviewUrl])},4609:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Utilities=t.buildBlocks=t.buildBlock=t.OptionGroupCollection=t.OptionCollection=t.AttachmentCollection=t.BlockCollection=void 0;const s=r(243);const getBuiltCollection=(...e)=>s.Builder.pruneUndefinedFromArray(e.flat()).map((e=>e&&e.build()));function BlockCollection(...e){return getBuiltCollection(...e)}t.BlockCollection=BlockCollection;function AttachmentCollection(...e){return getBuiltCollection(...e)}t.AttachmentCollection=AttachmentCollection;function OptionCollection(...e){return getBuiltCollection(...e)}t.OptionCollection=OptionCollection;function OptionGroupCollection(...e){return getBuiltCollection(...e)}t.OptionGroupCollection=OptionGroupCollection;function buildBlock(e){return e.build()}t.buildBlock=buildBlock;function buildBlocks(...e){return getBuiltCollection(...e)}t.buildBlocks=buildBlocks;const n={AttachmentCollection:AttachmentCollection,BlockCollection:BlockCollection,OptionCollection:OptionCollection,OptionGroupCollection:OptionGroupCollection,buildBlock:buildBlock,buildBlocks:buildBlocks};t.Utilities=n},8578:(e,t,r)=>{e.exports=r(2805)},2805:(e,t,r)=>{"use strict";var s=r(1808);var n=r(4404);var o=r(3685);var i=r(5687);var a=r(9820);var A=r(9491);var c=r(3837);t.httpOverHttp=httpOverHttp;t.httpsOverHttp=httpsOverHttp;t.httpOverHttps=httpOverHttps;t.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var t=new TunnelingAgent(e);t.request=o.request;return t}function httpsOverHttp(e){var t=new TunnelingAgent(e);t.request=o.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function httpOverHttps(e){var t=new TunnelingAgent(e);t.request=i.request;return t}function httpsOverHttps(e){var t=new TunnelingAgent(e);t.request=i.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function TunnelingAgent(e){var t=this;t.options=e||{};t.proxyOptions=t.options.proxy||{};t.maxSockets=t.options.maxSockets||o.Agent.defaultMaxSockets;t.requests=[];t.sockets=[];t.on("free",(function onFree(e,r,s,n){var o=toOptions(r,s,n);for(var i=0,a=t.requests.length;i=this.maxSockets){n.requests.push(o);return}n.createSocket(o,(function(t){t.on("free",onFree);t.on("close",onCloseOrRemove);t.on("agentRemove",onCloseOrRemove);e.onSocket(t);function onFree(){n.emit("free",t,o)}function onCloseOrRemove(e){n.removeSocket(t);t.removeListener("free",onFree);t.removeListener("close",onCloseOrRemove);t.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,t){var r=this;var s={};r.sockets.push(s);var n=mergeOptions({},r.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){n.localAddress=e.localAddress}if(n.proxyAuth){n.headers=n.headers||{};n.headers["Proxy-Authorization"]="Basic "+new Buffer(n.proxyAuth).toString("base64")}l("making CONNECT request");var o=r.request(n);o.useChunkedEncodingByDefault=false;o.once("response",onResponse);o.once("upgrade",onUpgrade);o.once("connect",onConnect);o.once("error",onError);o.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,t,r){process.nextTick((function(){onConnect(e,t,r)}))}function onConnect(n,i,a){o.removeAllListeners();i.removeAllListeners();if(n.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",n.statusCode);i.destroy();var A=new Error("tunneling socket could not be established, "+"statusCode="+n.statusCode);A.code="ECONNRESET";e.request.emit("error",A);r.removeSocket(s);return}if(a.length>0){l("got illegal response body from proxy");i.destroy();var A=new Error("got illegal response body from proxy");A.code="ECONNRESET";e.request.emit("error",A);r.removeSocket(s);return}l("tunneling connection has established");r.sockets[r.sockets.indexOf(s)]=i;return t(i)}function onError(t){o.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var n=new Error("tunneling socket could not be established, "+"cause="+t.message);n.code="ECONNRESET";e.request.emit("error",n);r.removeSocket(s)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var t=this.sockets.indexOf(e);if(t===-1){return}this.sockets.splice(t,1);var r=this.requests.shift();if(r){this.createSocket(r,(function(e){r.request.onSocket(e)}))}};function createSecureSocket(e,t){var r=this;TunnelingAgent.prototype.createSocket.call(r,e,(function(s){var o=e.request.getHeader("host");var i=mergeOptions({},r.options,{socket:s,servername:o?o.replace(/:.*$/,""):e.host});var a=n.connect(0,i);r.sockets[r.sockets.indexOf(s)]=a;t(a)}))}function toOptions(e,t,r){if(typeof e==="string"){return{host:e,port:t,localAddress:r}}return e}function mergeOptions(e){for(var t=1,r=arguments.length;t{"use strict";const s=r(1735);const n=r(8648);const o=r(2366);const i=r(780);const a=r(6318);const A=r(8840);const c=r(7497);const{InvalidArgumentError:l}=o;const u=r(6499);const p=r(9218);const d=r(1287);const g=r(6004);const h=r(7220);const m=r(2703);const E=r(9498);const C=r(8984);const{getGlobalDispatcher:I,setGlobalDispatcher:B}=r(2899);const Q=r(253);const b=r(292);const y=r(3167);let v;try{r(6113);v=true}catch{v=false}Object.assign(n.prototype,u);e.exports.Dispatcher=n;e.exports.Client=s;e.exports.Pool=i;e.exports.BalancedPool=a;e.exports.Agent=A;e.exports.ProxyAgent=E;e.exports.RetryHandler=C;e.exports.DecoratorHandler=Q;e.exports.RedirectHandler=b;e.exports.createRedirectInterceptor=y;e.exports.buildConnector=p;e.exports.errors=o;function makeDispatcher(e){return(t,r,s)=>{if(typeof r==="function"){s=r;r=null}if(!t||typeof t!=="string"&&typeof t!=="object"&&!(t instanceof URL)){throw new l("invalid url")}if(r!=null&&typeof r!=="object"){throw new l("invalid opts")}if(r&&r.path!=null){if(typeof r.path!=="string"){throw new l("invalid opts.path")}let e=r.path;if(!r.path.startsWith("/")){e=`/${e}`}t=new URL(c.parseOrigin(t).origin+e)}else{if(!r){r=typeof t==="object"?t:{}}t=c.parseURL(t)}const{agent:n,dispatcher:o=I()}=r;if(n){throw new l("unsupported opts.agent. Did you mean opts.client?")}return e.call(o,{...r,origin:t.origin,path:t.search?`${t.pathname}${t.search}`:t.pathname,method:r.method||(r.body?"PUT":"GET")},s)}}e.exports.setGlobalDispatcher=B;e.exports.getGlobalDispatcher=I;if(c.nodeMajor>16||c.nodeMajor===16&&c.nodeMinor>=8){let t=null;e.exports.fetch=async function fetch(e){if(!t){t=r(8802).fetch}try{return await t(...arguments)}catch(e){if(typeof e==="object"){Error.captureStackTrace(e,this)}throw e}};e.exports.Headers=r(1855).Headers;e.exports.Response=r(3950).Response;e.exports.Request=r(6453).Request;e.exports.FormData=r(9425).FormData;e.exports.File=r(5506).File;e.exports.FileReader=r(929).FileReader;const{setGlobalOrigin:s,getGlobalOrigin:n}=r(7011);e.exports.setGlobalOrigin=s;e.exports.getGlobalOrigin=n;const{CacheStorage:o}=r(4082);const{kConstruct:i}=r(6648);e.exports.caches=new o(i)}if(c.nodeMajor>=16){const{deleteCookie:t,getCookies:s,getSetCookies:n,setCookie:o}=r(9738);e.exports.deleteCookie=t;e.exports.getCookies=s;e.exports.getSetCookies=n;e.exports.setCookie=o;const{parseMIMEType:i,serializeAMimeType:a}=r(5958);e.exports.parseMIMEType=i;e.exports.serializeAMimeType=a}if(c.nodeMajor>=18&&v){const{WebSocket:t}=r(1986);e.exports.WebSocket=t}e.exports.request=makeDispatcher(u.request);e.exports.stream=makeDispatcher(u.stream);e.exports.pipeline=makeDispatcher(u.pipeline);e.exports.connect=makeDispatcher(u.connect);e.exports.upgrade=makeDispatcher(u.upgrade);e.exports.MockClient=d;e.exports.MockPool=h;e.exports.MockAgent=g;e.exports.mockErrors=m},8840:(e,t,r)=>{"use strict";const{InvalidArgumentError:s}=r(2366);const{kClients:n,kRunning:o,kClose:i,kDestroy:a,kDispatch:A,kInterceptors:c}=r(3932);const l=r(8757);const u=r(780);const p=r(1735);const d=r(7497);const g=r(3167);const{WeakRef:h,FinalizationRegistry:m}=r(5285)();const E=Symbol("onConnect");const C=Symbol("onDisconnect");const I=Symbol("onConnectionError");const B=Symbol("maxRedirections");const Q=Symbol("onDrain");const b=Symbol("factory");const y=Symbol("finalizer");const v=Symbol("options");function defaultFactory(e,t){return t&&t.connections===1?new p(e,t):new u(e,t)}class Agent extends l{constructor({factory:e=defaultFactory,maxRedirections:t=0,connect:r,...o}={}){super();if(typeof e!=="function"){throw new s("factory must be a function.")}if(r!=null&&typeof r!=="function"&&typeof r!=="object"){throw new s("connect must be a function or an object")}if(!Number.isInteger(t)||t<0){throw new s("maxRedirections must be a positive number")}if(r&&typeof r!=="function"){r={...r}}this[c]=o.interceptors&&o.interceptors.Agent&&Array.isArray(o.interceptors.Agent)?o.interceptors.Agent:[g({maxRedirections:t})];this[v]={...d.deepClone(o),connect:r};this[v].interceptors=o.interceptors?{...o.interceptors}:undefined;this[B]=t;this[b]=e;this[n]=new Map;this[y]=new m((e=>{const t=this[n].get(e);if(t!==undefined&&t.deref()===undefined){this[n].delete(e)}}));const i=this;this[Q]=(e,t)=>{i.emit("drain",e,[i,...t])};this[E]=(e,t)=>{i.emit("connect",e,[i,...t])};this[C]=(e,t,r)=>{i.emit("disconnect",e,[i,...t],r)};this[I]=(e,t,r)=>{i.emit("connectionError",e,[i,...t],r)}}get[o](){let e=0;for(const t of this[n].values()){const r=t.deref();if(r){e+=r[o]}}return e}[A](e,t){let r;if(e.origin&&(typeof e.origin==="string"||e.origin instanceof URL)){r=String(e.origin)}else{throw new s("opts.origin must be a non-empty string or URL.")}const o=this[n].get(r);let i=o?o.deref():null;if(!i){i=this[b](e.origin,this[v]).on("drain",this[Q]).on("connect",this[E]).on("disconnect",this[C]).on("connectionError",this[I]);this[n].set(r,new h(i));this[y].register(i,r)}return i.dispatch(e,t)}async[i](){const e=[];for(const t of this[n].values()){const r=t.deref();if(r){e.push(r.close())}}await Promise.all(e)}async[a](e){const t=[];for(const r of this[n].values()){const s=r.deref();if(s){t.push(s.destroy(e))}}await Promise.all(t)}}e.exports=Agent},8949:(e,t,r)=>{const{addAbortListener:s}=r(7497);const{RequestAbortedError:n}=r(2366);const o=Symbol("kListener");const i=Symbol("kSignal");function abort(e){if(e.abort){e.abort()}else{e.onError(new n)}}function addSignal(e,t){e[i]=null;e[o]=null;if(!t){return}if(t.aborted){abort(e);return}e[i]=t;e[o]=()=>{abort(e)};s(e[i],e[o])}function removeSignal(e){if(!e[i]){return}if("removeEventListener"in e[i]){e[i].removeEventListener("abort",e[o])}else{e[i].removeListener("abort",e[o])}e[i]=null;e[o]=null}e.exports={addSignal:addSignal,removeSignal:removeSignal}},6589:(e,t,r)=>{"use strict";const{AsyncResource:s}=r(852);const{InvalidArgumentError:n,RequestAbortedError:o,SocketError:i}=r(2366);const a=r(7497);const{addSignal:A,removeSignal:c}=r(8949);class ConnectHandler extends s{constructor(e,t){if(!e||typeof e!=="object"){throw new n("invalid opts")}if(typeof t!=="function"){throw new n("invalid callback")}const{signal:r,opaque:s,responseHeaders:o}=e;if(r&&typeof r.on!=="function"&&typeof r.addEventListener!=="function"){throw new n("signal must be an EventEmitter or EventTarget")}super("UNDICI_CONNECT");this.opaque=s||null;this.responseHeaders=o||null;this.callback=t;this.abort=null;A(this,r)}onConnect(e,t){if(!this.callback){throw new o}this.abort=e;this.context=t}onHeaders(){throw new i("bad connect",null)}onUpgrade(e,t,r){const{callback:s,opaque:n,context:o}=this;c(this);this.callback=null;let i=t;if(i!=null){i=this.responseHeaders==="raw"?a.parseRawHeaders(t):a.parseHeaders(t)}this.runInAsyncScope(s,null,null,{statusCode:e,headers:i,socket:r,opaque:n,context:o})}onError(e){const{callback:t,opaque:r}=this;c(this);if(t){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(t,null,e,{opaque:r})}))}}}function connect(e,t){if(t===undefined){return new Promise(((t,r)=>{connect.call(this,e,((e,s)=>e?r(e):t(s)))}))}try{const r=new ConnectHandler(e,t);this.dispatch({...e,method:"CONNECT"},r)}catch(r){if(typeof t!=="function"){throw r}const s=e&&e.opaque;queueMicrotask((()=>t(r,{opaque:s})))}}e.exports=connect},6970:(e,t,r)=>{"use strict";const{Readable:s,Duplex:n,PassThrough:o}=r(2781);const{InvalidArgumentError:i,InvalidReturnValueError:a,RequestAbortedError:A}=r(2366);const c=r(7497);const{AsyncResource:l}=r(852);const{addSignal:u,removeSignal:p}=r(8949);const d=r(9491);const g=Symbol("resume");class PipelineRequest extends s{constructor(){super({autoDestroy:true});this[g]=null}_read(){const{[g]:e}=this;if(e){this[g]=null;e()}}_destroy(e,t){this._read();t(e)}}class PipelineResponse extends s{constructor(e){super({autoDestroy:true});this[g]=e}_read(){this[g]()}_destroy(e,t){if(!e&&!this._readableState.endEmitted){e=new A}t(e)}}class PipelineHandler extends l{constructor(e,t){if(!e||typeof e!=="object"){throw new i("invalid opts")}if(typeof t!=="function"){throw new i("invalid handler")}const{signal:r,method:s,opaque:o,onInfo:a,responseHeaders:l}=e;if(r&&typeof r.on!=="function"&&typeof r.addEventListener!=="function"){throw new i("signal must be an EventEmitter or EventTarget")}if(s==="CONNECT"){throw new i("invalid method")}if(a&&typeof a!=="function"){throw new i("invalid onInfo callback")}super("UNDICI_PIPELINE");this.opaque=o||null;this.responseHeaders=l||null;this.handler=t;this.abort=null;this.context=null;this.onInfo=a||null;this.req=(new PipelineRequest).on("error",c.nop);this.ret=new n({readableObjectMode:e.objectMode,autoDestroy:true,read:()=>{const{body:e}=this;if(e&&e.resume){e.resume()}},write:(e,t,r)=>{const{req:s}=this;if(s.push(e,t)||s._readableState.destroyed){r()}else{s[g]=r}},destroy:(e,t)=>{const{body:r,req:s,res:n,ret:o,abort:i}=this;if(!e&&!o._readableState.endEmitted){e=new A}if(i&&e){i()}c.destroy(r,e);c.destroy(s,e);c.destroy(n,e);p(this);t(e)}}).on("prefinish",(()=>{const{req:e}=this;e.push(null)}));this.res=null;u(this,r)}onConnect(e,t){const{ret:r,res:s}=this;d(!s,"pipeline cannot be retried");if(r.destroyed){throw new A}this.abort=e;this.context=t}onHeaders(e,t,r){const{opaque:s,handler:n,context:o}=this;if(e<200){if(this.onInfo){const r=this.responseHeaders==="raw"?c.parseRawHeaders(t):c.parseHeaders(t);this.onInfo({statusCode:e,headers:r})}return}this.res=new PipelineResponse(r);let i;try{this.handler=null;const r=this.responseHeaders==="raw"?c.parseRawHeaders(t):c.parseHeaders(t);i=this.runInAsyncScope(n,null,{statusCode:e,headers:r,opaque:s,body:this.res,context:o})}catch(e){this.res.on("error",c.nop);throw e}if(!i||typeof i.on!=="function"){throw new a("expected Readable")}i.on("data",(e=>{const{ret:t,body:r}=this;if(!t.push(e)&&r.pause){r.pause()}})).on("error",(e=>{const{ret:t}=this;c.destroy(t,e)})).on("end",(()=>{const{ret:e}=this;e.push(null)})).on("close",(()=>{const{ret:e}=this;if(!e._readableState.ended){c.destroy(e,new A)}}));this.body=i}onData(e){const{res:t}=this;return t.push(e)}onComplete(e){const{res:t}=this;t.push(null)}onError(e){const{ret:t}=this;this.handler=null;c.destroy(t,e)}}function pipeline(e,t){try{const r=new PipelineHandler(e,t);this.dispatch({...e,body:r.req},r);return r.ret}catch(e){return(new o).destroy(e)}}e.exports=pipeline},8859:(e,t,r)=>{"use strict";const s=r(2086);const{InvalidArgumentError:n,RequestAbortedError:o}=r(2366);const i=r(7497);const{getResolveErrorBodyCallback:a}=r(6017);const{AsyncResource:A}=r(852);const{addSignal:c,removeSignal:l}=r(8949);class RequestHandler extends A{constructor(e,t){if(!e||typeof e!=="object"){throw new n("invalid opts")}const{signal:r,method:s,opaque:o,body:a,onInfo:A,responseHeaders:l,throwOnError:u,highWaterMark:p}=e;try{if(typeof t!=="function"){throw new n("invalid callback")}if(p&&(typeof p!=="number"||p<0)){throw new n("invalid highWaterMark")}if(r&&typeof r.on!=="function"&&typeof r.addEventListener!=="function"){throw new n("signal must be an EventEmitter or EventTarget")}if(s==="CONNECT"){throw new n("invalid method")}if(A&&typeof A!=="function"){throw new n("invalid onInfo callback")}super("UNDICI_REQUEST")}catch(e){if(i.isStream(a)){i.destroy(a.on("error",i.nop),e)}throw e}this.responseHeaders=l||null;this.opaque=o||null;this.callback=t;this.res=null;this.abort=null;this.body=a;this.trailers={};this.context=null;this.onInfo=A||null;this.throwOnError=u;this.highWaterMark=p;if(i.isStream(a)){a.on("error",(e=>{this.onError(e)}))}c(this,r)}onConnect(e,t){if(!this.callback){throw new o}this.abort=e;this.context=t}onHeaders(e,t,r,n){const{callback:o,opaque:A,abort:c,context:l,responseHeaders:u,highWaterMark:p}=this;const d=u==="raw"?i.parseRawHeaders(t):i.parseHeaders(t);if(e<200){if(this.onInfo){this.onInfo({statusCode:e,headers:d})}return}const g=u==="raw"?i.parseHeaders(t):d;const h=g["content-type"];const m=new s({resume:r,abort:c,contentType:h,highWaterMark:p});this.callback=null;this.res=m;if(o!==null){if(this.throwOnError&&e>=400){this.runInAsyncScope(a,null,{callback:o,body:m,contentType:h,statusCode:e,statusMessage:n,headers:d})}else{this.runInAsyncScope(o,null,null,{statusCode:e,headers:d,trailers:this.trailers,opaque:A,body:m,context:l})}}}onData(e){const{res:t}=this;return t.push(e)}onComplete(e){const{res:t}=this;l(this);i.parseHeaders(e,this.trailers);t.push(null)}onError(e){const{res:t,callback:r,body:s,opaque:n}=this;l(this);if(r){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(r,null,e,{opaque:n})}))}if(t){this.res=null;queueMicrotask((()=>{i.destroy(t,e)}))}if(s){this.body=null;i.destroy(s,e)}}}function request(e,t){if(t===undefined){return new Promise(((t,r)=>{request.call(this,e,((e,s)=>e?r(e):t(s)))}))}try{this.dispatch(e,new RequestHandler(e,t))}catch(r){if(typeof t!=="function"){throw r}const s=e&&e.opaque;queueMicrotask((()=>t(r,{opaque:s})))}}e.exports=request;e.exports.RequestHandler=RequestHandler},4336:(e,t,r)=>{"use strict";const{finished:s,PassThrough:n}=r(2781);const{InvalidArgumentError:o,InvalidReturnValueError:i,RequestAbortedError:a}=r(2366);const A=r(7497);const{getResolveErrorBodyCallback:c}=r(6017);const{AsyncResource:l}=r(852);const{addSignal:u,removeSignal:p}=r(8949);class StreamHandler extends l{constructor(e,t,r){if(!e||typeof e!=="object"){throw new o("invalid opts")}const{signal:s,method:n,opaque:i,body:a,onInfo:c,responseHeaders:l,throwOnError:p}=e;try{if(typeof r!=="function"){throw new o("invalid callback")}if(typeof t!=="function"){throw new o("invalid factory")}if(s&&typeof s.on!=="function"&&typeof s.addEventListener!=="function"){throw new o("signal must be an EventEmitter or EventTarget")}if(n==="CONNECT"){throw new o("invalid method")}if(c&&typeof c!=="function"){throw new o("invalid onInfo callback")}super("UNDICI_STREAM")}catch(e){if(A.isStream(a)){A.destroy(a.on("error",A.nop),e)}throw e}this.responseHeaders=l||null;this.opaque=i||null;this.factory=t;this.callback=r;this.res=null;this.abort=null;this.context=null;this.trailers=null;this.body=a;this.onInfo=c||null;this.throwOnError=p||false;if(A.isStream(a)){a.on("error",(e=>{this.onError(e)}))}u(this,s)}onConnect(e,t){if(!this.callback){throw new a}this.abort=e;this.context=t}onHeaders(e,t,r,o){const{factory:a,opaque:l,context:u,callback:p,responseHeaders:d}=this;const g=d==="raw"?A.parseRawHeaders(t):A.parseHeaders(t);if(e<200){if(this.onInfo){this.onInfo({statusCode:e,headers:g})}return}this.factory=null;let h;if(this.throwOnError&&e>=400){const r=d==="raw"?A.parseHeaders(t):g;const s=r["content-type"];h=new n;this.callback=null;this.runInAsyncScope(c,null,{callback:p,body:h,contentType:s,statusCode:e,statusMessage:o,headers:g})}else{if(a===null){return}h=this.runInAsyncScope(a,null,{statusCode:e,headers:g,opaque:l,context:u});if(!h||typeof h.write!=="function"||typeof h.end!=="function"||typeof h.on!=="function"){throw new i("expected Writable")}s(h,{readable:false},(e=>{const{callback:t,res:r,opaque:s,trailers:n,abort:o}=this;this.res=null;if(e||!r.readable){A.destroy(r,e)}this.callback=null;this.runInAsyncScope(t,null,e||null,{opaque:s,trailers:n});if(e){o()}}))}h.on("drain",r);this.res=h;const m=h.writableNeedDrain!==undefined?h.writableNeedDrain:h._writableState&&h._writableState.needDrain;return m!==true}onData(e){const{res:t}=this;return t?t.write(e):true}onComplete(e){const{res:t}=this;p(this);if(!t){return}this.trailers=A.parseHeaders(e);t.end()}onError(e){const{res:t,callback:r,opaque:s,body:n}=this;p(this);this.factory=null;if(t){this.res=null;A.destroy(t,e)}else if(r){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(r,null,e,{opaque:s})}))}if(n){this.body=null;A.destroy(n,e)}}}function stream(e,t,r){if(r===undefined){return new Promise(((r,s)=>{stream.call(this,e,t,((e,t)=>e?s(e):r(t)))}))}try{this.dispatch(e,new StreamHandler(e,t,r))}catch(t){if(typeof r!=="function"){throw t}const s=e&&e.opaque;queueMicrotask((()=>r(t,{opaque:s})))}}e.exports=stream},6458:(e,t,r)=>{"use strict";const{InvalidArgumentError:s,RequestAbortedError:n,SocketError:o}=r(2366);const{AsyncResource:i}=r(852);const a=r(7497);const{addSignal:A,removeSignal:c}=r(8949);const l=r(9491);class UpgradeHandler extends i{constructor(e,t){if(!e||typeof e!=="object"){throw new s("invalid opts")}if(typeof t!=="function"){throw new s("invalid callback")}const{signal:r,opaque:n,responseHeaders:o}=e;if(r&&typeof r.on!=="function"&&typeof r.addEventListener!=="function"){throw new s("signal must be an EventEmitter or EventTarget")}super("UNDICI_UPGRADE");this.responseHeaders=o||null;this.opaque=n||null;this.callback=t;this.abort=null;this.context=null;A(this,r)}onConnect(e,t){if(!this.callback){throw new n}this.abort=e;this.context=null}onHeaders(){throw new o("bad upgrade",null)}onUpgrade(e,t,r){const{callback:s,opaque:n,context:o}=this;l.strictEqual(e,101);c(this);this.callback=null;const i=this.responseHeaders==="raw"?a.parseRawHeaders(t):a.parseHeaders(t);this.runInAsyncScope(s,null,null,{headers:i,socket:r,opaque:n,context:o})}onError(e){const{callback:t,opaque:r}=this;c(this);if(t){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(t,null,e,{opaque:r})}))}}}function upgrade(e,t){if(t===undefined){return new Promise(((t,r)=>{upgrade.call(this,e,((e,s)=>e?r(e):t(s)))}))}try{const r=new UpgradeHandler(e,t);this.dispatch({...e,method:e.method||"GET",upgrade:e.protocol||"Websocket"},r)}catch(r){if(typeof t!=="function"){throw r}const s=e&&e.opaque;queueMicrotask((()=>t(r,{opaque:s})))}}e.exports=upgrade},6499:(e,t,r)=>{"use strict";e.exports.request=r(8859);e.exports.stream=r(4336);e.exports.pipeline=r(6970);e.exports.upgrade=r(6458);e.exports.connect=r(6589)},2086:(e,t,r)=>{"use strict";const s=r(9491);const{Readable:n}=r(2781);const{RequestAbortedError:o,NotSupportedError:i,InvalidArgumentError:a}=r(2366);const A=r(7497);const{ReadableStreamFrom:c,toUSVString:l}=r(7497);let u;const p=Symbol("kConsume");const d=Symbol("kReading");const g=Symbol("kBody");const h=Symbol("abort");const m=Symbol("kContentType");const noop=()=>{};e.exports=class BodyReadable extends n{constructor({resume:e,abort:t,contentType:r="",highWaterMark:s=64*1024}){super({autoDestroy:true,read:e,highWaterMark:s});this._readableState.dataEmitted=false;this[h]=t;this[p]=null;this[g]=null;this[m]=r;this[d]=false}destroy(e){if(this.destroyed){return this}if(!e&&!this._readableState.endEmitted){e=new o}if(e){this[h]()}return super.destroy(e)}emit(e,...t){if(e==="data"){this._readableState.dataEmitted=true}else if(e==="error"){this._readableState.errorEmitted=true}return super.emit(e,...t)}on(e,...t){if(e==="data"||e==="readable"){this[d]=true}return super.on(e,...t)}addListener(e,...t){return this.on(e,...t)}off(e,...t){const r=super.off(e,...t);if(e==="data"||e==="readable"){this[d]=this.listenerCount("data")>0||this.listenerCount("readable")>0}return r}removeListener(e,...t){return this.off(e,...t)}push(e){if(this[p]&&e!==null&&this.readableLength===0){consumePush(this[p],e);return this[d]?super.push(e):true}return super.push(e)}async text(){return consume(this,"text")}async json(){return consume(this,"json")}async blob(){return consume(this,"blob")}async arrayBuffer(){return consume(this,"arrayBuffer")}async formData(){throw new i}get bodyUsed(){return A.isDisturbed(this)}get body(){if(!this[g]){this[g]=c(this);if(this[p]){this[g].getReader();s(this[g].locked)}}return this[g]}dump(e){let t=e&&Number.isFinite(e.limit)?e.limit:262144;const r=e&&e.signal;if(r){try{if(typeof r!=="object"||!("aborted"in r)){throw new a("signal must be an AbortSignal")}A.throwIfAborted(r)}catch(e){return Promise.reject(e)}}if(this.closed){return Promise.resolve(null)}return new Promise(((e,s)=>{const n=r?A.addAbortListener(r,(()=>{this.destroy()})):noop;this.on("close",(function(){n();if(r&&r.aborted){s(r.reason||Object.assign(new Error("The operation was aborted"),{name:"AbortError"}))}else{e(null)}})).on("error",noop).on("data",(function(e){t-=e.length;if(t<=0){this.destroy()}})).resume()}))}};function isLocked(e){return e[g]&&e[g].locked===true||e[p]}function isUnusable(e){return A.isDisturbed(e)||isLocked(e)}async function consume(e,t){if(isUnusable(e)){throw new TypeError("unusable")}s(!e[p]);return new Promise(((r,s)=>{e[p]={type:t,stream:e,resolve:r,reject:s,length:0,body:[]};e.on("error",(function(e){consumeFinish(this[p],e)})).on("close",(function(){if(this[p].body!==null){consumeFinish(this[p],new o)}}));process.nextTick(consumeStart,e[p])}))}function consumeStart(e){if(e.body===null){return}const{_readableState:t}=e.stream;for(const r of t.buffer){consumePush(e,r)}if(t.endEmitted){consumeEnd(this[p])}else{e.stream.on("end",(function(){consumeEnd(this[p])}))}e.stream.resume();while(e.stream.read()!=null){}}function consumeEnd(e){const{type:t,body:s,resolve:n,stream:o,length:i}=e;try{if(t==="text"){n(l(Buffer.concat(s)))}else if(t==="json"){n(JSON.parse(Buffer.concat(s)))}else if(t==="arrayBuffer"){const e=new Uint8Array(i);let t=0;for(const r of s){e.set(r,t);t+=r.byteLength}n(e.buffer)}else if(t==="blob"){if(!u){u=r(4300).Blob}n(new u(s,{type:o[m]}))}consumeFinish(e)}catch(e){o.destroy(e)}}function consumePush(e,t){e.length+=t.length;e.body.push(t)}function consumeFinish(e,t){if(e.body===null){return}if(t){e.reject(t)}else{e.resolve()}e.type=null;e.stream=null;e.resolve=null;e.reject=null;e.length=0;e.body=null}},6017:(e,t,r)=>{const s=r(9491);const{ResponseStatusCodeError:n}=r(2366);const{toUSVString:o}=r(7497);async function getResolveErrorBodyCallback({callback:e,body:t,contentType:r,statusCode:i,statusMessage:a,headers:A}){s(t);let c=[];let l=0;for await(const e of t){c.push(e);l+=e.length;if(l>128*1024){c=null;break}}if(i===204||!r||!c){process.nextTick(e,new n(`Response status code ${i}${a?`: ${a}`:""}`,i,A));return}try{if(r.startsWith("application/json")){const t=JSON.parse(o(Buffer.concat(c)));process.nextTick(e,new n(`Response status code ${i}${a?`: ${a}`:""}`,i,A,t));return}if(r.startsWith("text/")){const t=o(Buffer.concat(c));process.nextTick(e,new n(`Response status code ${i}${a?`: ${a}`:""}`,i,A,t));return}}catch(e){}process.nextTick(e,new n(`Response status code ${i}${a?`: ${a}`:""}`,i,A))}e.exports={getResolveErrorBodyCallback:getResolveErrorBodyCallback}},6318:(e,t,r)=>{"use strict";const{BalancedPoolMissingUpstreamError:s,InvalidArgumentError:n}=r(2366);const{PoolBase:o,kClients:i,kNeedDrain:a,kAddClient:A,kRemoveClient:c,kGetDispatcher:l}=r(4414);const u=r(780);const{kUrl:p,kInterceptors:d}=r(3932);const{parseOrigin:g}=r(7497);const h=Symbol("factory");const m=Symbol("options");const E=Symbol("kGreatestCommonDivisor");const C=Symbol("kCurrentWeight");const I=Symbol("kIndex");const B=Symbol("kWeight");const Q=Symbol("kMaxWeightPerServer");const b=Symbol("kErrorPenalty");function getGreatestCommonDivisor(e,t){if(t===0)return e;return getGreatestCommonDivisor(t,e%t)}function defaultFactory(e,t){return new u(e,t)}class BalancedPool extends o{constructor(e=[],{factory:t=defaultFactory,...r}={}){super();this[m]=r;this[I]=-1;this[C]=0;this[Q]=this[m].maxWeightPerServer||100;this[b]=this[m].errorPenalty||15;if(!Array.isArray(e)){e=[e]}if(typeof t!=="function"){throw new n("factory must be a function.")}this[d]=r.interceptors&&r.interceptors.BalancedPool&&Array.isArray(r.interceptors.BalancedPool)?r.interceptors.BalancedPool:[];this[h]=t;for(const t of e){this.addUpstream(t)}this._updateBalancedPoolStats()}addUpstream(e){const t=g(e).origin;if(this[i].find((e=>e[p].origin===t&&e.closed!==true&&e.destroyed!==true))){return this}const r=this[h](t,Object.assign({},this[m]));this[A](r);r.on("connect",(()=>{r[B]=Math.min(this[Q],r[B]+this[b])}));r.on("connectionError",(()=>{r[B]=Math.max(1,r[B]-this[b]);this._updateBalancedPoolStats()}));r.on("disconnect",((...e)=>{const t=e[2];if(t&&t.code==="UND_ERR_SOCKET"){r[B]=Math.max(1,r[B]-this[b]);this._updateBalancedPoolStats()}}));for(const e of this[i]){e[B]=this[Q]}this._updateBalancedPoolStats();return this}_updateBalancedPoolStats(){this[E]=this[i].map((e=>e[B])).reduce(getGreatestCommonDivisor,0)}removeUpstream(e){const t=g(e).origin;const r=this[i].find((e=>e[p].origin===t&&e.closed!==true&&e.destroyed!==true));if(r){this[c](r)}return this}get upstreams(){return this[i].filter((e=>e.closed!==true&&e.destroyed!==true)).map((e=>e[p].origin))}[l](){if(this[i].length===0){throw new s}const e=this[i].find((e=>!e[a]&&e.closed!==true&&e.destroyed!==true));if(!e){return}const t=this[i].map((e=>e[a])).reduce(((e,t)=>e&&t),true);if(t){return}let r=0;let n=this[i].findIndex((e=>!e[a]));while(r++this[i][n][B]&&!e[a]){n=this[I]}if(this[I]===0){this[C]=this[C]-this[E];if(this[C]<=0){this[C]=this[Q]}}if(e[B]>=this[C]&&!e[a]){return e}}this[C]=this[i][n][B];this[I]=n;return this[i][n]}}e.exports=BalancedPool},2028:(e,t,r)=>{"use strict";const{kConstruct:s}=r(6648);const{urlEquals:n,fieldValues:o}=r(3651);const{kEnumerableProperty:i,isDisturbed:a}=r(7497);const{kHeadersList:A}=r(3932);const{webidl:c}=r(9111);const{Response:l,cloneResponse:u}=r(3950);const{Request:p}=r(6453);const{kState:d,kHeaders:g,kGuard:h,kRealm:m}=r(5376);const{fetching:E}=r(8802);const{urlIsHttpHttpsScheme:C,createDeferredPromise:I,readAllBytes:B}=r(5496);const Q=r(9491);const{getGlobalDispatcher:b}=r(2899);class Cache{#e;constructor(){if(arguments[0]!==s){c.illegalConstructor()}this.#e=arguments[1]}async match(e,t={}){c.brandCheck(this,Cache);c.argumentLengthCheck(arguments,1,{header:"Cache.match"});e=c.converters.RequestInfo(e);t=c.converters.CacheQueryOptions(t);const r=await this.matchAll(e,t);if(r.length===0){return}return r[0]}async matchAll(e=undefined,t={}){c.brandCheck(this,Cache);if(e!==undefined)e=c.converters.RequestInfo(e);t=c.converters.CacheQueryOptions(t);let r=null;if(e!==undefined){if(e instanceof p){r=e[d];if(r.method!=="GET"&&!t.ignoreMethod){return[]}}else if(typeof e==="string"){r=new p(e)[d]}}const s=[];if(e===undefined){for(const e of this.#e){s.push(e[1])}}else{const e=this.#t(r,t);for(const t of e){s.push(t[1])}}const n=[];for(const e of s){const t=new l(e.body?.source??null);const r=t[d].body;t[d]=e;t[d].body=r;t[g][A]=e.headersList;t[g][h]="immutable";n.push(t)}return Object.freeze(n)}async add(e){c.brandCheck(this,Cache);c.argumentLengthCheck(arguments,1,{header:"Cache.add"});e=c.converters.RequestInfo(e);const t=[e];const r=this.addAll(t);return await r}async addAll(e){c.brandCheck(this,Cache);c.argumentLengthCheck(arguments,1,{header:"Cache.addAll"});e=c.converters["sequence"](e);const t=[];const r=[];for(const t of e){if(typeof t==="string"){continue}const e=t[d];if(!C(e.url)||e.method!=="GET"){throw c.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme when method is not GET."})}}const s=[];for(const n of e){const e=new p(n)[d];if(!C(e.url)){throw c.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme."})}e.initiator="fetch";e.destination="subresource";r.push(e);const i=I();s.push(E({request:e,dispatcher:b(),processResponse(e){if(e.type==="error"||e.status===206||e.status<200||e.status>299){i.reject(c.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}))}else if(e.headersList.contains("vary")){const t=o(e.headersList.get("vary"));for(const e of t){if(e==="*"){i.reject(c.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(const e of s){e.abort()}return}}}},processResponseEndOfBody(e){if(e.aborted){i.reject(new DOMException("aborted","AbortError"));return}i.resolve(e)}}));t.push(i.promise)}const n=Promise.all(t);const i=await n;const a=[];let A=0;for(const e of i){const t={type:"put",request:r[A],response:e};a.push(t);A++}const l=I();let u=null;try{this.#r(a)}catch(e){u=e}queueMicrotask((()=>{if(u===null){l.resolve(undefined)}else{l.reject(u)}}));return l.promise}async put(e,t){c.brandCheck(this,Cache);c.argumentLengthCheck(arguments,2,{header:"Cache.put"});e=c.converters.RequestInfo(e);t=c.converters.Response(t);let r=null;if(e instanceof p){r=e[d]}else{r=new p(e)[d]}if(!C(r.url)||r.method!=="GET"){throw c.errors.exception({header:"Cache.put",message:"Expected an http/s scheme when method is not GET"})}const s=t[d];if(s.status===206){throw c.errors.exception({header:"Cache.put",message:"Got 206 status"})}if(s.headersList.contains("vary")){const e=o(s.headersList.get("vary"));for(const t of e){if(t==="*"){throw c.errors.exception({header:"Cache.put",message:"Got * vary field value"})}}}if(s.body&&(a(s.body.stream)||s.body.stream.locked)){throw c.errors.exception({header:"Cache.put",message:"Response body is locked or disturbed"})}const n=u(s);const i=I();if(s.body!=null){const e=s.body.stream;const t=e.getReader();B(t).then(i.resolve,i.reject)}else{i.resolve(undefined)}const A=[];const l={type:"put",request:r,response:n};A.push(l);const g=await i.promise;if(n.body!=null){n.body.source=g}const h=I();let m=null;try{this.#r(A)}catch(e){m=e}queueMicrotask((()=>{if(m===null){h.resolve()}else{h.reject(m)}}));return h.promise}async delete(e,t={}){c.brandCheck(this,Cache);c.argumentLengthCheck(arguments,1,{header:"Cache.delete"});e=c.converters.RequestInfo(e);t=c.converters.CacheQueryOptions(t);let r=null;if(e instanceof p){r=e[d];if(r.method!=="GET"&&!t.ignoreMethod){return false}}else{Q(typeof e==="string");r=new p(e)[d]}const s=[];const n={type:"delete",request:r,options:t};s.push(n);const o=I();let i=null;let a;try{a=this.#r(s)}catch(e){i=e}queueMicrotask((()=>{if(i===null){o.resolve(!!a?.length)}else{o.reject(i)}}));return o.promise}async keys(e=undefined,t={}){c.brandCheck(this,Cache);if(e!==undefined)e=c.converters.RequestInfo(e);t=c.converters.CacheQueryOptions(t);let r=null;if(e!==undefined){if(e instanceof p){r=e[d];if(r.method!=="GET"&&!t.ignoreMethod){return[]}}else if(typeof e==="string"){r=new p(e)[d]}}const s=I();const n=[];if(e===undefined){for(const e of this.#e){n.push(e[0])}}else{const e=this.#t(r,t);for(const t of e){n.push(t[0])}}queueMicrotask((()=>{const e=[];for(const t of n){const r=new p("https://a");r[d]=t;r[g][A]=t.headersList;r[g][h]="immutable";r[m]=t.client;e.push(r)}s.resolve(Object.freeze(e))}));return s.promise}#r(e){const t=this.#e;const r=[...t];const s=[];const n=[];try{for(const r of e){if(r.type!=="delete"&&r.type!=="put"){throw c.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'})}if(r.type==="delete"&&r.response!=null){throw c.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"})}if(this.#t(r.request,r.options,s).length){throw new DOMException("???","InvalidStateError")}let e;if(r.type==="delete"){e=this.#t(r.request,r.options);if(e.length===0){return[]}for(const r of e){const e=t.indexOf(r);Q(e!==-1);t.splice(e,1)}}else if(r.type==="put"){if(r.response==null){throw c.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"})}const n=r.request;if(!C(n.url)){throw c.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"})}if(n.method!=="GET"){throw c.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"})}if(r.options!=null){throw c.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"})}e=this.#t(r.request);for(const r of e){const e=t.indexOf(r);Q(e!==-1);t.splice(e,1)}t.push([r.request,r.response]);s.push([r.request,r.response])}n.push([r.request,r.response])}return n}catch(e){this.#e.length=0;this.#e=r;throw e}}#t(e,t,r){const s=[];const n=r??this.#e;for(const r of n){const[n,o]=r;if(this.#s(e,n,o,t)){s.push(r)}}return s}#s(e,t,r=null,s){const i=new URL(e.url);const a=new URL(t.url);if(s?.ignoreSearch){a.search="";i.search=""}if(!n(i,a,true)){return false}if(r==null||s?.ignoreVary||!r.headersList.contains("vary")){return true}const A=o(r.headersList.get("vary"));for(const r of A){if(r==="*"){return false}const s=t.headersList.get(r);const n=e.headersList.get(r);if(s!==n){return false}}return true}}Object.defineProperties(Cache.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:true},match:i,matchAll:i,add:i,addAll:i,put:i,delete:i,keys:i});const y=[{key:"ignoreSearch",converter:c.converters.boolean,defaultValue:false},{key:"ignoreMethod",converter:c.converters.boolean,defaultValue:false},{key:"ignoreVary",converter:c.converters.boolean,defaultValue:false}];c.converters.CacheQueryOptions=c.dictionaryConverter(y);c.converters.MultiCacheQueryOptions=c.dictionaryConverter([...y,{key:"cacheName",converter:c.converters.DOMString}]);c.converters.Response=c.interfaceConverter(l);c.converters["sequence"]=c.sequenceConverter(c.converters.RequestInfo);e.exports={Cache:Cache}},4082:(e,t,r)=>{"use strict";const{kConstruct:s}=r(6648);const{Cache:n}=r(2028);const{webidl:o}=r(9111);const{kEnumerableProperty:i}=r(7497);class CacheStorage{#n=new Map;constructor(){if(arguments[0]!==s){o.illegalConstructor()}}async match(e,t={}){o.brandCheck(this,CacheStorage);o.argumentLengthCheck(arguments,1,{header:"CacheStorage.match"});e=o.converters.RequestInfo(e);t=o.converters.MultiCacheQueryOptions(t);if(t.cacheName!=null){if(this.#n.has(t.cacheName)){const r=this.#n.get(t.cacheName);const o=new n(s,r);return await o.match(e,t)}}else{for(const r of this.#n.values()){const o=new n(s,r);const i=await o.match(e,t);if(i!==undefined){return i}}}}async has(e){o.brandCheck(this,CacheStorage);o.argumentLengthCheck(arguments,1,{header:"CacheStorage.has"});e=o.converters.DOMString(e);return this.#n.has(e)}async open(e){o.brandCheck(this,CacheStorage);o.argumentLengthCheck(arguments,1,{header:"CacheStorage.open"});e=o.converters.DOMString(e);if(this.#n.has(e)){const t=this.#n.get(e);return new n(s,t)}const t=[];this.#n.set(e,t);return new n(s,t)}async delete(e){o.brandCheck(this,CacheStorage);o.argumentLengthCheck(arguments,1,{header:"CacheStorage.delete"});e=o.converters.DOMString(e);return this.#n.delete(e)}async keys(){o.brandCheck(this,CacheStorage);const e=this.#n.keys();return[...e]}}Object.defineProperties(CacheStorage.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:true},match:i,has:i,open:i,delete:i,keys:i});e.exports={CacheStorage:CacheStorage}},6648:(e,t,r)=>{"use strict";e.exports={kConstruct:r(3932).kConstruct}},3651:(e,t,r)=>{"use strict";const s=r(9491);const{URLSerializer:n}=r(5958);const{isValidHeaderName:o}=r(5496);function urlEquals(e,t,r=false){const s=n(e,r);const o=n(t,r);return s===o}function fieldValues(e){s(e!==null);const t=[];for(let r of e.split(",")){r=r.trim();if(!r.length){continue}else if(!o(r)){continue}t.push(r)}return t}e.exports={urlEquals:urlEquals,fieldValues:fieldValues}},1735:(e,t,r)=>{"use strict";const s=r(9491);const n=r(1808);const o=r(3685);const{pipeline:i}=r(2781);const a=r(7497);const A=r(2882);const c=r(3404);const l=r(8757);const{RequestContentLengthMismatchError:u,ResponseContentLengthMismatchError:p,InvalidArgumentError:d,RequestAbortedError:g,HeadersTimeoutError:h,HeadersOverflowError:m,SocketError:E,InformationalError:C,BodyTimeoutError:I,HTTPParserError:B,ResponseExceededMaxSizeError:Q,ClientDestroyedError:b}=r(2366);const y=r(9218);const{kUrl:v,kReset:w,kServerName:x,kClient:k,kBusy:R,kParser:S,kConnect:D,kBlocking:T,kResuming:_,kRunning:F,kPending:N,kSize:U,kWriting:M,kQueue:O,kConnected:L,kConnecting:P,kNeedDrain:G,kNoRef:j,kKeepAliveDefaultTimeout:H,kHostHeader:J,kPendingIdx:V,kRunningIdx:Y,kError:q,kPipelining:W,kSocket:Z,kKeepAliveTimeoutValue:z,kMaxHeadersSize:K,kKeepAliveMaxTimeout:X,kKeepAliveTimeoutThreshold:$,kHeadersTimeout:ee,kBodyTimeout:te,kStrictContentLength:re,kConnector:se,kMaxRedirections:ne,kMaxRequests:oe,kCounter:ie,kClose:ae,kDestroy:Ae,kDispatch:ce,kInterceptors:le,kLocalAddress:ue,kMaxResponseSize:pe,kHTTPConnVersion:de,kHost:ge,kHTTP2Session:he,kHTTP2SessionState:fe,kHTTP2BuildRequest:me,kHTTP2CopyHeaders:Ee,kHTTP1BuildRequest:Ce}=r(3932);let Ie;try{Ie=r(5158)}catch{Ie={constants:{}}}const{constants:{HTTP2_HEADER_AUTHORITY:Be,HTTP2_HEADER_METHOD:Qe,HTTP2_HEADER_PATH:be,HTTP2_HEADER_SCHEME:ye,HTTP2_HEADER_CONTENT_LENGTH:ve,HTTP2_HEADER_EXPECT:we,HTTP2_HEADER_STATUS:xe}}=Ie;let ke=false;const Re=Buffer[Symbol.species];const Se=Symbol("kClosedResolve");const De={};try{const e=r(7643);De.sendHeaders=e.channel("undici:client:sendHeaders");De.beforeConnect=e.channel("undici:client:beforeConnect");De.connectError=e.channel("undici:client:connectError");De.connected=e.channel("undici:client:connected")}catch{De.sendHeaders={hasSubscribers:false};De.beforeConnect={hasSubscribers:false};De.connectError={hasSubscribers:false};De.connected={hasSubscribers:false}}class Client extends l{constructor(e,{interceptors:t,maxHeaderSize:r,headersTimeout:s,socketTimeout:i,requestTimeout:A,connectTimeout:c,bodyTimeout:l,idleTimeout:u,keepAlive:p,keepAliveTimeout:g,maxKeepAliveTimeout:h,keepAliveMaxTimeout:m,keepAliveTimeoutThreshold:E,socketPath:C,pipelining:I,tls:B,strictContentLength:Q,maxCachedSessions:b,maxRedirections:w,connect:k,maxRequestsPerClient:R,localAddress:S,maxResponseSize:D,autoSelectFamily:T,autoSelectFamilyAttemptTimeout:F,allowH2:N,maxConcurrentStreams:U}={}){super();if(p!==undefined){throw new d("unsupported keepAlive, use pipelining=0 instead")}if(i!==undefined){throw new d("unsupported socketTimeout, use headersTimeout & bodyTimeout instead")}if(A!==undefined){throw new d("unsupported requestTimeout, use headersTimeout & bodyTimeout instead")}if(u!==undefined){throw new d("unsupported idleTimeout, use keepAliveTimeout instead")}if(h!==undefined){throw new d("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead")}if(r!=null&&!Number.isFinite(r)){throw new d("invalid maxHeaderSize")}if(C!=null&&typeof C!=="string"){throw new d("invalid socketPath")}if(c!=null&&(!Number.isFinite(c)||c<0)){throw new d("invalid connectTimeout")}if(g!=null&&(!Number.isFinite(g)||g<=0)){throw new d("invalid keepAliveTimeout")}if(m!=null&&(!Number.isFinite(m)||m<=0)){throw new d("invalid keepAliveMaxTimeout")}if(E!=null&&!Number.isFinite(E)){throw new d("invalid keepAliveTimeoutThreshold")}if(s!=null&&(!Number.isInteger(s)||s<0)){throw new d("headersTimeout must be a positive integer or zero")}if(l!=null&&(!Number.isInteger(l)||l<0)){throw new d("bodyTimeout must be a positive integer or zero")}if(k!=null&&typeof k!=="function"&&typeof k!=="object"){throw new d("connect must be a function or an object")}if(w!=null&&(!Number.isInteger(w)||w<0)){throw new d("maxRedirections must be a positive number")}if(R!=null&&(!Number.isInteger(R)||R<0)){throw new d("maxRequestsPerClient must be a positive number")}if(S!=null&&(typeof S!=="string"||n.isIP(S)===0)){throw new d("localAddress must be valid string IP address")}if(D!=null&&(!Number.isInteger(D)||D<-1)){throw new d("maxResponseSize must be a positive number")}if(F!=null&&(!Number.isInteger(F)||F<-1)){throw new d("autoSelectFamilyAttemptTimeout must be a positive number")}if(N!=null&&typeof N!=="boolean"){throw new d("allowH2 must be a valid boolean value")}if(U!=null&&(typeof U!=="number"||U<1)){throw new d("maxConcurrentStreams must be a possitive integer, greater than 0")}if(typeof k!=="function"){k=y({...B,maxCachedSessions:b,allowH2:N,socketPath:C,timeout:c,...a.nodeHasAutoSelectFamily&&T?{autoSelectFamily:T,autoSelectFamilyAttemptTimeout:F}:undefined,...k})}this[le]=t&&t.Client&&Array.isArray(t.Client)?t.Client:[_e({maxRedirections:w})];this[v]=a.parseOrigin(e);this[se]=k;this[Z]=null;this[W]=I!=null?I:1;this[K]=r||o.maxHeaderSize;this[H]=g==null?4e3:g;this[X]=m==null?6e5:m;this[$]=E==null?1e3:E;this[z]=this[H];this[x]=null;this[ue]=S!=null?S:null;this[_]=0;this[G]=0;this[J]=`host: ${this[v].hostname}${this[v].port?`:${this[v].port}`:""}\r\n`;this[te]=l!=null?l:3e5;this[ee]=s!=null?s:3e5;this[re]=Q==null?true:Q;this[ne]=w;this[oe]=R;this[Se]=null;this[pe]=D>-1?D:-1;this[de]="h1";this[he]=null;this[fe]=!N?null:{openStreams:0,maxConcurrentStreams:U!=null?U:100};this[ge]=`${this[v].hostname}${this[v].port?`:${this[v].port}`:""}`;this[O]=[];this[Y]=0;this[V]=0}get pipelining(){return this[W]}set pipelining(e){this[W]=e;resume(this,true)}get[N](){return this[O].length-this[V]}get[F](){return this[V]-this[Y]}get[U](){return this[O].length-this[Y]}get[L](){return!!this[Z]&&!this[P]&&!this[Z].destroyed}get[R](){const e=this[Z];return e&&(e[w]||e[M]||e[T])||this[U]>=(this[W]||1)||this[N]>0}[D](e){connect(this);this.once("connect",e)}[ce](e,t){const r=e.origin||this[v].origin;const s=this[de]==="h2"?c[me](r,e,t):c[Ce](r,e,t);this[O].push(s);if(this[_]){}else if(a.bodyLength(s.body)==null&&a.isIterable(s.body)){this[_]=1;process.nextTick(resume,this)}else{resume(this,true)}if(this[_]&&this[G]!==2&&this[R]){this[G]=2}return this[G]<2}async[ae](){return new Promise((e=>{if(!this[U]){e(null)}else{this[Se]=e}}))}async[Ae](e){return new Promise((t=>{const r=this[O].splice(this[V]);for(let t=0;t{if(this[Se]){this[Se]();this[Se]=null}t()};if(this[he]!=null){a.destroy(this[he],e);this[he]=null;this[fe]=null}if(!this[Z]){queueMicrotask(callback)}else{a.destroy(this[Z].on("close",callback),e)}resume(this)}))}}function onHttp2SessionError(e){s(e.code!=="ERR_TLS_CERT_ALTNAME_INVALID");this[Z][q]=e;onError(this[k],e)}function onHttp2FrameError(e,t,r){const s=new C(`HTTP/2: "frameError" received - type ${e}, code ${t}`);if(r===0){this[Z][q]=s;onError(this[k],s)}}function onHttp2SessionEnd(){a.destroy(this,new E("other side closed"));a.destroy(this[Z],new E("other side closed"))}function onHTTP2GoAway(e){const t=this[k];const r=new C(`HTTP/2: "GOAWAY" frame received with code ${e}`);t[Z]=null;t[he]=null;if(t.destroyed){s(this[N]===0);const e=t[O].splice(t[Y]);for(let t=0;t0){const e=t[O][t[Y]];t[O][t[Y]++]=null;errorRequest(t,e,r)}t[V]=t[Y];s(t[F]===0);t.emit("disconnect",t[v],[t],r);resume(t)}const Te=r(5749);const _e=r(3167);const Fe=Buffer.alloc(0);async function lazyllhttp(){const e=process.env.JEST_WORKER_ID?r(9827):undefined;let t;try{t=await WebAssembly.compile(Buffer.from(r(7785),"base64"))}catch(s){t=await WebAssembly.compile(Buffer.from(e||r(9827),"base64"))}return await WebAssembly.instantiate(t,{env:{wasm_on_url:(e,t,r)=>0,wasm_on_status:(e,t,r)=>{s.strictEqual(Me.ptr,e);const n=t-Pe+Oe.byteOffset;return Me.onStatus(new Re(Oe.buffer,n,r))||0},wasm_on_message_begin:e=>{s.strictEqual(Me.ptr,e);return Me.onMessageBegin()||0},wasm_on_header_field:(e,t,r)=>{s.strictEqual(Me.ptr,e);const n=t-Pe+Oe.byteOffset;return Me.onHeaderField(new Re(Oe.buffer,n,r))||0},wasm_on_header_value:(e,t,r)=>{s.strictEqual(Me.ptr,e);const n=t-Pe+Oe.byteOffset;return Me.onHeaderValue(new Re(Oe.buffer,n,r))||0},wasm_on_headers_complete:(e,t,r,n)=>{s.strictEqual(Me.ptr,e);return Me.onHeadersComplete(t,Boolean(r),Boolean(n))||0},wasm_on_body:(e,t,r)=>{s.strictEqual(Me.ptr,e);const n=t-Pe+Oe.byteOffset;return Me.onBody(new Re(Oe.buffer,n,r))||0},wasm_on_message_complete:e=>{s.strictEqual(Me.ptr,e);return Me.onMessageComplete()||0}}})}let Ne=null;let Ue=lazyllhttp();Ue.catch();let Me=null;let Oe=null;let Le=0;let Pe=null;const Ge=1;const je=2;const He=3;class Parser{constructor(e,t,{exports:r}){s(Number.isFinite(e[K])&&e[K]>0);this.llhttp=r;this.ptr=this.llhttp.llhttp_alloc(Te.TYPE.RESPONSE);this.client=e;this.socket=t;this.timeout=null;this.timeoutValue=null;this.timeoutType=null;this.statusCode=null;this.statusText="";this.upgrade=false;this.headers=[];this.headersSize=0;this.headersMaxSize=e[K];this.shouldKeepAlive=false;this.paused=false;this.resume=this.resume.bind(this);this.bytesRead=0;this.keepAlive="";this.contentLength="";this.connection="";this.maxResponseSize=e[pe]}setTimeout(e,t){this.timeoutType=t;if(e!==this.timeoutValue){A.clearTimeout(this.timeout);if(e){this.timeout=A.setTimeout(onParserTimeout,e,this);if(this.timeout.unref){this.timeout.unref()}}else{this.timeout=null}this.timeoutValue=e}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}}resume(){if(this.socket.destroyed||!this.paused){return}s(this.ptr!=null);s(Me==null);this.llhttp.llhttp_resume(this.ptr);s(this.timeoutType===je);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}this.paused=false;this.execute(this.socket.read()||Fe);this.readMore()}readMore(){while(!this.paused&&this.ptr){const e=this.socket.read();if(e===null){break}this.execute(e)}}execute(e){s(this.ptr!=null);s(Me==null);s(!this.paused);const{socket:t,llhttp:r}=this;if(e.length>Le){if(Pe){r.free(Pe)}Le=Math.ceil(e.length/4096)*4096;Pe=r.malloc(Le)}new Uint8Array(r.memory.buffer,Pe,Le).set(e);try{let s;try{Oe=e;Me=this;s=r.llhttp_execute(this.ptr,Pe,e.length)}catch(e){throw e}finally{Me=null;Oe=null}const n=r.llhttp_get_error_pos(this.ptr)-Pe;if(s===Te.ERROR.PAUSED_UPGRADE){this.onUpgrade(e.slice(n))}else if(s===Te.ERROR.PAUSED){this.paused=true;t.unshift(e.slice(n))}else if(s!==Te.ERROR.OK){const t=r.llhttp_get_error_reason(this.ptr);let o="";if(t){const e=new Uint8Array(r.memory.buffer,t).indexOf(0);o="Response does not match the HTTP/1.1 protocol ("+Buffer.from(r.memory.buffer,t,e).toString()+")"}throw new B(o,Te.ERROR[s],e.slice(n))}}catch(e){a.destroy(t,e)}}destroy(){s(this.ptr!=null);s(Me==null);this.llhttp.llhttp_free(this.ptr);this.ptr=null;A.clearTimeout(this.timeout);this.timeout=null;this.timeoutValue=null;this.timeoutType=null;this.paused=false}onStatus(e){this.statusText=e.toString()}onMessageBegin(){const{socket:e,client:t}=this;if(e.destroyed){return-1}const r=t[O][t[Y]];if(!r){return-1}}onHeaderField(e){const t=this.headers.length;if((t&1)===0){this.headers.push(e)}else{this.headers[t-1]=Buffer.concat([this.headers[t-1],e])}this.trackHeader(e.length)}onHeaderValue(e){let t=this.headers.length;if((t&1)===1){this.headers.push(e);t+=1}else{this.headers[t-1]=Buffer.concat([this.headers[t-1],e])}const r=this.headers[t-2];if(r.length===10&&r.toString().toLowerCase()==="keep-alive"){this.keepAlive+=e.toString()}else if(r.length===10&&r.toString().toLowerCase()==="connection"){this.connection+=e.toString()}else if(r.length===14&&r.toString().toLowerCase()==="content-length"){this.contentLength+=e.toString()}this.trackHeader(e.length)}trackHeader(e){this.headersSize+=e;if(this.headersSize>=this.headersMaxSize){a.destroy(this.socket,new m)}}onUpgrade(e){const{upgrade:t,client:r,socket:n,headers:o,statusCode:i}=this;s(t);const A=r[O][r[Y]];s(A);s(!n.destroyed);s(n===r[Z]);s(!this.paused);s(A.upgrade||A.method==="CONNECT");this.statusCode=null;this.statusText="";this.shouldKeepAlive=null;s(this.headers.length%2===0);this.headers=[];this.headersSize=0;n.unshift(e);n[S].destroy();n[S]=null;n[k]=null;n[q]=null;n.removeListener("error",onSocketError).removeListener("readable",onSocketReadable).removeListener("end",onSocketEnd).removeListener("close",onSocketClose);r[Z]=null;r[O][r[Y]++]=null;r.emit("disconnect",r[v],[r],new C("upgrade"));try{A.onUpgrade(i,o,n)}catch(e){a.destroy(n,e)}resume(r)}onHeadersComplete(e,t,r){const{client:n,socket:o,headers:i,statusText:A}=this;if(o.destroyed){return-1}const c=n[O][n[Y]];if(!c){return-1}s(!this.upgrade);s(this.statusCode<200);if(e===100){a.destroy(o,new E("bad response",a.getSocketInfo(o)));return-1}if(t&&!c.upgrade){a.destroy(o,new E("bad upgrade",a.getSocketInfo(o)));return-1}s.strictEqual(this.timeoutType,Ge);this.statusCode=e;this.shouldKeepAlive=r||c.method==="HEAD"&&!o[w]&&this.connection.toLowerCase()==="keep-alive";if(this.statusCode>=200){const e=c.bodyTimeout!=null?c.bodyTimeout:n[te];this.setTimeout(e,je)}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}if(c.method==="CONNECT"){s(n[F]===1);this.upgrade=true;return 2}if(t){s(n[F]===1);this.upgrade=true;return 2}s(this.headers.length%2===0);this.headers=[];this.headersSize=0;if(this.shouldKeepAlive&&n[W]){const e=this.keepAlive?a.parseKeepAliveTimeout(this.keepAlive):null;if(e!=null){const t=Math.min(e-n[$],n[X]);if(t<=0){o[w]=true}else{n[z]=t}}else{n[z]=n[H]}}else{o[w]=true}const l=c.onHeaders(e,i,this.resume,A)===false;if(c.aborted){return-1}if(c.method==="HEAD"){return 1}if(e<200){return 1}if(o[T]){o[T]=false;resume(n)}return l?Te.ERROR.PAUSED:0}onBody(e){const{client:t,socket:r,statusCode:n,maxResponseSize:o}=this;if(r.destroyed){return-1}const i=t[O][t[Y]];s(i);s.strictEqual(this.timeoutType,je);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}s(n>=200);if(o>-1&&this.bytesRead+e.length>o){a.destroy(r,new Q);return-1}this.bytesRead+=e.length;if(i.onData(e)===false){return Te.ERROR.PAUSED}}onMessageComplete(){const{client:e,socket:t,statusCode:r,upgrade:n,headers:o,contentLength:i,bytesRead:A,shouldKeepAlive:c}=this;if(t.destroyed&&(!r||c)){return-1}if(n){return}const l=e[O][e[Y]];s(l);s(r>=100);this.statusCode=null;this.statusText="";this.bytesRead=0;this.contentLength="";this.keepAlive="";this.connection="";s(this.headers.length%2===0);this.headers=[];this.headersSize=0;if(r<200){return}if(l.method!=="HEAD"&&i&&A!==parseInt(i,10)){a.destroy(t,new p);return-1}l.onComplete(o);e[O][e[Y]++]=null;if(t[M]){s.strictEqual(e[F],0);a.destroy(t,new C("reset"));return Te.ERROR.PAUSED}else if(!c){a.destroy(t,new C("reset"));return Te.ERROR.PAUSED}else if(t[w]&&e[F]===0){a.destroy(t,new C("reset"));return Te.ERROR.PAUSED}else if(e[W]===1){setImmediate(resume,e)}else{resume(e)}}}function onParserTimeout(e){const{socket:t,timeoutType:r,client:n}=e;if(r===Ge){if(!t[M]||t.writableNeedDrain||n[F]>1){s(!e.paused,"cannot be paused while waiting for headers");a.destroy(t,new h)}}else if(r===je){if(!e.paused){a.destroy(t,new I)}}else if(r===He){s(n[F]===0&&n[z]);a.destroy(t,new C("socket idle timeout"))}}function onSocketReadable(){const{[S]:e}=this;if(e){e.readMore()}}function onSocketError(e){const{[k]:t,[S]:r}=this;s(e.code!=="ERR_TLS_CERT_ALTNAME_INVALID");if(t[de]!=="h2"){if(e.code==="ECONNRESET"&&r.statusCode&&!r.shouldKeepAlive){r.onMessageComplete();return}}this[q]=e;onError(this[k],e)}function onError(e,t){if(e[F]===0&&t.code!=="UND_ERR_INFO"&&t.code!=="UND_ERR_SOCKET"){s(e[V]===e[Y]);const r=e[O].splice(e[Y]);for(let s=0;s0&&r.code!=="UND_ERR_INFO"){const t=e[O][e[Y]];e[O][e[Y]++]=null;errorRequest(e,t,r)}e[V]=e[Y];s(e[F]===0);e.emit("disconnect",e[v],[e],r);resume(e)}async function connect(e){s(!e[P]);s(!e[Z]);let{host:t,hostname:r,protocol:o,port:i}=e[v];if(r[0]==="["){const e=r.indexOf("]");s(e!==-1);const t=r.substring(1,e);s(n.isIP(t));r=t}e[P]=true;if(De.beforeConnect.hasSubscribers){De.beforeConnect.publish({connectParams:{host:t,hostname:r,protocol:o,port:i,servername:e[x],localAddress:e[ue]},connector:e[se]})}try{const n=await new Promise(((s,n)=>{e[se]({host:t,hostname:r,protocol:o,port:i,servername:e[x],localAddress:e[ue]},((e,t)=>{if(e){n(e)}else{s(t)}}))}));if(e.destroyed){a.destroy(n.on("error",(()=>{})),new b);return}e[P]=false;s(n);const A=n.alpnProtocol==="h2";if(A){if(!ke){ke=true;process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"})}const t=Ie.connect(e[v],{createConnection:()=>n,peerMaxConcurrentStreams:e[fe].maxConcurrentStreams});e[de]="h2";t[k]=e;t[Z]=n;t.on("error",onHttp2SessionError);t.on("frameError",onHttp2FrameError);t.on("end",onHttp2SessionEnd);t.on("goaway",onHTTP2GoAway);t.on("close",onSocketClose);t.unref();e[he]=t;n[he]=t}else{if(!Ne){Ne=await Ue;Ue=null}n[j]=false;n[M]=false;n[w]=false;n[T]=false;n[S]=new Parser(e,n,Ne)}n[ie]=0;n[oe]=e[oe];n[k]=e;n[q]=null;n.on("error",onSocketError).on("readable",onSocketReadable).on("end",onSocketEnd).on("close",onSocketClose);e[Z]=n;if(De.connected.hasSubscribers){De.connected.publish({connectParams:{host:t,hostname:r,protocol:o,port:i,servername:e[x],localAddress:e[ue]},connector:e[se],socket:n})}e.emit("connect",e[v],[e])}catch(n){if(e.destroyed){return}e[P]=false;if(De.connectError.hasSubscribers){De.connectError.publish({connectParams:{host:t,hostname:r,protocol:o,port:i,servername:e[x],localAddress:e[ue]},connector:e[se],error:n})}if(n.code==="ERR_TLS_CERT_ALTNAME_INVALID"){s(e[F]===0);while(e[N]>0&&e[O][e[V]].servername===e[x]){const t=e[O][e[V]++];errorRequest(e,t,n)}}else{onError(e,n)}e.emit("connectionError",e[v],[e],n)}resume(e)}function emitDrain(e){e[G]=0;e.emit("drain",e[v],[e])}function resume(e,t){if(e[_]===2){return}e[_]=2;_resume(e,t);e[_]=0;if(e[Y]>256){e[O].splice(0,e[Y]);e[V]-=e[Y];e[Y]=0}}function _resume(e,t){while(true){if(e.destroyed){s(e[N]===0);return}if(e[Se]&&!e[U]){e[Se]();e[Se]=null;return}const r=e[Z];if(r&&!r.destroyed&&r.alpnProtocol!=="h2"){if(e[U]===0){if(!r[j]&&r.unref){r.unref();r[j]=true}}else if(r[j]&&r.ref){r.ref();r[j]=false}if(e[U]===0){if(r[S].timeoutType!==He){r[S].setTimeout(e[z],He)}}else if(e[F]>0&&r[S].statusCode<200){if(r[S].timeoutType!==Ge){const t=e[O][e[Y]];const s=t.headersTimeout!=null?t.headersTimeout:e[ee];r[S].setTimeout(s,Ge)}}}if(e[R]){e[G]=2}else if(e[G]===2){if(t){e[G]=1;process.nextTick(emitDrain,e)}else{emitDrain(e)}continue}if(e[N]===0){return}if(e[F]>=(e[W]||1)){return}const n=e[O][e[V]];if(e[v].protocol==="https:"&&e[x]!==n.servername){if(e[F]>0){return}e[x]=n.servername;if(r&&r.servername!==n.servername){a.destroy(r,new C("servername changed"));return}}if(e[P]){return}if(!r&&!e[he]){connect(e);return}if(r.destroyed||r[M]||r[w]||r[T]){return}if(e[F]>0&&!n.idempotent){return}if(e[F]>0&&(n.upgrade||n.method==="CONNECT")){return}if(e[F]>0&&a.bodyLength(n.body)!==0&&(a.isStream(n.body)||a.isAsyncIterable(n.body))){return}if(!n.aborted&&write(e,n)){e[V]++}else{e[O].splice(e[V],1)}}}function shouldSendContentLength(e){return e!=="GET"&&e!=="HEAD"&&e!=="OPTIONS"&&e!=="TRACE"&&e!=="CONNECT"}function write(e,t){if(e[de]==="h2"){writeH2(e,e[he],t);return}const{body:r,method:n,path:o,host:i,upgrade:A,headers:c,blocking:l,reset:p}=t;const d=n==="PUT"||n==="POST"||n==="PATCH";if(r&&typeof r.read==="function"){r.read(0)}const h=a.bodyLength(r);let m=h;if(m===null){m=t.contentLength}if(m===0&&!d){m=null}if(shouldSendContentLength(n)&&m>0&&t.contentLength!==null&&t.contentLength!==m){if(e[re]){errorRequest(e,t,new u);return false}process.emitWarning(new u)}const E=e[Z];try{t.onConnect((r=>{if(t.aborted||t.completed){return}errorRequest(e,t,r||new g);a.destroy(E,new C("aborted"))}))}catch(r){errorRequest(e,t,r)}if(t.aborted){return false}if(n==="HEAD"){E[w]=true}if(A||n==="CONNECT"){E[w]=true}if(p!=null){E[w]=p}if(e[oe]&&E[ie]++>=e[oe]){E[w]=true}if(l){E[T]=true}let I=`${n} ${o} HTTP/1.1\r\n`;if(typeof i==="string"){I+=`host: ${i}\r\n`}else{I+=e[J]}if(A){I+=`connection: upgrade\r\nupgrade: ${A}\r\n`}else if(e[W]&&!E[w]){I+="connection: keep-alive\r\n"}else{I+="connection: close\r\n"}if(c){I+=c}if(De.sendHeaders.hasSubscribers){De.sendHeaders.publish({request:t,headers:I,socket:E})}if(!r||h===0){if(m===0){E.write(`${I}content-length: 0\r\n\r\n`,"latin1")}else{s(m===null,"no body must not have content length");E.write(`${I}\r\n`,"latin1")}t.onRequestSent()}else if(a.isBuffer(r)){s(m===r.byteLength,"buffer body must have content length");E.cork();E.write(`${I}content-length: ${m}\r\n\r\n`,"latin1");E.write(r);E.uncork();t.onBodySent(r);t.onRequestSent();if(!d){E[w]=true}}else if(a.isBlobLike(r)){if(typeof r.stream==="function"){writeIterable({body:r.stream(),client:e,request:t,socket:E,contentLength:m,header:I,expectsPayload:d})}else{writeBlob({body:r,client:e,request:t,socket:E,contentLength:m,header:I,expectsPayload:d})}}else if(a.isStream(r)){writeStream({body:r,client:e,request:t,socket:E,contentLength:m,header:I,expectsPayload:d})}else if(a.isIterable(r)){writeIterable({body:r,client:e,request:t,socket:E,contentLength:m,header:I,expectsPayload:d})}else{s(false)}return true}function writeH2(e,t,r){const{body:n,method:o,path:i,host:A,upgrade:l,expectContinue:p,signal:d,headers:h}=r;let m;if(typeof h==="string")m=c[Ee](h.trim());else m=h;if(l){errorRequest(e,r,new Error("Upgrade not supported for H2"));return false}try{r.onConnect((t=>{if(r.aborted||r.completed){return}errorRequest(e,r,t||new g)}))}catch(t){errorRequest(e,r,t)}if(r.aborted){return false}let E;const I=e[fe];m[Be]=A||e[ge];m[Qe]=o;if(o==="CONNECT"){t.ref();E=t.request(m,{endStream:false,signal:d});if(E.id&&!E.pending){r.onUpgrade(null,null,E);++I.openStreams}else{E.once("ready",(()=>{r.onUpgrade(null,null,E);++I.openStreams}))}E.once("close",(()=>{I.openStreams-=1;if(I.openStreams===0)t.unref()}));return true}m[be]=i;m[ye]="https";const B=o==="PUT"||o==="POST"||o==="PATCH";if(n&&typeof n.read==="function"){n.read(0)}let Q=a.bodyLength(n);if(Q==null){Q=r.contentLength}if(Q===0||!B){Q=null}if(shouldSendContentLength(o)&&Q>0&&r.contentLength!=null&&r.contentLength!==Q){if(e[re]){errorRequest(e,r,new u);return false}process.emitWarning(new u)}if(Q!=null){s(n,"no body must not have content length");m[ve]=`${Q}`}t.ref();const b=o==="GET"||o==="HEAD";if(p){m[we]="100-continue";E=t.request(m,{endStream:b,signal:d});E.once("continue",writeBodyH2)}else{E=t.request(m,{endStream:b,signal:d});writeBodyH2()}++I.openStreams;E.once("response",(e=>{const{[xe]:t,...s}=e;if(r.onHeaders(Number(t),s,E.resume.bind(E),"")===false){E.pause()}}));E.once("end",(()=>{r.onComplete([])}));E.on("data",(e=>{if(r.onData(e)===false){E.pause()}}));E.once("close",(()=>{I.openStreams-=1;if(I.openStreams===0){t.unref()}}));E.once("error",(function(t){if(e[he]&&!e[he].destroyed&&!this.closed&&!this.destroyed){I.streams-=1;a.destroy(E,t)}}));E.once("frameError",((t,s)=>{const n=new C(`HTTP/2: "frameError" received - type ${t}, code ${s}`);errorRequest(e,r,n);if(e[he]&&!e[he].destroyed&&!this.closed&&!this.destroyed){I.streams-=1;a.destroy(E,n)}}));return true;function writeBodyH2(){if(!n){r.onRequestSent()}else if(a.isBuffer(n)){s(Q===n.byteLength,"buffer body must have content length");E.cork();E.write(n);E.uncork();E.end();r.onBodySent(n);r.onRequestSent()}else if(a.isBlobLike(n)){if(typeof n.stream==="function"){writeIterable({client:e,request:r,contentLength:Q,h2stream:E,expectsPayload:B,body:n.stream(),socket:e[Z],header:""})}else{writeBlob({body:n,client:e,request:r,contentLength:Q,expectsPayload:B,h2stream:E,header:"",socket:e[Z]})}}else if(a.isStream(n)){writeStream({body:n,client:e,request:r,contentLength:Q,expectsPayload:B,socket:e[Z],h2stream:E,header:""})}else if(a.isIterable(n)){writeIterable({body:n,client:e,request:r,contentLength:Q,expectsPayload:B,header:"",h2stream:E,socket:e[Z]})}else{s(false)}}}function writeStream({h2stream:e,body:t,client:r,request:n,socket:o,contentLength:A,header:c,expectsPayload:l}){s(A!==0||r[F]===0,"stream body cannot be pipelined");if(r[de]==="h2"){const d=i(t,e,(r=>{if(r){a.destroy(t,r);a.destroy(e,r)}else{n.onRequestSent()}}));d.on("data",onPipeData);d.once("end",(()=>{d.removeListener("data",onPipeData);a.destroy(d)}));function onPipeData(e){n.onBodySent(e)}return}let u=false;const p=new AsyncWriter({socket:o,request:n,contentLength:A,client:r,expectsPayload:l,header:c});const onData=function(e){if(u){return}try{if(!p.write(e)&&this.pause){this.pause()}}catch(e){a.destroy(this,e)}};const onDrain=function(){if(u){return}if(t.resume){t.resume()}};const onAbort=function(){if(u){return}const e=new g;queueMicrotask((()=>onFinished(e)))};const onFinished=function(e){if(u){return}u=true;s(o.destroyed||o[M]&&r[F]<=1);o.off("drain",onDrain).off("error",onFinished);t.removeListener("data",onData).removeListener("end",onFinished).removeListener("error",onFinished).removeListener("close",onAbort);if(!e){try{p.end()}catch(t){e=t}}p.destroy(e);if(e&&(e.code!=="UND_ERR_INFO"||e.message!=="reset")){a.destroy(t,e)}else{a.destroy(t)}};t.on("data",onData).on("end",onFinished).on("error",onFinished).on("close",onAbort);if(t.resume){t.resume()}o.on("drain",onDrain).on("error",onFinished)}async function writeBlob({h2stream:e,body:t,client:r,request:n,socket:o,contentLength:i,header:A,expectsPayload:c}){s(i===t.size,"blob body must have content length");const l=r[de]==="h2";try{if(i!=null&&i!==t.size){throw new u}const s=Buffer.from(await t.arrayBuffer());if(l){e.cork();e.write(s);e.uncork()}else{o.cork();o.write(`${A}content-length: ${i}\r\n\r\n`,"latin1");o.write(s);o.uncork()}n.onBodySent(s);n.onRequestSent();if(!c){o[w]=true}resume(r)}catch(t){a.destroy(l?e:o,t)}}async function writeIterable({h2stream:e,body:t,client:r,request:n,socket:o,contentLength:i,header:a,expectsPayload:A}){s(i!==0||r[F]===0,"iterator body cannot be pipelined");let c=null;function onDrain(){if(c){const e=c;c=null;e()}}const waitForDrain=()=>new Promise(((e,t)=>{s(c===null);if(o[q]){t(o[q])}else{c=e}}));if(r[de]==="h2"){e.on("close",onDrain).on("drain",onDrain);try{for await(const r of t){if(o[q]){throw o[q]}const t=e.write(r);n.onBodySent(r);if(!t){await waitForDrain()}}}catch(t){e.destroy(t)}finally{n.onRequestSent();e.end();e.off("close",onDrain).off("drain",onDrain)}return}o.on("close",onDrain).on("drain",onDrain);const l=new AsyncWriter({socket:o,request:n,contentLength:i,client:r,expectsPayload:A,header:a});try{for await(const e of t){if(o[q]){throw o[q]}if(!l.write(e)){await waitForDrain()}}l.end()}catch(e){l.destroy(e)}finally{o.off("close",onDrain).off("drain",onDrain)}}class AsyncWriter{constructor({socket:e,request:t,contentLength:r,client:s,expectsPayload:n,header:o}){this.socket=e;this.request=t;this.contentLength=r;this.client=s;this.bytesWritten=0;this.expectsPayload=n;this.header=o;e[M]=true}write(e){const{socket:t,request:r,contentLength:s,client:n,bytesWritten:o,expectsPayload:i,header:a}=this;if(t[q]){throw t[q]}if(t.destroyed){return false}const A=Buffer.byteLength(e);if(!A){return true}if(s!==null&&o+A>s){if(n[re]){throw new u}process.emitWarning(new u)}t.cork();if(o===0){if(!i){t[w]=true}if(s===null){t.write(`${a}transfer-encoding: chunked\r\n`,"latin1")}else{t.write(`${a}content-length: ${s}\r\n\r\n`,"latin1")}}if(s===null){t.write(`\r\n${A.toString(16)}\r\n`,"latin1")}this.bytesWritten+=A;const c=t.write(e);t.uncork();r.onBodySent(e);if(!c){if(t[S].timeout&&t[S].timeoutType===Ge){if(t[S].timeout.refresh){t[S].timeout.refresh()}}}return c}end(){const{socket:e,contentLength:t,client:r,bytesWritten:s,expectsPayload:n,header:o,request:i}=this;i.onRequestSent();e[M]=false;if(e[q]){throw e[q]}if(e.destroyed){return}if(s===0){if(n){e.write(`${o}content-length: 0\r\n\r\n`,"latin1")}else{e.write(`${o}\r\n`,"latin1")}}else if(t===null){e.write("\r\n0\r\n\r\n","latin1")}if(t!==null&&s!==t){if(r[re]){throw new u}else{process.emitWarning(new u)}}if(e[S].timeout&&e[S].timeoutType===Ge){if(e[S].timeout.refresh){e[S].timeout.refresh()}}resume(r)}destroy(e){const{socket:t,client:r}=this;t[M]=false;if(e){s(r[F]<=1,"pipeline should only contain this request");a.destroy(t,e)}}}function errorRequest(e,t,r){try{t.onError(r);s(t.aborted)}catch(r){e.emit("error",r)}}e.exports=Client},5285:(e,t,r)=>{"use strict";const{kConnected:s,kSize:n}=r(3932);class CompatWeakRef{constructor(e){this.value=e}deref(){return this.value[s]===0&&this.value[n]===0?undefined:this.value}}class CompatFinalizer{constructor(e){this.finalizer=e}register(e,t){if(e.on){e.on("disconnect",(()=>{if(e[s]===0&&e[n]===0){this.finalizer(t)}}))}}}e.exports=function(){if(process.env.NODE_V8_COVERAGE){return{WeakRef:CompatWeakRef,FinalizationRegistry:CompatFinalizer}}return{WeakRef:global.WeakRef||CompatWeakRef,FinalizationRegistry:global.FinalizationRegistry||CompatFinalizer}}},3598:e=>{"use strict";const t=1024;const r=4096;e.exports={maxAttributeValueSize:t,maxNameValuePairSize:r}},9738:(e,t,r)=>{"use strict";const{parseSetCookie:s}=r(8367);const{stringify:n,getHeadersList:o}=r(7576);const{webidl:i}=r(9111);const{Headers:a}=r(1855);function getCookies(e){i.argumentLengthCheck(arguments,1,{header:"getCookies"});i.brandCheck(e,a,{strict:false});const t=e.get("cookie");const r={};if(!t){return r}for(const e of t.split(";")){const[t,...s]=e.split("=");r[t.trim()]=s.join("=")}return r}function deleteCookie(e,t,r){i.argumentLengthCheck(arguments,2,{header:"deleteCookie"});i.brandCheck(e,a,{strict:false});t=i.converters.DOMString(t);r=i.converters.DeleteCookieAttributes(r);setCookie(e,{name:t,value:"",expires:new Date(0),...r})}function getSetCookies(e){i.argumentLengthCheck(arguments,1,{header:"getSetCookies"});i.brandCheck(e,a,{strict:false});const t=o(e).cookies;if(!t){return[]}return t.map((e=>s(Array.isArray(e)?e[1]:e)))}function setCookie(e,t){i.argumentLengthCheck(arguments,2,{header:"setCookie"});i.brandCheck(e,a,{strict:false});t=i.converters.Cookie(t);const r=n(t);if(r){e.append("Set-Cookie",n(t))}}i.converters.DeleteCookieAttributes=i.dictionaryConverter([{converter:i.nullableConverter(i.converters.DOMString),key:"path",defaultValue:null},{converter:i.nullableConverter(i.converters.DOMString),key:"domain",defaultValue:null}]);i.converters.Cookie=i.dictionaryConverter([{converter:i.converters.DOMString,key:"name"},{converter:i.converters.DOMString,key:"value"},{converter:i.nullableConverter((e=>{if(typeof e==="number"){return i.converters["unsigned long long"](e)}return new Date(e)})),key:"expires",defaultValue:null},{converter:i.nullableConverter(i.converters["long long"]),key:"maxAge",defaultValue:null},{converter:i.nullableConverter(i.converters.DOMString),key:"domain",defaultValue:null},{converter:i.nullableConverter(i.converters.DOMString),key:"path",defaultValue:null},{converter:i.nullableConverter(i.converters.boolean),key:"secure",defaultValue:null},{converter:i.nullableConverter(i.converters.boolean),key:"httpOnly",defaultValue:null},{converter:i.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:i.sequenceConverter(i.converters.DOMString),key:"unparsed",defaultValue:[]}]);e.exports={getCookies:getCookies,deleteCookie:deleteCookie,getSetCookies:getSetCookies,setCookie:setCookie}},8367:(e,t,r)=>{"use strict";const{maxNameValuePairSize:s,maxAttributeValueSize:n}=r(3598);const{isCTLExcludingHtab:o}=r(7576);const{collectASequenceOfCodePointsFast:i}=r(5958);const a=r(9491);function parseSetCookie(e){if(o(e)){return null}let t="";let r="";let n="";let a="";if(e.includes(";")){const s={position:0};t=i(";",e,s);r=e.slice(s.position)}else{t=e}if(!t.includes("=")){a=t}else{const e={position:0};n=i("=",t,e);a=t.slice(e.position+1)}n=n.trim();a=a.trim();if(n.length+a.length>s){return null}return{name:n,value:a,...parseUnparsedAttributes(r)}}function parseUnparsedAttributes(e,t={}){if(e.length===0){return t}a(e[0]===";");e=e.slice(1);let r="";if(e.includes(";")){r=i(";",e,{position:0});e=e.slice(r.length)}else{r=e;e=""}let s="";let o="";if(r.includes("=")){const e={position:0};s=i("=",r,e);o=r.slice(e.position+1)}else{s=r}s=s.trim();o=o.trim();if(o.length>n){return parseUnparsedAttributes(e,t)}const A=s.toLowerCase();if(A==="expires"){const e=new Date(o);t.expires=e}else if(A==="max-age"){const r=o.charCodeAt(0);if((r<48||r>57)&&o[0]!=="-"){return parseUnparsedAttributes(e,t)}if(!/^\d+$/.test(o)){return parseUnparsedAttributes(e,t)}const s=Number(o);t.maxAge=s}else if(A==="domain"){let e=o;if(e[0]==="."){e=e.slice(1)}e=e.toLowerCase();t.domain=e}else if(A==="path"){let e="";if(o.length===0||o[0]!=="/"){e="/"}else{e=o}t.path=e}else if(A==="secure"){t.secure=true}else if(A==="httponly"){t.httpOnly=true}else if(A==="samesite"){let e="Default";const r=o.toLowerCase();if(r.includes("none")){e="None"}if(r.includes("strict")){e="Strict"}if(r.includes("lax")){e="Lax"}t.sameSite=e}else{t.unparsed??=[];t.unparsed.push(`${s}=${o}`)}return parseUnparsedAttributes(e,t)}e.exports={parseSetCookie:parseSetCookie,parseUnparsedAttributes:parseUnparsedAttributes}},7576:(e,t,r)=>{"use strict";const s=r(9491);const{kHeadersList:n}=r(3932);function isCTLExcludingHtab(e){if(e.length===0){return false}for(const t of e){const e=t.charCodeAt(0);if(e>=0||e<=8||(e>=10||e<=31)||e===127){return false}}}function validateCookieName(e){for(const t of e){const e=t.charCodeAt(0);if(e<=32||e>127||t==="("||t===")"||t===">"||t==="<"||t==="@"||t===","||t===";"||t===":"||t==="\\"||t==='"'||t==="/"||t==="["||t==="]"||t==="?"||t==="="||t==="{"||t==="}"){throw new Error("Invalid cookie name")}}}function validateCookieValue(e){for(const t of e){const e=t.charCodeAt(0);if(e<33||e===34||e===44||e===59||e===92||e>126){throw new Error("Invalid header value")}}}function validateCookiePath(e){for(const t of e){const e=t.charCodeAt(0);if(e<33||t===";"){throw new Error("Invalid cookie path")}}}function validateCookieDomain(e){if(e.startsWith("-")||e.endsWith(".")||e.endsWith("-")){throw new Error("Invalid cookie domain")}}function toIMFDate(e){if(typeof e==="number"){e=new Date(e)}const t=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];const r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];const s=t[e.getUTCDay()];const n=e.getUTCDate().toString().padStart(2,"0");const o=r[e.getUTCMonth()];const i=e.getUTCFullYear();const a=e.getUTCHours().toString().padStart(2,"0");const A=e.getUTCMinutes().toString().padStart(2,"0");const c=e.getUTCSeconds().toString().padStart(2,"0");return`${s}, ${n} ${o} ${i} ${a}:${A}:${c} GMT`}function validateCookieMaxAge(e){if(e<0){throw new Error("Invalid cookie max-age")}}function stringify(e){if(e.name.length===0){return null}validateCookieName(e.name);validateCookieValue(e.value);const t=[`${e.name}=${e.value}`];if(e.name.startsWith("__Secure-")){e.secure=true}if(e.name.startsWith("__Host-")){e.secure=true;e.domain=null;e.path="/"}if(e.secure){t.push("Secure")}if(e.httpOnly){t.push("HttpOnly")}if(typeof e.maxAge==="number"){validateCookieMaxAge(e.maxAge);t.push(`Max-Age=${e.maxAge}`)}if(e.domain){validateCookieDomain(e.domain);t.push(`Domain=${e.domain}`)}if(e.path){validateCookiePath(e.path);t.push(`Path=${e.path}`)}if(e.expires&&e.expires.toString()!=="Invalid Date"){t.push(`Expires=${toIMFDate(e.expires)}`)}if(e.sameSite){t.push(`SameSite=${e.sameSite}`)}for(const r of e.unparsed){if(!r.includes("=")){throw new Error("Invalid unparsed")}const[e,...s]=r.split("=");t.push(`${e.trim()}=${s.join("=")}`)}return t.join("; ")}let o;function getHeadersList(e){if(e[n]){return e[n]}if(!o){o=Object.getOwnPropertySymbols(e).find((e=>e.description==="headers list"));s(o,"Headers cannot be parsed")}const t=e[o];s(t);return t}e.exports={isCTLExcludingHtab:isCTLExcludingHtab,stringify:stringify,getHeadersList:getHeadersList}},9218:(e,t,r)=>{"use strict";const s=r(1808);const n=r(9491);const o=r(7497);const{InvalidArgumentError:i,ConnectTimeoutError:a}=r(2366);let A;let c;if(global.FinalizationRegistry&&!process.env.NODE_V8_COVERAGE){c=class WeakSessionCache{constructor(e){this._maxCachedSessions=e;this._sessionCache=new Map;this._sessionRegistry=new global.FinalizationRegistry((e=>{if(this._sessionCache.size=this._maxCachedSessions){const{value:e}=this._sessionCache.keys().next();this._sessionCache.delete(e)}this._sessionCache.set(e,t)}}}function buildConnector({allowH2:e,maxCachedSessions:t,socketPath:a,timeout:l,...u}){if(t!=null&&(!Number.isInteger(t)||t<0)){throw new i("maxCachedSessions must be a positive integer or zero")}const p={path:a,...u};const d=new c(t==null?100:t);l=l==null?1e4:l;e=e!=null?e:false;return function connect({hostname:t,host:i,protocol:a,port:c,servername:u,localAddress:g,httpSocket:h},m){let E;if(a==="https:"){if(!A){A=r(4404)}u=u||p.servername||o.getServerName(i)||null;const s=u||t;const a=d.get(s)||null;n(s);E=A.connect({highWaterMark:16384,...p,servername:u,session:a,localAddress:g,ALPNProtocols:e?["http/1.1","h2"]:["http/1.1"],socket:h,port:c||443,host:t});E.on("session",(function(e){d.set(s,e)}))}else{n(!h,"httpSocket can only be sent on TLS update");E=s.connect({highWaterMark:64*1024,...p,localAddress:g,port:c||80,host:t})}if(p.keepAlive==null||p.keepAlive){const e=p.keepAliveInitialDelay===undefined?6e4:p.keepAliveInitialDelay;E.setKeepAlive(true,e)}const C=setupTimeout((()=>onConnectTimeout(E)),l);E.setNoDelay(true).once(a==="https:"?"secureConnect":"connect",(function(){C();if(m){const e=m;m=null;e(null,this)}})).on("error",(function(e){C();if(m){const t=m;m=null;t(e)}}));return E}}function setupTimeout(e,t){if(!t){return()=>{}}let r=null;let s=null;const n=setTimeout((()=>{r=setImmediate((()=>{if(process.platform==="win32"){s=setImmediate((()=>e()))}else{e()}}))}),t);return()=>{clearTimeout(n);clearImmediate(r);clearImmediate(s)}}function onConnectTimeout(e){o.destroy(e,new a)}e.exports=buildConnector},2366:e=>{"use strict";class UndiciError extends Error{constructor(e){super(e);this.name="UndiciError";this.code="UND_ERR"}}class ConnectTimeoutError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ConnectTimeoutError);this.name="ConnectTimeoutError";this.message=e||"Connect Timeout Error";this.code="UND_ERR_CONNECT_TIMEOUT"}}class HeadersTimeoutError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,HeadersTimeoutError);this.name="HeadersTimeoutError";this.message=e||"Headers Timeout Error";this.code="UND_ERR_HEADERS_TIMEOUT"}}class HeadersOverflowError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,HeadersOverflowError);this.name="HeadersOverflowError";this.message=e||"Headers Overflow Error";this.code="UND_ERR_HEADERS_OVERFLOW"}}class BodyTimeoutError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,BodyTimeoutError);this.name="BodyTimeoutError";this.message=e||"Body Timeout Error";this.code="UND_ERR_BODY_TIMEOUT"}}class ResponseStatusCodeError extends UndiciError{constructor(e,t,r,s){super(e);Error.captureStackTrace(this,ResponseStatusCodeError);this.name="ResponseStatusCodeError";this.message=e||"Response Status Code Error";this.code="UND_ERR_RESPONSE_STATUS_CODE";this.body=s;this.status=t;this.statusCode=t;this.headers=r}}class InvalidArgumentError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,InvalidArgumentError);this.name="InvalidArgumentError";this.message=e||"Invalid Argument Error";this.code="UND_ERR_INVALID_ARG"}}class InvalidReturnValueError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,InvalidReturnValueError);this.name="InvalidReturnValueError";this.message=e||"Invalid Return Value Error";this.code="UND_ERR_INVALID_RETURN_VALUE"}}class RequestAbortedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,RequestAbortedError);this.name="AbortError";this.message=e||"Request aborted";this.code="UND_ERR_ABORTED"}}class InformationalError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,InformationalError);this.name="InformationalError";this.message=e||"Request information";this.code="UND_ERR_INFO"}}class RequestContentLengthMismatchError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,RequestContentLengthMismatchError);this.name="RequestContentLengthMismatchError";this.message=e||"Request body length does not match content-length header";this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}}class ResponseContentLengthMismatchError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ResponseContentLengthMismatchError);this.name="ResponseContentLengthMismatchError";this.message=e||"Response body length does not match content-length header";this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}}class ClientDestroyedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ClientDestroyedError);this.name="ClientDestroyedError";this.message=e||"The client is destroyed";this.code="UND_ERR_DESTROYED"}}class ClientClosedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ClientClosedError);this.name="ClientClosedError";this.message=e||"The client is closed";this.code="UND_ERR_CLOSED"}}class SocketError extends UndiciError{constructor(e,t){super(e);Error.captureStackTrace(this,SocketError);this.name="SocketError";this.message=e||"Socket error";this.code="UND_ERR_SOCKET";this.socket=t}}class NotSupportedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,NotSupportedError);this.name="NotSupportedError";this.message=e||"Not supported error";this.code="UND_ERR_NOT_SUPPORTED"}}class BalancedPoolMissingUpstreamError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,NotSupportedError);this.name="MissingUpstreamError";this.message=e||"No upstream has been added to the BalancedPool";this.code="UND_ERR_BPL_MISSING_UPSTREAM"}}class HTTPParserError extends Error{constructor(e,t,r){super(e);Error.captureStackTrace(this,HTTPParserError);this.name="HTTPParserError";this.code=t?`HPE_${t}`:undefined;this.data=r?r.toString():undefined}}class ResponseExceededMaxSizeError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ResponseExceededMaxSizeError);this.name="ResponseExceededMaxSizeError";this.message=e||"Response content exceeded max size";this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}}class RequestRetryError extends UndiciError{constructor(e,t,{headers:r,data:s}){super(e);Error.captureStackTrace(this,RequestRetryError);this.name="RequestRetryError";this.message=e||"Request retry error";this.code="UND_ERR_REQ_RETRY";this.statusCode=t;this.data=s;this.headers=r}}e.exports={HTTPParserError:HTTPParserError,UndiciError:UndiciError,HeadersTimeoutError:HeadersTimeoutError,HeadersOverflowError:HeadersOverflowError,BodyTimeoutError:BodyTimeoutError,RequestContentLengthMismatchError:RequestContentLengthMismatchError,ConnectTimeoutError:ConnectTimeoutError,ResponseStatusCodeError:ResponseStatusCodeError,InvalidArgumentError:InvalidArgumentError,InvalidReturnValueError:InvalidReturnValueError,RequestAbortedError:RequestAbortedError,ClientDestroyedError:ClientDestroyedError,ClientClosedError:ClientClosedError,InformationalError:InformationalError,SocketError:SocketError,NotSupportedError:NotSupportedError,ResponseContentLengthMismatchError:ResponseContentLengthMismatchError,BalancedPoolMissingUpstreamError:BalancedPoolMissingUpstreamError,ResponseExceededMaxSizeError:ResponseExceededMaxSizeError,RequestRetryError:RequestRetryError}},3404:(e,t,r)=>{"use strict";const{InvalidArgumentError:s,NotSupportedError:n}=r(2366);const o=r(9491);const{kHTTP2BuildRequest:i,kHTTP2CopyHeaders:a,kHTTP1BuildRequest:A}=r(3932);const c=r(7497);const l=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;const u=/[^\t\x20-\x7e\x80-\xff]/;const p=/[^\u0021-\u00ff]/;const d=Symbol("handler");const g={};let h;try{const e=r(7643);g.create=e.channel("undici:request:create");g.bodySent=e.channel("undici:request:bodySent");g.headers=e.channel("undici:request:headers");g.trailers=e.channel("undici:request:trailers");g.error=e.channel("undici:request:error")}catch{g.create={hasSubscribers:false};g.bodySent={hasSubscribers:false};g.headers={hasSubscribers:false};g.trailers={hasSubscribers:false};g.error={hasSubscribers:false}}class Request{constructor(e,{path:t,method:n,body:o,headers:i,query:a,idempotent:A,blocking:u,upgrade:m,headersTimeout:E,bodyTimeout:C,reset:I,throwOnError:B,expectContinue:Q},b){if(typeof t!=="string"){throw new s("path must be a string")}else if(t[0]!=="/"&&!(t.startsWith("http://")||t.startsWith("https://"))&&n!=="CONNECT"){throw new s("path must be an absolute URL or start with a slash")}else if(p.exec(t)!==null){throw new s("invalid request path")}if(typeof n!=="string"){throw new s("method must be a string")}else if(l.exec(n)===null){throw new s("invalid request method")}if(m&&typeof m!=="string"){throw new s("upgrade must be a string")}if(E!=null&&(!Number.isFinite(E)||E<0)){throw new s("invalid headersTimeout")}if(C!=null&&(!Number.isFinite(C)||C<0)){throw new s("invalid bodyTimeout")}if(I!=null&&typeof I!=="boolean"){throw new s("invalid reset")}if(Q!=null&&typeof Q!=="boolean"){throw new s("invalid expectContinue")}this.headersTimeout=E;this.bodyTimeout=C;this.throwOnError=B===true;this.method=n;this.abort=null;if(o==null){this.body=null}else if(c.isStream(o)){this.body=o;const e=this.body._readableState;if(!e||!e.autoDestroy){this.endHandler=function autoDestroy(){c.destroy(this)};this.body.on("end",this.endHandler)}this.errorHandler=e=>{if(this.abort){this.abort(e)}else{this.error=e}};this.body.on("error",this.errorHandler)}else if(c.isBuffer(o)){this.body=o.byteLength?o:null}else if(ArrayBuffer.isView(o)){this.body=o.buffer.byteLength?Buffer.from(o.buffer,o.byteOffset,o.byteLength):null}else if(o instanceof ArrayBuffer){this.body=o.byteLength?Buffer.from(o):null}else if(typeof o==="string"){this.body=o.length?Buffer.from(o):null}else if(c.isFormDataLike(o)||c.isIterable(o)||c.isBlobLike(o)){this.body=o}else{throw new s("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable")}this.completed=false;this.aborted=false;this.upgrade=m||null;this.path=a?c.buildURL(t,a):t;this.origin=e;this.idempotent=A==null?n==="HEAD"||n==="GET":A;this.blocking=u==null?false:u;this.reset=I==null?null:I;this.host=null;this.contentLength=null;this.contentType=null;this.headers="";this.expectContinue=Q!=null?Q:false;if(Array.isArray(i)){if(i.length%2!==0){throw new s("headers array must be even")}for(let e=0;e{e.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kHeadersList:Symbol("headers list"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kHTTP2BuildRequest:Symbol("http2 build request"),kHTTP1BuildRequest:Symbol("http1 build request"),kHTTP2CopyHeaders:Symbol("http2 copy headers"),kHTTPConnVersion:Symbol("http connection version"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable")}},7497:(e,t,r)=>{"use strict";const s=r(9491);const{kDestroyed:n,kBodyUsed:o}=r(3932);const{IncomingMessage:i}=r(3685);const a=r(2781);const A=r(1808);const{InvalidArgumentError:c}=r(2366);const{Blob:l}=r(4300);const u=r(3837);const{stringify:p}=r(3477);const[d,g]=process.versions.node.split(".").map((e=>Number(e)));function nop(){}function isStream(e){return e&&typeof e==="object"&&typeof e.pipe==="function"&&typeof e.on==="function"}function isBlobLike(e){return l&&e instanceof l||e&&typeof e==="object"&&(typeof e.stream==="function"||typeof e.arrayBuffer==="function")&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function buildURL(e,t){if(e.includes("?")||e.includes("#")){throw new Error('Query params cannot be passed when url already contains "?" or "#".')}const r=p(t);if(r){e+="?"+r}return e}function parseURL(e){if(typeof e==="string"){e=new URL(e);if(!/^https?:/.test(e.origin||e.protocol)){throw new c("Invalid URL protocol: the URL must start with `http:` or `https:`.")}return e}if(!e||typeof e!=="object"){throw new c("Invalid URL: The URL argument must be a non-null object.")}if(!/^https?:/.test(e.origin||e.protocol)){throw new c("Invalid URL protocol: the URL must start with `http:` or `https:`.")}if(!(e instanceof URL)){if(e.port!=null&&e.port!==""&&!Number.isFinite(parseInt(e.port))){throw new c("Invalid URL: port must be a valid integer or a string representation of an integer.")}if(e.path!=null&&typeof e.path!=="string"){throw new c("Invalid URL path: the path must be a string or null/undefined.")}if(e.pathname!=null&&typeof e.pathname!=="string"){throw new c("Invalid URL pathname: the pathname must be a string or null/undefined.")}if(e.hostname!=null&&typeof e.hostname!=="string"){throw new c("Invalid URL hostname: the hostname must be a string or null/undefined.")}if(e.origin!=null&&typeof e.origin!=="string"){throw new c("Invalid URL origin: the origin must be a string or null/undefined.")}const t=e.port!=null?e.port:e.protocol==="https:"?443:80;let r=e.origin!=null?e.origin:`${e.protocol}//${e.hostname}:${t}`;let s=e.path!=null?e.path:`${e.pathname||""}${e.search||""}`;if(r.endsWith("/")){r=r.substring(0,r.length-1)}if(s&&!s.startsWith("/")){s=`/${s}`}e=new URL(r+s)}return e}function parseOrigin(e){e=parseURL(e);if(e.pathname!=="/"||e.search||e.hash){throw new c("invalid url")}return e}function getHostname(e){if(e[0]==="["){const t=e.indexOf("]");s(t!==-1);return e.substring(1,t)}const t=e.indexOf(":");if(t===-1)return e;return e.substring(0,t)}function getServerName(e){if(!e){return null}s.strictEqual(typeof e,"string");const t=getHostname(e);if(A.isIP(t)){return""}return t}function deepClone(e){return JSON.parse(JSON.stringify(e))}function isAsyncIterable(e){return!!(e!=null&&typeof e[Symbol.asyncIterator]==="function")}function isIterable(e){return!!(e!=null&&(typeof e[Symbol.iterator]==="function"||typeof e[Symbol.asyncIterator]==="function"))}function bodyLength(e){if(e==null){return 0}else if(isStream(e)){const t=e._readableState;return t&&t.objectMode===false&&t.ended===true&&Number.isFinite(t.length)?t.length:null}else if(isBlobLike(e)){return e.size!=null?e.size:null}else if(isBuffer(e)){return e.byteLength}return null}function isDestroyed(e){return!e||!!(e.destroyed||e[n])}function isReadableAborted(e){const t=e&&e._readableState;return isDestroyed(e)&&t&&!t.endEmitted}function destroy(e,t){if(e==null||!isStream(e)||isDestroyed(e)){return}if(typeof e.destroy==="function"){if(Object.getPrototypeOf(e).constructor===i){e.socket=null}e.destroy(t)}else if(t){process.nextTick(((e,t)=>{e.emit("error",t)}),e,t)}if(e.destroyed!==true){e[n]=true}}const h=/timeout=(\d+)/;function parseKeepAliveTimeout(e){const t=e.toString().match(h);return t?parseInt(t[1],10)*1e3:null}function parseHeaders(e,t={}){if(!Array.isArray(e))return e;for(let r=0;re.toString("utf8")))}else{t[s]=e[r+1].toString("utf8")}}else{if(!Array.isArray(n)){n=[n];t[s]=n}n.push(e[r+1].toString("utf8"))}}if("content-length"in t&&"content-disposition"in t){t["content-disposition"]=Buffer.from(t["content-disposition"]).toString("latin1")}return t}function parseRawHeaders(e){const t=[];let r=false;let s=-1;for(let n=0;n{e.close()}))}else{const t=Buffer.isBuffer(s)?s:Buffer.from(s);e.enqueue(new Uint8Array(t))}return e.desiredSize>0},async cancel(e){await t.return()}},0)}function isFormDataLike(e){return e&&typeof e==="object"&&typeof e.append==="function"&&typeof e.delete==="function"&&typeof e.get==="function"&&typeof e.getAll==="function"&&typeof e.has==="function"&&typeof e.set==="function"&&e[Symbol.toStringTag]==="FormData"}function throwIfAborted(e){if(!e){return}if(typeof e.throwIfAborted==="function"){e.throwIfAborted()}else{if(e.aborted){const e=new Error("The operation was aborted");e.name="AbortError";throw e}}}function addAbortListener(e,t){if("addEventListener"in e){e.addEventListener("abort",t,{once:true});return()=>e.removeEventListener("abort",t)}e.addListener("abort",t);return()=>e.removeListener("abort",t)}const E=!!String.prototype.toWellFormed;function toUSVString(e){if(E){return`${e}`.toWellFormed()}else if(u.toUSVString){return u.toUSVString(e)}return`${e}`}function parseRangeHeader(e){if(e==null||e==="")return{start:0,end:null,size:null};const t=e?e.match(/^bytes (\d+)-(\d+)\/(\d+)?$/):null;return t?{start:parseInt(t[1]),end:t[2]?parseInt(t[2]):null,size:t[3]?parseInt(t[3]):null}:null}const C=Object.create(null);C.enumerable=true;e.exports={kEnumerableProperty:C,nop:nop,isDisturbed:isDisturbed,isErrored:isErrored,isReadable:isReadable,toUSVString:toUSVString,isReadableAborted:isReadableAborted,isBlobLike:isBlobLike,parseOrigin:parseOrigin,parseURL:parseURL,getServerName:getServerName,isStream:isStream,isIterable:isIterable,isAsyncIterable:isAsyncIterable,isDestroyed:isDestroyed,parseRawHeaders:parseRawHeaders,parseHeaders:parseHeaders,parseKeepAliveTimeout:parseKeepAliveTimeout,destroy:destroy,bodyLength:bodyLength,deepClone:deepClone,ReadableStreamFrom:ReadableStreamFrom,isBuffer:isBuffer,validateHandler:validateHandler,getSocketInfo:getSocketInfo,isFormDataLike:isFormDataLike,buildURL:buildURL,throwIfAborted:throwIfAborted,addAbortListener:addAbortListener,parseRangeHeader:parseRangeHeader,nodeMajor:d,nodeMinor:g,nodeHasAutoSelectFamily:d>18||d===18&&g>=13,safeHTTPMethods:["GET","HEAD","OPTIONS","TRACE"]}},8757:(e,t,r)=>{"use strict";const s=r(8648);const{ClientDestroyedError:n,ClientClosedError:o,InvalidArgumentError:i}=r(2366);const{kDestroy:a,kClose:A,kDispatch:c,kInterceptors:l}=r(3932);const u=Symbol("destroyed");const p=Symbol("closed");const d=Symbol("onDestroyed");const g=Symbol("onClosed");const h=Symbol("Intercepted Dispatch");class DispatcherBase extends s{constructor(){super();this[u]=false;this[d]=null;this[p]=false;this[g]=[]}get destroyed(){return this[u]}get closed(){return this[p]}get interceptors(){return this[l]}set interceptors(e){if(e){for(let t=e.length-1;t>=0;t--){const e=this[l][t];if(typeof e!=="function"){throw new i("interceptor must be an function")}}}this[l]=e}close(e){if(e===undefined){return new Promise(((e,t)=>{this.close(((r,s)=>r?t(r):e(s)))}))}if(typeof e!=="function"){throw new i("invalid callback")}if(this[u]){queueMicrotask((()=>e(new n,null)));return}if(this[p]){if(this[g]){this[g].push(e)}else{queueMicrotask((()=>e(null,null)))}return}this[p]=true;this[g].push(e);const onClosed=()=>{const e=this[g];this[g]=null;for(let t=0;tthis.destroy())).then((()=>{queueMicrotask(onClosed)}))}destroy(e,t){if(typeof e==="function"){t=e;e=null}if(t===undefined){return new Promise(((t,r)=>{this.destroy(e,((e,s)=>e?r(e):t(s)))}))}if(typeof t!=="function"){throw new i("invalid callback")}if(this[u]){if(this[d]){this[d].push(t)}else{queueMicrotask((()=>t(null,null)))}return}if(!e){e=new n}this[u]=true;this[d]=this[d]||[];this[d].push(t);const onDestroyed=()=>{const e=this[d];this[d]=null;for(let t=0;t{queueMicrotask(onDestroyed)}))}[h](e,t){if(!this[l]||this[l].length===0){this[h]=this[c];return this[c](e,t)}let r=this[c].bind(this);for(let e=this[l].length-1;e>=0;e--){r=this[l][e](r)}this[h]=r;return r(e,t)}dispatch(e,t){if(!t||typeof t!=="object"){throw new i("handler must be an object")}try{if(!e||typeof e!=="object"){throw new i("opts must be an object.")}if(this[u]||this[d]){throw new n}if(this[p]){throw new o}return this[h](e,t)}catch(e){if(typeof t.onError!=="function"){throw new i("invalid onError method")}t.onError(e);return false}}}e.exports=DispatcherBase},8648:(e,t,r)=>{"use strict";const s=r(9820);class Dispatcher extends s{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}}e.exports=Dispatcher},1226:(e,t,r)=>{"use strict";const s=r(7455);const n=r(7497);const{ReadableStreamFrom:o,isBlobLike:i,isReadableStreamLike:a,readableStreamClose:A,createDeferredPromise:c,fullyReadBody:l}=r(5496);const{FormData:u}=r(9425);const{kState:p}=r(5376);const{webidl:d}=r(9111);const{DOMException:g,structuredClone:h}=r(7533);const{Blob:m,File:E}=r(4300);const{kBodyUsed:C}=r(3932);const I=r(9491);const{isErrored:B}=r(7497);const{isUint8Array:Q,isArrayBuffer:b}=r(9830);const{File:y}=r(5506);const{parseMIMEType:v,serializeAMimeType:w}=r(5958);let x=globalThis.ReadableStream;const k=E??y;const R=new TextEncoder;const S=new TextDecoder;function extractBody(e,t=false){if(!x){x=r(5356).ReadableStream}let s=null;if(e instanceof x){s=e}else if(i(e)){s=e.stream()}else{s=new x({async pull(e){e.enqueue(typeof l==="string"?R.encode(l):l);queueMicrotask((()=>A(e)))},start(){},type:undefined})}I(a(s));let c=null;let l=null;let u=null;let p=null;if(typeof e==="string"){l=e;p="text/plain;charset=UTF-8"}else if(e instanceof URLSearchParams){l=e.toString();p="application/x-www-form-urlencoded;charset=UTF-8"}else if(b(e)){l=new Uint8Array(e.slice())}else if(ArrayBuffer.isView(e)){l=new Uint8Array(e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength))}else if(n.isFormDataLike(e)){const t=`----formdata-undici-0${`${Math.floor(Math.random()*1e11)}`.padStart(11,"0")}`;const r=`--${t}\r\nContent-Disposition: form-data` +/*! formdata-polyfill. MIT License. Jimmy Wärting */;const escape=e=>e.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22");const normalizeLinefeeds=e=>e.replace(/\r?\n|\r/g,"\r\n");const s=[];const n=new Uint8Array([13,10]);u=0;let o=false;for(const[t,i]of e){if(typeof i==="string"){const e=R.encode(r+`; name="${escape(normalizeLinefeeds(t))}"`+`\r\n\r\n${normalizeLinefeeds(i)}\r\n`);s.push(e);u+=e.byteLength}else{const e=R.encode(`${r}; name="${escape(normalizeLinefeeds(t))}"`+(i.name?`; filename="${escape(i.name)}"`:"")+"\r\n"+`Content-Type: ${i.type||"application/octet-stream"}\r\n\r\n`);s.push(e,i,n);if(typeof i.size==="number"){u+=e.byteLength+i.size+n.byteLength}else{o=true}}}const i=R.encode(`--${t}--`);s.push(i);u+=i.byteLength;if(o){u=null}l=e;c=async function*(){for(const e of s){if(e.stream){yield*e.stream()}else{yield e}}};p="multipart/form-data; boundary="+t}else if(i(e)){l=e;u=e.size;if(e.type){p=e.type}}else if(typeof e[Symbol.asyncIterator]==="function"){if(t){throw new TypeError("keepalive")}if(n.isDisturbed(e)||e.locked){throw new TypeError("Response body object should not be disturbed or locked")}s=e instanceof x?e:o(e)}if(typeof l==="string"||n.isBuffer(l)){u=Buffer.byteLength(l)}if(c!=null){let t;s=new x({async start(){t=c(e)[Symbol.asyncIterator]()},async pull(e){const{value:r,done:n}=await t.next();if(n){queueMicrotask((()=>{e.close()}))}else{if(!B(s)){e.enqueue(new Uint8Array(r))}}return e.desiredSize>0},async cancel(e){await t.return()},type:undefined})}const d={stream:s,source:l,length:u};return[d,p]}function safelyExtractBody(e,t=false){if(!x){x=r(5356).ReadableStream}if(e instanceof x){I(!n.isDisturbed(e),"The body has already been consumed.");I(!e.locked,"The stream is locked.")}return extractBody(e,t)}function cloneBody(e){const[t,r]=e.stream.tee();const s=h(r,{transfer:[r]});const[,n]=s.tee();e.stream=t;return{stream:n,length:e.length,source:e.source}}async function*consumeBody(e){if(e){if(Q(e)){yield e}else{const t=e.stream;if(n.isDisturbed(t)){throw new TypeError("The body has already been consumed.")}if(t.locked){throw new TypeError("The stream is locked.")}t[C]=true;yield*t}}}function throwIfAborted(e){if(e.aborted){throw new g("The operation was aborted.","AbortError")}}function bodyMixinMethods(e){const t={blob(){return specConsumeBody(this,(e=>{let t=bodyMimeType(this);if(t==="failure"){t=""}else if(t){t=w(t)}return new m([e],{type:t})}),e)},arrayBuffer(){return specConsumeBody(this,(e=>new Uint8Array(e).buffer),e)},text(){return specConsumeBody(this,utf8DecodeBytes,e)},json(){return specConsumeBody(this,parseJSONFromBytes,e)},async formData(){d.brandCheck(this,e);throwIfAborted(this[p]);const t=this.headers.get("Content-Type");if(/multipart\/form-data/.test(t)){const e={};for(const[t,r]of this.headers)e[t.toLowerCase()]=r;const t=new u;let r;try{r=new s({headers:e,preservePath:true})}catch(e){throw new g(`${e}`,"AbortError")}r.on("field",((e,r)=>{t.append(e,r)}));r.on("file",((e,r,s,n,o)=>{const i=[];if(n==="base64"||n.toLowerCase()==="base64"){let n="";r.on("data",(e=>{n+=e.toString().replace(/[\r\n]/gm,"");const t=n.length-n.length%4;i.push(Buffer.from(n.slice(0,t),"base64"));n=n.slice(t)}));r.on("end",(()=>{i.push(Buffer.from(n,"base64"));t.append(e,new k(i,s,{type:o}))}))}else{r.on("data",(e=>{i.push(e)}));r.on("end",(()=>{t.append(e,new k(i,s,{type:o}))}))}}));const n=new Promise(((e,t)=>{r.on("finish",e);r.on("error",(e=>t(new TypeError(e))))}));if(this.body!==null)for await(const e of consumeBody(this[p].body))r.write(e);r.end();await n;return t}else if(/application\/x-www-form-urlencoded/.test(t)){let e;try{let t="";const r=new TextDecoder("utf-8",{ignoreBOM:true});for await(const e of consumeBody(this[p].body)){if(!Q(e)){throw new TypeError("Expected Uint8Array chunk")}t+=r.decode(e,{stream:true})}t+=r.decode();e=new URLSearchParams(t)}catch(e){throw Object.assign(new TypeError,{cause:e})}const t=new u;for(const[r,s]of e){t.append(r,s)}return t}else{await Promise.resolve();throwIfAborted(this[p]);throw d.errors.exception({header:`${e.name}.formData`,message:"Could not parse content as FormData."})}}};return t}function mixinBody(e){Object.assign(e.prototype,bodyMixinMethods(e))}async function specConsumeBody(e,t,r){d.brandCheck(e,r);throwIfAborted(e[p]);if(bodyUnusable(e[p].body)){throw new TypeError("Body is unusable")}const s=c();const errorSteps=e=>s.reject(e);const successSteps=e=>{try{s.resolve(t(e))}catch(e){errorSteps(e)}};if(e[p].body==null){successSteps(new Uint8Array);return s.promise}await l(e[p].body,successSteps,errorSteps);return s.promise}function bodyUnusable(e){return e!=null&&(e.stream.locked||n.isDisturbed(e.stream))}function utf8DecodeBytes(e){if(e.length===0){return""}if(e[0]===239&&e[1]===187&&e[2]===191){e=e.subarray(3)}const t=S.decode(e);return t}function parseJSONFromBytes(e){return JSON.parse(utf8DecodeBytes(e))}function bodyMimeType(e){const{headersList:t}=e[p];const r=t.get("content-type");if(r===null){return"failure"}return v(r)}e.exports={extractBody:extractBody,safelyExtractBody:safelyExtractBody,cloneBody:cloneBody,mixinBody:mixinBody}},7533:(e,t,r)=>{"use strict";const{MessageChannel:s,receiveMessageOnPort:n}=r(1267);const o=["GET","HEAD","POST"];const i=new Set(o);const a=[101,204,205,304];const A=[301,302,303,307,308];const c=new Set(A);const l=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","5060","5061","6000","6566","6665","6666","6667","6668","6669","6697","10080"];const u=new Set(l);const p=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"];const d=new Set(p);const g=["follow","manual","error"];const h=["GET","HEAD","OPTIONS","TRACE"];const m=new Set(h);const E=["navigate","same-origin","no-cors","cors"];const C=["omit","same-origin","include"];const I=["default","no-store","reload","no-cache","force-cache","only-if-cached"];const B=["content-encoding","content-language","content-location","content-type","content-length"];const Q=["half"];const b=["CONNECT","TRACE","TRACK"];const y=new Set(b);const v=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""];const w=new Set(v);const x=globalThis.DOMException??(()=>{try{atob("~")}catch(e){return Object.getPrototypeOf(e).constructor}})();let k;const R=globalThis.structuredClone??function structuredClone(e,t=undefined){if(arguments.length===0){throw new TypeError("missing argument")}if(!k){k=new s}k.port1.unref();k.port2.unref();k.port1.postMessage(e,t?.transfer);return n(k.port2).message};e.exports={DOMException:x,structuredClone:R,subresource:v,forbiddenMethods:b,requestBodyHeader:B,referrerPolicy:p,requestRedirect:g,requestMode:E,requestCredentials:C,requestCache:I,redirectStatus:A,corsSafeListedMethods:o,nullBodyStatus:a,safeMethods:h,badPorts:l,requestDuplex:Q,subresourceSet:w,badPortsSet:u,redirectStatusSet:c,corsSafeListedMethodsSet:i,safeMethodsSet:m,forbiddenMethodsSet:y,referrerPolicySet:d}},5958:(e,t,r)=>{const s=r(9491);const{atob:n}=r(4300);const{isomorphicDecode:o}=r(5496);const i=new TextEncoder;const a=/^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;const A=/(\u000A|\u000D|\u0009|\u0020)/;const c=/[\u0009|\u0020-\u007E|\u0080-\u00FF]/;function dataURLProcessor(e){s(e.protocol==="data:");let t=URLSerializer(e,true);t=t.slice(5);const r={position:0};let n=collectASequenceOfCodePointsFast(",",t,r);const i=n.length;n=removeASCIIWhitespace(n,true,true);if(r.position>=t.length){return"failure"}r.position++;const a=t.slice(i+1);let A=stringPercentDecode(a);if(/;(\u0020){0,}base64$/i.test(n)){const e=o(A);A=forgivingBase64(e);if(A==="failure"){return"failure"}n=n.slice(0,-6);n=n.replace(/(\u0020)+$/,"");n=n.slice(0,-1)}if(n.startsWith(";")){n="text/plain"+n}let c=parseMIMEType(n);if(c==="failure"){c=parseMIMEType("text/plain;charset=US-ASCII")}return{mimeType:c,body:A}}function URLSerializer(e,t=false){if(!t){return e.href}const r=e.href;const s=e.hash.length;return s===0?r:r.substring(0,r.length-s)}function collectASequenceOfCodePoints(e,t,r){let s="";while(r.positione.length){return"failure"}t.position++;let s=collectASequenceOfCodePointsFast(";",e,t);s=removeHTTPWhitespace(s,false,true);if(s.length===0||!a.test(s)){return"failure"}const n=r.toLowerCase();const o=s.toLowerCase();const i={type:n,subtype:o,parameters:new Map,essence:`${n}/${o}`};while(t.positionA.test(e)),e,t);let r=collectASequenceOfCodePoints((e=>e!==";"&&e!=="="),e,t);r=r.toLowerCase();if(t.positione.length){break}let s=null;if(e[t.position]==='"'){s=collectAnHTTPQuotedString(e,t,true);collectASequenceOfCodePointsFast(";",e,t)}else{s=collectASequenceOfCodePointsFast(";",e,t);s=removeHTTPWhitespace(s,false,true);if(s.length===0){continue}}if(r.length!==0&&a.test(r)&&(s.length===0||c.test(s))&&!i.parameters.has(r)){i.parameters.set(r,s)}}return i}function forgivingBase64(e){e=e.replace(/[\u0009\u000A\u000C\u000D\u0020]/g,"");if(e.length%4===0){e=e.replace(/=?=$/,"")}if(e.length%4===1){return"failure"}if(/[^+/0-9A-Za-z]/.test(e)){return"failure"}const t=n(e);const r=new Uint8Array(t.length);for(let e=0;ee!=='"'&&e!=="\\"),e,t);if(t.position>=e.length){break}const r=e[t.position];t.position++;if(r==="\\"){if(t.position>=e.length){o+="\\";break}o+=e[t.position];t.position++}else{s(r==='"');break}}if(r){return o}return e.slice(n,t.position)}function serializeAMimeType(e){s(e!=="failure");const{parameters:t,essence:r}=e;let n=r;for(let[e,r]of t.entries()){n+=";";n+=e;n+="=";if(!a.test(r)){r=r.replace(/(\\|")/g,"\\$1");r='"'+r;r+='"'}n+=r}return n}function isHTTPWhiteSpace(e){return e==="\r"||e==="\n"||e==="\t"||e===" "}function removeHTTPWhitespace(e,t=true,r=true){let s=0;let n=e.length-1;if(t){for(;s0&&isHTTPWhiteSpace(e[n]);n--);}return e.slice(s,n+1)}function isASCIIWhitespace(e){return e==="\r"||e==="\n"||e==="\t"||e==="\f"||e===" "}function removeASCIIWhitespace(e,t=true,r=true){let s=0;let n=e.length-1;if(t){for(;s0&&isASCIIWhitespace(e[n]);n--);}return e.slice(s,n+1)}e.exports={dataURLProcessor:dataURLProcessor,URLSerializer:URLSerializer,collectASequenceOfCodePoints:collectASequenceOfCodePoints,collectASequenceOfCodePointsFast:collectASequenceOfCodePointsFast,stringPercentDecode:stringPercentDecode,parseMIMEType:parseMIMEType,collectAnHTTPQuotedString:collectAnHTTPQuotedString,serializeAMimeType:serializeAMimeType}},5506:(e,t,r)=>{"use strict";const{Blob:s,File:n}=r(4300);const{types:o}=r(3837);const{kState:i}=r(5376);const{isBlobLike:a}=r(5496);const{webidl:A}=r(9111);const{parseMIMEType:c,serializeAMimeType:l}=r(5958);const{kEnumerableProperty:u}=r(7497);const p=new TextEncoder;class File extends s{constructor(e,t,r={}){A.argumentLengthCheck(arguments,2,{header:"File constructor"});e=A.converters["sequence"](e);t=A.converters.USVString(t);r=A.converters.FilePropertyBag(r);const s=t;let n=r.type;let o;e:{if(n){n=c(n);if(n==="failure"){n="";break e}n=l(n).toLowerCase()}o=r.lastModified}super(processBlobParts(e,r),{type:n});this[i]={name:s,lastModified:o,type:n}}get name(){A.brandCheck(this,File);return this[i].name}get lastModified(){A.brandCheck(this,File);return this[i].lastModified}get type(){A.brandCheck(this,File);return this[i].type}}class FileLike{constructor(e,t,r={}){const s=t;const n=r.type;const o=r.lastModified??Date.now();this[i]={blobLike:e,name:s,type:n,lastModified:o}}stream(...e){A.brandCheck(this,FileLike);return this[i].blobLike.stream(...e)}arrayBuffer(...e){A.brandCheck(this,FileLike);return this[i].blobLike.arrayBuffer(...e)}slice(...e){A.brandCheck(this,FileLike);return this[i].blobLike.slice(...e)}text(...e){A.brandCheck(this,FileLike);return this[i].blobLike.text(...e)}get size(){A.brandCheck(this,FileLike);return this[i].blobLike.size}get type(){A.brandCheck(this,FileLike);return this[i].blobLike.type}get name(){A.brandCheck(this,FileLike);return this[i].name}get lastModified(){A.brandCheck(this,FileLike);return this[i].lastModified}get[Symbol.toStringTag](){return"File"}}Object.defineProperties(File.prototype,{[Symbol.toStringTag]:{value:"File",configurable:true},name:u,lastModified:u});A.converters.Blob=A.interfaceConverter(s);A.converters.BlobPart=function(e,t){if(A.util.Type(e)==="Object"){if(a(e)){return A.converters.Blob(e,{strict:false})}if(ArrayBuffer.isView(e)||o.isAnyArrayBuffer(e)){return A.converters.BufferSource(e,t)}}return A.converters.USVString(e,t)};A.converters["sequence"]=A.sequenceConverter(A.converters.BlobPart);A.converters.FilePropertyBag=A.dictionaryConverter([{key:"lastModified",converter:A.converters["long long"],get defaultValue(){return Date.now()}},{key:"type",converter:A.converters.DOMString,defaultValue:""},{key:"endings",converter:e=>{e=A.converters.DOMString(e);e=e.toLowerCase();if(e!=="native"){e="transparent"}return e},defaultValue:"transparent"}]);function processBlobParts(e,t){const r=[];for(const s of e){if(typeof s==="string"){let e=s;if(t.endings==="native"){e=convertLineEndingsNative(e)}r.push(p.encode(e))}else if(o.isAnyArrayBuffer(s)||o.isTypedArray(s)){if(!s.buffer){r.push(new Uint8Array(s))}else{r.push(new Uint8Array(s.buffer,s.byteOffset,s.byteLength))}}else if(a(s)){r.push(s)}}return r}function convertLineEndingsNative(e){let t="\n";if(process.platform==="win32"){t="\r\n"}return e.replace(/\r?\n/g,t)}function isFileLike(e){return n&&e instanceof n||e instanceof File||e&&(typeof e.stream==="function"||typeof e.arrayBuffer==="function")&&e[Symbol.toStringTag]==="File"}e.exports={File:File,FileLike:FileLike,isFileLike:isFileLike}},9425:(e,t,r)=>{"use strict";const{isBlobLike:s,toUSVString:n,makeIterator:o}=r(5496);const{kState:i}=r(5376);const{File:a,FileLike:A,isFileLike:c}=r(5506);const{webidl:l}=r(9111);const{Blob:u,File:p}=r(4300);const d=p??a;class FormData{constructor(e){if(e!==undefined){throw l.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}this[i]=[]}append(e,t,r=undefined){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,2,{header:"FormData.append"});if(arguments.length===3&&!s(t)){throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'")}e=l.converters.USVString(e);t=s(t)?l.converters.Blob(t,{strict:false}):l.converters.USVString(t);r=arguments.length===3?l.converters.USVString(r):undefined;const n=makeEntry(e,t,r);this[i].push(n)}delete(e){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,1,{header:"FormData.delete"});e=l.converters.USVString(e);this[i]=this[i].filter((t=>t.name!==e))}get(e){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,1,{header:"FormData.get"});e=l.converters.USVString(e);const t=this[i].findIndex((t=>t.name===e));if(t===-1){return null}return this[i][t].value}getAll(e){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,1,{header:"FormData.getAll"});e=l.converters.USVString(e);return this[i].filter((t=>t.name===e)).map((e=>e.value))}has(e){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,1,{header:"FormData.has"});e=l.converters.USVString(e);return this[i].findIndex((t=>t.name===e))!==-1}set(e,t,r=undefined){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,2,{header:"FormData.set"});if(arguments.length===3&&!s(t)){throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'")}e=l.converters.USVString(e);t=s(t)?l.converters.Blob(t,{strict:false}):l.converters.USVString(t);r=arguments.length===3?n(r):undefined;const o=makeEntry(e,t,r);const a=this[i].findIndex((t=>t.name===e));if(a!==-1){this[i]=[...this[i].slice(0,a),o,...this[i].slice(a+1).filter((t=>t.name!==e))]}else{this[i].push(o)}}entries(){l.brandCheck(this,FormData);return o((()=>this[i].map((e=>[e.name,e.value]))),"FormData","key+value")}keys(){l.brandCheck(this,FormData);return o((()=>this[i].map((e=>[e.name,e.value]))),"FormData","key")}values(){l.brandCheck(this,FormData);return o((()=>this[i].map((e=>[e.name,e.value]))),"FormData","value")}forEach(e,t=globalThis){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,1,{header:"FormData.forEach"});if(typeof e!=="function"){throw new TypeError("Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'.")}for(const[r,s]of this){e.apply(t,[s,r,this])}}}FormData.prototype[Symbol.iterator]=FormData.prototype.entries;Object.defineProperties(FormData.prototype,{[Symbol.toStringTag]:{value:"FormData",configurable:true}});function makeEntry(e,t,r){e=Buffer.from(e).toString("utf8");if(typeof t==="string"){t=Buffer.from(t).toString("utf8")}else{if(!c(t)){t=t instanceof u?new d([t],"blob",{type:t.type}):new A(t,"blob",{type:t.type})}if(r!==undefined){const e={type:t.type,lastModified:t.lastModified};t=p&&t instanceof p||t instanceof a?new d([t],r,e):new A(t,r,e)}}return{name:e,value:t}}e.exports={FormData:FormData}},7011:e=>{"use strict";const t=Symbol.for("undici.globalOrigin.1");function getGlobalOrigin(){return globalThis[t]}function setGlobalOrigin(e){if(e===undefined){Object.defineProperty(globalThis,t,{value:undefined,writable:true,enumerable:false,configurable:false});return}const r=new URL(e);if(r.protocol!=="http:"&&r.protocol!=="https:"){throw new TypeError(`Only http & https urls are allowed, received ${r.protocol}`)}Object.defineProperty(globalThis,t,{value:r,writable:true,enumerable:false,configurable:false})}e.exports={getGlobalOrigin:getGlobalOrigin,setGlobalOrigin:setGlobalOrigin}},1855:(e,t,r)=>{"use strict";const{kHeadersList:s,kConstruct:n}=r(3932);const{kGuard:o}=r(5376);const{kEnumerableProperty:i}=r(7497);const{makeIterator:a,isValidHeaderName:A,isValidHeaderValue:c}=r(5496);const{webidl:l}=r(9111);const u=r(9491);const p=Symbol("headers map");const d=Symbol("headers map sorted");function isHTTPWhiteSpaceCharCode(e){return e===10||e===13||e===9||e===32}function headerValueNormalize(e){let t=0;let r=e.length;while(r>t&&isHTTPWhiteSpaceCharCode(e.charCodeAt(r-1)))--r;while(r>t&&isHTTPWhiteSpaceCharCode(e.charCodeAt(t)))++t;return t===0&&r===e.length?e:e.substring(t,r)}function fill(e,t){if(Array.isArray(t)){for(let r=0;r>","record"]})}}function appendHeader(e,t,r){r=headerValueNormalize(r);if(!A(t)){throw l.errors.invalidArgument({prefix:"Headers.append",value:t,type:"header name"})}else if(!c(r)){throw l.errors.invalidArgument({prefix:"Headers.append",value:r,type:"header value"})}if(e[o]==="immutable"){throw new TypeError("immutable")}else if(e[o]==="request-no-cors"){}return e[s].append(t,r)}class HeadersList{cookies=null;constructor(e){if(e instanceof HeadersList){this[p]=new Map(e[p]);this[d]=e[d];this.cookies=e.cookies===null?null:[...e.cookies]}else{this[p]=new Map(e);this[d]=null}}contains(e){e=e.toLowerCase();return this[p].has(e)}clear(){this[p].clear();this[d]=null;this.cookies=null}append(e,t){this[d]=null;const r=e.toLowerCase();const s=this[p].get(r);if(s){const e=r==="cookie"?"; ":", ";this[p].set(r,{name:s.name,value:`${s.value}${e}${t}`})}else{this[p].set(r,{name:e,value:t})}if(r==="set-cookie"){this.cookies??=[];this.cookies.push(t)}}set(e,t){this[d]=null;const r=e.toLowerCase();if(r==="set-cookie"){this.cookies=[t]}this[p].set(r,{name:e,value:t})}delete(e){this[d]=null;e=e.toLowerCase();if(e==="set-cookie"){this.cookies=null}this[p].delete(e)}get(e){const t=this[p].get(e.toLowerCase());return t===undefined?null:t.value}*[Symbol.iterator](){for(const[e,{value:t}]of this[p]){yield[e,t]}}get entries(){const e={};if(this[p].size){for(const{name:t,value:r}of this[p].values()){e[t]=r}}return e}}class Headers{constructor(e=undefined){if(e===n){return}this[s]=new HeadersList;this[o]="none";if(e!==undefined){e=l.converters.HeadersInit(e);fill(this,e)}}append(e,t){l.brandCheck(this,Headers);l.argumentLengthCheck(arguments,2,{header:"Headers.append"});e=l.converters.ByteString(e);t=l.converters.ByteString(t);return appendHeader(this,e,t)}delete(e){l.brandCheck(this,Headers);l.argumentLengthCheck(arguments,1,{header:"Headers.delete"});e=l.converters.ByteString(e);if(!A(e)){throw l.errors.invalidArgument({prefix:"Headers.delete",value:e,type:"header name"})}if(this[o]==="immutable"){throw new TypeError("immutable")}else if(this[o]==="request-no-cors"){}if(!this[s].contains(e)){return}this[s].delete(e)}get(e){l.brandCheck(this,Headers);l.argumentLengthCheck(arguments,1,{header:"Headers.get"});e=l.converters.ByteString(e);if(!A(e)){throw l.errors.invalidArgument({prefix:"Headers.get",value:e,type:"header name"})}return this[s].get(e)}has(e){l.brandCheck(this,Headers);l.argumentLengthCheck(arguments,1,{header:"Headers.has"});e=l.converters.ByteString(e);if(!A(e)){throw l.errors.invalidArgument({prefix:"Headers.has",value:e,type:"header name"})}return this[s].contains(e)}set(e,t){l.brandCheck(this,Headers);l.argumentLengthCheck(arguments,2,{header:"Headers.set"});e=l.converters.ByteString(e);t=l.converters.ByteString(t);t=headerValueNormalize(t);if(!A(e)){throw l.errors.invalidArgument({prefix:"Headers.set",value:e,type:"header name"})}else if(!c(t)){throw l.errors.invalidArgument({prefix:"Headers.set",value:t,type:"header value"})}if(this[o]==="immutable"){throw new TypeError("immutable")}else if(this[o]==="request-no-cors"){}this[s].set(e,t)}getSetCookie(){l.brandCheck(this,Headers);const e=this[s].cookies;if(e){return[...e]}return[]}get[d](){if(this[s][d]){return this[s][d]}const e=[];const t=[...this[s]].sort(((e,t)=>e[0]e),"Headers","key")}return a((()=>[...this[d].values()]),"Headers","key")}values(){l.brandCheck(this,Headers);if(this[o]==="immutable"){const e=this[d];return a((()=>e),"Headers","value")}return a((()=>[...this[d].values()]),"Headers","value")}entries(){l.brandCheck(this,Headers);if(this[o]==="immutable"){const e=this[d];return a((()=>e),"Headers","key+value")}return a((()=>[...this[d].values()]),"Headers","key+value")}forEach(e,t=globalThis){l.brandCheck(this,Headers);l.argumentLengthCheck(arguments,1,{header:"Headers.forEach"});if(typeof e!=="function"){throw new TypeError("Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'.")}for(const[r,s]of this){e.apply(t,[s,r,this])}}[Symbol.for("nodejs.util.inspect.custom")](){l.brandCheck(this,Headers);return this[s]}}Headers.prototype[Symbol.iterator]=Headers.prototype.entries;Object.defineProperties(Headers.prototype,{append:i,delete:i,get:i,has:i,set:i,getSetCookie:i,keys:i,values:i,entries:i,forEach:i,[Symbol.iterator]:{enumerable:false},[Symbol.toStringTag]:{value:"Headers",configurable:true}});l.converters.HeadersInit=function(e){if(l.util.Type(e)==="Object"){if(e[Symbol.iterator]){return l.converters["sequence>"](e)}return l.converters["record"](e)}throw l.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence>","record"]})};e.exports={fill:fill,Headers:Headers,HeadersList:HeadersList}},8802:(e,t,r)=>{"use strict";const{Response:s,makeNetworkError:n,makeAppropriateNetworkError:o,filterResponse:i,makeResponse:a}=r(3950);const{Headers:A}=r(1855);const{Request:c,makeRequest:l}=r(6453);const u=r(9796);const{bytesMatch:p,makePolicyContainer:d,clonePolicyContainer:g,requestBadPort:h,TAOCheck:m,appendRequestOriginHeader:E,responseLocationURL:C,requestCurrentURL:I,setRequestReferrerPolicyOnRedirect:B,tryUpgradeRequestToAPotentiallyTrustworthyURL:Q,createOpaqueTimingInfo:b,appendFetchMetadata:y,corsCheck:v,crossOriginResourcePolicyCheck:w,determineRequestsReferrer:x,coarsenedSharedCurrentTime:k,createDeferredPromise:R,isBlobLike:S,sameOrigin:D,isCancelled:T,isAborted:_,isErrorLike:F,fullyReadBody:N,readableStreamClose:U,isomorphicEncode:M,urlIsLocal:O,urlIsHttpHttpsScheme:L,urlHasHttpsScheme:P}=r(5496);const{kState:G,kHeaders:j,kGuard:H,kRealm:J}=r(5376);const V=r(9491);const{safelyExtractBody:Y}=r(1226);const{redirectStatusSet:q,nullBodyStatus:W,safeMethodsSet:Z,requestBodyHeader:z,subresourceSet:K,DOMException:X}=r(7533);const{kHeadersList:$}=r(3932);const ee=r(9820);const{Readable:te,pipeline:re}=r(2781);const{addAbortListener:se,isErrored:ne,isReadable:oe,nodeMajor:ie,nodeMinor:ae}=r(7497);const{dataURLProcessor:Ae,serializeAMimeType:ce}=r(5958);const{TransformStream:le}=r(5356);const{getGlobalDispatcher:ue}=r(2899);const{webidl:pe}=r(9111);const{STATUS_CODES:de}=r(3685);const ge=["GET","HEAD"];let he;let fe=globalThis.ReadableStream;class Fetch extends ee{constructor(e){super();this.dispatcher=e;this.connection=null;this.dump=false;this.state="ongoing";this.setMaxListeners(21)}terminate(e){if(this.state!=="ongoing"){return}this.state="terminated";this.connection?.destroy(e);this.emit("terminated",e)}abort(e){if(this.state!=="ongoing"){return}this.state="aborted";if(!e){e=new X("The operation was aborted.","AbortError")}this.serializedAbortReason=e;this.connection?.destroy(e);this.emit("terminated",e)}}function fetch(e,t={}){pe.argumentLengthCheck(arguments,1,{header:"globalThis.fetch"});const r=R();let n;try{n=new c(e,t)}catch(e){r.reject(e);return r.promise}const o=n[G];if(n.signal.aborted){abortFetch(r,o,null,n.signal.reason);return r.promise}const i=o.client.globalObject;if(i?.constructor?.name==="ServiceWorkerGlobalScope"){o.serviceWorkers="none"}let a=null;const A=null;let l=false;let u=null;se(n.signal,(()=>{l=true;V(u!=null);u.abort(n.signal.reason);abortFetch(r,o,a,n.signal.reason)}));const handleFetchDone=e=>finalizeAndReportTiming(e,"fetch");const processResponse=e=>{if(l){return Promise.resolve()}if(e.aborted){abortFetch(r,o,a,u.serializedAbortReason);return Promise.resolve()}if(e.type==="error"){r.reject(Object.assign(new TypeError("fetch failed"),{cause:e.error}));return Promise.resolve()}a=new s;a[G]=e;a[J]=A;a[j][$]=e.headersList;a[j][H]="immutable";a[j][J]=A;r.resolve(a)};u=fetching({request:o,processResponseEndOfBody:handleFetchDone,processResponse:processResponse,dispatcher:t.dispatcher??ue()});return r.promise}function finalizeAndReportTiming(e,t="other"){if(e.type==="error"&&e.aborted){return}if(!e.urlList?.length){return}const r=e.urlList[0];let s=e.timingInfo;let n=e.cacheState;if(!L(r)){return}if(s===null){return}if(!e.timingAllowPassed){s=b({startTime:s.startTime});n=""}s.endTime=k();e.timingInfo=s;markResourceTiming(s,r,t,globalThis,n)}function markResourceTiming(e,t,r,s,n){if(ie>18||ie===18&&ae>=2){performance.markResourceTiming(e,t.href,r,s,n)}}function abortFetch(e,t,r,s){if(!s){s=new X("The operation was aborted.","AbortError")}e.reject(s);if(t.body!=null&&oe(t.body?.stream)){t.body.stream.cancel(s).catch((e=>{if(e.code==="ERR_INVALID_STATE"){return}throw e}))}if(r==null){return}const n=r[G];if(n.body!=null&&oe(n.body?.stream)){n.body.stream.cancel(s).catch((e=>{if(e.code==="ERR_INVALID_STATE"){return}throw e}))}}function fetching({request:e,processRequestBodyChunkLength:t,processRequestEndOfBody:r,processResponse:s,processResponseEndOfBody:n,processResponseConsumeBody:o,useParallelQueue:i=false,dispatcher:a}){let A=null;let c=false;if(e.client!=null){A=e.client.globalObject;c=e.client.crossOriginIsolatedCapability}const l=k(c);const u=b({startTime:l});const p={controller:new Fetch(a),request:e,timingInfo:u,processRequestBodyChunkLength:t,processRequestEndOfBody:r,processResponse:s,processResponseConsumeBody:o,processResponseEndOfBody:n,taskDestination:A,crossOriginIsolatedCapability:c};V(!e.body||e.body.stream);if(e.window==="client"){e.window=e.client?.globalObject?.constructor?.name==="Window"?e.client:"no-window"}if(e.origin==="client"){e.origin=e.client?.origin}if(e.policyContainer==="client"){if(e.client!=null){e.policyContainer=g(e.client.policyContainer)}else{e.policyContainer=d()}}if(!e.headersList.contains("accept")){const t="*/*";e.headersList.append("accept",t)}if(!e.headersList.contains("accept-language")){e.headersList.append("accept-language","*")}if(e.priority===null){}if(K.has(e.destination)){}mainFetch(p).catch((e=>{p.controller.terminate(e)}));return p.controller}async function mainFetch(e,t=false){const r=e.request;let s=null;if(r.localURLsOnly&&!O(I(r))){s=n("local URLs only")}Q(r);if(h(r)==="blocked"){s=n("bad port")}if(r.referrerPolicy===""){r.referrerPolicy=r.policyContainer.referrerPolicy}if(r.referrer!=="no-referrer"){r.referrer=x(r)}if(s===null){s=await(async()=>{const t=I(r);if(D(t,r.url)&&r.responseTainting==="basic"||t.protocol==="data:"||(r.mode==="navigate"||r.mode==="websocket")){r.responseTainting="basic";return await schemeFetch(e)}if(r.mode==="same-origin"){return n('request mode cannot be "same-origin"')}if(r.mode==="no-cors"){if(r.redirect!=="follow"){return n('redirect mode cannot be "follow" for "no-cors" request')}r.responseTainting="opaque";return await schemeFetch(e)}if(!L(I(r))){return n("URL scheme must be a HTTP(S) scheme")}r.responseTainting="cors";return await httpFetch(e)})()}if(t){return s}if(s.status!==0&&!s.internalResponse){if(r.responseTainting==="cors"){}if(r.responseTainting==="basic"){s=i(s,"basic")}else if(r.responseTainting==="cors"){s=i(s,"cors")}else if(r.responseTainting==="opaque"){s=i(s,"opaque")}else{V(false)}}let o=s.status===0?s:s.internalResponse;if(o.urlList.length===0){o.urlList.push(...r.urlList)}if(!r.timingAllowFailed){s.timingAllowPassed=true}if(s.type==="opaque"&&o.status===206&&o.rangeRequested&&!r.headers.contains("range")){s=o=n()}if(s.status!==0&&(r.method==="HEAD"||r.method==="CONNECT"||W.includes(o.status))){o.body=null;e.controller.dump=true}if(r.integrity){const processBodyError=t=>fetchFinale(e,n(t));if(r.responseTainting==="opaque"||s.body==null){processBodyError(s.error);return}const processBody=t=>{if(!p(t,r.integrity)){processBodyError("integrity mismatch");return}s.body=Y(t)[0];fetchFinale(e,s)};await N(s.body,processBody,processBodyError)}else{fetchFinale(e,s)}}function schemeFetch(e){if(T(e)&&e.request.redirectCount===0){return Promise.resolve(o(e))}const{request:t}=e;const{protocol:s}=I(t);switch(s){case"about:":{return Promise.resolve(n("about scheme is not supported"))}case"blob:":{if(!he){he=r(4300).resolveObjectURL}const e=I(t);if(e.search.length!==0){return Promise.resolve(n("NetworkError when attempting to fetch resource."))}const s=he(e.toString());if(t.method!=="GET"||!S(s)){return Promise.resolve(n("invalid method"))}const o=Y(s);const i=o[0];const A=M(`${i.length}`);const c=o[1]??"";const l=a({statusText:"OK",headersList:[["content-length",{name:"Content-Length",value:A}],["content-type",{name:"Content-Type",value:c}]]});l.body=i;return Promise.resolve(l)}case"data:":{const e=I(t);const r=Ae(e);if(r==="failure"){return Promise.resolve(n("failed to fetch the data URL"))}const s=ce(r.mimeType);return Promise.resolve(a({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:s}]],body:Y(r.body)[0]}))}case"file:":{return Promise.resolve(n("not implemented... yet..."))}case"http:":case"https:":{return httpFetch(e).catch((e=>n(e)))}default:{return Promise.resolve(n("unknown scheme"))}}}function finalizeResponse(e,t){e.request.done=true;if(e.processResponseDone!=null){queueMicrotask((()=>e.processResponseDone(t)))}}function fetchFinale(e,t){if(t.type==="error"){t.urlList=[e.request.urlList[0]];t.timingInfo=b({startTime:e.timingInfo.startTime})}const processResponseEndOfBody=()=>{e.request.done=true;if(e.processResponseEndOfBody!=null){queueMicrotask((()=>e.processResponseEndOfBody(t)))}};if(e.processResponse!=null){queueMicrotask((()=>e.processResponse(t)))}if(t.body==null){processResponseEndOfBody()}else{const identityTransformAlgorithm=(e,t)=>{t.enqueue(e)};const e=new le({start(){},transform:identityTransformAlgorithm,flush:processResponseEndOfBody},{size(){return 1}},{size(){return 1}});t.body={stream:t.body.stream.pipeThrough(e)}}if(e.processResponseConsumeBody!=null){const processBody=r=>e.processResponseConsumeBody(t,r);const processBodyError=r=>e.processResponseConsumeBody(t,r);if(t.body==null){queueMicrotask((()=>processBody(null)))}else{return N(t.body,processBody,processBodyError)}return Promise.resolve()}}async function httpFetch(e){const t=e.request;let r=null;let s=null;const o=e.timingInfo;if(t.serviceWorkers==="all"){}if(r===null){if(t.redirect==="follow"){t.serviceWorkers="none"}s=r=await httpNetworkOrCacheFetch(e);if(t.responseTainting==="cors"&&v(t,r)==="failure"){return n("cors failure")}if(m(t,r)==="failure"){t.timingAllowFailed=true}}if((t.responseTainting==="opaque"||r.type==="opaque")&&w(t.origin,t.client,t.destination,s)==="blocked"){return n("blocked")}if(q.has(s.status)){if(t.redirect!=="manual"){e.controller.connection.destroy()}if(t.redirect==="error"){r=n("unexpected redirect")}else if(t.redirect==="manual"){r=s}else if(t.redirect==="follow"){r=await httpRedirectFetch(e,r)}else{V(false)}}r.timingInfo=o;return r}function httpRedirectFetch(e,t){const r=e.request;const s=t.internalResponse?t.internalResponse:t;let o;try{o=C(s,I(r).hash);if(o==null){return t}}catch(e){return Promise.resolve(n(e))}if(!L(o)){return Promise.resolve(n("URL scheme must be a HTTP(S) scheme"))}if(r.redirectCount===20){return Promise.resolve(n("redirect count exceeded"))}r.redirectCount+=1;if(r.mode==="cors"&&(o.username||o.password)&&!D(r,o)){return Promise.resolve(n('cross origin not allowed for request mode "cors"'))}if(r.responseTainting==="cors"&&(o.username||o.password)){return Promise.resolve(n('URL cannot contain credentials for request mode "cors"'))}if(s.status!==303&&r.body!=null&&r.body.source==null){return Promise.resolve(n())}if([301,302].includes(s.status)&&r.method==="POST"||s.status===303&&!ge.includes(r.method)){r.method="GET";r.body=null;for(const e of z){r.headersList.delete(e)}}if(!D(I(r),o)){r.headersList.delete("authorization");r.headersList.delete("cookie");r.headersList.delete("host")}if(r.body!=null){V(r.body.source!=null);r.body=Y(r.body.source)[0]}const i=e.timingInfo;i.redirectEndTime=i.postRedirectStartTime=k(e.crossOriginIsolatedCapability);if(i.redirectStartTime===0){i.redirectStartTime=i.startTime}r.urlList.push(o);B(r,s);return mainFetch(e,true)}async function httpNetworkOrCacheFetch(e,t=false,r=false){const s=e.request;let i=null;let a=null;let A=null;const c=null;const u=false;if(s.window==="no-window"&&s.redirect==="error"){i=e;a=s}else{a=l(s);i={...e};i.request=a}const p=s.credentials==="include"||s.credentials==="same-origin"&&s.responseTainting==="basic";const d=a.body?a.body.length:null;let g=null;if(a.body==null&&["POST","PUT"].includes(a.method)){g="0"}if(d!=null){g=M(`${d}`)}if(g!=null){a.headersList.append("content-length",g)}if(d!=null&&a.keepalive){}if(a.referrer instanceof URL){a.headersList.append("referer",M(a.referrer.href))}E(a);y(a);if(!a.headersList.contains("user-agent")){a.headersList.append("user-agent",typeof esbuildDetection==="undefined"?"undici":"node")}if(a.cache==="default"&&(a.headersList.contains("if-modified-since")||a.headersList.contains("if-none-match")||a.headersList.contains("if-unmodified-since")||a.headersList.contains("if-match")||a.headersList.contains("if-range"))){a.cache="no-store"}if(a.cache==="no-cache"&&!a.preventNoCacheCacheControlHeaderModification&&!a.headersList.contains("cache-control")){a.headersList.append("cache-control","max-age=0")}if(a.cache==="no-store"||a.cache==="reload"){if(!a.headersList.contains("pragma")){a.headersList.append("pragma","no-cache")}if(!a.headersList.contains("cache-control")){a.headersList.append("cache-control","no-cache")}}if(a.headersList.contains("range")){a.headersList.append("accept-encoding","identity")}if(!a.headersList.contains("accept-encoding")){if(P(I(a))){a.headersList.append("accept-encoding","br, gzip, deflate")}else{a.headersList.append("accept-encoding","gzip, deflate")}}a.headersList.delete("host");if(p){}if(c==null){a.cache="no-store"}if(a.mode!=="no-store"&&a.mode!=="reload"){}if(A==null){if(a.mode==="only-if-cached"){return n("only if cached")}const e=await httpNetworkFetch(i,p,r);if(!Z.has(a.method)&&e.status>=200&&e.status<=399){}if(u&&e.status===304){}if(A==null){A=e}}A.urlList=[...a.urlList];if(a.headersList.contains("range")){A.rangeRequested=true}A.requestIncludesCredentials=p;if(A.status===407){if(s.window==="no-window"){return n()}if(T(e)){return o(e)}return n("proxy authentication required")}if(A.status===421&&!r&&(s.body==null||s.body.source!=null)){if(T(e)){return o(e)}e.controller.connection.destroy();A=await httpNetworkOrCacheFetch(e,t,true)}if(t){}return A}async function httpNetworkFetch(e,t=false,s=false){V(!e.controller.connection||e.controller.connection.destroyed);e.controller.connection={abort:null,destroyed:false,destroy(e){if(!this.destroyed){this.destroyed=true;this.abort?.(e??new X("The operation was aborted.","AbortError"))}}};const i=e.request;let c=null;const l=e.timingInfo;const p=null;if(p==null){i.cache="no-store"}const d=s?"yes":"no";if(i.mode==="websocket"){}else{}let g=null;if(i.body==null&&e.processRequestEndOfBody){queueMicrotask((()=>e.processRequestEndOfBody()))}else if(i.body!=null){const processBodyChunk=async function*(t){if(T(e)){return}yield t;e.processRequestBodyChunkLength?.(t.byteLength)};const processEndOfBody=()=>{if(T(e)){return}if(e.processRequestEndOfBody){e.processRequestEndOfBody()}};const processBodyError=t=>{if(T(e)){return}if(t.name==="AbortError"){e.controller.abort()}else{e.controller.terminate(t)}};g=async function*(){try{for await(const e of i.body.stream){yield*processBodyChunk(e)}processEndOfBody()}catch(e){processBodyError(e)}}()}try{const{body:t,status:r,statusText:s,headersList:n,socket:o}=await dispatch({body:g});if(o){c=a({status:r,statusText:s,headersList:n,socket:o})}else{const o=t[Symbol.asyncIterator]();e.controller.next=()=>o.next();c=a({status:r,statusText:s,headersList:n})}}catch(t){if(t.name==="AbortError"){e.controller.connection.destroy();return o(e,t)}return n(t)}const pullAlgorithm=()=>{e.controller.resume()};const cancelAlgorithm=t=>{e.controller.abort(t)};if(!fe){fe=r(5356).ReadableStream}const h=new fe({async start(t){e.controller.controller=t},async pull(e){await pullAlgorithm(e)},async cancel(e){await cancelAlgorithm(e)}},{highWaterMark:0,size(){return 1}});c.body={stream:h};e.controller.on("terminated",onAborted);e.controller.resume=async()=>{while(true){let t;let r;try{const{done:r,value:s}=await e.controller.next();if(_(e)){break}t=r?undefined:s}catch(s){if(e.controller.ended&&!l.encodedBodySize){t=undefined}else{t=s;r=true}}if(t===undefined){U(e.controller.controller);finalizeResponse(e,c);return}l.decodedBodySize+=t?.byteLength??0;if(r){e.controller.terminate(t);return}e.controller.controller.enqueue(new Uint8Array(t));if(ne(h)){e.controller.terminate();return}if(!e.controller.controller.desiredSize){return}}};function onAborted(t){if(_(e)){c.aborted=true;if(oe(h)){e.controller.controller.error(e.controller.serializedAbortReason)}}else{if(oe(h)){e.controller.controller.error(new TypeError("terminated",{cause:F(t)?t:undefined}))}}e.controller.connection.destroy()}return c;async function dispatch({body:t}){const r=I(i);const s=e.controller.dispatcher;return new Promise(((n,o)=>s.dispatch({path:r.pathname+r.search,origin:r.origin,method:i.method,body:e.controller.dispatcher.isMockActive?i.body&&(i.body.source||i.body.stream):t,headers:i.headersList.entries,maxRedirections:0,upgrade:i.mode==="websocket"?"websocket":undefined},{body:null,abort:null,onConnect(t){const{connection:r}=e.controller;if(r.destroyed){t(new X("The operation was aborted.","AbortError"))}else{e.controller.on("terminated",t);this.abort=r.abort=t}},onHeaders(e,t,r,s){if(e<200){return}let o=[];let a="";const c=new A;if(Array.isArray(t)){for(let e=0;ee.trim()))}else if(r.toLowerCase()==="location"){a=s}c[$].append(r,s)}}else{const e=Object.keys(t);for(const r of e){const e=t[r];if(r.toLowerCase()==="content-encoding"){o=e.toLowerCase().split(",").map((e=>e.trim())).reverse()}else if(r.toLowerCase()==="location"){a=e}c[$].append(r,e)}}this.body=new te({read:r});const l=[];const p=i.redirect==="follow"&&a&&q.has(e);if(i.method!=="HEAD"&&i.method!=="CONNECT"&&!W.includes(e)&&!p){for(const e of o){if(e==="x-gzip"||e==="gzip"){l.push(u.createGunzip({flush:u.constants.Z_SYNC_FLUSH,finishFlush:u.constants.Z_SYNC_FLUSH}))}else if(e==="deflate"){l.push(u.createInflate())}else if(e==="br"){l.push(u.createBrotliDecompress())}else{l.length=0;break}}}n({status:e,statusText:s,headersList:c[$],body:l.length?re(this.body,...l,(()=>{})):this.body.on("error",(()=>{}))});return true},onData(t){if(e.controller.dump){return}const r=t;l.encodedBodySize+=r.byteLength;return this.body.push(r)},onComplete(){if(this.abort){e.controller.off("terminated",this.abort)}e.controller.ended=true;this.body.push(null)},onError(t){if(this.abort){e.controller.off("terminated",this.abort)}this.body?.destroy(t);e.controller.terminate(t);o(t)},onUpgrade(e,t,r){if(e!==101){return}const s=new A;for(let e=0;e{"use strict";const{extractBody:s,mixinBody:n,cloneBody:o}=r(1226);const{Headers:i,fill:a,HeadersList:A}=r(1855);const{FinalizationRegistry:c}=r(5285)();const l=r(7497);const{isValidHTTPToken:u,sameOrigin:p,normalizeMethod:d,makePolicyContainer:g,normalizeMethodRecord:h}=r(5496);const{forbiddenMethodsSet:m,corsSafeListedMethodsSet:E,referrerPolicy:C,requestRedirect:I,requestMode:B,requestCredentials:Q,requestCache:b,requestDuplex:y}=r(7533);const{kEnumerableProperty:v}=l;const{kHeaders:w,kSignal:x,kState:k,kGuard:R,kRealm:S}=r(5376);const{webidl:D}=r(9111);const{getGlobalOrigin:T}=r(7011);const{URLSerializer:_}=r(5958);const{kHeadersList:F,kConstruct:N}=r(3932);const U=r(9491);const{getMaxListeners:M,setMaxListeners:O,getEventListeners:L,defaultMaxListeners:P}=r(9820);let G=globalThis.TransformStream;const j=Symbol("abortController");const H=new c((({signal:e,abort:t})=>{e.removeEventListener("abort",t)}));class Request{constructor(e,t={}){if(e===N){return}D.argumentLengthCheck(arguments,1,{header:"Request constructor"});e=D.converters.RequestInfo(e);t=D.converters.RequestInit(t);this[S]={settingsObject:{baseUrl:T(),get origin(){return this.baseUrl?.origin},policyContainer:g()}};let n=null;let o=null;const c=this[S].settingsObject.baseUrl;let C=null;if(typeof e==="string"){let t;try{t=new URL(e,c)}catch(t){throw new TypeError("Failed to parse URL from "+e,{cause:t})}if(t.username||t.password){throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+e)}n=makeRequest({urlList:[t]});o="cors"}else{U(e instanceof Request);n=e[k];C=e[x]}const I=this[S].settingsObject.origin;let B="client";if(n.window?.constructor?.name==="EnvironmentSettingsObject"&&p(n.window,I)){B=n.window}if(t.window!=null){throw new TypeError(`'window' option '${B}' must be null`)}if("window"in t){B="no-window"}n=makeRequest({method:n.method,headersList:n.headersList,unsafeRequest:n.unsafeRequest,client:this[S].settingsObject,window:B,priority:n.priority,origin:n.origin,referrer:n.referrer,referrerPolicy:n.referrerPolicy,mode:n.mode,credentials:n.credentials,cache:n.cache,redirect:n.redirect,integrity:n.integrity,keepalive:n.keepalive,reloadNavigation:n.reloadNavigation,historyNavigation:n.historyNavigation,urlList:[...n.urlList]});const Q=Object.keys(t).length!==0;if(Q){if(n.mode==="navigate"){n.mode="same-origin"}n.reloadNavigation=false;n.historyNavigation=false;n.origin="client";n.referrer="client";n.referrerPolicy="";n.url=n.urlList[n.urlList.length-1];n.urlList=[n.url]}if(t.referrer!==undefined){const e=t.referrer;if(e===""){n.referrer="no-referrer"}else{let t;try{t=new URL(e,c)}catch(t){throw new TypeError(`Referrer "${e}" is not a valid URL.`,{cause:t})}if(t.protocol==="about:"&&t.hostname==="client"||I&&!p(t,this[S].settingsObject.baseUrl)){n.referrer="client"}else{n.referrer=t}}}if(t.referrerPolicy!==undefined){n.referrerPolicy=t.referrerPolicy}let b;if(t.mode!==undefined){b=t.mode}else{b=o}if(b==="navigate"){throw D.errors.exception({header:"Request constructor",message:"invalid request mode navigate."})}if(b!=null){n.mode=b}if(t.credentials!==undefined){n.credentials=t.credentials}if(t.cache!==undefined){n.cache=t.cache}if(n.cache==="only-if-cached"&&n.mode!=="same-origin"){throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode")}if(t.redirect!==undefined){n.redirect=t.redirect}if(t.integrity!=null){n.integrity=String(t.integrity)}if(t.keepalive!==undefined){n.keepalive=Boolean(t.keepalive)}if(t.method!==undefined){let e=t.method;if(!u(e)){throw new TypeError(`'${e}' is not a valid HTTP method.`)}if(m.has(e.toUpperCase())){throw new TypeError(`'${e}' HTTP method is unsupported.`)}e=h[e]??d(e);n.method=e}if(t.signal!==undefined){C=t.signal}this[k]=n;const y=new AbortController;this[x]=y.signal;this[x][S]=this[S];if(C!=null){if(!C||typeof C.aborted!=="boolean"||typeof C.addEventListener!=="function"){throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.")}if(C.aborted){y.abort(C.reason)}else{this[j]=y;const e=new WeakRef(y);const abort=function(){const t=e.deref();if(t!==undefined){t.abort(this.reason)}};try{if(typeof M==="function"&&M(C)===P){O(100,C)}else if(L(C,"abort").length>=P){O(100,C)}}catch{}l.addAbortListener(C,abort);H.register(y,{signal:C,abort:abort})}}this[w]=new i(N);this[w][F]=n.headersList;this[w][R]="request";this[w][S]=this[S];if(b==="no-cors"){if(!E.has(n.method)){throw new TypeError(`'${n.method} is unsupported in no-cors mode.`)}this[w][R]="request-no-cors"}if(Q){const e=this[w][F];const r=t.headers!==undefined?t.headers:new A(e);e.clear();if(r instanceof A){for(const[t,s]of r){e.append(t,s)}e.cookies=r.cookies}else{a(this[w],r)}}const v=e instanceof Request?e[k].body:null;if((t.body!=null||v!=null)&&(n.method==="GET"||n.method==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body.")}let _=null;if(t.body!=null){const[e,r]=s(t.body,n.keepalive);_=e;if(r&&!this[w][F].contains("content-type")){this[w].append("content-type",r)}}const J=_??v;if(J!=null&&J.source==null){if(_!=null&&t.duplex==null){throw new TypeError("RequestInit: duplex option is required when sending a body.")}if(n.mode!=="same-origin"&&n.mode!=="cors"){throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"')}n.useCORSPreflightFlag=true}let V=J;if(_==null&&v!=null){if(l.isDisturbed(v.stream)||v.stream.locked){throw new TypeError("Cannot construct a Request with a Request object that has already been used.")}if(!G){G=r(5356).TransformStream}const e=new G;v.stream.pipeThrough(e);V={source:v.source,length:v.length,stream:e.readable}}this[k].body=V}get method(){D.brandCheck(this,Request);return this[k].method}get url(){D.brandCheck(this,Request);return _(this[k].url)}get headers(){D.brandCheck(this,Request);return this[w]}get destination(){D.brandCheck(this,Request);return this[k].destination}get referrer(){D.brandCheck(this,Request);if(this[k].referrer==="no-referrer"){return""}if(this[k].referrer==="client"){return"about:client"}return this[k].referrer.toString()}get referrerPolicy(){D.brandCheck(this,Request);return this[k].referrerPolicy}get mode(){D.brandCheck(this,Request);return this[k].mode}get credentials(){return this[k].credentials}get cache(){D.brandCheck(this,Request);return this[k].cache}get redirect(){D.brandCheck(this,Request);return this[k].redirect}get integrity(){D.brandCheck(this,Request);return this[k].integrity}get keepalive(){D.brandCheck(this,Request);return this[k].keepalive}get isReloadNavigation(){D.brandCheck(this,Request);return this[k].reloadNavigation}get isHistoryNavigation(){D.brandCheck(this,Request);return this[k].historyNavigation}get signal(){D.brandCheck(this,Request);return this[x]}get body(){D.brandCheck(this,Request);return this[k].body?this[k].body.stream:null}get bodyUsed(){D.brandCheck(this,Request);return!!this[k].body&&l.isDisturbed(this[k].body.stream)}get duplex(){D.brandCheck(this,Request);return"half"}clone(){D.brandCheck(this,Request);if(this.bodyUsed||this.body?.locked){throw new TypeError("unusable")}const e=cloneRequest(this[k]);const t=new Request(N);t[k]=e;t[S]=this[S];t[w]=new i(N);t[w][F]=e.headersList;t[w][R]=this[w][R];t[w][S]=this[w][S];const r=new AbortController;if(this.signal.aborted){r.abort(this.signal.reason)}else{l.addAbortListener(this.signal,(()=>{r.abort(this.signal.reason)}))}t[x]=r.signal;return t}}n(Request);function makeRequest(e){const t={method:"GET",localURLsOnly:false,unsafeRequest:false,body:null,client:null,reservedClient:null,replacesClientId:"",window:"client",keepalive:false,serviceWorkers:"all",initiator:"",destination:"",priority:null,origin:"client",policyContainer:"client",referrer:"client",referrerPolicy:"",mode:"no-cors",useCORSPreflightFlag:false,credentials:"same-origin",useCredentials:false,cache:"default",redirect:"follow",integrity:"",cryptoGraphicsNonceMetadata:"",parserMetadata:"",reloadNavigation:false,historyNavigation:false,userActivation:false,taintedOrigin:false,redirectCount:0,responseTainting:"basic",preventNoCacheCacheControlHeaderModification:false,done:false,timingAllowFailed:false,...e,headersList:e.headersList?new A(e.headersList):new A};t.url=t.urlList[0];return t}function cloneRequest(e){const t=makeRequest({...e,body:null});if(e.body!=null){t.body=o(e.body)}return t}Object.defineProperties(Request.prototype,{method:v,url:v,headers:v,redirect:v,clone:v,signal:v,duplex:v,destination:v,body:v,bodyUsed:v,isHistoryNavigation:v,isReloadNavigation:v,keepalive:v,integrity:v,cache:v,credentials:v,attribute:v,referrerPolicy:v,referrer:v,mode:v,[Symbol.toStringTag]:{value:"Request",configurable:true}});D.converters.Request=D.interfaceConverter(Request);D.converters.RequestInfo=function(e){if(typeof e==="string"){return D.converters.USVString(e)}if(e instanceof Request){return D.converters.Request(e)}return D.converters.USVString(e)};D.converters.AbortSignal=D.interfaceConverter(AbortSignal);D.converters.RequestInit=D.dictionaryConverter([{key:"method",converter:D.converters.ByteString},{key:"headers",converter:D.converters.HeadersInit},{key:"body",converter:D.nullableConverter(D.converters.BodyInit)},{key:"referrer",converter:D.converters.USVString},{key:"referrerPolicy",converter:D.converters.DOMString,allowedValues:C},{key:"mode",converter:D.converters.DOMString,allowedValues:B},{key:"credentials",converter:D.converters.DOMString,allowedValues:Q},{key:"cache",converter:D.converters.DOMString,allowedValues:b},{key:"redirect",converter:D.converters.DOMString,allowedValues:I},{key:"integrity",converter:D.converters.DOMString},{key:"keepalive",converter:D.converters.boolean},{key:"signal",converter:D.nullableConverter((e=>D.converters.AbortSignal(e,{strict:false})))},{key:"window",converter:D.converters.any},{key:"duplex",converter:D.converters.DOMString,allowedValues:y}]);e.exports={Request:Request,makeRequest:makeRequest}},3950:(e,t,r)=>{"use strict";const{Headers:s,HeadersList:n,fill:o}=r(1855);const{extractBody:i,cloneBody:a,mixinBody:A}=r(1226);const c=r(7497);const{kEnumerableProperty:l}=c;const{isValidReasonPhrase:u,isCancelled:p,isAborted:d,isBlobLike:g,serializeJavascriptValueToJSONString:h,isErrorLike:m,isomorphicEncode:E}=r(5496);const{redirectStatusSet:C,nullBodyStatus:I,DOMException:B}=r(7533);const{kState:Q,kHeaders:b,kGuard:y,kRealm:v}=r(5376);const{webidl:w}=r(9111);const{FormData:x}=r(9425);const{getGlobalOrigin:k}=r(7011);const{URLSerializer:R}=r(5958);const{kHeadersList:S,kConstruct:D}=r(3932);const T=r(9491);const{types:_}=r(3837);const F=globalThis.ReadableStream||r(5356).ReadableStream;const N=new TextEncoder("utf-8");class Response{static error(){const e={settingsObject:{}};const t=new Response;t[Q]=makeNetworkError();t[v]=e;t[b][S]=t[Q].headersList;t[b][y]="immutable";t[b][v]=e;return t}static json(e,t={}){w.argumentLengthCheck(arguments,1,{header:"Response.json"});if(t!==null){t=w.converters.ResponseInit(t)}const r=N.encode(h(e));const s=i(r);const n={settingsObject:{}};const o=new Response;o[v]=n;o[b][y]="response";o[b][v]=n;initializeResponse(o,t,{body:s[0],type:"application/json"});return o}static redirect(e,t=302){const r={settingsObject:{}};w.argumentLengthCheck(arguments,1,{header:"Response.redirect"});e=w.converters.USVString(e);t=w.converters["unsigned short"](t);let s;try{s=new URL(e,k())}catch(t){throw Object.assign(new TypeError("Failed to parse URL from "+e),{cause:t})}if(!C.has(t)){throw new RangeError("Invalid status code "+t)}const n=new Response;n[v]=r;n[b][y]="immutable";n[b][v]=r;n[Q].status=t;const o=E(R(s));n[Q].headersList.append("location",o);return n}constructor(e=null,t={}){if(e!==null){e=w.converters.BodyInit(e)}t=w.converters.ResponseInit(t);this[v]={settingsObject:{}};this[Q]=makeResponse({});this[b]=new s(D);this[b][y]="response";this[b][S]=this[Q].headersList;this[b][v]=this[v];let r=null;if(e!=null){const[t,s]=i(e);r={body:t,type:s}}initializeResponse(this,t,r)}get type(){w.brandCheck(this,Response);return this[Q].type}get url(){w.brandCheck(this,Response);const e=this[Q].urlList;const t=e[e.length-1]??null;if(t===null){return""}return R(t,true)}get redirected(){w.brandCheck(this,Response);return this[Q].urlList.length>1}get status(){w.brandCheck(this,Response);return this[Q].status}get ok(){w.brandCheck(this,Response);return this[Q].status>=200&&this[Q].status<=299}get statusText(){w.brandCheck(this,Response);return this[Q].statusText}get headers(){w.brandCheck(this,Response);return this[b]}get body(){w.brandCheck(this,Response);return this[Q].body?this[Q].body.stream:null}get bodyUsed(){w.brandCheck(this,Response);return!!this[Q].body&&c.isDisturbed(this[Q].body.stream)}clone(){w.brandCheck(this,Response);if(this.bodyUsed||this.body&&this.body.locked){throw w.errors.exception({header:"Response.clone",message:"Body has already been consumed."})}const e=cloneResponse(this[Q]);const t=new Response;t[Q]=e;t[v]=this[v];t[b][S]=e.headersList;t[b][y]=this[b][y];t[b][v]=this[b][v];return t}}A(Response);Object.defineProperties(Response.prototype,{type:l,url:l,status:l,ok:l,redirected:l,statusText:l,headers:l,clone:l,body:l,bodyUsed:l,[Symbol.toStringTag]:{value:"Response",configurable:true}});Object.defineProperties(Response,{json:l,redirect:l,error:l});function cloneResponse(e){if(e.internalResponse){return filterResponse(cloneResponse(e.internalResponse),e.type)}const t=makeResponse({...e,body:null});if(e.body!=null){t.body=a(e.body)}return t}function makeResponse(e){return{aborted:false,rangeRequested:false,timingAllowPassed:false,requestIncludesCredentials:false,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...e,headersList:e.headersList?new n(e.headersList):new n,urlList:e.urlList?[...e.urlList]:[]}}function makeNetworkError(e){const t=m(e);return makeResponse({type:"error",status:0,error:t?e:new Error(e?String(e):e),aborted:e&&e.name==="AbortError"})}function makeFilteredResponse(e,t){t={internalResponse:e,...t};return new Proxy(e,{get(e,r){return r in t?t[r]:e[r]},set(e,r,s){T(!(r in t));e[r]=s;return true}})}function filterResponse(e,t){if(t==="basic"){return makeFilteredResponse(e,{type:"basic",headersList:e.headersList})}else if(t==="cors"){return makeFilteredResponse(e,{type:"cors",headersList:e.headersList})}else if(t==="opaque"){return makeFilteredResponse(e,{type:"opaque",urlList:Object.freeze([]),status:0,statusText:"",body:null})}else if(t==="opaqueredirect"){return makeFilteredResponse(e,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null})}else{T(false)}}function makeAppropriateNetworkError(e,t=null){T(p(e));return d(e)?makeNetworkError(Object.assign(new B("The operation was aborted.","AbortError"),{cause:t})):makeNetworkError(Object.assign(new B("Request was cancelled."),{cause:t}))}function initializeResponse(e,t,r){if(t.status!==null&&(t.status<200||t.status>599)){throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.')}if("statusText"in t&&t.statusText!=null){if(!u(String(t.statusText))){throw new TypeError("Invalid statusText")}}if("status"in t&&t.status!=null){e[Q].status=t.status}if("statusText"in t&&t.statusText!=null){e[Q].statusText=t.statusText}if("headers"in t&&t.headers!=null){o(e[b],t.headers)}if(r){if(I.includes(e.status)){throw w.errors.exception({header:"Response constructor",message:"Invalid response status code "+e.status})}e[Q].body=r.body;if(r.type!=null&&!e[Q].headersList.contains("Content-Type")){e[Q].headersList.append("content-type",r.type)}}}w.converters.ReadableStream=w.interfaceConverter(F);w.converters.FormData=w.interfaceConverter(x);w.converters.URLSearchParams=w.interfaceConverter(URLSearchParams);w.converters.XMLHttpRequestBodyInit=function(e){if(typeof e==="string"){return w.converters.USVString(e)}if(g(e)){return w.converters.Blob(e,{strict:false})}if(_.isArrayBuffer(e)||_.isTypedArray(e)||_.isDataView(e)){return w.converters.BufferSource(e)}if(c.isFormDataLike(e)){return w.converters.FormData(e,{strict:false})}if(e instanceof URLSearchParams){return w.converters.URLSearchParams(e)}return w.converters.DOMString(e)};w.converters.BodyInit=function(e){if(e instanceof F){return w.converters.ReadableStream(e)}if(e?.[Symbol.asyncIterator]){return e}return w.converters.XMLHttpRequestBodyInit(e)};w.converters.ResponseInit=w.dictionaryConverter([{key:"status",converter:w.converters["unsigned short"],defaultValue:200},{key:"statusText",converter:w.converters.ByteString,defaultValue:""},{key:"headers",converter:w.converters.HeadersInit}]);e.exports={makeNetworkError:makeNetworkError,makeResponse:makeResponse,makeAppropriateNetworkError:makeAppropriateNetworkError,filterResponse:filterResponse,Response:Response,cloneResponse:cloneResponse}},5376:e=>{"use strict";e.exports={kUrl:Symbol("url"),kHeaders:Symbol("headers"),kSignal:Symbol("signal"),kState:Symbol("state"),kGuard:Symbol("guard"),kRealm:Symbol("realm")}},5496:(e,t,r)=>{"use strict";const{redirectStatusSet:s,referrerPolicySet:n,badPortsSet:o}=r(7533);const{getGlobalOrigin:i}=r(7011);const{performance:a}=r(4074);const{isBlobLike:A,toUSVString:c,ReadableStreamFrom:l}=r(7497);const u=r(9491);const{isUint8Array:p}=r(9830);let d;try{d=r(6113)}catch{}function responseURL(e){const t=e.urlList;const r=t.length;return r===0?null:t[r-1].toString()}function responseLocationURL(e,t){if(!s.has(e.status)){return null}let r=e.headersList.get("location");if(r!==null&&isValidHeaderValue(r)){r=new URL(r,responseURL(e))}if(r&&!r.hash){r.hash=t}return r}function requestCurrentURL(e){return e.urlList[e.urlList.length-1]}function requestBadPort(e){const t=requestCurrentURL(e);if(urlIsHttpHttpsScheme(t)&&o.has(t.port)){return"blocked"}return"allowed"}function isErrorLike(e){return e instanceof Error||(e?.constructor?.name==="Error"||e?.constructor?.name==="DOMException")}function isValidReasonPhrase(e){for(let t=0;t=32&&r<=126||r>=128&&r<=255)){return false}}return true}function isTokenCharCode(e){switch(e){case 34:case 40:case 41:case 44:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 123:case 125:return false;default:return e>=33&&e<=126}}function isValidHTTPToken(e){if(e.length===0){return false}for(let t=0;t0){for(let e=s.length;e!==0;e--){const t=s[e-1].trim();if(n.has(t)){o=t;break}}}if(o!==""){e.referrerPolicy=o}}function crossOriginResourcePolicyCheck(){return"allowed"}function corsCheck(){return"success"}function TAOCheck(){return"success"}function appendFetchMetadata(e){let t=null;t=e.mode;e.headersList.set("sec-fetch-mode",t)}function appendRequestOriginHeader(e){let t=e.origin;if(e.responseTainting==="cors"||e.mode==="websocket"){if(t){e.headersList.append("origin",t)}}else if(e.method!=="GET"&&e.method!=="HEAD"){switch(e.referrerPolicy){case"no-referrer":t=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":if(e.origin&&urlHasHttpsScheme(e.origin)&&!urlHasHttpsScheme(requestCurrentURL(e))){t=null}break;case"same-origin":if(!sameOrigin(e,requestCurrentURL(e))){t=null}break;default:}if(t){e.headersList.append("origin",t)}}}function coarsenedSharedCurrentTime(e){return a.now()}function createOpaqueTimingInfo(e){return{startTime:e.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:e.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function makePolicyContainer(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function clonePolicyContainer(e){return{referrerPolicy:e.referrerPolicy}}function determineRequestsReferrer(e){const t=e.referrerPolicy;u(t);let r=null;if(e.referrer==="client"){const e=i();if(!e||e.origin==="null"){return"no-referrer"}r=new URL(e)}else if(e.referrer instanceof URL){r=e.referrer}let s=stripURLForReferrer(r);const n=stripURLForReferrer(r,true);if(s.toString().length>4096){s=n}const o=sameOrigin(e,s);const a=isURLPotentiallyTrustworthy(s)&&!isURLPotentiallyTrustworthy(e.url);switch(t){case"origin":return n!=null?n:stripURLForReferrer(r,true);case"unsafe-url":return s;case"same-origin":return o?n:"no-referrer";case"origin-when-cross-origin":return o?s:n;case"strict-origin-when-cross-origin":{const t=requestCurrentURL(e);if(sameOrigin(s,t)){return s}if(isURLPotentiallyTrustworthy(s)&&!isURLPotentiallyTrustworthy(t)){return"no-referrer"}return n}case"strict-origin":case"no-referrer-when-downgrade":default:return a?"no-referrer":n}}function stripURLForReferrer(e,t){u(e instanceof URL);if(e.protocol==="file:"||e.protocol==="about:"||e.protocol==="blank:"){return"no-referrer"}e.username="";e.password="";e.hash="";if(t){e.pathname="";e.search=""}return e}function isURLPotentiallyTrustworthy(e){if(!(e instanceof URL)){return false}if(e.href==="about:blank"||e.href==="about:srcdoc"){return true}if(e.protocol==="data:")return true;if(e.protocol==="file:")return true;return isOriginPotentiallyTrustworthy(e.origin);function isOriginPotentiallyTrustworthy(e){if(e==null||e==="null")return false;const t=new URL(e);if(t.protocol==="https:"||t.protocol==="wss:"){return true}if(/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(t.hostname)||(t.hostname==="localhost"||t.hostname.includes("localhost."))||t.hostname.endsWith(".localhost")){return true}return false}}function bytesMatch(e,t){if(d===undefined){return true}const r=parseMetadata(t);if(r==="no metadata"){return true}if(r.length===0){return true}const s=r.sort(((e,t)=>t.algo.localeCompare(e.algo)));const n=s[0].algo;const o=s.filter((e=>e.algo===n));for(const t of o){const r=t.algo;let s=t.hash;if(s.endsWith("==")){s=s.slice(0,-2)}let n=d.createHash(r).update(e).digest("base64");if(n.endsWith("==")){n=n.slice(0,-2)}if(n===s){return true}let o=d.createHash(r).update(e).digest("base64url");if(o.endsWith("==")){o=o.slice(0,-2)}if(o===s){return true}}return false}const g=/((?sha256|sha384|sha512)-(?[A-z0-9+/]{1}.*={0,2}))( +[\x21-\x7e]?)?/i;function parseMetadata(e){const t=[];let r=true;const s=d.getHashes();for(const n of e.split(" ")){r=false;const e=g.exec(n);if(e===null||e.groups===undefined){continue}const o=e.groups.algo;if(s.includes(o.toLowerCase())){t.push(e.groups)}}if(r===true){return"no metadata"}return t}function tryUpgradeRequestToAPotentiallyTrustworthyURL(e){}function sameOrigin(e,t){if(e.origin===t.origin&&e.origin==="null"){return true}if(e.protocol===t.protocol&&e.hostname===t.hostname&&e.port===t.port){return true}return false}function createDeferredPromise(){let e;let t;const r=new Promise(((r,s)=>{e=r;t=s}));return{promise:r,resolve:e,reject:t}}function isAborted(e){return e.controller.state==="aborted"}function isCancelled(e){return e.controller.state==="aborted"||e.controller.state==="terminated"}const h={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT"};Object.setPrototypeOf(h,null);function normalizeMethod(e){return h[e.toLowerCase()]??e}function serializeJavascriptValueToJSONString(e){const t=JSON.stringify(e);if(t===undefined){throw new TypeError("Value is not JSON serializable")}u(typeof t==="string");return t}const m=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function makeIterator(e,t,r){const s={index:0,kind:r,target:e};const n={next(){if(Object.getPrototypeOf(this)!==n){throw new TypeError(`'next' called on an object that does not implement interface ${t} Iterator.`)}const{index:e,kind:r,target:o}=s;const i=o();const a=i.length;if(e>=a){return{value:undefined,done:true}}const A=i[e];s.index=e+1;return iteratorResult(A,r)},[Symbol.toStringTag]:`${t} Iterator`};Object.setPrototypeOf(n,m);return Object.setPrototypeOf({},n)}function iteratorResult(e,t){let r;switch(t){case"key":{r=e[0];break}case"value":{r=e[1];break}case"key+value":{r=e;break}}return{value:r,done:false}}async function fullyReadBody(e,t,r){const s=t;const n=r;let o;try{o=e.stream.getReader()}catch(e){n(e);return}try{const e=await readAllBytes(o);s(e)}catch(e){n(e)}}let E=globalThis.ReadableStream;function isReadableStreamLike(e){if(!E){E=r(5356).ReadableStream}return e instanceof E||e[Symbol.toStringTag]==="ReadableStream"&&typeof e.tee==="function"}const C=65535;function isomorphicDecode(e){if(e.lengthe+String.fromCharCode(t)),"")}function readableStreamClose(e){try{e.close()}catch(e){if(!e.message.includes("Controller is already closed")){throw e}}}function isomorphicEncode(e){for(let t=0;tObject.prototype.hasOwnProperty.call(e,t));e.exports={isAborted:isAborted,isCancelled:isCancelled,createDeferredPromise:createDeferredPromise,ReadableStreamFrom:l,toUSVString:c,tryUpgradeRequestToAPotentiallyTrustworthyURL:tryUpgradeRequestToAPotentiallyTrustworthyURL,coarsenedSharedCurrentTime:coarsenedSharedCurrentTime,determineRequestsReferrer:determineRequestsReferrer,makePolicyContainer:makePolicyContainer,clonePolicyContainer:clonePolicyContainer,appendFetchMetadata:appendFetchMetadata,appendRequestOriginHeader:appendRequestOriginHeader,TAOCheck:TAOCheck,corsCheck:corsCheck,crossOriginResourcePolicyCheck:crossOriginResourcePolicyCheck,createOpaqueTimingInfo:createOpaqueTimingInfo,setRequestReferrerPolicyOnRedirect:setRequestReferrerPolicyOnRedirect,isValidHTTPToken:isValidHTTPToken,requestBadPort:requestBadPort,requestCurrentURL:requestCurrentURL,responseURL:responseURL,responseLocationURL:responseLocationURL,isBlobLike:A,isURLPotentiallyTrustworthy:isURLPotentiallyTrustworthy,isValidReasonPhrase:isValidReasonPhrase,sameOrigin:sameOrigin,normalizeMethod:normalizeMethod,serializeJavascriptValueToJSONString:serializeJavascriptValueToJSONString,makeIterator:makeIterator,isValidHeaderName:isValidHeaderName,isValidHeaderValue:isValidHeaderValue,hasOwn:I,isErrorLike:isErrorLike,fullyReadBody:fullyReadBody,bytesMatch:bytesMatch,isReadableStreamLike:isReadableStreamLike,readableStreamClose:readableStreamClose,isomorphicEncode:isomorphicEncode,isomorphicDecode:isomorphicDecode,urlIsLocal:urlIsLocal,urlHasHttpsScheme:urlHasHttpsScheme,urlIsHttpHttpsScheme:urlIsHttpHttpsScheme,readAllBytes:readAllBytes,normalizeMethodRecord:h}},9111:(e,t,r)=>{"use strict";const{types:s}=r(3837);const{hasOwn:n,toUSVString:o}=r(5496);const i={};i.converters={};i.util={};i.errors={};i.errors.exception=function(e){return new TypeError(`${e.header}: ${e.message}`)};i.errors.conversionFailed=function(e){const t=e.types.length===1?"":" one of";const r=`${e.argument} could not be converted to`+`${t}: ${e.types.join(", ")}.`;return i.errors.exception({header:e.prefix,message:r})};i.errors.invalidArgument=function(e){return i.errors.exception({header:e.prefix,message:`"${e.value}" is an invalid ${e.type}.`})};i.brandCheck=function(e,t,r=undefined){if(r?.strict!==false&&!(e instanceof t)){throw new TypeError("Illegal invocation")}else{return e?.[Symbol.toStringTag]===t.prototype[Symbol.toStringTag]}};i.argumentLengthCheck=function({length:e},t,r){if(en){throw i.errors.exception({header:"Integer conversion",message:`Value must be between ${o}-${n}, got ${a}.`})}return a}if(!Number.isNaN(a)&&s.clamp===true){a=Math.min(Math.max(a,o),n);if(Math.floor(a)%2===0){a=Math.floor(a)}else{a=Math.ceil(a)}return a}if(Number.isNaN(a)||a===0&&Object.is(0,a)||a===Number.POSITIVE_INFINITY||a===Number.NEGATIVE_INFINITY){return 0}a=i.util.IntegerPart(a);a=a%Math.pow(2,t);if(r==="signed"&&a>=Math.pow(2,t)-1){return a-Math.pow(2,t)}return a};i.util.IntegerPart=function(e){const t=Math.floor(Math.abs(e));if(e<0){return-1*t}return t};i.sequenceConverter=function(e){return t=>{if(i.util.Type(t)!=="Object"){throw i.errors.exception({header:"Sequence",message:`Value of type ${i.util.Type(t)} is not an Object.`})}const r=t?.[Symbol.iterator]?.();const s=[];if(r===undefined||typeof r.next!=="function"){throw i.errors.exception({header:"Sequence",message:"Object is not an iterator."})}while(true){const{done:t,value:n}=r.next();if(t){break}s.push(e(n))}return s}};i.recordConverter=function(e,t){return r=>{if(i.util.Type(r)!=="Object"){throw i.errors.exception({header:"Record",message:`Value of type ${i.util.Type(r)} is not an Object.`})}const n={};if(!s.isProxy(r)){const s=Object.keys(r);for(const o of s){const s=e(o);const i=t(r[o]);n[s]=i}return n}const o=Reflect.ownKeys(r);for(const s of o){const o=Reflect.getOwnPropertyDescriptor(r,s);if(o?.enumerable){const o=e(s);const i=t(r[s]);n[o]=i}}return n}};i.interfaceConverter=function(e){return(t,r={})=>{if(r.strict!==false&&!(t instanceof e)){throw i.errors.exception({header:e.name,message:`Expected ${t} to be an instance of ${e.name}.`})}return t}};i.dictionaryConverter=function(e){return t=>{const r=i.util.Type(t);const s={};if(r==="Null"||r==="Undefined"){return s}else if(r!=="Object"){throw i.errors.exception({header:"Dictionary",message:`Expected ${t} to be one of: Null, Undefined, Object.`})}for(const r of e){const{key:e,defaultValue:o,required:a,converter:A}=r;if(a===true){if(!n(t,e)){throw i.errors.exception({header:"Dictionary",message:`Missing required key "${e}".`})}}let c=t[e];const l=n(r,"defaultValue");if(l&&c!==null){c=c??o}if(a||l||c!==undefined){c=A(c);if(r.allowedValues&&!r.allowedValues.includes(c)){throw i.errors.exception({header:"Dictionary",message:`${c} is not an accepted type. Expected one of ${r.allowedValues.join(", ")}.`})}s[e]=c}}return s}};i.nullableConverter=function(e){return t=>{if(t===null){return t}return e(t)}};i.converters.DOMString=function(e,t={}){if(e===null&&t.legacyNullToEmptyString){return""}if(typeof e==="symbol"){throw new TypeError("Could not convert argument of type symbol to string.")}return String(e)};i.converters.ByteString=function(e){const t=i.converters.DOMString(e);for(let e=0;e255){throw new TypeError("Cannot convert argument to a ByteString because the character at "+`index ${e} has a value of ${t.charCodeAt(e)} which is greater than 255.`)}}return t};i.converters.USVString=o;i.converters.boolean=function(e){const t=Boolean(e);return t};i.converters.any=function(e){return e};i.converters["long long"]=function(e){const t=i.util.ConvertToInt(e,64,"signed");return t};i.converters["unsigned long long"]=function(e){const t=i.util.ConvertToInt(e,64,"unsigned");return t};i.converters["unsigned long"]=function(e){const t=i.util.ConvertToInt(e,32,"unsigned");return t};i.converters["unsigned short"]=function(e,t){const r=i.util.ConvertToInt(e,16,"unsigned",t);return r};i.converters.ArrayBuffer=function(e,t={}){if(i.util.Type(e)!=="Object"||!s.isAnyArrayBuffer(e)){throw i.errors.conversionFailed({prefix:`${e}`,argument:`${e}`,types:["ArrayBuffer"]})}if(t.allowShared===false&&s.isSharedArrayBuffer(e)){throw i.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return e};i.converters.TypedArray=function(e,t,r={}){if(i.util.Type(e)!=="Object"||!s.isTypedArray(e)||e.constructor.name!==t.name){throw i.errors.conversionFailed({prefix:`${t.name}`,argument:`${e}`,types:[t.name]})}if(r.allowShared===false&&s.isSharedArrayBuffer(e.buffer)){throw i.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return e};i.converters.DataView=function(e,t={}){if(i.util.Type(e)!=="Object"||!s.isDataView(e)){throw i.errors.exception({header:"DataView",message:"Object is not a DataView."})}if(t.allowShared===false&&s.isSharedArrayBuffer(e.buffer)){throw i.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return e};i.converters.BufferSource=function(e,t={}){if(s.isAnyArrayBuffer(e)){return i.converters.ArrayBuffer(e,t)}if(s.isTypedArray(e)){return i.converters.TypedArray(e,e.constructor)}if(s.isDataView(e)){return i.converters.DataView(e,t)}throw new TypeError(`Could not convert ${e} to a BufferSource.`)};i.converters["sequence"]=i.sequenceConverter(i.converters.ByteString);i.converters["sequence>"]=i.sequenceConverter(i.converters["sequence"]);i.converters["record"]=i.recordConverter(i.converters.ByteString,i.converters.ByteString);e.exports={webidl:i}},3532:e=>{"use strict";function getEncoding(e){if(!e){return"failure"}switch(e.trim().toLowerCase()){case"unicode-1-1-utf-8":case"unicode11utf8":case"unicode20utf8":case"utf-8":case"utf8":case"x-unicode20utf8":return"UTF-8";case"866":case"cp866":case"csibm866":case"ibm866":return"IBM866";case"csisolatin2":case"iso-8859-2":case"iso-ir-101":case"iso8859-2":case"iso88592":case"iso_8859-2":case"iso_8859-2:1987":case"l2":case"latin2":return"ISO-8859-2";case"csisolatin3":case"iso-8859-3":case"iso-ir-109":case"iso8859-3":case"iso88593":case"iso_8859-3":case"iso_8859-3:1988":case"l3":case"latin3":return"ISO-8859-3";case"csisolatin4":case"iso-8859-4":case"iso-ir-110":case"iso8859-4":case"iso88594":case"iso_8859-4":case"iso_8859-4:1988":case"l4":case"latin4":return"ISO-8859-4";case"csisolatincyrillic":case"cyrillic":case"iso-8859-5":case"iso-ir-144":case"iso8859-5":case"iso88595":case"iso_8859-5":case"iso_8859-5:1988":return"ISO-8859-5";case"arabic":case"asmo-708":case"csiso88596e":case"csiso88596i":case"csisolatinarabic":case"ecma-114":case"iso-8859-6":case"iso-8859-6-e":case"iso-8859-6-i":case"iso-ir-127":case"iso8859-6":case"iso88596":case"iso_8859-6":case"iso_8859-6:1987":return"ISO-8859-6";case"csisolatingreek":case"ecma-118":case"elot_928":case"greek":case"greek8":case"iso-8859-7":case"iso-ir-126":case"iso8859-7":case"iso88597":case"iso_8859-7":case"iso_8859-7:1987":case"sun_eu_greek":return"ISO-8859-7";case"csiso88598e":case"csisolatinhebrew":case"hebrew":case"iso-8859-8":case"iso-8859-8-e":case"iso-ir-138":case"iso8859-8":case"iso88598":case"iso_8859-8":case"iso_8859-8:1988":case"visual":return"ISO-8859-8";case"csiso88598i":case"iso-8859-8-i":case"logical":return"ISO-8859-8-I";case"csisolatin6":case"iso-8859-10":case"iso-ir-157":case"iso8859-10":case"iso885910":case"l6":case"latin6":return"ISO-8859-10";case"iso-8859-13":case"iso8859-13":case"iso885913":return"ISO-8859-13";case"iso-8859-14":case"iso8859-14":case"iso885914":return"ISO-8859-14";case"csisolatin9":case"iso-8859-15":case"iso8859-15":case"iso885915":case"iso_8859-15":case"l9":return"ISO-8859-15";case"iso-8859-16":return"ISO-8859-16";case"cskoi8r":case"koi":case"koi8":case"koi8-r":case"koi8_r":return"KOI8-R";case"koi8-ru":case"koi8-u":return"KOI8-U";case"csmacintosh":case"mac":case"macintosh":case"x-mac-roman":return"macintosh";case"iso-8859-11":case"iso8859-11":case"iso885911":case"tis-620":case"windows-874":return"windows-874";case"cp1250":case"windows-1250":case"x-cp1250":return"windows-1250";case"cp1251":case"windows-1251":case"x-cp1251":return"windows-1251";case"ansi_x3.4-1968":case"ascii":case"cp1252":case"cp819":case"csisolatin1":case"ibm819":case"iso-8859-1":case"iso-ir-100":case"iso8859-1":case"iso88591":case"iso_8859-1":case"iso_8859-1:1987":case"l1":case"latin1":case"us-ascii":case"windows-1252":case"x-cp1252":return"windows-1252";case"cp1253":case"windows-1253":case"x-cp1253":return"windows-1253";case"cp1254":case"csisolatin5":case"iso-8859-9":case"iso-ir-148":case"iso8859-9":case"iso88599":case"iso_8859-9":case"iso_8859-9:1989":case"l5":case"latin5":case"windows-1254":case"x-cp1254":return"windows-1254";case"cp1255":case"windows-1255":case"x-cp1255":return"windows-1255";case"cp1256":case"windows-1256":case"x-cp1256":return"windows-1256";case"cp1257":case"windows-1257":case"x-cp1257":return"windows-1257";case"cp1258":case"windows-1258":case"x-cp1258":return"windows-1258";case"x-mac-cyrillic":case"x-mac-ukrainian":return"x-mac-cyrillic";case"chinese":case"csgb2312":case"csiso58gb231280":case"gb2312":case"gb_2312":case"gb_2312-80":case"gbk":case"iso-ir-58":case"x-gbk":return"GBK";case"gb18030":return"gb18030";case"big5":case"big5-hkscs":case"cn-big5":case"csbig5":case"x-x-big5":return"Big5";case"cseucpkdfmtjapanese":case"euc-jp":case"x-euc-jp":return"EUC-JP";case"csiso2022jp":case"iso-2022-jp":return"ISO-2022-JP";case"csshiftjis":case"ms932":case"ms_kanji":case"shift-jis":case"shift_jis":case"sjis":case"windows-31j":case"x-sjis":return"Shift_JIS";case"cseuckr":case"csksc56011987":case"euc-kr":case"iso-ir-149":case"korean":case"ks_c_5601-1987":case"ks_c_5601-1989":case"ksc5601":case"ksc_5601":case"windows-949":return"EUC-KR";case"csiso2022kr":case"hz-gb-2312":case"iso-2022-cn":case"iso-2022-cn-ext":case"iso-2022-kr":case"replacement":return"replacement";case"unicodefffe":case"utf-16be":return"UTF-16BE";case"csunicode":case"iso-10646-ucs-2":case"ucs-2":case"unicode":case"unicodefeff":case"utf-16":case"utf-16le":return"UTF-16LE";case"x-user-defined":return"x-user-defined";default:return"failure"}}e.exports={getEncoding:getEncoding}},929:(e,t,r)=>{"use strict";const{staticPropertyDescriptors:s,readOperation:n,fireAProgressEvent:o}=r(4157);const{kState:i,kError:a,kResult:A,kEvents:c,kAborted:l}=r(9103);const{webidl:u}=r(9111);const{kEnumerableProperty:p}=r(7497);class FileReader extends EventTarget{constructor(){super();this[i]="empty";this[A]=null;this[a]=null;this[c]={loadend:null,error:null,abort:null,load:null,progress:null,loadstart:null}}readAsArrayBuffer(e){u.brandCheck(this,FileReader);u.argumentLengthCheck(arguments,1,{header:"FileReader.readAsArrayBuffer"});e=u.converters.Blob(e,{strict:false});n(this,e,"ArrayBuffer")}readAsBinaryString(e){u.brandCheck(this,FileReader);u.argumentLengthCheck(arguments,1,{header:"FileReader.readAsBinaryString"});e=u.converters.Blob(e,{strict:false});n(this,e,"BinaryString")}readAsText(e,t=undefined){u.brandCheck(this,FileReader);u.argumentLengthCheck(arguments,1,{header:"FileReader.readAsText"});e=u.converters.Blob(e,{strict:false});if(t!==undefined){t=u.converters.DOMString(t)}n(this,e,"Text",t)}readAsDataURL(e){u.brandCheck(this,FileReader);u.argumentLengthCheck(arguments,1,{header:"FileReader.readAsDataURL"});e=u.converters.Blob(e,{strict:false});n(this,e,"DataURL")}abort(){if(this[i]==="empty"||this[i]==="done"){this[A]=null;return}if(this[i]==="loading"){this[i]="done";this[A]=null}this[l]=true;o("abort",this);if(this[i]!=="loading"){o("loadend",this)}}get readyState(){u.brandCheck(this,FileReader);switch(this[i]){case"empty":return this.EMPTY;case"loading":return this.LOADING;case"done":return this.DONE}}get result(){u.brandCheck(this,FileReader);return this[A]}get error(){u.brandCheck(this,FileReader);return this[a]}get onloadend(){u.brandCheck(this,FileReader);return this[c].loadend}set onloadend(e){u.brandCheck(this,FileReader);if(this[c].loadend){this.removeEventListener("loadend",this[c].loadend)}if(typeof e==="function"){this[c].loadend=e;this.addEventListener("loadend",e)}else{this[c].loadend=null}}get onerror(){u.brandCheck(this,FileReader);return this[c].error}set onerror(e){u.brandCheck(this,FileReader);if(this[c].error){this.removeEventListener("error",this[c].error)}if(typeof e==="function"){this[c].error=e;this.addEventListener("error",e)}else{this[c].error=null}}get onloadstart(){u.brandCheck(this,FileReader);return this[c].loadstart}set onloadstart(e){u.brandCheck(this,FileReader);if(this[c].loadstart){this.removeEventListener("loadstart",this[c].loadstart)}if(typeof e==="function"){this[c].loadstart=e;this.addEventListener("loadstart",e)}else{this[c].loadstart=null}}get onprogress(){u.brandCheck(this,FileReader);return this[c].progress}set onprogress(e){u.brandCheck(this,FileReader);if(this[c].progress){this.removeEventListener("progress",this[c].progress)}if(typeof e==="function"){this[c].progress=e;this.addEventListener("progress",e)}else{this[c].progress=null}}get onload(){u.brandCheck(this,FileReader);return this[c].load}set onload(e){u.brandCheck(this,FileReader);if(this[c].load){this.removeEventListener("load",this[c].load)}if(typeof e==="function"){this[c].load=e;this.addEventListener("load",e)}else{this[c].load=null}}get onabort(){u.brandCheck(this,FileReader);return this[c].abort}set onabort(e){u.brandCheck(this,FileReader);if(this[c].abort){this.removeEventListener("abort",this[c].abort)}if(typeof e==="function"){this[c].abort=e;this.addEventListener("abort",e)}else{this[c].abort=null}}}FileReader.EMPTY=FileReader.prototype.EMPTY=0;FileReader.LOADING=FileReader.prototype.LOADING=1;FileReader.DONE=FileReader.prototype.DONE=2;Object.defineProperties(FileReader.prototype,{EMPTY:s,LOADING:s,DONE:s,readAsArrayBuffer:p,readAsBinaryString:p,readAsText:p,readAsDataURL:p,abort:p,readyState:p,result:p,error:p,onloadstart:p,onprogress:p,onload:p,onabort:p,onerror:p,onloadend:p,[Symbol.toStringTag]:{value:"FileReader",writable:false,enumerable:false,configurable:true}});Object.defineProperties(FileReader,{EMPTY:s,LOADING:s,DONE:s});e.exports={FileReader:FileReader}},9094:(e,t,r)=>{"use strict";const{webidl:s}=r(9111);const n=Symbol("ProgressEvent state");class ProgressEvent extends Event{constructor(e,t={}){e=s.converters.DOMString(e);t=s.converters.ProgressEventInit(t??{});super(e,t);this[n]={lengthComputable:t.lengthComputable,loaded:t.loaded,total:t.total}}get lengthComputable(){s.brandCheck(this,ProgressEvent);return this[n].lengthComputable}get loaded(){s.brandCheck(this,ProgressEvent);return this[n].loaded}get total(){s.brandCheck(this,ProgressEvent);return this[n].total}}s.converters.ProgressEventInit=s.dictionaryConverter([{key:"lengthComputable",converter:s.converters.boolean,defaultValue:false},{key:"loaded",converter:s.converters["unsigned long long"],defaultValue:0},{key:"total",converter:s.converters["unsigned long long"],defaultValue:0},{key:"bubbles",converter:s.converters.boolean,defaultValue:false},{key:"cancelable",converter:s.converters.boolean,defaultValue:false},{key:"composed",converter:s.converters.boolean,defaultValue:false}]);e.exports={ProgressEvent:ProgressEvent}},9103:e=>{"use strict";e.exports={kState:Symbol("FileReader state"),kResult:Symbol("FileReader result"),kError:Symbol("FileReader error"),kLastProgressEventFired:Symbol("FileReader last progress event fired timestamp"),kEvents:Symbol("FileReader events"),kAborted:Symbol("FileReader aborted")}},4157:(e,t,r)=>{"use strict";const{kState:s,kError:n,kResult:o,kAborted:i,kLastProgressEventFired:a}=r(9103);const{ProgressEvent:A}=r(9094);const{getEncoding:c}=r(3532);const{DOMException:l}=r(7533);const{serializeAMimeType:u,parseMIMEType:p}=r(5958);const{types:d}=r(3837);const{StringDecoder:g}=r(1576);const{btoa:h}=r(4300);const m={enumerable:true,writable:false,configurable:false};function readOperation(e,t,r,A){if(e[s]==="loading"){throw new l("Invalid state","InvalidStateError")}e[s]="loading";e[o]=null;e[n]=null;const c=t.stream();const u=c.getReader();const p=[];let g=u.read();let h=true;(async()=>{while(!e[i]){try{const{done:c,value:l}=await g;if(h&&!e[i]){queueMicrotask((()=>{fireAProgressEvent("loadstart",e)}))}h=false;if(!c&&d.isUint8Array(l)){p.push(l);if((e[a]===undefined||Date.now()-e[a]>=50)&&!e[i]){e[a]=Date.now();queueMicrotask((()=>{fireAProgressEvent("progress",e)}))}g=u.read()}else if(c){queueMicrotask((()=>{e[s]="done";try{const s=packageData(p,r,t.type,A);if(e[i]){return}e[o]=s;fireAProgressEvent("load",e)}catch(t){e[n]=t;fireAProgressEvent("error",e)}if(e[s]!=="loading"){fireAProgressEvent("loadend",e)}}));break}}catch(t){if(e[i]){return}queueMicrotask((()=>{e[s]="done";e[n]=t;fireAProgressEvent("error",e);if(e[s]!=="loading"){fireAProgressEvent("loadend",e)}}));break}}})()}function fireAProgressEvent(e,t){const r=new A(e,{bubbles:false,cancelable:false});t.dispatchEvent(r)}function packageData(e,t,r,s){switch(t){case"DataURL":{let t="data:";const s=p(r||"application/octet-stream");if(s!=="failure"){t+=u(s)}t+=";base64,";const n=new g("latin1");for(const r of e){t+=h(n.write(r))}t+=h(n.end());return t}case"Text":{let t="failure";if(s){t=c(s)}if(t==="failure"&&r){const e=p(r);if(e!=="failure"){t=c(e.parameters.get("charset"))}}if(t==="failure"){t="UTF-8"}return decode(e,t)}case"ArrayBuffer":{const t=combineByteSequences(e);return t.buffer}case"BinaryString":{let t="";const r=new g("latin1");for(const s of e){t+=r.write(s)}t+=r.end();return t}}}function decode(e,t){const r=combineByteSequences(e);const s=BOMSniffing(r);let n=0;if(s!==null){t=s;n=s==="UTF-8"?3:2}const o=r.slice(n);return new TextDecoder(t).decode(o)}function BOMSniffing(e){const[t,r,s]=e;if(t===239&&r===187&&s===191){return"UTF-8"}else if(t===254&&r===255){return"UTF-16BE"}else if(t===255&&r===254){return"UTF-16LE"}return null}function combineByteSequences(e){const t=e.reduce(((e,t)=>e+t.byteLength),0);let r=0;return e.reduce(((e,t)=>{e.set(t,r);r+=t.byteLength;return e}),new Uint8Array(t))}e.exports={staticPropertyDescriptors:m,readOperation:readOperation,fireAProgressEvent:fireAProgressEvent}},2899:(e,t,r)=>{"use strict";const s=Symbol.for("undici.globalDispatcher.1");const{InvalidArgumentError:n}=r(2366);const o=r(8840);if(getGlobalDispatcher()===undefined){setGlobalDispatcher(new o)}function setGlobalDispatcher(e){if(!e||typeof e.dispatch!=="function"){throw new n("Argument agent must implement Agent")}Object.defineProperty(globalThis,s,{value:e,writable:true,enumerable:false,configurable:false})}function getGlobalDispatcher(){return globalThis[s]}e.exports={setGlobalDispatcher:setGlobalDispatcher,getGlobalDispatcher:getGlobalDispatcher}},253:e=>{"use strict";e.exports=class DecoratorHandler{constructor(e){this.handler=e}onConnect(...e){return this.handler.onConnect(...e)}onError(...e){return this.handler.onError(...e)}onUpgrade(...e){return this.handler.onUpgrade(...e)}onHeaders(...e){return this.handler.onHeaders(...e)}onData(...e){return this.handler.onData(...e)}onComplete(...e){return this.handler.onComplete(...e)}onBodySent(...e){return this.handler.onBodySent(...e)}}},292:(e,t,r)=>{"use strict";const s=r(7497);const{kBodyUsed:n}=r(3932);const o=r(9491);const{InvalidArgumentError:i}=r(2366);const a=r(9820);const A=[300,301,302,303,307,308];const c=Symbol("body");class BodyAsyncIterable{constructor(e){this[c]=e;this[n]=false}async*[Symbol.asyncIterator](){o(!this[n],"disturbed");this[n]=true;yield*this[c]}}class RedirectHandler{constructor(e,t,r,A){if(t!=null&&(!Number.isInteger(t)||t<0)){throw new i("maxRedirections must be a positive number")}s.validateHandler(A,r.method,r.upgrade);this.dispatch=e;this.location=null;this.abort=null;this.opts={...r,maxRedirections:0};this.maxRedirections=t;this.handler=A;this.history=[];if(s.isStream(this.opts.body)){if(s.bodyLength(this.opts.body)===0){this.opts.body.on("data",(function(){o(false)}))}if(typeof this.opts.body.readableDidRead!=="boolean"){this.opts.body[n]=false;a.prototype.on.call(this.opts.body,"data",(function(){this[n]=true}))}}else if(this.opts.body&&typeof this.opts.body.pipeTo==="function"){this.opts.body=new BodyAsyncIterable(this.opts.body)}else if(this.opts.body&&typeof this.opts.body!=="string"&&!ArrayBuffer.isView(this.opts.body)&&s.isIterable(this.opts.body)){this.opts.body=new BodyAsyncIterable(this.opts.body)}}onConnect(e){this.abort=e;this.handler.onConnect(e,{history:this.history})}onUpgrade(e,t,r){this.handler.onUpgrade(e,t,r)}onError(e){this.handler.onError(e)}onHeaders(e,t,r,n){this.location=this.history.length>=this.maxRedirections||s.isDisturbed(this.opts.body)?null:parseLocation(e,t);if(this.opts.origin){this.history.push(new URL(this.opts.path,this.opts.origin))}if(!this.location){return this.handler.onHeaders(e,t,r,n)}const{origin:o,pathname:i,search:a}=s.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin)));const A=a?`${i}${a}`:i;this.opts.headers=cleanRequestHeaders(this.opts.headers,e===303,this.opts.origin!==o);this.opts.path=A;this.opts.origin=o;this.opts.maxRedirections=0;this.opts.query=null;if(e===303&&this.opts.method!=="HEAD"){this.opts.method="GET";this.opts.body=null}}onData(e){if(this.location){}else{return this.handler.onData(e)}}onComplete(e){if(this.location){this.location=null;this.abort=null;this.dispatch(this.opts,this)}else{this.handler.onComplete(e)}}onBodySent(e){if(this.handler.onBodySent){this.handler.onBodySent(e)}}}function parseLocation(e,t){if(A.indexOf(e)===-1){return null}for(let e=0;e{const s=r(9491);const{kRetryHandlerDefaultRetry:n}=r(3932);const{RequestRetryError:o}=r(2366);const{isDisturbed:i,parseHeaders:a,parseRangeHeader:A}=r(7497);function calculateRetryAfterHeader(e){const t=Date.now();const r=new Date(e).getTime()-t;return r}class RetryHandler{constructor(e,t){const{retryOptions:r,...s}=e;const{retry:o,maxRetries:i,maxTimeout:a,minTimeout:A,timeoutFactor:c,methods:l,errorCodes:u,retryAfter:p,statusCodes:d}=r??{};this.dispatch=t.dispatch;this.handler=t.handler;this.opts=s;this.abort=null;this.aborted=false;this.retryOpts={retry:o??RetryHandler[n],retryAfter:p??true,maxTimeout:a??30*1e3,timeout:A??500,timeoutFactor:c??2,maxRetries:i??5,methods:l??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:d??[500,502,503,504,429],errorCodes:u??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE"]};this.retryCount=0;this.start=0;this.end=null;this.etag=null;this.resume=null;this.handler.onConnect((e=>{this.aborted=true;if(this.abort){this.abort(e)}else{this.reason=e}}))}onRequestSent(){if(this.handler.onRequestSent){this.handler.onRequestSent()}}onUpgrade(e,t,r){if(this.handler.onUpgrade){this.handler.onUpgrade(e,t,r)}}onConnect(e){if(this.aborted){e(this.reason)}else{this.abort=e}}onBodySent(e){if(this.handler.onBodySent)return this.handler.onBodySent(e)}static[n](e,{state:t,opts:r},s){const{statusCode:n,code:o,headers:i}=e;const{method:a,retryOptions:A}=r;const{maxRetries:c,timeout:l,maxTimeout:u,timeoutFactor:p,statusCodes:d,errorCodes:g,methods:h}=A;let{counter:m,currentTimeout:E}=t;E=E!=null&&E>0?E:l;if(o&&o!=="UND_ERR_REQ_RETRY"&&o!=="UND_ERR_SOCKET"&&!g.includes(o)){s(e);return}if(Array.isArray(h)&&!h.includes(a)){s(e);return}if(n!=null&&Array.isArray(d)&&!d.includes(n)){s(e);return}if(m>c){s(e);return}let C=i!=null&&i["retry-after"];if(C){C=Number(C);C=isNaN(C)?calculateRetryAfterHeader(C):C*1e3}const I=C>0?Math.min(C,u):Math.min(E*p**m,u);t.currentTimeout=I;setTimeout((()=>s(null)),I)}onHeaders(e,t,r,n){const i=a(t);this.retryCount+=1;if(e>=300){this.abort(new o("Request failed",e,{headers:i,count:this.retryCount}));return false}if(this.resume!=null){this.resume=null;if(e!==206){return true}const t=A(i["content-range"]);if(!t){this.abort(new o("Content-Range mismatch",e,{headers:i,count:this.retryCount}));return false}if(this.etag!=null&&this.etag!==i.etag){this.abort(new o("ETag mismatch",e,{headers:i,count:this.retryCount}));return false}const{start:n,size:a,end:c=a}=t;s(this.start===n,"content-range mismatch");s(this.end==null||this.end===c,"content-range mismatch");this.resume=r;return true}if(this.end==null){if(e===206){const o=A(i["content-range"]);if(o==null){return this.handler.onHeaders(e,t,r,n)}const{start:a,size:c,end:l=c}=o;s(a!=null&&Number.isFinite(a)&&this.start!==a,"content-range mismatch");s(Number.isFinite(a));s(l!=null&&Number.isFinite(l)&&this.end!==l,"invalid content-length");this.start=a;this.end=l}if(this.end==null){const e=i["content-length"];this.end=e!=null?Number(e):null}s(Number.isFinite(this.start));s(this.end==null||Number.isFinite(this.end),"invalid content-length");this.resume=r;this.etag=i.etag!=null?i.etag:null;return this.handler.onHeaders(e,t,r,n)}const c=new o("Request failed",e,{headers:i,count:this.retryCount});this.abort(c);return false}onData(e){this.start+=e.length;return this.handler.onData(e)}onComplete(e){this.retryCount=0;return this.handler.onComplete(e)}onError(e){if(this.aborted||i(this.opts.body)){return this.handler.onError(e)}this.retryOpts.retry(e,{state:{counter:this.retryCount++,currentTimeout:this.retryAfter},opts:{retryOptions:this.retryOpts,...this.opts}},onRetry.bind(this));function onRetry(e){if(e!=null||this.aborted||i(this.opts.body)){return this.handler.onError(e)}if(this.start!==0){this.opts={...this.opts,headers:{...this.opts.headers,range:`bytes=${this.start}-${this.end??""}`}}}try{this.dispatch(this.opts,this)}catch(e){this.handler.onError(e)}}}}e.exports=RetryHandler},3167:(e,t,r)=>{"use strict";const s=r(292);function createRedirectInterceptor({maxRedirections:e}){return t=>function Intercept(r,n){const{maxRedirections:o=e}=r;if(!o){return t(r,n)}const i=new s(t,o,r,n);r={...r,maxRedirections:0};return t(r,i)}}e.exports=createRedirectInterceptor},5749:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SPECIAL_HEADERS=t.HEADER_STATE=t.MINOR=t.MAJOR=t.CONNECTION_TOKEN_CHARS=t.HEADER_CHARS=t.TOKEN=t.STRICT_TOKEN=t.HEX=t.URL_CHAR=t.STRICT_URL_CHAR=t.USERINFO_CHARS=t.MARK=t.ALPHANUM=t.NUM=t.HEX_MAP=t.NUM_MAP=t.ALPHA=t.FINISH=t.H_METHOD_MAP=t.METHOD_MAP=t.METHODS_RTSP=t.METHODS_ICE=t.METHODS_HTTP=t.METHODS=t.LENIENT_FLAGS=t.FLAGS=t.TYPE=t.ERROR=void 0;const s=r(4778);var n;(function(e){e[e["OK"]=0]="OK";e[e["INTERNAL"]=1]="INTERNAL";e[e["STRICT"]=2]="STRICT";e[e["LF_EXPECTED"]=3]="LF_EXPECTED";e[e["UNEXPECTED_CONTENT_LENGTH"]=4]="UNEXPECTED_CONTENT_LENGTH";e[e["CLOSED_CONNECTION"]=5]="CLOSED_CONNECTION";e[e["INVALID_METHOD"]=6]="INVALID_METHOD";e[e["INVALID_URL"]=7]="INVALID_URL";e[e["INVALID_CONSTANT"]=8]="INVALID_CONSTANT";e[e["INVALID_VERSION"]=9]="INVALID_VERSION";e[e["INVALID_HEADER_TOKEN"]=10]="INVALID_HEADER_TOKEN";e[e["INVALID_CONTENT_LENGTH"]=11]="INVALID_CONTENT_LENGTH";e[e["INVALID_CHUNK_SIZE"]=12]="INVALID_CHUNK_SIZE";e[e["INVALID_STATUS"]=13]="INVALID_STATUS";e[e["INVALID_EOF_STATE"]=14]="INVALID_EOF_STATE";e[e["INVALID_TRANSFER_ENCODING"]=15]="INVALID_TRANSFER_ENCODING";e[e["CB_MESSAGE_BEGIN"]=16]="CB_MESSAGE_BEGIN";e[e["CB_HEADERS_COMPLETE"]=17]="CB_HEADERS_COMPLETE";e[e["CB_MESSAGE_COMPLETE"]=18]="CB_MESSAGE_COMPLETE";e[e["CB_CHUNK_HEADER"]=19]="CB_CHUNK_HEADER";e[e["CB_CHUNK_COMPLETE"]=20]="CB_CHUNK_COMPLETE";e[e["PAUSED"]=21]="PAUSED";e[e["PAUSED_UPGRADE"]=22]="PAUSED_UPGRADE";e[e["PAUSED_H2_UPGRADE"]=23]="PAUSED_H2_UPGRADE";e[e["USER"]=24]="USER"})(n=t.ERROR||(t.ERROR={}));var o;(function(e){e[e["BOTH"]=0]="BOTH";e[e["REQUEST"]=1]="REQUEST";e[e["RESPONSE"]=2]="RESPONSE"})(o=t.TYPE||(t.TYPE={}));var i;(function(e){e[e["CONNECTION_KEEP_ALIVE"]=1]="CONNECTION_KEEP_ALIVE";e[e["CONNECTION_CLOSE"]=2]="CONNECTION_CLOSE";e[e["CONNECTION_UPGRADE"]=4]="CONNECTION_UPGRADE";e[e["CHUNKED"]=8]="CHUNKED";e[e["UPGRADE"]=16]="UPGRADE";e[e["CONTENT_LENGTH"]=32]="CONTENT_LENGTH";e[e["SKIPBODY"]=64]="SKIPBODY";e[e["TRAILING"]=128]="TRAILING";e[e["TRANSFER_ENCODING"]=512]="TRANSFER_ENCODING"})(i=t.FLAGS||(t.FLAGS={}));var a;(function(e){e[e["HEADERS"]=1]="HEADERS";e[e["CHUNKED_LENGTH"]=2]="CHUNKED_LENGTH";e[e["KEEP_ALIVE"]=4]="KEEP_ALIVE"})(a=t.LENIENT_FLAGS||(t.LENIENT_FLAGS={}));var A;(function(e){e[e["DELETE"]=0]="DELETE";e[e["GET"]=1]="GET";e[e["HEAD"]=2]="HEAD";e[e["POST"]=3]="POST";e[e["PUT"]=4]="PUT";e[e["CONNECT"]=5]="CONNECT";e[e["OPTIONS"]=6]="OPTIONS";e[e["TRACE"]=7]="TRACE";e[e["COPY"]=8]="COPY";e[e["LOCK"]=9]="LOCK";e[e["MKCOL"]=10]="MKCOL";e[e["MOVE"]=11]="MOVE";e[e["PROPFIND"]=12]="PROPFIND";e[e["PROPPATCH"]=13]="PROPPATCH";e[e["SEARCH"]=14]="SEARCH";e[e["UNLOCK"]=15]="UNLOCK";e[e["BIND"]=16]="BIND";e[e["REBIND"]=17]="REBIND";e[e["UNBIND"]=18]="UNBIND";e[e["ACL"]=19]="ACL";e[e["REPORT"]=20]="REPORT";e[e["MKACTIVITY"]=21]="MKACTIVITY";e[e["CHECKOUT"]=22]="CHECKOUT";e[e["MERGE"]=23]="MERGE";e[e["M-SEARCH"]=24]="M-SEARCH";e[e["NOTIFY"]=25]="NOTIFY";e[e["SUBSCRIBE"]=26]="SUBSCRIBE";e[e["UNSUBSCRIBE"]=27]="UNSUBSCRIBE";e[e["PATCH"]=28]="PATCH";e[e["PURGE"]=29]="PURGE";e[e["MKCALENDAR"]=30]="MKCALENDAR";e[e["LINK"]=31]="LINK";e[e["UNLINK"]=32]="UNLINK";e[e["SOURCE"]=33]="SOURCE";e[e["PRI"]=34]="PRI";e[e["DESCRIBE"]=35]="DESCRIBE";e[e["ANNOUNCE"]=36]="ANNOUNCE";e[e["SETUP"]=37]="SETUP";e[e["PLAY"]=38]="PLAY";e[e["PAUSE"]=39]="PAUSE";e[e["TEARDOWN"]=40]="TEARDOWN";e[e["GET_PARAMETER"]=41]="GET_PARAMETER";e[e["SET_PARAMETER"]=42]="SET_PARAMETER";e[e["REDIRECT"]=43]="REDIRECT";e[e["RECORD"]=44]="RECORD";e[e["FLUSH"]=45]="FLUSH"})(A=t.METHODS||(t.METHODS={}));t.METHODS_HTTP=[A.DELETE,A.GET,A.HEAD,A.POST,A.PUT,A.CONNECT,A.OPTIONS,A.TRACE,A.COPY,A.LOCK,A.MKCOL,A.MOVE,A.PROPFIND,A.PROPPATCH,A.SEARCH,A.UNLOCK,A.BIND,A.REBIND,A.UNBIND,A.ACL,A.REPORT,A.MKACTIVITY,A.CHECKOUT,A.MERGE,A["M-SEARCH"],A.NOTIFY,A.SUBSCRIBE,A.UNSUBSCRIBE,A.PATCH,A.PURGE,A.MKCALENDAR,A.LINK,A.UNLINK,A.PRI,A.SOURCE];t.METHODS_ICE=[A.SOURCE];t.METHODS_RTSP=[A.OPTIONS,A.DESCRIBE,A.ANNOUNCE,A.SETUP,A.PLAY,A.PAUSE,A.TEARDOWN,A.GET_PARAMETER,A.SET_PARAMETER,A.REDIRECT,A.RECORD,A.FLUSH,A.GET,A.POST];t.METHOD_MAP=s.enumToMap(A);t.H_METHOD_MAP={};Object.keys(t.METHOD_MAP).forEach((e=>{if(/^H/.test(e)){t.H_METHOD_MAP[e]=t.METHOD_MAP[e]}}));var c;(function(e){e[e["SAFE"]=0]="SAFE";e[e["SAFE_WITH_CB"]=1]="SAFE_WITH_CB";e[e["UNSAFE"]=2]="UNSAFE"})(c=t.FINISH||(t.FINISH={}));t.ALPHA=[];for(let e="A".charCodeAt(0);e<="Z".charCodeAt(0);e++){t.ALPHA.push(String.fromCharCode(e));t.ALPHA.push(String.fromCharCode(e+32))}t.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};t.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15};t.NUM=["0","1","2","3","4","5","6","7","8","9"];t.ALPHANUM=t.ALPHA.concat(t.NUM);t.MARK=["-","_",".","!","~","*","'","(",")"];t.USERINFO_CHARS=t.ALPHANUM.concat(t.MARK).concat(["%",";",":","&","=","+","$",","]);t.STRICT_URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(t.ALPHANUM);t.URL_CHAR=t.STRICT_URL_CHAR.concat(["\t","\f"]);for(let e=128;e<=255;e++){t.URL_CHAR.push(e)}t.HEX=t.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);t.STRICT_TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(t.ALPHANUM);t.TOKEN=t.STRICT_TOKEN.concat([" "]);t.HEADER_CHARS=["\t"];for(let e=32;e<=255;e++){if(e!==127){t.HEADER_CHARS.push(e)}}t.CONNECTION_TOKEN_CHARS=t.HEADER_CHARS.filter((e=>e!==44));t.MAJOR=t.NUM_MAP;t.MINOR=t.MAJOR;var l;(function(e){e[e["GENERAL"]=0]="GENERAL";e[e["CONNECTION"]=1]="CONNECTION";e[e["CONTENT_LENGTH"]=2]="CONTENT_LENGTH";e[e["TRANSFER_ENCODING"]=3]="TRANSFER_ENCODING";e[e["UPGRADE"]=4]="UPGRADE";e[e["CONNECTION_KEEP_ALIVE"]=5]="CONNECTION_KEEP_ALIVE";e[e["CONNECTION_CLOSE"]=6]="CONNECTION_CLOSE";e[e["CONNECTION_UPGRADE"]=7]="CONNECTION_UPGRADE";e[e["TRANSFER_ENCODING_CHUNKED"]=8]="TRANSFER_ENCODING_CHUNKED"})(l=t.HEADER_STATE||(t.HEADER_STATE={}));t.SPECIAL_HEADERS={connection:l.CONNECTION,"content-length":l.CONTENT_LENGTH,"proxy-connection":l.CONNECTION,"transfer-encoding":l.TRANSFER_ENCODING,upgrade:l.UPGRADE}},9827:e=>{e.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJsbGh0dHBfc3RhdHVzX25hbWUAIRpsbGh0dHBfc2V0X2xlbmllbnRfaGVhZGVycwAiIWxsaHR0cF9zZXRfbGVuaWVudF9jaHVua2VkX2xlbmd0aAAjHWxsaHR0cF9zZXRfbGVuaWVudF9rZWVwX2FsaXZlACQkbGxodHRwX3NldF9sZW5pZW50X3RyYW5zZmVyX2VuY29kaW5nACUYbGxodHRwX21lc3NhZ2VfbmVlZHNfZW9mAD8JFwEAQQELEQECAwQFCwYHNTk3MS8tJyspCsLgAkUCAAsIABCIgICAAAsZACAAEMKAgIAAGiAAIAI2AjggACABOgAoCxwAIAAgAC8BMiAALQAuIAAQwYCAgAAQgICAgAALKgEBf0HAABDGgICAACIBEMKAgIAAGiABQYCIgIAANgI4IAEgADoAKCABCwoAIAAQyICAgAALBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LRQEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABDCgICAABogACAENgI4IAAgAzoAKCAAIAI6AC0gACABNgIYCxEAIAAgASABIAJqEMOAgIAACxAAIABBAEHcABDMgICAABoLZwEBf0EAIQECQCAAKAIMDQACQAJAAkACQCAALQAvDgMBAAMCCyAAKAI4IgFFDQAgASgCLCIBRQ0AIAAgARGAgICAAAAiAQ0DC0EADwsQyoCAgAAACyAAQcOWgIAANgIQQQ4hAQsgAQseAAJAIAAoAgwNACAAQdGbgIAANgIQIABBFTYCDAsLFgACQCAAKAIMQRVHDQAgAEEANgIMCwsWAAJAIAAoAgxBFkcNACAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsiAAJAIABBJEkNABDKgICAAAALIABBAnRBoLOAgABqKAIACyIAAkAgAEEuSQ0AEMqAgIAAAAsgAEECdEGwtICAAGooAgAL7gsBAX9B66iAgAAhAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABBnH9qDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0Hhp4CAAA8LQaShgIAADwtBy6yAgAAPC0H+sYCAAA8LQcCkgIAADwtBq6SAgAAPC0GNqICAAA8LQeKmgIAADwtBgLCAgAAPC0G5r4CAAA8LQdekgIAADwtB75+AgAAPC0Hhn4CAAA8LQfqfgIAADwtB8qCAgAAPC0Gor4CAAA8LQa6ygIAADwtBiLCAgAAPC0Hsp4CAAA8LQYKigIAADwtBjp2AgAAPC0HQroCAAA8LQcqjgIAADwtBxbKAgAAPC0HfnICAAA8LQdKcgIAADwtBxKCAgAAPC0HXoICAAA8LQaKfgIAADwtB7a6AgAAPC0GrsICAAA8LQdSlgIAADwtBzK6AgAAPC0H6roCAAA8LQfyrgIAADwtB0rCAgAAPC0HxnYCAAA8LQbuggIAADwtB96uAgAAPC0GQsYCAAA8LQdexgIAADwtBoq2AgAAPC0HUp4CAAA8LQeCrgIAADwtBn6yAgAAPC0HrsYCAAA8LQdWfgIAADwtByrGAgAAPC0HepYCAAA8LQdSegIAADwtB9JyAgAAPC0GnsoCAAA8LQbGdgIAADwtBoJ2AgAAPC0G5sYCAAA8LQbywgIAADwtBkqGAgAAPC0GzpoCAAA8LQemsgIAADwtBrJ6AgAAPC0HUq4CAAA8LQfemgIAADwtBgKaAgAAPC0GwoYCAAA8LQf6egIAADwtBjaOAgAAPC0GJrYCAAA8LQfeigIAADwtBoLGAgAAPC0Gun4CAAA8LQcalgIAADwtB6J6AgAAPC0GTooCAAA8LQcKvgIAADwtBw52AgAAPC0GLrICAAA8LQeGdgIAADwtBja+AgAAPC0HqoYCAAA8LQbStgIAADwtB0q+AgAAPC0HfsoCAAA8LQdKygIAADwtB8LCAgAAPC0GpooCAAA8LQfmjgIAADwtBmZ6AgAAPC0G1rICAAA8LQZuwgIAADwtBkrKAgAAPC0G2q4CAAA8LQcKigIAADwtB+LKAgAAPC0GepYCAAA8LQdCigIAADwtBup6AgAAPC0GBnoCAAA8LEMqAgIAAAAtB1qGAgAAhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAgAiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCBCIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQcaRgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIwIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAggiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2ioCAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCNCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIMIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZqAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAjgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCECIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZWQgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAI8IgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAhQiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEGqm4CAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCQCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIYIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZOAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCJCIERQ0AIAAgBBGAgICAAAAhAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIsIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAigiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2iICAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCUCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIcIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABBwpmAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCICIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZSUgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAJMIgRFDQAgACAEEYCAgIAAACEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAlQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCWCIERQ0AIAAgBBGAgICAAAAhAwsgAwtFAQF/AkACQCAALwEwQRRxQRRHDQBBASEDIAAtAChBAUYNASAALwEyQeUARiEDDAELIAAtAClBBUYhAwsgACADOgAuQQAL/gEBA39BASEDAkAgAC8BMCIEQQhxDQAgACkDIEIAUiEDCwJAAkAgAC0ALkUNAEEBIQUgAC0AKUEFRg0BQQEhBSAEQcAAcUUgA3FBAUcNAQtBACEFIARBwABxDQBBAiEFIARB//8DcSIDQQhxDQACQCADQYAEcUUNAAJAIAAtAChBAUcNACAALQAtQQpxDQBBBQ8LQQQPCwJAIANBIHENAAJAIAAtAChBAUYNACAALwEyQf//A3EiAEGcf2pB5ABJDQAgAEHMAUYNACAAQbACRg0AQQQhBSAEQShxRQ0CIANBiARxQYAERg0CC0EADwtBAEEDIAApAyBQGyEFCyAFC2IBAn9BACEBAkAgAC0AKEEBRg0AIAAvATJB//8DcSICQZx/akHkAEkNACACQcwBRg0AIAJBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhASAAQYgEcUGABEYNACAAQShxRSEBCyABC6cBAQN/AkACQAJAIAAtACpFDQAgAC0AK0UNAEEAIQMgAC8BMCIEQQJxRQ0BDAILQQAhAyAALwEwIgRBAXFFDQELQQEhAyAALQAoQQFGDQAgAC8BMkH//wNxIgVBnH9qQeQASQ0AIAVBzAFGDQAgBUGwAkYNACAEQcAAcQ0AQQAhAyAEQYgEcUGABEYNACAEQShxQQBHIQMLIABBADsBMCAAQQA6AC8gAwuZAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQBBACEBIAAvATAiAkECcUUNAQwCC0EAIQEgAC8BMCICQQFxRQ0BC0EBIQEgAC0AKEEBRg0AIAAvATJB//8DcSIAQZx/akHkAEkNACAAQcwBRg0AIABBsAJGDQAgAkHAAHENAEEAIQEgAkGIBHFBgARGDQAgAkEocUEARyEBCyABC1kAIABBGGpCADcDACAAQgA3AwAgAEE4akIANwMAIABBMGpCADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwHLAcoBuAHJAbkByAG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAQDcAQtBACEQDMYBC0EOIRAMxQELQQ0hEAzEAQtBDyEQDMMBC0EQIRAMwgELQRMhEAzBAQtBFCEQDMABC0EVIRAMvwELQRYhEAy+AQtBFyEQDL0BC0EYIRAMvAELQRkhEAy7AQtBGiEQDLoBC0EbIRAMuQELQRwhEAy4AQtBCCEQDLcBC0EdIRAMtgELQSAhEAy1AQtBHyEQDLQBC0EHIRAMswELQSEhEAyyAQtBIiEQDLEBC0EeIRAMsAELQSMhEAyvAQtBEiEQDK4BC0ERIRAMrQELQSQhEAysAQtBJSEQDKsBC0EmIRAMqgELQSchEAypAQtBwwEhEAyoAQtBKSEQDKcBC0ErIRAMpgELQSwhEAylAQtBLSEQDKQBC0EuIRAMowELQS8hEAyiAQtBxAEhEAyhAQtBMCEQDKABC0E0IRAMnwELQQwhEAyeAQtBMSEQDJ0BC0EyIRAMnAELQTMhEAybAQtBOSEQDJoBC0E1IRAMmQELQcUBIRAMmAELQQshEAyXAQtBOiEQDJYBC0E2IRAMlQELQQohEAyUAQtBNyEQDJMBC0E4IRAMkgELQTwhEAyRAQtBOyEQDJABC0E9IRAMjwELQQkhEAyOAQtBKCEQDI0BC0E+IRAMjAELQT8hEAyLAQtBwAAhEAyKAQtBwQAhEAyJAQtBwgAhEAyIAQtBwwAhEAyHAQtBxAAhEAyGAQtBxQAhEAyFAQtBxgAhEAyEAQtBKiEQDIMBC0HHACEQDIIBC0HIACEQDIEBC0HJACEQDIABC0HKACEQDH8LQcsAIRAMfgtBzQAhEAx9C0HMACEQDHwLQc4AIRAMewtBzwAhEAx6C0HQACEQDHkLQdEAIRAMeAtB0gAhEAx3C0HTACEQDHYLQdQAIRAMdQtB1gAhEAx0C0HVACEQDHMLQQYhEAxyC0HXACEQDHELQQUhEAxwC0HYACEQDG8LQQQhEAxuC0HZACEQDG0LQdoAIRAMbAtB2wAhEAxrC0HcACEQDGoLQQMhEAxpC0HdACEQDGgLQd4AIRAMZwtB3wAhEAxmC0HhACEQDGULQeAAIRAMZAtB4gAhEAxjC0HjACEQDGILQQIhEAxhC0HkACEQDGALQeUAIRAMXwtB5gAhEAxeC0HnACEQDF0LQegAIRAMXAtB6QAhEAxbC0HqACEQDFoLQesAIRAMWQtB7AAhEAxYC0HtACEQDFcLQe4AIRAMVgtB7wAhEAxVC0HwACEQDFQLQfEAIRAMUwtB8gAhEAxSC0HzACEQDFELQfQAIRAMUAtB9QAhEAxPC0H2ACEQDE4LQfcAIRAMTQtB+AAhEAxMC0H5ACEQDEsLQfoAIRAMSgtB+wAhEAxJC0H8ACEQDEgLQf0AIRAMRwtB/gAhEAxGC0H/ACEQDEULQYABIRAMRAtBgQEhEAxDC0GCASEQDEILQYMBIRAMQQtBhAEhEAxAC0GFASEQDD8LQYYBIRAMPgtBhwEhEAw9C0GIASEQDDwLQYkBIRAMOwtBigEhEAw6C0GLASEQDDkLQYwBIRAMOAtBjQEhEAw3C0GOASEQDDYLQY8BIRAMNQtBkAEhEAw0C0GRASEQDDMLQZIBIRAMMgtBkwEhEAwxC0GUASEQDDALQZUBIRAMLwtBlgEhEAwuC0GXASEQDC0LQZgBIRAMLAtBmQEhEAwrC0GaASEQDCoLQZsBIRAMKQtBnAEhEAwoC0GdASEQDCcLQZ4BIRAMJgtBnwEhEAwlC0GgASEQDCQLQaEBIRAMIwtBogEhEAwiC0GjASEQDCELQaQBIRAMIAtBpQEhEAwfC0GmASEQDB4LQacBIRAMHQtBqAEhEAwcC0GpASEQDBsLQaoBIRAMGgtBqwEhEAwZC0GsASEQDBgLQa0BIRAMFwtBrgEhEAwWC0EBIRAMFQtBrwEhEAwUC0GwASEQDBMLQbEBIRAMEgtBswEhEAwRC0GyASEQDBALQbQBIRAMDwtBtQEhEAwOC0G2ASEQDA0LQbcBIRAMDAtBuAEhEAwLC0G5ASEQDAoLQboBIRAMCQtBuwEhEAwIC0HGASEQDAcLQbwBIRAMBgtBvQEhEAwFC0G+ASEQDAQLQb8BIRAMAwtBwAEhEAwCC0HCASEQDAELQcEBIRALA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAQDscBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxweHyAhIyUoP0BBREVGR0hJSktMTU9QUVJT3gNXWVtcXWBiZWZnaGlqa2xtb3BxcnN0dXZ3eHl6e3x9foABggGFAYYBhwGJAYsBjAGNAY4BjwGQAZEBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B4AHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gHzAZkCpAKwAv4C/gILIAEiBCACRw3zAUHdASEQDP8DCyABIhAgAkcN3QFBwwEhEAz+AwsgASIBIAJHDZABQfcAIRAM/QMLIAEiASACRw2GAUHvACEQDPwDCyABIgEgAkcNf0HqACEQDPsDCyABIgEgAkcNe0HoACEQDPoDCyABIgEgAkcNeEHmACEQDPkDCyABIgEgAkcNGkEYIRAM+AMLIAEiASACRw0UQRIhEAz3AwsgASIBIAJHDVlBxQAhEAz2AwsgASIBIAJHDUpBPyEQDPUDCyABIgEgAkcNSEE8IRAM9AMLIAEiASACRw1BQTEhEAzzAwsgAC0ALkEBRg3rAwyHAgsgACABIgEgAhDAgICAAEEBRw3mASAAQgA3AyAM5wELIAAgASIBIAIQtICAgAAiEA3nASABIQEM9QILAkAgASIBIAJHDQBBBiEQDPADCyAAIAFBAWoiASACELuAgIAAIhAN6AEgASEBDDELIABCADcDIEESIRAM1QMLIAEiECACRw0rQR0hEAztAwsCQCABIgEgAkYNACABQQFqIQFBECEQDNQDC0EHIRAM7AMLIABCACAAKQMgIhEgAiABIhBrrSISfSITIBMgEVYbNwMgIBEgElYiFEUN5QFBCCEQDOsDCwJAIAEiASACRg0AIABBiYCAgAA2AgggACABNgIEIAEhAUEUIRAM0gMLQQkhEAzqAwsgASEBIAApAyBQDeQBIAEhAQzyAgsCQCABIgEgAkcNAEELIRAM6QMLIAAgAUEBaiIBIAIQtoCAgAAiEA3lASABIQEM8gILIAAgASIBIAIQuICAgAAiEA3lASABIQEM8gILIAAgASIBIAIQuICAgAAiEA3mASABIQEMDQsgACABIgEgAhC6gICAACIQDecBIAEhAQzwAgsCQCABIgEgAkcNAEEPIRAM5QMLIAEtAAAiEEE7Rg0IIBBBDUcN6AEgAUEBaiEBDO8CCyAAIAEiASACELqAgIAAIhAN6AEgASEBDPICCwNAAkAgAS0AAEHwtYCAAGotAAAiEEEBRg0AIBBBAkcN6wEgACgCBCEQIABBADYCBCAAIBAgAUEBaiIBELmAgIAAIhAN6gEgASEBDPQCCyABQQFqIgEgAkcNAAtBEiEQDOIDCyAAIAEiASACELqAgIAAIhAN6QEgASEBDAoLIAEiASACRw0GQRshEAzgAwsCQCABIgEgAkcNAEEWIRAM4AMLIABBioCAgAA2AgggACABNgIEIAAgASACELiAgIAAIhAN6gEgASEBQSAhEAzGAwsCQCABIgEgAkYNAANAAkAgAS0AAEHwt4CAAGotAAAiEEECRg0AAkAgEEF/ag4E5QHsAQDrAewBCyABQQFqIQFBCCEQDMgDCyABQQFqIgEgAkcNAAtBFSEQDN8DC0EVIRAM3gMLA0ACQCABLQAAQfC5gIAAai0AACIQQQJGDQAgEEF/ag4E3gHsAeAB6wHsAQsgAUEBaiIBIAJHDQALQRghEAzdAwsCQCABIgEgAkYNACAAQYuAgIAANgIIIAAgATYCBCABIQFBByEQDMQDC0EZIRAM3AMLIAFBAWohAQwCCwJAIAEiFCACRw0AQRohEAzbAwsgFCEBAkAgFC0AAEFzag4U3QLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gIA7gILQQAhECAAQQA2AhwgAEGvi4CAADYCECAAQQI2AgwgACAUQQFqNgIUDNoDCwJAIAEtAAAiEEE7Rg0AIBBBDUcN6AEgAUEBaiEBDOUCCyABQQFqIQELQSIhEAy/AwsCQCABIhAgAkcNAEEcIRAM2AMLQgAhESAQIQEgEC0AAEFQag435wHmAQECAwQFBgcIAAAAAAAAAAkKCwwNDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxAREhMUAAtBHiEQDL0DC0ICIREM5QELQgMhEQzkAQtCBCERDOMBC0IFIREM4gELQgYhEQzhAQtCByERDOABC0IIIREM3wELQgkhEQzeAQtCCiERDN0BC0ILIREM3AELQgwhEQzbAQtCDSERDNoBC0IOIREM2QELQg8hEQzYAQtCCiERDNcBC0ILIREM1gELQgwhEQzVAQtCDSERDNQBC0IOIREM0wELQg8hEQzSAQtCACERAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAQLQAAQVBqDjflAeQBAAECAwQFBgfmAeYB5gHmAeYB5gHmAQgJCgsMDeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gEODxAREhPmAQtCAiERDOQBC0IDIREM4wELQgQhEQziAQtCBSERDOEBC0IGIREM4AELQgchEQzfAQtCCCERDN4BC0IJIREM3QELQgohEQzcAQtCCyERDNsBC0IMIREM2gELQg0hEQzZAQtCDiERDNgBC0IPIREM1wELQgohEQzWAQtCCyERDNUBC0IMIREM1AELQg0hEQzTAQtCDiERDNIBC0IPIREM0QELIABCACAAKQMgIhEgAiABIhBrrSISfSITIBMgEVYbNwMgIBEgElYiFEUN0gFBHyEQDMADCwJAIAEiASACRg0AIABBiYCAgAA2AgggACABNgIEIAEhAUEkIRAMpwMLQSAhEAy/AwsgACABIhAgAhC+gICAAEF/ag4FtgEAxQIB0QHSAQtBESEQDKQDCyAAQQE6AC8gECEBDLsDCyABIgEgAkcN0gFBJCEQDLsDCyABIg0gAkcNHkHGACEQDLoDCyAAIAEiASACELKAgIAAIhAN1AEgASEBDLUBCyABIhAgAkcNJkHQACEQDLgDCwJAIAEiASACRw0AQSghEAy4AwsgAEEANgIEIABBjICAgAA2AgggACABIAEQsYCAgAAiEA3TASABIQEM2AELAkAgASIQIAJHDQBBKSEQDLcDCyAQLQAAIgFBIEYNFCABQQlHDdMBIBBBAWohAQwVCwJAIAEiASACRg0AIAFBAWohAQwXC0EqIRAMtQMLAkAgASIQIAJHDQBBKyEQDLUDCwJAIBAtAAAiAUEJRg0AIAFBIEcN1QELIAAtACxBCEYN0wEgECEBDJEDCwJAIAEiASACRw0AQSwhEAy0AwsgAS0AAEEKRw3VASABQQFqIQEMyQILIAEiDiACRw3VAUEvIRAMsgMLA0ACQCABLQAAIhBBIEYNAAJAIBBBdmoOBADcAdwBANoBCyABIQEM4AELIAFBAWoiASACRw0AC0ExIRAMsQMLQTIhECABIhQgAkYNsAMgAiAUayAAKAIAIgFqIRUgFCABa0EDaiEWAkADQCAULQAAIhdBIHIgFyAXQb9/akH/AXFBGkkbQf8BcSABQfC7gIAAai0AAEcNAQJAIAFBA0cNAEEGIQEMlgMLIAFBAWohASAUQQFqIhQgAkcNAAsgACAVNgIADLEDCyAAQQA2AgAgFCEBDNkBC0EzIRAgASIUIAJGDa8DIAIgFGsgACgCACIBaiEVIBQgAWtBCGohFgJAA0AgFC0AACIXQSByIBcgF0G/f2pB/wFxQRpJG0H/AXEgAUH0u4CAAGotAABHDQECQCABQQhHDQBBBSEBDJUDCyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFTYCAAywAwsgAEEANgIAIBQhAQzYAQtBNCEQIAEiFCACRg2uAyACIBRrIAAoAgAiAWohFSAUIAFrQQVqIRYCQANAIBQtAAAiF0EgciAXIBdBv39qQf8BcUEaSRtB/wFxIAFB0MKAgABqLQAARw0BAkAgAUEFRw0AQQchAQyUAwsgAUEBaiEBIBRBAWoiFCACRw0ACyAAIBU2AgAMrwMLIABBADYCACAUIQEM1wELAkAgASIBIAJGDQADQAJAIAEtAABBgL6AgABqLQAAIhBBAUYNACAQQQJGDQogASEBDN0BCyABQQFqIgEgAkcNAAtBMCEQDK4DC0EwIRAMrQMLAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgRg0AIBBBdmoOBNkB2gHaAdkB2gELIAFBAWoiASACRw0AC0E4IRAMrQMLQTghEAysAwsDQAJAIAEtAAAiEEEgRg0AIBBBCUcNAwsgAUEBaiIBIAJHDQALQTwhEAyrAwsDQAJAIAEtAAAiEEEgRg0AAkACQCAQQXZqDgTaAQEB2gEACyAQQSxGDdsBCyABIQEMBAsgAUEBaiIBIAJHDQALQT8hEAyqAwsgASEBDNsBC0HAACEQIAEiFCACRg2oAyACIBRrIAAoAgAiAWohFiAUIAFrQQZqIRcCQANAIBQtAABBIHIgAUGAwICAAGotAABHDQEgAUEGRg2OAyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFjYCAAypAwsgAEEANgIAIBQhAQtBNiEQDI4DCwJAIAEiDyACRw0AQcEAIRAMpwMLIABBjICAgAA2AgggACAPNgIEIA8hASAALQAsQX9qDgTNAdUB1wHZAYcDCyABQQFqIQEMzAELAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgciAQIBBBv39qQf8BcUEaSRtB/wFxIhBBCUYNACAQQSBGDQACQAJAAkACQCAQQZ1/ag4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUExIRAMkQMLIAFBAWohAUEyIRAMkAMLIAFBAWohAUEzIRAMjwMLIAEhAQzQAQsgAUEBaiIBIAJHDQALQTUhEAylAwtBNSEQDKQDCwJAIAEiASACRg0AA0ACQCABLQAAQYC8gIAAai0AAEEBRg0AIAEhAQzTAQsgAUEBaiIBIAJHDQALQT0hEAykAwtBPSEQDKMDCyAAIAEiASACELCAgIAAIhAN1gEgASEBDAELIBBBAWohAQtBPCEQDIcDCwJAIAEiASACRw0AQcIAIRAMoAMLAkADQAJAIAEtAABBd2oOGAAC/gL+AoQD/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4CAP4CCyABQQFqIgEgAkcNAAtBwgAhEAygAwsgAUEBaiEBIAAtAC1BAXFFDb0BIAEhAQtBLCEQDIUDCyABIgEgAkcN0wFBxAAhEAydAwsDQAJAIAEtAABBkMCAgABqLQAAQQFGDQAgASEBDLcCCyABQQFqIgEgAkcNAAtBxQAhEAycAwsgDS0AACIQQSBGDbMBIBBBOkcNgQMgACgCBCEBIABBADYCBCAAIAEgDRCvgICAACIBDdABIA1BAWohAQyzAgtBxwAhECABIg0gAkYNmgMgAiANayAAKAIAIgFqIRYgDSABa0EFaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGQwoCAAGotAABHDYADIAFBBUYN9AIgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMmgMLQcgAIRAgASINIAJGDZkDIAIgDWsgACgCACIBaiEWIA0gAWtBCWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBlsKAgABqLQAARw3/AgJAIAFBCUcNAEECIQEM9QILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJkDCwJAIAEiDSACRw0AQckAIRAMmQMLAkACQCANLQAAIgFBIHIgASABQb9/akH/AXFBGkkbQf8BcUGSf2oOBwCAA4ADgAOAA4ADAYADCyANQQFqIQFBPiEQDIADCyANQQFqIQFBPyEQDP8CC0HKACEQIAEiDSACRg2XAyACIA1rIAAoAgAiAWohFiANIAFrQQFqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQaDCgIAAai0AAEcN/QIgAUEBRg3wAiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyXAwtBywAhECABIg0gAkYNlgMgAiANayAAKAIAIgFqIRYgDSABa0EOaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGiwoCAAGotAABHDfwCIAFBDkYN8AIgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMlgMLQcwAIRAgASINIAJGDZUDIAIgDWsgACgCACIBaiEWIA0gAWtBD2ohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBwMKAgABqLQAARw37AgJAIAFBD0cNAEEDIQEM8QILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJUDC0HNACEQIAEiDSACRg2UAyACIA1rIAAoAgAiAWohFiANIAFrQQVqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQdDCgIAAai0AAEcN+gICQCABQQVHDQBBBCEBDPACCyABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyUAwsCQCABIg0gAkcNAEHOACEQDJQDCwJAAkACQAJAIA0tAAAiAUEgciABIAFBv39qQf8BcUEaSRtB/wFxQZ1/ag4TAP0C/QL9Av0C/QL9Av0C/QL9Av0C/QL9AgH9Av0C/QICA/0CCyANQQFqIQFBwQAhEAz9AgsgDUEBaiEBQcIAIRAM/AILIA1BAWohAUHDACEQDPsCCyANQQFqIQFBxAAhEAz6AgsCQCABIgEgAkYNACAAQY2AgIAANgIIIAAgATYCBCABIQFBxQAhEAz6AgtBzwAhEAySAwsgECEBAkACQCAQLQAAQXZqDgQBqAKoAgCoAgsgEEEBaiEBC0EnIRAM+AILAkAgASIBIAJHDQBB0QAhEAyRAwsCQCABLQAAQSBGDQAgASEBDI0BCyABQQFqIQEgAC0ALUEBcUUNxwEgASEBDIwBCyABIhcgAkcNyAFB0gAhEAyPAwtB0wAhECABIhQgAkYNjgMgAiAUayAAKAIAIgFqIRYgFCABa0EBaiEXA0AgFC0AACABQdbCgIAAai0AAEcNzAEgAUEBRg3HASABQQFqIQEgFEEBaiIUIAJHDQALIAAgFjYCAAyOAwsCQCABIgEgAkcNAEHVACEQDI4DCyABLQAAQQpHDcwBIAFBAWohAQzHAQsCQCABIgEgAkcNAEHWACEQDI0DCwJAAkAgAS0AAEF2ag4EAM0BzQEBzQELIAFBAWohAQzHAQsgAUEBaiEBQcoAIRAM8wILIAAgASIBIAIQroCAgAAiEA3LASABIQFBzQAhEAzyAgsgAC0AKUEiRg2FAwymAgsCQCABIgEgAkcNAEHbACEQDIoDC0EAIRRBASEXQQEhFkEAIRACQAJAAkACQAJAAkACQAJAAkAgAS0AAEFQag4K1AHTAQABAgMEBQYI1QELQQIhEAwGC0EDIRAMBQtBBCEQDAQLQQUhEAwDC0EGIRAMAgtBByEQDAELQQghEAtBACEXQQAhFkEAIRQMzAELQQkhEEEBIRRBACEXQQAhFgzLAQsCQCABIgEgAkcNAEHdACEQDIkDCyABLQAAQS5HDcwBIAFBAWohAQymAgsgASIBIAJHDcwBQd8AIRAMhwMLAkAgASIBIAJGDQAgAEGOgICAADYCCCAAIAE2AgQgASEBQdAAIRAM7gILQeAAIRAMhgMLQeEAIRAgASIBIAJGDYUDIAIgAWsgACgCACIUaiEWIAEgFGtBA2ohFwNAIAEtAAAgFEHiwoCAAGotAABHDc0BIBRBA0YNzAEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMhQMLQeIAIRAgASIBIAJGDYQDIAIgAWsgACgCACIUaiEWIAEgFGtBAmohFwNAIAEtAAAgFEHmwoCAAGotAABHDcwBIBRBAkYNzgEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMhAMLQeMAIRAgASIBIAJGDYMDIAIgAWsgACgCACIUaiEWIAEgFGtBA2ohFwNAIAEtAAAgFEHpwoCAAGotAABHDcsBIBRBA0YNzgEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMgwMLAkAgASIBIAJHDQBB5QAhEAyDAwsgACABQQFqIgEgAhCogICAACIQDc0BIAEhAUHWACEQDOkCCwJAIAEiASACRg0AA0ACQCABLQAAIhBBIEYNAAJAAkACQCAQQbh/ag4LAAHPAc8BzwHPAc8BzwHPAc8BAs8BCyABQQFqIQFB0gAhEAztAgsgAUEBaiEBQdMAIRAM7AILIAFBAWohAUHUACEQDOsCCyABQQFqIgEgAkcNAAtB5AAhEAyCAwtB5AAhEAyBAwsDQAJAIAEtAABB8MKAgABqLQAAIhBBAUYNACAQQX5qDgPPAdAB0QHSAQsgAUEBaiIBIAJHDQALQeYAIRAMgAMLAkAgASIBIAJGDQAgAUEBaiEBDAMLQecAIRAM/wILA0ACQCABLQAAQfDEgIAAai0AACIQQQFGDQACQCAQQX5qDgTSAdMB1AEA1QELIAEhAUHXACEQDOcCCyABQQFqIgEgAkcNAAtB6AAhEAz+AgsCQCABIgEgAkcNAEHpACEQDP4CCwJAIAEtAAAiEEF2ag4augHVAdUBvAHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHKAdUB1QEA0wELIAFBAWohAQtBBiEQDOMCCwNAAkAgAS0AAEHwxoCAAGotAABBAUYNACABIQEMngILIAFBAWoiASACRw0AC0HqACEQDPsCCwJAIAEiASACRg0AIAFBAWohAQwDC0HrACEQDPoCCwJAIAEiASACRw0AQewAIRAM+gILIAFBAWohAQwBCwJAIAEiASACRw0AQe0AIRAM+QILIAFBAWohAQtBBCEQDN4CCwJAIAEiFCACRw0AQe4AIRAM9wILIBQhAQJAAkACQCAULQAAQfDIgIAAai0AAEF/ag4H1AHVAdYBAJwCAQLXAQsgFEEBaiEBDAoLIBRBAWohAQzNAQtBACEQIABBADYCHCAAQZuSgIAANgIQIABBBzYCDCAAIBRBAWo2AhQM9gILAkADQAJAIAEtAABB8MiAgABqLQAAIhBBBEYNAAJAAkAgEEF/ag4H0gHTAdQB2QEABAHZAQsgASEBQdoAIRAM4AILIAFBAWohAUHcACEQDN8CCyABQQFqIgEgAkcNAAtB7wAhEAz2AgsgAUEBaiEBDMsBCwJAIAEiFCACRw0AQfAAIRAM9QILIBQtAABBL0cN1AEgFEEBaiEBDAYLAkAgASIUIAJHDQBB8QAhEAz0AgsCQCAULQAAIgFBL0cNACAUQQFqIQFB3QAhEAzbAgsgAUF2aiIEQRZLDdMBQQEgBHRBiYCAAnFFDdMBDMoCCwJAIAEiASACRg0AIAFBAWohAUHeACEQDNoCC0HyACEQDPICCwJAIAEiFCACRw0AQfQAIRAM8gILIBQhAQJAIBQtAABB8MyAgABqLQAAQX9qDgPJApQCANQBC0HhACEQDNgCCwJAIAEiFCACRg0AA0ACQCAULQAAQfDKgIAAai0AACIBQQNGDQACQCABQX9qDgLLAgDVAQsgFCEBQd8AIRAM2gILIBRBAWoiFCACRw0AC0HzACEQDPECC0HzACEQDPACCwJAIAEiASACRg0AIABBj4CAgAA2AgggACABNgIEIAEhAUHgACEQDNcCC0H1ACEQDO8CCwJAIAEiASACRw0AQfYAIRAM7wILIABBj4CAgAA2AgggACABNgIEIAEhAQtBAyEQDNQCCwNAIAEtAABBIEcNwwIgAUEBaiIBIAJHDQALQfcAIRAM7AILAkAgASIBIAJHDQBB+AAhEAzsAgsgAS0AAEEgRw3OASABQQFqIQEM7wELIAAgASIBIAIQrICAgAAiEA3OASABIQEMjgILAkAgASIEIAJHDQBB+gAhEAzqAgsgBC0AAEHMAEcN0QEgBEEBaiEBQRMhEAzPAQsCQCABIgQgAkcNAEH7ACEQDOkCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRADQCAELQAAIAFB8M6AgABqLQAARw3QASABQQVGDc4BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQfsAIRAM6AILAkAgASIEIAJHDQBB/AAhEAzoAgsCQAJAIAQtAABBvX9qDgwA0QHRAdEB0QHRAdEB0QHRAdEB0QEB0QELIARBAWohAUHmACEQDM8CCyAEQQFqIQFB5wAhEAzOAgsCQCABIgQgAkcNAEH9ACEQDOcCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDc8BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH9ACEQDOcCCyAAQQA2AgAgEEEBaiEBQRAhEAzMAQsCQCABIgQgAkcNAEH+ACEQDOYCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUH2zoCAAGotAABHDc4BIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH+ACEQDOYCCyAAQQA2AgAgEEEBaiEBQRYhEAzLAQsCQCABIgQgAkcNAEH/ACEQDOUCCyACIARrIAAoAgAiAWohFCAEIAFrQQNqIRACQANAIAQtAAAgAUH8zoCAAGotAABHDc0BIAFBA0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH/ACEQDOUCCyAAQQA2AgAgEEEBaiEBQQUhEAzKAQsCQCABIgQgAkcNAEGAASEQDOQCCyAELQAAQdkARw3LASAEQQFqIQFBCCEQDMkBCwJAIAEiBCACRw0AQYEBIRAM4wILAkACQCAELQAAQbJ/ag4DAMwBAcwBCyAEQQFqIQFB6wAhEAzKAgsgBEEBaiEBQewAIRAMyQILAkAgASIEIAJHDQBBggEhEAziAgsCQAJAIAQtAABBuH9qDggAywHLAcsBywHLAcsBAcsBCyAEQQFqIQFB6gAhEAzJAgsgBEEBaiEBQe0AIRAMyAILAkAgASIEIAJHDQBBgwEhEAzhAgsgAiAEayAAKAIAIgFqIRAgBCABa0ECaiEUAkADQCAELQAAIAFBgM+AgABqLQAARw3JASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBA2AgBBgwEhEAzhAgtBACEQIABBADYCACAUQQFqIQEMxgELAkAgASIEIAJHDQBBhAEhEAzgAgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBg8+AgABqLQAARw3IASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBhAEhEAzgAgsgAEEANgIAIBBBAWohAUEjIRAMxQELAkAgASIEIAJHDQBBhQEhEAzfAgsCQAJAIAQtAABBtH9qDggAyAHIAcgByAHIAcgBAcgBCyAEQQFqIQFB7wAhEAzGAgsgBEEBaiEBQfAAIRAMxQILAkAgASIEIAJHDQBBhgEhEAzeAgsgBC0AAEHFAEcNxQEgBEEBaiEBDIMCCwJAIAEiBCACRw0AQYcBIRAM3QILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQYjPgIAAai0AAEcNxQEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYcBIRAM3QILIABBADYCACAQQQFqIQFBLSEQDMIBCwJAIAEiBCACRw0AQYgBIRAM3AILIAIgBGsgACgCACIBaiEUIAQgAWtBCGohEAJAA0AgBC0AACABQdDPgIAAai0AAEcNxAEgAUEIRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYgBIRAM3AILIABBADYCACAQQQFqIQFBKSEQDMEBCwJAIAEiASACRw0AQYkBIRAM2wILQQEhECABLQAAQd8ARw3AASABQQFqIQEMgQILAkAgASIEIAJHDQBBigEhEAzaAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQA0AgBC0AACABQYzPgIAAai0AAEcNwQEgAUEBRg2vAiABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGKASEQDNkCCwJAIAEiBCACRw0AQYsBIRAM2QILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQY7PgIAAai0AAEcNwQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYsBIRAM2QILIABBADYCACAQQQFqIQFBAiEQDL4BCwJAIAEiBCACRw0AQYwBIRAM2AILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfDPgIAAai0AAEcNwAEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYwBIRAM2AILIABBADYCACAQQQFqIQFBHyEQDL0BCwJAIAEiBCACRw0AQY0BIRAM1wILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfLPgIAAai0AAEcNvwEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQY0BIRAM1wILIABBADYCACAQQQFqIQFBCSEQDLwBCwJAIAEiBCACRw0AQY4BIRAM1gILAkACQCAELQAAQbd/ag4HAL8BvwG/Ab8BvwEBvwELIARBAWohAUH4ACEQDL0CCyAEQQFqIQFB+QAhEAy8AgsCQCABIgQgAkcNAEGPASEQDNUCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGRz4CAAGotAABHDb0BIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGPASEQDNUCCyAAQQA2AgAgEEEBaiEBQRghEAy6AQsCQCABIgQgAkcNAEGQASEQDNQCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUGXz4CAAGotAABHDbwBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGQASEQDNQCCyAAQQA2AgAgEEEBaiEBQRchEAy5AQsCQCABIgQgAkcNAEGRASEQDNMCCyACIARrIAAoAgAiAWohFCAEIAFrQQZqIRACQANAIAQtAAAgAUGaz4CAAGotAABHDbsBIAFBBkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGRASEQDNMCCyAAQQA2AgAgEEEBaiEBQRUhEAy4AQsCQCABIgQgAkcNAEGSASEQDNICCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGhz4CAAGotAABHDboBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGSASEQDNICCyAAQQA2AgAgEEEBaiEBQR4hEAy3AQsCQCABIgQgAkcNAEGTASEQDNECCyAELQAAQcwARw24ASAEQQFqIQFBCiEQDLYBCwJAIAQgAkcNAEGUASEQDNACCwJAAkAgBC0AAEG/f2oODwC5AbkBuQG5AbkBuQG5AbkBuQG5AbkBuQG5AQG5AQsgBEEBaiEBQf4AIRAMtwILIARBAWohAUH/ACEQDLYCCwJAIAQgAkcNAEGVASEQDM8CCwJAAkAgBC0AAEG/f2oOAwC4AQG4AQsgBEEBaiEBQf0AIRAMtgILIARBAWohBEGAASEQDLUCCwJAIAQgAkcNAEGWASEQDM4CCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUGnz4CAAGotAABHDbYBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGWASEQDM4CCyAAQQA2AgAgEEEBaiEBQQshEAyzAQsCQCAEIAJHDQBBlwEhEAzNAgsCQAJAAkACQCAELQAAQVNqDiMAuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AQG4AbgBuAG4AbgBArgBuAG4AQO4AQsgBEEBaiEBQfsAIRAMtgILIARBAWohAUH8ACEQDLUCCyAEQQFqIQRBgQEhEAy0AgsgBEEBaiEEQYIBIRAMswILAkAgBCACRw0AQZgBIRAMzAILIAIgBGsgACgCACIBaiEUIAQgAWtBBGohEAJAA0AgBC0AACABQanPgIAAai0AAEcNtAEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZgBIRAMzAILIABBADYCACAQQQFqIQFBGSEQDLEBCwJAIAQgAkcNAEGZASEQDMsCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGuz4CAAGotAABHDbMBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGZASEQDMsCCyAAQQA2AgAgEEEBaiEBQQYhEAywAQsCQCAEIAJHDQBBmgEhEAzKAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBtM+AgABqLQAARw2yASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmgEhEAzKAgsgAEEANgIAIBBBAWohAUEcIRAMrwELAkAgBCACRw0AQZsBIRAMyQILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQbbPgIAAai0AAEcNsQEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZsBIRAMyQILIABBADYCACAQQQFqIQFBJyEQDK4BCwJAIAQgAkcNAEGcASEQDMgCCwJAAkAgBC0AAEGsf2oOAgABsQELIARBAWohBEGGASEQDK8CCyAEQQFqIQRBhwEhEAyuAgsCQCAEIAJHDQBBnQEhEAzHAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBuM+AgABqLQAARw2vASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBnQEhEAzHAgsgAEEANgIAIBBBAWohAUEmIRAMrAELAkAgBCACRw0AQZ4BIRAMxgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQbrPgIAAai0AAEcNrgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZ4BIRAMxgILIABBADYCACAQQQFqIQFBAyEQDKsBCwJAIAQgAkcNAEGfASEQDMUCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDa0BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGfASEQDMUCCyAAQQA2AgAgEEEBaiEBQQwhEAyqAQsCQCAEIAJHDQBBoAEhEAzEAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFBvM+AgABqLQAARw2sASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBoAEhEAzEAgsgAEEANgIAIBBBAWohAUENIRAMqQELAkAgBCACRw0AQaEBIRAMwwILAkACQCAELQAAQbp/ag4LAKwBrAGsAawBrAGsAawBrAGsAQGsAQsgBEEBaiEEQYsBIRAMqgILIARBAWohBEGMASEQDKkCCwJAIAQgAkcNAEGiASEQDMICCyAELQAAQdAARw2pASAEQQFqIQQM6QELAkAgBCACRw0AQaMBIRAMwQILAkACQCAELQAAQbd/ag4HAaoBqgGqAaoBqgEAqgELIARBAWohBEGOASEQDKgCCyAEQQFqIQFBIiEQDKYBCwJAIAQgAkcNAEGkASEQDMACCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUHAz4CAAGotAABHDagBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGkASEQDMACCyAAQQA2AgAgEEEBaiEBQR0hEAylAQsCQCAEIAJHDQBBpQEhEAy/AgsCQAJAIAQtAABBrn9qDgMAqAEBqAELIARBAWohBEGQASEQDKYCCyAEQQFqIQFBBCEQDKQBCwJAIAQgAkcNAEGmASEQDL4CCwJAAkACQAJAAkAgBC0AAEG/f2oOFQCqAaoBqgGqAaoBqgGqAaoBqgGqAQGqAaoBAqoBqgEDqgGqAQSqAQsgBEEBaiEEQYgBIRAMqAILIARBAWohBEGJASEQDKcCCyAEQQFqIQRBigEhEAymAgsgBEEBaiEEQY8BIRAMpQILIARBAWohBEGRASEQDKQCCwJAIAQgAkcNAEGnASEQDL0CCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDaUBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGnASEQDL0CCyAAQQA2AgAgEEEBaiEBQREhEAyiAQsCQCAEIAJHDQBBqAEhEAy8AgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBws+AgABqLQAARw2kASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBqAEhEAy8AgsgAEEANgIAIBBBAWohAUEsIRAMoQELAkAgBCACRw0AQakBIRAMuwILIAIgBGsgACgCACIBaiEUIAQgAWtBBGohEAJAA0AgBC0AACABQcXPgIAAai0AAEcNowEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQakBIRAMuwILIABBADYCACAQQQFqIQFBKyEQDKABCwJAIAQgAkcNAEGqASEQDLoCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHKz4CAAGotAABHDaIBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGqASEQDLoCCyAAQQA2AgAgEEEBaiEBQRQhEAyfAQsCQCAEIAJHDQBBqwEhEAy5AgsCQAJAAkACQCAELQAAQb5/ag4PAAECpAGkAaQBpAGkAaQBpAGkAaQBpAGkAQOkAQsgBEEBaiEEQZMBIRAMogILIARBAWohBEGUASEQDKECCyAEQQFqIQRBlQEhEAygAgsgBEEBaiEEQZYBIRAMnwILAkAgBCACRw0AQawBIRAMuAILIAQtAABBxQBHDZ8BIARBAWohBAzgAQsCQCAEIAJHDQBBrQEhEAy3AgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBzc+AgABqLQAARw2fASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBrQEhEAy3AgsgAEEANgIAIBBBAWohAUEOIRAMnAELAkAgBCACRw0AQa4BIRAMtgILIAQtAABB0ABHDZ0BIARBAWohAUElIRAMmwELAkAgBCACRw0AQa8BIRAMtQILIAIgBGsgACgCACIBaiEUIAQgAWtBCGohEAJAA0AgBC0AACABQdDPgIAAai0AAEcNnQEgAUEIRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQa8BIRAMtQILIABBADYCACAQQQFqIQFBKiEQDJoBCwJAIAQgAkcNAEGwASEQDLQCCwJAAkAgBC0AAEGrf2oOCwCdAZ0BnQGdAZ0BnQGdAZ0BnQEBnQELIARBAWohBEGaASEQDJsCCyAEQQFqIQRBmwEhEAyaAgsCQCAEIAJHDQBBsQEhEAyzAgsCQAJAIAQtAABBv39qDhQAnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBAZwBCyAEQQFqIQRBmQEhEAyaAgsgBEEBaiEEQZwBIRAMmQILAkAgBCACRw0AQbIBIRAMsgILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQdnPgIAAai0AAEcNmgEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbIBIRAMsgILIABBADYCACAQQQFqIQFBISEQDJcBCwJAIAQgAkcNAEGzASEQDLECCyACIARrIAAoAgAiAWohFCAEIAFrQQZqIRACQANAIAQtAAAgAUHdz4CAAGotAABHDZkBIAFBBkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGzASEQDLECCyAAQQA2AgAgEEEBaiEBQRohEAyWAQsCQCAEIAJHDQBBtAEhEAywAgsCQAJAAkAgBC0AAEG7f2oOEQCaAZoBmgGaAZoBmgGaAZoBmgEBmgGaAZoBmgGaAQKaAQsgBEEBaiEEQZ0BIRAMmAILIARBAWohBEGeASEQDJcCCyAEQQFqIQRBnwEhEAyWAgsCQCAEIAJHDQBBtQEhEAyvAgsgAiAEayAAKAIAIgFqIRQgBCABa0EFaiEQAkADQCAELQAAIAFB5M+AgABqLQAARw2XASABQQVGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBtQEhEAyvAgsgAEEANgIAIBBBAWohAUEoIRAMlAELAkAgBCACRw0AQbYBIRAMrgILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQerPgIAAai0AAEcNlgEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbYBIRAMrgILIABBADYCACAQQQFqIQFBByEQDJMBCwJAIAQgAkcNAEG3ASEQDK0CCwJAAkAgBC0AAEG7f2oODgCWAZYBlgGWAZYBlgGWAZYBlgGWAZYBlgEBlgELIARBAWohBEGhASEQDJQCCyAEQQFqIQRBogEhEAyTAgsCQCAEIAJHDQBBuAEhEAysAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFB7c+AgABqLQAARw2UASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBuAEhEAysAgsgAEEANgIAIBBBAWohAUESIRAMkQELAkAgBCACRw0AQbkBIRAMqwILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfDPgIAAai0AAEcNkwEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbkBIRAMqwILIABBADYCACAQQQFqIQFBICEQDJABCwJAIAQgAkcNAEG6ASEQDKoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUHyz4CAAGotAABHDZIBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG6ASEQDKoCCyAAQQA2AgAgEEEBaiEBQQ8hEAyPAQsCQCAEIAJHDQBBuwEhEAypAgsCQAJAIAQtAABBt39qDgcAkgGSAZIBkgGSAQGSAQsgBEEBaiEEQaUBIRAMkAILIARBAWohBEGmASEQDI8CCwJAIAQgAkcNAEG8ASEQDKgCCyACIARrIAAoAgAiAWohFCAEIAFrQQdqIRACQANAIAQtAAAgAUH0z4CAAGotAABHDZABIAFBB0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG8ASEQDKgCCyAAQQA2AgAgEEEBaiEBQRshEAyNAQsCQCAEIAJHDQBBvQEhEAynAgsCQAJAAkAgBC0AAEG+f2oOEgCRAZEBkQGRAZEBkQGRAZEBkQEBkQGRAZEBkQGRAZEBApEBCyAEQQFqIQRBpAEhEAyPAgsgBEEBaiEEQacBIRAMjgILIARBAWohBEGoASEQDI0CCwJAIAQgAkcNAEG+ASEQDKYCCyAELQAAQc4ARw2NASAEQQFqIQQMzwELAkAgBCACRw0AQb8BIRAMpQILAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBC0AAEG/f2oOFQABAgOcAQQFBpwBnAGcAQcICQoLnAEMDQ4PnAELIARBAWohAUHoACEQDJoCCyAEQQFqIQFB6QAhEAyZAgsgBEEBaiEBQe4AIRAMmAILIARBAWohAUHyACEQDJcCCyAEQQFqIQFB8wAhEAyWAgsgBEEBaiEBQfYAIRAMlQILIARBAWohAUH3ACEQDJQCCyAEQQFqIQFB+gAhEAyTAgsgBEEBaiEEQYMBIRAMkgILIARBAWohBEGEASEQDJECCyAEQQFqIQRBhQEhEAyQAgsgBEEBaiEEQZIBIRAMjwILIARBAWohBEGYASEQDI4CCyAEQQFqIQRBoAEhEAyNAgsgBEEBaiEEQaMBIRAMjAILIARBAWohBEGqASEQDIsCCwJAIAQgAkYNACAAQZCAgIAANgIIIAAgBDYCBEGrASEQDIsCC0HAASEQDKMCCyAAIAUgAhCqgICAACIBDYsBIAUhAQxcCwJAIAYgAkYNACAGQQFqIQUMjQELQcIBIRAMoQILA0ACQCAQLQAAQXZqDgSMAQAAjwEACyAQQQFqIhAgAkcNAAtBwwEhEAygAgsCQCAHIAJGDQAgAEGRgICAADYCCCAAIAc2AgQgByEBQQEhEAyHAgtBxAEhEAyfAgsCQCAHIAJHDQBBxQEhEAyfAgsCQAJAIActAABBdmoOBAHOAc4BAM4BCyAHQQFqIQYMjQELIAdBAWohBQyJAQsCQCAHIAJHDQBBxgEhEAyeAgsCQAJAIActAABBdmoOFwGPAY8BAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAQCPAQsgB0EBaiEHC0GwASEQDIQCCwJAIAggAkcNAEHIASEQDJ0CCyAILQAAQSBHDY0BIABBADsBMiAIQQFqIQFBswEhEAyDAgsgASEXAkADQCAXIgcgAkYNASAHLQAAQVBqQf8BcSIQQQpPDcwBAkAgAC8BMiIUQZkzSw0AIAAgFEEKbCIUOwEyIBBB//8DcyAUQf7/A3FJDQAgB0EBaiEXIAAgFCAQaiIQOwEyIBBB//8DcUHoB0kNAQsLQQAhECAAQQA2AhwgAEHBiYCAADYCECAAQQ02AgwgACAHQQFqNgIUDJwCC0HHASEQDJsCCyAAIAggAhCugICAACIQRQ3KASAQQRVHDYwBIABByAE2AhwgACAINgIUIABByZeAgAA2AhAgAEEVNgIMQQAhEAyaAgsCQCAJIAJHDQBBzAEhEAyaAgtBACEUQQEhF0EBIRZBACEQAkACQAJAAkACQAJAAkACQAJAIAktAABBUGoOCpYBlQEAAQIDBAUGCJcBC0ECIRAMBgtBAyEQDAULQQQhEAwEC0EFIRAMAwtBBiEQDAILQQchEAwBC0EIIRALQQAhF0EAIRZBACEUDI4BC0EJIRBBASEUQQAhF0EAIRYMjQELAkAgCiACRw0AQc4BIRAMmQILIAotAABBLkcNjgEgCkEBaiEJDMoBCyALIAJHDY4BQdABIRAMlwILAkAgCyACRg0AIABBjoCAgAA2AgggACALNgIEQbcBIRAM/gELQdEBIRAMlgILAkAgBCACRw0AQdIBIRAMlgILIAIgBGsgACgCACIQaiEUIAQgEGtBBGohCwNAIAQtAAAgEEH8z4CAAGotAABHDY4BIBBBBEYN6QEgEEEBaiEQIARBAWoiBCACRw0ACyAAIBQ2AgBB0gEhEAyVAgsgACAMIAIQrICAgAAiAQ2NASAMIQEMuAELAkAgBCACRw0AQdQBIRAMlAILIAIgBGsgACgCACIQaiEUIAQgEGtBAWohDANAIAQtAAAgEEGB0ICAAGotAABHDY8BIBBBAUYNjgEgEEEBaiEQIARBAWoiBCACRw0ACyAAIBQ2AgBB1AEhEAyTAgsCQCAEIAJHDQBB1gEhEAyTAgsgAiAEayAAKAIAIhBqIRQgBCAQa0ECaiELA0AgBC0AACAQQYPQgIAAai0AAEcNjgEgEEECRg2QASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHWASEQDJICCwJAIAQgAkcNAEHXASEQDJICCwJAAkAgBC0AAEG7f2oOEACPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BAY8BCyAEQQFqIQRBuwEhEAz5AQsgBEEBaiEEQbwBIRAM+AELAkAgBCACRw0AQdgBIRAMkQILIAQtAABByABHDYwBIARBAWohBAzEAQsCQCAEIAJGDQAgAEGQgICAADYCCCAAIAQ2AgRBvgEhEAz3AQtB2QEhEAyPAgsCQCAEIAJHDQBB2gEhEAyPAgsgBC0AAEHIAEYNwwEgAEEBOgAoDLkBCyAAQQI6AC8gACAEIAIQpoCAgAAiEA2NAUHCASEQDPQBCyAALQAoQX9qDgK3AbkBuAELA0ACQCAELQAAQXZqDgQAjgGOAQCOAQsgBEEBaiIEIAJHDQALQd0BIRAMiwILIABBADoALyAALQAtQQRxRQ2EAgsgAEEAOgAvIABBAToANCABIQEMjAELIBBBFUYN2gEgAEEANgIcIAAgATYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAMiAILAkAgACAQIAIQtICAgAAiBA0AIBAhAQyBAgsCQCAEQRVHDQAgAEEDNgIcIAAgEDYCFCAAQbCYgIAANgIQIABBFTYCDEEAIRAMiAILIABBADYCHCAAIBA2AhQgAEGnjoCAADYCECAAQRI2AgxBACEQDIcCCyAQQRVGDdYBIABBADYCHCAAIAE2AhQgAEHajYCAADYCECAAQRQ2AgxBACEQDIYCCyAAKAIEIRcgAEEANgIEIBAgEadqIhYhASAAIBcgECAWIBQbIhAQtYCAgAAiFEUNjQEgAEEHNgIcIAAgEDYCFCAAIBQ2AgxBACEQDIUCCyAAIAAvATBBgAFyOwEwIAEhAQtBKiEQDOoBCyAQQRVGDdEBIABBADYCHCAAIAE2AhQgAEGDjICAADYCECAAQRM2AgxBACEQDIICCyAQQRVGDc8BIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDIECCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyNAQsgAEEMNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDIACCyAQQRVGDcwBIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDP8BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyMAQsgAEENNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDP4BCyAQQRVGDckBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDP0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQuYCAgAAiEA0AIAFBAWohAQyLAQsgAEEONgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPwBCyAAQQA2AhwgACABNgIUIABBwJWAgAA2AhAgAEECNgIMQQAhEAz7AQsgEEEVRg3FASAAQQA2AhwgACABNgIUIABBxoyAgAA2AhAgAEEjNgIMQQAhEAz6AQsgAEEQNgIcIAAgATYCFCAAIBA2AgxBACEQDPkBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQzxAQsgAEERNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPgBCyAQQRVGDcEBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDPcBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQuYCAgAAiEA0AIAFBAWohAQyIAQsgAEETNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPYBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQztAQsgAEEUNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPUBCyAQQRVGDb0BIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDPQBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyGAQsgAEEWNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPMBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQt4CAgAAiBA0AIAFBAWohAQzpAQsgAEEXNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPIBCyAAQQA2AhwgACABNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhEAzxAQtCASERCyAQQQFqIQECQCAAKQMgIhJC//////////8PVg0AIAAgEkIEhiARhDcDICABIQEMhAELIABBADYCHCAAIAE2AhQgAEGtiYCAADYCECAAQQw2AgxBACEQDO8BCyAAQQA2AhwgACAQNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhEAzuAQsgACgCBCEXIABBADYCBCAQIBGnaiIWIQEgACAXIBAgFiAUGyIQELWAgIAAIhRFDXMgAEEFNgIcIAAgEDYCFCAAIBQ2AgxBACEQDO0BCyAAQQA2AhwgACAQNgIUIABBqpyAgAA2AhAgAEEPNgIMQQAhEAzsAQsgACAQIAIQtICAgAAiAQ0BIBAhAQtBDiEQDNEBCwJAIAFBFUcNACAAQQI2AhwgACAQNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAzqAQsgAEEANgIcIAAgEDYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAM6QELIAFBAWohEAJAIAAvATAiAUGAAXFFDQACQCAAIBAgAhC7gICAACIBDQAgECEBDHALIAFBFUcNugEgAEEFNgIcIAAgEDYCFCAAQfmXgIAANgIQIABBFTYCDEEAIRAM6QELAkAgAUGgBHFBoARHDQAgAC0ALUECcQ0AIABBADYCHCAAIBA2AhQgAEGWk4CAADYCECAAQQQ2AgxBACEQDOkBCyAAIBAgAhC9gICAABogECEBAkACQAJAAkACQCAAIBAgAhCzgICAAA4WAgEABAQEBAQEBAQEBAQEBAQEBAQEAwQLIABBAToALgsgACAALwEwQcAAcjsBMCAQIQELQSYhEAzRAQsgAEEjNgIcIAAgEDYCFCAAQaWWgIAANgIQIABBFTYCDEEAIRAM6QELIABBADYCHCAAIBA2AhQgAEHVi4CAADYCECAAQRE2AgxBACEQDOgBCyAALQAtQQFxRQ0BQcMBIRAMzgELAkAgDSACRg0AA0ACQCANLQAAQSBGDQAgDSEBDMQBCyANQQFqIg0gAkcNAAtBJSEQDOcBC0ElIRAM5gELIAAoAgQhBCAAQQA2AgQgACAEIA0Qr4CAgAAiBEUNrQEgAEEmNgIcIAAgBDYCDCAAIA1BAWo2AhRBACEQDOUBCyAQQRVGDasBIABBADYCHCAAIAE2AhQgAEH9jYCAADYCECAAQR02AgxBACEQDOQBCyAAQSc2AhwgACABNgIUIAAgEDYCDEEAIRAM4wELIBAhAUEBIRQCQAJAAkACQAJAAkACQCAALQAsQX5qDgcGBQUDAQIABQsgACAALwEwQQhyOwEwDAMLQQIhFAwBC0EEIRQLIABBAToALCAAIAAvATAgFHI7ATALIBAhAQtBKyEQDMoBCyAAQQA2AhwgACAQNgIUIABBq5KAgAA2AhAgAEELNgIMQQAhEAziAQsgAEEANgIcIAAgATYCFCAAQeGPgIAANgIQIABBCjYCDEEAIRAM4QELIABBADoALCAQIQEMvQELIBAhAUEBIRQCQAJAAkACQAJAIAAtACxBe2oOBAMBAgAFCyAAIAAvATBBCHI7ATAMAwtBAiEUDAELQQQhFAsgAEEBOgAsIAAgAC8BMCAUcjsBMAsgECEBC0EpIRAMxQELIABBADYCHCAAIAE2AhQgAEHwlICAADYCECAAQQM2AgxBACEQDN0BCwJAIA4tAABBDUcNACAAKAIEIQEgAEEANgIEAkAgACABIA4QsYCAgAAiAQ0AIA5BAWohAQx1CyAAQSw2AhwgACABNgIMIAAgDkEBajYCFEEAIRAM3QELIAAtAC1BAXFFDQFBxAEhEAzDAQsCQCAOIAJHDQBBLSEQDNwBCwJAAkADQAJAIA4tAABBdmoOBAIAAAMACyAOQQFqIg4gAkcNAAtBLSEQDN0BCyAAKAIEIQEgAEEANgIEAkAgACABIA4QsYCAgAAiAQ0AIA4hAQx0CyAAQSw2AhwgACAONgIUIAAgATYCDEEAIRAM3AELIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDkEBaiEBDHMLIABBLDYCHCAAIAE2AgwgACAOQQFqNgIUQQAhEAzbAQsgACgCBCEEIABBADYCBCAAIAQgDhCxgICAACIEDaABIA4hAQzOAQsgEEEsRw0BIAFBAWohEEEBIQECQAJAAkACQAJAIAAtACxBe2oOBAMBAgQACyAQIQEMBAtBAiEBDAELQQQhAQsgAEEBOgAsIAAgAC8BMCABcjsBMCAQIQEMAQsgACAALwEwQQhyOwEwIBAhAQtBOSEQDL8BCyAAQQA6ACwgASEBC0E0IRAMvQELIAAgAC8BMEEgcjsBMCABIQEMAgsgACgCBCEEIABBADYCBAJAIAAgBCABELGAgIAAIgQNACABIQEMxwELIABBNzYCHCAAIAE2AhQgACAENgIMQQAhEAzUAQsgAEEIOgAsIAEhAQtBMCEQDLkBCwJAIAAtAChBAUYNACABIQEMBAsgAC0ALUEIcUUNkwEgASEBDAMLIAAtADBBIHENlAFBxQEhEAy3AQsCQCAPIAJGDQACQANAAkAgDy0AAEFQaiIBQf8BcUEKSQ0AIA8hAUE1IRAMugELIAApAyAiEUKZs+bMmbPmzBlWDQEgACARQgp+IhE3AyAgESABrUL/AYMiEkJ/hVYNASAAIBEgEnw3AyAgD0EBaiIPIAJHDQALQTkhEAzRAQsgACgCBCECIABBADYCBCAAIAIgD0EBaiIEELGAgIAAIgINlQEgBCEBDMMBC0E5IRAMzwELAkAgAC8BMCIBQQhxRQ0AIAAtAChBAUcNACAALQAtQQhxRQ2QAQsgACABQff7A3FBgARyOwEwIA8hAQtBNyEQDLQBCyAAIAAvATBBEHI7ATAMqwELIBBBFUYNiwEgAEEANgIcIAAgATYCFCAAQfCOgIAANgIQIABBHDYCDEEAIRAMywELIABBwwA2AhwgACABNgIMIAAgDUEBajYCFEEAIRAMygELAkAgAS0AAEE6Rw0AIAAoAgQhECAAQQA2AgQCQCAAIBAgARCvgICAACIQDQAgAUEBaiEBDGMLIABBwwA2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAMygELIABBADYCHCAAIAE2AhQgAEGxkYCAADYCECAAQQo2AgxBACEQDMkBCyAAQQA2AhwgACABNgIUIABBoJmAgAA2AhAgAEEeNgIMQQAhEAzIAQsgAEEANgIACyAAQYASOwEqIAAgF0EBaiIBIAIQqICAgAAiEA0BIAEhAQtBxwAhEAysAQsgEEEVRw2DASAAQdEANgIcIAAgATYCFCAAQeOXgIAANgIQIABBFTYCDEEAIRAMxAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDF4LIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMwwELIABBADYCHCAAIBQ2AhQgAEHBqICAADYCECAAQQc2AgwgAEEANgIAQQAhEAzCAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMXQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAzBAQtBACEQIABBADYCHCAAIAE2AhQgAEGAkYCAADYCECAAQQk2AgwMwAELIBBBFUYNfSAAQQA2AhwgACABNgIUIABBlI2AgAA2AhAgAEEhNgIMQQAhEAy/AQtBASEWQQAhF0EAIRRBASEQCyAAIBA6ACsgAUEBaiEBAkACQCAALQAtQRBxDQACQAJAAkAgAC0AKg4DAQACBAsgFkUNAwwCCyAUDQEMAgsgF0UNAQsgACgCBCEQIABBADYCBAJAIAAgECABEK2AgIAAIhANACABIQEMXAsgAEHYADYCHCAAIAE2AhQgACAQNgIMQQAhEAy+AQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMrQELIABB2QA2AhwgACABNgIUIAAgBDYCDEEAIRAMvQELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKsBCyAAQdoANgIcIAAgATYCFCAAIAQ2AgxBACEQDLwBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQypAQsgAEHcADYCHCAAIAE2AhQgACAENgIMQQAhEAy7AQsCQCABLQAAQVBqIhBB/wFxQQpPDQAgACAQOgAqIAFBAWohAUHPACEQDKIBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQynAQsgAEHeADYCHCAAIAE2AhQgACAENgIMQQAhEAy6AQsgAEEANgIAIBdBAWohAQJAIAAtAClBI08NACABIQEMWQsgAEEANgIcIAAgATYCFCAAQdOJgIAANgIQIABBCDYCDEEAIRAMuQELIABBADYCAAtBACEQIABBADYCHCAAIAE2AhQgAEGQs4CAADYCECAAQQg2AgwMtwELIABBADYCACAXQQFqIQECQCAALQApQSFHDQAgASEBDFYLIABBADYCHCAAIAE2AhQgAEGbioCAADYCECAAQQg2AgxBACEQDLYBCyAAQQA2AgAgF0EBaiEBAkAgAC0AKSIQQV1qQQtPDQAgASEBDFULAkAgEEEGSw0AQQEgEHRBygBxRQ0AIAEhAQxVC0EAIRAgAEEANgIcIAAgATYCFCAAQfeJgIAANgIQIABBCDYCDAy1AQsgEEEVRg1xIABBADYCHCAAIAE2AhQgAEG5jYCAADYCECAAQRo2AgxBACEQDLQBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxUCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLMBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdIANgIcIAAgATYCFCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAUNgIUIAAgATYCDEEAIRAMogELIABBADYCHCAAIBQ2AhQgAEHDj4CAADYCECAAQQc2AgxBACEQDKEBCyAAQQA2AhwgACABNgIUIABBw4+AgAA2AhAgAEEHNgIMQQAhEAygAQtBACEQIABBADYCHCAAIBQ2AhQgAEGMnICAADYCECAAQQc2AgwMnwELIABBADYCHCAAIBQ2AhQgAEGMnICAADYCECAAQQc2AgxBACEQDJ4BCyAAQQA2AhwgACAUNgIUIABB/pGAgAA2AhAgAEEHNgIMQQAhEAydAQsgAEEANgIcIAAgATYCFCAAQY6bgIAANgIQIABBBjYCDEEAIRAMnAELIBBBFUYNVyAAQQA2AhwgACABNgIUIABBzI6AgAA2AhAgAEEgNgIMQQAhEAybAQsgAEEANgIAIBBBAWohAUEkIRALIAAgEDoAKSAAKAIEIRAgAEEANgIEIAAgECABEKuAgIAAIhANVCABIQEMPgsgAEEANgIAC0EAIRAgAEEANgIcIAAgBDYCFCAAQfGbgIAANgIQIABBBjYCDAyXAQsgAUEVRg1QIABBADYCHCAAIAU2AhQgAEHwjICAADYCECAAQRs2AgxBACEQDJYBCyAAKAIEIQUgAEEANgIEIAAgBSAQEKmAgIAAIgUNASAQQQFqIQULQa0BIRAMewsgAEHBATYCHCAAIAU2AgwgACAQQQFqNgIUQQAhEAyTAQsgACgCBCEGIABBADYCBCAAIAYgEBCpgICAACIGDQEgEEEBaiEGC0GuASEQDHgLIABBwgE2AhwgACAGNgIMIAAgEEEBajYCFEEAIRAMkAELIABBADYCHCAAIAc2AhQgAEGXi4CAADYCECAAQQ02AgxBACEQDI8BCyAAQQA2AhwgACAINgIUIABB45CAgAA2AhAgAEEJNgIMQQAhEAyOAQsgAEEANgIcIAAgCDYCFCAAQZSNgIAANgIQIABBITYCDEEAIRAMjQELQQEhFkEAIRdBACEUQQEhEAsgACAQOgArIAlBAWohCAJAAkAgAC0ALUEQcQ0AAkACQAJAIAAtACoOAwEAAgQLIBZFDQMMAgsgFA0BDAILIBdFDQELIAAoAgQhECAAQQA2AgQgACAQIAgQrYCAgAAiEEUNPSAAQckBNgIcIAAgCDYCFCAAIBA2AgxBACEQDIwBCyAAKAIEIQQgAEEANgIEIAAgBCAIEK2AgIAAIgRFDXYgAEHKATYCHCAAIAg2AhQgACAENgIMQQAhEAyLAQsgACgCBCEEIABBADYCBCAAIAQgCRCtgICAACIERQ10IABBywE2AhwgACAJNgIUIAAgBDYCDEEAIRAMigELIAAoAgQhBCAAQQA2AgQgACAEIAoQrYCAgAAiBEUNciAAQc0BNgIcIAAgCjYCFCAAIAQ2AgxBACEQDIkBCwJAIAstAABBUGoiEEH/AXFBCk8NACAAIBA6ACogC0EBaiEKQbYBIRAMcAsgACgCBCEEIABBADYCBCAAIAQgCxCtgICAACIERQ1wIABBzwE2AhwgACALNgIUIAAgBDYCDEEAIRAMiAELIABBADYCHCAAIAQ2AhQgAEGQs4CAADYCECAAQQg2AgwgAEEANgIAQQAhEAyHAQsgAUEVRg0/IABBADYCHCAAIAw2AhQgAEHMjoCAADYCECAAQSA2AgxBACEQDIYBCyAAQYEEOwEoIAAoAgQhECAAQgA3AwAgACAQIAxBAWoiDBCrgICAACIQRQ04IABB0wE2AhwgACAMNgIUIAAgEDYCDEEAIRAMhQELIABBADYCAAtBACEQIABBADYCHCAAIAQ2AhQgAEHYm4CAADYCECAAQQg2AgwMgwELIAAoAgQhECAAQgA3AwAgACAQIAtBAWoiCxCrgICAACIQDQFBxgEhEAxpCyAAQQI6ACgMVQsgAEHVATYCHCAAIAs2AhQgACAQNgIMQQAhEAyAAQsgEEEVRg03IABBADYCHCAAIAQ2AhQgAEGkjICAADYCECAAQRA2AgxBACEQDH8LIAAtADRBAUcNNCAAIAQgAhC8gICAACIQRQ00IBBBFUcNNSAAQdwBNgIcIAAgBDYCFCAAQdWWgIAANgIQIABBFTYCDEEAIRAMfgtBACEQIABBADYCHCAAQa+LgIAANgIQIABBAjYCDCAAIBRBAWo2AhQMfQtBACEQDGMLQQIhEAxiC0ENIRAMYQtBDyEQDGALQSUhEAxfC0ETIRAMXgtBFSEQDF0LQRYhEAxcC0EXIRAMWwtBGCEQDFoLQRkhEAxZC0EaIRAMWAtBGyEQDFcLQRwhEAxWC0EdIRAMVQtBHyEQDFQLQSEhEAxTC0EjIRAMUgtBxgAhEAxRC0EuIRAMUAtBLyEQDE8LQTshEAxOC0E9IRAMTQtByAAhEAxMC0HJACEQDEsLQcsAIRAMSgtBzAAhEAxJC0HOACEQDEgLQdEAIRAMRwtB1QAhEAxGC0HYACEQDEULQdkAIRAMRAtB2wAhEAxDC0HkACEQDEILQeUAIRAMQQtB8QAhEAxAC0H0ACEQDD8LQY0BIRAMPgtBlwEhEAw9C0GpASEQDDwLQawBIRAMOwtBwAEhEAw6C0G5ASEQDDkLQa8BIRAMOAtBsQEhEAw3C0GyASEQDDYLQbQBIRAMNQtBtQEhEAw0C0G6ASEQDDMLQb0BIRAMMgtBvwEhEAwxC0HBASEQDDALIABBADYCHCAAIAQ2AhQgAEHpi4CAADYCECAAQR82AgxBACEQDEgLIABB2wE2AhwgACAENgIUIABB+paAgAA2AhAgAEEVNgIMQQAhEAxHCyAAQfgANgIcIAAgDDYCFCAAQcqYgIAANgIQIABBFTYCDEEAIRAMRgsgAEHRADYCHCAAIAU2AhQgAEGwl4CAADYCECAAQRU2AgxBACEQDEULIABB+QA2AhwgACABNgIUIAAgEDYCDEEAIRAMRAsgAEH4ADYCHCAAIAE2AhQgAEHKmICAADYCECAAQRU2AgxBACEQDEMLIABB5AA2AhwgACABNgIUIABB45eAgAA2AhAgAEEVNgIMQQAhEAxCCyAAQdcANgIcIAAgATYCFCAAQcmXgIAANgIQIABBFTYCDEEAIRAMQQsgAEEANgIcIAAgATYCFCAAQbmNgIAANgIQIABBGjYCDEEAIRAMQAsgAEHCADYCHCAAIAE2AhQgAEHjmICAADYCECAAQRU2AgxBACEQDD8LIABBADYCBCAAIA8gDxCxgICAACIERQ0BIABBOjYCHCAAIAQ2AgwgACAPQQFqNgIUQQAhEAw+CyAAKAIEIQQgAEEANgIEAkAgACAEIAEQsYCAgAAiBEUNACAAQTs2AhwgACAENgIMIAAgAUEBajYCFEEAIRAMPgsgAUEBaiEBDC0LIA9BAWohAQwtCyAAQQA2AhwgACAPNgIUIABB5JKAgAA2AhAgAEEENgIMQQAhEAw7CyAAQTY2AhwgACAENgIUIAAgAjYCDEEAIRAMOgsgAEEuNgIcIAAgDjYCFCAAIAQ2AgxBACEQDDkLIABB0AA2AhwgACABNgIUIABBkZiAgAA2AhAgAEEVNgIMQQAhEAw4CyANQQFqIQEMLAsgAEEVNgIcIAAgATYCFCAAQYKZgIAANgIQIABBFTYCDEEAIRAMNgsgAEEbNgIcIAAgATYCFCAAQZGXgIAANgIQIABBFTYCDEEAIRAMNQsgAEEPNgIcIAAgATYCFCAAQZGXgIAANgIQIABBFTYCDEEAIRAMNAsgAEELNgIcIAAgATYCFCAAQZGXgIAANgIQIABBFTYCDEEAIRAMMwsgAEEaNgIcIAAgATYCFCAAQYKZgIAANgIQIABBFTYCDEEAIRAMMgsgAEELNgIcIAAgATYCFCAAQYKZgIAANgIQIABBFTYCDEEAIRAMMQsgAEEKNgIcIAAgATYCFCAAQeSWgIAANgIQIABBFTYCDEEAIRAMMAsgAEEeNgIcIAAgATYCFCAAQfmXgIAANgIQIABBFTYCDEEAIRAMLwsgAEEANgIcIAAgEDYCFCAAQdqNgIAANgIQIABBFDYCDEEAIRAMLgsgAEEENgIcIAAgATYCFCAAQbCYgIAANgIQIABBFTYCDEEAIRAMLQsgAEEANgIAIAtBAWohCwtBuAEhEAwSCyAAQQA2AgAgEEEBaiEBQfUAIRAMEQsgASEBAkAgAC0AKUEFRw0AQeMAIRAMEQtB4gAhEAwQC0EAIRAgAEEANgIcIABB5JGAgAA2AhAgAEEHNgIMIAAgFEEBajYCFAwoCyAAQQA2AgAgF0EBaiEBQcAAIRAMDgtBASEBCyAAIAE6ACwgAEEANgIAIBdBAWohAQtBKCEQDAsLIAEhAQtBOCEQDAkLAkAgASIPIAJGDQADQAJAIA8tAABBgL6AgABqLQAAIgFBAUYNACABQQJHDQMgD0EBaiEBDAQLIA9BAWoiDyACRw0AC0E+IRAMIgtBPiEQDCELIABBADoALCAPIQEMAQtBCyEQDAYLQTohEAwFCyABQQFqIQFBLSEQDAQLIAAgAToALCAAQQA2AgAgFkEBaiEBQQwhEAwDCyAAQQA2AgAgF0EBaiEBQQohEAwCCyAAQQA2AgALIABBADoALCANIQFBCSEQDAALC0EAIRAgAEEANgIcIAAgCzYCFCAAQc2QgIAANgIQIABBCTYCDAwXC0EAIRAgAEEANgIcIAAgCjYCFCAAQemKgIAANgIQIABBCTYCDAwWC0EAIRAgAEEANgIcIAAgCTYCFCAAQbeQgIAANgIQIABBCTYCDAwVC0EAIRAgAEEANgIcIAAgCDYCFCAAQZyRgIAANgIQIABBCTYCDAwUC0EAIRAgAEEANgIcIAAgATYCFCAAQc2QgIAANgIQIABBCTYCDAwTC0EAIRAgAEEANgIcIAAgATYCFCAAQemKgIAANgIQIABBCTYCDAwSC0EAIRAgAEEANgIcIAAgATYCFCAAQbeQgIAANgIQIABBCTYCDAwRC0EAIRAgAEEANgIcIAAgATYCFCAAQZyRgIAANgIQIABBCTYCDAwQC0EAIRAgAEEANgIcIAAgATYCFCAAQZeVgIAANgIQIABBDzYCDAwPC0EAIRAgAEEANgIcIAAgATYCFCAAQZeVgIAANgIQIABBDzYCDAwOC0EAIRAgAEEANgIcIAAgATYCFCAAQcCSgIAANgIQIABBCzYCDAwNC0EAIRAgAEEANgIcIAAgATYCFCAAQZWJgIAANgIQIABBCzYCDAwMC0EAIRAgAEEANgIcIAAgATYCFCAAQeGPgIAANgIQIABBCjYCDAwLC0EAIRAgAEEANgIcIAAgATYCFCAAQfuPgIAANgIQIABBCjYCDAwKC0EAIRAgAEEANgIcIAAgATYCFCAAQfGZgIAANgIQIABBAjYCDAwJC0EAIRAgAEEANgIcIAAgATYCFCAAQcSUgIAANgIQIABBAjYCDAwIC0EAIRAgAEEANgIcIAAgATYCFCAAQfKVgIAANgIQIABBAjYCDAwHCyAAQQI2AhwgACABNgIUIABBnJqAgAA2AhAgAEEWNgIMQQAhEAwGC0EBIRAMBQtB1AAhECABIgQgAkYNBCADQQhqIAAgBCACQdjCgIAAQQoQxYCAgAAgAygCDCEEIAMoAggOAwEEAgALEMqAgIAAAAsgAEEANgIcIABBtZqAgAA2AhAgAEEXNgIMIAAgBEEBajYCFEEAIRAMAgsgAEEANgIcIAAgBDYCFCAAQcqagIAANgIQIABBCTYCDEEAIRAMAQsCQCABIgQgAkcNAEEiIRAMAQsgAEGJgICAADYCCCAAIAQ2AgRBISEQCyADQRBqJICAgIAAIBALrwEBAn8gASgCACEGAkACQCACIANGDQAgBCAGaiEEIAYgA2ogAmshByACIAZBf3MgBWoiBmohBQNAAkAgAi0AACAELQAARg0AQQIhBAwDCwJAIAYNAEEAIQQgBSECDAMLIAZBf2ohBiAEQQFqIQQgAkEBaiICIANHDQALIAchBiADIQILIABBATYCACABIAY2AgAgACACNgIEDwsgAUEANgIAIAAgBDYCACAAIAI2AgQLCgAgABDHgICAAAvyNgELfyOAgICAAEEQayIBJICAgIAAAkBBACgCoNCAgAANAEEAEMuAgIAAQYDUhIAAayICQdkASQ0AQQAhAwJAQQAoAuDTgIAAIgQNAEEAQn83AuzTgIAAQQBCgICEgICAwAA3AuTTgIAAQQAgAUEIakFwcUHYqtWqBXMiBDYC4NOAgABBAEEANgL004CAAEEAQQA2AsTTgIAAC0EAIAI2AszTgIAAQQBBgNSEgAA2AsjTgIAAQQBBgNSEgAA2ApjQgIAAQQAgBDYCrNCAgABBAEF/NgKo0ICAAANAIANBxNCAgABqIANBuNCAgABqIgQ2AgAgBCADQbDQgIAAaiIFNgIAIANBvNCAgABqIAU2AgAgA0HM0ICAAGogA0HA0ICAAGoiBTYCACAFIAQ2AgAgA0HU0ICAAGogA0HI0ICAAGoiBDYCACAEIAU2AgAgA0HQ0ICAAGogBDYCACADQSBqIgNBgAJHDQALQYDUhIAAQXhBgNSEgABrQQ9xQQBBgNSEgABBCGpBD3EbIgNqIgRBBGogAkFIaiIFIANrIgNBAXI2AgBBAEEAKALw04CAADYCpNCAgABBACADNgKU0ICAAEEAIAQ2AqDQgIAAQYDUhIAAIAVqQTg2AgQLAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB7AFLDQACQEEAKAKI0ICAACIGQRAgAEETakFwcSAAQQtJGyICQQN2IgR2IgNBA3FFDQACQAJAIANBAXEgBHJBAXMiBUEDdCIEQbDQgIAAaiIDIARBuNCAgABqKAIAIgQoAggiAkcNAEEAIAZBfiAFd3E2AojQgIAADAELIAMgAjYCCCACIAM2AgwLIARBCGohAyAEIAVBA3QiBUEDcjYCBCAEIAVqIgQgBCgCBEEBcjYCBAwMCyACQQAoApDQgIAAIgdNDQECQCADRQ0AAkACQCADIAR0QQIgBHQiA0EAIANrcnEiA0EAIANrcUF/aiIDIANBDHZBEHEiA3YiBEEFdkEIcSIFIANyIAQgBXYiA0ECdkEEcSIEciADIAR2IgNBAXZBAnEiBHIgAyAEdiIDQQF2QQFxIgRyIAMgBHZqIgRBA3QiA0Gw0ICAAGoiBSADQbjQgIAAaigCACIDKAIIIgBHDQBBACAGQX4gBHdxIgY2AojQgIAADAELIAUgADYCCCAAIAU2AgwLIAMgAkEDcjYCBCADIARBA3QiBGogBCACayIFNgIAIAMgAmoiACAFQQFyNgIEAkAgB0UNACAHQXhxQbDQgIAAaiECQQAoApzQgIAAIQQCQAJAIAZBASAHQQN2dCIIcQ0AQQAgBiAIcjYCiNCAgAAgAiEIDAELIAIoAgghCAsgCCAENgIMIAIgBDYCCCAEIAI2AgwgBCAINgIICyADQQhqIQNBACAANgKc0ICAAEEAIAU2ApDQgIAADAwLQQAoAozQgIAAIglFDQEgCUEAIAlrcUF/aiIDIANBDHZBEHEiA3YiBEEFdkEIcSIFIANyIAQgBXYiA0ECdkEEcSIEciADIAR2IgNBAXZBAnEiBHIgAyAEdiIDQQF2QQFxIgRyIAMgBHZqQQJ0QbjSgIAAaigCACIAKAIEQXhxIAJrIQQgACEFAkADQAJAIAUoAhAiAw0AIAVBFGooAgAiA0UNAgsgAygCBEF4cSACayIFIAQgBSAESSIFGyEEIAMgACAFGyEAIAMhBQwACwsgACgCGCEKAkAgACgCDCIIIABGDQAgACgCCCIDQQAoApjQgIAASRogCCADNgIIIAMgCDYCDAwLCwJAIABBFGoiBSgCACIDDQAgACgCECIDRQ0DIABBEGohBQsDQCAFIQsgAyIIQRRqIgUoAgAiAw0AIAhBEGohBSAIKAIQIgMNAAsgC0EANgIADAoLQX8hAiAAQb9/Sw0AIABBE2oiA0FwcSECQQAoAozQgIAAIgdFDQBBACELAkAgAkGAAkkNAEEfIQsgAkH///8HSw0AIANBCHYiAyADQYD+P2pBEHZBCHEiA3QiBCAEQYDgH2pBEHZBBHEiBHQiBSAFQYCAD2pBEHZBAnEiBXRBD3YgAyAEciAFcmsiA0EBdCACIANBFWp2QQFxckEcaiELC0EAIAJrIQQCQAJAAkACQCALQQJ0QbjSgIAAaigCACIFDQBBACEDQQAhCAwBC0EAIQMgAkEAQRkgC0EBdmsgC0EfRht0IQBBACEIA0ACQCAFKAIEQXhxIAJrIgYgBE8NACAGIQQgBSEIIAYNAEEAIQQgBSEIIAUhAwwDCyADIAVBFGooAgAiBiAGIAUgAEEddkEEcWpBEGooAgAiBUYbIAMgBhshAyAAQQF0IQAgBQ0ACwsCQCADIAhyDQBBACEIQQIgC3QiA0EAIANrciAHcSIDRQ0DIANBACADa3FBf2oiAyADQQx2QRBxIgN2IgVBBXZBCHEiACADciAFIAB2IgNBAnZBBHEiBXIgAyAFdiIDQQF2QQJxIgVyIAMgBXYiA0EBdkEBcSIFciADIAV2akECdEG40oCAAGooAgAhAwsgA0UNAQsDQCADKAIEQXhxIAJrIgYgBEkhAAJAIAMoAhAiBQ0AIANBFGooAgAhBQsgBiAEIAAbIQQgAyAIIAAbIQggBSEDIAUNAAsLIAhFDQAgBEEAKAKQ0ICAACACa08NACAIKAIYIQsCQCAIKAIMIgAgCEYNACAIKAIIIgNBACgCmNCAgABJGiAAIAM2AgggAyAANgIMDAkLAkAgCEEUaiIFKAIAIgMNACAIKAIQIgNFDQMgCEEQaiEFCwNAIAUhBiADIgBBFGoiBSgCACIDDQAgAEEQaiEFIAAoAhAiAw0ACyAGQQA2AgAMCAsCQEEAKAKQ0ICAACIDIAJJDQBBACgCnNCAgAAhBAJAAkAgAyACayIFQRBJDQAgBCACaiIAIAVBAXI2AgRBACAFNgKQ0ICAAEEAIAA2ApzQgIAAIAQgA2ogBTYCACAEIAJBA3I2AgQMAQsgBCADQQNyNgIEIAQgA2oiAyADKAIEQQFyNgIEQQBBADYCnNCAgABBAEEANgKQ0ICAAAsgBEEIaiEDDAoLAkBBACgClNCAgAAiACACTQ0AQQAoAqDQgIAAIgMgAmoiBCAAIAJrIgVBAXI2AgRBACAFNgKU0ICAAEEAIAQ2AqDQgIAAIAMgAkEDcjYCBCADQQhqIQMMCgsCQAJAQQAoAuDTgIAARQ0AQQAoAujTgIAAIQQMAQtBAEJ/NwLs04CAAEEAQoCAhICAgMAANwLk04CAAEEAIAFBDGpBcHFB2KrVqgVzNgLg04CAAEEAQQA2AvTTgIAAQQBBADYCxNOAgABBgIAEIQQLQQAhAwJAIAQgAkHHAGoiB2oiBkEAIARrIgtxIgggAksNAEEAQTA2AvjTgIAADAoLAkBBACgCwNOAgAAiA0UNAAJAQQAoArjTgIAAIgQgCGoiBSAETQ0AIAUgA00NAQtBACEDQQBBMDYC+NOAgAAMCgtBAC0AxNOAgABBBHENBAJAAkACQEEAKAKg0ICAACIERQ0AQcjTgIAAIQMDQAJAIAMoAgAiBSAESw0AIAUgAygCBGogBEsNAwsgAygCCCIDDQALC0EAEMuAgIAAIgBBf0YNBSAIIQYCQEEAKALk04CAACIDQX9qIgQgAHFFDQAgCCAAayAEIABqQQAgA2txaiEGCyAGIAJNDQUgBkH+////B0sNBQJAQQAoAsDTgIAAIgNFDQBBACgCuNOAgAAiBCAGaiIFIARNDQYgBSADSw0GCyAGEMuAgIAAIgMgAEcNAQwHCyAGIABrIAtxIgZB/v///wdLDQQgBhDLgICAACIAIAMoAgAgAygCBGpGDQMgACEDCwJAIANBf0YNACACQcgAaiAGTQ0AAkAgByAGa0EAKALo04CAACIEakEAIARrcSIEQf7///8HTQ0AIAMhAAwHCwJAIAQQy4CAgABBf0YNACAEIAZqIQYgAyEADAcLQQAgBmsQy4CAgAAaDAQLIAMhACADQX9HDQUMAwtBACEIDAcLQQAhAAwFCyAAQX9HDQILQQBBACgCxNOAgABBBHI2AsTTgIAACyAIQf7///8HSw0BIAgQy4CAgAAhAEEAEMuAgIAAIQMgAEF/Rg0BIANBf0YNASAAIANPDQEgAyAAayIGIAJBOGpNDQELQQBBACgCuNOAgAAgBmoiAzYCuNOAgAACQCADQQAoArzTgIAATQ0AQQAgAzYCvNOAgAALAkACQAJAAkBBACgCoNCAgAAiBEUNAEHI04CAACEDA0AgACADKAIAIgUgAygCBCIIakYNAiADKAIIIgMNAAwDCwsCQAJAQQAoApjQgIAAIgNFDQAgACADTw0BC0EAIAA2ApjQgIAAC0EAIQNBACAGNgLM04CAAEEAIAA2AsjTgIAAQQBBfzYCqNCAgABBAEEAKALg04CAADYCrNCAgABBAEEANgLU04CAAANAIANBxNCAgABqIANBuNCAgABqIgQ2AgAgBCADQbDQgIAAaiIFNgIAIANBvNCAgABqIAU2AgAgA0HM0ICAAGogA0HA0ICAAGoiBTYCACAFIAQ2AgAgA0HU0ICAAGogA0HI0ICAAGoiBDYCACAEIAU2AgAgA0HQ0ICAAGogBDYCACADQSBqIgNBgAJHDQALIABBeCAAa0EPcUEAIABBCGpBD3EbIgNqIgQgBkFIaiIFIANrIgNBAXI2AgRBAEEAKALw04CAADYCpNCAgABBACADNgKU0ICAAEEAIAQ2AqDQgIAAIAAgBWpBODYCBAwCCyADLQAMQQhxDQAgBCAFSQ0AIAQgAE8NACAEQXggBGtBD3FBACAEQQhqQQ9xGyIFaiIAQQAoApTQgIAAIAZqIgsgBWsiBUEBcjYCBCADIAggBmo2AgRBAEEAKALw04CAADYCpNCAgABBACAFNgKU0ICAAEEAIAA2AqDQgIAAIAQgC2pBODYCBAwBCwJAIABBACgCmNCAgAAiCE8NAEEAIAA2ApjQgIAAIAAhCAsgACAGaiEFQcjTgIAAIQMCQAJAAkACQAJAAkACQANAIAMoAgAgBUYNASADKAIIIgMNAAwCCwsgAy0ADEEIcUUNAQtByNOAgAAhAwNAAkAgAygCACIFIARLDQAgBSADKAIEaiIFIARLDQMLIAMoAgghAwwACwsgAyAANgIAIAMgAygCBCAGajYCBCAAQXggAGtBD3FBACAAQQhqQQ9xG2oiCyACQQNyNgIEIAVBeCAFa0EPcUEAIAVBCGpBD3EbaiIGIAsgAmoiAmshAwJAIAYgBEcNAEEAIAI2AqDQgIAAQQBBACgClNCAgAAgA2oiAzYClNCAgAAgAiADQQFyNgIEDAMLAkAgBkEAKAKc0ICAAEcNAEEAIAI2ApzQgIAAQQBBACgCkNCAgAAgA2oiAzYCkNCAgAAgAiADQQFyNgIEIAIgA2ogAzYCAAwDCwJAIAYoAgQiBEEDcUEBRw0AIARBeHEhBwJAAkAgBEH/AUsNACAGKAIIIgUgBEEDdiIIQQN0QbDQgIAAaiIARhoCQCAGKAIMIgQgBUcNAEEAQQAoAojQgIAAQX4gCHdxNgKI0ICAAAwCCyAEIABGGiAEIAU2AgggBSAENgIMDAELIAYoAhghCQJAAkAgBigCDCIAIAZGDQAgBigCCCIEIAhJGiAAIAQ2AgggBCAANgIMDAELAkAgBkEUaiIEKAIAIgUNACAGQRBqIgQoAgAiBQ0AQQAhAAwBCwNAIAQhCCAFIgBBFGoiBCgCACIFDQAgAEEQaiEEIAAoAhAiBQ0ACyAIQQA2AgALIAlFDQACQAJAIAYgBigCHCIFQQJ0QbjSgIAAaiIEKAIARw0AIAQgADYCACAADQFBAEEAKAKM0ICAAEF+IAV3cTYCjNCAgAAMAgsgCUEQQRQgCSgCECAGRhtqIAA2AgAgAEUNAQsgACAJNgIYAkAgBigCECIERQ0AIAAgBDYCECAEIAA2AhgLIAYoAhQiBEUNACAAQRRqIAQ2AgAgBCAANgIYCyAHIANqIQMgBiAHaiIGKAIEIQQLIAYgBEF+cTYCBCACIANqIAM2AgAgAiADQQFyNgIEAkAgA0H/AUsNACADQXhxQbDQgIAAaiEEAkACQEEAKAKI0ICAACIFQQEgA0EDdnQiA3ENAEEAIAUgA3I2AojQgIAAIAQhAwwBCyAEKAIIIQMLIAMgAjYCDCAEIAI2AgggAiAENgIMIAIgAzYCCAwDC0EfIQQCQCADQf///wdLDQAgA0EIdiIEIARBgP4/akEQdkEIcSIEdCIFIAVBgOAfakEQdkEEcSIFdCIAIABBgIAPakEQdkECcSIAdEEPdiAEIAVyIAByayIEQQF0IAMgBEEVanZBAXFyQRxqIQQLIAIgBDYCHCACQgA3AhAgBEECdEG40oCAAGohBQJAQQAoAozQgIAAIgBBASAEdCIIcQ0AIAUgAjYCAEEAIAAgCHI2AozQgIAAIAIgBTYCGCACIAI2AgggAiACNgIMDAMLIANBAEEZIARBAXZrIARBH0YbdCEEIAUoAgAhAANAIAAiBSgCBEF4cSADRg0CIARBHXYhACAEQQF0IQQgBSAAQQRxakEQaiIIKAIAIgANAAsgCCACNgIAIAIgBTYCGCACIAI2AgwgAiACNgIIDAILIABBeCAAa0EPcUEAIABBCGpBD3EbIgNqIgsgBkFIaiIIIANrIgNBAXI2AgQgACAIakE4NgIEIAQgBUE3IAVrQQ9xQQAgBUFJakEPcRtqQUFqIgggCCAEQRBqSRsiCEEjNgIEQQBBACgC8NOAgAA2AqTQgIAAQQAgAzYClNCAgABBACALNgKg0ICAACAIQRBqQQApAtDTgIAANwIAIAhBACkCyNOAgAA3AghBACAIQQhqNgLQ04CAAEEAIAY2AszTgIAAQQAgADYCyNOAgABBAEEANgLU04CAACAIQSRqIQMDQCADQQc2AgAgA0EEaiIDIAVJDQALIAggBEYNAyAIIAgoAgRBfnE2AgQgCCAIIARrIgA2AgAgBCAAQQFyNgIEAkAgAEH/AUsNACAAQXhxQbDQgIAAaiEDAkACQEEAKAKI0ICAACIFQQEgAEEDdnQiAHENAEEAIAUgAHI2AojQgIAAIAMhBQwBCyADKAIIIQULIAUgBDYCDCADIAQ2AgggBCADNgIMIAQgBTYCCAwEC0EfIQMCQCAAQf///wdLDQAgAEEIdiIDIANBgP4/akEQdkEIcSIDdCIFIAVBgOAfakEQdkEEcSIFdCIIIAhBgIAPakEQdkECcSIIdEEPdiADIAVyIAhyayIDQQF0IAAgA0EVanZBAXFyQRxqIQMLIAQgAzYCHCAEQgA3AhAgA0ECdEG40oCAAGohBQJAQQAoAozQgIAAIghBASADdCIGcQ0AIAUgBDYCAEEAIAggBnI2AozQgIAAIAQgBTYCGCAEIAQ2AgggBCAENgIMDAQLIABBAEEZIANBAXZrIANBH0YbdCEDIAUoAgAhCANAIAgiBSgCBEF4cSAARg0DIANBHXYhCCADQQF0IQMgBSAIQQRxakEQaiIGKAIAIggNAAsgBiAENgIAIAQgBTYCGCAEIAQ2AgwgBCAENgIIDAMLIAUoAggiAyACNgIMIAUgAjYCCCACQQA2AhggAiAFNgIMIAIgAzYCCAsgC0EIaiEDDAULIAUoAggiAyAENgIMIAUgBDYCCCAEQQA2AhggBCAFNgIMIAQgAzYCCAtBACgClNCAgAAiAyACTQ0AQQAoAqDQgIAAIgQgAmoiBSADIAJrIgNBAXI2AgRBACADNgKU0ICAAEEAIAU2AqDQgIAAIAQgAkEDcjYCBCAEQQhqIQMMAwtBACEDQQBBMDYC+NOAgAAMAgsCQCALRQ0AAkACQCAIIAgoAhwiBUECdEG40oCAAGoiAygCAEcNACADIAA2AgAgAA0BQQAgB0F+IAV3cSIHNgKM0ICAAAwCCyALQRBBFCALKAIQIAhGG2ogADYCACAARQ0BCyAAIAs2AhgCQCAIKAIQIgNFDQAgACADNgIQIAMgADYCGAsgCEEUaigCACIDRQ0AIABBFGogAzYCACADIAA2AhgLAkACQCAEQQ9LDQAgCCAEIAJqIgNBA3I2AgQgCCADaiIDIAMoAgRBAXI2AgQMAQsgCCACaiIAIARBAXI2AgQgCCACQQNyNgIEIAAgBGogBDYCAAJAIARB/wFLDQAgBEF4cUGw0ICAAGohAwJAAkBBACgCiNCAgAAiBUEBIARBA3Z0IgRxDQBBACAFIARyNgKI0ICAACADIQQMAQsgAygCCCEECyAEIAA2AgwgAyAANgIIIAAgAzYCDCAAIAQ2AggMAQtBHyEDAkAgBEH///8HSw0AIARBCHYiAyADQYD+P2pBEHZBCHEiA3QiBSAFQYDgH2pBEHZBBHEiBXQiAiACQYCAD2pBEHZBAnEiAnRBD3YgAyAFciACcmsiA0EBdCAEIANBFWp2QQFxckEcaiEDCyAAIAM2AhwgAEIANwIQIANBAnRBuNKAgABqIQUCQCAHQQEgA3QiAnENACAFIAA2AgBBACAHIAJyNgKM0ICAACAAIAU2AhggACAANgIIIAAgADYCDAwBCyAEQQBBGSADQQF2ayADQR9GG3QhAyAFKAIAIQICQANAIAIiBSgCBEF4cSAERg0BIANBHXYhAiADQQF0IQMgBSACQQRxakEQaiIGKAIAIgINAAsgBiAANgIAIAAgBTYCGCAAIAA2AgwgACAANgIIDAELIAUoAggiAyAANgIMIAUgADYCCCAAQQA2AhggACAFNgIMIAAgAzYCCAsgCEEIaiEDDAELAkAgCkUNAAJAAkAgACAAKAIcIgVBAnRBuNKAgABqIgMoAgBHDQAgAyAINgIAIAgNAUEAIAlBfiAFd3E2AozQgIAADAILIApBEEEUIAooAhAgAEYbaiAINgIAIAhFDQELIAggCjYCGAJAIAAoAhAiA0UNACAIIAM2AhAgAyAINgIYCyAAQRRqKAIAIgNFDQAgCEEUaiADNgIAIAMgCDYCGAsCQAJAIARBD0sNACAAIAQgAmoiA0EDcjYCBCAAIANqIgMgAygCBEEBcjYCBAwBCyAAIAJqIgUgBEEBcjYCBCAAIAJBA3I2AgQgBSAEaiAENgIAAkAgB0UNACAHQXhxQbDQgIAAaiECQQAoApzQgIAAIQMCQAJAQQEgB0EDdnQiCCAGcQ0AQQAgCCAGcjYCiNCAgAAgAiEIDAELIAIoAgghCAsgCCADNgIMIAIgAzYCCCADIAI2AgwgAyAINgIIC0EAIAU2ApzQgIAAQQAgBDYCkNCAgAALIABBCGohAwsgAUEQaiSAgICAACADCwoAIAAQyYCAgAAL4g0BB38CQCAARQ0AIABBeGoiASAAQXxqKAIAIgJBeHEiAGohAwJAIAJBAXENACACQQNxRQ0BIAEgASgCACICayIBQQAoApjQgIAAIgRJDQEgAiAAaiEAAkAgAUEAKAKc0ICAAEYNAAJAIAJB/wFLDQAgASgCCCIEIAJBA3YiBUEDdEGw0ICAAGoiBkYaAkAgASgCDCICIARHDQBBAEEAKAKI0ICAAEF+IAV3cTYCiNCAgAAMAwsgAiAGRhogAiAENgIIIAQgAjYCDAwCCyABKAIYIQcCQAJAIAEoAgwiBiABRg0AIAEoAggiAiAESRogBiACNgIIIAIgBjYCDAwBCwJAIAFBFGoiAigCACIEDQAgAUEQaiICKAIAIgQNAEEAIQYMAQsDQCACIQUgBCIGQRRqIgIoAgAiBA0AIAZBEGohAiAGKAIQIgQNAAsgBUEANgIACyAHRQ0BAkACQCABIAEoAhwiBEECdEG40oCAAGoiAigCAEcNACACIAY2AgAgBg0BQQBBACgCjNCAgABBfiAEd3E2AozQgIAADAMLIAdBEEEUIAcoAhAgAUYbaiAGNgIAIAZFDQILIAYgBzYCGAJAIAEoAhAiAkUNACAGIAI2AhAgAiAGNgIYCyABKAIUIgJFDQEgBkEUaiACNgIAIAIgBjYCGAwBCyADKAIEIgJBA3FBA0cNACADIAJBfnE2AgRBACAANgKQ0ICAACABIABqIAA2AgAgASAAQQFyNgIEDwsgASADTw0AIAMoAgQiAkEBcUUNAAJAAkAgAkECcQ0AAkAgA0EAKAKg0ICAAEcNAEEAIAE2AqDQgIAAQQBBACgClNCAgAAgAGoiADYClNCAgAAgASAAQQFyNgIEIAFBACgCnNCAgABHDQNBAEEANgKQ0ICAAEEAQQA2ApzQgIAADwsCQCADQQAoApzQgIAARw0AQQAgATYCnNCAgABBAEEAKAKQ0ICAACAAaiIANgKQ0ICAACABIABBAXI2AgQgASAAaiAANgIADwsgAkF4cSAAaiEAAkACQCACQf8BSw0AIAMoAggiBCACQQN2IgVBA3RBsNCAgABqIgZGGgJAIAMoAgwiAiAERw0AQQBBACgCiNCAgABBfiAFd3E2AojQgIAADAILIAIgBkYaIAIgBDYCCCAEIAI2AgwMAQsgAygCGCEHAkACQCADKAIMIgYgA0YNACADKAIIIgJBACgCmNCAgABJGiAGIAI2AgggAiAGNgIMDAELAkAgA0EUaiICKAIAIgQNACADQRBqIgIoAgAiBA0AQQAhBgwBCwNAIAIhBSAEIgZBFGoiAigCACIEDQAgBkEQaiECIAYoAhAiBA0ACyAFQQA2AgALIAdFDQACQAJAIAMgAygCHCIEQQJ0QbjSgIAAaiICKAIARw0AIAIgBjYCACAGDQFBAEEAKAKM0ICAAEF+IAR3cTYCjNCAgAAMAgsgB0EQQRQgBygCECADRhtqIAY2AgAgBkUNAQsgBiAHNgIYAkAgAygCECICRQ0AIAYgAjYCECACIAY2AhgLIAMoAhQiAkUNACAGQRRqIAI2AgAgAiAGNgIYCyABIABqIAA2AgAgASAAQQFyNgIEIAFBACgCnNCAgABHDQFBACAANgKQ0ICAAA8LIAMgAkF+cTYCBCABIABqIAA2AgAgASAAQQFyNgIECwJAIABB/wFLDQAgAEF4cUGw0ICAAGohAgJAAkBBACgCiNCAgAAiBEEBIABBA3Z0IgBxDQBBACAEIAByNgKI0ICAACACIQAMAQsgAigCCCEACyAAIAE2AgwgAiABNgIIIAEgAjYCDCABIAA2AggPC0EfIQICQCAAQf///wdLDQAgAEEIdiICIAJBgP4/akEQdkEIcSICdCIEIARBgOAfakEQdkEEcSIEdCIGIAZBgIAPakEQdkECcSIGdEEPdiACIARyIAZyayICQQF0IAAgAkEVanZBAXFyQRxqIQILIAEgAjYCHCABQgA3AhAgAkECdEG40oCAAGohBAJAAkBBACgCjNCAgAAiBkEBIAJ0IgNxDQAgBCABNgIAQQAgBiADcjYCjNCAgAAgASAENgIYIAEgATYCCCABIAE2AgwMAQsgAEEAQRkgAkEBdmsgAkEfRht0IQIgBCgCACEGAkADQCAGIgQoAgRBeHEgAEYNASACQR12IQYgAkEBdCECIAQgBkEEcWpBEGoiAygCACIGDQALIAMgATYCACABIAQ2AhggASABNgIMIAEgATYCCAwBCyAEKAIIIgAgATYCDCAEIAE2AgggAUEANgIYIAEgBDYCDCABIAA2AggLQQBBACgCqNCAgABBf2oiAUF/IAEbNgKo0ICAAAsLBAAAAAtOAAJAIAANAD8AQRB0DwsCQCAAQf//A3ENACAAQX9MDQACQCAAQRB2QAAiAEF/Rw0AQQBBMDYC+NOAgABBfw8LIABBEHQPCxDKgICAAAAL8gICA38BfgJAIAJFDQAgACABOgAAIAIgAGoiA0F/aiABOgAAIAJBA0kNACAAIAE6AAIgACABOgABIANBfWogAToAACADQX5qIAE6AAAgAkEHSQ0AIAAgAToAAyADQXxqIAE6AAAgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIFayICQSBJDQAgAa1CgYCAgBB+IQYgAyAFaiEBA0AgASAGNwMYIAEgBjcDECABIAY3AwggASAGNwMAIAFBIGohASACQWBqIgJBH0sNAAsLIAALC45IAQBBgAgLhkgBAAAAAgAAAAMAAAAAAAAAAAAAAAQAAAAFAAAAAAAAAAAAAAAGAAAABwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEludmFsaWQgY2hhciBpbiB1cmwgcXVlcnkAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9ib2R5AENvbnRlbnQtTGVuZ3RoIG92ZXJmbG93AENodW5rIHNpemUgb3ZlcmZsb3cAUmVzcG9uc2Ugb3ZlcmZsb3cASW52YWxpZCBtZXRob2QgZm9yIEhUVFAveC54IHJlcXVlc3QASW52YWxpZCBtZXRob2QgZm9yIFJUU1AveC54IHJlcXVlc3QARXhwZWN0ZWQgU09VUkNFIG1ldGhvZCBmb3IgSUNFL3gueCByZXF1ZXN0AEludmFsaWQgY2hhciBpbiB1cmwgZnJhZ21lbnQgc3RhcnQARXhwZWN0ZWQgZG90AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fc3RhdHVzAEludmFsaWQgcmVzcG9uc2Ugc3RhdHVzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8="},7785:e=>{e.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJsbGh0dHBfc3RhdHVzX25hbWUAIRpsbGh0dHBfc2V0X2xlbmllbnRfaGVhZGVycwAiIWxsaHR0cF9zZXRfbGVuaWVudF9jaHVua2VkX2xlbmd0aAAjHWxsaHR0cF9zZXRfbGVuaWVudF9rZWVwX2FsaXZlACQkbGxodHRwX3NldF9sZW5pZW50X3RyYW5zZmVyX2VuY29kaW5nACUYbGxodHRwX21lc3NhZ2VfbmVlZHNfZW9mAD8JFwEAQQELEQECAwQFCwYHNTk3MS8tJyspCrLgAkUCAAsIABCIgICAAAsZACAAEMKAgIAAGiAAIAI2AjggACABOgAoCxwAIAAgAC8BMiAALQAuIAAQwYCAgAAQgICAgAALKgEBf0HAABDGgICAACIBEMKAgIAAGiABQYCIgIAANgI4IAEgADoAKCABCwoAIAAQyICAgAALBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LRQEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABDCgICAABogACAENgI4IAAgAzoAKCAAIAI6AC0gACABNgIYCxEAIAAgASABIAJqEMOAgIAACxAAIABBAEHcABDMgICAABoLZwEBf0EAIQECQCAAKAIMDQACQAJAAkACQCAALQAvDgMBAAMCCyAAKAI4IgFFDQAgASgCLCIBRQ0AIAAgARGAgICAAAAiAQ0DC0EADwsQyoCAgAAACyAAQcOWgIAANgIQQQ4hAQsgAQseAAJAIAAoAgwNACAAQdGbgIAANgIQIABBFTYCDAsLFgACQCAAKAIMQRVHDQAgAEEANgIMCwsWAAJAIAAoAgxBFkcNACAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsiAAJAIABBJEkNABDKgICAAAALIABBAnRBoLOAgABqKAIACyIAAkAgAEEuSQ0AEMqAgIAAAAsgAEECdEGwtICAAGooAgAL7gsBAX9B66iAgAAhAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABBnH9qDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0Hhp4CAAA8LQaShgIAADwtBy6yAgAAPC0H+sYCAAA8LQcCkgIAADwtBq6SAgAAPC0GNqICAAA8LQeKmgIAADwtBgLCAgAAPC0G5r4CAAA8LQdekgIAADwtB75+AgAAPC0Hhn4CAAA8LQfqfgIAADwtB8qCAgAAPC0Gor4CAAA8LQa6ygIAADwtBiLCAgAAPC0Hsp4CAAA8LQYKigIAADwtBjp2AgAAPC0HQroCAAA8LQcqjgIAADwtBxbKAgAAPC0HfnICAAA8LQdKcgIAADwtBxKCAgAAPC0HXoICAAA8LQaKfgIAADwtB7a6AgAAPC0GrsICAAA8LQdSlgIAADwtBzK6AgAAPC0H6roCAAA8LQfyrgIAADwtB0rCAgAAPC0HxnYCAAA8LQbuggIAADwtB96uAgAAPC0GQsYCAAA8LQdexgIAADwtBoq2AgAAPC0HUp4CAAA8LQeCrgIAADwtBn6yAgAAPC0HrsYCAAA8LQdWfgIAADwtByrGAgAAPC0HepYCAAA8LQdSegIAADwtB9JyAgAAPC0GnsoCAAA8LQbGdgIAADwtBoJ2AgAAPC0G5sYCAAA8LQbywgIAADwtBkqGAgAAPC0GzpoCAAA8LQemsgIAADwtBrJ6AgAAPC0HUq4CAAA8LQfemgIAADwtBgKaAgAAPC0GwoYCAAA8LQf6egIAADwtBjaOAgAAPC0GJrYCAAA8LQfeigIAADwtBoLGAgAAPC0Gun4CAAA8LQcalgIAADwtB6J6AgAAPC0GTooCAAA8LQcKvgIAADwtBw52AgAAPC0GLrICAAA8LQeGdgIAADwtBja+AgAAPC0HqoYCAAA8LQbStgIAADwtB0q+AgAAPC0HfsoCAAA8LQdKygIAADwtB8LCAgAAPC0GpooCAAA8LQfmjgIAADwtBmZ6AgAAPC0G1rICAAA8LQZuwgIAADwtBkrKAgAAPC0G2q4CAAA8LQcKigIAADwtB+LKAgAAPC0GepYCAAA8LQdCigIAADwtBup6AgAAPC0GBnoCAAA8LEMqAgIAAAAtB1qGAgAAhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAgAiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCBCIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQcaRgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIwIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAggiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2ioCAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCNCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIMIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZqAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAjgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCECIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZWQgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAI8IgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAhQiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEGqm4CAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCQCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIYIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZOAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCJCIERQ0AIAAgBBGAgICAAAAhAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIsIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAigiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2iICAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCUCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIcIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABBwpmAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCICIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZSUgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAJMIgRFDQAgACAEEYCAgIAAACEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAlQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCWCIERQ0AIAAgBBGAgICAAAAhAwsgAwtFAQF/AkACQCAALwEwQRRxQRRHDQBBASEDIAAtAChBAUYNASAALwEyQeUARiEDDAELIAAtAClBBUYhAwsgACADOgAuQQAL/gEBA39BASEDAkAgAC8BMCIEQQhxDQAgACkDIEIAUiEDCwJAAkAgAC0ALkUNAEEBIQUgAC0AKUEFRg0BQQEhBSAEQcAAcUUgA3FBAUcNAQtBACEFIARBwABxDQBBAiEFIARB//8DcSIDQQhxDQACQCADQYAEcUUNAAJAIAAtAChBAUcNACAALQAtQQpxDQBBBQ8LQQQPCwJAIANBIHENAAJAIAAtAChBAUYNACAALwEyQf//A3EiAEGcf2pB5ABJDQAgAEHMAUYNACAAQbACRg0AQQQhBSAEQShxRQ0CIANBiARxQYAERg0CC0EADwtBAEEDIAApAyBQGyEFCyAFC2IBAn9BACEBAkAgAC0AKEEBRg0AIAAvATJB//8DcSICQZx/akHkAEkNACACQcwBRg0AIAJBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhASAAQYgEcUGABEYNACAAQShxRSEBCyABC6cBAQN/AkACQAJAIAAtACpFDQAgAC0AK0UNAEEAIQMgAC8BMCIEQQJxRQ0BDAILQQAhAyAALwEwIgRBAXFFDQELQQEhAyAALQAoQQFGDQAgAC8BMkH//wNxIgVBnH9qQeQASQ0AIAVBzAFGDQAgBUGwAkYNACAEQcAAcQ0AQQAhAyAEQYgEcUGABEYNACAEQShxQQBHIQMLIABBADsBMCAAQQA6AC8gAwuZAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQBBACEBIAAvATAiAkECcUUNAQwCC0EAIQEgAC8BMCICQQFxRQ0BC0EBIQEgAC0AKEEBRg0AIAAvATJB//8DcSIAQZx/akHkAEkNACAAQcwBRg0AIABBsAJGDQAgAkHAAHENAEEAIQEgAkGIBHFBgARGDQAgAkEocUEARyEBCyABC0kBAXsgAEEQav0MAAAAAAAAAAAAAAAAAAAAACIB/QsDACAAIAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AcsBygG4AckBuQHIAboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBANwBC0EAIRAMxgELQQ4hEAzFAQtBDSEQDMQBC0EPIRAMwwELQRAhEAzCAQtBEyEQDMEBC0EUIRAMwAELQRUhEAy/AQtBFiEQDL4BC0EXIRAMvQELQRghEAy8AQtBGSEQDLsBC0EaIRAMugELQRshEAy5AQtBHCEQDLgBC0EIIRAMtwELQR0hEAy2AQtBICEQDLUBC0EfIRAMtAELQQchEAyzAQtBISEQDLIBC0EiIRAMsQELQR4hEAywAQtBIyEQDK8BC0ESIRAMrgELQREhEAytAQtBJCEQDKwBC0ElIRAMqwELQSYhEAyqAQtBJyEQDKkBC0HDASEQDKgBC0EpIRAMpwELQSshEAymAQtBLCEQDKUBC0EtIRAMpAELQS4hEAyjAQtBLyEQDKIBC0HEASEQDKEBC0EwIRAMoAELQTQhEAyfAQtBDCEQDJ4BC0ExIRAMnQELQTIhEAycAQtBMyEQDJsBC0E5IRAMmgELQTUhEAyZAQtBxQEhEAyYAQtBCyEQDJcBC0E6IRAMlgELQTYhEAyVAQtBCiEQDJQBC0E3IRAMkwELQTghEAySAQtBPCEQDJEBC0E7IRAMkAELQT0hEAyPAQtBCSEQDI4BC0EoIRAMjQELQT4hEAyMAQtBPyEQDIsBC0HAACEQDIoBC0HBACEQDIkBC0HCACEQDIgBC0HDACEQDIcBC0HEACEQDIYBC0HFACEQDIUBC0HGACEQDIQBC0EqIRAMgwELQccAIRAMggELQcgAIRAMgQELQckAIRAMgAELQcoAIRAMfwtBywAhEAx+C0HNACEQDH0LQcwAIRAMfAtBzgAhEAx7C0HPACEQDHoLQdAAIRAMeQtB0QAhEAx4C0HSACEQDHcLQdMAIRAMdgtB1AAhEAx1C0HWACEQDHQLQdUAIRAMcwtBBiEQDHILQdcAIRAMcQtBBSEQDHALQdgAIRAMbwtBBCEQDG4LQdkAIRAMbQtB2gAhEAxsC0HbACEQDGsLQdwAIRAMagtBAyEQDGkLQd0AIRAMaAtB3gAhEAxnC0HfACEQDGYLQeEAIRAMZQtB4AAhEAxkC0HiACEQDGMLQeMAIRAMYgtBAiEQDGELQeQAIRAMYAtB5QAhEAxfC0HmACEQDF4LQecAIRAMXQtB6AAhEAxcC0HpACEQDFsLQeoAIRAMWgtB6wAhEAxZC0HsACEQDFgLQe0AIRAMVwtB7gAhEAxWC0HvACEQDFULQfAAIRAMVAtB8QAhEAxTC0HyACEQDFILQfMAIRAMUQtB9AAhEAxQC0H1ACEQDE8LQfYAIRAMTgtB9wAhEAxNC0H4ACEQDEwLQfkAIRAMSwtB+gAhEAxKC0H7ACEQDEkLQfwAIRAMSAtB/QAhEAxHC0H+ACEQDEYLQf8AIRAMRQtBgAEhEAxEC0GBASEQDEMLQYIBIRAMQgtBgwEhEAxBC0GEASEQDEALQYUBIRAMPwtBhgEhEAw+C0GHASEQDD0LQYgBIRAMPAtBiQEhEAw7C0GKASEQDDoLQYsBIRAMOQtBjAEhEAw4C0GNASEQDDcLQY4BIRAMNgtBjwEhEAw1C0GQASEQDDQLQZEBIRAMMwtBkgEhEAwyC0GTASEQDDELQZQBIRAMMAtBlQEhEAwvC0GWASEQDC4LQZcBIRAMLQtBmAEhEAwsC0GZASEQDCsLQZoBIRAMKgtBmwEhEAwpC0GcASEQDCgLQZ0BIRAMJwtBngEhEAwmC0GfASEQDCULQaABIRAMJAtBoQEhEAwjC0GiASEQDCILQaMBIRAMIQtBpAEhEAwgC0GlASEQDB8LQaYBIRAMHgtBpwEhEAwdC0GoASEQDBwLQakBIRAMGwtBqgEhEAwaC0GrASEQDBkLQawBIRAMGAtBrQEhEAwXC0GuASEQDBYLQQEhEAwVC0GvASEQDBQLQbABIRAMEwtBsQEhEAwSC0GzASEQDBELQbIBIRAMEAtBtAEhEAwPC0G1ASEQDA4LQbYBIRAMDQtBtwEhEAwMC0G4ASEQDAsLQbkBIRAMCgtBugEhEAwJC0G7ASEQDAgLQcYBIRAMBwtBvAEhEAwGC0G9ASEQDAULQb4BIRAMBAtBvwEhEAwDC0HAASEQDAILQcIBIRAMAQtBwQEhEAsDQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB4fICEjJSg/QEFERUZHSElKS0xNT1BRUlPeA1dZW1xdYGJlZmdoaWprbG1vcHFyc3R1dnd4eXp7fH1+gAGCAYUBhgGHAYkBiwGMAY0BjgGPAZABkQGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAdQB1QHWAdcB2AHZAdoB2wHcAd0B3gHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMBmQKkArAC/gL+AgsgASIEIAJHDfMBQd0BIRAM/wMLIAEiECACRw3dAUHDASEQDP4DCyABIgEgAkcNkAFB9wAhEAz9AwsgASIBIAJHDYYBQe8AIRAM/AMLIAEiASACRw1/QeoAIRAM+wMLIAEiASACRw17QegAIRAM+gMLIAEiASACRw14QeYAIRAM+QMLIAEiASACRw0aQRghEAz4AwsgASIBIAJHDRRBEiEQDPcDCyABIgEgAkcNWUHFACEQDPYDCyABIgEgAkcNSkE/IRAM9QMLIAEiASACRw1IQTwhEAz0AwsgASIBIAJHDUFBMSEQDPMDCyAALQAuQQFGDesDDIcCCyAAIAEiASACEMCAgIAAQQFHDeYBIABCADcDIAznAQsgACABIgEgAhC0gICAACIQDecBIAEhAQz1AgsCQCABIgEgAkcNAEEGIRAM8AMLIAAgAUEBaiIBIAIQu4CAgAAiEA3oASABIQEMMQsgAEIANwMgQRIhEAzVAwsgASIQIAJHDStBHSEQDO0DCwJAIAEiASACRg0AIAFBAWohAUEQIRAM1AMLQQchEAzsAwsgAEIAIAApAyAiESACIAEiEGutIhJ9IhMgEyARVhs3AyAgESASViIURQ3lAUEIIRAM6wMLAkAgASIBIAJGDQAgAEGJgICAADYCCCAAIAE2AgQgASEBQRQhEAzSAwtBCSEQDOoDCyABIQEgACkDIFAN5AEgASEBDPICCwJAIAEiASACRw0AQQshEAzpAwsgACABQQFqIgEgAhC2gICAACIQDeUBIAEhAQzyAgsgACABIgEgAhC4gICAACIQDeUBIAEhAQzyAgsgACABIgEgAhC4gICAACIQDeYBIAEhAQwNCyAAIAEiASACELqAgIAAIhAN5wEgASEBDPACCwJAIAEiASACRw0AQQ8hEAzlAwsgAS0AACIQQTtGDQggEEENRw3oASABQQFqIQEM7wILIAAgASIBIAIQuoCAgAAiEA3oASABIQEM8gILA0ACQCABLQAAQfC1gIAAai0AACIQQQFGDQAgEEECRw3rASAAKAIEIRAgAEEANgIEIAAgECABQQFqIgEQuYCAgAAiEA3qASABIQEM9AILIAFBAWoiASACRw0AC0ESIRAM4gMLIAAgASIBIAIQuoCAgAAiEA3pASABIQEMCgsgASIBIAJHDQZBGyEQDOADCwJAIAEiASACRw0AQRYhEAzgAwsgAEGKgICAADYCCCAAIAE2AgQgACABIAIQuICAgAAiEA3qASABIQFBICEQDMYDCwJAIAEiASACRg0AA0ACQCABLQAAQfC3gIAAai0AACIQQQJGDQACQCAQQX9qDgTlAewBAOsB7AELIAFBAWohAUEIIRAMyAMLIAFBAWoiASACRw0AC0EVIRAM3wMLQRUhEAzeAwsDQAJAIAEtAABB8LmAgABqLQAAIhBBAkYNACAQQX9qDgTeAewB4AHrAewBCyABQQFqIgEgAkcNAAtBGCEQDN0DCwJAIAEiASACRg0AIABBi4CAgAA2AgggACABNgIEIAEhAUEHIRAMxAMLQRkhEAzcAwsgAUEBaiEBDAILAkAgASIUIAJHDQBBGiEQDNsDCyAUIQECQCAULQAAQXNqDhTdAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAgDuAgtBACEQIABBADYCHCAAQa+LgIAANgIQIABBAjYCDCAAIBRBAWo2AhQM2gMLAkAgAS0AACIQQTtGDQAgEEENRw3oASABQQFqIQEM5QILIAFBAWohAQtBIiEQDL8DCwJAIAEiECACRw0AQRwhEAzYAwtCACERIBAhASAQLQAAQVBqDjfnAeYBAQIDBAUGBwgAAAAAAAAACQoLDA0OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEBESExQAC0EeIRAMvQMLQgIhEQzlAQtCAyERDOQBC0IEIREM4wELQgUhEQziAQtCBiERDOEBC0IHIREM4AELQgghEQzfAQtCCSERDN4BC0IKIREM3QELQgshEQzcAQtCDCERDNsBC0INIREM2gELQg4hEQzZAQtCDyERDNgBC0IKIREM1wELQgshEQzWAQtCDCERDNUBC0INIREM1AELQg4hEQzTAQtCDyERDNIBC0IAIRECQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAtAABBUGoON+UB5AEAAQIDBAUGB+YB5gHmAeYB5gHmAeYBCAkKCwwN5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAQ4PEBESE+YBC0ICIREM5AELQgMhEQzjAQtCBCERDOIBC0IFIREM4QELQgYhEQzgAQtCByERDN8BC0IIIREM3gELQgkhEQzdAQtCCiERDNwBC0ILIREM2wELQgwhEQzaAQtCDSERDNkBC0IOIREM2AELQg8hEQzXAQtCCiERDNYBC0ILIREM1QELQgwhEQzUAQtCDSERDNMBC0IOIREM0gELQg8hEQzRAQsgAEIAIAApAyAiESACIAEiEGutIhJ9IhMgEyARVhs3AyAgESASViIURQ3SAUEfIRAMwAMLAkAgASIBIAJGDQAgAEGJgICAADYCCCAAIAE2AgQgASEBQSQhEAynAwtBICEQDL8DCyAAIAEiECACEL6AgIAAQX9qDgW2AQDFAgHRAdIBC0ERIRAMpAMLIABBAToALyAQIQEMuwMLIAEiASACRw3SAUEkIRAMuwMLIAEiDSACRw0eQcYAIRAMugMLIAAgASIBIAIQsoCAgAAiEA3UASABIQEMtQELIAEiECACRw0mQdAAIRAMuAMLAkAgASIBIAJHDQBBKCEQDLgDCyAAQQA2AgQgAEGMgICAADYCCCAAIAEgARCxgICAACIQDdMBIAEhAQzYAQsCQCABIhAgAkcNAEEpIRAMtwMLIBAtAAAiAUEgRg0UIAFBCUcN0wEgEEEBaiEBDBULAkAgASIBIAJGDQAgAUEBaiEBDBcLQSohEAy1AwsCQCABIhAgAkcNAEErIRAMtQMLAkAgEC0AACIBQQlGDQAgAUEgRw3VAQsgAC0ALEEIRg3TASAQIQEMkQMLAkAgASIBIAJHDQBBLCEQDLQDCyABLQAAQQpHDdUBIAFBAWohAQzJAgsgASIOIAJHDdUBQS8hEAyyAwsDQAJAIAEtAAAiEEEgRg0AAkAgEEF2ag4EANwB3AEA2gELIAEhAQzgAQsgAUEBaiIBIAJHDQALQTEhEAyxAwtBMiEQIAEiFCACRg2wAyACIBRrIAAoAgAiAWohFSAUIAFrQQNqIRYCQANAIBQtAAAiF0EgciAXIBdBv39qQf8BcUEaSRtB/wFxIAFB8LuAgABqLQAARw0BAkAgAUEDRw0AQQYhAQyWAwsgAUEBaiEBIBRBAWoiFCACRw0ACyAAIBU2AgAMsQMLIABBADYCACAUIQEM2QELQTMhECABIhQgAkYNrwMgAiAUayAAKAIAIgFqIRUgFCABa0EIaiEWAkADQCAULQAAIhdBIHIgFyAXQb9/akH/AXFBGkkbQf8BcSABQfS7gIAAai0AAEcNAQJAIAFBCEcNAEEFIQEMlQMLIAFBAWohASAUQQFqIhQgAkcNAAsgACAVNgIADLADCyAAQQA2AgAgFCEBDNgBC0E0IRAgASIUIAJGDa4DIAIgFGsgACgCACIBaiEVIBQgAWtBBWohFgJAA0AgFC0AACIXQSByIBcgF0G/f2pB/wFxQRpJG0H/AXEgAUHQwoCAAGotAABHDQECQCABQQVHDQBBByEBDJQDCyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFTYCAAyvAwsgAEEANgIAIBQhAQzXAQsCQCABIgEgAkYNAANAAkAgAS0AAEGAvoCAAGotAAAiEEEBRg0AIBBBAkYNCiABIQEM3QELIAFBAWoiASACRw0AC0EwIRAMrgMLQTAhEAytAwsCQCABIgEgAkYNAANAAkAgAS0AACIQQSBGDQAgEEF2ag4E2QHaAdoB2QHaAQsgAUEBaiIBIAJHDQALQTghEAytAwtBOCEQDKwDCwNAAkAgAS0AACIQQSBGDQAgEEEJRw0DCyABQQFqIgEgAkcNAAtBPCEQDKsDCwNAAkAgAS0AACIQQSBGDQACQAJAIBBBdmoOBNoBAQHaAQALIBBBLEYN2wELIAEhAQwECyABQQFqIgEgAkcNAAtBPyEQDKoDCyABIQEM2wELQcAAIRAgASIUIAJGDagDIAIgFGsgACgCACIBaiEWIBQgAWtBBmohFwJAA0AgFC0AAEEgciABQYDAgIAAai0AAEcNASABQQZGDY4DIAFBAWohASAUQQFqIhQgAkcNAAsgACAWNgIADKkDCyAAQQA2AgAgFCEBC0E2IRAMjgMLAkAgASIPIAJHDQBBwQAhEAynAwsgAEGMgICAADYCCCAAIA82AgQgDyEBIAAtACxBf2oOBM0B1QHXAdkBhwMLIAFBAWohAQzMAQsCQCABIgEgAkYNAANAAkAgAS0AACIQQSByIBAgEEG/f2pB/wFxQRpJG0H/AXEiEEEJRg0AIBBBIEYNAAJAAkACQAJAIBBBnX9qDhMAAwMDAwMDAwEDAwMDAwMDAwMCAwsgAUEBaiEBQTEhEAyRAwsgAUEBaiEBQTIhEAyQAwsgAUEBaiEBQTMhEAyPAwsgASEBDNABCyABQQFqIgEgAkcNAAtBNSEQDKUDC0E1IRAMpAMLAkAgASIBIAJGDQADQAJAIAEtAABBgLyAgABqLQAAQQFGDQAgASEBDNMBCyABQQFqIgEgAkcNAAtBPSEQDKQDC0E9IRAMowMLIAAgASIBIAIQsICAgAAiEA3WASABIQEMAQsgEEEBaiEBC0E8IRAMhwMLAkAgASIBIAJHDQBBwgAhEAygAwsCQANAAkAgAS0AAEF3ag4YAAL+Av4ChAP+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gIA/gILIAFBAWoiASACRw0AC0HCACEQDKADCyABQQFqIQEgAC0ALUEBcUUNvQEgASEBC0EsIRAMhQMLIAEiASACRw3TAUHEACEQDJ0DCwNAAkAgAS0AAEGQwICAAGotAABBAUYNACABIQEMtwILIAFBAWoiASACRw0AC0HFACEQDJwDCyANLQAAIhBBIEYNswEgEEE6Rw2BAyAAKAIEIQEgAEEANgIEIAAgASANEK+AgIAAIgEN0AEgDUEBaiEBDLMCC0HHACEQIAEiDSACRg2aAyACIA1rIAAoAgAiAWohFiANIAFrQQVqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQZDCgIAAai0AAEcNgAMgAUEFRg30AiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyaAwtByAAhECABIg0gAkYNmQMgAiANayAAKAIAIgFqIRYgDSABa0EJaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGWwoCAAGotAABHDf8CAkAgAUEJRw0AQQIhAQz1AgsgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMmQMLAkAgASINIAJHDQBByQAhEAyZAwsCQAJAIA0tAAAiAUEgciABIAFBv39qQf8BcUEaSRtB/wFxQZJ/ag4HAIADgAOAA4ADgAMBgAMLIA1BAWohAUE+IRAMgAMLIA1BAWohAUE/IRAM/wILQcoAIRAgASINIAJGDZcDIAIgDWsgACgCACIBaiEWIA0gAWtBAWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBoMKAgABqLQAARw39AiABQQFGDfACIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJcDC0HLACEQIAEiDSACRg2WAyACIA1rIAAoAgAiAWohFiANIAFrQQ5qIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQaLCgIAAai0AAEcN/AIgAUEORg3wAiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyWAwtBzAAhECABIg0gAkYNlQMgAiANayAAKAIAIgFqIRYgDSABa0EPaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUHAwoCAAGotAABHDfsCAkAgAUEPRw0AQQMhAQzxAgsgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMlQMLQc0AIRAgASINIAJGDZQDIAIgDWsgACgCACIBaiEWIA0gAWtBBWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFB0MKAgABqLQAARw36AgJAIAFBBUcNAEEEIQEM8AILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJQDCwJAIAEiDSACRw0AQc4AIRAMlAMLAkACQAJAAkAgDS0AACIBQSByIAEgAUG/f2pB/wFxQRpJG0H/AXFBnX9qDhMA/QL9Av0C/QL9Av0C/QL9Av0C/QL9Av0CAf0C/QL9AgID/QILIA1BAWohAUHBACEQDP0CCyANQQFqIQFBwgAhEAz8AgsgDUEBaiEBQcMAIRAM+wILIA1BAWohAUHEACEQDPoCCwJAIAEiASACRg0AIABBjYCAgAA2AgggACABNgIEIAEhAUHFACEQDPoCC0HPACEQDJIDCyAQIQECQAJAIBAtAABBdmoOBAGoAqgCAKgCCyAQQQFqIQELQSchEAz4AgsCQCABIgEgAkcNAEHRACEQDJEDCwJAIAEtAABBIEYNACABIQEMjQELIAFBAWohASAALQAtQQFxRQ3HASABIQEMjAELIAEiFyACRw3IAUHSACEQDI8DC0HTACEQIAEiFCACRg2OAyACIBRrIAAoAgAiAWohFiAUIAFrQQFqIRcDQCAULQAAIAFB1sKAgABqLQAARw3MASABQQFGDccBIAFBAWohASAUQQFqIhQgAkcNAAsgACAWNgIADI4DCwJAIAEiASACRw0AQdUAIRAMjgMLIAEtAABBCkcNzAEgAUEBaiEBDMcBCwJAIAEiASACRw0AQdYAIRAMjQMLAkACQCABLQAAQXZqDgQAzQHNAQHNAQsgAUEBaiEBDMcBCyABQQFqIQFBygAhEAzzAgsgACABIgEgAhCugICAACIQDcsBIAEhAUHNACEQDPICCyAALQApQSJGDYUDDKYCCwJAIAEiASACRw0AQdsAIRAMigMLQQAhFEEBIRdBASEWQQAhEAJAAkACQAJAAkACQAJAAkACQCABLQAAQVBqDgrUAdMBAAECAwQFBgjVAQtBAiEQDAYLQQMhEAwFC0EEIRAMBAtBBSEQDAMLQQYhEAwCC0EHIRAMAQtBCCEQC0EAIRdBACEWQQAhFAzMAQtBCSEQQQEhFEEAIRdBACEWDMsBCwJAIAEiASACRw0AQd0AIRAMiQMLIAEtAABBLkcNzAEgAUEBaiEBDKYCCyABIgEgAkcNzAFB3wAhEAyHAwsCQCABIgEgAkYNACAAQY6AgIAANgIIIAAgATYCBCABIQFB0AAhEAzuAgtB4AAhEAyGAwtB4QAhECABIgEgAkYNhQMgAiABayAAKAIAIhRqIRYgASAUa0EDaiEXA0AgAS0AACAUQeLCgIAAai0AAEcNzQEgFEEDRg3MASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyFAwtB4gAhECABIgEgAkYNhAMgAiABayAAKAIAIhRqIRYgASAUa0ECaiEXA0AgAS0AACAUQebCgIAAai0AAEcNzAEgFEECRg3OASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyEAwtB4wAhECABIgEgAkYNgwMgAiABayAAKAIAIhRqIRYgASAUa0EDaiEXA0AgAS0AACAUQenCgIAAai0AAEcNywEgFEEDRg3OASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyDAwsCQCABIgEgAkcNAEHlACEQDIMDCyAAIAFBAWoiASACEKiAgIAAIhANzQEgASEBQdYAIRAM6QILAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgRg0AAkACQAJAIBBBuH9qDgsAAc8BzwHPAc8BzwHPAc8BzwECzwELIAFBAWohAUHSACEQDO0CCyABQQFqIQFB0wAhEAzsAgsgAUEBaiEBQdQAIRAM6wILIAFBAWoiASACRw0AC0HkACEQDIIDC0HkACEQDIEDCwNAAkAgAS0AAEHwwoCAAGotAAAiEEEBRg0AIBBBfmoOA88B0AHRAdIBCyABQQFqIgEgAkcNAAtB5gAhEAyAAwsCQCABIgEgAkYNACABQQFqIQEMAwtB5wAhEAz/AgsDQAJAIAEtAABB8MSAgABqLQAAIhBBAUYNAAJAIBBBfmoOBNIB0wHUAQDVAQsgASEBQdcAIRAM5wILIAFBAWoiASACRw0AC0HoACEQDP4CCwJAIAEiASACRw0AQekAIRAM/gILAkAgAS0AACIQQXZqDhq6AdUB1QG8AdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAcoB1QHVAQDTAQsgAUEBaiEBC0EGIRAM4wILA0ACQCABLQAAQfDGgIAAai0AAEEBRg0AIAEhAQyeAgsgAUEBaiIBIAJHDQALQeoAIRAM+wILAkAgASIBIAJGDQAgAUEBaiEBDAMLQesAIRAM+gILAkAgASIBIAJHDQBB7AAhEAz6AgsgAUEBaiEBDAELAkAgASIBIAJHDQBB7QAhEAz5AgsgAUEBaiEBC0EEIRAM3gILAkAgASIUIAJHDQBB7gAhEAz3AgsgFCEBAkACQAJAIBQtAABB8MiAgABqLQAAQX9qDgfUAdUB1gEAnAIBAtcBCyAUQQFqIQEMCgsgFEEBaiEBDM0BC0EAIRAgAEEANgIcIABBm5KAgAA2AhAgAEEHNgIMIAAgFEEBajYCFAz2AgsCQANAAkAgAS0AAEHwyICAAGotAAAiEEEERg0AAkACQCAQQX9qDgfSAdMB1AHZAQAEAdkBCyABIQFB2gAhEAzgAgsgAUEBaiEBQdwAIRAM3wILIAFBAWoiASACRw0AC0HvACEQDPYCCyABQQFqIQEMywELAkAgASIUIAJHDQBB8AAhEAz1AgsgFC0AAEEvRw3UASAUQQFqIQEMBgsCQCABIhQgAkcNAEHxACEQDPQCCwJAIBQtAAAiAUEvRw0AIBRBAWohAUHdACEQDNsCCyABQXZqIgRBFksN0wFBASAEdEGJgIACcUUN0wEMygILAkAgASIBIAJGDQAgAUEBaiEBQd4AIRAM2gILQfIAIRAM8gILAkAgASIUIAJHDQBB9AAhEAzyAgsgFCEBAkAgFC0AAEHwzICAAGotAABBf2oOA8kClAIA1AELQeEAIRAM2AILAkAgASIUIAJGDQADQAJAIBQtAABB8MqAgABqLQAAIgFBA0YNAAJAIAFBf2oOAssCANUBCyAUIQFB3wAhEAzaAgsgFEEBaiIUIAJHDQALQfMAIRAM8QILQfMAIRAM8AILAkAgASIBIAJGDQAgAEGPgICAADYCCCAAIAE2AgQgASEBQeAAIRAM1wILQfUAIRAM7wILAkAgASIBIAJHDQBB9gAhEAzvAgsgAEGPgICAADYCCCAAIAE2AgQgASEBC0EDIRAM1AILA0AgAS0AAEEgRw3DAiABQQFqIgEgAkcNAAtB9wAhEAzsAgsCQCABIgEgAkcNAEH4ACEQDOwCCyABLQAAQSBHDc4BIAFBAWohAQzvAQsgACABIgEgAhCsgICAACIQDc4BIAEhAQyOAgsCQCABIgQgAkcNAEH6ACEQDOoCCyAELQAAQcwARw3RASAEQQFqIQFBEyEQDM8BCwJAIAEiBCACRw0AQfsAIRAM6QILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEANAIAQtAAAgAUHwzoCAAGotAABHDdABIAFBBUYNzgEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBB+wAhEAzoAgsCQCABIgQgAkcNAEH8ACEQDOgCCwJAAkAgBC0AAEG9f2oODADRAdEB0QHRAdEB0QHRAdEB0QHRAQHRAQsgBEEBaiEBQeYAIRAMzwILIARBAWohAUHnACEQDM4CCwJAIAEiBCACRw0AQf0AIRAM5wILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNzwEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf0AIRAM5wILIABBADYCACAQQQFqIQFBECEQDMwBCwJAIAEiBCACRw0AQf4AIRAM5gILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQfbOgIAAai0AAEcNzgEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf4AIRAM5gILIABBADYCACAQQQFqIQFBFiEQDMsBCwJAIAEiBCACRw0AQf8AIRAM5QILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQfzOgIAAai0AAEcNzQEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf8AIRAM5QILIABBADYCACAQQQFqIQFBBSEQDMoBCwJAIAEiBCACRw0AQYABIRAM5AILIAQtAABB2QBHDcsBIARBAWohAUEIIRAMyQELAkAgASIEIAJHDQBBgQEhEAzjAgsCQAJAIAQtAABBsn9qDgMAzAEBzAELIARBAWohAUHrACEQDMoCCyAEQQFqIQFB7AAhEAzJAgsCQCABIgQgAkcNAEGCASEQDOICCwJAAkAgBC0AAEG4f2oOCADLAcsBywHLAcsBywEBywELIARBAWohAUHqACEQDMkCCyAEQQFqIQFB7QAhEAzIAgsCQCABIgQgAkcNAEGDASEQDOECCyACIARrIAAoAgAiAWohECAEIAFrQQJqIRQCQANAIAQtAAAgAUGAz4CAAGotAABHDckBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgEDYCAEGDASEQDOECC0EAIRAgAEEANgIAIBRBAWohAQzGAQsCQCABIgQgAkcNAEGEASEQDOACCyACIARrIAAoAgAiAWohFCAEIAFrQQRqIRACQANAIAQtAAAgAUGDz4CAAGotAABHDcgBIAFBBEYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGEASEQDOACCyAAQQA2AgAgEEEBaiEBQSMhEAzFAQsCQCABIgQgAkcNAEGFASEQDN8CCwJAAkAgBC0AAEG0f2oOCADIAcgByAHIAcgByAEByAELIARBAWohAUHvACEQDMYCCyAEQQFqIQFB8AAhEAzFAgsCQCABIgQgAkcNAEGGASEQDN4CCyAELQAAQcUARw3FASAEQQFqIQEMgwILAkAgASIEIAJHDQBBhwEhEAzdAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFBiM+AgABqLQAARw3FASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBhwEhEAzdAgsgAEEANgIAIBBBAWohAUEtIRAMwgELAkAgASIEIAJHDQBBiAEhEAzcAgsgAiAEayAAKAIAIgFqIRQgBCABa0EIaiEQAkADQCAELQAAIAFB0M+AgABqLQAARw3EASABQQhGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBiAEhEAzcAgsgAEEANgIAIBBBAWohAUEpIRAMwQELAkAgASIBIAJHDQBBiQEhEAzbAgtBASEQIAEtAABB3wBHDcABIAFBAWohAQyBAgsCQCABIgQgAkcNAEGKASEQDNoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRADQCAELQAAIAFBjM+AgABqLQAARw3BASABQQFGDa8CIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYoBIRAM2QILAkAgASIEIAJHDQBBiwEhEAzZAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBjs+AgABqLQAARw3BASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBiwEhEAzZAgsgAEEANgIAIBBBAWohAUECIRAMvgELAkAgASIEIAJHDQBBjAEhEAzYAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8M+AgABqLQAARw3AASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBjAEhEAzYAgsgAEEANgIAIBBBAWohAUEfIRAMvQELAkAgASIEIAJHDQBBjQEhEAzXAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8s+AgABqLQAARw2/ASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBjQEhEAzXAgsgAEEANgIAIBBBAWohAUEJIRAMvAELAkAgASIEIAJHDQBBjgEhEAzWAgsCQAJAIAQtAABBt39qDgcAvwG/Ab8BvwG/AQG/AQsgBEEBaiEBQfgAIRAMvQILIARBAWohAUH5ACEQDLwCCwJAIAEiBCACRw0AQY8BIRAM1QILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQZHPgIAAai0AAEcNvQEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQY8BIRAM1QILIABBADYCACAQQQFqIQFBGCEQDLoBCwJAIAEiBCACRw0AQZABIRAM1AILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQZfPgIAAai0AAEcNvAEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZABIRAM1AILIABBADYCACAQQQFqIQFBFyEQDLkBCwJAIAEiBCACRw0AQZEBIRAM0wILIAIgBGsgACgCACIBaiEUIAQgAWtBBmohEAJAA0AgBC0AACABQZrPgIAAai0AAEcNuwEgAUEGRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZEBIRAM0wILIABBADYCACAQQQFqIQFBFSEQDLgBCwJAIAEiBCACRw0AQZIBIRAM0gILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQaHPgIAAai0AAEcNugEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZIBIRAM0gILIABBADYCACAQQQFqIQFBHiEQDLcBCwJAIAEiBCACRw0AQZMBIRAM0QILIAQtAABBzABHDbgBIARBAWohAUEKIRAMtgELAkAgBCACRw0AQZQBIRAM0AILAkACQCAELQAAQb9/ag4PALkBuQG5AbkBuQG5AbkBuQG5AbkBuQG5AbkBAbkBCyAEQQFqIQFB/gAhEAy3AgsgBEEBaiEBQf8AIRAMtgILAkAgBCACRw0AQZUBIRAMzwILAkACQCAELQAAQb9/ag4DALgBAbgBCyAEQQFqIQFB/QAhEAy2AgsgBEEBaiEEQYABIRAMtQILAkAgBCACRw0AQZYBIRAMzgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQafPgIAAai0AAEcNtgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZYBIRAMzgILIABBADYCACAQQQFqIQFBCyEQDLMBCwJAIAQgAkcNAEGXASEQDM0CCwJAAkACQAJAIAQtAABBU2oOIwC4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBAbgBuAG4AbgBuAECuAG4AbgBA7gBCyAEQQFqIQFB+wAhEAy2AgsgBEEBaiEBQfwAIRAMtQILIARBAWohBEGBASEQDLQCCyAEQQFqIQRBggEhEAyzAgsCQCAEIAJHDQBBmAEhEAzMAgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBqc+AgABqLQAARw20ASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmAEhEAzMAgsgAEEANgIAIBBBAWohAUEZIRAMsQELAkAgBCACRw0AQZkBIRAMywILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQa7PgIAAai0AAEcNswEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZkBIRAMywILIABBADYCACAQQQFqIQFBBiEQDLABCwJAIAQgAkcNAEGaASEQDMoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUG0z4CAAGotAABHDbIBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGaASEQDMoCCyAAQQA2AgAgEEEBaiEBQRwhEAyvAQsCQCAEIAJHDQBBmwEhEAzJAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBts+AgABqLQAARw2xASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmwEhEAzJAgsgAEEANgIAIBBBAWohAUEnIRAMrgELAkAgBCACRw0AQZwBIRAMyAILAkACQCAELQAAQax/ag4CAAGxAQsgBEEBaiEEQYYBIRAMrwILIARBAWohBEGHASEQDK4CCwJAIAQgAkcNAEGdASEQDMcCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUG4z4CAAGotAABHDa8BIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGdASEQDMcCCyAAQQA2AgAgEEEBaiEBQSYhEAysAQsCQCAEIAJHDQBBngEhEAzGAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBus+AgABqLQAARw2uASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBngEhEAzGAgsgAEEANgIAIBBBAWohAUEDIRAMqwELAkAgBCACRw0AQZ8BIRAMxQILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNrQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZ8BIRAMxQILIABBADYCACAQQQFqIQFBDCEQDKoBCwJAIAQgAkcNAEGgASEQDMQCCyACIARrIAAoAgAiAWohFCAEIAFrQQNqIRACQANAIAQtAAAgAUG8z4CAAGotAABHDawBIAFBA0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGgASEQDMQCCyAAQQA2AgAgEEEBaiEBQQ0hEAypAQsCQCAEIAJHDQBBoQEhEAzDAgsCQAJAIAQtAABBun9qDgsArAGsAawBrAGsAawBrAGsAawBAawBCyAEQQFqIQRBiwEhEAyqAgsgBEEBaiEEQYwBIRAMqQILAkAgBCACRw0AQaIBIRAMwgILIAQtAABB0ABHDakBIARBAWohBAzpAQsCQCAEIAJHDQBBowEhEAzBAgsCQAJAIAQtAABBt39qDgcBqgGqAaoBqgGqAQCqAQsgBEEBaiEEQY4BIRAMqAILIARBAWohAUEiIRAMpgELAkAgBCACRw0AQaQBIRAMwAILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQcDPgIAAai0AAEcNqAEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQaQBIRAMwAILIABBADYCACAQQQFqIQFBHSEQDKUBCwJAIAQgAkcNAEGlASEQDL8CCwJAAkAgBC0AAEGuf2oOAwCoAQGoAQsgBEEBaiEEQZABIRAMpgILIARBAWohAUEEIRAMpAELAkAgBCACRw0AQaYBIRAMvgILAkACQAJAAkACQCAELQAAQb9/ag4VAKoBqgGqAaoBqgGqAaoBqgGqAaoBAaoBqgECqgGqAQOqAaoBBKoBCyAEQQFqIQRBiAEhEAyoAgsgBEEBaiEEQYkBIRAMpwILIARBAWohBEGKASEQDKYCCyAEQQFqIQRBjwEhEAylAgsgBEEBaiEEQZEBIRAMpAILAkAgBCACRw0AQacBIRAMvQILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNpQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQacBIRAMvQILIABBADYCACAQQQFqIQFBESEQDKIBCwJAIAQgAkcNAEGoASEQDLwCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHCz4CAAGotAABHDaQBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGoASEQDLwCCyAAQQA2AgAgEEEBaiEBQSwhEAyhAQsCQCAEIAJHDQBBqQEhEAy7AgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBxc+AgABqLQAARw2jASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBqQEhEAy7AgsgAEEANgIAIBBBAWohAUErIRAMoAELAkAgBCACRw0AQaoBIRAMugILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQcrPgIAAai0AAEcNogEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQaoBIRAMugILIABBADYCACAQQQFqIQFBFCEQDJ8BCwJAIAQgAkcNAEGrASEQDLkCCwJAAkACQAJAIAQtAABBvn9qDg8AAQKkAaQBpAGkAaQBpAGkAaQBpAGkAaQBA6QBCyAEQQFqIQRBkwEhEAyiAgsgBEEBaiEEQZQBIRAMoQILIARBAWohBEGVASEQDKACCyAEQQFqIQRBlgEhEAyfAgsCQCAEIAJHDQBBrAEhEAy4AgsgBC0AAEHFAEcNnwEgBEEBaiEEDOABCwJAIAQgAkcNAEGtASEQDLcCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHNz4CAAGotAABHDZ8BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGtASEQDLcCCyAAQQA2AgAgEEEBaiEBQQ4hEAycAQsCQCAEIAJHDQBBrgEhEAy2AgsgBC0AAEHQAEcNnQEgBEEBaiEBQSUhEAybAQsCQCAEIAJHDQBBrwEhEAy1AgsgAiAEayAAKAIAIgFqIRQgBCABa0EIaiEQAkADQCAELQAAIAFB0M+AgABqLQAARw2dASABQQhGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBrwEhEAy1AgsgAEEANgIAIBBBAWohAUEqIRAMmgELAkAgBCACRw0AQbABIRAMtAILAkACQCAELQAAQat/ag4LAJ0BnQGdAZ0BnQGdAZ0BnQGdAQGdAQsgBEEBaiEEQZoBIRAMmwILIARBAWohBEGbASEQDJoCCwJAIAQgAkcNAEGxASEQDLMCCwJAAkAgBC0AAEG/f2oOFACcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAEBnAELIARBAWohBEGZASEQDJoCCyAEQQFqIQRBnAEhEAyZAgsCQCAEIAJHDQBBsgEhEAyyAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFB2c+AgABqLQAARw2aASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBsgEhEAyyAgsgAEEANgIAIBBBAWohAUEhIRAMlwELAkAgBCACRw0AQbMBIRAMsQILIAIgBGsgACgCACIBaiEUIAQgAWtBBmohEAJAA0AgBC0AACABQd3PgIAAai0AAEcNmQEgAUEGRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbMBIRAMsQILIABBADYCACAQQQFqIQFBGiEQDJYBCwJAIAQgAkcNAEG0ASEQDLACCwJAAkACQCAELQAAQbt/ag4RAJoBmgGaAZoBmgGaAZoBmgGaAQGaAZoBmgGaAZoBApoBCyAEQQFqIQRBnQEhEAyYAgsgBEEBaiEEQZ4BIRAMlwILIARBAWohBEGfASEQDJYCCwJAIAQgAkcNAEG1ASEQDK8CCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUHkz4CAAGotAABHDZcBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG1ASEQDK8CCyAAQQA2AgAgEEEBaiEBQSghEAyUAQsCQCAEIAJHDQBBtgEhEAyuAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFB6s+AgABqLQAARw2WASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBtgEhEAyuAgsgAEEANgIAIBBBAWohAUEHIRAMkwELAkAgBCACRw0AQbcBIRAMrQILAkACQCAELQAAQbt/ag4OAJYBlgGWAZYBlgGWAZYBlgGWAZYBlgGWAQGWAQsgBEEBaiEEQaEBIRAMlAILIARBAWohBEGiASEQDJMCCwJAIAQgAkcNAEG4ASEQDKwCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDZQBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG4ASEQDKwCCyAAQQA2AgAgEEEBaiEBQRIhEAyRAQsCQCAEIAJHDQBBuQEhEAyrAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8M+AgABqLQAARw2TASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBuQEhEAyrAgsgAEEANgIAIBBBAWohAUEgIRAMkAELAkAgBCACRw0AQboBIRAMqgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfLPgIAAai0AAEcNkgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQboBIRAMqgILIABBADYCACAQQQFqIQFBDyEQDI8BCwJAIAQgAkcNAEG7ASEQDKkCCwJAAkAgBC0AAEG3f2oOBwCSAZIBkgGSAZIBAZIBCyAEQQFqIQRBpQEhEAyQAgsgBEEBaiEEQaYBIRAMjwILAkAgBCACRw0AQbwBIRAMqAILIAIgBGsgACgCACIBaiEUIAQgAWtBB2ohEAJAA0AgBC0AACABQfTPgIAAai0AAEcNkAEgAUEHRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbwBIRAMqAILIABBADYCACAQQQFqIQFBGyEQDI0BCwJAIAQgAkcNAEG9ASEQDKcCCwJAAkACQCAELQAAQb5/ag4SAJEBkQGRAZEBkQGRAZEBkQGRAQGRAZEBkQGRAZEBkQECkQELIARBAWohBEGkASEQDI8CCyAEQQFqIQRBpwEhEAyOAgsgBEEBaiEEQagBIRAMjQILAkAgBCACRw0AQb4BIRAMpgILIAQtAABBzgBHDY0BIARBAWohBAzPAQsCQCAEIAJHDQBBvwEhEAylAgsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAELQAAQb9/ag4VAAECA5wBBAUGnAGcAZwBBwgJCgucAQwNDg+cAQsgBEEBaiEBQegAIRAMmgILIARBAWohAUHpACEQDJkCCyAEQQFqIQFB7gAhEAyYAgsgBEEBaiEBQfIAIRAMlwILIARBAWohAUHzACEQDJYCCyAEQQFqIQFB9gAhEAyVAgsgBEEBaiEBQfcAIRAMlAILIARBAWohAUH6ACEQDJMCCyAEQQFqIQRBgwEhEAySAgsgBEEBaiEEQYQBIRAMkQILIARBAWohBEGFASEQDJACCyAEQQFqIQRBkgEhEAyPAgsgBEEBaiEEQZgBIRAMjgILIARBAWohBEGgASEQDI0CCyAEQQFqIQRBowEhEAyMAgsgBEEBaiEEQaoBIRAMiwILAkAgBCACRg0AIABBkICAgAA2AgggACAENgIEQasBIRAMiwILQcABIRAMowILIAAgBSACEKqAgIAAIgENiwEgBSEBDFwLAkAgBiACRg0AIAZBAWohBQyNAQtBwgEhEAyhAgsDQAJAIBAtAABBdmoOBIwBAACPAQALIBBBAWoiECACRw0AC0HDASEQDKACCwJAIAcgAkYNACAAQZGAgIAANgIIIAAgBzYCBCAHIQFBASEQDIcCC0HEASEQDJ8CCwJAIAcgAkcNAEHFASEQDJ8CCwJAAkAgBy0AAEF2ag4EAc4BzgEAzgELIAdBAWohBgyNAQsgB0EBaiEFDIkBCwJAIAcgAkcNAEHGASEQDJ4CCwJAAkAgBy0AAEF2ag4XAY8BjwEBjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BAI8BCyAHQQFqIQcLQbABIRAMhAILAkAgCCACRw0AQcgBIRAMnQILIAgtAABBIEcNjQEgAEEAOwEyIAhBAWohAUGzASEQDIMCCyABIRcCQANAIBciByACRg0BIActAABBUGpB/wFxIhBBCk8NzAECQCAALwEyIhRBmTNLDQAgACAUQQpsIhQ7ATIgEEH//wNzIBRB/v8DcUkNACAHQQFqIRcgACAUIBBqIhA7ATIgEEH//wNxQegHSQ0BCwtBACEQIABBADYCHCAAQcGJgIAANgIQIABBDTYCDCAAIAdBAWo2AhQMnAILQccBIRAMmwILIAAgCCACEK6AgIAAIhBFDcoBIBBBFUcNjAEgAEHIATYCHCAAIAg2AhQgAEHJl4CAADYCECAAQRU2AgxBACEQDJoCCwJAIAkgAkcNAEHMASEQDJoCC0EAIRRBASEXQQEhFkEAIRACQAJAAkACQAJAAkACQAJAAkAgCS0AAEFQag4KlgGVAQABAgMEBQYIlwELQQIhEAwGC0EDIRAMBQtBBCEQDAQLQQUhEAwDC0EGIRAMAgtBByEQDAELQQghEAtBACEXQQAhFkEAIRQMjgELQQkhEEEBIRRBACEXQQAhFgyNAQsCQCAKIAJHDQBBzgEhEAyZAgsgCi0AAEEuRw2OASAKQQFqIQkMygELIAsgAkcNjgFB0AEhEAyXAgsCQCALIAJGDQAgAEGOgICAADYCCCAAIAs2AgRBtwEhEAz+AQtB0QEhEAyWAgsCQCAEIAJHDQBB0gEhEAyWAgsgAiAEayAAKAIAIhBqIRQgBCAQa0EEaiELA0AgBC0AACAQQfzPgIAAai0AAEcNjgEgEEEERg3pASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHSASEQDJUCCyAAIAwgAhCsgICAACIBDY0BIAwhAQy4AQsCQCAEIAJHDQBB1AEhEAyUAgsgAiAEayAAKAIAIhBqIRQgBCAQa0EBaiEMA0AgBC0AACAQQYHQgIAAai0AAEcNjwEgEEEBRg2OASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHUASEQDJMCCwJAIAQgAkcNAEHWASEQDJMCCyACIARrIAAoAgAiEGohFCAEIBBrQQJqIQsDQCAELQAAIBBBg9CAgABqLQAARw2OASAQQQJGDZABIBBBAWohECAEQQFqIgQgAkcNAAsgACAUNgIAQdYBIRAMkgILAkAgBCACRw0AQdcBIRAMkgILAkACQCAELQAAQbt/ag4QAI8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwEBjwELIARBAWohBEG7ASEQDPkBCyAEQQFqIQRBvAEhEAz4AQsCQCAEIAJHDQBB2AEhEAyRAgsgBC0AAEHIAEcNjAEgBEEBaiEEDMQBCwJAIAQgAkYNACAAQZCAgIAANgIIIAAgBDYCBEG+ASEQDPcBC0HZASEQDI8CCwJAIAQgAkcNAEHaASEQDI8CCyAELQAAQcgARg3DASAAQQE6ACgMuQELIABBAjoALyAAIAQgAhCmgICAACIQDY0BQcIBIRAM9AELIAAtAChBf2oOArcBuQG4AQsDQAJAIAQtAABBdmoOBACOAY4BAI4BCyAEQQFqIgQgAkcNAAtB3QEhEAyLAgsgAEEAOgAvIAAtAC1BBHFFDYQCCyAAQQA6AC8gAEEBOgA0IAEhAQyMAQsgEEEVRg3aASAAQQA2AhwgACABNgIUIABBp46AgAA2AhAgAEESNgIMQQAhEAyIAgsCQCAAIBAgAhC0gICAACIEDQAgECEBDIECCwJAIARBFUcNACAAQQM2AhwgACAQNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAyIAgsgAEEANgIcIAAgEDYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAMhwILIBBBFUYN1gEgAEEANgIcIAAgATYCFCAAQdqNgIAANgIQIABBFDYCDEEAIRAMhgILIAAoAgQhFyAAQQA2AgQgECARp2oiFiEBIAAgFyAQIBYgFBsiEBC1gICAACIURQ2NASAAQQc2AhwgACAQNgIUIAAgFDYCDEEAIRAMhQILIAAgAC8BMEGAAXI7ATAgASEBC0EqIRAM6gELIBBBFUYN0QEgAEEANgIcIAAgATYCFCAAQYOMgIAANgIQIABBEzYCDEEAIRAMggILIBBBFUYNzwEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAMgQILIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDI0BCyAAQQw2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAMgAILIBBBFUYNzAEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAM/wELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDIwBCyAAQQ02AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM/gELIBBBFUYNyQEgAEEANgIcIAAgATYCFCAAQcaMgIAANgIQIABBIzYCDEEAIRAM/QELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC5gICAACIQDQAgAUEBaiEBDIsBCyAAQQ42AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM/AELIABBADYCHCAAIAE2AhQgAEHAlYCAADYCECAAQQI2AgxBACEQDPsBCyAQQRVGDcUBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDPoBCyAAQRA2AhwgACABNgIUIAAgEDYCDEEAIRAM+QELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC5gICAACIEDQAgAUEBaiEBDPEBCyAAQRE2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM+AELIBBBFUYNwQEgAEEANgIcIAAgATYCFCAAQcaMgIAANgIQIABBIzYCDEEAIRAM9wELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC5gICAACIQDQAgAUEBaiEBDIgBCyAAQRM2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM9gELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC5gICAACIEDQAgAUEBaiEBDO0BCyAAQRQ2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM9QELIBBBFUYNvQEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAM9AELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDIYBCyAAQRY2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM8wELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC3gICAACIEDQAgAUEBaiEBDOkBCyAAQRc2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM8gELIABBADYCHCAAIAE2AhQgAEHNk4CAADYCECAAQQw2AgxBACEQDPEBC0IBIRELIBBBAWohAQJAIAApAyAiEkL//////////w9WDQAgACASQgSGIBGENwMgIAEhAQyEAQsgAEEANgIcIAAgATYCFCAAQa2JgIAANgIQIABBDDYCDEEAIRAM7wELIABBADYCHCAAIBA2AhQgAEHNk4CAADYCECAAQQw2AgxBACEQDO4BCyAAKAIEIRcgAEEANgIEIBAgEadqIhYhASAAIBcgECAWIBQbIhAQtYCAgAAiFEUNcyAAQQU2AhwgACAQNgIUIAAgFDYCDEEAIRAM7QELIABBADYCHCAAIBA2AhQgAEGqnICAADYCECAAQQ82AgxBACEQDOwBCyAAIBAgAhC0gICAACIBDQEgECEBC0EOIRAM0QELAkAgAUEVRw0AIABBAjYCHCAAIBA2AhQgAEGwmICAADYCECAAQRU2AgxBACEQDOoBCyAAQQA2AhwgACAQNgIUIABBp46AgAA2AhAgAEESNgIMQQAhEAzpAQsgAUEBaiEQAkAgAC8BMCIBQYABcUUNAAJAIAAgECACELuAgIAAIgENACAQIQEMcAsgAUEVRw26ASAAQQU2AhwgACAQNgIUIABB+ZeAgAA2AhAgAEEVNgIMQQAhEAzpAQsCQCABQaAEcUGgBEcNACAALQAtQQJxDQAgAEEANgIcIAAgEDYCFCAAQZaTgIAANgIQIABBBDYCDEEAIRAM6QELIAAgECACEL2AgIAAGiAQIQECQAJAAkACQAJAIAAgECACELOAgIAADhYCAQAEBAQEBAQEBAQEBAQEBAQEBAQDBAsgAEEBOgAuCyAAIAAvATBBwAByOwEwIBAhAQtBJiEQDNEBCyAAQSM2AhwgACAQNgIUIABBpZaAgAA2AhAgAEEVNgIMQQAhEAzpAQsgAEEANgIcIAAgEDYCFCAAQdWLgIAANgIQIABBETYCDEEAIRAM6AELIAAtAC1BAXFFDQFBwwEhEAzOAQsCQCANIAJGDQADQAJAIA0tAABBIEYNACANIQEMxAELIA1BAWoiDSACRw0AC0ElIRAM5wELQSUhEAzmAQsgACgCBCEEIABBADYCBCAAIAQgDRCvgICAACIERQ2tASAAQSY2AhwgACAENgIMIAAgDUEBajYCFEEAIRAM5QELIBBBFUYNqwEgAEEANgIcIAAgATYCFCAAQf2NgIAANgIQIABBHTYCDEEAIRAM5AELIABBJzYCHCAAIAE2AhQgACAQNgIMQQAhEAzjAQsgECEBQQEhFAJAAkACQAJAAkACQAJAIAAtACxBfmoOBwYFBQMBAgAFCyAAIAAvATBBCHI7ATAMAwtBAiEUDAELQQQhFAsgAEEBOgAsIAAgAC8BMCAUcjsBMAsgECEBC0ErIRAMygELIABBADYCHCAAIBA2AhQgAEGrkoCAADYCECAAQQs2AgxBACEQDOIBCyAAQQA2AhwgACABNgIUIABB4Y+AgAA2AhAgAEEKNgIMQQAhEAzhAQsgAEEAOgAsIBAhAQy9AQsgECEBQQEhFAJAAkACQAJAAkAgAC0ALEF7ag4EAwECAAULIAAgAC8BMEEIcjsBMAwDC0ECIRQMAQtBBCEUCyAAQQE6ACwgACAALwEwIBRyOwEwCyAQIQELQSkhEAzFAQsgAEEANgIcIAAgATYCFCAAQfCUgIAANgIQIABBAzYCDEEAIRAM3QELAkAgDi0AAEENRw0AIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDkEBaiEBDHULIABBLDYCHCAAIAE2AgwgACAOQQFqNgIUQQAhEAzdAQsgAC0ALUEBcUUNAUHEASEQDMMBCwJAIA4gAkcNAEEtIRAM3AELAkACQANAAkAgDi0AAEF2ag4EAgAAAwALIA5BAWoiDiACRw0AC0EtIRAM3QELIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDiEBDHQLIABBLDYCHCAAIA42AhQgACABNgIMQQAhEAzcAQsgACgCBCEBIABBADYCBAJAIAAgASAOELGAgIAAIgENACAOQQFqIQEMcwsgAEEsNgIcIAAgATYCDCAAIA5BAWo2AhRBACEQDNsBCyAAKAIEIQQgAEEANgIEIAAgBCAOELGAgIAAIgQNoAEgDiEBDM4BCyAQQSxHDQEgAUEBaiEQQQEhAQJAAkACQAJAAkAgAC0ALEF7ag4EAwECBAALIBAhAQwEC0ECIQEMAQtBBCEBCyAAQQE6ACwgACAALwEwIAFyOwEwIBAhAQwBCyAAIAAvATBBCHI7ATAgECEBC0E5IRAMvwELIABBADoALCABIQELQTQhEAy9AQsgACAALwEwQSByOwEwIAEhAQwCCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQsYCAgAAiBA0AIAEhAQzHAQsgAEE3NgIcIAAgATYCFCAAIAQ2AgxBACEQDNQBCyAAQQg6ACwgASEBC0EwIRAMuQELAkAgAC0AKEEBRg0AIAEhAQwECyAALQAtQQhxRQ2TASABIQEMAwsgAC0AMEEgcQ2UAUHFASEQDLcBCwJAIA8gAkYNAAJAA0ACQCAPLQAAQVBqIgFB/wFxQQpJDQAgDyEBQTUhEAy6AQsgACkDICIRQpmz5syZs+bMGVYNASAAIBFCCn4iETcDICARIAGtQv8BgyISQn+FVg0BIAAgESASfDcDICAPQQFqIg8gAkcNAAtBOSEQDNEBCyAAKAIEIQIgAEEANgIEIAAgAiAPQQFqIgQQsYCAgAAiAg2VASAEIQEMwwELQTkhEAzPAQsCQCAALwEwIgFBCHFFDQAgAC0AKEEBRw0AIAAtAC1BCHFFDZABCyAAIAFB9/sDcUGABHI7ATAgDyEBC0E3IRAMtAELIAAgAC8BMEEQcjsBMAyrAQsgEEEVRg2LASAAQQA2AhwgACABNgIUIABB8I6AgAA2AhAgAEEcNgIMQQAhEAzLAQsgAEHDADYCHCAAIAE2AgwgACANQQFqNgIUQQAhEAzKAQsCQCABLQAAQTpHDQAgACgCBCEQIABBADYCBAJAIAAgECABEK+AgIAAIhANACABQQFqIQEMYwsgAEHDADYCHCAAIBA2AgwgACABQQFqNgIUQQAhEAzKAQsgAEEANgIcIAAgATYCFCAAQbGRgIAANgIQIABBCjYCDEEAIRAMyQELIABBADYCHCAAIAE2AhQgAEGgmYCAADYCECAAQR42AgxBACEQDMgBCyAAQQA2AgALIABBgBI7ASogACAXQQFqIgEgAhCogICAACIQDQEgASEBC0HHACEQDKwBCyAQQRVHDYMBIABB0QA2AhwgACABNgIUIABB45eAgAA2AhAgAEEVNgIMQQAhEAzEAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMXgsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAzDAQsgAEEANgIcIAAgFDYCFCAAQcGogIAANgIQIABBBzYCDCAAQQA2AgBBACEQDMIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxdCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDMEBC0EAIRAgAEEANgIcIAAgATYCFCAAQYCRgIAANgIQIABBCTYCDAzAAQsgEEEVRg19IABBADYCHCAAIAE2AhQgAEGUjYCAADYCECAAQSE2AgxBACEQDL8BC0EBIRZBACEXQQAhFEEBIRALIAAgEDoAKyABQQFqIQECQAJAIAAtAC1BEHENAAJAAkACQCAALQAqDgMBAAIECyAWRQ0DDAILIBQNAQwCCyAXRQ0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQrYCAgAAiEA0AIAEhAQxcCyAAQdgANgIcIAAgATYCFCAAIBA2AgxBACEQDL4BCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQytAQsgAEHZADYCHCAAIAE2AhQgACAENgIMQQAhEAy9AQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMqwELIABB2gA2AhwgACABNgIUIAAgBDYCDEEAIRAMvAELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKkBCyAAQdwANgIcIAAgATYCFCAAIAQ2AgxBACEQDLsBCwJAIAEtAABBUGoiEEH/AXFBCk8NACAAIBA6ACogAUEBaiEBQc8AIRAMogELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKcBCyAAQd4ANgIcIAAgATYCFCAAIAQ2AgxBACEQDLoBCyAAQQA2AgAgF0EBaiEBAkAgAC0AKUEjTw0AIAEhAQxZCyAAQQA2AhwgACABNgIUIABB04mAgAA2AhAgAEEINgIMQQAhEAy5AQsgAEEANgIAC0EAIRAgAEEANgIcIAAgATYCFCAAQZCzgIAANgIQIABBCDYCDAy3AQsgAEEANgIAIBdBAWohAQJAIAAtAClBIUcNACABIQEMVgsgAEEANgIcIAAgATYCFCAAQZuKgIAANgIQIABBCDYCDEEAIRAMtgELIABBADYCACAXQQFqIQECQCAALQApIhBBXWpBC08NACABIQEMVQsCQCAQQQZLDQBBASAQdEHKAHFFDQAgASEBDFULQQAhECAAQQA2AhwgACABNgIUIABB94mAgAA2AhAgAEEINgIMDLUBCyAQQRVGDXEgAEEANgIcIAAgATYCFCAAQbmNgIAANgIQIABBGjYCDEEAIRAMtAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDFQLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMswELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDE0LIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMsgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDE0LIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMsQELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDFELIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMsAELIABBADYCHCAAIAE2AhQgAEHGioCAADYCECAAQQc2AgxBACEQDK8BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxJCyAAQdIANgIcIAAgATYCFCAAIBA2AgxBACEQDK4BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxJCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDK0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDKwBCyAAQQA2AhwgACABNgIUIABB3IiAgAA2AhAgAEEHNgIMQQAhEAyrAQsgEEE/Rw0BIAFBAWohAQtBBSEQDJABC0EAIRAgAEEANgIcIAAgATYCFCAAQf2SgIAANgIQIABBBzYCDAyoAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMQgsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAynAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMQgsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAymAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMRgsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAylAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMPwsgAEHSADYCHCAAIBQ2AhQgACABNgIMQQAhEAykAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMPwsgAEHTADYCHCAAIBQ2AhQgACABNgIMQQAhEAyjAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMQwsgAEHlADYCHCAAIBQ2AhQgACABNgIMQQAhEAyiAQsgAEEANgIcIAAgFDYCFCAAQcOPgIAANgIQIABBBzYCDEEAIRAMoQELIABBADYCHCAAIAE2AhQgAEHDj4CAADYCECAAQQc2AgxBACEQDKABC0EAIRAgAEEANgIcIAAgFDYCFCAAQYycgIAANgIQIABBBzYCDAyfAQsgAEEANgIcIAAgFDYCFCAAQYycgIAANgIQIABBBzYCDEEAIRAMngELIABBADYCHCAAIBQ2AhQgAEH+kYCAADYCECAAQQc2AgxBACEQDJ0BCyAAQQA2AhwgACABNgIUIABBjpuAgAA2AhAgAEEGNgIMQQAhEAycAQsgEEEVRg1XIABBADYCHCAAIAE2AhQgAEHMjoCAADYCECAAQSA2AgxBACEQDJsBCyAAQQA2AgAgEEEBaiEBQSQhEAsgACAQOgApIAAoAgQhECAAQQA2AgQgACAQIAEQq4CAgAAiEA1UIAEhAQw+CyAAQQA2AgALQQAhECAAQQA2AhwgACAENgIUIABB8ZuAgAA2AhAgAEEGNgIMDJcBCyABQRVGDVAgAEEANgIcIAAgBTYCFCAAQfCMgIAANgIQIABBGzYCDEEAIRAMlgELIAAoAgQhBSAAQQA2AgQgACAFIBAQqYCAgAAiBQ0BIBBBAWohBQtBrQEhEAx7CyAAQcEBNgIcIAAgBTYCDCAAIBBBAWo2AhRBACEQDJMBCyAAKAIEIQYgAEEANgIEIAAgBiAQEKmAgIAAIgYNASAQQQFqIQYLQa4BIRAMeAsgAEHCATYCHCAAIAY2AgwgACAQQQFqNgIUQQAhEAyQAQsgAEEANgIcIAAgBzYCFCAAQZeLgIAANgIQIABBDTYCDEEAIRAMjwELIABBADYCHCAAIAg2AhQgAEHjkICAADYCECAAQQk2AgxBACEQDI4BCyAAQQA2AhwgACAINgIUIABBlI2AgAA2AhAgAEEhNgIMQQAhEAyNAQtBASEWQQAhF0EAIRRBASEQCyAAIBA6ACsgCUEBaiEIAkACQCAALQAtQRBxDQACQAJAAkAgAC0AKg4DAQACBAsgFkUNAwwCCyAUDQEMAgsgF0UNAQsgACgCBCEQIABBADYCBCAAIBAgCBCtgICAACIQRQ09IABByQE2AhwgACAINgIUIAAgEDYCDEEAIRAMjAELIAAoAgQhBCAAQQA2AgQgACAEIAgQrYCAgAAiBEUNdiAAQcoBNgIcIAAgCDYCFCAAIAQ2AgxBACEQDIsBCyAAKAIEIQQgAEEANgIEIAAgBCAJEK2AgIAAIgRFDXQgAEHLATYCHCAAIAk2AhQgACAENgIMQQAhEAyKAQsgACgCBCEEIABBADYCBCAAIAQgChCtgICAACIERQ1yIABBzQE2AhwgACAKNgIUIAAgBDYCDEEAIRAMiQELAkAgCy0AAEFQaiIQQf8BcUEKTw0AIAAgEDoAKiALQQFqIQpBtgEhEAxwCyAAKAIEIQQgAEEANgIEIAAgBCALEK2AgIAAIgRFDXAgAEHPATYCHCAAIAs2AhQgACAENgIMQQAhEAyIAQsgAEEANgIcIAAgBDYCFCAAQZCzgIAANgIQIABBCDYCDCAAQQA2AgBBACEQDIcBCyABQRVGDT8gAEEANgIcIAAgDDYCFCAAQcyOgIAANgIQIABBIDYCDEEAIRAMhgELIABBgQQ7ASggACgCBCEQIABCADcDACAAIBAgDEEBaiIMEKuAgIAAIhBFDTggAEHTATYCHCAAIAw2AhQgACAQNgIMQQAhEAyFAQsgAEEANgIAC0EAIRAgAEEANgIcIAAgBDYCFCAAQdibgIAANgIQIABBCDYCDAyDAQsgACgCBCEQIABCADcDACAAIBAgC0EBaiILEKuAgIAAIhANAUHGASEQDGkLIABBAjoAKAxVCyAAQdUBNgIcIAAgCzYCFCAAIBA2AgxBACEQDIABCyAQQRVGDTcgAEEANgIcIAAgBDYCFCAAQaSMgIAANgIQIABBEDYCDEEAIRAMfwsgAC0ANEEBRw00IAAgBCACELyAgIAAIhBFDTQgEEEVRw01IABB3AE2AhwgACAENgIUIABB1ZaAgAA2AhAgAEEVNgIMQQAhEAx+C0EAIRAgAEEANgIcIABBr4uAgAA2AhAgAEECNgIMIAAgFEEBajYCFAx9C0EAIRAMYwtBAiEQDGILQQ0hEAxhC0EPIRAMYAtBJSEQDF8LQRMhEAxeC0EVIRAMXQtBFiEQDFwLQRchEAxbC0EYIRAMWgtBGSEQDFkLQRohEAxYC0EbIRAMVwtBHCEQDFYLQR0hEAxVC0EfIRAMVAtBISEQDFMLQSMhEAxSC0HGACEQDFELQS4hEAxQC0EvIRAMTwtBOyEQDE4LQT0hEAxNC0HIACEQDEwLQckAIRAMSwtBywAhEAxKC0HMACEQDEkLQc4AIRAMSAtB0QAhEAxHC0HVACEQDEYLQdgAIRAMRQtB2QAhEAxEC0HbACEQDEMLQeQAIRAMQgtB5QAhEAxBC0HxACEQDEALQfQAIRAMPwtBjQEhEAw+C0GXASEQDD0LQakBIRAMPAtBrAEhEAw7C0HAASEQDDoLQbkBIRAMOQtBrwEhEAw4C0GxASEQDDcLQbIBIRAMNgtBtAEhEAw1C0G1ASEQDDQLQboBIRAMMwtBvQEhEAwyC0G/ASEQDDELQcEBIRAMMAsgAEEANgIcIAAgBDYCFCAAQemLgIAANgIQIABBHzYCDEEAIRAMSAsgAEHbATYCHCAAIAQ2AhQgAEH6loCAADYCECAAQRU2AgxBACEQDEcLIABB+AA2AhwgACAMNgIUIABBypiAgAA2AhAgAEEVNgIMQQAhEAxGCyAAQdEANgIcIAAgBTYCFCAAQbCXgIAANgIQIABBFTYCDEEAIRAMRQsgAEH5ADYCHCAAIAE2AhQgACAQNgIMQQAhEAxECyAAQfgANgIcIAAgATYCFCAAQcqYgIAANgIQIABBFTYCDEEAIRAMQwsgAEHkADYCHCAAIAE2AhQgAEHjl4CAADYCECAAQRU2AgxBACEQDEILIABB1wA2AhwgACABNgIUIABByZeAgAA2AhAgAEEVNgIMQQAhEAxBCyAAQQA2AhwgACABNgIUIABBuY2AgAA2AhAgAEEaNgIMQQAhEAxACyAAQcIANgIcIAAgATYCFCAAQeOYgIAANgIQIABBFTYCDEEAIRAMPwsgAEEANgIEIAAgDyAPELGAgIAAIgRFDQEgAEE6NgIcIAAgBDYCDCAAIA9BAWo2AhRBACEQDD4LIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCxgICAACIERQ0AIABBOzYCHCAAIAQ2AgwgACABQQFqNgIUQQAhEAw+CyABQQFqIQEMLQsgD0EBaiEBDC0LIABBADYCHCAAIA82AhQgAEHkkoCAADYCECAAQQQ2AgxBACEQDDsLIABBNjYCHCAAIAQ2AhQgACACNgIMQQAhEAw6CyAAQS42AhwgACAONgIUIAAgBDYCDEEAIRAMOQsgAEHQADYCHCAAIAE2AhQgAEGRmICAADYCECAAQRU2AgxBACEQDDgLIA1BAWohAQwsCyAAQRU2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAw2CyAAQRs2AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAw1CyAAQQ82AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAw0CyAAQQs2AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAwzCyAAQRo2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAwyCyAAQQs2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAwxCyAAQQo2AhwgACABNgIUIABB5JaAgAA2AhAgAEEVNgIMQQAhEAwwCyAAQR42AhwgACABNgIUIABB+ZeAgAA2AhAgAEEVNgIMQQAhEAwvCyAAQQA2AhwgACAQNgIUIABB2o2AgAA2AhAgAEEUNgIMQQAhEAwuCyAAQQQ2AhwgACABNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAwtCyAAQQA2AgAgC0EBaiELC0G4ASEQDBILIABBADYCACAQQQFqIQFB9QAhEAwRCyABIQECQCAALQApQQVHDQBB4wAhEAwRC0HiACEQDBALQQAhECAAQQA2AhwgAEHkkYCAADYCECAAQQc2AgwgACAUQQFqNgIUDCgLIABBADYCACAXQQFqIQFBwAAhEAwOC0EBIQELIAAgAToALCAAQQA2AgAgF0EBaiEBC0EoIRAMCwsgASEBC0E4IRAMCQsCQCABIg8gAkYNAANAAkAgDy0AAEGAvoCAAGotAAAiAUEBRg0AIAFBAkcNAyAPQQFqIQEMBAsgD0EBaiIPIAJHDQALQT4hEAwiC0E+IRAMIQsgAEEAOgAsIA8hAQwBC0ELIRAMBgtBOiEQDAULIAFBAWohAUEtIRAMBAsgACABOgAsIABBADYCACAWQQFqIQFBDCEQDAMLIABBADYCACAXQQFqIQFBCiEQDAILIABBADYCAAsgAEEAOgAsIA0hAUEJIRAMAAsLQQAhECAAQQA2AhwgACALNgIUIABBzZCAgAA2AhAgAEEJNgIMDBcLQQAhECAAQQA2AhwgACAKNgIUIABB6YqAgAA2AhAgAEEJNgIMDBYLQQAhECAAQQA2AhwgACAJNgIUIABBt5CAgAA2AhAgAEEJNgIMDBULQQAhECAAQQA2AhwgACAINgIUIABBnJGAgAA2AhAgAEEJNgIMDBQLQQAhECAAQQA2AhwgACABNgIUIABBzZCAgAA2AhAgAEEJNgIMDBMLQQAhECAAQQA2AhwgACABNgIUIABB6YqAgAA2AhAgAEEJNgIMDBILQQAhECAAQQA2AhwgACABNgIUIABBt5CAgAA2AhAgAEEJNgIMDBELQQAhECAAQQA2AhwgACABNgIUIABBnJGAgAA2AhAgAEEJNgIMDBALQQAhECAAQQA2AhwgACABNgIUIABBl5WAgAA2AhAgAEEPNgIMDA8LQQAhECAAQQA2AhwgACABNgIUIABBl5WAgAA2AhAgAEEPNgIMDA4LQQAhECAAQQA2AhwgACABNgIUIABBwJKAgAA2AhAgAEELNgIMDA0LQQAhECAAQQA2AhwgACABNgIUIABBlYmAgAA2AhAgAEELNgIMDAwLQQAhECAAQQA2AhwgACABNgIUIABB4Y+AgAA2AhAgAEEKNgIMDAsLQQAhECAAQQA2AhwgACABNgIUIABB+4+AgAA2AhAgAEEKNgIMDAoLQQAhECAAQQA2AhwgACABNgIUIABB8ZmAgAA2AhAgAEECNgIMDAkLQQAhECAAQQA2AhwgACABNgIUIABBxJSAgAA2AhAgAEECNgIMDAgLQQAhECAAQQA2AhwgACABNgIUIABB8pWAgAA2AhAgAEECNgIMDAcLIABBAjYCHCAAIAE2AhQgAEGcmoCAADYCECAAQRY2AgxBACEQDAYLQQEhEAwFC0HUACEQIAEiBCACRg0EIANBCGogACAEIAJB2MKAgABBChDFgICAACADKAIMIQQgAygCCA4DAQQCAAsQyoCAgAAACyAAQQA2AhwgAEG1moCAADYCECAAQRc2AgwgACAEQQFqNgIUQQAhEAwCCyAAQQA2AhwgACAENgIUIABBypqAgAA2AhAgAEEJNgIMQQAhEAwBCwJAIAEiBCACRw0AQSIhEAwBCyAAQYmAgIAANgIIIAAgBDYCBEEhIRALIANBEGokgICAgAAgEAuvAQECfyABKAIAIQYCQAJAIAIgA0YNACAEIAZqIQQgBiADaiACayEHIAIgBkF/cyAFaiIGaiEFA0ACQCACLQAAIAQtAABGDQBBAiEEDAMLAkAgBg0AQQAhBCAFIQIMAwsgBkF/aiEGIARBAWohBCACQQFqIgIgA0cNAAsgByEGIAMhAgsgAEEBNgIAIAEgBjYCACAAIAI2AgQPCyABQQA2AgAgACAENgIAIAAgAjYCBAsKACAAEMeAgIAAC/I2AQt/I4CAgIAAQRBrIgEkgICAgAACQEEAKAKg0ICAAA0AQQAQy4CAgABBgNSEgABrIgJB2QBJDQBBACEDAkBBACgC4NOAgAAiBA0AQQBCfzcC7NOAgABBAEKAgISAgIDAADcC5NOAgABBACABQQhqQXBxQdiq1aoFcyIENgLg04CAAEEAQQA2AvTTgIAAQQBBADYCxNOAgAALQQAgAjYCzNOAgABBAEGA1ISAADYCyNOAgABBAEGA1ISAADYCmNCAgABBACAENgKs0ICAAEEAQX82AqjQgIAAA0AgA0HE0ICAAGogA0G40ICAAGoiBDYCACAEIANBsNCAgABqIgU2AgAgA0G80ICAAGogBTYCACADQczQgIAAaiADQcDQgIAAaiIFNgIAIAUgBDYCACADQdTQgIAAaiADQcjQgIAAaiIENgIAIAQgBTYCACADQdDQgIAAaiAENgIAIANBIGoiA0GAAkcNAAtBgNSEgABBeEGA1ISAAGtBD3FBAEGA1ISAAEEIakEPcRsiA2oiBEEEaiACQUhqIgUgA2siA0EBcjYCAEEAQQAoAvDTgIAANgKk0ICAAEEAIAM2ApTQgIAAQQAgBDYCoNCAgABBgNSEgAAgBWpBODYCBAsCQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEHsAUsNAAJAQQAoAojQgIAAIgZBECAAQRNqQXBxIABBC0kbIgJBA3YiBHYiA0EDcUUNAAJAAkAgA0EBcSAEckEBcyIFQQN0IgRBsNCAgABqIgMgBEG40ICAAGooAgAiBCgCCCICRw0AQQAgBkF+IAV3cTYCiNCAgAAMAQsgAyACNgIIIAIgAzYCDAsgBEEIaiEDIAQgBUEDdCIFQQNyNgIEIAQgBWoiBCAEKAIEQQFyNgIEDAwLIAJBACgCkNCAgAAiB00NAQJAIANFDQACQAJAIAMgBHRBAiAEdCIDQQAgA2tycSIDQQAgA2txQX9qIgMgA0EMdkEQcSIDdiIEQQV2QQhxIgUgA3IgBCAFdiIDQQJ2QQRxIgRyIAMgBHYiA0EBdkECcSIEciADIAR2IgNBAXZBAXEiBHIgAyAEdmoiBEEDdCIDQbDQgIAAaiIFIANBuNCAgABqKAIAIgMoAggiAEcNAEEAIAZBfiAEd3EiBjYCiNCAgAAMAQsgBSAANgIIIAAgBTYCDAsgAyACQQNyNgIEIAMgBEEDdCIEaiAEIAJrIgU2AgAgAyACaiIAIAVBAXI2AgQCQCAHRQ0AIAdBeHFBsNCAgABqIQJBACgCnNCAgAAhBAJAAkAgBkEBIAdBA3Z0IghxDQBBACAGIAhyNgKI0ICAACACIQgMAQsgAigCCCEICyAIIAQ2AgwgAiAENgIIIAQgAjYCDCAEIAg2AggLIANBCGohA0EAIAA2ApzQgIAAQQAgBTYCkNCAgAAMDAtBACgCjNCAgAAiCUUNASAJQQAgCWtxQX9qIgMgA0EMdkEQcSIDdiIEQQV2QQhxIgUgA3IgBCAFdiIDQQJ2QQRxIgRyIAMgBHYiA0EBdkECcSIEciADIAR2IgNBAXZBAXEiBHIgAyAEdmpBAnRBuNKAgABqKAIAIgAoAgRBeHEgAmshBCAAIQUCQANAAkAgBSgCECIDDQAgBUEUaigCACIDRQ0CCyADKAIEQXhxIAJrIgUgBCAFIARJIgUbIQQgAyAAIAUbIQAgAyEFDAALCyAAKAIYIQoCQCAAKAIMIgggAEYNACAAKAIIIgNBACgCmNCAgABJGiAIIAM2AgggAyAINgIMDAsLAkAgAEEUaiIFKAIAIgMNACAAKAIQIgNFDQMgAEEQaiEFCwNAIAUhCyADIghBFGoiBSgCACIDDQAgCEEQaiEFIAgoAhAiAw0ACyALQQA2AgAMCgtBfyECIABBv39LDQAgAEETaiIDQXBxIQJBACgCjNCAgAAiB0UNAEEAIQsCQCACQYACSQ0AQR8hCyACQf///wdLDQAgA0EIdiIDIANBgP4/akEQdkEIcSIDdCIEIARBgOAfakEQdkEEcSIEdCIFIAVBgIAPakEQdkECcSIFdEEPdiADIARyIAVyayIDQQF0IAIgA0EVanZBAXFyQRxqIQsLQQAgAmshBAJAAkACQAJAIAtBAnRBuNKAgABqKAIAIgUNAEEAIQNBACEIDAELQQAhAyACQQBBGSALQQF2ayALQR9GG3QhAEEAIQgDQAJAIAUoAgRBeHEgAmsiBiAETw0AIAYhBCAFIQggBg0AQQAhBCAFIQggBSEDDAMLIAMgBUEUaigCACIGIAYgBSAAQR12QQRxakEQaigCACIFRhsgAyAGGyEDIABBAXQhACAFDQALCwJAIAMgCHINAEEAIQhBAiALdCIDQQAgA2tyIAdxIgNFDQMgA0EAIANrcUF/aiIDIANBDHZBEHEiA3YiBUEFdkEIcSIAIANyIAUgAHYiA0ECdkEEcSIFciADIAV2IgNBAXZBAnEiBXIgAyAFdiIDQQF2QQFxIgVyIAMgBXZqQQJ0QbjSgIAAaigCACEDCyADRQ0BCwNAIAMoAgRBeHEgAmsiBiAESSEAAkAgAygCECIFDQAgA0EUaigCACEFCyAGIAQgABshBCADIAggABshCCAFIQMgBQ0ACwsgCEUNACAEQQAoApDQgIAAIAJrTw0AIAgoAhghCwJAIAgoAgwiACAIRg0AIAgoAggiA0EAKAKY0ICAAEkaIAAgAzYCCCADIAA2AgwMCQsCQCAIQRRqIgUoAgAiAw0AIAgoAhAiA0UNAyAIQRBqIQULA0AgBSEGIAMiAEEUaiIFKAIAIgMNACAAQRBqIQUgACgCECIDDQALIAZBADYCAAwICwJAQQAoApDQgIAAIgMgAkkNAEEAKAKc0ICAACEEAkACQCADIAJrIgVBEEkNACAEIAJqIgAgBUEBcjYCBEEAIAU2ApDQgIAAQQAgADYCnNCAgAAgBCADaiAFNgIAIAQgAkEDcjYCBAwBCyAEIANBA3I2AgQgBCADaiIDIAMoAgRBAXI2AgRBAEEANgKc0ICAAEEAQQA2ApDQgIAACyAEQQhqIQMMCgsCQEEAKAKU0ICAACIAIAJNDQBBACgCoNCAgAAiAyACaiIEIAAgAmsiBUEBcjYCBEEAIAU2ApTQgIAAQQAgBDYCoNCAgAAgAyACQQNyNgIEIANBCGohAwwKCwJAAkBBACgC4NOAgABFDQBBACgC6NOAgAAhBAwBC0EAQn83AuzTgIAAQQBCgICEgICAwAA3AuTTgIAAQQAgAUEMakFwcUHYqtWqBXM2AuDTgIAAQQBBADYC9NOAgABBAEEANgLE04CAAEGAgAQhBAtBACEDAkAgBCACQccAaiIHaiIGQQAgBGsiC3EiCCACSw0AQQBBMDYC+NOAgAAMCgsCQEEAKALA04CAACIDRQ0AAkBBACgCuNOAgAAiBCAIaiIFIARNDQAgBSADTQ0BC0EAIQNBAEEwNgL404CAAAwKC0EALQDE04CAAEEEcQ0EAkACQAJAQQAoAqDQgIAAIgRFDQBByNOAgAAhAwNAAkAgAygCACIFIARLDQAgBSADKAIEaiAESw0DCyADKAIIIgMNAAsLQQAQy4CAgAAiAEF/Rg0FIAghBgJAQQAoAuTTgIAAIgNBf2oiBCAAcUUNACAIIABrIAQgAGpBACADa3FqIQYLIAYgAk0NBSAGQf7///8HSw0FAkBBACgCwNOAgAAiA0UNAEEAKAK404CAACIEIAZqIgUgBE0NBiAFIANLDQYLIAYQy4CAgAAiAyAARw0BDAcLIAYgAGsgC3EiBkH+////B0sNBCAGEMuAgIAAIgAgAygCACADKAIEakYNAyAAIQMLAkAgA0F/Rg0AIAJByABqIAZNDQACQCAHIAZrQQAoAujTgIAAIgRqQQAgBGtxIgRB/v///wdNDQAgAyEADAcLAkAgBBDLgICAAEF/Rg0AIAQgBmohBiADIQAMBwtBACAGaxDLgICAABoMBAsgAyEAIANBf0cNBQwDC0EAIQgMBwtBACEADAULIABBf0cNAgtBAEEAKALE04CAAEEEcjYCxNOAgAALIAhB/v///wdLDQEgCBDLgICAACEAQQAQy4CAgAAhAyAAQX9GDQEgA0F/Rg0BIAAgA08NASADIABrIgYgAkE4ak0NAQtBAEEAKAK404CAACAGaiIDNgK404CAAAJAIANBACgCvNOAgABNDQBBACADNgK804CAAAsCQAJAAkACQEEAKAKg0ICAACIERQ0AQcjTgIAAIQMDQCAAIAMoAgAiBSADKAIEIghqRg0CIAMoAggiAw0ADAMLCwJAAkBBACgCmNCAgAAiA0UNACAAIANPDQELQQAgADYCmNCAgAALQQAhA0EAIAY2AszTgIAAQQAgADYCyNOAgABBAEF/NgKo0ICAAEEAQQAoAuDTgIAANgKs0ICAAEEAQQA2AtTTgIAAA0AgA0HE0ICAAGogA0G40ICAAGoiBDYCACAEIANBsNCAgABqIgU2AgAgA0G80ICAAGogBTYCACADQczQgIAAaiADQcDQgIAAaiIFNgIAIAUgBDYCACADQdTQgIAAaiADQcjQgIAAaiIENgIAIAQgBTYCACADQdDQgIAAaiAENgIAIANBIGoiA0GAAkcNAAsgAEF4IABrQQ9xQQAgAEEIakEPcRsiA2oiBCAGQUhqIgUgA2siA0EBcjYCBEEAQQAoAvDTgIAANgKk0ICAAEEAIAM2ApTQgIAAQQAgBDYCoNCAgAAgACAFakE4NgIEDAILIAMtAAxBCHENACAEIAVJDQAgBCAATw0AIARBeCAEa0EPcUEAIARBCGpBD3EbIgVqIgBBACgClNCAgAAgBmoiCyAFayIFQQFyNgIEIAMgCCAGajYCBEEAQQAoAvDTgIAANgKk0ICAAEEAIAU2ApTQgIAAQQAgADYCoNCAgAAgBCALakE4NgIEDAELAkAgAEEAKAKY0ICAACIITw0AQQAgADYCmNCAgAAgACEICyAAIAZqIQVByNOAgAAhAwJAAkACQAJAAkACQAJAA0AgAygCACAFRg0BIAMoAggiAw0ADAILCyADLQAMQQhxRQ0BC0HI04CAACEDA0ACQCADKAIAIgUgBEsNACAFIAMoAgRqIgUgBEsNAwsgAygCCCEDDAALCyADIAA2AgAgAyADKAIEIAZqNgIEIABBeCAAa0EPcUEAIABBCGpBD3EbaiILIAJBA3I2AgQgBUF4IAVrQQ9xQQAgBUEIakEPcRtqIgYgCyACaiICayEDAkAgBiAERw0AQQAgAjYCoNCAgABBAEEAKAKU0ICAACADaiIDNgKU0ICAACACIANBAXI2AgQMAwsCQCAGQQAoApzQgIAARw0AQQAgAjYCnNCAgABBAEEAKAKQ0ICAACADaiIDNgKQ0ICAACACIANBAXI2AgQgAiADaiADNgIADAMLAkAgBigCBCIEQQNxQQFHDQAgBEF4cSEHAkACQCAEQf8BSw0AIAYoAggiBSAEQQN2IghBA3RBsNCAgABqIgBGGgJAIAYoAgwiBCAFRw0AQQBBACgCiNCAgABBfiAId3E2AojQgIAADAILIAQgAEYaIAQgBTYCCCAFIAQ2AgwMAQsgBigCGCEJAkACQCAGKAIMIgAgBkYNACAGKAIIIgQgCEkaIAAgBDYCCCAEIAA2AgwMAQsCQCAGQRRqIgQoAgAiBQ0AIAZBEGoiBCgCACIFDQBBACEADAELA0AgBCEIIAUiAEEUaiIEKAIAIgUNACAAQRBqIQQgACgCECIFDQALIAhBADYCAAsgCUUNAAJAAkAgBiAGKAIcIgVBAnRBuNKAgABqIgQoAgBHDQAgBCAANgIAIAANAUEAQQAoAozQgIAAQX4gBXdxNgKM0ICAAAwCCyAJQRBBFCAJKAIQIAZGG2ogADYCACAARQ0BCyAAIAk2AhgCQCAGKAIQIgRFDQAgACAENgIQIAQgADYCGAsgBigCFCIERQ0AIABBFGogBDYCACAEIAA2AhgLIAcgA2ohAyAGIAdqIgYoAgQhBAsgBiAEQX5xNgIEIAIgA2ogAzYCACACIANBAXI2AgQCQCADQf8BSw0AIANBeHFBsNCAgABqIQQCQAJAQQAoAojQgIAAIgVBASADQQN2dCIDcQ0AQQAgBSADcjYCiNCAgAAgBCEDDAELIAQoAgghAwsgAyACNgIMIAQgAjYCCCACIAQ2AgwgAiADNgIIDAMLQR8hBAJAIANB////B0sNACADQQh2IgQgBEGA/j9qQRB2QQhxIgR0IgUgBUGA4B9qQRB2QQRxIgV0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAQgBXIgAHJrIgRBAXQgAyAEQRVqdkEBcXJBHGohBAsgAiAENgIcIAJCADcCECAEQQJ0QbjSgIAAaiEFAkBBACgCjNCAgAAiAEEBIAR0IghxDQAgBSACNgIAQQAgACAIcjYCjNCAgAAgAiAFNgIYIAIgAjYCCCACIAI2AgwMAwsgA0EAQRkgBEEBdmsgBEEfRht0IQQgBSgCACEAA0AgACIFKAIEQXhxIANGDQIgBEEddiEAIARBAXQhBCAFIABBBHFqQRBqIggoAgAiAA0ACyAIIAI2AgAgAiAFNgIYIAIgAjYCDCACIAI2AggMAgsgAEF4IABrQQ9xQQAgAEEIakEPcRsiA2oiCyAGQUhqIgggA2siA0EBcjYCBCAAIAhqQTg2AgQgBCAFQTcgBWtBD3FBACAFQUlqQQ9xG2pBQWoiCCAIIARBEGpJGyIIQSM2AgRBAEEAKALw04CAADYCpNCAgABBACADNgKU0ICAAEEAIAs2AqDQgIAAIAhBEGpBACkC0NOAgAA3AgAgCEEAKQLI04CAADcCCEEAIAhBCGo2AtDTgIAAQQAgBjYCzNOAgABBACAANgLI04CAAEEAQQA2AtTTgIAAIAhBJGohAwNAIANBBzYCACADQQRqIgMgBUkNAAsgCCAERg0DIAggCCgCBEF+cTYCBCAIIAggBGsiADYCACAEIABBAXI2AgQCQCAAQf8BSw0AIABBeHFBsNCAgABqIQMCQAJAQQAoAojQgIAAIgVBASAAQQN2dCIAcQ0AQQAgBSAAcjYCiNCAgAAgAyEFDAELIAMoAgghBQsgBSAENgIMIAMgBDYCCCAEIAM2AgwgBCAFNgIIDAQLQR8hAwJAIABB////B0sNACAAQQh2IgMgA0GA/j9qQRB2QQhxIgN0IgUgBUGA4B9qQRB2QQRxIgV0IgggCEGAgA9qQRB2QQJxIgh0QQ92IAMgBXIgCHJrIgNBAXQgACADQRVqdkEBcXJBHGohAwsgBCADNgIcIARCADcCECADQQJ0QbjSgIAAaiEFAkBBACgCjNCAgAAiCEEBIAN0IgZxDQAgBSAENgIAQQAgCCAGcjYCjNCAgAAgBCAFNgIYIAQgBDYCCCAEIAQ2AgwMBAsgAEEAQRkgA0EBdmsgA0EfRht0IQMgBSgCACEIA0AgCCIFKAIEQXhxIABGDQMgA0EddiEIIANBAXQhAyAFIAhBBHFqQRBqIgYoAgAiCA0ACyAGIAQ2AgAgBCAFNgIYIAQgBDYCDCAEIAQ2AggMAwsgBSgCCCIDIAI2AgwgBSACNgIIIAJBADYCGCACIAU2AgwgAiADNgIICyALQQhqIQMMBQsgBSgCCCIDIAQ2AgwgBSAENgIIIARBADYCGCAEIAU2AgwgBCADNgIIC0EAKAKU0ICAACIDIAJNDQBBACgCoNCAgAAiBCACaiIFIAMgAmsiA0EBcjYCBEEAIAM2ApTQgIAAQQAgBTYCoNCAgAAgBCACQQNyNgIEIARBCGohAwwDC0EAIQNBAEEwNgL404CAAAwCCwJAIAtFDQACQAJAIAggCCgCHCIFQQJ0QbjSgIAAaiIDKAIARw0AIAMgADYCACAADQFBACAHQX4gBXdxIgc2AozQgIAADAILIAtBEEEUIAsoAhAgCEYbaiAANgIAIABFDQELIAAgCzYCGAJAIAgoAhAiA0UNACAAIAM2AhAgAyAANgIYCyAIQRRqKAIAIgNFDQAgAEEUaiADNgIAIAMgADYCGAsCQAJAIARBD0sNACAIIAQgAmoiA0EDcjYCBCAIIANqIgMgAygCBEEBcjYCBAwBCyAIIAJqIgAgBEEBcjYCBCAIIAJBA3I2AgQgACAEaiAENgIAAkAgBEH/AUsNACAEQXhxQbDQgIAAaiEDAkACQEEAKAKI0ICAACIFQQEgBEEDdnQiBHENAEEAIAUgBHI2AojQgIAAIAMhBAwBCyADKAIIIQQLIAQgADYCDCADIAA2AgggACADNgIMIAAgBDYCCAwBC0EfIQMCQCAEQf///wdLDQAgBEEIdiIDIANBgP4/akEQdkEIcSIDdCIFIAVBgOAfakEQdkEEcSIFdCICIAJBgIAPakEQdkECcSICdEEPdiADIAVyIAJyayIDQQF0IAQgA0EVanZBAXFyQRxqIQMLIAAgAzYCHCAAQgA3AhAgA0ECdEG40oCAAGohBQJAIAdBASADdCICcQ0AIAUgADYCAEEAIAcgAnI2AozQgIAAIAAgBTYCGCAAIAA2AgggACAANgIMDAELIARBAEEZIANBAXZrIANBH0YbdCEDIAUoAgAhAgJAA0AgAiIFKAIEQXhxIARGDQEgA0EddiECIANBAXQhAyAFIAJBBHFqQRBqIgYoAgAiAg0ACyAGIAA2AgAgACAFNgIYIAAgADYCDCAAIAA2AggMAQsgBSgCCCIDIAA2AgwgBSAANgIIIABBADYCGCAAIAU2AgwgACADNgIICyAIQQhqIQMMAQsCQCAKRQ0AAkACQCAAIAAoAhwiBUECdEG40oCAAGoiAygCAEcNACADIAg2AgAgCA0BQQAgCUF+IAV3cTYCjNCAgAAMAgsgCkEQQRQgCigCECAARhtqIAg2AgAgCEUNAQsgCCAKNgIYAkAgACgCECIDRQ0AIAggAzYCECADIAg2AhgLIABBFGooAgAiA0UNACAIQRRqIAM2AgAgAyAINgIYCwJAAkAgBEEPSw0AIAAgBCACaiIDQQNyNgIEIAAgA2oiAyADKAIEQQFyNgIEDAELIAAgAmoiBSAEQQFyNgIEIAAgAkEDcjYCBCAFIARqIAQ2AgACQCAHRQ0AIAdBeHFBsNCAgABqIQJBACgCnNCAgAAhAwJAAkBBASAHQQN2dCIIIAZxDQBBACAIIAZyNgKI0ICAACACIQgMAQsgAigCCCEICyAIIAM2AgwgAiADNgIIIAMgAjYCDCADIAg2AggLQQAgBTYCnNCAgABBACAENgKQ0ICAAAsgAEEIaiEDCyABQRBqJICAgIAAIAMLCgAgABDJgICAAAviDQEHfwJAIABFDQAgAEF4aiIBIABBfGooAgAiAkF4cSIAaiEDAkAgAkEBcQ0AIAJBA3FFDQEgASABKAIAIgJrIgFBACgCmNCAgAAiBEkNASACIABqIQACQCABQQAoApzQgIAARg0AAkAgAkH/AUsNACABKAIIIgQgAkEDdiIFQQN0QbDQgIAAaiIGRhoCQCABKAIMIgIgBEcNAEEAQQAoAojQgIAAQX4gBXdxNgKI0ICAAAwDCyACIAZGGiACIAQ2AgggBCACNgIMDAILIAEoAhghBwJAAkAgASgCDCIGIAFGDQAgASgCCCICIARJGiAGIAI2AgggAiAGNgIMDAELAkAgAUEUaiICKAIAIgQNACABQRBqIgIoAgAiBA0AQQAhBgwBCwNAIAIhBSAEIgZBFGoiAigCACIEDQAgBkEQaiECIAYoAhAiBA0ACyAFQQA2AgALIAdFDQECQAJAIAEgASgCHCIEQQJ0QbjSgIAAaiICKAIARw0AIAIgBjYCACAGDQFBAEEAKAKM0ICAAEF+IAR3cTYCjNCAgAAMAwsgB0EQQRQgBygCECABRhtqIAY2AgAgBkUNAgsgBiAHNgIYAkAgASgCECICRQ0AIAYgAjYCECACIAY2AhgLIAEoAhQiAkUNASAGQRRqIAI2AgAgAiAGNgIYDAELIAMoAgQiAkEDcUEDRw0AIAMgAkF+cTYCBEEAIAA2ApDQgIAAIAEgAGogADYCACABIABBAXI2AgQPCyABIANPDQAgAygCBCICQQFxRQ0AAkACQCACQQJxDQACQCADQQAoAqDQgIAARw0AQQAgATYCoNCAgABBAEEAKAKU0ICAACAAaiIANgKU0ICAACABIABBAXI2AgQgAUEAKAKc0ICAAEcNA0EAQQA2ApDQgIAAQQBBADYCnNCAgAAPCwJAIANBACgCnNCAgABHDQBBACABNgKc0ICAAEEAQQAoApDQgIAAIABqIgA2ApDQgIAAIAEgAEEBcjYCBCABIABqIAA2AgAPCyACQXhxIABqIQACQAJAIAJB/wFLDQAgAygCCCIEIAJBA3YiBUEDdEGw0ICAAGoiBkYaAkAgAygCDCICIARHDQBBAEEAKAKI0ICAAEF+IAV3cTYCiNCAgAAMAgsgAiAGRhogAiAENgIIIAQgAjYCDAwBCyADKAIYIQcCQAJAIAMoAgwiBiADRg0AIAMoAggiAkEAKAKY0ICAAEkaIAYgAjYCCCACIAY2AgwMAQsCQCADQRRqIgIoAgAiBA0AIANBEGoiAigCACIEDQBBACEGDAELA0AgAiEFIAQiBkEUaiICKAIAIgQNACAGQRBqIQIgBigCECIEDQALIAVBADYCAAsgB0UNAAJAAkAgAyADKAIcIgRBAnRBuNKAgABqIgIoAgBHDQAgAiAGNgIAIAYNAUEAQQAoAozQgIAAQX4gBHdxNgKM0ICAAAwCCyAHQRBBFCAHKAIQIANGG2ogBjYCACAGRQ0BCyAGIAc2AhgCQCADKAIQIgJFDQAgBiACNgIQIAIgBjYCGAsgAygCFCICRQ0AIAZBFGogAjYCACACIAY2AhgLIAEgAGogADYCACABIABBAXI2AgQgAUEAKAKc0ICAAEcNAUEAIAA2ApDQgIAADwsgAyACQX5xNgIEIAEgAGogADYCACABIABBAXI2AgQLAkAgAEH/AUsNACAAQXhxQbDQgIAAaiECAkACQEEAKAKI0ICAACIEQQEgAEEDdnQiAHENAEEAIAQgAHI2AojQgIAAIAIhAAwBCyACKAIIIQALIAAgATYCDCACIAE2AgggASACNgIMIAEgADYCCA8LQR8hAgJAIABB////B0sNACAAQQh2IgIgAkGA/j9qQRB2QQhxIgJ0IgQgBEGA4B9qQRB2QQRxIgR0IgYgBkGAgA9qQRB2QQJxIgZ0QQ92IAIgBHIgBnJrIgJBAXQgACACQRVqdkEBcXJBHGohAgsgASACNgIcIAFCADcCECACQQJ0QbjSgIAAaiEEAkACQEEAKAKM0ICAACIGQQEgAnQiA3ENACAEIAE2AgBBACAGIANyNgKM0ICAACABIAQ2AhggASABNgIIIAEgATYCDAwBCyAAQQBBGSACQQF2ayACQR9GG3QhAiAEKAIAIQYCQANAIAYiBCgCBEF4cSAARg0BIAJBHXYhBiACQQF0IQIgBCAGQQRxakEQaiIDKAIAIgYNAAsgAyABNgIAIAEgBDYCGCABIAE2AgwgASABNgIIDAELIAQoAggiACABNgIMIAQgATYCCCABQQA2AhggASAENgIMIAEgADYCCAtBAEEAKAKo0ICAAEF/aiIBQX8gARs2AqjQgIAACwsEAAAAC04AAkAgAA0APwBBEHQPCwJAIABB//8DcQ0AIABBf0wNAAJAIABBEHZAACIAQX9HDQBBAEEwNgL404CAAEF/DwsgAEEQdA8LEMqAgIAAAAvyAgIDfwF+AkAgAkUNACAAIAE6AAAgAiAAaiIDQX9qIAE6AAAgAkEDSQ0AIAAgAToAAiAAIAE6AAEgA0F9aiABOgAAIANBfmogAToAACACQQdJDQAgACABOgADIANBfGogAToAACACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiATYCACADIAIgBGtBfHEiBGoiAkF8aiABNgIAIARBCUkNACADIAE2AgggAyABNgIEIAJBeGogATYCACACQXRqIAE2AgAgBEEZSQ0AIAMgATYCGCADIAE2AhQgAyABNgIQIAMgATYCDCACQXBqIAE2AgAgAkFsaiABNgIAIAJBaGogATYCACACQWRqIAE2AgAgBCADQQRxQRhyIgVrIgJBIEkNACABrUKBgICAEH4hBiADIAVqIQEDQCABIAY3AxggASAGNwMQIAEgBjcDCCABIAY3AwAgAUEgaiEBIAJBYGoiAkEfSw0ACwsgAAsLjkgBAEGACAuGSAEAAAACAAAAAwAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAYAAAAHAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=="},4778:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.enumToMap=void 0;function enumToMap(e){const t={};Object.keys(e).forEach((r=>{const s=e[r];if(typeof s==="number"){t[r]=s}}));return t}t.enumToMap=enumToMap},6004:(e,t,r)=>{"use strict";const{kClients:s}=r(3932);const n=r(8840);const{kAgent:o,kMockAgentSet:i,kMockAgentGet:a,kDispatches:A,kIsMockActive:c,kNetConnect:l,kGetNetConnect:u,kOptions:p,kFactory:d}=r(4745);const g=r(1287);const h=r(7220);const{matchValue:m,buildMockOptions:E}=r(9700);const{InvalidArgumentError:C,UndiciError:I}=r(2366);const B=r(8648);const Q=r(5024);const b=r(5464);class FakeWeakRef{constructor(e){this.value=e}deref(){return this.value}}class MockAgent extends B{constructor(e){super(e);this[l]=true;this[c]=true;if(e&&e.agent&&typeof e.agent.dispatch!=="function"){throw new C("Argument opts.agent must implement Agent")}const t=e&&e.agent?e.agent:new n(e);this[o]=t;this[s]=t[s];this[p]=E(e)}get(e){let t=this[a](e);if(!t){t=this[d](e);this[i](e,t)}return t}dispatch(e,t){this.get(e.origin);return this[o].dispatch(e,t)}async close(){await this[o].close();this[s].clear()}deactivate(){this[c]=false}activate(){this[c]=true}enableNetConnect(e){if(typeof e==="string"||typeof e==="function"||e instanceof RegExp){if(Array.isArray(this[l])){this[l].push(e)}else{this[l]=[e]}}else if(typeof e==="undefined"){this[l]=true}else{throw new C("Unsupported matcher. Must be one of String|Function|RegExp.")}}disableNetConnect(){this[l]=false}get isMockActive(){return this[c]}[i](e,t){this[s].set(e,new FakeWeakRef(t))}[d](e){const t=Object.assign({agent:this},this[p]);return this[p]&&this[p].connections===1?new g(e,t):new h(e,t)}[a](e){const t=this[s].get(e);if(t){return t.deref()}if(typeof e!=="string"){const t=this[d]("http://localhost:9999");this[i](e,t);return t}for(const[t,r]of Array.from(this[s])){const s=r.deref();if(s&&typeof t!=="string"&&m(t,e)){const t=this[d](e);this[i](e,t);t[A]=s[A];return t}}}[u](){return this[l]}pendingInterceptors(){const e=this[s];return Array.from(e.entries()).flatMap((([e,t])=>t.deref()[A].map((t=>({...t,origin:e}))))).filter((({pending:e})=>e))}assertNoPendingInterceptors({pendingInterceptorsFormatter:e=new b}={}){const t=this.pendingInterceptors();if(t.length===0){return}const r=new Q("interceptor","interceptors").pluralize(t.length);throw new I(`\n${r.count} ${r.noun} ${r.is} pending:\n\n${e.format(t)}\n`.trim())}}e.exports=MockAgent},1287:(e,t,r)=>{"use strict";const{promisify:s}=r(3837);const n=r(1735);const{buildMockDispatch:o}=r(9700);const{kDispatches:i,kMockAgent:a,kClose:A,kOriginalClose:c,kOrigin:l,kOriginalDispatch:u,kConnected:p}=r(4745);const{MockInterceptor:d}=r(7857);const g=r(3932);const{InvalidArgumentError:h}=r(2366);class MockClient extends n{constructor(e,t){super(e,t);if(!t||!t.agent||typeof t.agent.dispatch!=="function"){throw new h("Argument opts.agent must implement Agent")}this[a]=t.agent;this[l]=e;this[i]=[];this[p]=1;this[u]=this.dispatch;this[c]=this.close.bind(this);this.dispatch=o.call(this);this.close=this[A]}get[g.kConnected](){return this[p]}intercept(e){return new d(e,this[i])}async[A](){await s(this[c])();this[p]=0;this[a][g.kClients].delete(this[l])}}e.exports=MockClient},2703:(e,t,r)=>{"use strict";const{UndiciError:s}=r(2366);class MockNotMatchedError extends s{constructor(e){super(e);Error.captureStackTrace(this,MockNotMatchedError);this.name="MockNotMatchedError";this.message=e||"The request does not match any registered mock dispatches";this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}}e.exports={MockNotMatchedError:MockNotMatchedError}},7857:(e,t,r)=>{"use strict";const{getResponseData:s,buildKey:n,addMockDispatch:o}=r(9700);const{kDispatches:i,kDispatchKey:a,kDefaultHeaders:A,kDefaultTrailers:c,kContentLength:l,kMockDispatch:u}=r(4745);const{InvalidArgumentError:p}=r(2366);const{buildURL:d}=r(7497);class MockScope{constructor(e){this[u]=e}delay(e){if(typeof e!=="number"||!Number.isInteger(e)||e<=0){throw new p("waitInMs must be a valid integer > 0")}this[u].delay=e;return this}persist(){this[u].persist=true;return this}times(e){if(typeof e!=="number"||!Number.isInteger(e)||e<=0){throw new p("repeatTimes must be a valid integer > 0")}this[u].times=e;return this}}class MockInterceptor{constructor(e,t){if(typeof e!=="object"){throw new p("opts must be an object")}if(typeof e.path==="undefined"){throw new p("opts.path must be defined")}if(typeof e.method==="undefined"){e.method="GET"}if(typeof e.path==="string"){if(e.query){e.path=d(e.path,e.query)}else{const t=new URL(e.path,"data://");e.path=t.pathname+t.search}}if(typeof e.method==="string"){e.method=e.method.toUpperCase()}this[a]=n(e);this[i]=t;this[A]={};this[c]={};this[l]=false}createMockScopeDispatchData(e,t,r={}){const n=s(t);const o=this[l]?{"content-length":n.length}:{};const i={...this[A],...o,...r.headers};const a={...this[c],...r.trailers};return{statusCode:e,data:t,headers:i,trailers:a}}validateReplyParameters(e,t,r){if(typeof e==="undefined"){throw new p("statusCode must be defined")}if(typeof t==="undefined"){throw new p("data must be defined")}if(typeof r!=="object"){throw new p("responseOptions must be an object")}}reply(e){if(typeof e==="function"){const wrappedDefaultsCallback=t=>{const r=e(t);if(typeof r!=="object"){throw new p("reply options callback must return an object")}const{statusCode:s,data:n="",responseOptions:o={}}=r;this.validateReplyParameters(s,n,o);return{...this.createMockScopeDispatchData(s,n,o)}};const t=o(this[i],this[a],wrappedDefaultsCallback);return new MockScope(t)}const[t,r="",s={}]=[...arguments];this.validateReplyParameters(t,r,s);const n=this.createMockScopeDispatchData(t,r,s);const A=o(this[i],this[a],n);return new MockScope(A)}replyWithError(e){if(typeof e==="undefined"){throw new p("error must be defined")}const t=o(this[i],this[a],{error:e});return new MockScope(t)}defaultReplyHeaders(e){if(typeof e==="undefined"){throw new p("headers must be defined")}this[A]=e;return this}defaultReplyTrailers(e){if(typeof e==="undefined"){throw new p("trailers must be defined")}this[c]=e;return this}replyContentLength(){this[l]=true;return this}}e.exports.MockInterceptor=MockInterceptor;e.exports.MockScope=MockScope},7220:(e,t,r)=>{"use strict";const{promisify:s}=r(3837);const n=r(780);const{buildMockDispatch:o}=r(9700);const{kDispatches:i,kMockAgent:a,kClose:A,kOriginalClose:c,kOrigin:l,kOriginalDispatch:u,kConnected:p}=r(4745);const{MockInterceptor:d}=r(7857);const g=r(3932);const{InvalidArgumentError:h}=r(2366);class MockPool extends n{constructor(e,t){super(e,t);if(!t||!t.agent||typeof t.agent.dispatch!=="function"){throw new h("Argument opts.agent must implement Agent")}this[a]=t.agent;this[l]=e;this[i]=[];this[p]=1;this[u]=this.dispatch;this[c]=this.close.bind(this);this.dispatch=o.call(this);this.close=this[A]}get[g.kConnected](){return this[p]}intercept(e){return new d(e,this[i])}async[A](){await s(this[c])();this[p]=0;this[a][g.kClients].delete(this[l])}}e.exports=MockPool},4745:e=>{"use strict";e.exports={kAgent:Symbol("agent"),kOptions:Symbol("options"),kFactory:Symbol("factory"),kDispatches:Symbol("dispatches"),kDispatchKey:Symbol("dispatch key"),kDefaultHeaders:Symbol("default headers"),kDefaultTrailers:Symbol("default trailers"),kContentLength:Symbol("content length"),kMockAgent:Symbol("mock agent"),kMockAgentSet:Symbol("mock agent set"),kMockAgentGet:Symbol("mock agent get"),kMockDispatch:Symbol("mock dispatch"),kClose:Symbol("close"),kOriginalClose:Symbol("original agent close"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected")}},9700:(e,t,r)=>{"use strict";const{MockNotMatchedError:s}=r(2703);const{kDispatches:n,kMockAgent:o,kOriginalDispatch:i,kOrigin:a,kGetNetConnect:A}=r(4745);const{buildURL:c,nop:l}=r(7497);const{STATUS_CODES:u}=r(3685);const{types:{isPromise:p}}=r(3837);function matchValue(e,t){if(typeof e==="string"){return e===t}if(e instanceof RegExp){return e.test(t)}if(typeof e==="function"){return e(t)===true}return false}function lowerCaseEntries(e){return Object.fromEntries(Object.entries(e).map((([e,t])=>[e.toLocaleLowerCase(),t])))}function getHeaderByName(e,t){if(Array.isArray(e)){for(let r=0;r!e)).filter((({path:e})=>matchValue(safeUrl(e),n)));if(o.length===0){throw new s(`Mock dispatch not matched for path '${n}'`)}o=o.filter((({method:e})=>matchValue(e,t.method)));if(o.length===0){throw new s(`Mock dispatch not matched for method '${t.method}'`)}o=o.filter((({body:e})=>typeof e!=="undefined"?matchValue(e,t.body):true));if(o.length===0){throw new s(`Mock dispatch not matched for body '${t.body}'`)}o=o.filter((e=>matchHeaders(e,t.headers)));if(o.length===0){throw new s(`Mock dispatch not matched for headers '${typeof t.headers==="object"?JSON.stringify(t.headers):t.headers}'`)}return o[0]}function addMockDispatch(e,t,r){const s={timesInvoked:0,times:1,persist:false,consumed:false};const n=typeof r==="function"?{callback:r}:{...r};const o={...s,...t,pending:true,data:{error:null,...n}};e.push(o);return o}function deleteMockDispatch(e,t){const r=e.findIndex((e=>{if(!e.consumed){return false}return matchKey(e,t)}));if(r!==-1){e.splice(r,1)}}function buildKey(e){const{path:t,method:r,body:s,headers:n,query:o}=e;return{path:t,method:r,body:s,headers:n,query:o}}function generateKeyValues(e){return Object.entries(e).reduce(((e,[t,r])=>[...e,Buffer.from(`${t}`),Array.isArray(r)?r.map((e=>Buffer.from(`${e}`))):Buffer.from(`${r}`)]),[])}function getStatusText(e){return u[e]||"unknown"}async function getResponse(e){const t=[];for await(const r of e){t.push(r)}return Buffer.concat(t).toString("utf8")}function mockDispatch(e,t){const r=buildKey(e);const s=getMockDispatch(this[n],r);s.timesInvoked++;if(s.data.callback){s.data={...s.data,...s.data.callback(e)}}const{data:{statusCode:o,data:i,headers:a,trailers:A,error:c},delay:u,persist:d}=s;const{timesInvoked:g,times:h}=s;s.consumed=!d&&g>=h;s.pending=g0){setTimeout((()=>{handleReply(this[n])}),u)}else{handleReply(this[n])}function handleReply(s,n=i){const c=Array.isArray(e.headers)?buildHeadersFromArray(e.headers):e.headers;const u=typeof n==="function"?n({...e,headers:c}):n;if(p(u)){u.then((e=>handleReply(s,e)));return}const d=getResponseData(u);const g=generateKeyValues(a);const h=generateKeyValues(A);t.abort=l;t.onHeaders(o,g,resume,getStatusText(o));t.onData(Buffer.from(d));t.onComplete(h);deleteMockDispatch(s,r)}function resume(){}return true}function buildMockDispatch(){const e=this[o];const t=this[a];const r=this[i];return function dispatch(n,o){if(e.isMockActive){try{mockDispatch.call(this,n,o)}catch(i){if(i instanceof s){const a=e[A]();if(a===false){throw new s(`${i.message}: subsequent request to origin ${t} was not allowed (net.connect disabled)`)}if(checkNetConnect(a,t)){r.call(this,n,o)}else{throw new s(`${i.message}: subsequent request to origin ${t} was not allowed (net.connect is not enabled for this origin)`)}}else{throw i}}}else{r.call(this,n,o)}}}function checkNetConnect(e,t){const r=new URL(t);if(e===true){return true}else if(Array.isArray(e)&&e.some((e=>matchValue(e,r.host)))){return true}return false}function buildMockOptions(e){if(e){const{agent:t,...r}=e;return r}}e.exports={getResponseData:getResponseData,getMockDispatch:getMockDispatch,addMockDispatch:addMockDispatch,deleteMockDispatch:deleteMockDispatch,buildKey:buildKey,generateKeyValues:generateKeyValues,matchValue:matchValue,getResponse:getResponse,getStatusText:getStatusText,mockDispatch:mockDispatch,buildMockDispatch:buildMockDispatch,checkNetConnect:checkNetConnect,buildMockOptions:buildMockOptions,getHeaderByName:getHeaderByName}},5464:(e,t,r)=>{"use strict";const{Transform:s}=r(2781);const{Console:n}=r(6206);e.exports=class PendingInterceptorsFormatter{constructor({disableColors:e}={}){this.transform=new s({transform(e,t,r){r(null,e)}});this.logger=new n({stdout:this.transform,inspectOptions:{colors:!e&&!process.env.CI}})}format(e){const t=e.map((({method:e,path:t,data:{statusCode:r},persist:s,times:n,timesInvoked:o,origin:i})=>({Method:e,Origin:i,Path:t,"Status code":r,Persistent:s?"✅":"❌",Invocations:o,Remaining:s?Infinity:n-o})));this.logger.table(t);return this.transform.read().toString()}}},5024:e=>{"use strict";const t={pronoun:"it",is:"is",was:"was",this:"this"};const r={pronoun:"they",is:"are",was:"were",this:"these"};e.exports=class Pluralizer{constructor(e,t){this.singular=e;this.plural=t}pluralize(e){const s=e===1;const n=s?t:r;const o=s?this.singular:this.plural;return{...n,count:e,noun:o}}}},4629:e=>{"use strict";const t=2048;const r=t-1;class FixedCircularBuffer{constructor(){this.bottom=0;this.top=0;this.list=new Array(t);this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&r)===this.bottom}push(e){this.list[this.top]=e;this.top=this.top+1&r}shift(){const e=this.list[this.bottom];if(e===undefined)return null;this.list[this.bottom]=undefined;this.bottom=this.bottom+1&r;return e}}e.exports=class FixedQueue{constructor(){this.head=this.tail=new FixedCircularBuffer}isEmpty(){return this.head.isEmpty()}push(e){if(this.head.isFull()){this.head=this.head.next=new FixedCircularBuffer}this.head.push(e)}shift(){const e=this.tail;const t=e.shift();if(e.isEmpty()&&e.next!==null){this.tail=e.next}return t}}},4414:(e,t,r)=>{"use strict";const s=r(8757);const n=r(4629);const{kConnected:o,kSize:i,kRunning:a,kPending:A,kQueued:c,kBusy:l,kFree:u,kUrl:p,kClose:d,kDestroy:g,kDispatch:h}=r(3932);const m=r(47);const E=Symbol("clients");const C=Symbol("needDrain");const I=Symbol("queue");const B=Symbol("closed resolve");const Q=Symbol("onDrain");const b=Symbol("onConnect");const y=Symbol("onDisconnect");const v=Symbol("onConnectionError");const w=Symbol("get dispatcher");const x=Symbol("add client");const k=Symbol("remove client");const R=Symbol("stats");class PoolBase extends s{constructor(){super();this[I]=new n;this[E]=[];this[c]=0;const e=this;this[Q]=function onDrain(t,r){const s=e[I];let n=false;while(!n){const t=s.shift();if(!t){break}e[c]--;n=!this.dispatch(t.opts,t.handler)}this[C]=n;if(!this[C]&&e[C]){e[C]=false;e.emit("drain",t,[e,...r])}if(e[B]&&s.isEmpty()){Promise.all(e[E].map((e=>e.close()))).then(e[B])}};this[b]=(t,r)=>{e.emit("connect",t,[e,...r])};this[y]=(t,r,s)=>{e.emit("disconnect",t,[e,...r],s)};this[v]=(t,r,s)=>{e.emit("connectionError",t,[e,...r],s)};this[R]=new m(this)}get[l](){return this[C]}get[o](){return this[E].filter((e=>e[o])).length}get[u](){return this[E].filter((e=>e[o]&&!e[C])).length}get[A](){let e=this[c];for(const{[A]:t}of this[E]){e+=t}return e}get[a](){let e=0;for(const{[a]:t}of this[E]){e+=t}return e}get[i](){let e=this[c];for(const{[i]:t}of this[E]){e+=t}return e}get stats(){return this[R]}async[d](){if(this[I].isEmpty()){return Promise.all(this[E].map((e=>e.close())))}else{return new Promise((e=>{this[B]=e}))}}async[g](e){while(true){const t=this[I].shift();if(!t){break}t.handler.onError(e)}return Promise.all(this[E].map((t=>t.destroy(e))))}[h](e,t){const r=this[w]();if(!r){this[C]=true;this[I].push({opts:e,handler:t});this[c]++}else if(!r.dispatch(e,t)){r[C]=true;this[C]=!this[w]()}return!this[C]}[x](e){e.on("drain",this[Q]).on("connect",this[b]).on("disconnect",this[y]).on("connectionError",this[v]);this[E].push(e);if(this[C]){process.nextTick((()=>{if(this[C]){this[Q](e[p],[this,e])}}))}return this}[k](e){e.close((()=>{const t=this[E].indexOf(e);if(t!==-1){this[E].splice(t,1)}}));this[C]=this[E].some((e=>!e[C]&&e.closed!==true&&e.destroyed!==true))}}e.exports={PoolBase:PoolBase,kClients:E,kNeedDrain:C,kAddClient:x,kRemoveClient:k,kGetDispatcher:w}},47:(e,t,r)=>{const{kFree:s,kConnected:n,kPending:o,kQueued:i,kRunning:a,kSize:A}=r(3932);const c=Symbol("pool");class PoolStats{constructor(e){this[c]=e}get connected(){return this[c][n]}get free(){return this[c][s]}get pending(){return this[c][o]}get queued(){return this[c][i]}get running(){return this[c][a]}get size(){return this[c][A]}}e.exports=PoolStats},780:(e,t,r)=>{"use strict";const{PoolBase:s,kClients:n,kNeedDrain:o,kAddClient:i,kGetDispatcher:a}=r(4414);const A=r(1735);const{InvalidArgumentError:c}=r(2366);const l=r(7497);const{kUrl:u,kInterceptors:p}=r(3932);const d=r(9218);const g=Symbol("options");const h=Symbol("connections");const m=Symbol("factory");function defaultFactory(e,t){return new A(e,t)}class Pool extends s{constructor(e,{connections:t,factory:r=defaultFactory,connect:s,connectTimeout:n,tls:o,maxCachedSessions:i,socketPath:a,autoSelectFamily:A,autoSelectFamilyAttemptTimeout:E,allowH2:C,...I}={}){super();if(t!=null&&(!Number.isFinite(t)||t<0)){throw new c("invalid connections")}if(typeof r!=="function"){throw new c("factory must be a function.")}if(s!=null&&typeof s!=="function"&&typeof s!=="object"){throw new c("connect must be a function or an object")}if(typeof s!=="function"){s=d({...o,maxCachedSessions:i,allowH2:C,socketPath:a,timeout:n,...l.nodeHasAutoSelectFamily&&A?{autoSelectFamily:A,autoSelectFamilyAttemptTimeout:E}:undefined,...s})}this[p]=I.interceptors&&I.interceptors.Pool&&Array.isArray(I.interceptors.Pool)?I.interceptors.Pool:[];this[h]=t||null;this[u]=l.parseOrigin(e);this[g]={...l.deepClone(I),connect:s,allowH2:C};this[g].interceptors=I.interceptors?{...I.interceptors}:undefined;this[m]=r}[a](){let e=this[n].find((e=>!e[o]));if(e){return e}if(!this[h]||this[n].length{"use strict";const{kProxy:s,kClose:n,kDestroy:o,kInterceptors:i}=r(3932);const{URL:a}=r(7310);const A=r(8840);const c=r(780);const l=r(8757);const{InvalidArgumentError:u,RequestAbortedError:p}=r(2366);const d=r(9218);const g=Symbol("proxy agent");const h=Symbol("proxy client");const m=Symbol("proxy headers");const E=Symbol("request tls settings");const C=Symbol("proxy tls settings");const I=Symbol("connect endpoint function");function defaultProtocolPort(e){return e==="https:"?443:80}function buildProxyOptions(e){if(typeof e==="string"){e={uri:e}}if(!e||!e.uri){throw new u("Proxy opts.uri is mandatory")}return{uri:e.uri,protocol:e.protocol||"https"}}function defaultFactory(e,t){return new c(e,t)}class ProxyAgent extends l{constructor(e){super(e);this[s]=buildProxyOptions(e);this[g]=new A(e);this[i]=e.interceptors&&e.interceptors.ProxyAgent&&Array.isArray(e.interceptors.ProxyAgent)?e.interceptors.ProxyAgent:[];if(typeof e==="string"){e={uri:e}}if(!e||!e.uri){throw new u("Proxy opts.uri is mandatory")}const{clientFactory:t=defaultFactory}=e;if(typeof t!=="function"){throw new u("Proxy opts.clientFactory must be a function.")}this[E]=e.requestTls;this[C]=e.proxyTls;this[m]=e.headers||{};const r=new a(e.uri);const{origin:n,port:o,host:c,username:l,password:B}=r;if(e.auth&&e.token){throw new u("opts.auth cannot be used in combination with opts.token")}else if(e.auth){this[m]["proxy-authorization"]=`Basic ${e.auth}`}else if(e.token){this[m]["proxy-authorization"]=e.token}else if(l&&B){this[m]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(l)}:${decodeURIComponent(B)}`).toString("base64")}`}const Q=d({...e.proxyTls});this[I]=d({...e.requestTls});this[h]=t(r,{connect:Q});this[g]=new A({...e,connect:async(e,t)=>{let r=e.host;if(!e.port){r+=`:${defaultProtocolPort(e.protocol)}`}try{const{socket:s,statusCode:i}=await this[h].connect({origin:n,port:o,path:r,signal:e.signal,headers:{...this[m],host:c}});if(i!==200){s.on("error",(()=>{})).destroy();t(new p(`Proxy response (${i}) !== 200 when HTTP Tunneling`))}if(e.protocol!=="https:"){t(null,s);return}let a;if(this[E]){a=this[E].servername}else{a=e.servername}this[I]({...e,servername:a,httpSocket:s},t)}catch(e){t(e)}}})}dispatch(e,t){const{host:r}=new a(e.origin);const s=buildHeaders(e.headers);throwIfProxyAuthIsSent(s);return this[g].dispatch({...e,headers:{...s,host:r}},t)}async[n](){await this[g].close();await this[h].close()}async[o](){await this[g].destroy();await this[h].destroy()}}function buildHeaders(e){if(Array.isArray(e)){const t={};for(let r=0;re.toLowerCase()==="proxy-authorization"));if(t){throw new u("Proxy-Authorization should be sent in ProxyAgent constructor")}}e.exports=ProxyAgent},2882:e=>{"use strict";let t=Date.now();let r;const s=[];function onTimeout(){t=Date.now();let e=s.length;let r=0;while(r0&&t>=n.state){n.state=-1;n.callback(n.opaque)}if(n.state===-1){n.state=-2;if(r!==e-1){s[r]=s.pop()}else{s.pop()}e-=1}else{r+=1}}if(s.length>0){refreshTimeout()}}function refreshTimeout(){if(r&&r.refresh){r.refresh()}else{clearTimeout(r);r=setTimeout(onTimeout,1e3);if(r.unref){r.unref()}}}class Timeout{constructor(e,t,r){this.callback=e;this.delay=t;this.opaque=r;this.state=-2;this.refresh()}refresh(){if(this.state===-2){s.push(this);if(!r||s.length===1){refreshTimeout()}}this.state=0}clear(){this.state=-1}}e.exports={setTimeout(e,t,r){return t<1e3?setTimeout(e,t,r):new Timeout(e,t,r)},clearTimeout(e){if(e instanceof Timeout){e.clear()}else{clearTimeout(e)}}}},250:(e,t,r)=>{"use strict";const s=r(7643);const{uid:n,states:o}=r(6487);const{kReadyState:i,kSentClose:a,kByteParser:A,kReceivedClose:c}=r(7380);const{fireEvent:l,failWebsocketConnection:u}=r(5714);const{CloseEvent:p}=r(1879);const{makeRequest:d}=r(6453);const{fetching:g}=r(8802);const{Headers:h}=r(1855);const{getGlobalDispatcher:m}=r(2899);const{kHeadersList:E}=r(3932);const C={};C.open=s.channel("undici:websocket:open");C.close=s.channel("undici:websocket:close");C.socketError=s.channel("undici:websocket:socket_error");let I;try{I=r(6113)}catch{}function establishWebSocketConnection(e,t,r,s,o){const i=e;i.protocol=e.protocol==="ws:"?"http:":"https:";const a=d({urlList:[i],serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(o.headers){const e=new h(o.headers)[E];a.headersList=e}const A=I.randomBytes(16).toString("base64");a.headersList.append("sec-websocket-key",A);a.headersList.append("sec-websocket-version","13");for(const e of t){a.headersList.append("sec-websocket-protocol",e)}const c="";const l=g({request:a,useParallelQueue:true,dispatcher:o.dispatcher??m(),processResponse(e){if(e.type==="error"||e.status!==101){u(r,"Received network error or non-101 status code.");return}if(t.length!==0&&!e.headersList.get("Sec-WebSocket-Protocol")){u(r,"Server did not respond with sent protocols.");return}if(e.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){u(r,'Server did not set Upgrade header to "websocket".');return}if(e.headersList.get("Connection")?.toLowerCase()!=="upgrade"){u(r,'Server did not set Connection header to "upgrade".');return}const o=e.headersList.get("Sec-WebSocket-Accept");const i=I.createHash("sha1").update(A+n).digest("base64");if(o!==i){u(r,"Incorrect hash received in Sec-WebSocket-Accept header.");return}const l=e.headersList.get("Sec-WebSocket-Extensions");if(l!==null&&l!==c){u(r,"Received different permessage-deflate than the one set.");return}const p=e.headersList.get("Sec-WebSocket-Protocol");if(p!==null&&p!==a.headersList.get("Sec-WebSocket-Protocol")){u(r,"Protocol was not set in the opening handshake.");return}e.socket.on("data",onSocketData);e.socket.on("close",onSocketClose);e.socket.on("error",onSocketError);if(C.open.hasSubscribers){C.open.publish({address:e.socket.address(),protocol:p,extensions:l})}s(e)}});return l}function onSocketData(e){if(!this.ws[A].write(e)){this.pause()}}function onSocketClose(){const{ws:e}=this;const t=e[a]&&e[c];let r=1005;let s="";const n=e[A].closingInfo;if(n){r=n.code??1005;s=n.reason}else if(!e[a]){r=1006}e[i]=o.CLOSED;l("close",e,p,{wasClean:t,code:r,reason:s});if(C.close.hasSubscribers){C.close.publish({websocket:e,code:r,reason:s})}}function onSocketError(e){const{ws:t}=this;t[i]=o.CLOSING;if(C.socketError.hasSubscribers){C.socketError.publish(e)}this.destroy()}e.exports={establishWebSocketConnection:establishWebSocketConnection}},6487:e=>{"use strict";const t="258EAFA5-E914-47DA-95CA-C5AB0DC85B11";const r={enumerable:true,writable:false,configurable:false};const s={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};const n={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10};const o=2**16-1;const i={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4};const a=Buffer.allocUnsafe(0);e.exports={uid:t,staticPropertyDescriptors:r,states:s,opcodes:n,maxUnsigned16Bit:o,parserStates:i,emptyBuffer:a}},1879:(e,t,r)=>{"use strict";const{webidl:s}=r(9111);const{kEnumerableProperty:n}=r(7497);const{MessagePort:o}=r(1267);class MessageEvent extends Event{#o;constructor(e,t={}){s.argumentLengthCheck(arguments,1,{header:"MessageEvent constructor"});e=s.converters.DOMString(e);t=s.converters.MessageEventInit(t);super(e,t);this.#o=t}get data(){s.brandCheck(this,MessageEvent);return this.#o.data}get origin(){s.brandCheck(this,MessageEvent);return this.#o.origin}get lastEventId(){s.brandCheck(this,MessageEvent);return this.#o.lastEventId}get source(){s.brandCheck(this,MessageEvent);return this.#o.source}get ports(){s.brandCheck(this,MessageEvent);if(!Object.isFrozen(this.#o.ports)){Object.freeze(this.#o.ports)}return this.#o.ports}initMessageEvent(e,t=false,r=false,n=null,o="",i="",a=null,A=[]){s.brandCheck(this,MessageEvent);s.argumentLengthCheck(arguments,1,{header:"MessageEvent.initMessageEvent"});return new MessageEvent(e,{bubbles:t,cancelable:r,data:n,origin:o,lastEventId:i,source:a,ports:A})}}class CloseEvent extends Event{#o;constructor(e,t={}){s.argumentLengthCheck(arguments,1,{header:"CloseEvent constructor"});e=s.converters.DOMString(e);t=s.converters.CloseEventInit(t);super(e,t);this.#o=t}get wasClean(){s.brandCheck(this,CloseEvent);return this.#o.wasClean}get code(){s.brandCheck(this,CloseEvent);return this.#o.code}get reason(){s.brandCheck(this,CloseEvent);return this.#o.reason}}class ErrorEvent extends Event{#o;constructor(e,t){s.argumentLengthCheck(arguments,1,{header:"ErrorEvent constructor"});super(e,t);e=s.converters.DOMString(e);t=s.converters.ErrorEventInit(t??{});this.#o=t}get message(){s.brandCheck(this,ErrorEvent);return this.#o.message}get filename(){s.brandCheck(this,ErrorEvent);return this.#o.filename}get lineno(){s.brandCheck(this,ErrorEvent);return this.#o.lineno}get colno(){s.brandCheck(this,ErrorEvent);return this.#o.colno}get error(){s.brandCheck(this,ErrorEvent);return this.#o.error}}Object.defineProperties(MessageEvent.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:true},data:n,origin:n,lastEventId:n,source:n,ports:n,initMessageEvent:n});Object.defineProperties(CloseEvent.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:true},reason:n,code:n,wasClean:n});Object.defineProperties(ErrorEvent.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:true},message:n,filename:n,lineno:n,colno:n,error:n});s.converters.MessagePort=s.interfaceConverter(o);s.converters["sequence"]=s.sequenceConverter(s.converters.MessagePort);const i=[{key:"bubbles",converter:s.converters.boolean,defaultValue:false},{key:"cancelable",converter:s.converters.boolean,defaultValue:false},{key:"composed",converter:s.converters.boolean,defaultValue:false}];s.converters.MessageEventInit=s.dictionaryConverter([...i,{key:"data",converter:s.converters.any,defaultValue:null},{key:"origin",converter:s.converters.USVString,defaultValue:""},{key:"lastEventId",converter:s.converters.DOMString,defaultValue:""},{key:"source",converter:s.nullableConverter(s.converters.MessagePort),defaultValue:null},{key:"ports",converter:s.converters["sequence"],get defaultValue(){return[]}}]);s.converters.CloseEventInit=s.dictionaryConverter([...i,{key:"wasClean",converter:s.converters.boolean,defaultValue:false},{key:"code",converter:s.converters["unsigned short"],defaultValue:0},{key:"reason",converter:s.converters.USVString,defaultValue:""}]);s.converters.ErrorEventInit=s.dictionaryConverter([...i,{key:"message",converter:s.converters.DOMString,defaultValue:""},{key:"filename",converter:s.converters.USVString,defaultValue:""},{key:"lineno",converter:s.converters["unsigned long"],defaultValue:0},{key:"colno",converter:s.converters["unsigned long"],defaultValue:0},{key:"error",converter:s.converters.any}]);e.exports={MessageEvent:MessageEvent,CloseEvent:CloseEvent,ErrorEvent:ErrorEvent}},6771:(e,t,r)=>{"use strict";const{maxUnsigned16Bit:s}=r(6487);let n;try{n=r(6113)}catch{}class WebsocketFrameSend{constructor(e){this.frameData=e;this.maskKey=n.randomBytes(4)}createFrame(e){const t=this.frameData?.byteLength??0;let r=t;let n=6;if(t>s){n+=8;r=127}else if(t>125){n+=2;r=126}const o=Buffer.allocUnsafe(t+n);o[0]=o[1]=0;o[0]|=128;o[0]=(o[0]&240)+e; +/*! ws. MIT License. Einar Otto Stangvik */o[n-4]=this.maskKey[0];o[n-3]=this.maskKey[1];o[n-2]=this.maskKey[2];o[n-1]=this.maskKey[3];o[1]=r;if(r===126){o.writeUInt16BE(t,2)}else if(r===127){o[2]=o[3]=0;o.writeUIntBE(t,4,6)}o[1]|=128;for(let e=0;e{"use strict";const{Writable:s}=r(2781);const n=r(7643);const{parserStates:o,opcodes:i,states:a,emptyBuffer:A}=r(6487);const{kReadyState:c,kSentClose:l,kResponse:u,kReceivedClose:p}=r(7380);const{isValidStatusCode:d,failWebsocketConnection:g,websocketMessageReceived:h}=r(5714);const{WebsocketFrameSend:m}=r(6771);const E={};E.ping=n.channel("undici:websocket:ping");E.pong=n.channel("undici:websocket:pong");class ByteParser extends s{#i=[];#a=0;#A=o.INFO;#c={};#l=[];constructor(e){super();this.ws=e}_write(e,t,r){this.#i.push(e);this.#a+=e.length;this.run(r)}run(e){while(true){if(this.#A===o.INFO){if(this.#a<2){return e()}const t=this.consume(2);this.#c.fin=(t[0]&128)!==0;this.#c.opcode=t[0]&15;this.#c.originalOpcode??=this.#c.opcode;this.#c.fragmented=!this.#c.fin&&this.#c.opcode!==i.CONTINUATION;if(this.#c.fragmented&&this.#c.opcode!==i.BINARY&&this.#c.opcode!==i.TEXT){g(this.ws,"Invalid frame type was fragmented.");return}const r=t[1]&127;if(r<=125){this.#c.payloadLength=r;this.#A=o.READ_DATA}else if(r===126){this.#A=o.PAYLOADLENGTH_16}else if(r===127){this.#A=o.PAYLOADLENGTH_64}if(this.#c.fragmented&&r>125){g(this.ws,"Fragmented frame exceeded 125 bytes.");return}else if((this.#c.opcode===i.PING||this.#c.opcode===i.PONG||this.#c.opcode===i.CLOSE)&&r>125){g(this.ws,"Payload length for control frame exceeded 125 bytes.");return}else if(this.#c.opcode===i.CLOSE){if(r===1){g(this.ws,"Received close frame with a 1-byte body.");return}const e=this.consume(r);this.#c.closeInfo=this.parseCloseBody(false,e);if(!this.ws[l]){const e=Buffer.allocUnsafe(2);e.writeUInt16BE(this.#c.closeInfo.code,0);const t=new m(e);this.ws[u].socket.write(t.createFrame(i.CLOSE),(e=>{if(!e){this.ws[l]=true}}))}this.ws[c]=a.CLOSING;this.ws[p]=true;this.end();return}else if(this.#c.opcode===i.PING){const t=this.consume(r);if(!this.ws[p]){const e=new m(t);this.ws[u].socket.write(e.createFrame(i.PONG));if(E.ping.hasSubscribers){E.ping.publish({payload:t})}}this.#A=o.INFO;if(this.#a>0){continue}else{e();return}}else if(this.#c.opcode===i.PONG){const t=this.consume(r);if(E.pong.hasSubscribers){E.pong.publish({payload:t})}if(this.#a>0){continue}else{e();return}}}else if(this.#A===o.PAYLOADLENGTH_16){if(this.#a<2){return e()}const t=this.consume(2);this.#c.payloadLength=t.readUInt16BE(0);this.#A=o.READ_DATA}else if(this.#A===o.PAYLOADLENGTH_64){if(this.#a<8){return e()}const t=this.consume(8);const r=t.readUInt32BE(0);if(r>2**31-1){g(this.ws,"Received payload length > 2^31 bytes.");return}const s=t.readUInt32BE(4);this.#c.payloadLength=(r<<8)+s;this.#A=o.READ_DATA}else if(this.#A===o.READ_DATA){if(this.#a=this.#c.payloadLength){const e=this.consume(this.#c.payloadLength);this.#l.push(e);if(!this.#c.fragmented||this.#c.fin&&this.#c.opcode===i.CONTINUATION){const e=Buffer.concat(this.#l);h(this.ws,this.#c.originalOpcode,e);this.#c={};this.#l.length=0}this.#A=o.INFO}}if(this.#a>0){continue}else{e();break}}}consume(e){if(e>this.#a){return null}else if(e===0){return A}if(this.#i[0].length===e){this.#a-=this.#i[0].length;return this.#i.shift()}const t=Buffer.allocUnsafe(e);let r=0;while(r!==e){const s=this.#i[0];const{length:n}=s;if(n+r===e){t.set(this.#i.shift(),r);break}else if(n+r>e){t.set(s.subarray(0,e-r),r);this.#i[0]=s.subarray(e-r);break}else{t.set(this.#i.shift(),r);r+=s.length}}this.#a-=e;return t}parseCloseBody(e,t){let r;if(t.length>=2){r=t.readUInt16BE(0)}if(e){if(!d(r)){return null}return{code:r}}let s=t.subarray(2);if(s[0]===239&&s[1]===187&&s[2]===191){s=s.subarray(3)}if(r!==undefined&&!d(r)){return null}try{s=new TextDecoder("utf-8",{fatal:true}).decode(s)}catch{return null}return{code:r,reason:s}}get closingInfo(){return this.#c.closeInfo}}e.exports={ByteParser:ByteParser}},7380:e=>{"use strict";e.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}},5714:(e,t,r)=>{"use strict";const{kReadyState:s,kController:n,kResponse:o,kBinaryType:i,kWebSocketURL:a}=r(7380);const{states:A,opcodes:c}=r(6487);const{MessageEvent:l,ErrorEvent:u}=r(1879);function isEstablished(e){return e[s]===A.OPEN}function isClosing(e){return e[s]===A.CLOSING}function isClosed(e){return e[s]===A.CLOSED}function fireEvent(e,t,r=Event,s){const n=new r(e,s);t.dispatchEvent(n)}function websocketMessageReceived(e,t,r){if(e[s]!==A.OPEN){return}let n;if(t===c.TEXT){try{n=new TextDecoder("utf-8",{fatal:true}).decode(r)}catch{failWebsocketConnection(e,"Received invalid UTF-8 in text frame.");return}}else if(t===c.BINARY){if(e[i]==="blob"){n=new Blob([r])}else{n=new Uint8Array(r).buffer}}fireEvent("message",e,l,{origin:e[a].origin,data:n})}function isValidSubprotocol(e){if(e.length===0){return false}for(const t of e){const e=t.charCodeAt(0);if(e<33||e>126||t==="("||t===")"||t==="<"||t===">"||t==="@"||t===","||t===";"||t===":"||t==="\\"||t==='"'||t==="/"||t==="["||t==="]"||t==="?"||t==="="||t==="{"||t==="}"||e===32||e===9){return false}}return true}function isValidStatusCode(e){if(e>=1e3&&e<1015){return e!==1004&&e!==1005&&e!==1006}return e>=3e3&&e<=4999}function failWebsocketConnection(e,t){const{[n]:r,[o]:s}=e;r.abort();if(s?.socket&&!s.socket.destroyed){s.socket.destroy()}if(t){fireEvent("error",e,u,{error:new Error(t)})}}e.exports={isEstablished:isEstablished,isClosing:isClosing,isClosed:isClosed,fireEvent:fireEvent,isValidSubprotocol:isValidSubprotocol,isValidStatusCode:isValidStatusCode,failWebsocketConnection:failWebsocketConnection,websocketMessageReceived:websocketMessageReceived}},1986:(e,t,r)=>{"use strict";const{webidl:s}=r(9111);const{DOMException:n}=r(7533);const{URLSerializer:o}=r(5958);const{getGlobalOrigin:i}=r(7011);const{staticPropertyDescriptors:a,states:A,opcodes:c,emptyBuffer:l}=r(6487);const{kWebSocketURL:u,kReadyState:p,kController:d,kBinaryType:g,kResponse:h,kSentClose:m,kByteParser:E}=r(7380);const{isEstablished:C,isClosing:I,isValidSubprotocol:B,failWebsocketConnection:Q,fireEvent:b}=r(5714);const{establishWebSocketConnection:y}=r(250);const{WebsocketFrameSend:v}=r(6771);const{ByteParser:w}=r(5379);const{kEnumerableProperty:x,isBlobLike:k}=r(7497);const{getGlobalDispatcher:R}=r(2899);const{types:S}=r(3837);let D=false;class WebSocket extends EventTarget{#u={open:null,error:null,close:null,message:null};#p=0;#d="";#g="";constructor(e,t=[]){super();s.argumentLengthCheck(arguments,1,{header:"WebSocket constructor"});if(!D){D=true;process.emitWarning("WebSockets are experimental, expect them to change at any time.",{code:"UNDICI-WS"})}const r=s.converters["DOMString or sequence or WebSocketInit"](t);e=s.converters.USVString(e);t=r.protocols;const o=i();let a;try{a=new URL(e,o)}catch(e){throw new n(e,"SyntaxError")}if(a.protocol==="http:"){a.protocol="ws:"}else if(a.protocol==="https:"){a.protocol="wss:"}if(a.protocol!=="ws:"&&a.protocol!=="wss:"){throw new n(`Expected a ws: or wss: protocol, got ${a.protocol}`,"SyntaxError")}if(a.hash||a.href.endsWith("#")){throw new n("Got fragment","SyntaxError")}if(typeof t==="string"){t=[t]}if(t.length!==new Set(t.map((e=>e.toLowerCase()))).size){throw new n("Invalid Sec-WebSocket-Protocol value","SyntaxError")}if(t.length>0&&!t.every((e=>B(e)))){throw new n("Invalid Sec-WebSocket-Protocol value","SyntaxError")}this[u]=new URL(a.href);this[d]=y(a,t,this,(e=>this.#h(e)),r);this[p]=WebSocket.CONNECTING;this[g]="blob"}close(e=undefined,t=undefined){s.brandCheck(this,WebSocket);if(e!==undefined){e=s.converters["unsigned short"](e,{clamp:true})}if(t!==undefined){t=s.converters.USVString(t)}if(e!==undefined){if(e!==1e3&&(e<3e3||e>4999)){throw new n("invalid code","InvalidAccessError")}}let r=0;if(t!==undefined){r=Buffer.byteLength(t);if(r>123){throw new n(`Reason must be less than 123 bytes; received ${r}`,"SyntaxError")}}if(this[p]===WebSocket.CLOSING||this[p]===WebSocket.CLOSED){}else if(!C(this)){Q(this,"Connection was closed before it was established.");this[p]=WebSocket.CLOSING}else if(!I(this)){const s=new v;if(e!==undefined&&t===undefined){s.frameData=Buffer.allocUnsafe(2);s.frameData.writeUInt16BE(e,0)}else if(e!==undefined&&t!==undefined){s.frameData=Buffer.allocUnsafe(2+r);s.frameData.writeUInt16BE(e,0);s.frameData.write(t,2,"utf-8")}else{s.frameData=l}const n=this[h].socket;n.write(s.createFrame(c.CLOSE),(e=>{if(!e){this[m]=true}}));this[p]=A.CLOSING}else{this[p]=WebSocket.CLOSING}}send(e){s.brandCheck(this,WebSocket);s.argumentLengthCheck(arguments,1,{header:"WebSocket.send"});e=s.converters.WebSocketSendData(e);if(this[p]===WebSocket.CONNECTING){throw new n("Sent before connected.","InvalidStateError")}if(!C(this)||I(this)){return}const t=this[h].socket;if(typeof e==="string"){const r=Buffer.from(e);const s=new v(r);const n=s.createFrame(c.TEXT);this.#p+=r.byteLength;t.write(n,(()=>{this.#p-=r.byteLength}))}else if(S.isArrayBuffer(e)){const r=Buffer.from(e);const s=new v(r);const n=s.createFrame(c.BINARY);this.#p+=r.byteLength;t.write(n,(()=>{this.#p-=r.byteLength}))}else if(ArrayBuffer.isView(e)){const r=Buffer.from(e,e.byteOffset,e.byteLength);const s=new v(r);const n=s.createFrame(c.BINARY);this.#p+=r.byteLength;t.write(n,(()=>{this.#p-=r.byteLength}))}else if(k(e)){const r=new v;e.arrayBuffer().then((e=>{const s=Buffer.from(e);r.frameData=s;const n=r.createFrame(c.BINARY);this.#p+=s.byteLength;t.write(n,(()=>{this.#p-=s.byteLength}))}))}}get readyState(){s.brandCheck(this,WebSocket);return this[p]}get bufferedAmount(){s.brandCheck(this,WebSocket);return this.#p}get url(){s.brandCheck(this,WebSocket);return o(this[u])}get extensions(){s.brandCheck(this,WebSocket);return this.#g}get protocol(){s.brandCheck(this,WebSocket);return this.#d}get onopen(){s.brandCheck(this,WebSocket);return this.#u.open}set onopen(e){s.brandCheck(this,WebSocket);if(this.#u.open){this.removeEventListener("open",this.#u.open)}if(typeof e==="function"){this.#u.open=e;this.addEventListener("open",e)}else{this.#u.open=null}}get onerror(){s.brandCheck(this,WebSocket);return this.#u.error}set onerror(e){s.brandCheck(this,WebSocket);if(this.#u.error){this.removeEventListener("error",this.#u.error)}if(typeof e==="function"){this.#u.error=e;this.addEventListener("error",e)}else{this.#u.error=null}}get onclose(){s.brandCheck(this,WebSocket);return this.#u.close}set onclose(e){s.brandCheck(this,WebSocket);if(this.#u.close){this.removeEventListener("close",this.#u.close)}if(typeof e==="function"){this.#u.close=e;this.addEventListener("close",e)}else{this.#u.close=null}}get onmessage(){s.brandCheck(this,WebSocket);return this.#u.message}set onmessage(e){s.brandCheck(this,WebSocket);if(this.#u.message){this.removeEventListener("message",this.#u.message)}if(typeof e==="function"){this.#u.message=e;this.addEventListener("message",e)}else{this.#u.message=null}}get binaryType(){s.brandCheck(this,WebSocket);return this[g]}set binaryType(e){s.brandCheck(this,WebSocket);if(e!=="blob"&&e!=="arraybuffer"){this[g]="blob"}else{this[g]=e}}#h(e){this[h]=e;const t=new w(this);t.on("drain",(function onParserDrain(){this.ws[h].socket.resume()}));e.socket.ws=this;this[E]=t;this[p]=A.OPEN;const r=e.headersList.get("sec-websocket-extensions");if(r!==null){this.#g=r}const s=e.headersList.get("sec-websocket-protocol");if(s!==null){this.#d=s}b("open",this)}}WebSocket.CONNECTING=WebSocket.prototype.CONNECTING=A.CONNECTING;WebSocket.OPEN=WebSocket.prototype.OPEN=A.OPEN;WebSocket.CLOSING=WebSocket.prototype.CLOSING=A.CLOSING;WebSocket.CLOSED=WebSocket.prototype.CLOSED=A.CLOSED;Object.defineProperties(WebSocket.prototype,{CONNECTING:a,OPEN:a,CLOSING:a,CLOSED:a,url:x,readyState:x,bufferedAmount:x,onopen:x,onerror:x,onclose:x,close:x,onmessage:x,binaryType:x,send:x,extensions:x,protocol:x,[Symbol.toStringTag]:{value:"WebSocket",writable:false,enumerable:false,configurable:true}});Object.defineProperties(WebSocket,{CONNECTING:a,OPEN:a,CLOSING:a,CLOSED:a});s.converters["sequence"]=s.sequenceConverter(s.converters.DOMString);s.converters["DOMString or sequence"]=function(e){if(s.util.Type(e)==="Object"&&Symbol.iterator in e){return s.converters["sequence"](e)}return s.converters.DOMString(e)};s.converters.WebSocketInit=s.dictionaryConverter([{key:"protocols",converter:s.converters["DOMString or sequence"],get defaultValue(){return[]}},{key:"dispatcher",converter:e=>e,get defaultValue(){return R()}},{key:"headers",converter:s.nullableConverter(s.converters.HeadersInit)}]);s.converters["DOMString or sequence or WebSocketInit"]=function(e){if(s.util.Type(e)==="Object"&&!(Symbol.iterator in e)){return s.converters.WebSocketInit(e)}return{protocols:s.converters["DOMString or sequence"](e)}};s.converters.WebSocketSendData=function(e){if(s.util.Type(e)==="Object"){if(k(e)){return s.converters.Blob(e,{strict:false})}if(ArrayBuffer.isView(e)||S.isAnyArrayBuffer(e)){return s.converters.BufferSource(e)}}return s.converters.USVString(e)};e.exports={WebSocket:WebSocket}},5938:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&"version"in process){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}t.getUserAgent=getUserAgent},3872:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});Object.defineProperty(t,"v1",{enumerable:true,get:function(){return s.default}});Object.defineProperty(t,"v3",{enumerable:true,get:function(){return n.default}});Object.defineProperty(t,"v4",{enumerable:true,get:function(){return o.default}});Object.defineProperty(t,"v5",{enumerable:true,get:function(){return i.default}});Object.defineProperty(t,"NIL",{enumerable:true,get:function(){return a.default}});Object.defineProperty(t,"version",{enumerable:true,get:function(){return A.default}});Object.defineProperty(t,"validate",{enumerable:true,get:function(){return c.default}});Object.defineProperty(t,"stringify",{enumerable:true,get:function(){return l.default}});Object.defineProperty(t,"parse",{enumerable:true,get:function(){return u.default}});var s=_interopRequireDefault(r(5596));var n=_interopRequireDefault(r(2427));var o=_interopRequireDefault(r(6007));var i=_interopRequireDefault(r(398));var a=_interopRequireDefault(r(1623));var A=_interopRequireDefault(r(8818));var c=_interopRequireDefault(r(7178));var l=_interopRequireDefault(r(7016));var u=_interopRequireDefault(r(1158));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},3828:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(r(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return s.default.createHash("md5").update(e).digest()}var n=md5;t["default"]=n},1623:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r="00000000-0000-0000-0000-000000000000";t["default"]=r},1158:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(r(7178));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,s.default)(e)){throw TypeError("Invalid UUID")}let t;const r=new Uint8Array(16);r[0]=(t=parseInt(e.slice(0,8),16))>>>24;r[1]=t>>>16&255;r[2]=t>>>8&255;r[3]=t&255;r[4]=(t=parseInt(e.slice(9,13),16))>>>8;r[5]=t&255;r[6]=(t=parseInt(e.slice(14,18),16))>>>8;r[7]=t&255;r[8]=(t=parseInt(e.slice(19,23),16))>>>8;r[9]=t&255;r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255;r[11]=t/4294967296&255;r[12]=t>>>24&255;r[13]=t>>>16&255;r[14]=t>>>8&255;r[15]=t&255;return r}var n=parse;t["default"]=n},3607:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;t["default"]=r},1260:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=rng;var s=_interopRequireDefault(r(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const n=new Uint8Array(256);let o=n.length;function rng(){if(o>n.length-16){s.default.randomFillSync(n);o=0}return n.slice(o,o+=16)}},7615:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(r(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return s.default.createHash("sha1").update(e).digest()}var n=sha1;t["default"]=n},7016:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(r(7178));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const n=[];for(let e=0;e<256;++e){n.push((e+256).toString(16).substr(1))}function stringify(e,t=0){const r=(n[e[t+0]]+n[e[t+1]]+n[e[t+2]]+n[e[t+3]]+"-"+n[e[t+4]]+n[e[t+5]]+"-"+n[e[t+6]]+n[e[t+7]]+"-"+n[e[t+8]]+n[e[t+9]]+"-"+n[e[t+10]]+n[e[t+11]]+n[e[t+12]]+n[e[t+13]]+n[e[t+14]]+n[e[t+15]]).toLowerCase();if(!(0,s.default)(r)){throw TypeError("Stringified UUID is invalid")}return r}var o=stringify;t["default"]=o},5596:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(r(1260));var n=_interopRequireDefault(r(7016));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let o;let i;let a=0;let A=0;function v1(e,t,r){let c=t&&r||0;const l=t||new Array(16);e=e||{};let u=e.node||o;let p=e.clockseq!==undefined?e.clockseq:i;if(u==null||p==null){const t=e.random||(e.rng||s.default)();if(u==null){u=o=[t[0]|1,t[1],t[2],t[3],t[4],t[5]]}if(p==null){p=i=(t[6]<<8|t[7])&16383}}let d=e.msecs!==undefined?e.msecs:Date.now();let g=e.nsecs!==undefined?e.nsecs:A+1;const h=d-a+(g-A)/1e4;if(h<0&&e.clockseq===undefined){p=p+1&16383}if((h<0||d>a)&&e.nsecs===undefined){g=0}if(g>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}a=d;A=g;i=p;d+=122192928e5;const m=((d&268435455)*1e4+g)%4294967296;l[c++]=m>>>24&255;l[c++]=m>>>16&255;l[c++]=m>>>8&255;l[c++]=m&255;const E=d/4294967296*1e4&268435455;l[c++]=E>>>8&255;l[c++]=E&255;l[c++]=E>>>24&15|16;l[c++]=E>>>16&255;l[c++]=p>>>8|128;l[c++]=p&255;for(let e=0;e<6;++e){l[c+e]=u[e]}return t||(0,n.default)(l)}var c=v1;t["default"]=c},2427:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(r(6901));var n=_interopRequireDefault(r(3828));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o=(0,s.default)("v3",48,n.default);var i=o;t["default"]=i},6901:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=_default;t.URL=t.DNS=void 0;var s=_interopRequireDefault(r(7016));var n=_interopRequireDefault(r(1158));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const t=[];for(let r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(r(1260));var n=_interopRequireDefault(r(7016));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,t,r){e=e||{};const o=e.random||(e.rng||s.default)();o[6]=o[6]&15|64;o[8]=o[8]&63|128;if(t){r=r||0;for(let e=0;e<16;++e){t[r+e]=o[e]}return t}return(0,n.default)(o)}var o=v4;t["default"]=o},398:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(r(6901));var n=_interopRequireDefault(r(7615));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o=(0,s.default)("v5",80,n.default);var i=o;t["default"]=i},7178:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(r(3607));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&s.default.test(e)}var n=validate;t["default"]=n},8818:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var s=_interopRequireDefault(r(7178));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,s.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var n=version;t["default"]=n},7212:e=>{e.exports=wrappy;function wrappy(e,t){if(e&&t)return wrappy(e)(t);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(t){wrapper[t]=e[t]}));return wrapper;function wrapper(){var t=new Array(arguments.length);for(var r=0;r{module.exports=eval("require")("supports-color")},9491:e=>{"use strict";e.exports=require("assert")},852:e=>{"use strict";e.exports=require("async_hooks")},4300:e=>{"use strict";e.exports=require("buffer")},2081:e=>{"use strict";e.exports=require("child_process")},6206:e=>{"use strict";e.exports=require("console")},6113:e=>{"use strict";e.exports=require("crypto")},7643:e=>{"use strict";e.exports=require("diagnostics_channel")},9820:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3685:e=>{"use strict";e.exports=require("http")},5158:e=>{"use strict";e.exports=require("http2")},5687:e=>{"use strict";e.exports=require("https")},1808:e=>{"use strict";e.exports=require("net")},5673:e=>{"use strict";e.exports=require("node:events")},4492:e=>{"use strict";e.exports=require("node:stream")},7261:e=>{"use strict";e.exports=require("node:util")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},4074:e=>{"use strict";e.exports=require("perf_hooks")},3477:e=>{"use strict";e.exports=require("querystring")},2781:e=>{"use strict";e.exports=require("stream")},5356:e=>{"use strict";e.exports=require("stream/web")},1576:e=>{"use strict";e.exports=require("string_decoder")},9512:e=>{"use strict";e.exports=require("timers")},4404:e=>{"use strict";e.exports=require("tls")},6224:e=>{"use strict";e.exports=require("tty")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9830:e=>{"use strict";e.exports=require("util/types")},1267:e=>{"use strict";e.exports=require("worker_threads")},9796:e=>{"use strict";e.exports=require("zlib")},1089:(e,t,r)=>{"use strict";const s=r(4492).Writable;const n=r(7261).inherits;const o=r(9306);const i=r(5575);const a=r(2010);const A=45;const c=Buffer.from("-");const l=Buffer.from("\r\n");const EMPTY_FN=function(){};function Dicer(e){if(!(this instanceof Dicer)){return new Dicer(e)}s.call(this,e);if(!e||!e.headerFirst&&typeof e.boundary!=="string"){throw new TypeError("Boundary required")}if(typeof e.boundary==="string"){this.setBoundary(e.boundary)}else{this._bparser=undefined}this._headerFirst=e.headerFirst;this._dashes=0;this._parts=0;this._finished=false;this._realFinish=false;this._isPreamble=true;this._justMatched=false;this._firstWrite=true;this._inHeader=true;this._part=undefined;this._cb=undefined;this._ignoreData=false;this._partOpts={highWaterMark:e.partHwm};this._pause=false;const t=this;this._hparser=new a(e);this._hparser.on("header",(function(e){t._inHeader=false;t._part.emit("header",e)}))}n(Dicer,s);Dicer.prototype.emit=function(e){if(e==="finish"&&!this._realFinish){if(!this._finished){const e=this;process.nextTick((function(){e.emit("error",new Error("Unexpected end of multipart data"));if(e._part&&!e._ignoreData){const t=e._isPreamble?"Preamble":"Part";e._part.emit("error",new Error(t+" terminated early due to unexpected end of multipart data"));e._part.push(null);process.nextTick((function(){e._realFinish=true;e.emit("finish");e._realFinish=false}));return}e._realFinish=true;e.emit("finish");e._realFinish=false}))}}else{s.prototype.emit.apply(this,arguments)}};Dicer.prototype._write=function(e,t,r){if(!this._hparser&&!this._bparser){return r()}if(this._headerFirst&&this._isPreamble){if(!this._part){this._part=new i(this._partOpts);if(this._events.preamble){this.emit("preamble",this._part)}else{this._ignore()}}const t=this._hparser.push(e);if(!this._inHeader&&t!==undefined&&t{"use strict";const s=r(5673).EventEmitter;const n=r(7261).inherits;const o=r(7845);const i=r(9306);const a=Buffer.from("\r\n\r\n");const A=/\r\n/g;const c=/^([^:]+):[ \t]?([\x00-\xFF]+)?$/;function HeaderParser(e){s.call(this);e=e||{};const t=this;this.nread=0;this.maxed=false;this.npairs=0;this.maxHeaderPairs=o(e,"maxHeaderPairs",2e3);this.maxHeaderSize=o(e,"maxHeaderSize",80*1024);this.buffer="";this.header={};this.finished=false;this.ss=new i(a);this.ss.on("info",(function(e,r,s,n){if(r&&!t.maxed){if(t.nread+n-s>=t.maxHeaderSize){n=t.maxHeaderSize-t.nread+s;t.nread=t.maxHeaderSize;t.maxed=true}else{t.nread+=n-s}t.buffer+=r.toString("binary",s,n)}if(e){t._finish()}}))}n(HeaderParser,s);HeaderParser.prototype.push=function(e){const t=this.ss.push(e);if(this.finished){return t}};HeaderParser.prototype.reset=function(){this.finished=false;this.buffer="";this.header={};this.ss.reset()};HeaderParser.prototype._finish=function(){if(this.buffer){this._parseHeader()}this.ss.matches=this.ss.maxMatches;const e=this.header;this.header={};this.buffer="";this.finished=true;this.nread=this.npairs=0;this.maxed=false;this.emit("header",e)};HeaderParser.prototype._parseHeader=function(){if(this.npairs===this.maxHeaderPairs){return}const e=this.buffer.split(A);const t=e.length;let r,s;for(var n=0;n{"use strict";const s=r(7261).inherits;const n=r(4492).Readable;function PartStream(e){n.call(this,e)}s(PartStream,n);PartStream.prototype._read=function(e){};e.exports=PartStream},9306:(e,t,r)=>{"use strict";const s=r(5673).EventEmitter;const n=r(7261).inherits;function SBMH(e){if(typeof e==="string"){e=Buffer.from(e)}if(!Buffer.isBuffer(e)){throw new TypeError("The needle has to be a String or a Buffer.")}const t=e.length;if(t===0){throw new Error("The needle cannot be an empty String/Buffer.")}if(t>256){throw new Error("The needle cannot have a length bigger than 256.")}this.maxMatches=Infinity;this.matches=0;this._occ=new Array(256).fill(t);this._lookbehind_size=0;this._needle=e;this._bufpos=0;this._lookbehind=Buffer.alloc(t);for(var r=0;r=0){this.emit("info",false,this._lookbehind,0,this._lookbehind_size);this._lookbehind_size=0}else{const r=this._lookbehind_size+o;if(r>0){this.emit("info",false,this._lookbehind,0,r)}this._lookbehind.copy(this._lookbehind,0,r,this._lookbehind_size-r);this._lookbehind_size-=r;e.copy(this._lookbehind,this._lookbehind_size);this._lookbehind_size+=t;this._bufpos=t;return t}}o+=(o>=0)*this._bufpos;if(e.indexOf(r,o)!==-1){o=e.indexOf(r,o);++this.matches;if(o>0){this.emit("info",true,e,this._bufpos,o)}else{this.emit("info",true)}return this._bufpos=o+s}else{o=t-s}while(o0){this.emit("info",false,e,this._bufpos,o{"use strict";const s=r(4492).Writable;const{inherits:n}=r(7261);const o=r(1089);const i=r(6541);const a=r(9933);const A=r(8696);function Busboy(e){if(!(this instanceof Busboy)){return new Busboy(e)}if(typeof e!=="object"){throw new TypeError("Busboy expected an options-Object.")}if(typeof e.headers!=="object"){throw new TypeError("Busboy expected an options-Object with headers-attribute.")}if(typeof e.headers["content-type"]!=="string"){throw new TypeError("Missing Content-Type-header.")}const{headers:t,...r}=e;this.opts={autoDestroy:false,...r};s.call(this,this.opts);this._done=false;this._parser=this.getParserByHeaders(t);this._finished=false}n(Busboy,s);Busboy.prototype.emit=function(e){if(e==="finish"){if(!this._done){this._parser?.end();return}else if(this._finished){return}this._finished=true}s.prototype.emit.apply(this,arguments)};Busboy.prototype.getParserByHeaders=function(e){const t=A(e["content-type"]);const r={defCharset:this.opts.defCharset,fileHwm:this.opts.fileHwm,headers:e,highWaterMark:this.opts.highWaterMark,isPartAFile:this.opts.isPartAFile,limits:this.opts.limits,parsedConType:t,preservePath:this.opts.preservePath};if(i.detect.test(t[0])){return new i(this,r)}if(a.detect.test(t[0])){return new a(this,r)}throw new Error("Unsupported Content-Type.")};Busboy.prototype._write=function(e,t,r){this._parser.write(e,r)};e.exports=Busboy;e.exports["default"]=Busboy;e.exports.Busboy=Busboy;e.exports.Dicer=o},6541:(e,t,r)=>{"use strict";const{Readable:s}=r(4492);const{inherits:n}=r(7261);const o=r(1089);const i=r(8696);const a=r(9999);const A=r(1602);const c=r(7845);const l=/^boundary$/i;const u=/^form-data$/i;const p=/^charset$/i;const d=/^filename$/i;const g=/^name$/i;Multipart.detect=/^multipart\/form-data/i;function Multipart(e,t){let r;let s;const n=this;let h;const m=t.limits;const E=t.isPartAFile||((e,t,r)=>t==="application/octet-stream"||r!==undefined);const C=t.parsedConType||[];const I=t.defCharset||"utf8";const B=t.preservePath;const Q={highWaterMark:t.fileHwm};for(r=0,s=C.length;rx){n.parser.removeListener("part",onPart);n.parser.on("part",skipPart);e.hitPartsLimit=true;e.emit("partsLimit");return skipPart(t)}if(F){const e=F;e.emit("end");e.removeAllListeners("end")}t.on("header",(function(o){let c;let l;let h;let m;let C;let x;let k=0;if(o["content-type"]){h=i(o["content-type"][0]);if(h[0]){c=h[0].toLowerCase();for(r=0,s=h.length;ry){const s=y-k+e.length;if(s>0){r.push(e.slice(0,s))}r.truncated=true;r.bytesRead=y;t.removeAllListeners("data");r.emit("limit");return}else if(!r.push(e)){n._pause=true}r.bytesRead=k};N=function(){_=undefined;r.push(null)}}else{if(D===w){if(!e.hitFieldsLimit){e.hitFieldsLimit=true;e.emit("fieldsLimit")}return skipPart(t)}++D;++T;let r="";let s=false;F=t;R=function(e){if((k+=e.length)>b){const n=b-(k-e.length);r+=e.toString("binary",0,n);s=true;t.removeAllListeners("data")}else{r+=e.toString("binary")}};N=function(){F=undefined;if(r.length){r=a(r,"binary",m)}e.emit("field",l,r,false,s,C,c);--T;checkFinished()}}t._readableState.sync=false;t.on("data",R);t.on("end",N)})).on("error",(function(e){if(_){_.emit("error",e)}}))})).on("error",(function(t){e.emit("error",t)})).on("finish",(function(){N=true;checkFinished()}))}Multipart.prototype.write=function(e,t){const r=this.parser.write(e);if(r&&!this._pause){t()}else{this._needDrain=!r;this._cb=t}};Multipart.prototype.end=function(){const e=this;if(e.parser.writable){e.parser.end()}else if(!e._boy._done){process.nextTick((function(){e._boy._done=true;e._boy.emit("finish")}))}};function skipPart(e){e.resume()}function FileStream(e){s.call(this,e);this.bytesRead=0;this.truncated=false}n(FileStream,s);FileStream.prototype._read=function(e){};e.exports=Multipart},9933:(e,t,r)=>{"use strict";const s=r(2017);const n=r(9999);const o=r(7845);const i=/^charset$/i;UrlEncoded.detect=/^application\/x-www-form-urlencoded/i;function UrlEncoded(e,t){const r=t.limits;const n=t.parsedConType;this.boy=e;this.fieldSizeLimit=o(r,"fieldSize",1*1024*1024);this.fieldNameSizeLimit=o(r,"fieldNameSize",100);this.fieldsLimit=o(r,"fields",Infinity);let a;for(var A=0,c=n.length;Ai){this._key+=this.decoder.write(e.toString("binary",i,r))}this._state="val";this._hitLimit=false;this._checkingBytes=true;this._val="";this._bytesVal=0;this._valTrunc=false;this.decoder.reset();i=r+1}else if(s!==undefined){++this._fields;let r;const o=this._keyTrunc;if(s>i){r=this._key+=this.decoder.write(e.toString("binary",i,s))}else{r=this._key}this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();if(r.length){this.boy.emit("field",n(r,"binary",this.charset),"",o,false)}i=s+1;if(this._fields===this.fieldsLimit){return t()}}else if(this._hitLimit){if(o>i){this._key+=this.decoder.write(e.toString("binary",i,o))}i=o;if((this._bytesKey=this._key.length)===this.fieldNameSizeLimit){this._checkingBytes=false;this._keyTrunc=true}}else{if(ii){this._val+=this.decoder.write(e.toString("binary",i,s))}this.boy.emit("field",n(this._key,"binary",this.charset),n(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc);this._state="key";this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();i=s+1;if(this._fields===this.fieldsLimit){return t()}}else if(this._hitLimit){if(o>i){this._val+=this.decoder.write(e.toString("binary",i,o))}i=o;if(this._val===""&&this.fieldSizeLimit===0||(this._bytesVal=this._val.length)===this.fieldSizeLimit){this._checkingBytes=false;this._valTrunc=true}}else{if(i0){this.boy.emit("field",n(this._key,"binary",this.charset),"",this._keyTrunc,false)}else if(this._state==="val"){this.boy.emit("field",n(this._key,"binary",this.charset),n(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc)}this.boy._done=true;this.boy.emit("finish")};e.exports=UrlEncoded},2017:e=>{"use strict";const t=/\+/g;const r=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];function Decoder(){this.buffer=undefined}Decoder.prototype.write=function(e){e=e.replace(t," ");let s="";let n=0;let o=0;const i=e.length;for(;no){s+=e.substring(o,n);o=n}this.buffer="";++o}}if(o{"use strict";e.exports=function basename(e){if(typeof e!=="string"){return""}for(var t=e.length-1;t>=0;--t){switch(e.charCodeAt(t)){case 47:case 92:e=e.slice(t+1);return e===".."||e==="."?"":e}}return e===".."||e==="."?"":e}},9999:function(e){"use strict";const t=new TextDecoder("utf-8");const r=new Map([["utf-8",t],["utf8",t]]);function getDecoder(e){let t;while(true){switch(e){case"utf-8":case"utf8":return s.utf8;case"latin1":case"ascii":case"us-ascii":case"iso-8859-1":case"iso8859-1":case"iso88591":case"iso_8859-1":case"windows-1252":case"iso_8859-1:1987":case"cp1252":case"x-cp1252":return s.latin1;case"utf16le":case"utf-16le":case"ucs2":case"ucs-2":return s.utf16le;case"base64":return s.base64;default:if(t===undefined){t=true;e=e.toLowerCase();continue}return s.other.bind(e)}}}const s={utf8:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.utf8Slice(0,e.length)},latin1:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){return e}return e.latin1Slice(0,e.length)},utf16le:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.ucs2Slice(0,e.length)},base64:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.base64Slice(0,e.length)},other:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}if(r.has(this.toString())){try{return r.get(this).decode(e)}catch(e){}}return typeof e==="string"?e:e.toString()}};function decodeText(e,t,r){if(e){return getDecoder(r)(e,t)}return e}e.exports=decodeText},7845:e=>{"use strict";e.exports=function getLimit(e,t,r){if(!e||e[t]===undefined||e[t]===null){return r}if(typeof e[t]!=="number"||isNaN(e[t])){throw new TypeError("Limit "+t+" is not a valid number")}return e[t]}},8696:(e,t,r)=>{"use strict";const s=r(9999);const n=/%[a-fA-F0-9][a-fA-F0-9]/g;const o={"%00":"\0","%01":"","%02":"","%03":"","%04":"","%05":"","%06":"","%07":"","%08":"\b","%09":"\t","%0a":"\n","%0A":"\n","%0b":"\v","%0B":"\v","%0c":"\f","%0C":"\f","%0d":"\r","%0D":"\r","%0e":"","%0E":"","%0f":"","%0F":"","%10":"","%11":"","%12":"","%13":"","%14":"","%15":"","%16":"","%17":"","%18":"","%19":"","%1a":"","%1A":"","%1b":"","%1B":"","%1c":"","%1C":"","%1d":"","%1D":"","%1e":"","%1E":"","%1f":"","%1F":"","%20":" ","%21":"!","%22":'"',"%23":"#","%24":"$","%25":"%","%26":"&","%27":"'","%28":"(","%29":")","%2a":"*","%2A":"*","%2b":"+","%2B":"+","%2c":",","%2C":",","%2d":"-","%2D":"-","%2e":".","%2E":".","%2f":"/","%2F":"/","%30":"0","%31":"1","%32":"2","%33":"3","%34":"4","%35":"5","%36":"6","%37":"7","%38":"8","%39":"9","%3a":":","%3A":":","%3b":";","%3B":";","%3c":"<","%3C":"<","%3d":"=","%3D":"=","%3e":">","%3E":">","%3f":"?","%3F":"?","%40":"@","%41":"A","%42":"B","%43":"C","%44":"D","%45":"E","%46":"F","%47":"G","%48":"H","%49":"I","%4a":"J","%4A":"J","%4b":"K","%4B":"K","%4c":"L","%4C":"L","%4d":"M","%4D":"M","%4e":"N","%4E":"N","%4f":"O","%4F":"O","%50":"P","%51":"Q","%52":"R","%53":"S","%54":"T","%55":"U","%56":"V","%57":"W","%58":"X","%59":"Y","%5a":"Z","%5A":"Z","%5b":"[","%5B":"[","%5c":"\\","%5C":"\\","%5d":"]","%5D":"]","%5e":"^","%5E":"^","%5f":"_","%5F":"_","%60":"`","%61":"a","%62":"b","%63":"c","%64":"d","%65":"e","%66":"f","%67":"g","%68":"h","%69":"i","%6a":"j","%6A":"j","%6b":"k","%6B":"k","%6c":"l","%6C":"l","%6d":"m","%6D":"m","%6e":"n","%6E":"n","%6f":"o","%6F":"o","%70":"p","%71":"q","%72":"r","%73":"s","%74":"t","%75":"u","%76":"v","%77":"w","%78":"x","%79":"y","%7a":"z","%7A":"z","%7b":"{","%7B":"{","%7c":"|","%7C":"|","%7d":"}","%7D":"}","%7e":"~","%7E":"~","%7f":"","%7F":"","%80":"€","%81":"","%82":"‚","%83":"ƒ","%84":"„","%85":"…","%86":"†","%87":"‡","%88":"ˆ","%89":"‰","%8a":"Š","%8A":"Š","%8b":"‹","%8B":"‹","%8c":"Œ","%8C":"Œ","%8d":"","%8D":"","%8e":"Ž","%8E":"Ž","%8f":"","%8F":"","%90":"","%91":"‘","%92":"’","%93":"“","%94":"”","%95":"•","%96":"–","%97":"—","%98":"˜","%99":"™","%9a":"š","%9A":"š","%9b":"›","%9B":"›","%9c":"œ","%9C":"œ","%9d":"","%9D":"","%9e":"ž","%9E":"ž","%9f":"Ÿ","%9F":"Ÿ","%a0":" ","%A0":" ","%a1":"¡","%A1":"¡","%a2":"¢","%A2":"¢","%a3":"£","%A3":"£","%a4":"¤","%A4":"¤","%a5":"¥","%A5":"¥","%a6":"¦","%A6":"¦","%a7":"§","%A7":"§","%a8":"¨","%A8":"¨","%a9":"©","%A9":"©","%aa":"ª","%Aa":"ª","%aA":"ª","%AA":"ª","%ab":"«","%Ab":"«","%aB":"«","%AB":"«","%ac":"¬","%Ac":"¬","%aC":"¬","%AC":"¬","%ad":"­","%Ad":"­","%aD":"­","%AD":"­","%ae":"®","%Ae":"®","%aE":"®","%AE":"®","%af":"¯","%Af":"¯","%aF":"¯","%AF":"¯","%b0":"°","%B0":"°","%b1":"±","%B1":"±","%b2":"²","%B2":"²","%b3":"³","%B3":"³","%b4":"´","%B4":"´","%b5":"µ","%B5":"µ","%b6":"¶","%B6":"¶","%b7":"·","%B7":"·","%b8":"¸","%B8":"¸","%b9":"¹","%B9":"¹","%ba":"º","%Ba":"º","%bA":"º","%BA":"º","%bb":"»","%Bb":"»","%bB":"»","%BB":"»","%bc":"¼","%Bc":"¼","%bC":"¼","%BC":"¼","%bd":"½","%Bd":"½","%bD":"½","%BD":"½","%be":"¾","%Be":"¾","%bE":"¾","%BE":"¾","%bf":"¿","%Bf":"¿","%bF":"¿","%BF":"¿","%c0":"À","%C0":"À","%c1":"Á","%C1":"Á","%c2":"Â","%C2":"Â","%c3":"Ã","%C3":"Ã","%c4":"Ä","%C4":"Ä","%c5":"Å","%C5":"Å","%c6":"Æ","%C6":"Æ","%c7":"Ç","%C7":"Ç","%c8":"È","%C8":"È","%c9":"É","%C9":"É","%ca":"Ê","%Ca":"Ê","%cA":"Ê","%CA":"Ê","%cb":"Ë","%Cb":"Ë","%cB":"Ë","%CB":"Ë","%cc":"Ì","%Cc":"Ì","%cC":"Ì","%CC":"Ì","%cd":"Í","%Cd":"Í","%cD":"Í","%CD":"Í","%ce":"Î","%Ce":"Î","%cE":"Î","%CE":"Î","%cf":"Ï","%Cf":"Ï","%cF":"Ï","%CF":"Ï","%d0":"Ð","%D0":"Ð","%d1":"Ñ","%D1":"Ñ","%d2":"Ò","%D2":"Ò","%d3":"Ó","%D3":"Ó","%d4":"Ô","%D4":"Ô","%d5":"Õ","%D5":"Õ","%d6":"Ö","%D6":"Ö","%d7":"×","%D7":"×","%d8":"Ø","%D8":"Ø","%d9":"Ù","%D9":"Ù","%da":"Ú","%Da":"Ú","%dA":"Ú","%DA":"Ú","%db":"Û","%Db":"Û","%dB":"Û","%DB":"Û","%dc":"Ü","%Dc":"Ü","%dC":"Ü","%DC":"Ü","%dd":"Ý","%Dd":"Ý","%dD":"Ý","%DD":"Ý","%de":"Þ","%De":"Þ","%dE":"Þ","%DE":"Þ","%df":"ß","%Df":"ß","%dF":"ß","%DF":"ß","%e0":"à","%E0":"à","%e1":"á","%E1":"á","%e2":"â","%E2":"â","%e3":"ã","%E3":"ã","%e4":"ä","%E4":"ä","%e5":"å","%E5":"å","%e6":"æ","%E6":"æ","%e7":"ç","%E7":"ç","%e8":"è","%E8":"è","%e9":"é","%E9":"é","%ea":"ê","%Ea":"ê","%eA":"ê","%EA":"ê","%eb":"ë","%Eb":"ë","%eB":"ë","%EB":"ë","%ec":"ì","%Ec":"ì","%eC":"ì","%EC":"ì","%ed":"í","%Ed":"í","%eD":"í","%ED":"í","%ee":"î","%Ee":"î","%eE":"î","%EE":"î","%ef":"ï","%Ef":"ï","%eF":"ï","%EF":"ï","%f0":"ð","%F0":"ð","%f1":"ñ","%F1":"ñ","%f2":"ò","%F2":"ò","%f3":"ó","%F3":"ó","%f4":"ô","%F4":"ô","%f5":"õ","%F5":"õ","%f6":"ö","%F6":"ö","%f7":"÷","%F7":"÷","%f8":"ø","%F8":"ø","%f9":"ù","%F9":"ù","%fa":"ú","%Fa":"ú","%fA":"ú","%FA":"ú","%fb":"û","%Fb":"û","%fB":"û","%FB":"û","%fc":"ü","%Fc":"ü","%fC":"ü","%FC":"ü","%fd":"ý","%Fd":"ý","%fD":"ý","%FD":"ý","%fe":"þ","%Fe":"þ","%fE":"þ","%FE":"þ","%ff":"ÿ","%Ff":"ÿ","%fF":"ÿ","%FF":"ÿ"};function encodedReplacer(e){return o[e]}const i=0;const a=1;const A=2;const c=3;function parseParams(e){const t=[];let r=i;let o="";let l=false;let u=false;let p=0;let d="";const g=e.length;for(var h=0;h{"use strict";const s=r(2896);const n=r(7310);const o=r(490);const i=r(3685);const a=r(5687);const A=r(3837);const c=r(7098);const l=r(9796);const u=r(2781);const p=r(9820);function _interopDefaultLegacy(e){return e&&typeof e==="object"&&"default"in e?e:{default:e}}const d=_interopDefaultLegacy(s);const g=_interopDefaultLegacy(n);const h=_interopDefaultLegacy(i);const m=_interopDefaultLegacy(a);const E=_interopDefaultLegacy(A);const C=_interopDefaultLegacy(c);const I=_interopDefaultLegacy(l);const B=_interopDefaultLegacy(u);function bind(e,t){return function wrap(){return e.apply(t,arguments)}}const{toString:Q}=Object.prototype;const{getPrototypeOf:b}=Object;const y=(e=>t=>{const r=Q.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null));const kindOfTest=e=>{e=e.toLowerCase();return t=>y(t)===e};const typeOfTest=e=>t=>typeof t===e;const{isArray:v}=Array;const w=typeOfTest("undefined");function isBuffer(e){return e!==null&&!w(e)&&e.constructor!==null&&!w(e.constructor)&&R(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const x=kindOfTest("ArrayBuffer");function isArrayBufferView(e){let t;if(typeof ArrayBuffer!=="undefined"&&ArrayBuffer.isView){t=ArrayBuffer.isView(e)}else{t=e&&e.buffer&&x(e.buffer)}return t}const k=typeOfTest("string");const R=typeOfTest("function");const S=typeOfTest("number");const isObject=e=>e!==null&&typeof e==="object";const isBoolean=e=>e===true||e===false;const isPlainObject=e=>{if(y(e)!=="object"){return false}const t=b(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)};const D=kindOfTest("Date");const T=kindOfTest("File");const _=kindOfTest("Blob");const F=kindOfTest("FileList");const isStream=e=>isObject(e)&&R(e.pipe);const isFormData=e=>{let t;return e&&(typeof FormData==="function"&&e instanceof FormData||R(e.append)&&((t=y(e))==="formdata"||t==="object"&&R(e.toString)&&e.toString()==="[object FormData]"))};const N=kindOfTest("URLSearchParams");const[U,M,O,L]=["ReadableStream","Request","Response","Headers"].map(kindOfTest);const trim=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function forEach(e,t,{allOwnKeys:r=false}={}){if(e===null||typeof e==="undefined"){return}let s;let n;if(typeof e!=="object"){e=[e]}if(v(e)){for(s=0,n=e.length;s0){n=r[s];if(t===n.toLowerCase()){return n}}return null}const P=(()=>{if(typeof globalThis!=="undefined")return globalThis;return typeof self!=="undefined"?self:typeof window!=="undefined"?window:global})();const isContextDefined=e=>!w(e)&&e!==P;function merge(){const{caseless:e}=isContextDefined(this)&&this||{};const t={};const assignValue=(r,s)=>{const n=e&&findKey(t,s)||s;if(isPlainObject(t[n])&&isPlainObject(r)){t[n]=merge(t[n],r)}else if(isPlainObject(r)){t[n]=merge({},r)}else if(v(r)){t[n]=r.slice()}else{t[n]=r}};for(let e=0,t=arguments.length;e{forEach(t,((t,s)=>{if(r&&R(t)){e[s]=bind(t,r)}else{e[s]=t}}),{allOwnKeys:s});return e};const stripBOM=e=>{if(e.charCodeAt(0)===65279){e=e.slice(1)}return e};const inherits=(e,t,r,s)=>{e.prototype=Object.create(t.prototype,s);e.prototype.constructor=e;Object.defineProperty(e,"super",{value:t.prototype});r&&Object.assign(e.prototype,r)};const toFlatObject=(e,t,r,s)=>{let n;let o;let i;const a={};t=t||{};if(e==null)return t;do{n=Object.getOwnPropertyNames(e);o=n.length;while(o-- >0){i=n[o];if((!s||s(i,e,t))&&!a[i]){t[i]=e[i];a[i]=true}}e=r!==false&&b(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t};const endsWith=(e,t,r)=>{e=String(e);if(r===undefined||r>e.length){r=e.length}r-=t.length;const s=e.indexOf(t,r);return s!==-1&&s===r};const toArray=e=>{if(!e)return null;if(v(e))return e;let t=e.length;if(!S(t))return null;const r=new Array(t);while(t-- >0){r[t]=e[t]}return r};const G=(e=>t=>e&&t instanceof e)(typeof Uint8Array!=="undefined"&&b(Uint8Array));const forEachEntry=(e,t)=>{const r=e&&e[Symbol.iterator];const s=r.call(e);let n;while((n=s.next())&&!n.done){const r=n.value;t.call(e,r[0],r[1])}};const matchAll=(e,t)=>{let r;const s=[];while((r=e.exec(t))!==null){s.push(r)}return s};const j=kindOfTest("HTMLFormElement");const toCamelCase=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function replacer(e,t,r){return t.toUpperCase()+r}));const H=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype);const J=kindOfTest("RegExp");const reduceDescriptors=(e,t)=>{const r=Object.getOwnPropertyDescriptors(e);const s={};forEach(r,((r,n)=>{let o;if((o=t(r,n,e))!==false){s[n]=o||r}}));Object.defineProperties(e,s)};const freezeMethods=e=>{reduceDescriptors(e,((t,r)=>{if(R(e)&&["arguments","caller","callee"].indexOf(r)!==-1){return false}const s=e[r];if(!R(s))return;t.enumerable=false;if("writable"in t){t.writable=false;return}if(!t.set){t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")}}}))};const toObjectSet=(e,t)=>{const r={};const define=e=>{e.forEach((e=>{r[e]=true}))};v(e)?define(e):define(String(e).split(t));return r};const noop=()=>{};const toFiniteNumber=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;const V="abcdefghijklmnopqrstuvwxyz";const Y="0123456789";const q={DIGIT:Y,ALPHA:V,ALPHA_DIGIT:V+V.toUpperCase()+Y};const generateString=(e=16,t=q.ALPHA_DIGIT)=>{let r="";const{length:s}=t;while(e--){r+=t[Math.random()*s|0]}return r};function isSpecCompliantForm(e){return!!(e&&R(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const toJSONObject=e=>{const t=new Array(10);const visit=(e,r)=>{if(isObject(e)){if(t.indexOf(e)>=0){return}if(!("toJSON"in e)){t[r]=e;const s=v(e)?[]:{};forEach(e,((e,t)=>{const n=visit(e,r+1);!w(n)&&(s[t]=n)}));t[r]=undefined;return s}}return e};return visit(e,0)};const W=kindOfTest("AsyncFunction");const isThenable=e=>e&&(isObject(e)||R(e))&&R(e.then)&&R(e.catch);const Z=((e,t)=>{if(e){return setImmediate}return t?((e,t)=>{P.addEventListener("message",(({source:r,data:s})=>{if(r===P&&s===e){t.length&&t.shift()()}}),false);return r=>{t.push(r);P.postMessage(e,"*")}})(`axios@${Math.random()}`,[]):e=>setTimeout(e)})(typeof setImmediate==="function",R(P.postMessage));const z=typeof queueMicrotask!=="undefined"?queueMicrotask.bind(P):typeof process!=="undefined"&&process.nextTick||Z;const K={isArray:v,isArrayBuffer:x,isBuffer:isBuffer,isFormData:isFormData,isArrayBufferView:isArrayBufferView,isString:k,isNumber:S,isBoolean:isBoolean,isObject:isObject,isPlainObject:isPlainObject,isReadableStream:U,isRequest:M,isResponse:O,isHeaders:L,isUndefined:w,isDate:D,isFile:T,isBlob:_,isRegExp:J,isFunction:R,isStream:isStream,isURLSearchParams:N,isTypedArray:G,isFileList:F,forEach:forEach,merge:merge,extend:extend,trim:trim,stripBOM:stripBOM,inherits:inherits,toFlatObject:toFlatObject,kindOf:y,kindOfTest:kindOfTest,endsWith:endsWith,toArray:toArray,forEachEntry:forEachEntry,matchAll:matchAll,isHTMLForm:j,hasOwnProperty:H,hasOwnProp:H,reduceDescriptors:reduceDescriptors,freezeMethods:freezeMethods,toObjectSet:toObjectSet,toCamelCase:toCamelCase,noop:noop,toFiniteNumber:toFiniteNumber,findKey:findKey,global:P,isContextDefined:isContextDefined,ALPHABET:q,generateString:generateString,isSpecCompliantForm:isSpecCompliantForm,toJSONObject:toJSONObject,isAsyncFn:W,isThenable:isThenable,setImmediate:Z,asap:z};function AxiosError(e,t,r,s,n){Error.call(this);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}else{this.stack=(new Error).stack}this.message=e;this.name="AxiosError";t&&(this.code=t);r&&(this.config=r);s&&(this.request=s);if(n){this.response=n;this.status=n.status?n.status:null}}K.inherits(AxiosError,Error,{toJSON:function toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:K.toJSONObject(this.config),code:this.code,status:this.status}}});const X=AxiosError.prototype;const $={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{$[e]={value:e}}));Object.defineProperties(AxiosError,$);Object.defineProperty(X,"isAxiosError",{value:true});AxiosError.from=(e,t,r,s,n,o)=>{const i=Object.create(X);K.toFlatObject(e,i,(function filter(e){return e!==Error.prototype}),(e=>e!=="isAxiosError"));AxiosError.call(i,e.message,t,r,s,n);i.cause=e;i.name=e.name;o&&Object.assign(i,o);return i};function isVisitable(e){return K.isPlainObject(e)||K.isArray(e)}function removeBrackets(e){return K.endsWith(e,"[]")?e.slice(0,-2):e}function renderKey(e,t,r){if(!e)return t;return e.concat(t).map((function each(e,t){e=removeBrackets(e);return!r&&t?"["+e+"]":e})).join(r?".":"")}function isFlatArray(e){return K.isArray(e)&&!e.some(isVisitable)}const ee=K.toFlatObject(K,{},null,(function filter(e){return/^is[A-Z]/.test(e)}));function toFormData(e,t,r){if(!K.isObject(e)){throw new TypeError("target must be an object")}t=t||new(d["default"]||FormData);r=K.toFlatObject(r,{metaTokens:true,dots:false,indexes:false},false,(function defined(e,t){return!K.isUndefined(t[e])}));const s=r.metaTokens;const n=r.visitor||defaultVisitor;const o=r.dots;const i=r.indexes;const a=r.Blob||typeof Blob!=="undefined"&&Blob;const A=a&&K.isSpecCompliantForm(t);if(!K.isFunction(n)){throw new TypeError("visitor must be a function")}function convertValue(e){if(e===null)return"";if(K.isDate(e)){return e.toISOString()}if(!A&&K.isBlob(e)){throw new AxiosError("Blob is not supported. Use a Buffer instead.")}if(K.isArrayBuffer(e)||K.isTypedArray(e)){return A&&typeof Blob==="function"?new Blob([e]):Buffer.from(e)}return e}function defaultVisitor(e,r,n){let a=e;if(e&&!n&&typeof e==="object"){if(K.endsWith(r,"{}")){r=s?r:r.slice(0,-2);e=JSON.stringify(e)}else if(K.isArray(e)&&isFlatArray(e)||(K.isFileList(e)||K.endsWith(r,"[]"))&&(a=K.toArray(e))){r=removeBrackets(r);a.forEach((function each(e,s){!(K.isUndefined(e)||e===null)&&t.append(i===true?renderKey([r],s,o):i===null?r:r+"[]",convertValue(e))}));return false}}if(isVisitable(e)){return true}t.append(renderKey(n,r,o),convertValue(e));return false}const c=[];const l=Object.assign(ee,{defaultVisitor:defaultVisitor,convertValue:convertValue,isVisitable:isVisitable});function build(e,r){if(K.isUndefined(e))return;if(c.indexOf(e)!==-1){throw Error("Circular reference detected in "+r.join("."))}c.push(e);K.forEach(e,(function each(e,s){const o=!(K.isUndefined(e)||e===null)&&n.call(t,e,K.isString(s)?s.trim():s,r,l);if(o===true){build(e,r?r.concat(s):[s])}}));c.pop()}if(!K.isObject(e)){throw new TypeError("data must be an object")}build(e);return t}function encode$1(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function replacer(e){return t[e]}))}function AxiosURLSearchParams(e,t){this._pairs=[];e&&toFormData(e,this,t)}const te=AxiosURLSearchParams.prototype;te.append=function append(e,t){this._pairs.push([e,t])};te.toString=function toString(e){const t=e?function(t){return e.call(this,t,encode$1)}:encode$1;return this._pairs.map((function each(e){return t(e[0])+"="+t(e[1])}),"").join("&")};function encode(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function buildURL(e,t,r){if(!t){return e}const s=r&&r.encode||encode;const n=r&&r.serialize;let o;if(n){o=n(t,r)}else{o=K.isURLSearchParams(t)?t.toString():new AxiosURLSearchParams(t,r).toString(s)}if(o){const t=e.indexOf("#");if(t!==-1){e=e.slice(0,t)}e+=(e.indexOf("?")===-1?"?":"&")+o}return e}class InterceptorManager{constructor(){this.handlers=[]}use(e,t,r){this.handlers.push({fulfilled:e,rejected:t,synchronous:r?r.synchronous:false,runWhen:r?r.runWhen:null});return this.handlers.length-1}eject(e){if(this.handlers[e]){this.handlers[e]=null}}clear(){if(this.handlers){this.handlers=[]}}forEach(e){K.forEach(this.handlers,(function forEachHandler(t){if(t!==null){e(t)}}))}}const re=InterceptorManager;const se={silentJSONParsing:true,forcedJSONParsing:true,clarifyTimeoutError:false};const ne=g["default"].URLSearchParams;const oe={isNode:true,classes:{URLSearchParams:ne,FormData:d["default"],Blob:typeof Blob!=="undefined"&&Blob||null},protocols:["http","https","file","data"]};const ie=typeof window!=="undefined"&&typeof document!=="undefined";const ae=typeof navigator==="object"&&navigator||undefined;const Ae=ie&&(!ae||["ReactNative","NativeScript","NS"].indexOf(ae.product)<0);const ce=(()=>typeof WorkerGlobalScope!=="undefined"&&self instanceof WorkerGlobalScope&&typeof self.importScripts==="function")();const le=ie&&window.location.href||"http://localhost";const ue=Object.freeze({__proto__:null,hasBrowserEnv:ie,hasStandardBrowserWebWorkerEnv:ce,hasStandardBrowserEnv:Ae,navigator:ae,origin:le});const pe={...ue,...oe};function toURLEncodedForm(e,t){return toFormData(e,new pe.classes.URLSearchParams,Object.assign({visitor:function(e,t,r,s){if(pe.isNode&&K.isBuffer(e)){this.append(t,e.toString("base64"));return false}return s.defaultVisitor.apply(this,arguments)}},t))}function parsePropPath(e){return K.matchAll(/\w+|\[(\w*)]/g,e).map((e=>e[0]==="[]"?"":e[1]||e[0]))}function arrayToObject(e){const t={};const r=Object.keys(e);let s;const n=r.length;let o;for(s=0;s=e.length;n=!n&&K.isArray(r)?r.length:n;if(i){if(K.hasOwnProp(r,n)){r[n]=[r[n],t]}else{r[n]=t}return!o}if(!r[n]||!K.isObject(r[n])){r[n]=[]}const a=buildPath(e,t,r[n],s);if(a&&K.isArray(r[n])){r[n]=arrayToObject(r[n])}return!o}if(K.isFormData(e)&&K.isFunction(e.entries)){const t={};K.forEachEntry(e,((e,r)=>{buildPath(parsePropPath(e),r,t,0)}));return t}return null}function stringifySafely(e,t,r){if(K.isString(e)){try{(t||JSON.parse)(e);return K.trim(e)}catch(e){if(e.name!=="SyntaxError"){throw e}}}return(r||JSON.stringify)(e)}const de={transitional:se,adapter:["xhr","http","fetch"],transformRequest:[function transformRequest(e,t){const r=t.getContentType()||"";const s=r.indexOf("application/json")>-1;const n=K.isObject(e);if(n&&K.isHTMLForm(e)){e=new FormData(e)}const o=K.isFormData(e);if(o){return s?JSON.stringify(formDataToJSON(e)):e}if(K.isArrayBuffer(e)||K.isBuffer(e)||K.isStream(e)||K.isFile(e)||K.isBlob(e)||K.isReadableStream(e)){return e}if(K.isArrayBufferView(e)){return e.buffer}if(K.isURLSearchParams(e)){t.setContentType("application/x-www-form-urlencoded;charset=utf-8",false);return e.toString()}let i;if(n){if(r.indexOf("application/x-www-form-urlencoded")>-1){return toURLEncodedForm(e,this.formSerializer).toString()}if((i=K.isFileList(e))||r.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return toFormData(i?{"files[]":e}:e,t&&new t,this.formSerializer)}}if(n||s){t.setContentType("application/json",false);return stringifySafely(e)}return e}],transformResponse:[function transformResponse(e){const t=this.transitional||de.transitional;const r=t&&t.forcedJSONParsing;const s=this.responseType==="json";if(K.isResponse(e)||K.isReadableStream(e)){return e}if(e&&K.isString(e)&&(r&&!this.responseType||s)){const r=t&&t.silentJSONParsing;const n=!r&&s;try{return JSON.parse(e)}catch(e){if(n){if(e.name==="SyntaxError"){throw AxiosError.from(e,AxiosError.ERR_BAD_RESPONSE,this,null,this.response)}throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:pe.classes.FormData,Blob:pe.classes.Blob},validateStatus:function validateStatus(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":undefined}}};K.forEach(["delete","get","head","post","put","patch"],(e=>{de.headers[e]={}}));const ge=de;const he=K.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]);const parseHeaders=e=>{const t={};let r;let s;let n;e&&e.split("\n").forEach((function parser(e){n=e.indexOf(":");r=e.substring(0,n).trim().toLowerCase();s=e.substring(n+1).trim();if(!r||t[r]&&he[r]){return}if(r==="set-cookie"){if(t[r]){t[r].push(s)}else{t[r]=[s]}}else{t[r]=t[r]?t[r]+", "+s:s}}));return t};const fe=Symbol("internals");function normalizeHeader(e){return e&&String(e).trim().toLowerCase()}function normalizeValue(e){if(e===false||e==null){return e}return K.isArray(e)?e.map(normalizeValue):String(e)}function parseTokens(e){const t=Object.create(null);const r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let s;while(s=r.exec(e)){t[s[1]]=s[2]}return t}const isValidHeaderName=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function matchHeaderValue(e,t,r,s,n){if(K.isFunction(s)){return s.call(this,t,r)}if(n){t=r}if(!K.isString(t))return;if(K.isString(s)){return t.indexOf(s)!==-1}if(K.isRegExp(s)){return s.test(t)}}function formatHeader(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,r)=>t.toUpperCase()+r))}function buildAccessors(e,t){const r=K.toCamelCase(" "+t);["get","set","has"].forEach((s=>{Object.defineProperty(e,s+r,{value:function(e,r,n){return this[s].call(this,t,e,r,n)},configurable:true})}))}class AxiosHeaders{constructor(e){e&&this.set(e)}set(e,t,r){const s=this;function setHeader(e,t,r){const n=normalizeHeader(t);if(!n){throw new Error("header name must be a non-empty string")}const o=K.findKey(s,n);if(!o||s[o]===undefined||r===true||r===undefined&&s[o]!==false){s[o||t]=normalizeValue(e)}}const setHeaders=(e,t)=>K.forEach(e,((e,r)=>setHeader(e,r,t)));if(K.isPlainObject(e)||e instanceof this.constructor){setHeaders(e,t)}else if(K.isString(e)&&(e=e.trim())&&!isValidHeaderName(e)){setHeaders(parseHeaders(e),t)}else if(K.isHeaders(e)){for(const[t,s]of e.entries()){setHeader(s,t,r)}}else{e!=null&&setHeader(t,e,r)}return this}get(e,t){e=normalizeHeader(e);if(e){const r=K.findKey(this,e);if(r){const e=this[r];if(!t){return e}if(t===true){return parseTokens(e)}if(K.isFunction(t)){return t.call(this,e,r)}if(K.isRegExp(t)){return t.exec(e)}throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){e=normalizeHeader(e);if(e){const r=K.findKey(this,e);return!!(r&&this[r]!==undefined&&(!t||matchHeaderValue(this,this[r],r,t)))}return false}delete(e,t){const r=this;let s=false;function deleteHeader(e){e=normalizeHeader(e);if(e){const n=K.findKey(r,e);if(n&&(!t||matchHeaderValue(r,r[n],n,t))){delete r[n];s=true}}}if(K.isArray(e)){e.forEach(deleteHeader)}else{deleteHeader(e)}return s}clear(e){const t=Object.keys(this);let r=t.length;let s=false;while(r--){const n=t[r];if(!e||matchHeaderValue(this,this[n],n,e,true)){delete this[n];s=true}}return s}normalize(e){const t=this;const r={};K.forEach(this,((s,n)=>{const o=K.findKey(r,n);if(o){t[o]=normalizeValue(s);delete t[n];return}const i=e?formatHeader(n):String(n).trim();if(i!==n){delete t[n]}t[i]=normalizeValue(s);r[i]=true}));return this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);K.forEach(this,((r,s)=>{r!=null&&r!==false&&(t[s]=e&&K.isArray(r)?r.join(", "):r)}));return t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const r=new this(e);t.forEach((e=>r.set(e)));return r}static accessor(e){const t=this[fe]=this[fe]={accessors:{}};const r=t.accessors;const s=this.prototype;function defineAccessor(e){const t=normalizeHeader(e);if(!r[t]){buildAccessors(s,e);r[t]=true}}K.isArray(e)?e.forEach(defineAccessor):defineAccessor(e);return this}}AxiosHeaders.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);K.reduceDescriptors(AxiosHeaders.prototype,(({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[r]=e}}}));K.freezeMethods(AxiosHeaders);const me=AxiosHeaders;function transformData(e,t){const r=this||ge;const s=t||r;const n=me.from(s.headers);let o=s.data;K.forEach(e,(function transform(e){o=e.call(r,o,n.normalize(),t?t.status:undefined)}));n.normalize();return o}function isCancel(e){return!!(e&&e.__CANCEL__)}function CanceledError(e,t,r){AxiosError.call(this,e==null?"canceled":e,AxiosError.ERR_CANCELED,t,r);this.name="CanceledError"}K.inherits(CanceledError,AxiosError,{__CANCEL__:true});function settle(e,t,r){const s=r.config.validateStatus;if(!r.status||!s||s(r.status)){e(r)}else{t(new AxiosError("Request failed with status code "+r.status,[AxiosError.ERR_BAD_REQUEST,AxiosError.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}}function isAbsoluteURL(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function combineURLs(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function buildFullPath(e,t){if(e&&!isAbsoluteURL(t)){return combineURLs(e,t)}return t}const Ee="1.7.5";function parseProtocol(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}const Ce=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function fromDataURI(e,t,r){const s=r&&r.Blob||pe.classes.Blob;const n=parseProtocol(e);if(t===undefined&&s){t=true}if(n==="data"){e=n.length?e.slice(n.length+1):e;const r=Ce.exec(e);if(!r){throw new AxiosError("Invalid URL",AxiosError.ERR_INVALID_URL)}const o=r[1];const i=r[2];const a=r[3];const A=Buffer.from(decodeURIComponent(a),i?"base64":"utf8");if(t){if(!s){throw new AxiosError("Blob is not supported",AxiosError.ERR_NOT_SUPPORT)}return new s([A],{type:o})}return A}throw new AxiosError("Unsupported protocol "+n,AxiosError.ERR_NOT_SUPPORT)}const Ie=Symbol("internals");class AxiosTransformStream extends B["default"].Transform{constructor(e){e=K.toFlatObject(e,{maxRate:0,chunkSize:64*1024,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,((e,t)=>!K.isUndefined(t[e])));super({readableHighWaterMark:e.chunkSize});const t=this[Ie]={timeWindow:e.timeWindow,chunkSize:e.chunkSize,maxRate:e.maxRate,minChunkSize:e.minChunkSize,bytesSeen:0,isCaptured:false,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null};this.on("newListener",(e=>{if(e==="progress"){if(!t.isCaptured){t.isCaptured=true}}}))}_read(e){const t=this[Ie];if(t.onReadCallback){t.onReadCallback()}return super._read(e)}_transform(e,t,r){const s=this[Ie];const n=s.maxRate;const o=this.readableHighWaterMark;const i=s.timeWindow;const a=1e3/i;const A=n/a;const c=s.minChunkSize!==false?Math.max(s.minChunkSize,A*.01):0;const pushChunk=(e,t)=>{const r=Buffer.byteLength(e);s.bytesSeen+=r;s.bytes+=r;s.isCaptured&&this.emit("progress",s.bytesSeen);if(this.push(e)){process.nextTick(t)}else{s.onReadCallback=()=>{s.onReadCallback=null;process.nextTick(t)}}};const transformChunk=(e,t)=>{const r=Buffer.byteLength(e);let a=null;let l=o;let u;let p=0;if(n){const e=Date.now();if(!s.ts||(p=e-s.ts)>=i){s.ts=e;u=A-s.bytes;s.bytes=u<0?-u:0;p=0}u=A-s.bytes}if(n){if(u<=0){return setTimeout((()=>{t(null,e)}),i-p)}if(ul&&r-l>c){a=e.subarray(l);e=e.subarray(0,l)}pushChunk(e,a?()=>{process.nextTick(t,null,a)}:t)};transformChunk(e,(function transformNextChunk(e,t){if(e){return r(e)}if(t){transformChunk(t,transformNextChunk)}else{r(null)}}))}}const Be=AxiosTransformStream;const{asyncIterator:Qe}=Symbol;const readBlob=async function*(e){if(e.stream){yield*e.stream()}else if(e.arrayBuffer){yield await e.arrayBuffer()}else if(e[Qe]){yield*e[Qe]()}else{yield e}};const be=readBlob;const ye=K.ALPHABET.ALPHA_DIGIT+"-_";const ve=new A.TextEncoder;const we="\r\n";const xe=ve.encode(we);const ke=2;class FormDataPart{constructor(e,t){const{escapeName:r}=this.constructor;const s=K.isString(t);let n=`Content-Disposition: form-data; name="${r(e)}"${!s&&t.name?`; filename="${r(t.name)}"`:""}${we}`;if(s){t=ve.encode(String(t).replace(/\r?\n|\r\n?/g,we))}else{n+=`Content-Type: ${t.type||"application/octet-stream"}${we}`}this.headers=ve.encode(n+we);this.contentLength=s?t.byteLength:t.size;this.size=this.headers.byteLength+this.contentLength+ke;this.name=e;this.value=t}async*encode(){yield this.headers;const{value:e}=this;if(K.isTypedArray(e)){yield e}else{yield*be(e)}yield xe}static escapeName(e){return String(e).replace(/[\r\n"]/g,(e=>({"\r":"%0D","\n":"%0A",'"':"%22"}[e])))}}const formDataToStream=(e,t,r)=>{const{tag:s="form-data-boundary",size:n=25,boundary:o=s+"-"+K.generateString(n,ye)}=r||{};if(!K.isFormData(e)){throw TypeError("FormData instance required")}if(o.length<1||o.length>70){throw Error("boundary must be 10-70 characters long")}const i=ve.encode("--"+o+we);const a=ve.encode("--"+o+"--"+we+we);let A=a.byteLength;const c=Array.from(e.entries()).map((([e,t])=>{const r=new FormDataPart(e,t);A+=r.size;return r}));A+=i.byteLength*c.length;A=K.toFiniteNumber(A);const l={"Content-Type":`multipart/form-data; boundary=${o}`};if(Number.isFinite(A)){l["Content-Length"]=A}t&&t(l);return u.Readable.from(async function*(){for(const e of c){yield i;yield*e.encode()}yield a}())};const Re=formDataToStream;class ZlibHeaderTransformStream extends B["default"].Transform{__transform(e,t,r){this.push(e);r()}_transform(e,t,r){if(e.length!==0){this._transform=this.__transform;if(e[0]!==120){const e=Buffer.alloc(2);e[0]=120;e[1]=156;this.push(e,t)}}this.__transform(e,t,r)}}const Se=ZlibHeaderTransformStream;const callbackify=(e,t)=>K.isAsyncFn(e)?function(...r){const s=r.pop();e.apply(this,r).then((e=>{try{t?s(null,...t(e)):s(null,e)}catch(e){s(e)}}),s)}:e;const De=callbackify;function speedometer(e,t){e=e||10;const r=new Array(e);const s=new Array(e);let n=0;let o=0;let i;t=t!==undefined?t:1e3;return function push(a){const A=Date.now();const c=s[o];if(!i){i=A}r[n]=a;s[n]=A;let l=o;let u=0;while(l!==n){u+=r[l++];l=l%e}n=(n+1)%e;if(n===o){o=(o+1)%e}if(A-i{r=s;n=null;if(o){clearTimeout(o);o=null}e.apply(null,t)};const throttled=(...e)=>{const t=Date.now();const i=t-r;if(i>=s){invoke(e,t)}else{n=e;if(!o){o=setTimeout((()=>{o=null;invoke(n)}),s-i)}}};const flush=()=>n&&invoke(n);return[throttled,flush]}const progressEventReducer=(e,t,r=3)=>{let s=0;const n=speedometer(50,250);return throttle((r=>{const o=r.loaded;const i=r.lengthComputable?r.total:undefined;const a=o-s;const A=n(a);const c=o<=i;s=o;const l={loaded:o,total:i,progress:i?o/i:undefined,bytes:a,rate:A?A:undefined,estimated:A&&i&&c?(i-o)/A:undefined,event:r,lengthComputable:i!=null,[t?"download":"upload"]:true};e(l)}),r)};const progressEventDecorator=(e,t)=>{const r=e!=null;return[s=>t[0]({lengthComputable:r,total:e,loaded:s}),t[1]]};const asyncDecorator=e=>(...t)=>K.asap((()=>e(...t)));const Te={flush:I["default"].constants.Z_SYNC_FLUSH,finishFlush:I["default"].constants.Z_SYNC_FLUSH};const _e={flush:I["default"].constants.BROTLI_OPERATION_FLUSH,finishFlush:I["default"].constants.BROTLI_OPERATION_FLUSH};const Fe=K.isFunction(I["default"].createBrotliDecompress);const{http:Ne,https:Ue}=C["default"];const Me=/https:?/;const Oe=pe.protocols.map((e=>e+":"));const flushOnFinish=(e,[t,r])=>{e.on("end",r).on("error",r);return t};function dispatchBeforeRedirect(e,t){if(e.beforeRedirects.proxy){e.beforeRedirects.proxy(e)}if(e.beforeRedirects.config){e.beforeRedirects.config(e,t)}}function setProxy(e,t,r){let s=t;if(!s&&s!==false){const e=o.getProxyForUrl(r);if(e){s=new URL(e)}}if(s){if(s.username){s.auth=(s.username||"")+":"+(s.password||"")}if(s.auth){if(s.auth.username||s.auth.password){s.auth=(s.auth.username||"")+":"+(s.auth.password||"")}const t=Buffer.from(s.auth,"utf8").toString("base64");e.headers["Proxy-Authorization"]="Basic "+t}e.headers.host=e.hostname+(e.port?":"+e.port:"");const t=s.hostname||s.host;e.hostname=t;e.host=t;e.port=s.port;e.path=r;if(s.protocol){e.protocol=s.protocol.includes(":")?s.protocol:`${s.protocol}:`}}e.beforeRedirects.proxy=function beforeRedirect(e){setProxy(e,t,e.href)}}const Le=typeof process!=="undefined"&&K.kindOf(process)==="process";const wrapAsync=e=>new Promise(((t,r)=>{let s;let n;const done=(e,t)=>{if(n)return;n=true;s&&s(e,t)};const _resolve=e=>{done(e);t(e)};const _reject=e=>{done(e,true);r(e)};e(_resolve,_reject,(e=>s=e)).catch(_reject)}));const resolveFamily=({address:e,family:t})=>{if(!K.isString(e)){throw TypeError("address must be a string")}return{address:e,family:t||(e.indexOf(".")<0?6:4)}};const buildAddressEntry=(e,t)=>resolveFamily(K.isObject(e)?e:{address:e,family:t});const Pe=Le&&function httpAdapter(e){return wrapAsync((async function dispatchHttpRequest(t,r,s){let{data:n,lookup:o,family:i}=e;const{responseType:a,responseEncoding:A}=e;const c=e.method.toUpperCase();let l;let u=false;let d;if(o){const e=De(o,(e=>K.isArray(e)?e:[e]));o=(t,r,s)=>{e(t,r,((e,t,n)=>{if(e){return s(e)}const o=K.isArray(t)?t.map((e=>buildAddressEntry(e))):[buildAddressEntry(t,n)];r.all?s(e,o):s(e,o[0].address,o[0].family)}))}}const g=new p.EventEmitter;const onFinished=()=>{if(e.cancelToken){e.cancelToken.unsubscribe(abort)}if(e.signal){e.signal.removeEventListener("abort",abort)}g.removeAllListeners()};s(((e,t)=>{l=true;if(t){u=true;onFinished()}}));function abort(t){g.emit("abort",!t||t.type?new CanceledError(null,e,d):t)}g.once("abort",r);if(e.cancelToken||e.signal){e.cancelToken&&e.cancelToken.subscribe(abort);if(e.signal){e.signal.aborted?abort():e.signal.addEventListener("abort",abort)}}const C=buildFullPath(e.baseURL,e.url);const Q=new URL(C,pe.hasBrowserEnv?pe.origin:undefined);const b=Q.protocol||Oe[0];if(b==="data:"){let s;if(c!=="GET"){return settle(t,r,{status:405,statusText:"method not allowed",headers:{},config:e})}try{s=fromDataURI(e.url,a==="blob",{Blob:e.env&&e.env.Blob})}catch(t){throw AxiosError.from(t,AxiosError.ERR_BAD_REQUEST,e)}if(a==="text"){s=s.toString(A);if(!A||A==="utf8"){s=K.stripBOM(s)}}else if(a==="stream"){s=B["default"].Readable.from(s)}return settle(t,r,{data:s,status:200,statusText:"OK",headers:new me,config:e})}if(Oe.indexOf(b)===-1){return r(new AxiosError("Unsupported protocol "+b,AxiosError.ERR_BAD_REQUEST,e))}const y=me.from(e.headers).normalize();y.set("User-Agent","axios/"+Ee,false);const{onUploadProgress:v,onDownloadProgress:w}=e;const x=e.maxRate;let k=undefined;let R=undefined;if(K.isSpecCompliantForm(n)){const e=y.getContentType(/boundary=([-_\w\d]{10,70})/i);n=Re(n,(e=>{y.set(e)}),{tag:`axios-${Ee}-boundary`,boundary:e&&e[1]||undefined})}else if(K.isFormData(n)&&K.isFunction(n.getHeaders)){y.set(n.getHeaders());if(!y.hasContentLength()){try{const e=await E["default"].promisify(n.getLength).call(n);Number.isFinite(e)&&e>=0&&y.setContentLength(e)}catch(e){}}}else if(K.isBlob(n)){n.size&&y.setContentType(n.type||"application/octet-stream");y.setContentLength(n.size||0);n=B["default"].Readable.from(be(n))}else if(n&&!K.isStream(n)){if(Buffer.isBuffer(n));else if(K.isArrayBuffer(n)){n=Buffer.from(new Uint8Array(n))}else if(K.isString(n)){n=Buffer.from(n,"utf-8")}else{return r(new AxiosError("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",AxiosError.ERR_BAD_REQUEST,e))}y.setContentLength(n.length,false);if(e.maxBodyLength>-1&&n.length>e.maxBodyLength){return r(new AxiosError("Request body larger than maxBodyLength limit",AxiosError.ERR_BAD_REQUEST,e))}}const S=K.toFiniteNumber(y.getContentLength());if(K.isArray(x)){k=x[0];R=x[1]}else{k=R=x}if(n&&(v||k)){if(!K.isStream(n)){n=B["default"].Readable.from(n,{objectMode:false})}n=B["default"].pipeline([n,new Be({maxRate:K.toFiniteNumber(k)})],K.noop);v&&n.on("progress",flushOnFinish(n,progressEventDecorator(S,progressEventReducer(asyncDecorator(v),false,3))))}let D=undefined;if(e.auth){const t=e.auth.username||"";const r=e.auth.password||"";D=t+":"+r}if(!D&&Q.username){const e=Q.username;const t=Q.password;D=e+":"+t}D&&y.delete("authorization");let T;try{T=buildURL(Q.pathname+Q.search,e.params,e.paramsSerializer).replace(/^\?/,"")}catch(t){const s=new Error(t.message);s.config=e;s.url=e.url;s.exists=true;return r(s)}y.set("Accept-Encoding","gzip, compress, deflate"+(Fe?", br":""),false);const _={path:T,method:c,headers:y.toJSON(),agents:{http:e.httpAgent,https:e.httpsAgent},auth:D,protocol:b,family:i,beforeRedirect:dispatchBeforeRedirect,beforeRedirects:{}};!K.isUndefined(o)&&(_.lookup=o);if(e.socketPath){_.socketPath=e.socketPath}else{_.hostname=Q.hostname;_.port=Q.port;setProxy(_,e.proxy,b+"//"+Q.hostname+(Q.port?":"+Q.port:"")+_.path)}let F;const N=Me.test(_.protocol);_.agent=N?e.httpsAgent:e.httpAgent;if(e.transport){F=e.transport}else if(e.maxRedirects===0){F=N?m["default"]:h["default"]}else{if(e.maxRedirects){_.maxRedirects=e.maxRedirects}if(e.beforeRedirect){_.beforeRedirects.config=e.beforeRedirect}F=N?Ue:Ne}if(e.maxBodyLength>-1){_.maxBodyLength=e.maxBodyLength}else{_.maxBodyLength=Infinity}if(e.insecureHTTPParser){_.insecureHTTPParser=e.insecureHTTPParser}d=F.request(_,(function handleResponse(s){if(d.destroyed)return;const n=[s];const o=+s.headers["content-length"];if(w||R){const e=new Be({maxRate:K.toFiniteNumber(R)});w&&e.on("progress",flushOnFinish(e,progressEventDecorator(o,progressEventReducer(asyncDecorator(w),true,3))));n.push(e)}let i=s;const l=s.req||d;if(e.decompress!==false&&s.headers["content-encoding"]){if(c==="HEAD"||s.statusCode===204){delete s.headers["content-encoding"]}switch((s.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":n.push(I["default"].createUnzip(Te));delete s.headers["content-encoding"];break;case"deflate":n.push(new Se);n.push(I["default"].createUnzip(Te));delete s.headers["content-encoding"];break;case"br":if(Fe){n.push(I["default"].createBrotliDecompress(_e));delete s.headers["content-encoding"]}}}i=n.length>1?B["default"].pipeline(n,K.noop):n[0];const p=B["default"].finished(i,(()=>{p();onFinished()}));const h={status:s.statusCode,statusText:s.statusMessage,headers:new me(s.headers),config:e,request:l};if(a==="stream"){h.data=i;settle(t,r,h)}else{const s=[];let n=0;i.on("data",(function handleStreamData(t){s.push(t);n+=t.length;if(e.maxContentLength>-1&&n>e.maxContentLength){u=true;i.destroy();r(new AxiosError("maxContentLength size of "+e.maxContentLength+" exceeded",AxiosError.ERR_BAD_RESPONSE,e,l))}}));i.on("aborted",(function handlerStreamAborted(){if(u){return}const t=new AxiosError("maxContentLength size of "+e.maxContentLength+" exceeded",AxiosError.ERR_BAD_RESPONSE,e,l);i.destroy(t);r(t)}));i.on("error",(function handleStreamError(t){if(d.destroyed)return;r(AxiosError.from(t,null,e,l))}));i.on("end",(function handleStreamEnd(){try{let e=s.length===1?s[0]:Buffer.concat(s);if(a!=="arraybuffer"){e=e.toString(A);if(!A||A==="utf8"){e=K.stripBOM(e)}}h.data=e}catch(t){return r(AxiosError.from(t,null,e,h.request,h))}settle(t,r,h)}))}g.once("abort",(e=>{if(!i.destroyed){i.emit("error",e);i.destroy()}}))}));g.once("abort",(e=>{r(e);d.destroy(e)}));d.on("error",(function handleRequestError(t){r(AxiosError.from(t,null,e,d))}));d.on("socket",(function handleRequestSocket(e){e.setKeepAlive(true,1e3*60)}));if(e.timeout){const t=parseInt(e.timeout,10);if(Number.isNaN(t)){r(new AxiosError("error trying to parse `config.timeout` to int",AxiosError.ERR_BAD_OPTION_VALUE,e,d));return}d.setTimeout(t,(function handleRequestTimeout(){if(l)return;let t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const s=e.transitional||se;if(e.timeoutErrorMessage){t=e.timeoutErrorMessage}r(new AxiosError(t,s.clarifyTimeoutError?AxiosError.ETIMEDOUT:AxiosError.ECONNABORTED,e,d));abort()}))}if(K.isStream(n)){let t=false;let r=false;n.on("end",(()=>{t=true}));n.once("error",(e=>{r=true;d.destroy(e)}));n.on("close",(()=>{if(!t&&!r){abort(new CanceledError("Request stream has been aborted",e,d))}}));n.pipe(d)}else{d.end(n)}}))};const Ge=pe.hasStandardBrowserEnv?function standardBrowserEnv(){const e=pe.navigator&&/(msie|trident)/i.test(pe.navigator.userAgent);const t=document.createElement("a");let r;function resolveURL(r){let s=r;if(e){t.setAttribute("href",s);s=t.href}t.setAttribute("href",s);return{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:t.pathname.charAt(0)==="/"?t.pathname:"/"+t.pathname}}r=resolveURL(window.location.href);return function isURLSameOrigin(e){const t=K.isString(e)?resolveURL(e):e;return t.protocol===r.protocol&&t.host===r.host}}():function nonStandardBrowserEnv(){return function isURLSameOrigin(){return true}}();const je=pe.hasStandardBrowserEnv?{write(e,t,r,s,n,o){const i=[e+"="+encodeURIComponent(t)];K.isNumber(r)&&i.push("expires="+new Date(r).toGMTString());K.isString(s)&&i.push("path="+s);K.isString(n)&&i.push("domain="+n);o===true&&i.push("secure");document.cookie=i.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};const headersToObject=e=>e instanceof me?{...e}:e;function mergeConfig(e,t){t=t||{};const r={};function getMergedValue(e,t,r){if(K.isPlainObject(e)&&K.isPlainObject(t)){return K.merge.call({caseless:r},e,t)}else if(K.isPlainObject(t)){return K.merge({},t)}else if(K.isArray(t)){return t.slice()}return t}function mergeDeepProperties(e,t,r){if(!K.isUndefined(t)){return getMergedValue(e,t,r)}else if(!K.isUndefined(e)){return getMergedValue(undefined,e,r)}}function valueFromConfig2(e,t){if(!K.isUndefined(t)){return getMergedValue(undefined,t)}}function defaultToConfig2(e,t){if(!K.isUndefined(t)){return getMergedValue(undefined,t)}else if(!K.isUndefined(e)){return getMergedValue(undefined,e)}}function mergeDirectKeys(r,s,n){if(n in t){return getMergedValue(r,s)}else if(n in e){return getMergedValue(undefined,r)}}const s={url:valueFromConfig2,method:valueFromConfig2,data:valueFromConfig2,baseURL:defaultToConfig2,transformRequest:defaultToConfig2,transformResponse:defaultToConfig2,paramsSerializer:defaultToConfig2,timeout:defaultToConfig2,timeoutMessage:defaultToConfig2,withCredentials:defaultToConfig2,withXSRFToken:defaultToConfig2,adapter:defaultToConfig2,responseType:defaultToConfig2,xsrfCookieName:defaultToConfig2,xsrfHeaderName:defaultToConfig2,onUploadProgress:defaultToConfig2,onDownloadProgress:defaultToConfig2,decompress:defaultToConfig2,maxContentLength:defaultToConfig2,maxBodyLength:defaultToConfig2,beforeRedirect:defaultToConfig2,transport:defaultToConfig2,httpAgent:defaultToConfig2,httpsAgent:defaultToConfig2,cancelToken:defaultToConfig2,socketPath:defaultToConfig2,responseEncoding:defaultToConfig2,validateStatus:mergeDirectKeys,headers:(e,t)=>mergeDeepProperties(headersToObject(e),headersToObject(t),true)};K.forEach(Object.keys(Object.assign({},e,t)),(function computeConfigValue(n){const o=s[n]||mergeDeepProperties;const i=o(e[n],t[n],n);K.isUndefined(i)&&o!==mergeDirectKeys||(r[n]=i)}));return r}const resolveConfig=e=>{const t=mergeConfig({},e);let{data:r,withXSRFToken:s,xsrfHeaderName:n,xsrfCookieName:o,headers:i,auth:a}=t;t.headers=i=me.from(i);t.url=buildURL(buildFullPath(t.baseURL,t.url),e.params,e.paramsSerializer);if(a){i.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):"")))}let A;if(K.isFormData(r)){if(pe.hasStandardBrowserEnv||pe.hasStandardBrowserWebWorkerEnv){i.setContentType(undefined)}else if((A=i.getContentType())!==false){const[e,...t]=A?A.split(";").map((e=>e.trim())).filter(Boolean):[];i.setContentType([e||"multipart/form-data",...t].join("; "))}}if(pe.hasStandardBrowserEnv){s&&K.isFunction(s)&&(s=s(t));if(s||s!==false&&Ge(t.url)){const e=n&&o&&je.read(o);if(e){i.set(n,e)}}}return t};const He=typeof XMLHttpRequest!=="undefined";const Je=He&&function(e){return new Promise((function dispatchXhrRequest(t,r){const s=resolveConfig(e);let n=s.data;const o=me.from(s.headers).normalize();let{responseType:i,onUploadProgress:a,onDownloadProgress:A}=s;let c;let l,u;let p,d;function done(){p&&p();d&&d();s.cancelToken&&s.cancelToken.unsubscribe(c);s.signal&&s.signal.removeEventListener("abort",c)}let g=new XMLHttpRequest;g.open(s.method.toUpperCase(),s.url,true);g.timeout=s.timeout;function onloadend(){if(!g){return}const s=me.from("getAllResponseHeaders"in g&&g.getAllResponseHeaders());const n=!i||i==="text"||i==="json"?g.responseText:g.response;const o={data:n,status:g.status,statusText:g.statusText,headers:s,config:e,request:g};settle((function _resolve(e){t(e);done()}),(function _reject(e){r(e);done()}),o);g=null}if("onloadend"in g){g.onloadend=onloadend}else{g.onreadystatechange=function handleLoad(){if(!g||g.readyState!==4){return}if(g.status===0&&!(g.responseURL&&g.responseURL.indexOf("file:")===0)){return}setTimeout(onloadend)}}g.onabort=function handleAbort(){if(!g){return}r(new AxiosError("Request aborted",AxiosError.ECONNABORTED,e,g));g=null};g.onerror=function handleError(){r(new AxiosError("Network Error",AxiosError.ERR_NETWORK,e,g));g=null};g.ontimeout=function handleTimeout(){let t=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const n=s.transitional||se;if(s.timeoutErrorMessage){t=s.timeoutErrorMessage}r(new AxiosError(t,n.clarifyTimeoutError?AxiosError.ETIMEDOUT:AxiosError.ECONNABORTED,e,g));g=null};n===undefined&&o.setContentType(null);if("setRequestHeader"in g){K.forEach(o.toJSON(),(function setRequestHeader(e,t){g.setRequestHeader(t,e)}))}if(!K.isUndefined(s.withCredentials)){g.withCredentials=!!s.withCredentials}if(i&&i!=="json"){g.responseType=s.responseType}if(A){[u,d]=progressEventReducer(A,true);g.addEventListener("progress",u)}if(a&&g.upload){[l,p]=progressEventReducer(a);g.upload.addEventListener("progress",l);g.upload.addEventListener("loadend",p)}if(s.cancelToken||s.signal){c=t=>{if(!g){return}r(!t||t.type?new CanceledError(null,e,g):t);g.abort();g=null};s.cancelToken&&s.cancelToken.subscribe(c);if(s.signal){s.signal.aborted?c():s.signal.addEventListener("abort",c)}}const h=parseProtocol(s.url);if(h&&pe.protocols.indexOf(h)===-1){r(new AxiosError("Unsupported protocol "+h+":",AxiosError.ERR_BAD_REQUEST,e));return}g.send(n||null)}))};const composeSignals=(e,t)=>{let r=new AbortController;let s;const onabort=function(e){if(!s){s=true;unsubscribe();const t=e instanceof Error?e:this.reason;r.abort(t instanceof AxiosError?t:new CanceledError(t instanceof Error?t.message:t))}};let n=t&&setTimeout((()=>{onabort(new AxiosError(`timeout ${t} of ms exceeded`,AxiosError.ETIMEDOUT))}),t);const unsubscribe=()=>{if(e){n&&clearTimeout(n);n=null;e.forEach((e=>{e&&(e.removeEventListener?e.removeEventListener("abort",onabort):e.unsubscribe(onabort))}));e=null}};e.forEach((e=>e&&e.addEventListener&&e.addEventListener("abort",onabort)));const{signal:o}=r;o.unsubscribe=unsubscribe;return[o,()=>{n&&clearTimeout(n);n=null}]};const Ve=composeSignals;const streamChunk=function*(e,t){let r=e.byteLength;if(!t||r{const o=readBytes(e,t,n);let i=0;let a;let _onFinish=e=>{if(!a){a=true;s&&s(e)}};return new ReadableStream({async pull(e){try{const{done:t,value:s}=await o.next();if(t){_onFinish();e.close();return}let n=s.byteLength;if(r){let e=i+=n;r(e)}e.enqueue(new Uint8Array(s))}catch(e){_onFinish(e);throw e}},cancel(e){_onFinish(e);return o.return()}},{highWaterMark:2})};const Ye=typeof fetch==="function"&&typeof Request==="function"&&typeof Response==="function";const qe=Ye&&typeof ReadableStream==="function";const We=Ye&&(typeof TextEncoder==="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer()));const test=(e,...t)=>{try{return!!e(...t)}catch(e){return false}};const Ze=qe&&test((()=>{let e=false;const t=new Request(pe.origin,{body:new ReadableStream,method:"POST",get duplex(){e=true;return"half"}}).headers.has("Content-Type");return e&&!t}));const ze=64*1024;const Ke=qe&&test((()=>K.isReadableStream(new Response("").body)));const Xe={stream:Ke&&(e=>e.body)};Ye&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach((t=>{!Xe[t]&&(Xe[t]=K.isFunction(e[t])?e=>e[t]():(e,r)=>{throw new AxiosError(`Response type '${t}' is not supported`,AxiosError.ERR_NOT_SUPPORT,r)})}))})(new Response);const getBodyLength=async e=>{if(e==null){return 0}if(K.isBlob(e)){return e.size}if(K.isSpecCompliantForm(e)){return(await new Request(e).arrayBuffer()).byteLength}if(K.isArrayBufferView(e)||K.isArrayBuffer(e)){return e.byteLength}if(K.isURLSearchParams(e)){e=e+""}if(K.isString(e)){return(await We(e)).byteLength}};const resolveBodyLength=async(e,t)=>{const r=K.toFiniteNumber(e.getContentLength());return r==null?getBodyLength(t):r};const $e=Ye&&(async e=>{let{url:t,method:r,data:s,signal:n,cancelToken:o,timeout:i,onDownloadProgress:a,onUploadProgress:A,responseType:c,headers:l,withCredentials:u="same-origin",fetchOptions:p}=resolveConfig(e);c=c?(c+"").toLowerCase():"text";let[d,g]=n||o||i?Ve([n,o],i):[];let h,m;const onFinish=()=>{!h&&setTimeout((()=>{d&&d.unsubscribe()}));h=true};let E;try{if(A&&Ze&&r!=="get"&&r!=="head"&&(E=await resolveBodyLength(l,s))!==0){let e=new Request(t,{method:"POST",body:s,duplex:"half"});let r;if(K.isFormData(s)&&(r=e.headers.get("content-type"))){l.setContentType(r)}if(e.body){const[t,r]=progressEventDecorator(E,progressEventReducer(asyncDecorator(A)));s=trackStream(e.body,ze,t,r,We)}}if(!K.isString(u)){u=u?"include":"omit"}const n="credentials"in Request.prototype;m=new Request(t,{...p,signal:d,method:r.toUpperCase(),headers:l.normalize().toJSON(),body:s,duplex:"half",credentials:n?u:undefined});let o=await fetch(m);const i=Ke&&(c==="stream"||c==="response");if(Ke&&(a||i)){const e={};["status","statusText","headers"].forEach((t=>{e[t]=o[t]}));const t=K.toFiniteNumber(o.headers.get("content-length"));const[r,s]=a&&progressEventDecorator(t,progressEventReducer(asyncDecorator(a),true))||[];o=new Response(trackStream(o.body,ze,r,(()=>{s&&s();i&&onFinish()}),We),e)}c=c||"text";let h=await Xe[K.findKey(Xe,c)||"text"](o,e);!i&&onFinish();g&&g();return await new Promise(((t,r)=>{settle(t,r,{data:h,headers:me.from(o.headers),status:o.status,statusText:o.statusText,config:e,request:m})}))}catch(t){onFinish();if(t&&t.name==="TypeError"&&/fetch/i.test(t.message)){throw Object.assign(new AxiosError("Network Error",AxiosError.ERR_NETWORK,e,m),{cause:t.cause||t})}throw AxiosError.from(t,t&&t.code,e,m)}});const et={http:Pe,xhr:Je,fetch:$e};K.forEach(et,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const renderReason=e=>`- ${e}`;const isResolvedHandle=e=>K.isFunction(e)||e===null||e===false;const tt={getAdapter:e=>{e=K.isArray(e)?e:[e];const{length:t}=e;let r;let s;const n={};for(let o=0;o`adapter ${e} `+(t===false?"is not supported by the environment":"is not available in the build")));let r=t?e.length>1?"since :\n"+e.map(renderReason).join("\n"):" "+renderReason(e[0]):"as no adapter specified";throw new AxiosError(`There is no suitable adapter to dispatch the request `+r,"ERR_NOT_SUPPORT")}return s},adapters:et};function throwIfCancellationRequested(e){if(e.cancelToken){e.cancelToken.throwIfRequested()}if(e.signal&&e.signal.aborted){throw new CanceledError(null,e)}}function dispatchRequest(e){throwIfCancellationRequested(e);e.headers=me.from(e.headers);e.data=transformData.call(e,e.transformRequest);if(["post","put","patch"].indexOf(e.method)!==-1){e.headers.setContentType("application/x-www-form-urlencoded",false)}const t=tt.getAdapter(e.adapter||ge.adapter);return t(e).then((function onAdapterResolution(t){throwIfCancellationRequested(e);t.data=transformData.call(e,e.transformResponse,t);t.headers=me.from(t.headers);return t}),(function onAdapterRejection(t){if(!isCancel(t)){throwIfCancellationRequested(e);if(t&&t.response){t.response.data=transformData.call(e,e.transformResponse,t.response);t.response.headers=me.from(t.response.headers)}}return Promise.reject(t)}))}const rt={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{rt[e]=function validator(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}}));const st={};rt.transitional=function transitional(e,t,r){function formatMessage(e,t){return"[Axios v"+Ee+"] Transitional option '"+e+"'"+t+(r?". "+r:"")}return(r,s,n)=>{if(e===false){throw new AxiosError(formatMessage(s," has been removed"+(t?" in "+t:"")),AxiosError.ERR_DEPRECATED)}if(t&&!st[s]){st[s]=true;console.warn(formatMessage(s," has been deprecated since v"+t+" and will be removed in the near future"))}return e?e(r,s,n):true}};function assertOptions(e,t,r){if(typeof e!=="object"){throw new AxiosError("options must be an object",AxiosError.ERR_BAD_OPTION_VALUE)}const s=Object.keys(e);let n=s.length;while(n-- >0){const o=s[n];const i=t[o];if(i){const t=e[o];const r=t===undefined||i(t,o,e);if(r!==true){throw new AxiosError("option "+o+" must be "+r,AxiosError.ERR_BAD_OPTION_VALUE)}continue}if(r!==true){throw new AxiosError("Unknown option "+o,AxiosError.ERR_BAD_OPTION)}}}const nt={assertOptions:assertOptions,validators:rt};const ot=nt.validators;class Axios{constructor(e){this.defaults=e;this.interceptors={request:new re,response:new re}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t;Error.captureStackTrace?Error.captureStackTrace(t={}):t=new Error;const r=t.stack?t.stack.replace(/^.+\n/,""):"";try{if(!e.stack){e.stack=r}else if(r&&!String(e.stack).endsWith(r.replace(/^.+\n.+\n/,""))){e.stack+="\n"+r}}catch(e){}}throw e}}_request(e,t){if(typeof e==="string"){t=t||{};t.url=e}else{t=e||{}}t=mergeConfig(this.defaults,t);const{transitional:r,paramsSerializer:s,headers:n}=t;if(r!==undefined){nt.assertOptions(r,{silentJSONParsing:ot.transitional(ot.boolean),forcedJSONParsing:ot.transitional(ot.boolean),clarifyTimeoutError:ot.transitional(ot.boolean)},false)}if(s!=null){if(K.isFunction(s)){t.paramsSerializer={serialize:s}}else{nt.assertOptions(s,{encode:ot.function,serialize:ot.function},true)}}t.method=(t.method||this.defaults.method||"get").toLowerCase();let o=n&&K.merge(n.common,n[t.method]);n&&K.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete n[e]}));t.headers=me.concat(o,n);const i=[];let a=true;this.interceptors.request.forEach((function unshiftRequestInterceptors(e){if(typeof e.runWhen==="function"&&e.runWhen(t)===false){return}a=a&&e.synchronous;i.unshift(e.fulfilled,e.rejected)}));const A=[];this.interceptors.response.forEach((function pushResponseInterceptors(e){A.push(e.fulfilled,e.rejected)}));let c;let l=0;let u;if(!a){const e=[dispatchRequest.bind(this),undefined];e.unshift.apply(e,i);e.push.apply(e,A);u=e.length;c=Promise.resolve(t);while(l{if(!r._listeners)return;let t=r._listeners.length;while(t-- >0){r._listeners[t](e)}r._listeners=null}));this.promise.then=e=>{let t;const s=new Promise((e=>{r.subscribe(e);t=e})).then(e);s.cancel=function reject(){r.unsubscribe(t)};return s};e((function cancel(e,s,n){if(r.reason){return}r.reason=new CanceledError(e,s,n);t(r.reason)}))}throwIfRequested(){if(this.reason){throw this.reason}}subscribe(e){if(this.reason){e(this.reason);return}if(this._listeners){this._listeners.push(e)}else{this._listeners=[e]}}unsubscribe(e){if(!this._listeners){return}const t=this._listeners.indexOf(e);if(t!==-1){this._listeners.splice(t,1)}}static source(){let e;const t=new CancelToken((function executor(t){e=t}));return{token:t,cancel:e}}}const at=CancelToken;function spread(e){return function wrap(t){return e.apply(null,t)}}function isAxiosError(e){return K.isObject(e)&&e.isAxiosError===true}const At={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(At).forEach((([e,t])=>{At[t]=e}));const ct=At;function createInstance(e){const t=new it(e);const r=bind(it.prototype.request,t);K.extend(r,it.prototype,t,{allOwnKeys:true});K.extend(r,t,null,{allOwnKeys:true});r.create=function create(t){return createInstance(mergeConfig(e,t))};return r}const lt=createInstance(ge);lt.Axios=it;lt.CanceledError=CanceledError;lt.CancelToken=at;lt.isCancel=isCancel;lt.VERSION=Ee;lt.toFormData=toFormData;lt.AxiosError=AxiosError;lt.Cancel=lt.CanceledError;lt.all=function all(e){return Promise.all(e)};lt.spread=spread;lt.isAxiosError=isAxiosError;lt.mergeConfig=mergeConfig;lt.AxiosHeaders=me;lt.formToJSON=e=>formDataToJSON(K.isHTMLForm(e)?new FormData(e):e);lt.getAdapter=tt.getAdapter;lt.HttpStatusCode=ct;lt.default=lt;e.exports=lt},7371:e=>{"use strict";e.exports=JSON.parse('{"name":"@slack/web-api","version":"7.3.4","description":"Official library for using the Slack Platform\'s Web API","author":"Slack Technologies, LLC","license":"MIT","keywords":["slack","web-api","bot","client","http","api","proxy","rate-limiting","pagination"],"main":"dist/index.js","types":"./dist/index.d.ts","files":["dist/**/*"],"engines":{"node":">= 18","npm":">= 8.6.0"},"repository":"slackapi/node-slack-sdk","homepage":"https://slack.dev/node-slack-sdk/web-api","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/slackapi/node-slack-sdk/issues"},"scripts":{"prepare":"npm run build","build":"npm run build:clean && tsc","build:clean":"shx rm -rf ./dist ./coverage","lint":"eslint --fix --ext .ts src","mocha":"mocha --config .mocharc.json src/*.spec.js","test":"npm run lint && npm run test:types && npm run test:integration && npm run test:unit","test:integration":"npm run build && node test/integration/commonjs-project/index.js && node test/integration/esm-project/index.mjs && npm run test:integration:ts","test:integration:ts":"cd test/integration/ts-4.7-project && npm i && npm run build","test:unit":"npm run build && c8 npm run mocha","test:types":"tsd","ref-docs:model":"api-extractor run","watch":"npx nodemon --watch \'src\' --ext \'ts\' --exec npm run build"},"dependencies":{"@slack/logger":"^4.0.0","@slack/types":"^2.9.0","@types/node":">=18.0.0","@types/retry":"0.12.0","axios":"^1.7.4","eventemitter3":"^5.0.1","form-data":"^4.0.0","is-electron":"2.2.2","is-stream":"^2","p-queue":"^6","p-retry":"^4","retry":"^0.13.1"},"devDependencies":{"@microsoft/api-extractor":"^7","@tsconfig/recommended":"^1","@types/chai":"^4","@types/mocha":"^10","@types/sinon":"^17","@typescript-eslint/eslint-plugin":"^6","@typescript-eslint/parser":"^6","busboy":"^1","c8":"^9.1.0","chai":"^4","eslint":"^8","eslint-config-airbnb-base":"^15","eslint-config-airbnb-typescript":"^17","eslint-plugin-import":"^2","eslint-plugin-import-newlines":"^1.3.4","eslint-plugin-jsdoc":"^48","eslint-plugin-node":"^11","mocha":"^10","nock":"^13","shx":"^0.3.2","sinon":"^17","source-map-support":"^0.5.21","ts-node":"^10","tsd":"^0.30.0","typescript":"5.3.3"},"tsd":{"directory":"test/types"}}')},6450:e=>{"use strict";e.exports=JSON.parse('{"application/1d-interleaved-parityfec":{"source":"iana"},"application/3gpdash-qoe-report+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/3gpp-ims+xml":{"source":"iana","compressible":true},"application/3gpphal+json":{"source":"iana","compressible":true},"application/3gpphalforms+json":{"source":"iana","compressible":true},"application/a2l":{"source":"iana"},"application/ace+cbor":{"source":"iana"},"application/activemessage":{"source":"iana"},"application/activity+json":{"source":"iana","compressible":true},"application/alto-costmap+json":{"source":"iana","compressible":true},"application/alto-costmapfilter+json":{"source":"iana","compressible":true},"application/alto-directory+json":{"source":"iana","compressible":true},"application/alto-endpointcost+json":{"source":"iana","compressible":true},"application/alto-endpointcostparams+json":{"source":"iana","compressible":true},"application/alto-endpointprop+json":{"source":"iana","compressible":true},"application/alto-endpointpropparams+json":{"source":"iana","compressible":true},"application/alto-error+json":{"source":"iana","compressible":true},"application/alto-networkmap+json":{"source":"iana","compressible":true},"application/alto-networkmapfilter+json":{"source":"iana","compressible":true},"application/alto-updatestreamcontrol+json":{"source":"iana","compressible":true},"application/alto-updatestreamparams+json":{"source":"iana","compressible":true},"application/aml":{"source":"iana"},"application/andrew-inset":{"source":"iana","extensions":["ez"]},"application/applefile":{"source":"iana"},"application/applixware":{"source":"apache","extensions":["aw"]},"application/at+jwt":{"source":"iana"},"application/atf":{"source":"iana"},"application/atfx":{"source":"iana"},"application/atom+xml":{"source":"iana","compressible":true,"extensions":["atom"]},"application/atomcat+xml":{"source":"iana","compressible":true,"extensions":["atomcat"]},"application/atomdeleted+xml":{"source":"iana","compressible":true,"extensions":["atomdeleted"]},"application/atomicmail":{"source":"iana"},"application/atomsvc+xml":{"source":"iana","compressible":true,"extensions":["atomsvc"]},"application/atsc-dwd+xml":{"source":"iana","compressible":true,"extensions":["dwd"]},"application/atsc-dynamic-event-message":{"source":"iana"},"application/atsc-held+xml":{"source":"iana","compressible":true,"extensions":["held"]},"application/atsc-rdt+json":{"source":"iana","compressible":true},"application/atsc-rsat+xml":{"source":"iana","compressible":true,"extensions":["rsat"]},"application/atxml":{"source":"iana"},"application/auth-policy+xml":{"source":"iana","compressible":true},"application/bacnet-xdd+zip":{"source":"iana","compressible":false},"application/batch-smtp":{"source":"iana"},"application/bdoc":{"compressible":false,"extensions":["bdoc"]},"application/beep+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/calendar+json":{"source":"iana","compressible":true},"application/calendar+xml":{"source":"iana","compressible":true,"extensions":["xcs"]},"application/call-completion":{"source":"iana"},"application/cals-1840":{"source":"iana"},"application/captive+json":{"source":"iana","compressible":true},"application/cbor":{"source":"iana"},"application/cbor-seq":{"source":"iana"},"application/cccex":{"source":"iana"},"application/ccmp+xml":{"source":"iana","compressible":true},"application/ccxml+xml":{"source":"iana","compressible":true,"extensions":["ccxml"]},"application/cdfx+xml":{"source":"iana","compressible":true,"extensions":["cdfx"]},"application/cdmi-capability":{"source":"iana","extensions":["cdmia"]},"application/cdmi-container":{"source":"iana","extensions":["cdmic"]},"application/cdmi-domain":{"source":"iana","extensions":["cdmid"]},"application/cdmi-object":{"source":"iana","extensions":["cdmio"]},"application/cdmi-queue":{"source":"iana","extensions":["cdmiq"]},"application/cdni":{"source":"iana"},"application/cea":{"source":"iana"},"application/cea-2018+xml":{"source":"iana","compressible":true},"application/cellml+xml":{"source":"iana","compressible":true},"application/cfw":{"source":"iana"},"application/city+json":{"source":"iana","compressible":true},"application/clr":{"source":"iana"},"application/clue+xml":{"source":"iana","compressible":true},"application/clue_info+xml":{"source":"iana","compressible":true},"application/cms":{"source":"iana"},"application/cnrp+xml":{"source":"iana","compressible":true},"application/coap-group+json":{"source":"iana","compressible":true},"application/coap-payload":{"source":"iana"},"application/commonground":{"source":"iana"},"application/conference-info+xml":{"source":"iana","compressible":true},"application/cose":{"source":"iana"},"application/cose-key":{"source":"iana"},"application/cose-key-set":{"source":"iana"},"application/cpl+xml":{"source":"iana","compressible":true,"extensions":["cpl"]},"application/csrattrs":{"source":"iana"},"application/csta+xml":{"source":"iana","compressible":true},"application/cstadata+xml":{"source":"iana","compressible":true},"application/csvm+json":{"source":"iana","compressible":true},"application/cu-seeme":{"source":"apache","extensions":["cu"]},"application/cwt":{"source":"iana"},"application/cybercash":{"source":"iana"},"application/dart":{"compressible":true},"application/dash+xml":{"source":"iana","compressible":true,"extensions":["mpd"]},"application/dash-patch+xml":{"source":"iana","compressible":true,"extensions":["mpp"]},"application/dashdelta":{"source":"iana"},"application/davmount+xml":{"source":"iana","compressible":true,"extensions":["davmount"]},"application/dca-rft":{"source":"iana"},"application/dcd":{"source":"iana"},"application/dec-dx":{"source":"iana"},"application/dialog-info+xml":{"source":"iana","compressible":true},"application/dicom":{"source":"iana"},"application/dicom+json":{"source":"iana","compressible":true},"application/dicom+xml":{"source":"iana","compressible":true},"application/dii":{"source":"iana"},"application/dit":{"source":"iana"},"application/dns":{"source":"iana"},"application/dns+json":{"source":"iana","compressible":true},"application/dns-message":{"source":"iana"},"application/docbook+xml":{"source":"apache","compressible":true,"extensions":["dbk"]},"application/dots+cbor":{"source":"iana"},"application/dskpp+xml":{"source":"iana","compressible":true},"application/dssc+der":{"source":"iana","extensions":["dssc"]},"application/dssc+xml":{"source":"iana","compressible":true,"extensions":["xdssc"]},"application/dvcs":{"source":"iana"},"application/ecmascript":{"source":"iana","compressible":true,"extensions":["es","ecma"]},"application/edi-consent":{"source":"iana"},"application/edi-x12":{"source":"iana","compressible":false},"application/edifact":{"source":"iana","compressible":false},"application/efi":{"source":"iana"},"application/elm+json":{"source":"iana","charset":"UTF-8","compressible":true},"application/elm+xml":{"source":"iana","compressible":true},"application/emergencycalldata.cap+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/emergencycalldata.comment+xml":{"source":"iana","compressible":true},"application/emergencycalldata.control+xml":{"source":"iana","compressible":true},"application/emergencycalldata.deviceinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.ecall.msd":{"source":"iana"},"application/emergencycalldata.providerinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.serviceinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.subscriberinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.veds+xml":{"source":"iana","compressible":true},"application/emma+xml":{"source":"iana","compressible":true,"extensions":["emma"]},"application/emotionml+xml":{"source":"iana","compressible":true,"extensions":["emotionml"]},"application/encaprtp":{"source":"iana"},"application/epp+xml":{"source":"iana","compressible":true},"application/epub+zip":{"source":"iana","compressible":false,"extensions":["epub"]},"application/eshop":{"source":"iana"},"application/exi":{"source":"iana","extensions":["exi"]},"application/expect-ct-report+json":{"source":"iana","compressible":true},"application/express":{"source":"iana","extensions":["exp"]},"application/fastinfoset":{"source":"iana"},"application/fastsoap":{"source":"iana"},"application/fdt+xml":{"source":"iana","compressible":true,"extensions":["fdt"]},"application/fhir+json":{"source":"iana","charset":"UTF-8","compressible":true},"application/fhir+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/fido.trusted-apps+json":{"compressible":true},"application/fits":{"source":"iana"},"application/flexfec":{"source":"iana"},"application/font-sfnt":{"source":"iana"},"application/font-tdpfr":{"source":"iana","extensions":["pfr"]},"application/font-woff":{"source":"iana","compressible":false},"application/framework-attributes+xml":{"source":"iana","compressible":true},"application/geo+json":{"source":"iana","compressible":true,"extensions":["geojson"]},"application/geo+json-seq":{"source":"iana"},"application/geopackage+sqlite3":{"source":"iana"},"application/geoxacml+xml":{"source":"iana","compressible":true},"application/gltf-buffer":{"source":"iana"},"application/gml+xml":{"source":"iana","compressible":true,"extensions":["gml"]},"application/gpx+xml":{"source":"apache","compressible":true,"extensions":["gpx"]},"application/gxf":{"source":"apache","extensions":["gxf"]},"application/gzip":{"source":"iana","compressible":false,"extensions":["gz"]},"application/h224":{"source":"iana"},"application/held+xml":{"source":"iana","compressible":true},"application/hjson":{"extensions":["hjson"]},"application/http":{"source":"iana"},"application/hyperstudio":{"source":"iana","extensions":["stk"]},"application/ibe-key-request+xml":{"source":"iana","compressible":true},"application/ibe-pkg-reply+xml":{"source":"iana","compressible":true},"application/ibe-pp-data":{"source":"iana"},"application/iges":{"source":"iana"},"application/im-iscomposing+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/index":{"source":"iana"},"application/index.cmd":{"source":"iana"},"application/index.obj":{"source":"iana"},"application/index.response":{"source":"iana"},"application/index.vnd":{"source":"iana"},"application/inkml+xml":{"source":"iana","compressible":true,"extensions":["ink","inkml"]},"application/iotp":{"source":"iana"},"application/ipfix":{"source":"iana","extensions":["ipfix"]},"application/ipp":{"source":"iana"},"application/isup":{"source":"iana"},"application/its+xml":{"source":"iana","compressible":true,"extensions":["its"]},"application/java-archive":{"source":"apache","compressible":false,"extensions":["jar","war","ear"]},"application/java-serialized-object":{"source":"apache","compressible":false,"extensions":["ser"]},"application/java-vm":{"source":"apache","compressible":false,"extensions":["class"]},"application/javascript":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["js","mjs"]},"application/jf2feed+json":{"source":"iana","compressible":true},"application/jose":{"source":"iana"},"application/jose+json":{"source":"iana","compressible":true},"application/jrd+json":{"source":"iana","compressible":true},"application/jscalendar+json":{"source":"iana","compressible":true},"application/json":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["json","map"]},"application/json-patch+json":{"source":"iana","compressible":true},"application/json-seq":{"source":"iana"},"application/json5":{"extensions":["json5"]},"application/jsonml+json":{"source":"apache","compressible":true,"extensions":["jsonml"]},"application/jwk+json":{"source":"iana","compressible":true},"application/jwk-set+json":{"source":"iana","compressible":true},"application/jwt":{"source":"iana"},"application/kpml-request+xml":{"source":"iana","compressible":true},"application/kpml-response+xml":{"source":"iana","compressible":true},"application/ld+json":{"source":"iana","compressible":true,"extensions":["jsonld"]},"application/lgr+xml":{"source":"iana","compressible":true,"extensions":["lgr"]},"application/link-format":{"source":"iana"},"application/load-control+xml":{"source":"iana","compressible":true},"application/lost+xml":{"source":"iana","compressible":true,"extensions":["lostxml"]},"application/lostsync+xml":{"source":"iana","compressible":true},"application/lpf+zip":{"source":"iana","compressible":false},"application/lxf":{"source":"iana"},"application/mac-binhex40":{"source":"iana","extensions":["hqx"]},"application/mac-compactpro":{"source":"apache","extensions":["cpt"]},"application/macwriteii":{"source":"iana"},"application/mads+xml":{"source":"iana","compressible":true,"extensions":["mads"]},"application/manifest+json":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["webmanifest"]},"application/marc":{"source":"iana","extensions":["mrc"]},"application/marcxml+xml":{"source":"iana","compressible":true,"extensions":["mrcx"]},"application/mathematica":{"source":"iana","extensions":["ma","nb","mb"]},"application/mathml+xml":{"source":"iana","compressible":true,"extensions":["mathml"]},"application/mathml-content+xml":{"source":"iana","compressible":true},"application/mathml-presentation+xml":{"source":"iana","compressible":true},"application/mbms-associated-procedure-description+xml":{"source":"iana","compressible":true},"application/mbms-deregister+xml":{"source":"iana","compressible":true},"application/mbms-envelope+xml":{"source":"iana","compressible":true},"application/mbms-msk+xml":{"source":"iana","compressible":true},"application/mbms-msk-response+xml":{"source":"iana","compressible":true},"application/mbms-protection-description+xml":{"source":"iana","compressible":true},"application/mbms-reception-report+xml":{"source":"iana","compressible":true},"application/mbms-register+xml":{"source":"iana","compressible":true},"application/mbms-register-response+xml":{"source":"iana","compressible":true},"application/mbms-schedule+xml":{"source":"iana","compressible":true},"application/mbms-user-service-description+xml":{"source":"iana","compressible":true},"application/mbox":{"source":"iana","extensions":["mbox"]},"application/media-policy-dataset+xml":{"source":"iana","compressible":true,"extensions":["mpf"]},"application/media_control+xml":{"source":"iana","compressible":true},"application/mediaservercontrol+xml":{"source":"iana","compressible":true,"extensions":["mscml"]},"application/merge-patch+json":{"source":"iana","compressible":true},"application/metalink+xml":{"source":"apache","compressible":true,"extensions":["metalink"]},"application/metalink4+xml":{"source":"iana","compressible":true,"extensions":["meta4"]},"application/mets+xml":{"source":"iana","compressible":true,"extensions":["mets"]},"application/mf4":{"source":"iana"},"application/mikey":{"source":"iana"},"application/mipc":{"source":"iana"},"application/missing-blocks+cbor-seq":{"source":"iana"},"application/mmt-aei+xml":{"source":"iana","compressible":true,"extensions":["maei"]},"application/mmt-usd+xml":{"source":"iana","compressible":true,"extensions":["musd"]},"application/mods+xml":{"source":"iana","compressible":true,"extensions":["mods"]},"application/moss-keys":{"source":"iana"},"application/moss-signature":{"source":"iana"},"application/mosskey-data":{"source":"iana"},"application/mosskey-request":{"source":"iana"},"application/mp21":{"source":"iana","extensions":["m21","mp21"]},"application/mp4":{"source":"iana","extensions":["mp4s","m4p"]},"application/mpeg4-generic":{"source":"iana"},"application/mpeg4-iod":{"source":"iana"},"application/mpeg4-iod-xmt":{"source":"iana"},"application/mrb-consumer+xml":{"source":"iana","compressible":true},"application/mrb-publish+xml":{"source":"iana","compressible":true},"application/msc-ivr+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/msc-mixer+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/msword":{"source":"iana","compressible":false,"extensions":["doc","dot"]},"application/mud+json":{"source":"iana","compressible":true},"application/multipart-core":{"source":"iana"},"application/mxf":{"source":"iana","extensions":["mxf"]},"application/n-quads":{"source":"iana","extensions":["nq"]},"application/n-triples":{"source":"iana","extensions":["nt"]},"application/nasdata":{"source":"iana"},"application/news-checkgroups":{"source":"iana","charset":"US-ASCII"},"application/news-groupinfo":{"source":"iana","charset":"US-ASCII"},"application/news-transmission":{"source":"iana"},"application/nlsml+xml":{"source":"iana","compressible":true},"application/node":{"source":"iana","extensions":["cjs"]},"application/nss":{"source":"iana"},"application/oauth-authz-req+jwt":{"source":"iana"},"application/oblivious-dns-message":{"source":"iana"},"application/ocsp-request":{"source":"iana"},"application/ocsp-response":{"source":"iana"},"application/octet-stream":{"source":"iana","compressible":false,"extensions":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{"source":"iana","extensions":["oda"]},"application/odm+xml":{"source":"iana","compressible":true},"application/odx":{"source":"iana"},"application/oebps-package+xml":{"source":"iana","compressible":true,"extensions":["opf"]},"application/ogg":{"source":"iana","compressible":false,"extensions":["ogx"]},"application/omdoc+xml":{"source":"apache","compressible":true,"extensions":["omdoc"]},"application/onenote":{"source":"apache","extensions":["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{"source":"iana","compressible":true},"application/oscore":{"source":"iana"},"application/oxps":{"source":"iana","extensions":["oxps"]},"application/p21":{"source":"iana"},"application/p21+zip":{"source":"iana","compressible":false},"application/p2p-overlay+xml":{"source":"iana","compressible":true,"extensions":["relo"]},"application/parityfec":{"source":"iana"},"application/passport":{"source":"iana"},"application/patch-ops-error+xml":{"source":"iana","compressible":true,"extensions":["xer"]},"application/pdf":{"source":"iana","compressible":false,"extensions":["pdf"]},"application/pdx":{"source":"iana"},"application/pem-certificate-chain":{"source":"iana"},"application/pgp-encrypted":{"source":"iana","compressible":false,"extensions":["pgp"]},"application/pgp-keys":{"source":"iana","extensions":["asc"]},"application/pgp-signature":{"source":"iana","extensions":["asc","sig"]},"application/pics-rules":{"source":"apache","extensions":["prf"]},"application/pidf+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/pidf-diff+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/pkcs10":{"source":"iana","extensions":["p10"]},"application/pkcs12":{"source":"iana"},"application/pkcs7-mime":{"source":"iana","extensions":["p7m","p7c"]},"application/pkcs7-signature":{"source":"iana","extensions":["p7s"]},"application/pkcs8":{"source":"iana","extensions":["p8"]},"application/pkcs8-encrypted":{"source":"iana"},"application/pkix-attr-cert":{"source":"iana","extensions":["ac"]},"application/pkix-cert":{"source":"iana","extensions":["cer"]},"application/pkix-crl":{"source":"iana","extensions":["crl"]},"application/pkix-pkipath":{"source":"iana","extensions":["pkipath"]},"application/pkixcmp":{"source":"iana","extensions":["pki"]},"application/pls+xml":{"source":"iana","compressible":true,"extensions":["pls"]},"application/poc-settings+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/postscript":{"source":"iana","compressible":true,"extensions":["ai","eps","ps"]},"application/ppsp-tracker+json":{"source":"iana","compressible":true},"application/problem+json":{"source":"iana","compressible":true},"application/problem+xml":{"source":"iana","compressible":true},"application/provenance+xml":{"source":"iana","compressible":true,"extensions":["provx"]},"application/prs.alvestrand.titrax-sheet":{"source":"iana"},"application/prs.cww":{"source":"iana","extensions":["cww"]},"application/prs.cyn":{"source":"iana","charset":"7-BIT"},"application/prs.hpub+zip":{"source":"iana","compressible":false},"application/prs.nprend":{"source":"iana"},"application/prs.plucker":{"source":"iana"},"application/prs.rdf-xml-crypt":{"source":"iana"},"application/prs.xsf+xml":{"source":"iana","compressible":true},"application/pskc+xml":{"source":"iana","compressible":true,"extensions":["pskcxml"]},"application/pvd+json":{"source":"iana","compressible":true},"application/qsig":{"source":"iana"},"application/raml+yaml":{"compressible":true,"extensions":["raml"]},"application/raptorfec":{"source":"iana"},"application/rdap+json":{"source":"iana","compressible":true},"application/rdf+xml":{"source":"iana","compressible":true,"extensions":["rdf","owl"]},"application/reginfo+xml":{"source":"iana","compressible":true,"extensions":["rif"]},"application/relax-ng-compact-syntax":{"source":"iana","extensions":["rnc"]},"application/remote-printing":{"source":"iana"},"application/reputon+json":{"source":"iana","compressible":true},"application/resource-lists+xml":{"source":"iana","compressible":true,"extensions":["rl"]},"application/resource-lists-diff+xml":{"source":"iana","compressible":true,"extensions":["rld"]},"application/rfc+xml":{"source":"iana","compressible":true},"application/riscos":{"source":"iana"},"application/rlmi+xml":{"source":"iana","compressible":true},"application/rls-services+xml":{"source":"iana","compressible":true,"extensions":["rs"]},"application/route-apd+xml":{"source":"iana","compressible":true,"extensions":["rapd"]},"application/route-s-tsid+xml":{"source":"iana","compressible":true,"extensions":["sls"]},"application/route-usd+xml":{"source":"iana","compressible":true,"extensions":["rusd"]},"application/rpki-ghostbusters":{"source":"iana","extensions":["gbr"]},"application/rpki-manifest":{"source":"iana","extensions":["mft"]},"application/rpki-publication":{"source":"iana"},"application/rpki-roa":{"source":"iana","extensions":["roa"]},"application/rpki-updown":{"source":"iana"},"application/rsd+xml":{"source":"apache","compressible":true,"extensions":["rsd"]},"application/rss+xml":{"source":"apache","compressible":true,"extensions":["rss"]},"application/rtf":{"source":"iana","compressible":true,"extensions":["rtf"]},"application/rtploopback":{"source":"iana"},"application/rtx":{"source":"iana"},"application/samlassertion+xml":{"source":"iana","compressible":true},"application/samlmetadata+xml":{"source":"iana","compressible":true},"application/sarif+json":{"source":"iana","compressible":true},"application/sarif-external-properties+json":{"source":"iana","compressible":true},"application/sbe":{"source":"iana"},"application/sbml+xml":{"source":"iana","compressible":true,"extensions":["sbml"]},"application/scaip+xml":{"source":"iana","compressible":true},"application/scim+json":{"source":"iana","compressible":true},"application/scvp-cv-request":{"source":"iana","extensions":["scq"]},"application/scvp-cv-response":{"source":"iana","extensions":["scs"]},"application/scvp-vp-request":{"source":"iana","extensions":["spq"]},"application/scvp-vp-response":{"source":"iana","extensions":["spp"]},"application/sdp":{"source":"iana","extensions":["sdp"]},"application/secevent+jwt":{"source":"iana"},"application/senml+cbor":{"source":"iana"},"application/senml+json":{"source":"iana","compressible":true},"application/senml+xml":{"source":"iana","compressible":true,"extensions":["senmlx"]},"application/senml-etch+cbor":{"source":"iana"},"application/senml-etch+json":{"source":"iana","compressible":true},"application/senml-exi":{"source":"iana"},"application/sensml+cbor":{"source":"iana"},"application/sensml+json":{"source":"iana","compressible":true},"application/sensml+xml":{"source":"iana","compressible":true,"extensions":["sensmlx"]},"application/sensml-exi":{"source":"iana"},"application/sep+xml":{"source":"iana","compressible":true},"application/sep-exi":{"source":"iana"},"application/session-info":{"source":"iana"},"application/set-payment":{"source":"iana"},"application/set-payment-initiation":{"source":"iana","extensions":["setpay"]},"application/set-registration":{"source":"iana"},"application/set-registration-initiation":{"source":"iana","extensions":["setreg"]},"application/sgml":{"source":"iana"},"application/sgml-open-catalog":{"source":"iana"},"application/shf+xml":{"source":"iana","compressible":true,"extensions":["shf"]},"application/sieve":{"source":"iana","extensions":["siv","sieve"]},"application/simple-filter+xml":{"source":"iana","compressible":true},"application/simple-message-summary":{"source":"iana"},"application/simplesymbolcontainer":{"source":"iana"},"application/sipc":{"source":"iana"},"application/slate":{"source":"iana"},"application/smil":{"source":"iana"},"application/smil+xml":{"source":"iana","compressible":true,"extensions":["smi","smil"]},"application/smpte336m":{"source":"iana"},"application/soap+fastinfoset":{"source":"iana"},"application/soap+xml":{"source":"iana","compressible":true},"application/sparql-query":{"source":"iana","extensions":["rq"]},"application/sparql-results+xml":{"source":"iana","compressible":true,"extensions":["srx"]},"application/spdx+json":{"source":"iana","compressible":true},"application/spirits-event+xml":{"source":"iana","compressible":true},"application/sql":{"source":"iana"},"application/srgs":{"source":"iana","extensions":["gram"]},"application/srgs+xml":{"source":"iana","compressible":true,"extensions":["grxml"]},"application/sru+xml":{"source":"iana","compressible":true,"extensions":["sru"]},"application/ssdl+xml":{"source":"apache","compressible":true,"extensions":["ssdl"]},"application/ssml+xml":{"source":"iana","compressible":true,"extensions":["ssml"]},"application/stix+json":{"source":"iana","compressible":true},"application/swid+xml":{"source":"iana","compressible":true,"extensions":["swidtag"]},"application/tamp-apex-update":{"source":"iana"},"application/tamp-apex-update-confirm":{"source":"iana"},"application/tamp-community-update":{"source":"iana"},"application/tamp-community-update-confirm":{"source":"iana"},"application/tamp-error":{"source":"iana"},"application/tamp-sequence-adjust":{"source":"iana"},"application/tamp-sequence-adjust-confirm":{"source":"iana"},"application/tamp-status-query":{"source":"iana"},"application/tamp-status-response":{"source":"iana"},"application/tamp-update":{"source":"iana"},"application/tamp-update-confirm":{"source":"iana"},"application/tar":{"compressible":true},"application/taxii+json":{"source":"iana","compressible":true},"application/td+json":{"source":"iana","compressible":true},"application/tei+xml":{"source":"iana","compressible":true,"extensions":["tei","teicorpus"]},"application/tetra_isi":{"source":"iana"},"application/thraud+xml":{"source":"iana","compressible":true,"extensions":["tfi"]},"application/timestamp-query":{"source":"iana"},"application/timestamp-reply":{"source":"iana"},"application/timestamped-data":{"source":"iana","extensions":["tsd"]},"application/tlsrpt+gzip":{"source":"iana"},"application/tlsrpt+json":{"source":"iana","compressible":true},"application/tnauthlist":{"source":"iana"},"application/token-introspection+jwt":{"source":"iana"},"application/toml":{"compressible":true,"extensions":["toml"]},"application/trickle-ice-sdpfrag":{"source":"iana"},"application/trig":{"source":"iana","extensions":["trig"]},"application/ttml+xml":{"source":"iana","compressible":true,"extensions":["ttml"]},"application/tve-trigger":{"source":"iana"},"application/tzif":{"source":"iana"},"application/tzif-leap":{"source":"iana"},"application/ubjson":{"compressible":false,"extensions":["ubj"]},"application/ulpfec":{"source":"iana"},"application/urc-grpsheet+xml":{"source":"iana","compressible":true},"application/urc-ressheet+xml":{"source":"iana","compressible":true,"extensions":["rsheet"]},"application/urc-targetdesc+xml":{"source":"iana","compressible":true,"extensions":["td"]},"application/urc-uisocketdesc+xml":{"source":"iana","compressible":true},"application/vcard+json":{"source":"iana","compressible":true},"application/vcard+xml":{"source":"iana","compressible":true},"application/vemmi":{"source":"iana"},"application/vividence.scriptfile":{"source":"apache"},"application/vnd.1000minds.decision-model+xml":{"source":"iana","compressible":true,"extensions":["1km"]},"application/vnd.3gpp-prose+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-prose-pc3ch+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-v2x-local-service-information":{"source":"iana"},"application/vnd.3gpp.5gnas":{"source":"iana"},"application/vnd.3gpp.access-transfer-events+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.bsf+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.gmop+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.gtpc":{"source":"iana"},"application/vnd.3gpp.interworking-data":{"source":"iana"},"application/vnd.3gpp.lpp":{"source":"iana"},"application/vnd.3gpp.mc-signalling-ear":{"source":"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-payload":{"source":"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-signalling":{"source":"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-floor-request+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-location-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-signed+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-ue-init-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-location-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-transmission-request+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mid-call+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.ngap":{"source":"iana"},"application/vnd.3gpp.pfcp":{"source":"iana"},"application/vnd.3gpp.pic-bw-large":{"source":"iana","extensions":["plb"]},"application/vnd.3gpp.pic-bw-small":{"source":"iana","extensions":["psb"]},"application/vnd.3gpp.pic-bw-var":{"source":"iana","extensions":["pvb"]},"application/vnd.3gpp.s1ap":{"source":"iana"},"application/vnd.3gpp.sms":{"source":"iana"},"application/vnd.3gpp.sms+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.srvcc-ext+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.srvcc-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.state-and-event-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.ussd+xml":{"source":"iana","compressible":true},"application/vnd.3gpp2.bcmcsinfo+xml":{"source":"iana","compressible":true},"application/vnd.3gpp2.sms":{"source":"iana"},"application/vnd.3gpp2.tcap":{"source":"iana","extensions":["tcap"]},"application/vnd.3lightssoftware.imagescal":{"source":"iana"},"application/vnd.3m.post-it-notes":{"source":"iana","extensions":["pwn"]},"application/vnd.accpac.simply.aso":{"source":"iana","extensions":["aso"]},"application/vnd.accpac.simply.imp":{"source":"iana","extensions":["imp"]},"application/vnd.acucobol":{"source":"iana","extensions":["acu"]},"application/vnd.acucorp":{"source":"iana","extensions":["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{"source":"apache","compressible":false,"extensions":["air"]},"application/vnd.adobe.flash.movie":{"source":"iana"},"application/vnd.adobe.formscentral.fcdt":{"source":"iana","extensions":["fcdt"]},"application/vnd.adobe.fxp":{"source":"iana","extensions":["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{"source":"iana"},"application/vnd.adobe.xdp+xml":{"source":"iana","compressible":true,"extensions":["xdp"]},"application/vnd.adobe.xfdf":{"source":"iana","extensions":["xfdf"]},"application/vnd.aether.imp":{"source":"iana"},"application/vnd.afpc.afplinedata":{"source":"iana"},"application/vnd.afpc.afplinedata-pagedef":{"source":"iana"},"application/vnd.afpc.cmoca-cmresource":{"source":"iana"},"application/vnd.afpc.foca-charset":{"source":"iana"},"application/vnd.afpc.foca-codedfont":{"source":"iana"},"application/vnd.afpc.foca-codepage":{"source":"iana"},"application/vnd.afpc.modca":{"source":"iana"},"application/vnd.afpc.modca-cmtable":{"source":"iana"},"application/vnd.afpc.modca-formdef":{"source":"iana"},"application/vnd.afpc.modca-mediummap":{"source":"iana"},"application/vnd.afpc.modca-objectcontainer":{"source":"iana"},"application/vnd.afpc.modca-overlay":{"source":"iana"},"application/vnd.afpc.modca-pagesegment":{"source":"iana"},"application/vnd.age":{"source":"iana","extensions":["age"]},"application/vnd.ah-barcode":{"source":"iana"},"application/vnd.ahead.space":{"source":"iana","extensions":["ahead"]},"application/vnd.airzip.filesecure.azf":{"source":"iana","extensions":["azf"]},"application/vnd.airzip.filesecure.azs":{"source":"iana","extensions":["azs"]},"application/vnd.amadeus+json":{"source":"iana","compressible":true},"application/vnd.amazon.ebook":{"source":"apache","extensions":["azw"]},"application/vnd.amazon.mobi8-ebook":{"source":"iana"},"application/vnd.americandynamics.acc":{"source":"iana","extensions":["acc"]},"application/vnd.amiga.ami":{"source":"iana","extensions":["ami"]},"application/vnd.amundsen.maze+xml":{"source":"iana","compressible":true},"application/vnd.android.ota":{"source":"iana"},"application/vnd.android.package-archive":{"source":"apache","compressible":false,"extensions":["apk"]},"application/vnd.anki":{"source":"iana"},"application/vnd.anser-web-certificate-issue-initiation":{"source":"iana","extensions":["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{"source":"apache","extensions":["fti"]},"application/vnd.antix.game-component":{"source":"iana","extensions":["atx"]},"application/vnd.apache.arrow.file":{"source":"iana"},"application/vnd.apache.arrow.stream":{"source":"iana"},"application/vnd.apache.thrift.binary":{"source":"iana"},"application/vnd.apache.thrift.compact":{"source":"iana"},"application/vnd.apache.thrift.json":{"source":"iana"},"application/vnd.api+json":{"source":"iana","compressible":true},"application/vnd.aplextor.warrp+json":{"source":"iana","compressible":true},"application/vnd.apothekende.reservation+json":{"source":"iana","compressible":true},"application/vnd.apple.installer+xml":{"source":"iana","compressible":true,"extensions":["mpkg"]},"application/vnd.apple.keynote":{"source":"iana","extensions":["key"]},"application/vnd.apple.mpegurl":{"source":"iana","extensions":["m3u8"]},"application/vnd.apple.numbers":{"source":"iana","extensions":["numbers"]},"application/vnd.apple.pages":{"source":"iana","extensions":["pages"]},"application/vnd.apple.pkpass":{"compressible":false,"extensions":["pkpass"]},"application/vnd.arastra.swi":{"source":"iana"},"application/vnd.aristanetworks.swi":{"source":"iana","extensions":["swi"]},"application/vnd.artisan+json":{"source":"iana","compressible":true},"application/vnd.artsquare":{"source":"iana"},"application/vnd.astraea-software.iota":{"source":"iana","extensions":["iota"]},"application/vnd.audiograph":{"source":"iana","extensions":["aep"]},"application/vnd.autopackage":{"source":"iana"},"application/vnd.avalon+json":{"source":"iana","compressible":true},"application/vnd.avistar+xml":{"source":"iana","compressible":true},"application/vnd.balsamiq.bmml+xml":{"source":"iana","compressible":true,"extensions":["bmml"]},"application/vnd.balsamiq.bmpr":{"source":"iana"},"application/vnd.banana-accounting":{"source":"iana"},"application/vnd.bbf.usp.error":{"source":"iana"},"application/vnd.bbf.usp.msg":{"source":"iana"},"application/vnd.bbf.usp.msg+json":{"source":"iana","compressible":true},"application/vnd.bekitzur-stech+json":{"source":"iana","compressible":true},"application/vnd.bint.med-content":{"source":"iana"},"application/vnd.biopax.rdf+xml":{"source":"iana","compressible":true},"application/vnd.blink-idb-value-wrapper":{"source":"iana"},"application/vnd.blueice.multipass":{"source":"iana","extensions":["mpm"]},"application/vnd.bluetooth.ep.oob":{"source":"iana"},"application/vnd.bluetooth.le.oob":{"source":"iana"},"application/vnd.bmi":{"source":"iana","extensions":["bmi"]},"application/vnd.bpf":{"source":"iana"},"application/vnd.bpf3":{"source":"iana"},"application/vnd.businessobjects":{"source":"iana","extensions":["rep"]},"application/vnd.byu.uapi+json":{"source":"iana","compressible":true},"application/vnd.cab-jscript":{"source":"iana"},"application/vnd.canon-cpdl":{"source":"iana"},"application/vnd.canon-lips":{"source":"iana"},"application/vnd.capasystems-pg+json":{"source":"iana","compressible":true},"application/vnd.cendio.thinlinc.clientconf":{"source":"iana"},"application/vnd.century-systems.tcp_stream":{"source":"iana"},"application/vnd.chemdraw+xml":{"source":"iana","compressible":true,"extensions":["cdxml"]},"application/vnd.chess-pgn":{"source":"iana"},"application/vnd.chipnuts.karaoke-mmd":{"source":"iana","extensions":["mmd"]},"application/vnd.ciedi":{"source":"iana"},"application/vnd.cinderella":{"source":"iana","extensions":["cdy"]},"application/vnd.cirpack.isdn-ext":{"source":"iana"},"application/vnd.citationstyles.style+xml":{"source":"iana","compressible":true,"extensions":["csl"]},"application/vnd.claymore":{"source":"iana","extensions":["cla"]},"application/vnd.cloanto.rp9":{"source":"iana","extensions":["rp9"]},"application/vnd.clonk.c4group":{"source":"iana","extensions":["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{"source":"iana","extensions":["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{"source":"iana","extensions":["c11amz"]},"application/vnd.coffeescript":{"source":"iana"},"application/vnd.collabio.xodocuments.document":{"source":"iana"},"application/vnd.collabio.xodocuments.document-template":{"source":"iana"},"application/vnd.collabio.xodocuments.presentation":{"source":"iana"},"application/vnd.collabio.xodocuments.presentation-template":{"source":"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{"source":"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{"source":"iana"},"application/vnd.collection+json":{"source":"iana","compressible":true},"application/vnd.collection.doc+json":{"source":"iana","compressible":true},"application/vnd.collection.next+json":{"source":"iana","compressible":true},"application/vnd.comicbook+zip":{"source":"iana","compressible":false},"application/vnd.comicbook-rar":{"source":"iana"},"application/vnd.commerce-battelle":{"source":"iana"},"application/vnd.commonspace":{"source":"iana","extensions":["csp"]},"application/vnd.contact.cmsg":{"source":"iana","extensions":["cdbcmsg"]},"application/vnd.coreos.ignition+json":{"source":"iana","compressible":true},"application/vnd.cosmocaller":{"source":"iana","extensions":["cmc"]},"application/vnd.crick.clicker":{"source":"iana","extensions":["clkx"]},"application/vnd.crick.clicker.keyboard":{"source":"iana","extensions":["clkk"]},"application/vnd.crick.clicker.palette":{"source":"iana","extensions":["clkp"]},"application/vnd.crick.clicker.template":{"source":"iana","extensions":["clkt"]},"application/vnd.crick.clicker.wordbank":{"source":"iana","extensions":["clkw"]},"application/vnd.criticaltools.wbs+xml":{"source":"iana","compressible":true,"extensions":["wbs"]},"application/vnd.cryptii.pipe+json":{"source":"iana","compressible":true},"application/vnd.crypto-shade-file":{"source":"iana"},"application/vnd.cryptomator.encrypted":{"source":"iana"},"application/vnd.cryptomator.vault":{"source":"iana"},"application/vnd.ctc-posml":{"source":"iana","extensions":["pml"]},"application/vnd.ctct.ws+xml":{"source":"iana","compressible":true},"application/vnd.cups-pdf":{"source":"iana"},"application/vnd.cups-postscript":{"source":"iana"},"application/vnd.cups-ppd":{"source":"iana","extensions":["ppd"]},"application/vnd.cups-raster":{"source":"iana"},"application/vnd.cups-raw":{"source":"iana"},"application/vnd.curl":{"source":"iana"},"application/vnd.curl.car":{"source":"apache","extensions":["car"]},"application/vnd.curl.pcurl":{"source":"apache","extensions":["pcurl"]},"application/vnd.cyan.dean.root+xml":{"source":"iana","compressible":true},"application/vnd.cybank":{"source":"iana"},"application/vnd.cyclonedx+json":{"source":"iana","compressible":true},"application/vnd.cyclonedx+xml":{"source":"iana","compressible":true},"application/vnd.d2l.coursepackage1p0+zip":{"source":"iana","compressible":false},"application/vnd.d3m-dataset":{"source":"iana"},"application/vnd.d3m-problem":{"source":"iana"},"application/vnd.dart":{"source":"iana","compressible":true,"extensions":["dart"]},"application/vnd.data-vision.rdz":{"source":"iana","extensions":["rdz"]},"application/vnd.datapackage+json":{"source":"iana","compressible":true},"application/vnd.dataresource+json":{"source":"iana","compressible":true},"application/vnd.dbf":{"source":"iana","extensions":["dbf"]},"application/vnd.debian.binary-package":{"source":"iana"},"application/vnd.dece.data":{"source":"iana","extensions":["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{"source":"iana","compressible":true,"extensions":["uvt","uvvt"]},"application/vnd.dece.unspecified":{"source":"iana","extensions":["uvx","uvvx"]},"application/vnd.dece.zip":{"source":"iana","extensions":["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{"source":"iana","extensions":["fe_launch"]},"application/vnd.desmume.movie":{"source":"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{"source":"iana"},"application/vnd.dm.delegation+xml":{"source":"iana","compressible":true},"application/vnd.dna":{"source":"iana","extensions":["dna"]},"application/vnd.document+json":{"source":"iana","compressible":true},"application/vnd.dolby.mlp":{"source":"apache","extensions":["mlp"]},"application/vnd.dolby.mobile.1":{"source":"iana"},"application/vnd.dolby.mobile.2":{"source":"iana"},"application/vnd.doremir.scorecloud-binary-document":{"source":"iana"},"application/vnd.dpgraph":{"source":"iana","extensions":["dpg"]},"application/vnd.dreamfactory":{"source":"iana","extensions":["dfac"]},"application/vnd.drive+json":{"source":"iana","compressible":true},"application/vnd.ds-keypoint":{"source":"apache","extensions":["kpxx"]},"application/vnd.dtg.local":{"source":"iana"},"application/vnd.dtg.local.flash":{"source":"iana"},"application/vnd.dtg.local.html":{"source":"iana"},"application/vnd.dvb.ait":{"source":"iana","extensions":["ait"]},"application/vnd.dvb.dvbisl+xml":{"source":"iana","compressible":true},"application/vnd.dvb.dvbj":{"source":"iana"},"application/vnd.dvb.esgcontainer":{"source":"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{"source":"iana"},"application/vnd.dvb.ipdcesgaccess":{"source":"iana"},"application/vnd.dvb.ipdcesgaccess2":{"source":"iana"},"application/vnd.dvb.ipdcesgpdd":{"source":"iana"},"application/vnd.dvb.ipdcroaming":{"source":"iana"},"application/vnd.dvb.iptv.alfec-base":{"source":"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{"source":"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-container+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-generic+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-msglist+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-registration-request+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-registration-response+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-init+xml":{"source":"iana","compressible":true},"application/vnd.dvb.pfr":{"source":"iana"},"application/vnd.dvb.service":{"source":"iana","extensions":["svc"]},"application/vnd.dxr":{"source":"iana"},"application/vnd.dynageo":{"source":"iana","extensions":["geo"]},"application/vnd.dzr":{"source":"iana"},"application/vnd.easykaraoke.cdgdownload":{"source":"iana"},"application/vnd.ecdis-update":{"source":"iana"},"application/vnd.ecip.rlp":{"source":"iana"},"application/vnd.eclipse.ditto+json":{"source":"iana","compressible":true},"application/vnd.ecowin.chart":{"source":"iana","extensions":["mag"]},"application/vnd.ecowin.filerequest":{"source":"iana"},"application/vnd.ecowin.fileupdate":{"source":"iana"},"application/vnd.ecowin.series":{"source":"iana"},"application/vnd.ecowin.seriesrequest":{"source":"iana"},"application/vnd.ecowin.seriesupdate":{"source":"iana"},"application/vnd.efi.img":{"source":"iana"},"application/vnd.efi.iso":{"source":"iana"},"application/vnd.emclient.accessrequest+xml":{"source":"iana","compressible":true},"application/vnd.enliven":{"source":"iana","extensions":["nml"]},"application/vnd.enphase.envoy":{"source":"iana"},"application/vnd.eprints.data+xml":{"source":"iana","compressible":true},"application/vnd.epson.esf":{"source":"iana","extensions":["esf"]},"application/vnd.epson.msf":{"source":"iana","extensions":["msf"]},"application/vnd.epson.quickanime":{"source":"iana","extensions":["qam"]},"application/vnd.epson.salt":{"source":"iana","extensions":["slt"]},"application/vnd.epson.ssf":{"source":"iana","extensions":["ssf"]},"application/vnd.ericsson.quickcall":{"source":"iana"},"application/vnd.espass-espass+zip":{"source":"iana","compressible":false},"application/vnd.eszigno3+xml":{"source":"iana","compressible":true,"extensions":["es3","et3"]},"application/vnd.etsi.aoc+xml":{"source":"iana","compressible":true},"application/vnd.etsi.asic-e+zip":{"source":"iana","compressible":false},"application/vnd.etsi.asic-s+zip":{"source":"iana","compressible":false},"application/vnd.etsi.cug+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvcommand+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvdiscovery+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvprofile+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-bc+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-cod+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-npvr+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvservice+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsync+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvueprofile+xml":{"source":"iana","compressible":true},"application/vnd.etsi.mcid+xml":{"source":"iana","compressible":true},"application/vnd.etsi.mheg5":{"source":"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{"source":"iana","compressible":true},"application/vnd.etsi.pstn+xml":{"source":"iana","compressible":true},"application/vnd.etsi.sci+xml":{"source":"iana","compressible":true},"application/vnd.etsi.simservs+xml":{"source":"iana","compressible":true},"application/vnd.etsi.timestamp-token":{"source":"iana"},"application/vnd.etsi.tsl+xml":{"source":"iana","compressible":true},"application/vnd.etsi.tsl.der":{"source":"iana"},"application/vnd.eu.kasparian.car+json":{"source":"iana","compressible":true},"application/vnd.eudora.data":{"source":"iana"},"application/vnd.evolv.ecig.profile":{"source":"iana"},"application/vnd.evolv.ecig.settings":{"source":"iana"},"application/vnd.evolv.ecig.theme":{"source":"iana"},"application/vnd.exstream-empower+zip":{"source":"iana","compressible":false},"application/vnd.exstream-package":{"source":"iana"},"application/vnd.ezpix-album":{"source":"iana","extensions":["ez2"]},"application/vnd.ezpix-package":{"source":"iana","extensions":["ez3"]},"application/vnd.f-secure.mobile":{"source":"iana"},"application/vnd.familysearch.gedcom+zip":{"source":"iana","compressible":false},"application/vnd.fastcopy-disk-image":{"source":"iana"},"application/vnd.fdf":{"source":"iana","extensions":["fdf"]},"application/vnd.fdsn.mseed":{"source":"iana","extensions":["mseed"]},"application/vnd.fdsn.seed":{"source":"iana","extensions":["seed","dataless"]},"application/vnd.ffsns":{"source":"iana"},"application/vnd.ficlab.flb+zip":{"source":"iana","compressible":false},"application/vnd.filmit.zfc":{"source":"iana"},"application/vnd.fints":{"source":"iana"},"application/vnd.firemonkeys.cloudcell":{"source":"iana"},"application/vnd.flographit":{"source":"iana","extensions":["gph"]},"application/vnd.fluxtime.clip":{"source":"iana","extensions":["ftc"]},"application/vnd.font-fontforge-sfd":{"source":"iana"},"application/vnd.framemaker":{"source":"iana","extensions":["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{"source":"iana","extensions":["fnc"]},"application/vnd.frogans.ltf":{"source":"iana","extensions":["ltf"]},"application/vnd.fsc.weblaunch":{"source":"iana","extensions":["fsc"]},"application/vnd.fujifilm.fb.docuworks":{"source":"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{"source":"iana"},"application/vnd.fujifilm.fb.docuworks.container":{"source":"iana"},"application/vnd.fujifilm.fb.jfi+xml":{"source":"iana","compressible":true},"application/vnd.fujitsu.oasys":{"source":"iana","extensions":["oas"]},"application/vnd.fujitsu.oasys2":{"source":"iana","extensions":["oa2"]},"application/vnd.fujitsu.oasys3":{"source":"iana","extensions":["oa3"]},"application/vnd.fujitsu.oasysgp":{"source":"iana","extensions":["fg5"]},"application/vnd.fujitsu.oasysprs":{"source":"iana","extensions":["bh2"]},"application/vnd.fujixerox.art-ex":{"source":"iana"},"application/vnd.fujixerox.art4":{"source":"iana"},"application/vnd.fujixerox.ddd":{"source":"iana","extensions":["ddd"]},"application/vnd.fujixerox.docuworks":{"source":"iana","extensions":["xdw"]},"application/vnd.fujixerox.docuworks.binder":{"source":"iana","extensions":["xbd"]},"application/vnd.fujixerox.docuworks.container":{"source":"iana"},"application/vnd.fujixerox.hbpl":{"source":"iana"},"application/vnd.fut-misnet":{"source":"iana"},"application/vnd.futoin+cbor":{"source":"iana"},"application/vnd.futoin+json":{"source":"iana","compressible":true},"application/vnd.fuzzysheet":{"source":"iana","extensions":["fzs"]},"application/vnd.genomatix.tuxedo":{"source":"iana","extensions":["txd"]},"application/vnd.gentics.grd+json":{"source":"iana","compressible":true},"application/vnd.geo+json":{"source":"iana","compressible":true},"application/vnd.geocube+xml":{"source":"iana","compressible":true},"application/vnd.geogebra.file":{"source":"iana","extensions":["ggb"]},"application/vnd.geogebra.slides":{"source":"iana"},"application/vnd.geogebra.tool":{"source":"iana","extensions":["ggt"]},"application/vnd.geometry-explorer":{"source":"iana","extensions":["gex","gre"]},"application/vnd.geonext":{"source":"iana","extensions":["gxt"]},"application/vnd.geoplan":{"source":"iana","extensions":["g2w"]},"application/vnd.geospace":{"source":"iana","extensions":["g3w"]},"application/vnd.gerber":{"source":"iana"},"application/vnd.globalplatform.card-content-mgt":{"source":"iana"},"application/vnd.globalplatform.card-content-mgt-response":{"source":"iana"},"application/vnd.gmx":{"source":"iana","extensions":["gmx"]},"application/vnd.google-apps.document":{"compressible":false,"extensions":["gdoc"]},"application/vnd.google-apps.presentation":{"compressible":false,"extensions":["gslides"]},"application/vnd.google-apps.spreadsheet":{"compressible":false,"extensions":["gsheet"]},"application/vnd.google-earth.kml+xml":{"source":"iana","compressible":true,"extensions":["kml"]},"application/vnd.google-earth.kmz":{"source":"iana","compressible":false,"extensions":["kmz"]},"application/vnd.gov.sk.e-form+xml":{"source":"iana","compressible":true},"application/vnd.gov.sk.e-form+zip":{"source":"iana","compressible":false},"application/vnd.gov.sk.xmldatacontainer+xml":{"source":"iana","compressible":true},"application/vnd.grafeq":{"source":"iana","extensions":["gqf","gqs"]},"application/vnd.gridmp":{"source":"iana"},"application/vnd.groove-account":{"source":"iana","extensions":["gac"]},"application/vnd.groove-help":{"source":"iana","extensions":["ghf"]},"application/vnd.groove-identity-message":{"source":"iana","extensions":["gim"]},"application/vnd.groove-injector":{"source":"iana","extensions":["grv"]},"application/vnd.groove-tool-message":{"source":"iana","extensions":["gtm"]},"application/vnd.groove-tool-template":{"source":"iana","extensions":["tpl"]},"application/vnd.groove-vcard":{"source":"iana","extensions":["vcg"]},"application/vnd.hal+json":{"source":"iana","compressible":true},"application/vnd.hal+xml":{"source":"iana","compressible":true,"extensions":["hal"]},"application/vnd.handheld-entertainment+xml":{"source":"iana","compressible":true,"extensions":["zmm"]},"application/vnd.hbci":{"source":"iana","extensions":["hbci"]},"application/vnd.hc+json":{"source":"iana","compressible":true},"application/vnd.hcl-bireports":{"source":"iana"},"application/vnd.hdt":{"source":"iana"},"application/vnd.heroku+json":{"source":"iana","compressible":true},"application/vnd.hhe.lesson-player":{"source":"iana","extensions":["les"]},"application/vnd.hl7cda+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.hl7v2+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.hp-hpgl":{"source":"iana","extensions":["hpgl"]},"application/vnd.hp-hpid":{"source":"iana","extensions":["hpid"]},"application/vnd.hp-hps":{"source":"iana","extensions":["hps"]},"application/vnd.hp-jlyt":{"source":"iana","extensions":["jlt"]},"application/vnd.hp-pcl":{"source":"iana","extensions":["pcl"]},"application/vnd.hp-pclxl":{"source":"iana","extensions":["pclxl"]},"application/vnd.httphone":{"source":"iana"},"application/vnd.hydrostatix.sof-data":{"source":"iana","extensions":["sfd-hdstx"]},"application/vnd.hyper+json":{"source":"iana","compressible":true},"application/vnd.hyper-item+json":{"source":"iana","compressible":true},"application/vnd.hyperdrive+json":{"source":"iana","compressible":true},"application/vnd.hzn-3d-crossword":{"source":"iana"},"application/vnd.ibm.afplinedata":{"source":"iana"},"application/vnd.ibm.electronic-media":{"source":"iana"},"application/vnd.ibm.minipay":{"source":"iana","extensions":["mpy"]},"application/vnd.ibm.modcap":{"source":"iana","extensions":["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{"source":"iana","extensions":["irm"]},"application/vnd.ibm.secure-container":{"source":"iana","extensions":["sc"]},"application/vnd.iccprofile":{"source":"iana","extensions":["icc","icm"]},"application/vnd.ieee.1905":{"source":"iana"},"application/vnd.igloader":{"source":"iana","extensions":["igl"]},"application/vnd.imagemeter.folder+zip":{"source":"iana","compressible":false},"application/vnd.imagemeter.image+zip":{"source":"iana","compressible":false},"application/vnd.immervision-ivp":{"source":"iana","extensions":["ivp"]},"application/vnd.immervision-ivu":{"source":"iana","extensions":["ivu"]},"application/vnd.ims.imsccv1p1":{"source":"iana"},"application/vnd.ims.imsccv1p2":{"source":"iana"},"application/vnd.ims.imsccv1p3":{"source":"iana"},"application/vnd.ims.lis.v2.result+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolproxy+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolproxy.id+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolsettings+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolsettings.simple+json":{"source":"iana","compressible":true},"application/vnd.informedcontrol.rms+xml":{"source":"iana","compressible":true},"application/vnd.informix-visionary":{"source":"iana"},"application/vnd.infotech.project":{"source":"iana"},"application/vnd.infotech.project+xml":{"source":"iana","compressible":true},"application/vnd.innopath.wamp.notification":{"source":"iana"},"application/vnd.insors.igm":{"source":"iana","extensions":["igm"]},"application/vnd.intercon.formnet":{"source":"iana","extensions":["xpw","xpx"]},"application/vnd.intergeo":{"source":"iana","extensions":["i2g"]},"application/vnd.intertrust.digibox":{"source":"iana"},"application/vnd.intertrust.nncp":{"source":"iana"},"application/vnd.intu.qbo":{"source":"iana","extensions":["qbo"]},"application/vnd.intu.qfx":{"source":"iana","extensions":["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.conceptitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.knowledgeitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.newsitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.newsmessage+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.packageitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.planningitem+xml":{"source":"iana","compressible":true},"application/vnd.ipunplugged.rcprofile":{"source":"iana","extensions":["rcprofile"]},"application/vnd.irepository.package+xml":{"source":"iana","compressible":true,"extensions":["irp"]},"application/vnd.is-xpr":{"source":"iana","extensions":["xpr"]},"application/vnd.isac.fcs":{"source":"iana","extensions":["fcs"]},"application/vnd.iso11783-10+zip":{"source":"iana","compressible":false},"application/vnd.jam":{"source":"iana","extensions":["jam"]},"application/vnd.japannet-directory-service":{"source":"iana"},"application/vnd.japannet-jpnstore-wakeup":{"source":"iana"},"application/vnd.japannet-payment-wakeup":{"source":"iana"},"application/vnd.japannet-registration":{"source":"iana"},"application/vnd.japannet-registration-wakeup":{"source":"iana"},"application/vnd.japannet-setstore-wakeup":{"source":"iana"},"application/vnd.japannet-verification":{"source":"iana"},"application/vnd.japannet-verification-wakeup":{"source":"iana"},"application/vnd.jcp.javame.midlet-rms":{"source":"iana","extensions":["rms"]},"application/vnd.jisp":{"source":"iana","extensions":["jisp"]},"application/vnd.joost.joda-archive":{"source":"iana","extensions":["joda"]},"application/vnd.jsk.isdn-ngn":{"source":"iana"},"application/vnd.kahootz":{"source":"iana","extensions":["ktz","ktr"]},"application/vnd.kde.karbon":{"source":"iana","extensions":["karbon"]},"application/vnd.kde.kchart":{"source":"iana","extensions":["chrt"]},"application/vnd.kde.kformula":{"source":"iana","extensions":["kfo"]},"application/vnd.kde.kivio":{"source":"iana","extensions":["flw"]},"application/vnd.kde.kontour":{"source":"iana","extensions":["kon"]},"application/vnd.kde.kpresenter":{"source":"iana","extensions":["kpr","kpt"]},"application/vnd.kde.kspread":{"source":"iana","extensions":["ksp"]},"application/vnd.kde.kword":{"source":"iana","extensions":["kwd","kwt"]},"application/vnd.kenameaapp":{"source":"iana","extensions":["htke"]},"application/vnd.kidspiration":{"source":"iana","extensions":["kia"]},"application/vnd.kinar":{"source":"iana","extensions":["kne","knp"]},"application/vnd.koan":{"source":"iana","extensions":["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{"source":"iana","extensions":["sse"]},"application/vnd.las":{"source":"iana"},"application/vnd.las.las+json":{"source":"iana","compressible":true},"application/vnd.las.las+xml":{"source":"iana","compressible":true,"extensions":["lasxml"]},"application/vnd.laszip":{"source":"iana"},"application/vnd.leap+json":{"source":"iana","compressible":true},"application/vnd.liberty-request+xml":{"source":"iana","compressible":true},"application/vnd.llamagraphics.life-balance.desktop":{"source":"iana","extensions":["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{"source":"iana","compressible":true,"extensions":["lbe"]},"application/vnd.logipipe.circuit+zip":{"source":"iana","compressible":false},"application/vnd.loom":{"source":"iana"},"application/vnd.lotus-1-2-3":{"source":"iana","extensions":["123"]},"application/vnd.lotus-approach":{"source":"iana","extensions":["apr"]},"application/vnd.lotus-freelance":{"source":"iana","extensions":["pre"]},"application/vnd.lotus-notes":{"source":"iana","extensions":["nsf"]},"application/vnd.lotus-organizer":{"source":"iana","extensions":["org"]},"application/vnd.lotus-screencam":{"source":"iana","extensions":["scm"]},"application/vnd.lotus-wordpro":{"source":"iana","extensions":["lwp"]},"application/vnd.macports.portpkg":{"source":"iana","extensions":["portpkg"]},"application/vnd.mapbox-vector-tile":{"source":"iana","extensions":["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.conftoken+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.license+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.mdcf":{"source":"iana"},"application/vnd.mason+json":{"source":"iana","compressible":true},"application/vnd.maxar.archive.3tz+zip":{"source":"iana","compressible":false},"application/vnd.maxmind.maxmind-db":{"source":"iana"},"application/vnd.mcd":{"source":"iana","extensions":["mcd"]},"application/vnd.medcalcdata":{"source":"iana","extensions":["mc1"]},"application/vnd.mediastation.cdkey":{"source":"iana","extensions":["cdkey"]},"application/vnd.meridian-slingshot":{"source":"iana"},"application/vnd.mfer":{"source":"iana","extensions":["mwf"]},"application/vnd.mfmp":{"source":"iana","extensions":["mfm"]},"application/vnd.micro+json":{"source":"iana","compressible":true},"application/vnd.micrografx.flo":{"source":"iana","extensions":["flo"]},"application/vnd.micrografx.igx":{"source":"iana","extensions":["igx"]},"application/vnd.microsoft.portable-executable":{"source":"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{"source":"iana"},"application/vnd.miele+json":{"source":"iana","compressible":true},"application/vnd.mif":{"source":"iana","extensions":["mif"]},"application/vnd.minisoft-hp3000-save":{"source":"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{"source":"iana"},"application/vnd.mobius.daf":{"source":"iana","extensions":["daf"]},"application/vnd.mobius.dis":{"source":"iana","extensions":["dis"]},"application/vnd.mobius.mbk":{"source":"iana","extensions":["mbk"]},"application/vnd.mobius.mqy":{"source":"iana","extensions":["mqy"]},"application/vnd.mobius.msl":{"source":"iana","extensions":["msl"]},"application/vnd.mobius.plc":{"source":"iana","extensions":["plc"]},"application/vnd.mobius.txf":{"source":"iana","extensions":["txf"]},"application/vnd.mophun.application":{"source":"iana","extensions":["mpn"]},"application/vnd.mophun.certificate":{"source":"iana","extensions":["mpc"]},"application/vnd.motorola.flexsuite":{"source":"iana"},"application/vnd.motorola.flexsuite.adsi":{"source":"iana"},"application/vnd.motorola.flexsuite.fis":{"source":"iana"},"application/vnd.motorola.flexsuite.gotap":{"source":"iana"},"application/vnd.motorola.flexsuite.kmr":{"source":"iana"},"application/vnd.motorola.flexsuite.ttc":{"source":"iana"},"application/vnd.motorola.flexsuite.wem":{"source":"iana"},"application/vnd.motorola.iprm":{"source":"iana"},"application/vnd.mozilla.xul+xml":{"source":"iana","compressible":true,"extensions":["xul"]},"application/vnd.ms-3mfdocument":{"source":"iana"},"application/vnd.ms-artgalry":{"source":"iana","extensions":["cil"]},"application/vnd.ms-asf":{"source":"iana"},"application/vnd.ms-cab-compressed":{"source":"iana","extensions":["cab"]},"application/vnd.ms-color.iccprofile":{"source":"apache"},"application/vnd.ms-excel":{"source":"iana","compressible":false,"extensions":["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{"source":"iana","extensions":["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{"source":"iana","extensions":["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{"source":"iana","extensions":["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{"source":"iana","extensions":["xltm"]},"application/vnd.ms-fontobject":{"source":"iana","compressible":true,"extensions":["eot"]},"application/vnd.ms-htmlhelp":{"source":"iana","extensions":["chm"]},"application/vnd.ms-ims":{"source":"iana","extensions":["ims"]},"application/vnd.ms-lrm":{"source":"iana","extensions":["lrm"]},"application/vnd.ms-office.activex+xml":{"source":"iana","compressible":true},"application/vnd.ms-officetheme":{"source":"iana","extensions":["thmx"]},"application/vnd.ms-opentype":{"source":"apache","compressible":true},"application/vnd.ms-outlook":{"compressible":false,"extensions":["msg"]},"application/vnd.ms-package.obfuscated-opentype":{"source":"apache"},"application/vnd.ms-pki.seccat":{"source":"apache","extensions":["cat"]},"application/vnd.ms-pki.stl":{"source":"apache","extensions":["stl"]},"application/vnd.ms-playready.initiator+xml":{"source":"iana","compressible":true},"application/vnd.ms-powerpoint":{"source":"iana","compressible":false,"extensions":["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{"source":"iana","extensions":["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{"source":"iana","extensions":["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{"source":"iana","extensions":["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{"source":"iana","extensions":["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{"source":"iana","extensions":["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{"source":"iana","compressible":true},"application/vnd.ms-printing.printticket+xml":{"source":"apache","compressible":true},"application/vnd.ms-printschematicket+xml":{"source":"iana","compressible":true},"application/vnd.ms-project":{"source":"iana","extensions":["mpp","mpt"]},"application/vnd.ms-tnef":{"source":"iana"},"application/vnd.ms-windows.devicepairing":{"source":"iana"},"application/vnd.ms-windows.nwprinting.oob":{"source":"iana"},"application/vnd.ms-windows.printerpairing":{"source":"iana"},"application/vnd.ms-windows.wsd.oob":{"source":"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{"source":"iana"},"application/vnd.ms-wmdrm.lic-resp":{"source":"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{"source":"iana"},"application/vnd.ms-wmdrm.meter-resp":{"source":"iana"},"application/vnd.ms-word.document.macroenabled.12":{"source":"iana","extensions":["docm"]},"application/vnd.ms-word.template.macroenabled.12":{"source":"iana","extensions":["dotm"]},"application/vnd.ms-works":{"source":"iana","extensions":["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{"source":"iana","extensions":["wpl"]},"application/vnd.ms-xpsdocument":{"source":"iana","compressible":false,"extensions":["xps"]},"application/vnd.msa-disk-image":{"source":"iana"},"application/vnd.mseq":{"source":"iana","extensions":["mseq"]},"application/vnd.msign":{"source":"iana"},"application/vnd.multiad.creator":{"source":"iana"},"application/vnd.multiad.creator.cif":{"source":"iana"},"application/vnd.music-niff":{"source":"iana"},"application/vnd.musician":{"source":"iana","extensions":["mus"]},"application/vnd.muvee.style":{"source":"iana","extensions":["msty"]},"application/vnd.mynfc":{"source":"iana","extensions":["taglet"]},"application/vnd.nacamar.ybrid+json":{"source":"iana","compressible":true},"application/vnd.ncd.control":{"source":"iana"},"application/vnd.ncd.reference":{"source":"iana"},"application/vnd.nearst.inv+json":{"source":"iana","compressible":true},"application/vnd.nebumind.line":{"source":"iana"},"application/vnd.nervana":{"source":"iana"},"application/vnd.netfpx":{"source":"iana"},"application/vnd.neurolanguage.nlu":{"source":"iana","extensions":["nlu"]},"application/vnd.nimn":{"source":"iana"},"application/vnd.nintendo.nitro.rom":{"source":"iana"},"application/vnd.nintendo.snes.rom":{"source":"iana"},"application/vnd.nitf":{"source":"iana","extensions":["ntf","nitf"]},"application/vnd.noblenet-directory":{"source":"iana","extensions":["nnd"]},"application/vnd.noblenet-sealer":{"source":"iana","extensions":["nns"]},"application/vnd.noblenet-web":{"source":"iana","extensions":["nnw"]},"application/vnd.nokia.catalogs":{"source":"iana"},"application/vnd.nokia.conml+wbxml":{"source":"iana"},"application/vnd.nokia.conml+xml":{"source":"iana","compressible":true},"application/vnd.nokia.iptv.config+xml":{"source":"iana","compressible":true},"application/vnd.nokia.isds-radio-presets":{"source":"iana"},"application/vnd.nokia.landmark+wbxml":{"source":"iana"},"application/vnd.nokia.landmark+xml":{"source":"iana","compressible":true},"application/vnd.nokia.landmarkcollection+xml":{"source":"iana","compressible":true},"application/vnd.nokia.n-gage.ac+xml":{"source":"iana","compressible":true,"extensions":["ac"]},"application/vnd.nokia.n-gage.data":{"source":"iana","extensions":["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{"source":"iana","extensions":["n-gage"]},"application/vnd.nokia.ncd":{"source":"iana"},"application/vnd.nokia.pcd+wbxml":{"source":"iana"},"application/vnd.nokia.pcd+xml":{"source":"iana","compressible":true},"application/vnd.nokia.radio-preset":{"source":"iana","extensions":["rpst"]},"application/vnd.nokia.radio-presets":{"source":"iana","extensions":["rpss"]},"application/vnd.novadigm.edm":{"source":"iana","extensions":["edm"]},"application/vnd.novadigm.edx":{"source":"iana","extensions":["edx"]},"application/vnd.novadigm.ext":{"source":"iana","extensions":["ext"]},"application/vnd.ntt-local.content-share":{"source":"iana"},"application/vnd.ntt-local.file-transfer":{"source":"iana"},"application/vnd.ntt-local.ogw_remote-access":{"source":"iana"},"application/vnd.ntt-local.sip-ta_remote":{"source":"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{"source":"iana"},"application/vnd.oasis.opendocument.chart":{"source":"iana","extensions":["odc"]},"application/vnd.oasis.opendocument.chart-template":{"source":"iana","extensions":["otc"]},"application/vnd.oasis.opendocument.database":{"source":"iana","extensions":["odb"]},"application/vnd.oasis.opendocument.formula":{"source":"iana","extensions":["odf"]},"application/vnd.oasis.opendocument.formula-template":{"source":"iana","extensions":["odft"]},"application/vnd.oasis.opendocument.graphics":{"source":"iana","compressible":false,"extensions":["odg"]},"application/vnd.oasis.opendocument.graphics-template":{"source":"iana","extensions":["otg"]},"application/vnd.oasis.opendocument.image":{"source":"iana","extensions":["odi"]},"application/vnd.oasis.opendocument.image-template":{"source":"iana","extensions":["oti"]},"application/vnd.oasis.opendocument.presentation":{"source":"iana","compressible":false,"extensions":["odp"]},"application/vnd.oasis.opendocument.presentation-template":{"source":"iana","extensions":["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{"source":"iana","compressible":false,"extensions":["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{"source":"iana","extensions":["ots"]},"application/vnd.oasis.opendocument.text":{"source":"iana","compressible":false,"extensions":["odt"]},"application/vnd.oasis.opendocument.text-master":{"source":"iana","extensions":["odm"]},"application/vnd.oasis.opendocument.text-template":{"source":"iana","extensions":["ott"]},"application/vnd.oasis.opendocument.text-web":{"source":"iana","extensions":["oth"]},"application/vnd.obn":{"source":"iana"},"application/vnd.ocf+cbor":{"source":"iana"},"application/vnd.oci.image.manifest.v1+json":{"source":"iana","compressible":true},"application/vnd.oftn.l10n+json":{"source":"iana","compressible":true},"application/vnd.oipf.contentaccessdownload+xml":{"source":"iana","compressible":true},"application/vnd.oipf.contentaccessstreaming+xml":{"source":"iana","compressible":true},"application/vnd.oipf.cspg-hexbinary":{"source":"iana"},"application/vnd.oipf.dae.svg+xml":{"source":"iana","compressible":true},"application/vnd.oipf.dae.xhtml+xml":{"source":"iana","compressible":true},"application/vnd.oipf.mippvcontrolmessage+xml":{"source":"iana","compressible":true},"application/vnd.oipf.pae.gem":{"source":"iana"},"application/vnd.oipf.spdiscovery+xml":{"source":"iana","compressible":true},"application/vnd.oipf.spdlist+xml":{"source":"iana","compressible":true},"application/vnd.oipf.ueprofile+xml":{"source":"iana","compressible":true},"application/vnd.oipf.userprofile+xml":{"source":"iana","compressible":true},"application/vnd.olpc-sugar":{"source":"iana","extensions":["xo"]},"application/vnd.oma-scws-config":{"source":"iana"},"application/vnd.oma-scws-http-request":{"source":"iana"},"application/vnd.oma-scws-http-response":{"source":"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.drm-trigger+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.imd+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.ltkm":{"source":"iana"},"application/vnd.oma.bcast.notification+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.provisioningtrigger":{"source":"iana"},"application/vnd.oma.bcast.sgboot":{"source":"iana"},"application/vnd.oma.bcast.sgdd+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.sgdu":{"source":"iana"},"application/vnd.oma.bcast.simple-symbol-container":{"source":"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.sprov+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.stkm":{"source":"iana"},"application/vnd.oma.cab-address-book+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-feature-handler+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-pcc+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-subs-invite+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-user-prefs+xml":{"source":"iana","compressible":true},"application/vnd.oma.dcd":{"source":"iana"},"application/vnd.oma.dcdc":{"source":"iana"},"application/vnd.oma.dd2+xml":{"source":"iana","compressible":true,"extensions":["dd2"]},"application/vnd.oma.drm.risd+xml":{"source":"iana","compressible":true},"application/vnd.oma.group-usage-list+xml":{"source":"iana","compressible":true},"application/vnd.oma.lwm2m+cbor":{"source":"iana"},"application/vnd.oma.lwm2m+json":{"source":"iana","compressible":true},"application/vnd.oma.lwm2m+tlv":{"source":"iana"},"application/vnd.oma.pal+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.detailed-progress-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.final-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.groups+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.invocation-descriptor+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.optimized-progress-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.push":{"source":"iana"},"application/vnd.oma.scidm.messages+xml":{"source":"iana","compressible":true},"application/vnd.oma.xcap-directory+xml":{"source":"iana","compressible":true},"application/vnd.omads-email+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omads-file+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omads-folder+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omaloc-supl-init":{"source":"iana"},"application/vnd.onepager":{"source":"iana"},"application/vnd.onepagertamp":{"source":"iana"},"application/vnd.onepagertamx":{"source":"iana"},"application/vnd.onepagertat":{"source":"iana"},"application/vnd.onepagertatp":{"source":"iana"},"application/vnd.onepagertatx":{"source":"iana"},"application/vnd.openblox.game+xml":{"source":"iana","compressible":true,"extensions":["obgx"]},"application/vnd.openblox.game-binary":{"source":"iana"},"application/vnd.openeye.oeb":{"source":"iana"},"application/vnd.openofficeorg.extension":{"source":"apache","extensions":["oxt"]},"application/vnd.openstreetmap.data+xml":{"source":"iana","compressible":true,"extensions":["osm"]},"application/vnd.opentimestamps.ots":{"source":"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawing+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{"source":"iana","compressible":false,"extensions":["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slide":{"source":"iana","extensions":["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{"source":"iana","extensions":["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.template":{"source":"iana","extensions":["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"source":"iana","compressible":false,"extensions":["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{"source":"iana","extensions":["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.theme+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.vmldrawing":{"source":"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{"source":"iana","compressible":false,"extensions":["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{"source":"iana","extensions":["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.core-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.relationships+xml":{"source":"iana","compressible":true},"application/vnd.oracle.resource+json":{"source":"iana","compressible":true},"application/vnd.orange.indata":{"source":"iana"},"application/vnd.osa.netdeploy":{"source":"iana"},"application/vnd.osgeo.mapguide.package":{"source":"iana","extensions":["mgp"]},"application/vnd.osgi.bundle":{"source":"iana"},"application/vnd.osgi.dp":{"source":"iana","extensions":["dp"]},"application/vnd.osgi.subsystem":{"source":"iana","extensions":["esa"]},"application/vnd.otps.ct-kip+xml":{"source":"iana","compressible":true},"application/vnd.oxli.countgraph":{"source":"iana"},"application/vnd.pagerduty+json":{"source":"iana","compressible":true},"application/vnd.palm":{"source":"iana","extensions":["pdb","pqa","oprc"]},"application/vnd.panoply":{"source":"iana"},"application/vnd.paos.xml":{"source":"iana"},"application/vnd.patentdive":{"source":"iana"},"application/vnd.patientecommsdoc":{"source":"iana"},"application/vnd.pawaafile":{"source":"iana","extensions":["paw"]},"application/vnd.pcos":{"source":"iana"},"application/vnd.pg.format":{"source":"iana","extensions":["str"]},"application/vnd.pg.osasli":{"source":"iana","extensions":["ei6"]},"application/vnd.piaccess.application-licence":{"source":"iana"},"application/vnd.picsel":{"source":"iana","extensions":["efif"]},"application/vnd.pmi.widget":{"source":"iana","extensions":["wg"]},"application/vnd.poc.group-advertisement+xml":{"source":"iana","compressible":true},"application/vnd.pocketlearn":{"source":"iana","extensions":["plf"]},"application/vnd.powerbuilder6":{"source":"iana","extensions":["pbd"]},"application/vnd.powerbuilder6-s":{"source":"iana"},"application/vnd.powerbuilder7":{"source":"iana"},"application/vnd.powerbuilder7-s":{"source":"iana"},"application/vnd.powerbuilder75":{"source":"iana"},"application/vnd.powerbuilder75-s":{"source":"iana"},"application/vnd.preminet":{"source":"iana"},"application/vnd.previewsystems.box":{"source":"iana","extensions":["box"]},"application/vnd.proteus.magazine":{"source":"iana","extensions":["mgz"]},"application/vnd.psfs":{"source":"iana"},"application/vnd.publishare-delta-tree":{"source":"iana","extensions":["qps"]},"application/vnd.pvi.ptid1":{"source":"iana","extensions":["ptid"]},"application/vnd.pwg-multiplexed":{"source":"iana"},"application/vnd.pwg-xhtml-print+xml":{"source":"iana","compressible":true},"application/vnd.qualcomm.brew-app-res":{"source":"iana"},"application/vnd.quarantainenet":{"source":"iana"},"application/vnd.quark.quarkxpress":{"source":"iana","extensions":["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{"source":"iana"},"application/vnd.radisys.moml+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-conf+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-conn+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-dialog+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-stream+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-conf+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-base+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-fax-detect+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-group+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-speech+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-transform+xml":{"source":"iana","compressible":true},"application/vnd.rainstor.data":{"source":"iana"},"application/vnd.rapid":{"source":"iana"},"application/vnd.rar":{"source":"iana","extensions":["rar"]},"application/vnd.realvnc.bed":{"source":"iana","extensions":["bed"]},"application/vnd.recordare.musicxml":{"source":"iana","extensions":["mxl"]},"application/vnd.recordare.musicxml+xml":{"source":"iana","compressible":true,"extensions":["musicxml"]},"application/vnd.renlearn.rlprint":{"source":"iana"},"application/vnd.resilient.logic":{"source":"iana"},"application/vnd.restful+json":{"source":"iana","compressible":true},"application/vnd.rig.cryptonote":{"source":"iana","extensions":["cryptonote"]},"application/vnd.rim.cod":{"source":"apache","extensions":["cod"]},"application/vnd.rn-realmedia":{"source":"apache","extensions":["rm"]},"application/vnd.rn-realmedia-vbr":{"source":"apache","extensions":["rmvb"]},"application/vnd.route66.link66+xml":{"source":"iana","compressible":true,"extensions":["link66"]},"application/vnd.rs-274x":{"source":"iana"},"application/vnd.ruckus.download":{"source":"iana"},"application/vnd.s3sms":{"source":"iana"},"application/vnd.sailingtracker.track":{"source":"iana","extensions":["st"]},"application/vnd.sar":{"source":"iana"},"application/vnd.sbm.cid":{"source":"iana"},"application/vnd.sbm.mid2":{"source":"iana"},"application/vnd.scribus":{"source":"iana"},"application/vnd.sealed.3df":{"source":"iana"},"application/vnd.sealed.csf":{"source":"iana"},"application/vnd.sealed.doc":{"source":"iana"},"application/vnd.sealed.eml":{"source":"iana"},"application/vnd.sealed.mht":{"source":"iana"},"application/vnd.sealed.net":{"source":"iana"},"application/vnd.sealed.ppt":{"source":"iana"},"application/vnd.sealed.tiff":{"source":"iana"},"application/vnd.sealed.xls":{"source":"iana"},"application/vnd.sealedmedia.softseal.html":{"source":"iana"},"application/vnd.sealedmedia.softseal.pdf":{"source":"iana"},"application/vnd.seemail":{"source":"iana","extensions":["see"]},"application/vnd.seis+json":{"source":"iana","compressible":true},"application/vnd.sema":{"source":"iana","extensions":["sema"]},"application/vnd.semd":{"source":"iana","extensions":["semd"]},"application/vnd.semf":{"source":"iana","extensions":["semf"]},"application/vnd.shade-save-file":{"source":"iana"},"application/vnd.shana.informed.formdata":{"source":"iana","extensions":["ifm"]},"application/vnd.shana.informed.formtemplate":{"source":"iana","extensions":["itp"]},"application/vnd.shana.informed.interchange":{"source":"iana","extensions":["iif"]},"application/vnd.shana.informed.package":{"source":"iana","extensions":["ipk"]},"application/vnd.shootproof+json":{"source":"iana","compressible":true},"application/vnd.shopkick+json":{"source":"iana","compressible":true},"application/vnd.shp":{"source":"iana"},"application/vnd.shx":{"source":"iana"},"application/vnd.sigrok.session":{"source":"iana"},"application/vnd.simtech-mindmapper":{"source":"iana","extensions":["twd","twds"]},"application/vnd.siren+json":{"source":"iana","compressible":true},"application/vnd.smaf":{"source":"iana","extensions":["mmf"]},"application/vnd.smart.notebook":{"source":"iana"},"application/vnd.smart.teacher":{"source":"iana","extensions":["teacher"]},"application/vnd.snesdev-page-table":{"source":"iana"},"application/vnd.software602.filler.form+xml":{"source":"iana","compressible":true,"extensions":["fo"]},"application/vnd.software602.filler.form-xml-zip":{"source":"iana"},"application/vnd.solent.sdkm+xml":{"source":"iana","compressible":true,"extensions":["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{"source":"iana","extensions":["dxp"]},"application/vnd.spotfire.sfs":{"source":"iana","extensions":["sfs"]},"application/vnd.sqlite3":{"source":"iana"},"application/vnd.sss-cod":{"source":"iana"},"application/vnd.sss-dtf":{"source":"iana"},"application/vnd.sss-ntf":{"source":"iana"},"application/vnd.stardivision.calc":{"source":"apache","extensions":["sdc"]},"application/vnd.stardivision.draw":{"source":"apache","extensions":["sda"]},"application/vnd.stardivision.impress":{"source":"apache","extensions":["sdd"]},"application/vnd.stardivision.math":{"source":"apache","extensions":["smf"]},"application/vnd.stardivision.writer":{"source":"apache","extensions":["sdw","vor"]},"application/vnd.stardivision.writer-global":{"source":"apache","extensions":["sgl"]},"application/vnd.stepmania.package":{"source":"iana","extensions":["smzip"]},"application/vnd.stepmania.stepchart":{"source":"iana","extensions":["sm"]},"application/vnd.street-stream":{"source":"iana"},"application/vnd.sun.wadl+xml":{"source":"iana","compressible":true,"extensions":["wadl"]},"application/vnd.sun.xml.calc":{"source":"apache","extensions":["sxc"]},"application/vnd.sun.xml.calc.template":{"source":"apache","extensions":["stc"]},"application/vnd.sun.xml.draw":{"source":"apache","extensions":["sxd"]},"application/vnd.sun.xml.draw.template":{"source":"apache","extensions":["std"]},"application/vnd.sun.xml.impress":{"source":"apache","extensions":["sxi"]},"application/vnd.sun.xml.impress.template":{"source":"apache","extensions":["sti"]},"application/vnd.sun.xml.math":{"source":"apache","extensions":["sxm"]},"application/vnd.sun.xml.writer":{"source":"apache","extensions":["sxw"]},"application/vnd.sun.xml.writer.global":{"source":"apache","extensions":["sxg"]},"application/vnd.sun.xml.writer.template":{"source":"apache","extensions":["stw"]},"application/vnd.sus-calendar":{"source":"iana","extensions":["sus","susp"]},"application/vnd.svd":{"source":"iana","extensions":["svd"]},"application/vnd.swiftview-ics":{"source":"iana"},"application/vnd.sycle+xml":{"source":"iana","compressible":true},"application/vnd.syft+json":{"source":"iana","compressible":true},"application/vnd.symbian.install":{"source":"apache","extensions":["sis","sisx"]},"application/vnd.syncml+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["xsm"]},"application/vnd.syncml.dm+wbxml":{"source":"iana","charset":"UTF-8","extensions":["bdm"]},"application/vnd.syncml.dm+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["xdm"]},"application/vnd.syncml.dm.notification":{"source":"iana"},"application/vnd.syncml.dmddf+wbxml":{"source":"iana"},"application/vnd.syncml.dmddf+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{"source":"iana"},"application/vnd.syncml.dmtnds+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.syncml.ds.notification":{"source":"iana"},"application/vnd.tableschema+json":{"source":"iana","compressible":true},"application/vnd.tao.intent-module-archive":{"source":"iana","extensions":["tao"]},"application/vnd.tcpdump.pcap":{"source":"iana","extensions":["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{"source":"iana","compressible":true},"application/vnd.tmd.mediaflex.api+xml":{"source":"iana","compressible":true},"application/vnd.tml":{"source":"iana"},"application/vnd.tmobile-livetv":{"source":"iana","extensions":["tmo"]},"application/vnd.tri.onesource":{"source":"iana"},"application/vnd.trid.tpt":{"source":"iana","extensions":["tpt"]},"application/vnd.triscape.mxs":{"source":"iana","extensions":["mxs"]},"application/vnd.trueapp":{"source":"iana","extensions":["tra"]},"application/vnd.truedoc":{"source":"iana"},"application/vnd.ubisoft.webplayer":{"source":"iana"},"application/vnd.ufdl":{"source":"iana","extensions":["ufd","ufdl"]},"application/vnd.uiq.theme":{"source":"iana","extensions":["utz"]},"application/vnd.umajin":{"source":"iana","extensions":["umj"]},"application/vnd.unity":{"source":"iana","extensions":["unityweb"]},"application/vnd.uoml+xml":{"source":"iana","compressible":true,"extensions":["uoml"]},"application/vnd.uplanet.alert":{"source":"iana"},"application/vnd.uplanet.alert-wbxml":{"source":"iana"},"application/vnd.uplanet.bearer-choice":{"source":"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{"source":"iana"},"application/vnd.uplanet.cacheop":{"source":"iana"},"application/vnd.uplanet.cacheop-wbxml":{"source":"iana"},"application/vnd.uplanet.channel":{"source":"iana"},"application/vnd.uplanet.channel-wbxml":{"source":"iana"},"application/vnd.uplanet.list":{"source":"iana"},"application/vnd.uplanet.list-wbxml":{"source":"iana"},"application/vnd.uplanet.listcmd":{"source":"iana"},"application/vnd.uplanet.listcmd-wbxml":{"source":"iana"},"application/vnd.uplanet.signal":{"source":"iana"},"application/vnd.uri-map":{"source":"iana"},"application/vnd.valve.source.material":{"source":"iana"},"application/vnd.vcx":{"source":"iana","extensions":["vcx"]},"application/vnd.vd-study":{"source":"iana"},"application/vnd.vectorworks":{"source":"iana"},"application/vnd.vel+json":{"source":"iana","compressible":true},"application/vnd.verimatrix.vcas":{"source":"iana"},"application/vnd.veritone.aion+json":{"source":"iana","compressible":true},"application/vnd.veryant.thin":{"source":"iana"},"application/vnd.ves.encrypted":{"source":"iana"},"application/vnd.vidsoft.vidconference":{"source":"iana"},"application/vnd.visio":{"source":"iana","extensions":["vsd","vst","vss","vsw"]},"application/vnd.visionary":{"source":"iana","extensions":["vis"]},"application/vnd.vividence.scriptfile":{"source":"iana"},"application/vnd.vsf":{"source":"iana","extensions":["vsf"]},"application/vnd.wap.sic":{"source":"iana"},"application/vnd.wap.slc":{"source":"iana"},"application/vnd.wap.wbxml":{"source":"iana","charset":"UTF-8","extensions":["wbxml"]},"application/vnd.wap.wmlc":{"source":"iana","extensions":["wmlc"]},"application/vnd.wap.wmlscriptc":{"source":"iana","extensions":["wmlsc"]},"application/vnd.webturbo":{"source":"iana","extensions":["wtb"]},"application/vnd.wfa.dpp":{"source":"iana"},"application/vnd.wfa.p2p":{"source":"iana"},"application/vnd.wfa.wsc":{"source":"iana"},"application/vnd.windows.devicepairing":{"source":"iana"},"application/vnd.wmc":{"source":"iana"},"application/vnd.wmf.bootstrap":{"source":"iana"},"application/vnd.wolfram.mathematica":{"source":"iana"},"application/vnd.wolfram.mathematica.package":{"source":"iana"},"application/vnd.wolfram.player":{"source":"iana","extensions":["nbp"]},"application/vnd.wordperfect":{"source":"iana","extensions":["wpd"]},"application/vnd.wqd":{"source":"iana","extensions":["wqd"]},"application/vnd.wrq-hp3000-labelled":{"source":"iana"},"application/vnd.wt.stf":{"source":"iana","extensions":["stf"]},"application/vnd.wv.csp+wbxml":{"source":"iana"},"application/vnd.wv.csp+xml":{"source":"iana","compressible":true},"application/vnd.wv.ssp+xml":{"source":"iana","compressible":true},"application/vnd.xacml+json":{"source":"iana","compressible":true},"application/vnd.xara":{"source":"iana","extensions":["xar"]},"application/vnd.xfdl":{"source":"iana","extensions":["xfdl"]},"application/vnd.xfdl.webform":{"source":"iana"},"application/vnd.xmi+xml":{"source":"iana","compressible":true},"application/vnd.xmpie.cpkg":{"source":"iana"},"application/vnd.xmpie.dpkg":{"source":"iana"},"application/vnd.xmpie.plan":{"source":"iana"},"application/vnd.xmpie.ppkg":{"source":"iana"},"application/vnd.xmpie.xlim":{"source":"iana"},"application/vnd.yamaha.hv-dic":{"source":"iana","extensions":["hvd"]},"application/vnd.yamaha.hv-script":{"source":"iana","extensions":["hvs"]},"application/vnd.yamaha.hv-voice":{"source":"iana","extensions":["hvp"]},"application/vnd.yamaha.openscoreformat":{"source":"iana","extensions":["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{"source":"iana","compressible":true,"extensions":["osfpvg"]},"application/vnd.yamaha.remote-setup":{"source":"iana"},"application/vnd.yamaha.smaf-audio":{"source":"iana","extensions":["saf"]},"application/vnd.yamaha.smaf-phrase":{"source":"iana","extensions":["spf"]},"application/vnd.yamaha.through-ngn":{"source":"iana"},"application/vnd.yamaha.tunnel-udpencap":{"source":"iana"},"application/vnd.yaoweme":{"source":"iana"},"application/vnd.yellowriver-custom-menu":{"source":"iana","extensions":["cmp"]},"application/vnd.youtube.yt":{"source":"iana"},"application/vnd.zul":{"source":"iana","extensions":["zir","zirz"]},"application/vnd.zzazz.deck+xml":{"source":"iana","compressible":true,"extensions":["zaz"]},"application/voicexml+xml":{"source":"iana","compressible":true,"extensions":["vxml"]},"application/voucher-cms+json":{"source":"iana","compressible":true},"application/vq-rtcpxr":{"source":"iana"},"application/wasm":{"source":"iana","compressible":true,"extensions":["wasm"]},"application/watcherinfo+xml":{"source":"iana","compressible":true,"extensions":["wif"]},"application/webpush-options+json":{"source":"iana","compressible":true},"application/whoispp-query":{"source":"iana"},"application/whoispp-response":{"source":"iana"},"application/widget":{"source":"iana","extensions":["wgt"]},"application/winhlp":{"source":"apache","extensions":["hlp"]},"application/wita":{"source":"iana"},"application/wordperfect5.1":{"source":"iana"},"application/wsdl+xml":{"source":"iana","compressible":true,"extensions":["wsdl"]},"application/wspolicy+xml":{"source":"iana","compressible":true,"extensions":["wspolicy"]},"application/x-7z-compressed":{"source":"apache","compressible":false,"extensions":["7z"]},"application/x-abiword":{"source":"apache","extensions":["abw"]},"application/x-ace-compressed":{"source":"apache","extensions":["ace"]},"application/x-amf":{"source":"apache"},"application/x-apple-diskimage":{"source":"apache","extensions":["dmg"]},"application/x-arj":{"compressible":false,"extensions":["arj"]},"application/x-authorware-bin":{"source":"apache","extensions":["aab","x32","u32","vox"]},"application/x-authorware-map":{"source":"apache","extensions":["aam"]},"application/x-authorware-seg":{"source":"apache","extensions":["aas"]},"application/x-bcpio":{"source":"apache","extensions":["bcpio"]},"application/x-bdoc":{"compressible":false,"extensions":["bdoc"]},"application/x-bittorrent":{"source":"apache","extensions":["torrent"]},"application/x-blorb":{"source":"apache","extensions":["blb","blorb"]},"application/x-bzip":{"source":"apache","compressible":false,"extensions":["bz"]},"application/x-bzip2":{"source":"apache","compressible":false,"extensions":["bz2","boz"]},"application/x-cbr":{"source":"apache","extensions":["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{"source":"apache","extensions":["vcd"]},"application/x-cfs-compressed":{"source":"apache","extensions":["cfs"]},"application/x-chat":{"source":"apache","extensions":["chat"]},"application/x-chess-pgn":{"source":"apache","extensions":["pgn"]},"application/x-chrome-extension":{"extensions":["crx"]},"application/x-cocoa":{"source":"nginx","extensions":["cco"]},"application/x-compress":{"source":"apache"},"application/x-conference":{"source":"apache","extensions":["nsc"]},"application/x-cpio":{"source":"apache","extensions":["cpio"]},"application/x-csh":{"source":"apache","extensions":["csh"]},"application/x-deb":{"compressible":false},"application/x-debian-package":{"source":"apache","extensions":["deb","udeb"]},"application/x-dgc-compressed":{"source":"apache","extensions":["dgc"]},"application/x-director":{"source":"apache","extensions":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{"source":"apache","extensions":["wad"]},"application/x-dtbncx+xml":{"source":"apache","compressible":true,"extensions":["ncx"]},"application/x-dtbook+xml":{"source":"apache","compressible":true,"extensions":["dtb"]},"application/x-dtbresource+xml":{"source":"apache","compressible":true,"extensions":["res"]},"application/x-dvi":{"source":"apache","compressible":false,"extensions":["dvi"]},"application/x-envoy":{"source":"apache","extensions":["evy"]},"application/x-eva":{"source":"apache","extensions":["eva"]},"application/x-font-bdf":{"source":"apache","extensions":["bdf"]},"application/x-font-dos":{"source":"apache"},"application/x-font-framemaker":{"source":"apache"},"application/x-font-ghostscript":{"source":"apache","extensions":["gsf"]},"application/x-font-libgrx":{"source":"apache"},"application/x-font-linux-psf":{"source":"apache","extensions":["psf"]},"application/x-font-pcf":{"source":"apache","extensions":["pcf"]},"application/x-font-snf":{"source":"apache","extensions":["snf"]},"application/x-font-speedo":{"source":"apache"},"application/x-font-sunos-news":{"source":"apache"},"application/x-font-type1":{"source":"apache","extensions":["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{"source":"apache"},"application/x-freearc":{"source":"apache","extensions":["arc"]},"application/x-futuresplash":{"source":"apache","extensions":["spl"]},"application/x-gca-compressed":{"source":"apache","extensions":["gca"]},"application/x-glulx":{"source":"apache","extensions":["ulx"]},"application/x-gnumeric":{"source":"apache","extensions":["gnumeric"]},"application/x-gramps-xml":{"source":"apache","extensions":["gramps"]},"application/x-gtar":{"source":"apache","extensions":["gtar"]},"application/x-gzip":{"source":"apache"},"application/x-hdf":{"source":"apache","extensions":["hdf"]},"application/x-httpd-php":{"compressible":true,"extensions":["php"]},"application/x-install-instructions":{"source":"apache","extensions":["install"]},"application/x-iso9660-image":{"source":"apache","extensions":["iso"]},"application/x-iwork-keynote-sffkey":{"extensions":["key"]},"application/x-iwork-numbers-sffnumbers":{"extensions":["numbers"]},"application/x-iwork-pages-sffpages":{"extensions":["pages"]},"application/x-java-archive-diff":{"source":"nginx","extensions":["jardiff"]},"application/x-java-jnlp-file":{"source":"apache","compressible":false,"extensions":["jnlp"]},"application/x-javascript":{"compressible":true},"application/x-keepass2":{"extensions":["kdbx"]},"application/x-latex":{"source":"apache","compressible":false,"extensions":["latex"]},"application/x-lua-bytecode":{"extensions":["luac"]},"application/x-lzh-compressed":{"source":"apache","extensions":["lzh","lha"]},"application/x-makeself":{"source":"nginx","extensions":["run"]},"application/x-mie":{"source":"apache","extensions":["mie"]},"application/x-mobipocket-ebook":{"source":"apache","extensions":["prc","mobi"]},"application/x-mpegurl":{"compressible":false},"application/x-ms-application":{"source":"apache","extensions":["application"]},"application/x-ms-shortcut":{"source":"apache","extensions":["lnk"]},"application/x-ms-wmd":{"source":"apache","extensions":["wmd"]},"application/x-ms-wmz":{"source":"apache","extensions":["wmz"]},"application/x-ms-xbap":{"source":"apache","extensions":["xbap"]},"application/x-msaccess":{"source":"apache","extensions":["mdb"]},"application/x-msbinder":{"source":"apache","extensions":["obd"]},"application/x-mscardfile":{"source":"apache","extensions":["crd"]},"application/x-msclip":{"source":"apache","extensions":["clp"]},"application/x-msdos-program":{"extensions":["exe"]},"application/x-msdownload":{"source":"apache","extensions":["exe","dll","com","bat","msi"]},"application/x-msmediaview":{"source":"apache","extensions":["mvb","m13","m14"]},"application/x-msmetafile":{"source":"apache","extensions":["wmf","wmz","emf","emz"]},"application/x-msmoney":{"source":"apache","extensions":["mny"]},"application/x-mspublisher":{"source":"apache","extensions":["pub"]},"application/x-msschedule":{"source":"apache","extensions":["scd"]},"application/x-msterminal":{"source":"apache","extensions":["trm"]},"application/x-mswrite":{"source":"apache","extensions":["wri"]},"application/x-netcdf":{"source":"apache","extensions":["nc","cdf"]},"application/x-ns-proxy-autoconfig":{"compressible":true,"extensions":["pac"]},"application/x-nzb":{"source":"apache","extensions":["nzb"]},"application/x-perl":{"source":"nginx","extensions":["pl","pm"]},"application/x-pilot":{"source":"nginx","extensions":["prc","pdb"]},"application/x-pkcs12":{"source":"apache","compressible":false,"extensions":["p12","pfx"]},"application/x-pkcs7-certificates":{"source":"apache","extensions":["p7b","spc"]},"application/x-pkcs7-certreqresp":{"source":"apache","extensions":["p7r"]},"application/x-pki-message":{"source":"iana"},"application/x-rar-compressed":{"source":"apache","compressible":false,"extensions":["rar"]},"application/x-redhat-package-manager":{"source":"nginx","extensions":["rpm"]},"application/x-research-info-systems":{"source":"apache","extensions":["ris"]},"application/x-sea":{"source":"nginx","extensions":["sea"]},"application/x-sh":{"source":"apache","compressible":true,"extensions":["sh"]},"application/x-shar":{"source":"apache","extensions":["shar"]},"application/x-shockwave-flash":{"source":"apache","compressible":false,"extensions":["swf"]},"application/x-silverlight-app":{"source":"apache","extensions":["xap"]},"application/x-sql":{"source":"apache","extensions":["sql"]},"application/x-stuffit":{"source":"apache","compressible":false,"extensions":["sit"]},"application/x-stuffitx":{"source":"apache","extensions":["sitx"]},"application/x-subrip":{"source":"apache","extensions":["srt"]},"application/x-sv4cpio":{"source":"apache","extensions":["sv4cpio"]},"application/x-sv4crc":{"source":"apache","extensions":["sv4crc"]},"application/x-t3vm-image":{"source":"apache","extensions":["t3"]},"application/x-tads":{"source":"apache","extensions":["gam"]},"application/x-tar":{"source":"apache","compressible":true,"extensions":["tar"]},"application/x-tcl":{"source":"apache","extensions":["tcl","tk"]},"application/x-tex":{"source":"apache","extensions":["tex"]},"application/x-tex-tfm":{"source":"apache","extensions":["tfm"]},"application/x-texinfo":{"source":"apache","extensions":["texinfo","texi"]},"application/x-tgif":{"source":"apache","extensions":["obj"]},"application/x-ustar":{"source":"apache","extensions":["ustar"]},"application/x-virtualbox-hdd":{"compressible":true,"extensions":["hdd"]},"application/x-virtualbox-ova":{"compressible":true,"extensions":["ova"]},"application/x-virtualbox-ovf":{"compressible":true,"extensions":["ovf"]},"application/x-virtualbox-vbox":{"compressible":true,"extensions":["vbox"]},"application/x-virtualbox-vbox-extpack":{"compressible":false,"extensions":["vbox-extpack"]},"application/x-virtualbox-vdi":{"compressible":true,"extensions":["vdi"]},"application/x-virtualbox-vhd":{"compressible":true,"extensions":["vhd"]},"application/x-virtualbox-vmdk":{"compressible":true,"extensions":["vmdk"]},"application/x-wais-source":{"source":"apache","extensions":["src"]},"application/x-web-app-manifest+json":{"compressible":true,"extensions":["webapp"]},"application/x-www-form-urlencoded":{"source":"iana","compressible":true},"application/x-x509-ca-cert":{"source":"iana","extensions":["der","crt","pem"]},"application/x-x509-ca-ra-cert":{"source":"iana"},"application/x-x509-next-ca-cert":{"source":"iana"},"application/x-xfig":{"source":"apache","extensions":["fig"]},"application/x-xliff+xml":{"source":"apache","compressible":true,"extensions":["xlf"]},"application/x-xpinstall":{"source":"apache","compressible":false,"extensions":["xpi"]},"application/x-xz":{"source":"apache","extensions":["xz"]},"application/x-zmachine":{"source":"apache","extensions":["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{"source":"iana"},"application/xacml+xml":{"source":"iana","compressible":true},"application/xaml+xml":{"source":"apache","compressible":true,"extensions":["xaml"]},"application/xcap-att+xml":{"source":"iana","compressible":true,"extensions":["xav"]},"application/xcap-caps+xml":{"source":"iana","compressible":true,"extensions":["xca"]},"application/xcap-diff+xml":{"source":"iana","compressible":true,"extensions":["xdf"]},"application/xcap-el+xml":{"source":"iana","compressible":true,"extensions":["xel"]},"application/xcap-error+xml":{"source":"iana","compressible":true},"application/xcap-ns+xml":{"source":"iana","compressible":true,"extensions":["xns"]},"application/xcon-conference-info+xml":{"source":"iana","compressible":true},"application/xcon-conference-info-diff+xml":{"source":"iana","compressible":true},"application/xenc+xml":{"source":"iana","compressible":true,"extensions":["xenc"]},"application/xhtml+xml":{"source":"iana","compressible":true,"extensions":["xhtml","xht"]},"application/xhtml-voice+xml":{"source":"apache","compressible":true},"application/xliff+xml":{"source":"iana","compressible":true,"extensions":["xlf"]},"application/xml":{"source":"iana","compressible":true,"extensions":["xml","xsl","xsd","rng"]},"application/xml-dtd":{"source":"iana","compressible":true,"extensions":["dtd"]},"application/xml-external-parsed-entity":{"source":"iana"},"application/xml-patch+xml":{"source":"iana","compressible":true},"application/xmpp+xml":{"source":"iana","compressible":true},"application/xop+xml":{"source":"iana","compressible":true,"extensions":["xop"]},"application/xproc+xml":{"source":"apache","compressible":true,"extensions":["xpl"]},"application/xslt+xml":{"source":"iana","compressible":true,"extensions":["xsl","xslt"]},"application/xspf+xml":{"source":"apache","compressible":true,"extensions":["xspf"]},"application/xv+xml":{"source":"iana","compressible":true,"extensions":["mxml","xhvml","xvml","xvm"]},"application/yang":{"source":"iana","extensions":["yang"]},"application/yang-data+json":{"source":"iana","compressible":true},"application/yang-data+xml":{"source":"iana","compressible":true},"application/yang-patch+json":{"source":"iana","compressible":true},"application/yang-patch+xml":{"source":"iana","compressible":true},"application/yin+xml":{"source":"iana","compressible":true,"extensions":["yin"]},"application/zip":{"source":"iana","compressible":false,"extensions":["zip"]},"application/zlib":{"source":"iana"},"application/zstd":{"source":"iana"},"audio/1d-interleaved-parityfec":{"source":"iana"},"audio/32kadpcm":{"source":"iana"},"audio/3gpp":{"source":"iana","compressible":false,"extensions":["3gpp"]},"audio/3gpp2":{"source":"iana"},"audio/aac":{"source":"iana"},"audio/ac3":{"source":"iana"},"audio/adpcm":{"source":"apache","extensions":["adp"]},"audio/amr":{"source":"iana","extensions":["amr"]},"audio/amr-wb":{"source":"iana"},"audio/amr-wb+":{"source":"iana"},"audio/aptx":{"source":"iana"},"audio/asc":{"source":"iana"},"audio/atrac-advanced-lossless":{"source":"iana"},"audio/atrac-x":{"source":"iana"},"audio/atrac3":{"source":"iana"},"audio/basic":{"source":"iana","compressible":false,"extensions":["au","snd"]},"audio/bv16":{"source":"iana"},"audio/bv32":{"source":"iana"},"audio/clearmode":{"source":"iana"},"audio/cn":{"source":"iana"},"audio/dat12":{"source":"iana"},"audio/dls":{"source":"iana"},"audio/dsr-es201108":{"source":"iana"},"audio/dsr-es202050":{"source":"iana"},"audio/dsr-es202211":{"source":"iana"},"audio/dsr-es202212":{"source":"iana"},"audio/dv":{"source":"iana"},"audio/dvi4":{"source":"iana"},"audio/eac3":{"source":"iana"},"audio/encaprtp":{"source":"iana"},"audio/evrc":{"source":"iana"},"audio/evrc-qcp":{"source":"iana"},"audio/evrc0":{"source":"iana"},"audio/evrc1":{"source":"iana"},"audio/evrcb":{"source":"iana"},"audio/evrcb0":{"source":"iana"},"audio/evrcb1":{"source":"iana"},"audio/evrcnw":{"source":"iana"},"audio/evrcnw0":{"source":"iana"},"audio/evrcnw1":{"source":"iana"},"audio/evrcwb":{"source":"iana"},"audio/evrcwb0":{"source":"iana"},"audio/evrcwb1":{"source":"iana"},"audio/evs":{"source":"iana"},"audio/flexfec":{"source":"iana"},"audio/fwdred":{"source":"iana"},"audio/g711-0":{"source":"iana"},"audio/g719":{"source":"iana"},"audio/g722":{"source":"iana"},"audio/g7221":{"source":"iana"},"audio/g723":{"source":"iana"},"audio/g726-16":{"source":"iana"},"audio/g726-24":{"source":"iana"},"audio/g726-32":{"source":"iana"},"audio/g726-40":{"source":"iana"},"audio/g728":{"source":"iana"},"audio/g729":{"source":"iana"},"audio/g7291":{"source":"iana"},"audio/g729d":{"source":"iana"},"audio/g729e":{"source":"iana"},"audio/gsm":{"source":"iana"},"audio/gsm-efr":{"source":"iana"},"audio/gsm-hr-08":{"source":"iana"},"audio/ilbc":{"source":"iana"},"audio/ip-mr_v2.5":{"source":"iana"},"audio/isac":{"source":"apache"},"audio/l16":{"source":"iana"},"audio/l20":{"source":"iana"},"audio/l24":{"source":"iana","compressible":false},"audio/l8":{"source":"iana"},"audio/lpc":{"source":"iana"},"audio/melp":{"source":"iana"},"audio/melp1200":{"source":"iana"},"audio/melp2400":{"source":"iana"},"audio/melp600":{"source":"iana"},"audio/mhas":{"source":"iana"},"audio/midi":{"source":"apache","extensions":["mid","midi","kar","rmi"]},"audio/mobile-xmf":{"source":"iana","extensions":["mxmf"]},"audio/mp3":{"compressible":false,"extensions":["mp3"]},"audio/mp4":{"source":"iana","compressible":false,"extensions":["m4a","mp4a"]},"audio/mp4a-latm":{"source":"iana"},"audio/mpa":{"source":"iana"},"audio/mpa-robust":{"source":"iana"},"audio/mpeg":{"source":"iana","compressible":false,"extensions":["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{"source":"iana"},"audio/musepack":{"source":"apache"},"audio/ogg":{"source":"iana","compressible":false,"extensions":["oga","ogg","spx","opus"]},"audio/opus":{"source":"iana"},"audio/parityfec":{"source":"iana"},"audio/pcma":{"source":"iana"},"audio/pcma-wb":{"source":"iana"},"audio/pcmu":{"source":"iana"},"audio/pcmu-wb":{"source":"iana"},"audio/prs.sid":{"source":"iana"},"audio/qcelp":{"source":"iana"},"audio/raptorfec":{"source":"iana"},"audio/red":{"source":"iana"},"audio/rtp-enc-aescm128":{"source":"iana"},"audio/rtp-midi":{"source":"iana"},"audio/rtploopback":{"source":"iana"},"audio/rtx":{"source":"iana"},"audio/s3m":{"source":"apache","extensions":["s3m"]},"audio/scip":{"source":"iana"},"audio/silk":{"source":"apache","extensions":["sil"]},"audio/smv":{"source":"iana"},"audio/smv-qcp":{"source":"iana"},"audio/smv0":{"source":"iana"},"audio/sofa":{"source":"iana"},"audio/sp-midi":{"source":"iana"},"audio/speex":{"source":"iana"},"audio/t140c":{"source":"iana"},"audio/t38":{"source":"iana"},"audio/telephone-event":{"source":"iana"},"audio/tetra_acelp":{"source":"iana"},"audio/tetra_acelp_bb":{"source":"iana"},"audio/tone":{"source":"iana"},"audio/tsvcis":{"source":"iana"},"audio/uemclip":{"source":"iana"},"audio/ulpfec":{"source":"iana"},"audio/usac":{"source":"iana"},"audio/vdvi":{"source":"iana"},"audio/vmr-wb":{"source":"iana"},"audio/vnd.3gpp.iufp":{"source":"iana"},"audio/vnd.4sb":{"source":"iana"},"audio/vnd.audiokoz":{"source":"iana"},"audio/vnd.celp":{"source":"iana"},"audio/vnd.cisco.nse":{"source":"iana"},"audio/vnd.cmles.radio-events":{"source":"iana"},"audio/vnd.cns.anp1":{"source":"iana"},"audio/vnd.cns.inf1":{"source":"iana"},"audio/vnd.dece.audio":{"source":"iana","extensions":["uva","uvva"]},"audio/vnd.digital-winds":{"source":"iana","extensions":["eol"]},"audio/vnd.dlna.adts":{"source":"iana"},"audio/vnd.dolby.heaac.1":{"source":"iana"},"audio/vnd.dolby.heaac.2":{"source":"iana"},"audio/vnd.dolby.mlp":{"source":"iana"},"audio/vnd.dolby.mps":{"source":"iana"},"audio/vnd.dolby.pl2":{"source":"iana"},"audio/vnd.dolby.pl2x":{"source":"iana"},"audio/vnd.dolby.pl2z":{"source":"iana"},"audio/vnd.dolby.pulse.1":{"source":"iana"},"audio/vnd.dra":{"source":"iana","extensions":["dra"]},"audio/vnd.dts":{"source":"iana","extensions":["dts"]},"audio/vnd.dts.hd":{"source":"iana","extensions":["dtshd"]},"audio/vnd.dts.uhd":{"source":"iana"},"audio/vnd.dvb.file":{"source":"iana"},"audio/vnd.everad.plj":{"source":"iana"},"audio/vnd.hns.audio":{"source":"iana"},"audio/vnd.lucent.voice":{"source":"iana","extensions":["lvp"]},"audio/vnd.ms-playready.media.pya":{"source":"iana","extensions":["pya"]},"audio/vnd.nokia.mobile-xmf":{"source":"iana"},"audio/vnd.nortel.vbk":{"source":"iana"},"audio/vnd.nuera.ecelp4800":{"source":"iana","extensions":["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{"source":"iana","extensions":["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{"source":"iana","extensions":["ecelp9600"]},"audio/vnd.octel.sbc":{"source":"iana"},"audio/vnd.presonus.multitrack":{"source":"iana"},"audio/vnd.qcelp":{"source":"iana"},"audio/vnd.rhetorex.32kadpcm":{"source":"iana"},"audio/vnd.rip":{"source":"iana","extensions":["rip"]},"audio/vnd.rn-realaudio":{"compressible":false},"audio/vnd.sealedmedia.softseal.mpeg":{"source":"iana"},"audio/vnd.vmx.cvsd":{"source":"iana"},"audio/vnd.wave":{"compressible":false},"audio/vorbis":{"source":"iana","compressible":false},"audio/vorbis-config":{"source":"iana"},"audio/wav":{"compressible":false,"extensions":["wav"]},"audio/wave":{"compressible":false,"extensions":["wav"]},"audio/webm":{"source":"apache","compressible":false,"extensions":["weba"]},"audio/x-aac":{"source":"apache","compressible":false,"extensions":["aac"]},"audio/x-aiff":{"source":"apache","extensions":["aif","aiff","aifc"]},"audio/x-caf":{"source":"apache","compressible":false,"extensions":["caf"]},"audio/x-flac":{"source":"apache","extensions":["flac"]},"audio/x-m4a":{"source":"nginx","extensions":["m4a"]},"audio/x-matroska":{"source":"apache","extensions":["mka"]},"audio/x-mpegurl":{"source":"apache","extensions":["m3u"]},"audio/x-ms-wax":{"source":"apache","extensions":["wax"]},"audio/x-ms-wma":{"source":"apache","extensions":["wma"]},"audio/x-pn-realaudio":{"source":"apache","extensions":["ram","ra"]},"audio/x-pn-realaudio-plugin":{"source":"apache","extensions":["rmp"]},"audio/x-realaudio":{"source":"nginx","extensions":["ra"]},"audio/x-tta":{"source":"apache"},"audio/x-wav":{"source":"apache","extensions":["wav"]},"audio/xm":{"source":"apache","extensions":["xm"]},"chemical/x-cdx":{"source":"apache","extensions":["cdx"]},"chemical/x-cif":{"source":"apache","extensions":["cif"]},"chemical/x-cmdf":{"source":"apache","extensions":["cmdf"]},"chemical/x-cml":{"source":"apache","extensions":["cml"]},"chemical/x-csml":{"source":"apache","extensions":["csml"]},"chemical/x-pdb":{"source":"apache"},"chemical/x-xyz":{"source":"apache","extensions":["xyz"]},"font/collection":{"source":"iana","extensions":["ttc"]},"font/otf":{"source":"iana","compressible":true,"extensions":["otf"]},"font/sfnt":{"source":"iana"},"font/ttf":{"source":"iana","compressible":true,"extensions":["ttf"]},"font/woff":{"source":"iana","extensions":["woff"]},"font/woff2":{"source":"iana","extensions":["woff2"]},"image/aces":{"source":"iana","extensions":["exr"]},"image/apng":{"compressible":false,"extensions":["apng"]},"image/avci":{"source":"iana","extensions":["avci"]},"image/avcs":{"source":"iana","extensions":["avcs"]},"image/avif":{"source":"iana","compressible":false,"extensions":["avif"]},"image/bmp":{"source":"iana","compressible":true,"extensions":["bmp"]},"image/cgm":{"source":"iana","extensions":["cgm"]},"image/dicom-rle":{"source":"iana","extensions":["drle"]},"image/emf":{"source":"iana","extensions":["emf"]},"image/fits":{"source":"iana","extensions":["fits"]},"image/g3fax":{"source":"iana","extensions":["g3"]},"image/gif":{"source":"iana","compressible":false,"extensions":["gif"]},"image/heic":{"source":"iana","extensions":["heic"]},"image/heic-sequence":{"source":"iana","extensions":["heics"]},"image/heif":{"source":"iana","extensions":["heif"]},"image/heif-sequence":{"source":"iana","extensions":["heifs"]},"image/hej2k":{"source":"iana","extensions":["hej2"]},"image/hsj2":{"source":"iana","extensions":["hsj2"]},"image/ief":{"source":"iana","extensions":["ief"]},"image/jls":{"source":"iana","extensions":["jls"]},"image/jp2":{"source":"iana","compressible":false,"extensions":["jp2","jpg2"]},"image/jpeg":{"source":"iana","compressible":false,"extensions":["jpeg","jpg","jpe"]},"image/jph":{"source":"iana","extensions":["jph"]},"image/jphc":{"source":"iana","extensions":["jhc"]},"image/jpm":{"source":"iana","compressible":false,"extensions":["jpm"]},"image/jpx":{"source":"iana","compressible":false,"extensions":["jpx","jpf"]},"image/jxr":{"source":"iana","extensions":["jxr"]},"image/jxra":{"source":"iana","extensions":["jxra"]},"image/jxrs":{"source":"iana","extensions":["jxrs"]},"image/jxs":{"source":"iana","extensions":["jxs"]},"image/jxsc":{"source":"iana","extensions":["jxsc"]},"image/jxsi":{"source":"iana","extensions":["jxsi"]},"image/jxss":{"source":"iana","extensions":["jxss"]},"image/ktx":{"source":"iana","extensions":["ktx"]},"image/ktx2":{"source":"iana","extensions":["ktx2"]},"image/naplps":{"source":"iana"},"image/pjpeg":{"compressible":false},"image/png":{"source":"iana","compressible":false,"extensions":["png"]},"image/prs.btif":{"source":"iana","extensions":["btif"]},"image/prs.pti":{"source":"iana","extensions":["pti"]},"image/pwg-raster":{"source":"iana"},"image/sgi":{"source":"apache","extensions":["sgi"]},"image/svg+xml":{"source":"iana","compressible":true,"extensions":["svg","svgz"]},"image/t38":{"source":"iana","extensions":["t38"]},"image/tiff":{"source":"iana","compressible":false,"extensions":["tif","tiff"]},"image/tiff-fx":{"source":"iana","extensions":["tfx"]},"image/vnd.adobe.photoshop":{"source":"iana","compressible":true,"extensions":["psd"]},"image/vnd.airzip.accelerator.azv":{"source":"iana","extensions":["azv"]},"image/vnd.cns.inf2":{"source":"iana"},"image/vnd.dece.graphic":{"source":"iana","extensions":["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{"source":"iana","extensions":["djvu","djv"]},"image/vnd.dvb.subtitle":{"source":"iana","extensions":["sub"]},"image/vnd.dwg":{"source":"iana","extensions":["dwg"]},"image/vnd.dxf":{"source":"iana","extensions":["dxf"]},"image/vnd.fastbidsheet":{"source":"iana","extensions":["fbs"]},"image/vnd.fpx":{"source":"iana","extensions":["fpx"]},"image/vnd.fst":{"source":"iana","extensions":["fst"]},"image/vnd.fujixerox.edmics-mmr":{"source":"iana","extensions":["mmr"]},"image/vnd.fujixerox.edmics-rlc":{"source":"iana","extensions":["rlc"]},"image/vnd.globalgraphics.pgb":{"source":"iana"},"image/vnd.microsoft.icon":{"source":"iana","compressible":true,"extensions":["ico"]},"image/vnd.mix":{"source":"iana"},"image/vnd.mozilla.apng":{"source":"iana"},"image/vnd.ms-dds":{"compressible":true,"extensions":["dds"]},"image/vnd.ms-modi":{"source":"iana","extensions":["mdi"]},"image/vnd.ms-photo":{"source":"apache","extensions":["wdp"]},"image/vnd.net-fpx":{"source":"iana","extensions":["npx"]},"image/vnd.pco.b16":{"source":"iana","extensions":["b16"]},"image/vnd.radiance":{"source":"iana"},"image/vnd.sealed.png":{"source":"iana"},"image/vnd.sealedmedia.softseal.gif":{"source":"iana"},"image/vnd.sealedmedia.softseal.jpg":{"source":"iana"},"image/vnd.svf":{"source":"iana"},"image/vnd.tencent.tap":{"source":"iana","extensions":["tap"]},"image/vnd.valve.source.texture":{"source":"iana","extensions":["vtf"]},"image/vnd.wap.wbmp":{"source":"iana","extensions":["wbmp"]},"image/vnd.xiff":{"source":"iana","extensions":["xif"]},"image/vnd.zbrush.pcx":{"source":"iana","extensions":["pcx"]},"image/webp":{"source":"apache","extensions":["webp"]},"image/wmf":{"source":"iana","extensions":["wmf"]},"image/x-3ds":{"source":"apache","extensions":["3ds"]},"image/x-cmu-raster":{"source":"apache","extensions":["ras"]},"image/x-cmx":{"source":"apache","extensions":["cmx"]},"image/x-freehand":{"source":"apache","extensions":["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{"source":"apache","compressible":true,"extensions":["ico"]},"image/x-jng":{"source":"nginx","extensions":["jng"]},"image/x-mrsid-image":{"source":"apache","extensions":["sid"]},"image/x-ms-bmp":{"source":"nginx","compressible":true,"extensions":["bmp"]},"image/x-pcx":{"source":"apache","extensions":["pcx"]},"image/x-pict":{"source":"apache","extensions":["pic","pct"]},"image/x-portable-anymap":{"source":"apache","extensions":["pnm"]},"image/x-portable-bitmap":{"source":"apache","extensions":["pbm"]},"image/x-portable-graymap":{"source":"apache","extensions":["pgm"]},"image/x-portable-pixmap":{"source":"apache","extensions":["ppm"]},"image/x-rgb":{"source":"apache","extensions":["rgb"]},"image/x-tga":{"source":"apache","extensions":["tga"]},"image/x-xbitmap":{"source":"apache","extensions":["xbm"]},"image/x-xcf":{"compressible":false},"image/x-xpixmap":{"source":"apache","extensions":["xpm"]},"image/x-xwindowdump":{"source":"apache","extensions":["xwd"]},"message/cpim":{"source":"iana"},"message/delivery-status":{"source":"iana"},"message/disposition-notification":{"source":"iana","extensions":["disposition-notification"]},"message/external-body":{"source":"iana"},"message/feedback-report":{"source":"iana"},"message/global":{"source":"iana","extensions":["u8msg"]},"message/global-delivery-status":{"source":"iana","extensions":["u8dsn"]},"message/global-disposition-notification":{"source":"iana","extensions":["u8mdn"]},"message/global-headers":{"source":"iana","extensions":["u8hdr"]},"message/http":{"source":"iana","compressible":false},"message/imdn+xml":{"source":"iana","compressible":true},"message/news":{"source":"iana"},"message/partial":{"source":"iana","compressible":false},"message/rfc822":{"source":"iana","compressible":true,"extensions":["eml","mime"]},"message/s-http":{"source":"iana"},"message/sip":{"source":"iana"},"message/sipfrag":{"source":"iana"},"message/tracking-status":{"source":"iana"},"message/vnd.si.simp":{"source":"iana"},"message/vnd.wfa.wsc":{"source":"iana","extensions":["wsc"]},"model/3mf":{"source":"iana","extensions":["3mf"]},"model/e57":{"source":"iana"},"model/gltf+json":{"source":"iana","compressible":true,"extensions":["gltf"]},"model/gltf-binary":{"source":"iana","compressible":true,"extensions":["glb"]},"model/iges":{"source":"iana","compressible":false,"extensions":["igs","iges"]},"model/mesh":{"source":"iana","compressible":false,"extensions":["msh","mesh","silo"]},"model/mtl":{"source":"iana","extensions":["mtl"]},"model/obj":{"source":"iana","extensions":["obj"]},"model/step":{"source":"iana"},"model/step+xml":{"source":"iana","compressible":true,"extensions":["stpx"]},"model/step+zip":{"source":"iana","compressible":false,"extensions":["stpz"]},"model/step-xml+zip":{"source":"iana","compressible":false,"extensions":["stpxz"]},"model/stl":{"source":"iana","extensions":["stl"]},"model/vnd.collada+xml":{"source":"iana","compressible":true,"extensions":["dae"]},"model/vnd.dwf":{"source":"iana","extensions":["dwf"]},"model/vnd.flatland.3dml":{"source":"iana"},"model/vnd.gdl":{"source":"iana","extensions":["gdl"]},"model/vnd.gs-gdl":{"source":"apache"},"model/vnd.gs.gdl":{"source":"iana"},"model/vnd.gtw":{"source":"iana","extensions":["gtw"]},"model/vnd.moml+xml":{"source":"iana","compressible":true},"model/vnd.mts":{"source":"iana","extensions":["mts"]},"model/vnd.opengex":{"source":"iana","extensions":["ogex"]},"model/vnd.parasolid.transmit.binary":{"source":"iana","extensions":["x_b"]},"model/vnd.parasolid.transmit.text":{"source":"iana","extensions":["x_t"]},"model/vnd.pytha.pyox":{"source":"iana"},"model/vnd.rosette.annotated-data-model":{"source":"iana"},"model/vnd.sap.vds":{"source":"iana","extensions":["vds"]},"model/vnd.usdz+zip":{"source":"iana","compressible":false,"extensions":["usdz"]},"model/vnd.valve.source.compiled-map":{"source":"iana","extensions":["bsp"]},"model/vnd.vtu":{"source":"iana","extensions":["vtu"]},"model/vrml":{"source":"iana","compressible":false,"extensions":["wrl","vrml"]},"model/x3d+binary":{"source":"apache","compressible":false,"extensions":["x3db","x3dbz"]},"model/x3d+fastinfoset":{"source":"iana","extensions":["x3db"]},"model/x3d+vrml":{"source":"apache","compressible":false,"extensions":["x3dv","x3dvz"]},"model/x3d+xml":{"source":"iana","compressible":true,"extensions":["x3d","x3dz"]},"model/x3d-vrml":{"source":"iana","extensions":["x3dv"]},"multipart/alternative":{"source":"iana","compressible":false},"multipart/appledouble":{"source":"iana"},"multipart/byteranges":{"source":"iana"},"multipart/digest":{"source":"iana"},"multipart/encrypted":{"source":"iana","compressible":false},"multipart/form-data":{"source":"iana","compressible":false},"multipart/header-set":{"source":"iana"},"multipart/mixed":{"source":"iana"},"multipart/multilingual":{"source":"iana"},"multipart/parallel":{"source":"iana"},"multipart/related":{"source":"iana","compressible":false},"multipart/report":{"source":"iana"},"multipart/signed":{"source":"iana","compressible":false},"multipart/vnd.bint.med-plus":{"source":"iana"},"multipart/voice-message":{"source":"iana"},"multipart/x-mixed-replace":{"source":"iana"},"text/1d-interleaved-parityfec":{"source":"iana"},"text/cache-manifest":{"source":"iana","compressible":true,"extensions":["appcache","manifest"]},"text/calendar":{"source":"iana","extensions":["ics","ifb"]},"text/calender":{"compressible":true},"text/cmd":{"compressible":true},"text/coffeescript":{"extensions":["coffee","litcoffee"]},"text/cql":{"source":"iana"},"text/cql-expression":{"source":"iana"},"text/cql-identifier":{"source":"iana"},"text/css":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["css"]},"text/csv":{"source":"iana","compressible":true,"extensions":["csv"]},"text/csv-schema":{"source":"iana"},"text/directory":{"source":"iana"},"text/dns":{"source":"iana"},"text/ecmascript":{"source":"iana"},"text/encaprtp":{"source":"iana"},"text/enriched":{"source":"iana"},"text/fhirpath":{"source":"iana"},"text/flexfec":{"source":"iana"},"text/fwdred":{"source":"iana"},"text/gff3":{"source":"iana"},"text/grammar-ref-list":{"source":"iana"},"text/html":{"source":"iana","compressible":true,"extensions":["html","htm","shtml"]},"text/jade":{"extensions":["jade"]},"text/javascript":{"source":"iana","compressible":true},"text/jcr-cnd":{"source":"iana"},"text/jsx":{"compressible":true,"extensions":["jsx"]},"text/less":{"compressible":true,"extensions":["less"]},"text/markdown":{"source":"iana","compressible":true,"extensions":["markdown","md"]},"text/mathml":{"source":"nginx","extensions":["mml"]},"text/mdx":{"compressible":true,"extensions":["mdx"]},"text/mizar":{"source":"iana"},"text/n3":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["n3"]},"text/parameters":{"source":"iana","charset":"UTF-8"},"text/parityfec":{"source":"iana"},"text/plain":{"source":"iana","compressible":true,"extensions":["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{"source":"iana","charset":"UTF-8"},"text/prs.fallenstein.rst":{"source":"iana"},"text/prs.lines.tag":{"source":"iana","extensions":["dsc"]},"text/prs.prop.logic":{"source":"iana"},"text/raptorfec":{"source":"iana"},"text/red":{"source":"iana"},"text/rfc822-headers":{"source":"iana"},"text/richtext":{"source":"iana","compressible":true,"extensions":["rtx"]},"text/rtf":{"source":"iana","compressible":true,"extensions":["rtf"]},"text/rtp-enc-aescm128":{"source":"iana"},"text/rtploopback":{"source":"iana"},"text/rtx":{"source":"iana"},"text/sgml":{"source":"iana","extensions":["sgml","sgm"]},"text/shaclc":{"source":"iana"},"text/shex":{"source":"iana","extensions":["shex"]},"text/slim":{"extensions":["slim","slm"]},"text/spdx":{"source":"iana","extensions":["spdx"]},"text/strings":{"source":"iana"},"text/stylus":{"extensions":["stylus","styl"]},"text/t140":{"source":"iana"},"text/tab-separated-values":{"source":"iana","compressible":true,"extensions":["tsv"]},"text/troff":{"source":"iana","extensions":["t","tr","roff","man","me","ms"]},"text/turtle":{"source":"iana","charset":"UTF-8","extensions":["ttl"]},"text/ulpfec":{"source":"iana"},"text/uri-list":{"source":"iana","compressible":true,"extensions":["uri","uris","urls"]},"text/vcard":{"source":"iana","compressible":true,"extensions":["vcard"]},"text/vnd.a":{"source":"iana"},"text/vnd.abc":{"source":"iana"},"text/vnd.ascii-art":{"source":"iana"},"text/vnd.curl":{"source":"iana","extensions":["curl"]},"text/vnd.curl.dcurl":{"source":"apache","extensions":["dcurl"]},"text/vnd.curl.mcurl":{"source":"apache","extensions":["mcurl"]},"text/vnd.curl.scurl":{"source":"apache","extensions":["scurl"]},"text/vnd.debian.copyright":{"source":"iana","charset":"UTF-8"},"text/vnd.dmclientscript":{"source":"iana"},"text/vnd.dvb.subtitle":{"source":"iana","extensions":["sub"]},"text/vnd.esmertec.theme-descriptor":{"source":"iana","charset":"UTF-8"},"text/vnd.familysearch.gedcom":{"source":"iana","extensions":["ged"]},"text/vnd.ficlab.flt":{"source":"iana"},"text/vnd.fly":{"source":"iana","extensions":["fly"]},"text/vnd.fmi.flexstor":{"source":"iana","extensions":["flx"]},"text/vnd.gml":{"source":"iana"},"text/vnd.graphviz":{"source":"iana","extensions":["gv"]},"text/vnd.hans":{"source":"iana"},"text/vnd.hgl":{"source":"iana"},"text/vnd.in3d.3dml":{"source":"iana","extensions":["3dml"]},"text/vnd.in3d.spot":{"source":"iana","extensions":["spot"]},"text/vnd.iptc.newsml":{"source":"iana"},"text/vnd.iptc.nitf":{"source":"iana"},"text/vnd.latex-z":{"source":"iana"},"text/vnd.motorola.reflex":{"source":"iana"},"text/vnd.ms-mediapackage":{"source":"iana"},"text/vnd.net2phone.commcenter.command":{"source":"iana"},"text/vnd.radisys.msml-basic-layout":{"source":"iana"},"text/vnd.senx.warpscript":{"source":"iana"},"text/vnd.si.uricatalogue":{"source":"iana"},"text/vnd.sosi":{"source":"iana"},"text/vnd.sun.j2me.app-descriptor":{"source":"iana","charset":"UTF-8","extensions":["jad"]},"text/vnd.trolltech.linguist":{"source":"iana","charset":"UTF-8"},"text/vnd.wap.si":{"source":"iana"},"text/vnd.wap.sl":{"source":"iana"},"text/vnd.wap.wml":{"source":"iana","extensions":["wml"]},"text/vnd.wap.wmlscript":{"source":"iana","extensions":["wmls"]},"text/vtt":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["vtt"]},"text/x-asm":{"source":"apache","extensions":["s","asm"]},"text/x-c":{"source":"apache","extensions":["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{"source":"nginx","extensions":["htc"]},"text/x-fortran":{"source":"apache","extensions":["f","for","f77","f90"]},"text/x-gwt-rpc":{"compressible":true},"text/x-handlebars-template":{"extensions":["hbs"]},"text/x-java-source":{"source":"apache","extensions":["java"]},"text/x-jquery-tmpl":{"compressible":true},"text/x-lua":{"extensions":["lua"]},"text/x-markdown":{"compressible":true,"extensions":["mkd"]},"text/x-nfo":{"source":"apache","extensions":["nfo"]},"text/x-opml":{"source":"apache","extensions":["opml"]},"text/x-org":{"compressible":true,"extensions":["org"]},"text/x-pascal":{"source":"apache","extensions":["p","pas"]},"text/x-processing":{"compressible":true,"extensions":["pde"]},"text/x-sass":{"extensions":["sass"]},"text/x-scss":{"extensions":["scss"]},"text/x-setext":{"source":"apache","extensions":["etx"]},"text/x-sfv":{"source":"apache","extensions":["sfv"]},"text/x-suse-ymp":{"compressible":true,"extensions":["ymp"]},"text/x-uuencode":{"source":"apache","extensions":["uu"]},"text/x-vcalendar":{"source":"apache","extensions":["vcs"]},"text/x-vcard":{"source":"apache","extensions":["vcf"]},"text/xml":{"source":"iana","compressible":true,"extensions":["xml"]},"text/xml-external-parsed-entity":{"source":"iana"},"text/yaml":{"compressible":true,"extensions":["yaml","yml"]},"video/1d-interleaved-parityfec":{"source":"iana"},"video/3gpp":{"source":"iana","extensions":["3gp","3gpp"]},"video/3gpp-tt":{"source":"iana"},"video/3gpp2":{"source":"iana","extensions":["3g2"]},"video/av1":{"source":"iana"},"video/bmpeg":{"source":"iana"},"video/bt656":{"source":"iana"},"video/celb":{"source":"iana"},"video/dv":{"source":"iana"},"video/encaprtp":{"source":"iana"},"video/ffv1":{"source":"iana"},"video/flexfec":{"source":"iana"},"video/h261":{"source":"iana","extensions":["h261"]},"video/h263":{"source":"iana","extensions":["h263"]},"video/h263-1998":{"source":"iana"},"video/h263-2000":{"source":"iana"},"video/h264":{"source":"iana","extensions":["h264"]},"video/h264-rcdo":{"source":"iana"},"video/h264-svc":{"source":"iana"},"video/h265":{"source":"iana"},"video/iso.segment":{"source":"iana","extensions":["m4s"]},"video/jpeg":{"source":"iana","extensions":["jpgv"]},"video/jpeg2000":{"source":"iana"},"video/jpm":{"source":"apache","extensions":["jpm","jpgm"]},"video/jxsv":{"source":"iana"},"video/mj2":{"source":"iana","extensions":["mj2","mjp2"]},"video/mp1s":{"source":"iana"},"video/mp2p":{"source":"iana"},"video/mp2t":{"source":"iana","extensions":["ts"]},"video/mp4":{"source":"iana","compressible":false,"extensions":["mp4","mp4v","mpg4"]},"video/mp4v-es":{"source":"iana"},"video/mpeg":{"source":"iana","compressible":false,"extensions":["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{"source":"iana"},"video/mpv":{"source":"iana"},"video/nv":{"source":"iana"},"video/ogg":{"source":"iana","compressible":false,"extensions":["ogv"]},"video/parityfec":{"source":"iana"},"video/pointer":{"source":"iana"},"video/quicktime":{"source":"iana","compressible":false,"extensions":["qt","mov"]},"video/raptorfec":{"source":"iana"},"video/raw":{"source":"iana"},"video/rtp-enc-aescm128":{"source":"iana"},"video/rtploopback":{"source":"iana"},"video/rtx":{"source":"iana"},"video/scip":{"source":"iana"},"video/smpte291":{"source":"iana"},"video/smpte292m":{"source":"iana"},"video/ulpfec":{"source":"iana"},"video/vc1":{"source":"iana"},"video/vc2":{"source":"iana"},"video/vnd.cctv":{"source":"iana"},"video/vnd.dece.hd":{"source":"iana","extensions":["uvh","uvvh"]},"video/vnd.dece.mobile":{"source":"iana","extensions":["uvm","uvvm"]},"video/vnd.dece.mp4":{"source":"iana"},"video/vnd.dece.pd":{"source":"iana","extensions":["uvp","uvvp"]},"video/vnd.dece.sd":{"source":"iana","extensions":["uvs","uvvs"]},"video/vnd.dece.video":{"source":"iana","extensions":["uvv","uvvv"]},"video/vnd.directv.mpeg":{"source":"iana"},"video/vnd.directv.mpeg-tts":{"source":"iana"},"video/vnd.dlna.mpeg-tts":{"source":"iana"},"video/vnd.dvb.file":{"source":"iana","extensions":["dvb"]},"video/vnd.fvt":{"source":"iana","extensions":["fvt"]},"video/vnd.hns.video":{"source":"iana"},"video/vnd.iptvforum.1dparityfec-1010":{"source":"iana"},"video/vnd.iptvforum.1dparityfec-2005":{"source":"iana"},"video/vnd.iptvforum.2dparityfec-1010":{"source":"iana"},"video/vnd.iptvforum.2dparityfec-2005":{"source":"iana"},"video/vnd.iptvforum.ttsavc":{"source":"iana"},"video/vnd.iptvforum.ttsmpeg2":{"source":"iana"},"video/vnd.motorola.video":{"source":"iana"},"video/vnd.motorola.videop":{"source":"iana"},"video/vnd.mpegurl":{"source":"iana","extensions":["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{"source":"iana","extensions":["pyv"]},"video/vnd.nokia.interleaved-multimedia":{"source":"iana"},"video/vnd.nokia.mp4vr":{"source":"iana"},"video/vnd.nokia.videovoip":{"source":"iana"},"video/vnd.objectvideo":{"source":"iana"},"video/vnd.radgamettools.bink":{"source":"iana"},"video/vnd.radgamettools.smacker":{"source":"iana"},"video/vnd.sealed.mpeg1":{"source":"iana"},"video/vnd.sealed.mpeg4":{"source":"iana"},"video/vnd.sealed.swf":{"source":"iana"},"video/vnd.sealedmedia.softseal.mov":{"source":"iana"},"video/vnd.uvvu.mp4":{"source":"iana","extensions":["uvu","uvvu"]},"video/vnd.vivo":{"source":"iana","extensions":["viv"]},"video/vnd.youtube.yt":{"source":"iana"},"video/vp8":{"source":"iana"},"video/vp9":{"source":"iana"},"video/webm":{"source":"apache","compressible":false,"extensions":["webm"]},"video/x-f4v":{"source":"apache","extensions":["f4v"]},"video/x-fli":{"source":"apache","extensions":["fli"]},"video/x-flv":{"source":"apache","compressible":false,"extensions":["flv"]},"video/x-m4v":{"source":"apache","extensions":["m4v"]},"video/x-matroska":{"source":"apache","compressible":false,"extensions":["mkv","mk3d","mks"]},"video/x-mng":{"source":"apache","extensions":["mng"]},"video/x-ms-asf":{"source":"apache","extensions":["asf","asx"]},"video/x-ms-vob":{"source":"apache","extensions":["vob"]},"video/x-ms-wm":{"source":"apache","extensions":["wm"]},"video/x-ms-wmv":{"source":"apache","compressible":false,"extensions":["wmv"]},"video/x-ms-wmx":{"source":"apache","extensions":["wmx"]},"video/x-ms-wvx":{"source":"apache","extensions":["wvx"]},"video/x-msvideo":{"source":"apache","extensions":["avi"]},"video/x-sgi-movie":{"source":"apache","extensions":["movie"]},"video/x-smv":{"source":"apache","extensions":["smv"]},"x-conference/x-cooltalk":{"source":"apache","extensions":["ice"]},"x-shader/x-fragment":{"compressible":true},"x-shader/x-vertex":{"compressible":true}}')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var t=__webpack_module_cache__[e];if(t!==undefined){return t.exports}var r=__webpack_module_cache__[e]={exports:{}};var s=true;try{__webpack_modules__[e].call(r.exports,r,r.exports,__nccwpck_require__);s=false}finally{if(s)delete __webpack_module_cache__[e]}return r.exports}(()=>{__nccwpck_require__.r=e=>{if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(e,"__esModule",{value:true})}})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__={};(()=>{"use strict";__nccwpck_require__.r(__webpack_exports__);var e=__nccwpck_require__(1227);var t=__nccwpck_require__(4237);var r=__nccwpck_require__(7131);let s="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let customAlphabet=(e,t=21)=>(r=t)=>{let s="";let n=r;while(n--){s+=e[Math.random()*e.length|0]}return s};let nanoid=(e=21)=>{let t="";let r=e;while(r--){t+=s[Math.random()*64|0]}return t};var n="vercel.ai.error";var o=Symbol.for(n);var i;var a=class _AISDKError extends Error{constructor({name:e,message:t,cause:r}){super(t);this[i]=true;this.name=e;this.cause=r}static isInstance(e){return _AISDKError.hasMarker(e,n)}static hasMarker(e,t){const r=Symbol.for(t);return e!=null&&typeof e==="object"&&r in e&&typeof e[r]==="boolean"&&e[r]===true}toJSON(){return{name:this.name,message:this.message}}};i=o;var A=a;var c="AI_APICallError";var l=`vercel.ai.error.${c}`;var u=Symbol.for(l);var p;var d=class extends A{constructor({message:e,url:t,requestBodyValues:r,statusCode:s,responseHeaders:n,responseBody:o,cause:i,isRetryable:a=s!=null&&(s===408||s===409||s===429||s>=500),data:A}){super({name:c,message:e,cause:i});this[p]=true;this.url=t;this.requestBodyValues=r;this.statusCode=s;this.responseHeaders=n;this.responseBody=o;this.isRetryable=a;this.data=A}static isInstance(e){return A.hasMarker(e,l)}static isAPICallError(e){return e instanceof Error&&e.name===c&&typeof e.url==="string"&&typeof e.requestBodyValues==="object"&&(e.statusCode==null||typeof e.statusCode==="number")&&(e.responseHeaders==null||typeof e.responseHeaders==="object")&&(e.responseBody==null||typeof e.responseBody==="string")&&(e.cause==null||typeof e.cause==="object")&&typeof e.isRetryable==="boolean"&&(e.data==null||typeof e.data==="object")}toJSON(){return{name:this.name,message:this.message,url:this.url,requestBodyValues:this.requestBodyValues,statusCode:this.statusCode,responseHeaders:this.responseHeaders,responseBody:this.responseBody,cause:this.cause,isRetryable:this.isRetryable,data:this.data}}};p=u;var g="AI_EmptyResponseBodyError";var h=`vercel.ai.error.${g}`;var m=Symbol.for(h);var E;var C=class extends A{constructor({message:e="Empty response body"}={}){super({name:g,message:e});this[E]=true}static isInstance(e){return A.hasMarker(e,h)}static isEmptyResponseBodyError(e){return e instanceof Error&&e.name===g}};E=m;function getErrorMessage(e){if(e==null){return"unknown error"}if(typeof e==="string"){return e}if(e instanceof Error){return e.message}return JSON.stringify(e)}var I="AI_InvalidPromptError";var B=`vercel.ai.error.${I}`;var Q=Symbol.for(B);var b;var y=class extends A{constructor({prompt:e,message:t,cause:r}){super({name:I,message:`Invalid prompt: ${t}`,cause:r});this[b]=true;this.prompt=e}static isInstance(e){return A.hasMarker(e,B)}static isInvalidPromptError(e){return e instanceof Error&&e.name===I&&prompt!=null}toJSON(){return{name:this.name,message:this.message,stack:this.stack,prompt:this.prompt}}};b=Q;var v="AI_InvalidResponseDataError";var w=`vercel.ai.error.${v}`;var x=Symbol.for(w);var k;var R=class extends A{constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:v,message:t});this[k]=true;this.data=e}static isInstance(e){return A.hasMarker(e,w)}static isInvalidResponseDataError(e){return e instanceof Error&&e.name===v&&e.data!=null}toJSON(){return{name:this.name,message:this.message,stack:this.stack,data:this.data}}};k=x;var S="AI_JSONParseError";var D=`vercel.ai.error.${S}`;var T=Symbol.for(D);var _;var F=class extends A{constructor({text:e,cause:t}){super({name:S,message:`JSON parsing failed: Text: ${e}.\nError message: ${getErrorMessage(t)}`,cause:t});this[_]=true;this.text=e}static isInstance(e){return A.hasMarker(e,D)}static isJSONParseError(e){return e instanceof Error&&e.name===S&&"text"in e&&typeof e.text==="string"}toJSON(){return{name:this.name,message:this.message,cause:this.cause,stack:this.stack,valueText:this.text}}};_=T;var N="AI_LoadAPIKeyError";var U=`vercel.ai.error.${N}`;var M=Symbol.for(U);var O;var L=class extends A{constructor({message:e}){super({name:N,message:e});this[O]=true}static isInstance(e){return A.hasMarker(e,U)}static isLoadAPIKeyError(e){return e instanceof Error&&e.name===N}};O=M;var P="AI_LoadSettingError";var G=`vercel.ai.error.${P}`;var j=Symbol.for(G);var H;var J=class extends(null&&A){constructor({message:e}){super({name:P,message:e});this[H]=true}static isInstance(e){return A.hasMarker(e,G)}static isLoadSettingError(e){return e instanceof Error&&e.name===P}};H=j;var V="AI_NoContentGeneratedError";var Y=`vercel.ai.error.${V}`;var q=Symbol.for(Y);var W;var Z=class extends(null&&A){constructor({message:e="No content generated."}={}){super({name:V,message:e});this[W]=true}static isInstance(e){return A.hasMarker(e,Y)}static isNoContentGeneratedError(e){return e instanceof Error&&e.name===V}toJSON(){return{name:this.name,cause:this.cause,message:this.message,stack:this.stack}}};W=q;var z="AI_NoSuchModelError";var K=`vercel.ai.error.${z}`;var X=Symbol.for(K);var $;var ee=class extends(null&&A){constructor({errorName:e=z,modelId:t,modelType:r,message:s=`No such ${r}: ${t}`}){super({name:e,message:s});this[$]=true;this.modelId=t;this.modelType=r}static isInstance(e){return A.hasMarker(e,K)}static isNoSuchModelError(e){return e instanceof Error&&e.name===z&&typeof e.modelId==="string"&&typeof e.modelType==="string"}toJSON(){return{name:this.name,message:this.message,stack:this.stack,modelId:this.modelId,modelType:this.modelType}}};$=X;var te="AI_TooManyEmbeddingValuesForCallError";var re=`vercel.ai.error.${te}`;var se=Symbol.for(re);var ne;var oe=class extends A{constructor(e){super({name:te,message:`Too many values for a single embedding call. The ${e.provider} model "${e.modelId}" can only embed up to ${e.maxEmbeddingsPerCall} values per call, but ${e.values.length} values were provided.`});this[ne]=true;this.provider=e.provider;this.modelId=e.modelId;this.maxEmbeddingsPerCall=e.maxEmbeddingsPerCall;this.values=e.values}static isInstance(e){return A.hasMarker(e,re)}static isTooManyEmbeddingValuesForCallError(e){return e instanceof Error&&e.name===te&&"provider"in e&&typeof e.provider==="string"&&"modelId"in e&&typeof e.modelId==="string"&&"maxEmbeddingsPerCall"in e&&typeof e.maxEmbeddingsPerCall==="number"&&"values"in e&&Array.isArray(e.values)}toJSON(){return{name:this.name,message:this.message,stack:this.stack,provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:this.values}}};ne=se;var ie="AI_TypeValidationError";var ae=`vercel.ai.error.${ie}`;var Ae=Symbol.for(ae);var ce;var le=class _TypeValidationError extends A{constructor({value:e,cause:t}){super({name:ie,message:`Type validation failed: Value: ${JSON.stringify(e)}.\nError message: ${getErrorMessage(t)}`,cause:t});this[ce]=true;this.value=e}static isInstance(e){return A.hasMarker(e,ae)}static wrap({value:e,cause:t}){return _TypeValidationError.isInstance(t)&&t.value===e?t:new _TypeValidationError({value:e,cause:t})}static isTypeValidationError(e){return e instanceof Error&&e.name===ie}toJSON(){return{name:this.name,message:this.message,cause:this.cause,stack:this.stack,value:this.value}}};ce=Ae;var ue=le;var pe="AI_UnsupportedFunctionalityError";var de=`vercel.ai.error.${pe}`;var ge=Symbol.for(de);var he;var fe=class extends A{constructor({functionality:e}){super({name:pe,message:`'${e}' functionality not supported.`});this[he]=true;this.functionality=e}static isInstance(e){return A.hasMarker(e,de)}static isUnsupportedFunctionalityError(e){return e instanceof Error&&e.name===pe&&typeof e.functionality==="string"}toJSON(){return{name:this.name,message:this.message,stack:this.stack,functionality:this.functionality}}};he=ge;function isJSONValue(e){if(e===null||typeof e==="string"||typeof e==="number"||typeof e==="boolean"){return true}if(Array.isArray(e)){return e.every(isJSONValue)}if(typeof e==="object"){return Object.entries(e).every((([e,t])=>typeof e==="string"&&isJSONValue(t)))}return false}function isJSONArray(e){return Array.isArray(e)&&e.every(isJSONValue)}function isJSONObject(e){return e!=null&&typeof e==="object"&&Object.entries(e).every((([e,t])=>typeof e==="string"&&isJSONValue(t)))}var me=__nccwpck_require__(4642);function dist_createParser(e){let t;let r;let s;let n;let o;let i;let a;reset();return{feed:feed,reset:reset};function reset(){t=true;r="";s=0;n=-1;o=void 0;i=void 0;a=""}function feed(e){r=r?r+e:e;if(t&&hasBom(r)){r=r.slice(Ee.length)}t=false;const o=r.length;let i=0;let a=false;while(i0){r=r.slice(i)}}function parseEventStreamLine(t,r,s,n){if(n===0){if(a.length>0){e({type:"event",id:o,event:i||void 0,data:a.slice(0,-1)});a="";o=void 0}i=void 0;return}const A=s<0;const c=t.slice(r,r+(A?n:s));let l=0;if(A){l=n}else if(t[r+s+1]===" "){l=s+2}else{l=s+1}const u=r+l;const p=n-l;const d=t.slice(u,u+p).toString();if(c==="data"){a+=d?"".concat(d,"\n"):"\n"}else if(c==="event"){i=d}else if(c==="id"&&!d.includes("\0")){o=d}else if(c==="retry"){const t=parseInt(d,10);if(!Number.isNaN(t)){e({type:"reconnect-interval",value:t})}}}}const Ee=[239,187,191];function hasBom(e){return Ee.every(((t,r)=>e.charCodeAt(r)===t))}class EventSourceParserStream extends TransformStream{constructor(){let e;super({start(t){e=dist_createParser((e=>{if(e.type==="event"){t.enqueue(e)}}))},transform(t){e.feed(t)}})}}function combineHeaders(...e){return e.reduce(((e,t)=>({...e,...t!=null?t:{}})),{})}function convertAsyncGeneratorToReadableStream(e){return new ReadableStream({async pull(t){try{const{value:r,done:s}=await e.next();if(s){t.close()}else{t.enqueue(r)}}catch(e){t.error(e)}},cancel(){}})}function extractResponseHeaders(e){const t={};e.headers.forEach(((e,r)=>{t[r]=e}));return t}var Ce=customAlphabet("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",7);function dist_getErrorMessage(e){if(e==null){return"unknown error"}if(typeof e==="string"){return e}if(e instanceof Error){return e.message}return JSON.stringify(e)}function isAbortError(e){return e instanceof Error&&(e.name==="AbortError"||e.name==="TimeoutError")}function dist_loadApiKey({apiKey:e,environmentVariableName:t,apiKeyParameterName:r="apiKey",description:s}){if(typeof e==="string"){return e}if(e!=null){throw new L({message:`${s} API key must be a string.`})}if(typeof process==="undefined"){throw new L({message:`${s} API key is missing. Pass it using the '${r}' parameter. Environment variables is not supported in this environment.`})}e=process.env[t];if(e==null){throw new L({message:`${s} API key is missing. Pass it using the '${r}' parameter or the ${t} environment variable.`})}if(typeof e!=="string"){throw new L({message:`${s} API key must be a string. The value of the ${t} environment variable is not a string.`})}return e}function loadSetting({settingValue:e,environmentVariableName:t,settingName:r,description:s}){if(typeof e==="string"){return e}if(e!=null){throw new LoadSettingError({message:`${s} setting must be a string.`})}if(typeof process==="undefined"){throw new LoadSettingError({message:`${s} setting is missing. Pass it using the '${r}' parameter. Environment variables is not supported in this environment.`})}e=process.env[t];if(e==null){throw new LoadSettingError({message:`${s} setting is missing. Pass it using the '${r}' parameter or the ${t} environment variable.`})}if(typeof e!=="string"){throw new LoadSettingError({message:`${s} setting must be a string. The value of the ${t} environment variable is not a string.`})}return e}function loadOptionalSetting({settingValue:e,environmentVariableName:t}){if(typeof e==="string"){return e}if(e!=null||typeof process==="undefined"){return void 0}e=process.env[t];if(e==null||typeof e!=="string"){return void 0}return e}var Ie=Symbol.for("vercel.ai.validator");function validator(e){return{[Ie]:true,validate:e}}function isValidator(e){return typeof e==="object"&&e!==null&&Ie in e&&e[Ie]===true&&"validate"in e}function asValidator(e){return isValidator(e)?e:zodValidator(e)}function zodValidator(e){return validator((t=>{const r=e.safeParse(t);return r.success?{success:true,value:r.data}:{success:false,error:r.error}}))}function validateTypes({value:e,schema:t}){const r=safeValidateTypes({value:e,schema:t});if(!r.success){throw ue.wrap({value:e,cause:r.error})}return r.value}function safeValidateTypes({value:e,schema:t}){const r=asValidator(t);try{if(r.validate==null){return{success:true,value:e}}const t=r.validate(e);if(t.success){return t}return{success:false,error:ue.wrap({value:e,cause:t.error})}}catch(t){return{success:false,error:ue.wrap({value:e,cause:t})}}}function parseJSON({text:e,schema:t}){try{const r=me.parse(e);if(t==null){return r}return validateTypes({value:r,schema:t})}catch(t){if(F.isJSONParseError(t)||ue.isTypeValidationError(t)){throw t}throw new F({text:e,cause:t})}}function safeParseJSON({text:e,schema:t}){try{const r=me.parse(e);if(t==null){return{success:true,value:r}}return safeValidateTypes({value:r,schema:t})}catch(t){return{success:false,error:F.isJSONParseError(t)?t:new F({text:e,cause:t})}}}function isParsableJson(e){try{me.parse(e);return true}catch(e){return false}}var Be=null&&isParsableJson;function removeUndefinedEntries(e){return Object.fromEntries(Object.entries(e).filter((([e,t])=>t!=null)))}var getOriginalFetch=()=>globalThis.fetch;var postJsonToApi=async({url:e,headers:t,body:r,failedResponseHandler:s,successfulResponseHandler:n,abortSignal:o,fetch:i})=>postToApi({url:e,headers:{"Content-Type":"application/json",...t},body:{content:JSON.stringify(r),values:r},failedResponseHandler:s,successfulResponseHandler:n,abortSignal:o,fetch:i});var postToApi=async({url:e,headers:t={},body:r,successfulResponseHandler:s,failedResponseHandler:n,abortSignal:o,fetch:i=getOriginalFetch()})=>{try{const a=await i(e,{method:"POST",headers:removeUndefinedEntries(t),body:r.content,signal:o});const A=extractResponseHeaders(a);if(!a.ok){let t;try{t=await n({response:a,url:e,requestBodyValues:r.values})}catch(t){if(isAbortError(t)||d.isAPICallError(t)){throw t}throw new d({message:"Failed to process error response",cause:t,statusCode:a.status,url:e,responseHeaders:A,requestBodyValues:r.values})}throw t.value}try{return await s({response:a,url:e,requestBodyValues:r.values})}catch(t){if(t instanceof Error){if(isAbortError(t)||d.isAPICallError(t)){throw t}}throw new d({message:"Failed to process successful response",cause:t,statusCode:a.status,url:e,responseHeaders:A,requestBodyValues:r.values})}}catch(t){if(isAbortError(t)){throw t}if(t instanceof TypeError&&t.message==="fetch failed"){const s=t.cause;if(s!=null){throw new d({message:`Cannot connect to API: ${s.message}`,cause:s,url:e,requestBodyValues:r.values,isRetryable:true})}}throw t}};var createJsonErrorResponseHandler=({errorSchema:e,errorToMessage:t,isRetryable:r})=>async({response:s,url:n,requestBodyValues:o})=>{const i=await s.text();const a=extractResponseHeaders(s);if(i.trim()===""){return{responseHeaders:a,value:new d({message:s.statusText,url:n,requestBodyValues:o,statusCode:s.status,responseHeaders:a,responseBody:i,isRetryable:r==null?void 0:r(s)})}}try{const A=parseJSON({text:i,schema:e});return{responseHeaders:a,value:new d({message:t(A),url:n,requestBodyValues:o,statusCode:s.status,responseHeaders:a,responseBody:i,data:A,isRetryable:r==null?void 0:r(s,A)})}}catch(e){return{responseHeaders:a,value:new d({message:s.statusText,url:n,requestBodyValues:o,statusCode:s.status,responseHeaders:a,responseBody:i,isRetryable:r==null?void 0:r(s)})}}};var createEventSourceResponseHandler=e=>async({response:t})=>{const r=extractResponseHeaders(t);if(t.body==null){throw new C({})}return{responseHeaders:r,value:t.body.pipeThrough(new TextDecoderStream).pipeThrough(new EventSourceParserStream).pipeThrough(new TransformStream({transform({data:t},r){if(t==="[DONE]"){return}r.enqueue(safeParseJSON({text:t,schema:e}))}}))}};var createJsonStreamResponseHandler=e=>async({response:t})=>{const r=extractResponseHeaders(t);if(t.body==null){throw new EmptyResponseBodyError({})}let s="";return{responseHeaders:r,value:t.body.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({transform(t,r){if(t.endsWith("\n")){r.enqueue(safeParseJSON({text:s+t,schema:e}));s=""}else{s+=t}}}))}};var createJsonResponseHandler=e=>async({response:t,url:r,requestBodyValues:s})=>{const n=await t.text();const o=safeParseJSON({text:n,schema:e});const i=extractResponseHeaders(t);if(!o.success){throw new d({message:"Invalid JSON response",cause:o.error,statusCode:t.status,responseHeaders:i,responseBody:n,url:r,requestBodyValues:s})}return{responseHeaders:i,value:o.value}};var{btoa:Qe,atob:be}=globalThis;function convertBase64ToUint8Array(e){const t=e.replace(/-/g,"+").replace(/_/g,"/");const r=be(t);return Uint8Array.from(r,(e=>e.codePointAt(0)))}function convertUint8ArrayToBase64(e){let t="";for(let r=0;re;function assertIs(e){}e.assertIs=assertIs;function assertNever(e){throw new Error}e.assertNever=assertNever;e.arrayToEnum=e=>{const t={};for(const r of e){t[r]=r}return t};e.getValidEnumValues=t=>{const r=e.objectKeys(t).filter((e=>typeof t[t[e]]!=="number"));const s={};for(const e of r){s[e]=t[e]}return e.objectValues(s)};e.objectValues=t=>e.objectKeys(t).map((function(e){return t[e]}));e.objectKeys=typeof Object.keys==="function"?e=>Object.keys(e):e=>{const t=[];for(const r in e){if(Object.prototype.hasOwnProperty.call(e,r)){t.push(r)}}return t};e.find=(e,t)=>{for(const r of e){if(t(r))return r}return undefined};e.isInteger=typeof Number.isInteger==="function"?e=>Number.isInteger(e):e=>typeof e==="number"&&isFinite(e)&&Math.floor(e)===e;function joinValues(e,t=" | "){return e.map((e=>typeof e==="string"?`'${e}'`:e)).join(t)}e.joinValues=joinValues;e.jsonStringifyReplacer=(e,t)=>{if(typeof t==="bigint"){return t.toString()}return t}})(ve||(ve={}));var we;(function(e){e.mergeShapes=(e,t)=>({...e,...t})})(we||(we={}));const xe=ve.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);const getParsedType=e=>{const t=typeof e;switch(t){case"undefined":return xe.undefined;case"string":return xe.string;case"number":return isNaN(e)?xe.nan:xe.number;case"boolean":return xe.boolean;case"function":return xe.function;case"bigint":return xe.bigint;case"symbol":return xe.symbol;case"object":if(Array.isArray(e)){return xe.array}if(e===null){return xe.null}if(e.then&&typeof e.then==="function"&&e.catch&&typeof e.catch==="function"){return xe.promise}if(typeof Map!=="undefined"&&e instanceof Map){return xe.map}if(typeof Set!=="undefined"&&e instanceof Set){return xe.set}if(typeof Date!=="undefined"&&e instanceof Date){return xe.date}return xe.object;default:return xe.unknown}};const ke=ve.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);const quotelessJson=e=>{const t=JSON.stringify(e,null,2);return t.replace(/"([^"]+)":/g,"$1:")};class ZodError extends Error{constructor(e){super();this.issues=[];this.addIssue=e=>{this.issues=[...this.issues,e]};this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;if(Object.setPrototypeOf){Object.setPrototypeOf(this,t)}else{this.__proto__=t}this.name="ZodError";this.issues=e}get errors(){return this.issues}format(e){const t=e||function(e){return e.message};const r={_errors:[]};const processError=e=>{for(const s of e.issues){if(s.code==="invalid_union"){s.unionErrors.map(processError)}else if(s.code==="invalid_return_type"){processError(s.returnTypeError)}else if(s.code==="invalid_arguments"){processError(s.argumentsError)}else if(s.path.length===0){r._errors.push(t(s))}else{let e=r;let n=0;while(ne.message)){const t={};const r=[];for(const s of this.issues){if(s.path.length>0){t[s.path[0]]=t[s.path[0]]||[];t[s.path[0]].push(e(s))}else{r.push(e(s))}}return{formErrors:r,fieldErrors:t}}get formErrors(){return this.flatten()}}ZodError.create=e=>{const t=new ZodError(e);return t};const errorMap=(e,t)=>{let r;switch(e.code){case ke.invalid_type:if(e.received===xe.undefined){r="Required"}else{r=`Expected ${e.expected}, received ${e.received}`}break;case ke.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,ve.jsonStringifyReplacer)}`;break;case ke.unrecognized_keys:r=`Unrecognized key(s) in object: ${ve.joinValues(e.keys,", ")}`;break;case ke.invalid_union:r=`Invalid input`;break;case ke.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${ve.joinValues(e.options)}`;break;case ke.invalid_enum_value:r=`Invalid enum value. Expected ${ve.joinValues(e.options)}, received '${e.received}'`;break;case ke.invalid_arguments:r=`Invalid function arguments`;break;case ke.invalid_return_type:r=`Invalid function return type`;break;case ke.invalid_date:r=`Invalid date`;break;case ke.invalid_string:if(typeof e.validation==="object"){if("includes"in e.validation){r=`Invalid input: must include "${e.validation.includes}"`;if(typeof e.validation.position==="number"){r=`${r} at one or more positions greater than or equal to ${e.validation.position}`}}else if("startsWith"in e.validation){r=`Invalid input: must start with "${e.validation.startsWith}"`}else if("endsWith"in e.validation){r=`Invalid input: must end with "${e.validation.endsWith}"`}else{ve.assertNever(e.validation)}}else if(e.validation!=="regex"){r=`Invalid ${e.validation}`}else{r="Invalid"}break;case ke.too_small:if(e.type==="array")r=`Array must contain ${e.exact?"exactly":e.inclusive?`at least`:`more than`} ${e.minimum} element(s)`;else if(e.type==="string")r=`String must contain ${e.exact?"exactly":e.inclusive?`at least`:`over`} ${e.minimum} character(s)`;else if(e.type==="number")r=`Number must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${e.minimum}`;else if(e.type==="date")r=`Date must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${new Date(Number(e.minimum))}`;else r="Invalid input";break;case ke.too_big:if(e.type==="array")r=`Array must contain ${e.exact?`exactly`:e.inclusive?`at most`:`less than`} ${e.maximum} element(s)`;else if(e.type==="string")r=`String must contain ${e.exact?`exactly`:e.inclusive?`at most`:`under`} ${e.maximum} character(s)`;else if(e.type==="number")r=`Number must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`;else if(e.type==="bigint")r=`BigInt must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`;else if(e.type==="date")r=`Date must be ${e.exact?`exactly`:e.inclusive?`smaller than or equal to`:`smaller than`} ${new Date(Number(e.maximum))}`;else r="Invalid input";break;case ke.custom:r=`Invalid input`;break;case ke.invalid_intersection_types:r=`Intersection results could not be merged`;break;case ke.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case ke.not_finite:r="Number must be finite";break;default:r=t.defaultError;ve.assertNever(e)}return{message:r}};let Re=errorMap;function setErrorMap(e){Re=e}function getErrorMap(){return Re}const makeIssue=e=>{const{data:t,path:r,errorMaps:s,issueData:n}=e;const o=[...r,...n.path||[]];const i={...n,path:o};if(n.message!==undefined){return{...n,path:o,message:n.message}}let a="";const A=s.filter((e=>!!e)).slice().reverse();for(const e of A){a=e(i,{data:t,defaultError:a}).message}return{...n,path:o,message:a}};const Se=[];function addIssueToContext(e,t){const r=getErrorMap();const s=makeIssue({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===errorMap?undefined:errorMap].filter((e=>!!e))});e.common.issues.push(s)}class ParseStatus{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(e,t){const r=[];for(const s of t){if(s.status==="aborted")return De;if(s.status==="dirty")e.dirty();r.push(s.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,t){const r=[];for(const e of t){const t=await e.key;const s=await e.value;r.push({key:t,value:s})}return ParseStatus.mergeObjectSync(e,r)}static mergeObjectSync(e,t){const r={};for(const s of t){const{key:t,value:n}=s;if(t.status==="aborted")return De;if(n.status==="aborted")return De;if(t.status==="dirty")e.dirty();if(n.status==="dirty")e.dirty();if(t.value!=="__proto__"&&(typeof n.value!=="undefined"||s.alwaysSet)){r[t.value]=n.value}}return{status:e.value,value:r}}}const De=Object.freeze({status:"aborted"});const DIRTY=e=>({status:"dirty",value:e});const OK=e=>({status:"valid",value:e});const isAborted=e=>e.status==="aborted";const isDirty=e=>e.status==="dirty";const isValid=e=>e.status==="valid";const isAsync=e=>typeof Promise!=="undefined"&&e instanceof Promise;function __classPrivateFieldGet(e,t,r,s){if(r==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof t==="function"?e!==t||!s:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?s:r==="a"?s.call(e):s?s.value:t.get(e)}function __classPrivateFieldSet(e,t,r,s,n){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!n)throw new TypeError("Private accessor was defined without a setter");if(typeof t==="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?n.call(e,r):n?n.value=r:t.set(e,r),r}typeof SuppressedError==="function"?SuppressedError:function(e,t,r){var s=new Error(r);return s.name="SuppressedError",s.error=e,s.suppressed=t,s};var Te;(function(e){e.errToObj=e=>typeof e==="string"?{message:e}:e||{};e.toString=e=>typeof e==="string"?e:e===null||e===void 0?void 0:e.message})(Te||(Te={}));var _e,Fe;class ParseInputLazyPath{constructor(e,t,r,s){this._cachedPath=[];this.parent=e;this.data=t;this._path=r;this._key=s}get path(){if(!this._cachedPath.length){if(this._key instanceof Array){this._cachedPath.push(...this._path,...this._key)}else{this._cachedPath.push(...this._path,this._key)}}return this._cachedPath}}const handleResult=(e,t)=>{if(isValid(t)){return{success:true,data:t.value}}else{if(!e.common.issues.length){throw new Error("Validation failed but no issues detected.")}return{success:false,get error(){if(this._error)return this._error;const t=new ZodError(e.common.issues);this._error=t;return this._error}}}};function processCreateParams(e){if(!e)return{};const{errorMap:t,invalid_type_error:r,required_error:s,description:n}=e;if(t&&(r||s)){throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`)}if(t)return{errorMap:t,description:n};const customMap=(t,n)=>{var o,i;const{message:a}=e;if(t.code==="invalid_enum_value"){return{message:a!==null&&a!==void 0?a:n.defaultError}}if(typeof n.data==="undefined"){return{message:(o=a!==null&&a!==void 0?a:s)!==null&&o!==void 0?o:n.defaultError}}if(t.code!=="invalid_type")return{message:n.defaultError};return{message:(i=a!==null&&a!==void 0?a:r)!==null&&i!==void 0?i:n.defaultError}};return{errorMap:customMap,description:n}}class ZodType{constructor(e){this.spa=this.safeParseAsync;this._def=e;this.parse=this.parse.bind(this);this.safeParse=this.safeParse.bind(this);this.parseAsync=this.parseAsync.bind(this);this.safeParseAsync=this.safeParseAsync.bind(this);this.spa=this.spa.bind(this);this.refine=this.refine.bind(this);this.refinement=this.refinement.bind(this);this.superRefine=this.superRefine.bind(this);this.optional=this.optional.bind(this);this.nullable=this.nullable.bind(this);this.nullish=this.nullish.bind(this);this.array=this.array.bind(this);this.promise=this.promise.bind(this);this.or=this.or.bind(this);this.and=this.and.bind(this);this.transform=this.transform.bind(this);this.brand=this.brand.bind(this);this.default=this.default.bind(this);this.catch=this.catch.bind(this);this.describe=this.describe.bind(this);this.pipe=this.pipe.bind(this);this.readonly=this.readonly.bind(this);this.isNullable=this.isNullable.bind(this);this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return getParsedType(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:getParsedType(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new ParseStatus,ctx:{common:e.parent.common,data:e.data,parsedType:getParsedType(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(isAsync(t)){throw new Error("Synchronous parse encountered promise.")}return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const r=this.safeParse(e,t);if(r.success)return r.data;throw r.error}safeParse(e,t){var r;const s={common:{issues:[],async:(r=t===null||t===void 0?void 0:t.async)!==null&&r!==void 0?r:false,contextualErrorMap:t===null||t===void 0?void 0:t.errorMap},path:(t===null||t===void 0?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:getParsedType(e)};const n=this._parseSync({data:e,path:s.path,parent:s});return handleResult(s,n)}async parseAsync(e,t){const r=await this.safeParseAsync(e,t);if(r.success)return r.data;throw r.error}async safeParseAsync(e,t){const r={common:{issues:[],contextualErrorMap:t===null||t===void 0?void 0:t.errorMap,async:true},path:(t===null||t===void 0?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:getParsedType(e)};const s=this._parse({data:e,path:r.path,parent:r});const n=await(isAsync(s)?s:Promise.resolve(s));return handleResult(r,n)}refine(e,t){const getIssueProperties=e=>{if(typeof t==="string"||typeof t==="undefined"){return{message:t}}else if(typeof t==="function"){return t(e)}else{return t}};return this._refinement(((t,r)=>{const s=e(t);const setError=()=>r.addIssue({code:ke.custom,...getIssueProperties(t)});if(typeof Promise!=="undefined"&&s instanceof Promise){return s.then((e=>{if(!e){setError();return false}else{return true}}))}if(!s){setError();return false}else{return true}}))}refinement(e,t){return this._refinement(((r,s)=>{if(!e(r)){s.addIssue(typeof t==="function"?t(r,s):t);return false}else{return true}}))}_refinement(e){return new ZodEffects({schema:this,typeName:Ke.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return ZodOptional.create(this,this._def)}nullable(){return ZodNullable.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ZodArray.create(this,this._def)}promise(){return ZodPromise.create(this,this._def)}or(e){return ZodUnion.create([this,e],this._def)}and(e){return ZodIntersection.create(this,e,this._def)}transform(e){return new ZodEffects({...processCreateParams(this._def),schema:this,typeName:Ke.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e==="function"?e:()=>e;return new ZodDefault({...processCreateParams(this._def),innerType:this,defaultValue:t,typeName:Ke.ZodDefault})}brand(){return new ZodBranded({typeName:Ke.ZodBranded,type:this,...processCreateParams(this._def)})}catch(e){const t=typeof e==="function"?e:()=>e;return new ZodCatch({...processCreateParams(this._def),innerType:this,catchValue:t,typeName:Ke.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return ZodPipeline.create(this,e)}readonly(){return ZodReadonly.create(this)}isOptional(){return this.safeParse(undefined).success}isNullable(){return this.safeParse(null).success}}const Ne=/^c[^\s-]{8,}$/i;const Ue=/^[0-9a-z]+$/;const Me=/^[0-9A-HJKMNP-TV-Z]{26}$/;const Oe=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i;const Le=/^[a-z0-9_-]{21}$/i;const Pe=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/;const Ge=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i;const je=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;let He;const Je=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;const Ve=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;const Ye=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;const qe=`((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))`;const We=new RegExp(`^${qe}$`);function timeRegexSource(e){let t=`([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d`;if(e.precision){t=`${t}\\.\\d{${e.precision}}`}else if(e.precision==null){t=`${t}(\\.\\d+)?`}return t}function timeRegex(e){return new RegExp(`^${timeRegexSource(e)}$`)}function datetimeRegex(e){let t=`${qe}T${timeRegexSource(e)}`;const r=[];r.push(e.local?`Z?`:`Z`);if(e.offset)r.push(`([+-]\\d{2}:?\\d{2})`);t=`${t}(${r.join("|")})`;return new RegExp(`^${t}$`)}function isValidIP(e,t){if((t==="v4"||!t)&&Je.test(e)){return true}if((t==="v6"||!t)&&Ve.test(e)){return true}return false}class ZodString extends ZodType{_parse(e){if(this._def.coerce){e.data=String(e.data)}const t=this._getType(e);if(t!==xe.string){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_type,expected:xe.string,received:t.parsedType});return De}const r=new ParseStatus;let s=undefined;for(const t of this._def.checks){if(t.kind==="min"){if(e.data.lengtht.value){s=this._getOrReturnCtx(e,s);addIssueToContext(s,{code:ke.too_big,maximum:t.value,type:"string",inclusive:true,exact:false,message:t.message});r.dirty()}}else if(t.kind==="length"){const n=e.data.length>t.value;const o=e.data.lengthe.test(t)),{validation:t,code:ke.invalid_string,...Te.errToObj(r)})}_addCheck(e){return new ZodString({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...Te.errToObj(e)})}url(e){return this._addCheck({kind:"url",...Te.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...Te.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...Te.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...Te.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...Te.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...Te.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...Te.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...Te.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...Te.errToObj(e)})}datetime(e){var t,r;if(typeof e==="string"){return this._addCheck({kind:"datetime",precision:null,offset:false,local:false,message:e})}return this._addCheck({kind:"datetime",precision:typeof(e===null||e===void 0?void 0:e.precision)==="undefined"?null:e===null||e===void 0?void 0:e.precision,offset:(t=e===null||e===void 0?void 0:e.offset)!==null&&t!==void 0?t:false,local:(r=e===null||e===void 0?void 0:e.local)!==null&&r!==void 0?r:false,...Te.errToObj(e===null||e===void 0?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){if(typeof e==="string"){return this._addCheck({kind:"time",precision:null,message:e})}return this._addCheck({kind:"time",precision:typeof(e===null||e===void 0?void 0:e.precision)==="undefined"?null:e===null||e===void 0?void 0:e.precision,...Te.errToObj(e===null||e===void 0?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...Te.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...Te.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t===null||t===void 0?void 0:t.position,...Te.errToObj(t===null||t===void 0?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...Te.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...Te.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...Te.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...Te.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...Te.errToObj(t)})}nonempty(e){return this.min(1,Te.errToObj(e))}trim(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((e=>e.kind==="datetime"))}get isDate(){return!!this._def.checks.find((e=>e.kind==="date"))}get isTime(){return!!this._def.checks.find((e=>e.kind==="time"))}get isDuration(){return!!this._def.checks.find((e=>e.kind==="duration"))}get isEmail(){return!!this._def.checks.find((e=>e.kind==="email"))}get isURL(){return!!this._def.checks.find((e=>e.kind==="url"))}get isEmoji(){return!!this._def.checks.find((e=>e.kind==="emoji"))}get isUUID(){return!!this._def.checks.find((e=>e.kind==="uuid"))}get isNANOID(){return!!this._def.checks.find((e=>e.kind==="nanoid"))}get isCUID(){return!!this._def.checks.find((e=>e.kind==="cuid"))}get isCUID2(){return!!this._def.checks.find((e=>e.kind==="cuid2"))}get isULID(){return!!this._def.checks.find((e=>e.kind==="ulid"))}get isIP(){return!!this._def.checks.find((e=>e.kind==="ip"))}get isBase64(){return!!this._def.checks.find((e=>e.kind==="base64"))}get minLength(){let e=null;for(const t of this._def.checks){if(t.kind==="min"){if(e===null||t.value>e)e=t.value}}return e}get maxLength(){let e=null;for(const t of this._def.checks){if(t.kind==="max"){if(e===null||t.value{var t;return new ZodString({checks:[],typeName:Ke.ZodString,coerce:(t=e===null||e===void 0?void 0:e.coerce)!==null&&t!==void 0?t:false,...processCreateParams(e)})};function floatSafeRemainder(e,t){const r=(e.toString().split(".")[1]||"").length;const s=(t.toString().split(".")[1]||"").length;const n=r>s?r:s;const o=parseInt(e.toFixed(n).replace(".",""));const i=parseInt(t.toFixed(n).replace(".",""));return o%i/Math.pow(10,n)}class ZodNumber extends ZodType{constructor(){super(...arguments);this.min=this.gte;this.max=this.lte;this.step=this.multipleOf}_parse(e){if(this._def.coerce){e.data=Number(e.data)}const t=this._getType(e);if(t!==xe.number){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_type,expected:xe.number,received:t.parsedType});return De}let r=undefined;const s=new ParseStatus;for(const t of this._def.checks){if(t.kind==="int"){if(!ve.isInteger(e.data)){r=this._getOrReturnCtx(e,r);addIssueToContext(r,{code:ke.invalid_type,expected:"integer",received:"float",message:t.message});s.dirty()}}else if(t.kind==="min"){const n=t.inclusive?e.datat.value:e.data>=t.value;if(n){r=this._getOrReturnCtx(e,r);addIssueToContext(r,{code:ke.too_big,maximum:t.value,type:"number",inclusive:t.inclusive,exact:false,message:t.message});s.dirty()}}else if(t.kind==="multipleOf"){if(floatSafeRemainder(e.data,t.value)!==0){r=this._getOrReturnCtx(e,r);addIssueToContext(r,{code:ke.not_multiple_of,multipleOf:t.value,message:t.message});s.dirty()}}else if(t.kind==="finite"){if(!Number.isFinite(e.data)){r=this._getOrReturnCtx(e,r);addIssueToContext(r,{code:ke.not_finite,message:t.message});s.dirty()}}else{ve.assertNever(t)}}return{status:s.value,value:e.data}}gte(e,t){return this.setLimit("min",e,true,Te.toString(t))}gt(e,t){return this.setLimit("min",e,false,Te.toString(t))}lte(e,t){return this.setLimit("max",e,true,Te.toString(t))}lt(e,t){return this.setLimit("max",e,false,Te.toString(t))}setLimit(e,t,r,s){return new ZodNumber({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:Te.toString(s)}]})}_addCheck(e){return new ZodNumber({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:Te.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:false,message:Te.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:false,message:Te.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:true,message:Te.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:true,message:Te.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Te.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:Te.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:true,value:Number.MIN_SAFE_INTEGER,message:Te.toString(e)})._addCheck({kind:"max",inclusive:true,value:Number.MAX_SAFE_INTEGER,message:Te.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks){if(t.kind==="min"){if(e===null||t.value>e)e=t.value}}return e}get maxValue(){let e=null;for(const t of this._def.checks){if(t.kind==="max"){if(e===null||t.valuee.kind==="int"||e.kind==="multipleOf"&&ve.isInteger(e.value)))}get isFinite(){let e=null,t=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf"){return true}else if(r.kind==="min"){if(t===null||r.value>t)t=r.value}else if(r.kind==="max"){if(e===null||r.valuenew ZodNumber({checks:[],typeName:Ke.ZodNumber,coerce:(e===null||e===void 0?void 0:e.coerce)||false,...processCreateParams(e)});class ZodBigInt extends ZodType{constructor(){super(...arguments);this.min=this.gte;this.max=this.lte}_parse(e){if(this._def.coerce){e.data=BigInt(e.data)}const t=this._getType(e);if(t!==xe.bigint){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_type,expected:xe.bigint,received:t.parsedType});return De}let r=undefined;const s=new ParseStatus;for(const t of this._def.checks){if(t.kind==="min"){const n=t.inclusive?e.datat.value:e.data>=t.value;if(n){r=this._getOrReturnCtx(e,r);addIssueToContext(r,{code:ke.too_big,type:"bigint",maximum:t.value,inclusive:t.inclusive,message:t.message});s.dirty()}}else if(t.kind==="multipleOf"){if(e.data%t.value!==BigInt(0)){r=this._getOrReturnCtx(e,r);addIssueToContext(r,{code:ke.not_multiple_of,multipleOf:t.value,message:t.message});s.dirty()}}else{ve.assertNever(t)}}return{status:s.value,value:e.data}}gte(e,t){return this.setLimit("min",e,true,Te.toString(t))}gt(e,t){return this.setLimit("min",e,false,Te.toString(t))}lte(e,t){return this.setLimit("max",e,true,Te.toString(t))}lt(e,t){return this.setLimit("max",e,false,Te.toString(t))}setLimit(e,t,r,s){return new ZodBigInt({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:Te.toString(s)}]})}_addCheck(e){return new ZodBigInt({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:false,message:Te.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:false,message:Te.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:true,message:Te.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:true,message:Te.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Te.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks){if(t.kind==="min"){if(e===null||t.value>e)e=t.value}}return e}get maxValue(){let e=null;for(const t of this._def.checks){if(t.kind==="max"){if(e===null||t.value{var t;return new ZodBigInt({checks:[],typeName:Ke.ZodBigInt,coerce:(t=e===null||e===void 0?void 0:e.coerce)!==null&&t!==void 0?t:false,...processCreateParams(e)})};class ZodBoolean extends ZodType{_parse(e){if(this._def.coerce){e.data=Boolean(e.data)}const t=this._getType(e);if(t!==xe.boolean){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_type,expected:xe.boolean,received:t.parsedType});return De}return OK(e.data)}}ZodBoolean.create=e=>new ZodBoolean({typeName:Ke.ZodBoolean,coerce:(e===null||e===void 0?void 0:e.coerce)||false,...processCreateParams(e)});class ZodDate extends ZodType{_parse(e){if(this._def.coerce){e.data=new Date(e.data)}const t=this._getType(e);if(t!==xe.date){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_type,expected:xe.date,received:t.parsedType});return De}if(isNaN(e.data.getTime())){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_date});return De}const r=new ParseStatus;let s=undefined;for(const t of this._def.checks){if(t.kind==="min"){if(e.data.getTime()t.value){s=this._getOrReturnCtx(e,s);addIssueToContext(s,{code:ke.too_big,message:t.message,inclusive:true,exact:false,maximum:t.value,type:"date"});r.dirty()}}else{ve.assertNever(t)}}return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new ZodDate({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:Te.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:Te.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks){if(t.kind==="min"){if(e===null||t.value>e)e=t.value}}return e!=null?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks){if(t.kind==="max"){if(e===null||t.valuenew ZodDate({checks:[],coerce:(e===null||e===void 0?void 0:e.coerce)||false,typeName:Ke.ZodDate,...processCreateParams(e)});class ZodSymbol extends ZodType{_parse(e){const t=this._getType(e);if(t!==xe.symbol){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_type,expected:xe.symbol,received:t.parsedType});return De}return OK(e.data)}}ZodSymbol.create=e=>new ZodSymbol({typeName:Ke.ZodSymbol,...processCreateParams(e)});class ZodUndefined extends ZodType{_parse(e){const t=this._getType(e);if(t!==xe.undefined){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_type,expected:xe.undefined,received:t.parsedType});return De}return OK(e.data)}}ZodUndefined.create=e=>new ZodUndefined({typeName:Ke.ZodUndefined,...processCreateParams(e)});class ZodNull extends ZodType{_parse(e){const t=this._getType(e);if(t!==xe.null){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_type,expected:xe.null,received:t.parsedType});return De}return OK(e.data)}}ZodNull.create=e=>new ZodNull({typeName:Ke.ZodNull,...processCreateParams(e)});class ZodAny extends ZodType{constructor(){super(...arguments);this._any=true}_parse(e){return OK(e.data)}}ZodAny.create=e=>new ZodAny({typeName:Ke.ZodAny,...processCreateParams(e)});class ZodUnknown extends ZodType{constructor(){super(...arguments);this._unknown=true}_parse(e){return OK(e.data)}}ZodUnknown.create=e=>new ZodUnknown({typeName:Ke.ZodUnknown,...processCreateParams(e)});class ZodNever extends ZodType{_parse(e){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_type,expected:xe.never,received:t.parsedType});return De}}ZodNever.create=e=>new ZodNever({typeName:Ke.ZodNever,...processCreateParams(e)});class ZodVoid extends ZodType{_parse(e){const t=this._getType(e);if(t!==xe.undefined){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_type,expected:xe.void,received:t.parsedType});return De}return OK(e.data)}}ZodVoid.create=e=>new ZodVoid({typeName:Ke.ZodVoid,...processCreateParams(e)});class ZodArray extends ZodType{_parse(e){const{ctx:t,status:r}=this._processInputParams(e);const s=this._def;if(t.parsedType!==xe.array){addIssueToContext(t,{code:ke.invalid_type,expected:xe.array,received:t.parsedType});return De}if(s.exactLength!==null){const e=t.data.length>s.exactLength.value;const n=t.data.lengths.maxLength.value){addIssueToContext(t,{code:ke.too_big,maximum:s.maxLength.value,type:"array",inclusive:true,exact:false,message:s.maxLength.message});r.dirty()}}if(t.common.async){return Promise.all([...t.data].map(((e,r)=>s.type._parseAsync(new ParseInputLazyPath(t,e,t.path,r))))).then((e=>ParseStatus.mergeArray(r,e)))}const n=[...t.data].map(((e,r)=>s.type._parseSync(new ParseInputLazyPath(t,e,t.path,r))));return ParseStatus.mergeArray(r,n)}get element(){return this._def.type}min(e,t){return new ZodArray({...this._def,minLength:{value:e,message:Te.toString(t)}})}max(e,t){return new ZodArray({...this._def,maxLength:{value:e,message:Te.toString(t)}})}length(e,t){return new ZodArray({...this._def,exactLength:{value:e,message:Te.toString(t)}})}nonempty(e){return this.min(1,e)}}ZodArray.create=(e,t)=>new ZodArray({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Ke.ZodArray,...processCreateParams(t)});function deepPartialify(e){if(e instanceof ZodObject){const t={};for(const r in e.shape){const s=e.shape[r];t[r]=ZodOptional.create(deepPartialify(s))}return new ZodObject({...e._def,shape:()=>t})}else if(e instanceof ZodArray){return new ZodArray({...e._def,type:deepPartialify(e.element)})}else if(e instanceof ZodOptional){return ZodOptional.create(deepPartialify(e.unwrap()))}else if(e instanceof ZodNullable){return ZodNullable.create(deepPartialify(e.unwrap()))}else if(e instanceof ZodTuple){return ZodTuple.create(e.items.map((e=>deepPartialify(e))))}else{return e}}class ZodObject extends ZodType{constructor(){super(...arguments);this._cached=null;this.nonstrict=this.passthrough;this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape();const t=ve.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){const t=this._getType(e);if(t!==xe.object){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_type,expected:xe.object,received:t.parsedType});return De}const{status:r,ctx:s}=this._processInputParams(e);const{shape:n,keys:o}=this._getCached();const i=[];if(!(this._def.catchall instanceof ZodNever&&this._def.unknownKeys==="strip")){for(const e in s.data){if(!o.includes(e)){i.push(e)}}}const a=[];for(const e of o){const t=n[e];const r=s.data[e];a.push({key:{status:"valid",value:e},value:t._parse(new ParseInputLazyPath(s,r,s.path,e)),alwaysSet:e in s.data})}if(this._def.catchall instanceof ZodNever){const e=this._def.unknownKeys;if(e==="passthrough"){for(const e of i){a.push({key:{status:"valid",value:e},value:{status:"valid",value:s.data[e]}})}}else if(e==="strict"){if(i.length>0){addIssueToContext(s,{code:ke.unrecognized_keys,keys:i});r.dirty()}}else if(e==="strip");else{throw new Error(`Internal ZodObject error: invalid unknownKeys value.`)}}else{const e=this._def.catchall;for(const t of i){const r=s.data[t];a.push({key:{status:"valid",value:t},value:e._parse(new ParseInputLazyPath(s,r,s.path,t)),alwaysSet:t in s.data})}}if(s.common.async){return Promise.resolve().then((async()=>{const e=[];for(const t of a){const r=await t.key;const s=await t.value;e.push({key:r,value:s,alwaysSet:t.alwaysSet})}return e})).then((e=>ParseStatus.mergeObjectSync(r,e)))}else{return ParseStatus.mergeObjectSync(r,a)}}get shape(){return this._def.shape()}strict(e){Te.errToObj;return new ZodObject({...this._def,unknownKeys:"strict",...e!==undefined?{errorMap:(t,r)=>{var s,n,o,i;const a=(o=(n=(s=this._def).errorMap)===null||n===void 0?void 0:n.call(s,t,r).message)!==null&&o!==void 0?o:r.defaultError;if(t.code==="unrecognized_keys")return{message:(i=Te.errToObj(e).message)!==null&&i!==void 0?i:a};return{message:a}}}:{}})}strip(){return new ZodObject({...this._def,unknownKeys:"strip"})}passthrough(){return new ZodObject({...this._def,unknownKeys:"passthrough"})}extend(e){return new ZodObject({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){const t=new ZodObject({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:Ke.ZodObject});return t}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new ZodObject({...this._def,catchall:e})}pick(e){const t={};ve.objectKeys(e).forEach((r=>{if(e[r]&&this.shape[r]){t[r]=this.shape[r]}}));return new ZodObject({...this._def,shape:()=>t})}omit(e){const t={};ve.objectKeys(this.shape).forEach((r=>{if(!e[r]){t[r]=this.shape[r]}}));return new ZodObject({...this._def,shape:()=>t})}deepPartial(){return deepPartialify(this)}partial(e){const t={};ve.objectKeys(this.shape).forEach((r=>{const s=this.shape[r];if(e&&!e[r]){t[r]=s}else{t[r]=s.optional()}}));return new ZodObject({...this._def,shape:()=>t})}required(e){const t={};ve.objectKeys(this.shape).forEach((r=>{if(e&&!e[r]){t[r]=this.shape[r]}else{const e=this.shape[r];let s=e;while(s instanceof ZodOptional){s=s._def.innerType}t[r]=s}}));return new ZodObject({...this._def,shape:()=>t})}keyof(){return createZodEnum(ve.objectKeys(this.shape))}}ZodObject.create=(e,t)=>new ZodObject({shape:()=>e,unknownKeys:"strip",catchall:ZodNever.create(),typeName:Ke.ZodObject,...processCreateParams(t)});ZodObject.strictCreate=(e,t)=>new ZodObject({shape:()=>e,unknownKeys:"strict",catchall:ZodNever.create(),typeName:Ke.ZodObject,...processCreateParams(t)});ZodObject.lazycreate=(e,t)=>new ZodObject({shape:e,unknownKeys:"strip",catchall:ZodNever.create(),typeName:Ke.ZodObject,...processCreateParams(t)});class ZodUnion extends ZodType{_parse(e){const{ctx:t}=this._processInputParams(e);const r=this._def.options;function handleResults(e){for(const t of e){if(t.result.status==="valid"){return t.result}}for(const r of e){if(r.result.status==="dirty"){t.common.issues.push(...r.ctx.common.issues);return r.result}}const r=e.map((e=>new ZodError(e.ctx.common.issues)));addIssueToContext(t,{code:ke.invalid_union,unionErrors:r});return De}if(t.common.async){return Promise.all(r.map((async e=>{const r={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:r}),ctx:r}}))).then(handleResults)}else{let e=undefined;const s=[];for(const n of r){const r={...t,common:{...t.common,issues:[]},parent:null};const o=n._parseSync({data:t.data,path:t.path,parent:r});if(o.status==="valid"){return o}else if(o.status==="dirty"&&!e){e={result:o,ctx:r}}if(r.common.issues.length){s.push(r.common.issues)}}if(e){t.common.issues.push(...e.ctx.common.issues);return e.result}const n=s.map((e=>new ZodError(e)));addIssueToContext(t,{code:ke.invalid_union,unionErrors:n});return De}}get options(){return this._def.options}}ZodUnion.create=(e,t)=>new ZodUnion({options:e,typeName:Ke.ZodUnion,...processCreateParams(t)});const getDiscriminator=e=>{if(e instanceof ZodLazy){return getDiscriminator(e.schema)}else if(e instanceof ZodEffects){return getDiscriminator(e.innerType())}else if(e instanceof ZodLiteral){return[e.value]}else if(e instanceof ZodEnum){return e.options}else if(e instanceof ZodNativeEnum){return ve.objectValues(e.enum)}else if(e instanceof ZodDefault){return getDiscriminator(e._def.innerType)}else if(e instanceof ZodUndefined){return[undefined]}else if(e instanceof ZodNull){return[null]}else if(e instanceof ZodOptional){return[undefined,...getDiscriminator(e.unwrap())]}else if(e instanceof ZodNullable){return[null,...getDiscriminator(e.unwrap())]}else if(e instanceof ZodBranded){return getDiscriminator(e.unwrap())}else if(e instanceof ZodReadonly){return getDiscriminator(e.unwrap())}else if(e instanceof ZodCatch){return getDiscriminator(e._def.innerType)}else{return[]}};class ZodDiscriminatedUnion extends ZodType{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==xe.object){addIssueToContext(t,{code:ke.invalid_type,expected:xe.object,received:t.parsedType});return De}const r=this.discriminator;const s=t.data[r];const n=this.optionsMap.get(s);if(!n){addIssueToContext(t,{code:ke.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]});return De}if(t.common.async){return n._parseAsync({data:t.data,path:t.path,parent:t})}else{return n._parseSync({data:t.data,path:t.path,parent:t})}}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,r){const s=new Map;for(const r of t){const t=getDiscriminator(r.shape[e]);if(!t.length){throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`)}for(const n of t){if(s.has(n)){throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(n)}`)}s.set(n,r)}}return new ZodDiscriminatedUnion({typeName:Ke.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:s,...processCreateParams(r)})}}function mergeValues(e,t){const r=getParsedType(e);const s=getParsedType(t);if(e===t){return{valid:true,data:e}}else if(r===xe.object&&s===xe.object){const r=ve.objectKeys(t);const s=ve.objectKeys(e).filter((e=>r.indexOf(e)!==-1));const n={...e,...t};for(const r of s){const s=mergeValues(e[r],t[r]);if(!s.valid){return{valid:false}}n[r]=s.data}return{valid:true,data:n}}else if(r===xe.array&&s===xe.array){if(e.length!==t.length){return{valid:false}}const r=[];for(let s=0;s{if(isAborted(e)||isAborted(s)){return De}const n=mergeValues(e.value,s.value);if(!n.valid){addIssueToContext(r,{code:ke.invalid_intersection_types});return De}if(isDirty(e)||isDirty(s)){t.dirty()}return{status:t.value,value:n.data}};if(r.common.async){return Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then((([e,t])=>handleParsed(e,t)))}else{return handleParsed(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}}ZodIntersection.create=(e,t,r)=>new ZodIntersection({left:e,right:t,typeName:Ke.ZodIntersection,...processCreateParams(r)});class ZodTuple extends ZodType{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==xe.array){addIssueToContext(r,{code:ke.invalid_type,expected:xe.array,received:r.parsedType});return De}if(r.data.lengththis._def.items.length){addIssueToContext(r,{code:ke.too_big,maximum:this._def.items.length,inclusive:true,exact:false,type:"array"});t.dirty()}const n=[...r.data].map(((e,t)=>{const s=this._def.items[t]||this._def.rest;if(!s)return null;return s._parse(new ParseInputLazyPath(r,e,r.path,t))})).filter((e=>!!e));if(r.common.async){return Promise.all(n).then((e=>ParseStatus.mergeArray(t,e)))}else{return ParseStatus.mergeArray(t,n)}}get items(){return this._def.items}rest(e){return new ZodTuple({...this._def,rest:e})}}ZodTuple.create=(e,t)=>{if(!Array.isArray(e)){throw new Error("You must pass an array of schemas to z.tuple([ ... ])")}return new ZodTuple({items:e,typeName:Ke.ZodTuple,rest:null,...processCreateParams(t)})};class ZodRecord extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==xe.object){addIssueToContext(r,{code:ke.invalid_type,expected:xe.object,received:r.parsedType});return De}const s=[];const n=this._def.keyType;const o=this._def.valueType;for(const e in r.data){s.push({key:n._parse(new ParseInputLazyPath(r,e,r.path,e)),value:o._parse(new ParseInputLazyPath(r,r.data[e],r.path,e)),alwaysSet:e in r.data})}if(r.common.async){return ParseStatus.mergeObjectAsync(t,s)}else{return ParseStatus.mergeObjectSync(t,s)}}get element(){return this._def.valueType}static create(e,t,r){if(t instanceof ZodType){return new ZodRecord({keyType:e,valueType:t,typeName:Ke.ZodRecord,...processCreateParams(r)})}return new ZodRecord({keyType:ZodString.create(),valueType:e,typeName:Ke.ZodRecord,...processCreateParams(t)})}}class ZodMap extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==xe.map){addIssueToContext(r,{code:ke.invalid_type,expected:xe.map,received:r.parsedType});return De}const s=this._def.keyType;const n=this._def.valueType;const o=[...r.data.entries()].map((([e,t],o)=>({key:s._parse(new ParseInputLazyPath(r,e,r.path,[o,"key"])),value:n._parse(new ParseInputLazyPath(r,t,r.path,[o,"value"]))})));if(r.common.async){const e=new Map;return Promise.resolve().then((async()=>{for(const r of o){const s=await r.key;const n=await r.value;if(s.status==="aborted"||n.status==="aborted"){return De}if(s.status==="dirty"||n.status==="dirty"){t.dirty()}e.set(s.value,n.value)}return{status:t.value,value:e}}))}else{const e=new Map;for(const r of o){const s=r.key;const n=r.value;if(s.status==="aborted"||n.status==="aborted"){return De}if(s.status==="dirty"||n.status==="dirty"){t.dirty()}e.set(s.value,n.value)}return{status:t.value,value:e}}}}ZodMap.create=(e,t,r)=>new ZodMap({valueType:t,keyType:e,typeName:Ke.ZodMap,...processCreateParams(r)});class ZodSet extends ZodType{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==xe.set){addIssueToContext(r,{code:ke.invalid_type,expected:xe.set,received:r.parsedType});return De}const s=this._def;if(s.minSize!==null){if(r.data.sizes.maxSize.value){addIssueToContext(r,{code:ke.too_big,maximum:s.maxSize.value,type:"set",inclusive:true,exact:false,message:s.maxSize.message});t.dirty()}}const n=this._def.valueType;function finalizeSet(e){const r=new Set;for(const s of e){if(s.status==="aborted")return De;if(s.status==="dirty")t.dirty();r.add(s.value)}return{status:t.value,value:r}}const o=[...r.data.values()].map(((e,t)=>n._parse(new ParseInputLazyPath(r,e,r.path,t))));if(r.common.async){return Promise.all(o).then((e=>finalizeSet(e)))}else{return finalizeSet(o)}}min(e,t){return new ZodSet({...this._def,minSize:{value:e,message:Te.toString(t)}})}max(e,t){return new ZodSet({...this._def,maxSize:{value:e,message:Te.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}ZodSet.create=(e,t)=>new ZodSet({valueType:e,minSize:null,maxSize:null,typeName:Ke.ZodSet,...processCreateParams(t)});class ZodFunction extends ZodType{constructor(){super(...arguments);this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==xe.function){addIssueToContext(t,{code:ke.invalid_type,expected:xe.function,received:t.parsedType});return De}function makeArgsIssue(e,r){return makeIssue({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,getErrorMap(),errorMap].filter((e=>!!e)),issueData:{code:ke.invalid_arguments,argumentsError:r}})}function makeReturnsIssue(e,r){return makeIssue({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,getErrorMap(),errorMap].filter((e=>!!e)),issueData:{code:ke.invalid_return_type,returnTypeError:r}})}const r={errorMap:t.common.contextualErrorMap};const s=t.data;if(this._def.returns instanceof ZodPromise){const e=this;return OK((async function(...t){const n=new ZodError([]);const o=await e._def.args.parseAsync(t,r).catch((e=>{n.addIssue(makeArgsIssue(t,e));throw n}));const i=await Reflect.apply(s,this,o);const a=await e._def.returns._def.type.parseAsync(i,r).catch((e=>{n.addIssue(makeReturnsIssue(i,e));throw n}));return a}))}else{const e=this;return OK((function(...t){const n=e._def.args.safeParse(t,r);if(!n.success){throw new ZodError([makeArgsIssue(t,n.error)])}const o=Reflect.apply(s,this,n.data);const i=e._def.returns.safeParse(o,r);if(!i.success){throw new ZodError([makeReturnsIssue(o,i.error)])}return i.data}))}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new ZodFunction({...this._def,args:ZodTuple.create(e).rest(ZodUnknown.create())})}returns(e){return new ZodFunction({...this._def,returns:e})}implement(e){const t=this.parse(e);return t}strictImplement(e){const t=this.parse(e);return t}static create(e,t,r){return new ZodFunction({args:e?e:ZodTuple.create([]).rest(ZodUnknown.create()),returns:t||ZodUnknown.create(),typeName:Ke.ZodFunction,...processCreateParams(r)})}}class ZodLazy extends ZodType{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);const r=this._def.getter();return r._parse({data:t.data,path:t.path,parent:t})}}ZodLazy.create=(e,t)=>new ZodLazy({getter:e,typeName:Ke.ZodLazy,...processCreateParams(t)});class ZodLiteral extends ZodType{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);addIssueToContext(t,{received:t.data,code:ke.invalid_literal,expected:this._def.value});return De}return{status:"valid",value:e.data}}get value(){return this._def.value}}ZodLiteral.create=(e,t)=>new ZodLiteral({value:e,typeName:Ke.ZodLiteral,...processCreateParams(t)});function createZodEnum(e,t){return new ZodEnum({values:e,typeName:Ke.ZodEnum,...processCreateParams(t)})}class ZodEnum extends ZodType{constructor(){super(...arguments);_e.set(this,void 0)}_parse(e){if(typeof e.data!=="string"){const t=this._getOrReturnCtx(e);const r=this._def.values;addIssueToContext(t,{expected:ve.joinValues(r),received:t.parsedType,code:ke.invalid_type});return De}if(!__classPrivateFieldGet(this,_e,"f")){__classPrivateFieldSet(this,_e,new Set(this._def.values),"f")}if(!__classPrivateFieldGet(this,_e,"f").has(e.data)){const t=this._getOrReturnCtx(e);const r=this._def.values;addIssueToContext(t,{received:t.data,code:ke.invalid_enum_value,options:r});return De}return OK(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values){e[t]=t}return e}get Values(){const e={};for(const t of this._def.values){e[t]=t}return e}get Enum(){const e={};for(const t of this._def.values){e[t]=t}return e}extract(e,t=this._def){return ZodEnum.create(e,{...this._def,...t})}exclude(e,t=this._def){return ZodEnum.create(this.options.filter((t=>!e.includes(t))),{...this._def,...t})}}_e=new WeakMap;ZodEnum.create=createZodEnum;class ZodNativeEnum extends ZodType{constructor(){super(...arguments);Fe.set(this,void 0)}_parse(e){const t=ve.getValidEnumValues(this._def.values);const r=this._getOrReturnCtx(e);if(r.parsedType!==xe.string&&r.parsedType!==xe.number){const e=ve.objectValues(t);addIssueToContext(r,{expected:ve.joinValues(e),received:r.parsedType,code:ke.invalid_type});return De}if(!__classPrivateFieldGet(this,Fe,"f")){__classPrivateFieldSet(this,Fe,new Set(ve.getValidEnumValues(this._def.values)),"f")}if(!__classPrivateFieldGet(this,Fe,"f").has(e.data)){const e=ve.objectValues(t);addIssueToContext(r,{received:r.data,code:ke.invalid_enum_value,options:e});return De}return OK(e.data)}get enum(){return this._def.values}}Fe=new WeakMap;ZodNativeEnum.create=(e,t)=>new ZodNativeEnum({values:e,typeName:Ke.ZodNativeEnum,...processCreateParams(t)});class ZodPromise extends ZodType{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==xe.promise&&t.common.async===false){addIssueToContext(t,{code:ke.invalid_type,expected:xe.promise,received:t.parsedType});return De}const r=t.parsedType===xe.promise?t.data:Promise.resolve(t.data);return OK(r.then((e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap}))))}}ZodPromise.create=(e,t)=>new ZodPromise({type:e,typeName:Ke.ZodPromise,...processCreateParams(t)});class ZodEffects extends ZodType{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Ke.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:r}=this._processInputParams(e);const s=this._def.effect||null;const n={addIssue:e=>{addIssueToContext(r,e);if(e.fatal){t.abort()}else{t.dirty()}},get path(){return r.path}};n.addIssue=n.addIssue.bind(n);if(s.type==="preprocess"){const e=s.transform(r.data,n);if(r.common.async){return Promise.resolve(e).then((async e=>{if(t.value==="aborted")return De;const s=await this._def.schema._parseAsync({data:e,path:r.path,parent:r});if(s.status==="aborted")return De;if(s.status==="dirty")return DIRTY(s.value);if(t.value==="dirty")return DIRTY(s.value);return s}))}else{if(t.value==="aborted")return De;const s=this._def.schema._parseSync({data:e,path:r.path,parent:r});if(s.status==="aborted")return De;if(s.status==="dirty")return DIRTY(s.value);if(t.value==="dirty")return DIRTY(s.value);return s}}if(s.type==="refinement"){const executeRefinement=e=>{const t=s.refinement(e,n);if(r.common.async){return Promise.resolve(t)}if(t instanceof Promise){throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.")}return e};if(r.common.async===false){const e=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(e.status==="aborted")return De;if(e.status==="dirty")t.dirty();executeRefinement(e.value);return{status:t.value,value:e.value}}else{return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then((e=>{if(e.status==="aborted")return De;if(e.status==="dirty")t.dirty();return executeRefinement(e.value).then((()=>({status:t.value,value:e.value})))}))}}if(s.type==="transform"){if(r.common.async===false){const e=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!isValid(e))return e;const o=s.transform(e.value,n);if(o instanceof Promise){throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`)}return{status:t.value,value:o}}else{return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then((e=>{if(!isValid(e))return e;return Promise.resolve(s.transform(e.value,n)).then((e=>({status:t.value,value:e})))}))}}ve.assertNever(s)}}ZodEffects.create=(e,t,r)=>new ZodEffects({schema:e,typeName:Ke.ZodEffects,effect:t,...processCreateParams(r)});ZodEffects.createWithPreprocess=(e,t,r)=>new ZodEffects({schema:t,effect:{type:"preprocess",transform:e},typeName:Ke.ZodEffects,...processCreateParams(r)});class ZodOptional extends ZodType{_parse(e){const t=this._getType(e);if(t===xe.undefined){return OK(undefined)}return this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}ZodOptional.create=(e,t)=>new ZodOptional({innerType:e,typeName:Ke.ZodOptional,...processCreateParams(t)});class ZodNullable extends ZodType{_parse(e){const t=this._getType(e);if(t===xe.null){return OK(null)}return this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}ZodNullable.create=(e,t)=>new ZodNullable({innerType:e,typeName:Ke.ZodNullable,...processCreateParams(t)});class ZodDefault extends ZodType{_parse(e){const{ctx:t}=this._processInputParams(e);let r=t.data;if(t.parsedType===xe.undefined){r=this._def.defaultValue()}return this._def.innerType._parse({data:r,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}ZodDefault.create=(e,t)=>new ZodDefault({innerType:e,typeName:Ke.ZodDefault,defaultValue:typeof t.default==="function"?t.default:()=>t.default,...processCreateParams(t)});class ZodCatch extends ZodType{_parse(e){const{ctx:t}=this._processInputParams(e);const r={...t,common:{...t.common,issues:[]}};const s=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});if(isAsync(s)){return s.then((e=>({status:"valid",value:e.status==="valid"?e.value:this._def.catchValue({get error(){return new ZodError(r.common.issues)},input:r.data})})))}else{return{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new ZodError(r.common.issues)},input:r.data})}}}removeCatch(){return this._def.innerType}}ZodCatch.create=(e,t)=>new ZodCatch({innerType:e,typeName:Ke.ZodCatch,catchValue:typeof t.catch==="function"?t.catch:()=>t.catch,...processCreateParams(t)});class ZodNaN extends ZodType{_parse(e){const t=this._getType(e);if(t!==xe.nan){const t=this._getOrReturnCtx(e);addIssueToContext(t,{code:ke.invalid_type,expected:xe.nan,received:t.parsedType});return De}return{status:"valid",value:e.data}}}ZodNaN.create=e=>new ZodNaN({typeName:Ke.ZodNaN,...processCreateParams(e)});const Ze=Symbol("zod_brand");class ZodBranded extends ZodType{_parse(e){const{ctx:t}=this._processInputParams(e);const r=t.data;return this._def.type._parse({data:r,path:t.path,parent:t})}unwrap(){return this._def.type}}class ZodPipeline extends ZodType{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.common.async){const handleAsync=async()=>{const e=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});if(e.status==="aborted")return De;if(e.status==="dirty"){t.dirty();return DIRTY(e.value)}else{return this._def.out._parseAsync({data:e.value,path:r.path,parent:r})}};return handleAsync()}else{const e=this._def.in._parseSync({data:r.data,path:r.path,parent:r});if(e.status==="aborted")return De;if(e.status==="dirty"){t.dirty();return{status:"dirty",value:e.value}}else{return this._def.out._parseSync({data:e.value,path:r.path,parent:r})}}}static create(e,t){return new ZodPipeline({in:e,out:t,typeName:Ke.ZodPipeline})}}class ZodReadonly extends ZodType{_parse(e){const t=this._def.innerType._parse(e);const freeze=e=>{if(isValid(e)){e.value=Object.freeze(e.value)}return e};return isAsync(t)?t.then((e=>freeze(e))):freeze(t)}unwrap(){return this._def.innerType}}ZodReadonly.create=(e,t)=>new ZodReadonly({innerType:e,typeName:Ke.ZodReadonly,...processCreateParams(t)});function custom(e,t={},r){if(e)return ZodAny.create().superRefine(((s,n)=>{var o,i;if(!e(s)){const e=typeof t==="function"?t(s):typeof t==="string"?{message:t}:t;const a=(i=(o=e.fatal)!==null&&o!==void 0?o:r)!==null&&i!==void 0?i:true;const A=typeof e==="string"?{message:e}:e;n.addIssue({code:"custom",...A,fatal:a})}}));return ZodAny.create()}const ze={object:ZodObject.lazycreate};var Ke;(function(e){e["ZodString"]="ZodString";e["ZodNumber"]="ZodNumber";e["ZodNaN"]="ZodNaN";e["ZodBigInt"]="ZodBigInt";e["ZodBoolean"]="ZodBoolean";e["ZodDate"]="ZodDate";e["ZodSymbol"]="ZodSymbol";e["ZodUndefined"]="ZodUndefined";e["ZodNull"]="ZodNull";e["ZodAny"]="ZodAny";e["ZodUnknown"]="ZodUnknown";e["ZodNever"]="ZodNever";e["ZodVoid"]="ZodVoid";e["ZodArray"]="ZodArray";e["ZodObject"]="ZodObject";e["ZodUnion"]="ZodUnion";e["ZodDiscriminatedUnion"]="ZodDiscriminatedUnion";e["ZodIntersection"]="ZodIntersection";e["ZodTuple"]="ZodTuple";e["ZodRecord"]="ZodRecord";e["ZodMap"]="ZodMap";e["ZodSet"]="ZodSet";e["ZodFunction"]="ZodFunction";e["ZodLazy"]="ZodLazy";e["ZodLiteral"]="ZodLiteral";e["ZodEnum"]="ZodEnum";e["ZodEffects"]="ZodEffects";e["ZodNativeEnum"]="ZodNativeEnum";e["ZodOptional"]="ZodOptional";e["ZodNullable"]="ZodNullable";e["ZodDefault"]="ZodDefault";e["ZodCatch"]="ZodCatch";e["ZodPromise"]="ZodPromise";e["ZodBranded"]="ZodBranded";e["ZodPipeline"]="ZodPipeline";e["ZodReadonly"]="ZodReadonly"})(Ke||(Ke={}));const instanceOfType=(e,t={message:`Input not instance of ${e.name}`})=>custom((t=>t instanceof e),t);const Xe=ZodString.create;const $e=ZodNumber.create;const et=ZodNaN.create;const tt=ZodBigInt.create;const rt=ZodBoolean.create;const st=ZodDate.create;const nt=ZodSymbol.create;const ot=ZodUndefined.create;const it=ZodNull.create;const at=ZodAny.create;const At=ZodUnknown.create;const ct=ZodNever.create;const lt=ZodVoid.create;const ut=ZodArray.create;const pt=ZodObject.create;const dt=ZodObject.strictCreate;const gt=ZodUnion.create;const ht=ZodDiscriminatedUnion.create;const ft=ZodIntersection.create;const mt=ZodTuple.create;const Et=ZodRecord.create;const Ct=ZodMap.create;const It=ZodSet.create;const Bt=ZodFunction.create;const Qt=ZodLazy.create;const bt=ZodLiteral.create;const yt=ZodEnum.create;const vt=ZodNativeEnum.create;const wt=ZodPromise.create;const xt=ZodEffects.create;const kt=ZodOptional.create;const Rt=ZodNullable.create;const St=ZodEffects.createWithPreprocess;const Dt=ZodPipeline.create;const ostring=()=>Xe().optional();const onumber=()=>$e().optional();const oboolean=()=>rt().optional();const Tt={string:e=>ZodString.create({...e,coerce:true}),number:e=>ZodNumber.create({...e,coerce:true}),boolean:e=>ZodBoolean.create({...e,coerce:true}),bigint:e=>ZodBigInt.create({...e,coerce:true}),date:e=>ZodDate.create({...e,coerce:true})};const _t=De;var Ft=Object.freeze({__proto__:null,defaultErrorMap:errorMap,setErrorMap:setErrorMap,getErrorMap:getErrorMap,makeIssue:makeIssue,EMPTY_PATH:Se,addIssueToContext:addIssueToContext,ParseStatus:ParseStatus,INVALID:De,DIRTY:DIRTY,OK:OK,isAborted:isAborted,isDirty:isDirty,isValid:isValid,isAsync:isAsync,get util(){return ve},get objectUtil(){return we},ZodParsedType:xe,getParsedType:getParsedType,ZodType:ZodType,datetimeRegex:datetimeRegex,ZodString:ZodString,ZodNumber:ZodNumber,ZodBigInt:ZodBigInt,ZodBoolean:ZodBoolean,ZodDate:ZodDate,ZodSymbol:ZodSymbol,ZodUndefined:ZodUndefined,ZodNull:ZodNull,ZodAny:ZodAny,ZodUnknown:ZodUnknown,ZodNever:ZodNever,ZodVoid:ZodVoid,ZodArray:ZodArray,ZodObject:ZodObject,ZodUnion:ZodUnion,ZodDiscriminatedUnion:ZodDiscriminatedUnion,ZodIntersection:ZodIntersection,ZodTuple:ZodTuple,ZodRecord:ZodRecord,ZodMap:ZodMap,ZodSet:ZodSet,ZodFunction:ZodFunction,ZodLazy:ZodLazy,ZodLiteral:ZodLiteral,ZodEnum:ZodEnum,ZodNativeEnum:ZodNativeEnum,ZodPromise:ZodPromise,ZodEffects:ZodEffects,ZodTransformer:ZodEffects,ZodOptional:ZodOptional,ZodNullable:ZodNullable,ZodDefault:ZodDefault,ZodCatch:ZodCatch,ZodNaN:ZodNaN,BRAND:Ze,ZodBranded:ZodBranded,ZodPipeline:ZodPipeline,ZodReadonly:ZodReadonly,custom:custom,Schema:ZodType,ZodSchema:ZodType,late:ze,get ZodFirstPartyTypeKind(){return Ke},coerce:Tt,any:at,array:ut,bigint:tt,boolean:rt,date:st,discriminatedUnion:ht,effect:xt,enum:yt,function:Bt,instanceof:instanceOfType,intersection:ft,lazy:Qt,literal:bt,map:Ct,nan:et,nativeEnum:vt,never:ct,null:it,nullable:Rt,number:$e,object:pt,oboolean:oboolean,onumber:onumber,optional:kt,ostring:ostring,pipeline:Dt,preprocess:St,promise:wt,record:Et,set:It,strictObject:dt,string:Xe,symbol:nt,transformer:xt,tuple:mt,undefined:ot,union:gt,unknown:At,void:lt,NEVER:_t,ZodIssueCode:ke,quotelessJson:quotelessJson,ZodError:ZodError});const Nt=Symbol("Let zodToJsonSchema decide on which parser to use");const Ut={name:undefined,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",definitionPath:"definitions",target:"jsonSchema7",strictUnions:false,definitions:{},errorMessages:false,markdownDescription:false,patternStrategy:"escape",applyRegexFlags:false,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"};const getDefaultOptions=e=>typeof e==="string"?{...Ut,name:e}:{...Ut,...e};const getRefs=e=>{const t=getDefaultOptions(e);const r=t.name!==undefined?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,currentPath:r,propertyPath:undefined,seen:new Map(Object.entries(t.definitions).map((([e,r])=>[r._def,{def:r._def,path:[...t.basePath,t.definitionPath,e],jsonSchema:undefined}])))}};function parseAnyDef(){return{}}function addErrorMessage(e,t,r,s){if(!s?.errorMessages)return;if(r){e.errorMessage={...e.errorMessage,[t]:r}}}function setResponseValueAndErrors(e,t,r,s,n){e[t]=r;addErrorMessage(e,t,s,n)}function parseArrayDef(e,t){const r={type:"array"};if(e.type?._def?.typeName!==Ke.ZodAny){r.items=parseDef_parseDef(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})}if(e.minLength){setResponseValueAndErrors(r,"minItems",e.minLength.value,e.minLength.message,t)}if(e.maxLength){setResponseValueAndErrors(r,"maxItems",e.maxLength.value,e.maxLength.message,t)}if(e.exactLength){setResponseValueAndErrors(r,"minItems",e.exactLength.value,e.exactLength.message,t);setResponseValueAndErrors(r,"maxItems",e.exactLength.value,e.exactLength.message,t)}return r}function parseBigintDef(e,t){const r={type:"integer",format:"int64"};if(!e.checks)return r;for(const s of e.checks){switch(s.kind){case"min":if(t.target==="jsonSchema7"){if(s.inclusive){setResponseValueAndErrors(r,"minimum",s.value,s.message,t)}else{setResponseValueAndErrors(r,"exclusiveMinimum",s.value,s.message,t)}}else{if(!s.inclusive){r.exclusiveMinimum=true}setResponseValueAndErrors(r,"minimum",s.value,s.message,t)}break;case"max":if(t.target==="jsonSchema7"){if(s.inclusive){setResponseValueAndErrors(r,"maximum",s.value,s.message,t)}else{setResponseValueAndErrors(r,"exclusiveMaximum",s.value,s.message,t)}}else{if(!s.inclusive){r.exclusiveMaximum=true}setResponseValueAndErrors(r,"maximum",s.value,s.message,t)}break;case"multipleOf":setResponseValueAndErrors(r,"multipleOf",s.value,s.message,t);break}}return r}function parseBooleanDef(){return{type:"boolean"}}function parseBrandedDef(e,t){return parseDef_parseDef(e.type._def,t)}const parseCatchDef=(e,t)=>parseDef_parseDef(e.innerType._def,t);function parseDateDef(e,t,r){const s=r??t.dateStrategy;if(Array.isArray(s)){return{anyOf:s.map(((r,s)=>parseDateDef(e,t,r)))}}switch(s){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return integerDateParser(e,t)}}const integerDateParser=(e,t)=>{const r={type:"integer",format:"unix-time"};if(t.target==="openApi3"){return r}for(const s of e.checks){switch(s.kind){case"min":setResponseValueAndErrors(r,"minimum",s.value,s.message,t);break;case"max":setResponseValueAndErrors(r,"maximum",s.value,s.message,t);break}}return r};function parseDefaultDef(e,t){return{...parseDef_parseDef(e.innerType._def,t),default:e.defaultValue()}}function parseEffectsDef(e,t){return t.effectStrategy==="input"?parseDef_parseDef(e.schema._def,t):{}}function parseEnumDef(e){return{type:"string",enum:e.values}}const isJsonSchema7AllOfType=e=>{if("type"in e&&e.type==="string")return false;return"allOf"in e};function parseIntersectionDef(e,t){const r=[parseDef_parseDef(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),parseDef_parseDef(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter((e=>!!e));let s=t.target==="jsonSchema2019-09"?{unevaluatedProperties:false}:undefined;const n=[];r.forEach((e=>{if(isJsonSchema7AllOfType(e)){n.push(...e.allOf);if(e.unevaluatedProperties===undefined){s=undefined}}else{let t=e;if("additionalProperties"in e&&e.additionalProperties===false){const{additionalProperties:r,...s}=e;t=s}else{s=undefined}n.push(t)}}));return n.length?{allOf:n,...s}:undefined}function parseLiteralDef(e,t){const r=typeof e.value;if(r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"){return{type:Array.isArray(e.value)?"array":"object"}}if(t.target==="openApi3"){return{type:r==="bigint"?"integer":r,enum:[e.value]}}return{type:r==="bigint"?"integer":r,const:e.value}}let Mt;const Ot={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>{if(Mt===undefined){Mt=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")}return Mt},uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/};function parseStringDef(e,t){const r={type:"string"};function processPattern(e){return t.patternStrategy==="escape"?escapeNonAlphaNumeric(e):e}if(e.checks){for(const s of e.checks){switch(s.kind){case"min":setResponseValueAndErrors(r,"minLength",typeof r.minLength==="number"?Math.max(r.minLength,s.value):s.value,s.message,t);break;case"max":setResponseValueAndErrors(r,"maxLength",typeof r.maxLength==="number"?Math.min(r.maxLength,s.value):s.value,s.message,t);break;case"email":switch(t.emailStrategy){case"format:email":addFormat(r,"email",s.message,t);break;case"format:idn-email":addFormat(r,"idn-email",s.message,t);break;case"pattern:zod":addPattern(r,Ot.email,s.message,t);break}break;case"url":addFormat(r,"uri",s.message,t);break;case"uuid":addFormat(r,"uuid",s.message,t);break;case"regex":addPattern(r,s.regex,s.message,t);break;case"cuid":addPattern(r,Ot.cuid,s.message,t);break;case"cuid2":addPattern(r,Ot.cuid2,s.message,t);break;case"startsWith":addPattern(r,RegExp(`^${processPattern(s.value)}`),s.message,t);break;case"endsWith":addPattern(r,RegExp(`${processPattern(s.value)}$`),s.message,t);break;case"datetime":addFormat(r,"date-time",s.message,t);break;case"date":addFormat(r,"date",s.message,t);break;case"time":addFormat(r,"time",s.message,t);break;case"duration":addFormat(r,"duration",s.message,t);break;case"length":setResponseValueAndErrors(r,"minLength",typeof r.minLength==="number"?Math.max(r.minLength,s.value):s.value,s.message,t);setResponseValueAndErrors(r,"maxLength",typeof r.maxLength==="number"?Math.min(r.maxLength,s.value):s.value,s.message,t);break;case"includes":{addPattern(r,RegExp(processPattern(s.value)),s.message,t);break}case"ip":{if(s.version!=="v6"){addFormat(r,"ipv4",s.message,t)}if(s.version!=="v4"){addFormat(r,"ipv6",s.message,t)}break}case"emoji":addPattern(r,Ot.emoji,s.message,t);break;case"ulid":{addPattern(r,Ot.ulid,s.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{addFormat(r,"binary",s.message,t);break}case"contentEncoding:base64":{setResponseValueAndErrors(r,"contentEncoding","base64",s.message,t);break}case"pattern:zod":{addPattern(r,Ot.base64,s.message,t);break}}break}case"nanoid":{addPattern(r,Ot.nanoid,s.message,t)}case"toLowerCase":case"toUpperCase":case"trim":break;default:(e=>{})(s)}}}return r}const escapeNonAlphaNumeric=e=>Array.from(e).map((e=>/[a-zA-Z0-9]/.test(e)?e:`\\${e}`)).join("");const addFormat=(e,t,r,s)=>{if(e.format||e.anyOf?.some((e=>e.format))){if(!e.anyOf){e.anyOf=[]}if(e.format){e.anyOf.push({format:e.format,...e.errorMessage&&s.errorMessages&&{errorMessage:{format:e.errorMessage.format}}});delete e.format;if(e.errorMessage){delete e.errorMessage.format;if(Object.keys(e.errorMessage).length===0){delete e.errorMessage}}}e.anyOf.push({format:t,...r&&s.errorMessages&&{errorMessage:{format:r}}})}else{setResponseValueAndErrors(e,"format",t,r,s)}};const addPattern=(e,t,r,s)=>{if(e.pattern||e.allOf?.some((e=>e.pattern))){if(!e.allOf){e.allOf=[]}if(e.pattern){e.allOf.push({pattern:e.pattern,...e.errorMessage&&s.errorMessages&&{errorMessage:{pattern:e.errorMessage.pattern}}});delete e.pattern;if(e.errorMessage){delete e.errorMessage.pattern;if(Object.keys(e.errorMessage).length===0){delete e.errorMessage}}}e.allOf.push({pattern:processRegExp(t,s),...r&&s.errorMessages&&{errorMessage:{pattern:r}}})}else{setResponseValueAndErrors(e,"pattern",processRegExp(t,s),r,s)}};const processRegExp=(e,t)=>{const r=typeof e==="function"?e():e;if(!t.applyRegexFlags||!r.flags)return r.source;const s={i:r.flags.includes("i"),m:r.flags.includes("m"),s:r.flags.includes("s")};const n=s.i?r.source.toLowerCase():r.source;let o="";let i=false;let a=false;let A=false;for(let e=0;e({...r,[s]:parseDef_parseDef(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",s]})??{}})),{}),additionalProperties:false}}const r={type:"object",additionalProperties:parseDef_parseDef(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??{}};if(t.target==="openApi3"){return r}if(e.keyType?._def.typeName===Ke.ZodString&&e.keyType._def.checks?.length){const s=Object.entries(parseStringDef(e.keyType._def,t)).reduce(((e,[t,r])=>t==="type"?e:{...e,[t]:r}),{});return{...r,propertyNames:s}}else if(e.keyType?._def.typeName===Ke.ZodEnum){return{...r,propertyNames:{enum:e.keyType._def.values}}}return r}function parseMapDef(e,t){if(t.mapStrategy==="record"){return parseRecordDef(e,t)}const r=parseDef_parseDef(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||{};const s=parseDef_parseDef(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||{};return{type:"array",maxItems:125,items:{type:"array",items:[r,s],minItems:2,maxItems:2}}}function parseNativeEnumDef(e){const t=e.values;const r=Object.keys(e.values).filter((e=>typeof t[t[e]]!=="number"));const s=r.map((e=>t[e]));const n=Array.from(new Set(s.map((e=>typeof e))));return{type:n.length===1?n[0]==="string"?"string":"number":["string","number"],enum:s}}function parseNeverDef(){return{not:{}}}function parseNullDef(e){return e.target==="openApi3"?{enum:["null"],nullable:true}:{type:"null"}}const Lt={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function parseUnionDef(e,t){if(t.target==="openApi3")return asAnyOf(e,t);const r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every((e=>e._def.typeName in Lt&&(!e._def.checks||!e._def.checks.length)))){const e=r.reduce(((e,t)=>{const r=Lt[t._def.typeName];return r&&!e.includes(r)?[...e,r]:e}),[]);return{type:e.length>1?e:e[0]}}else if(r.every((e=>e._def.typeName==="ZodLiteral"&&!e.description))){const e=r.reduce(((e,t)=>{const r=typeof t._def.value;switch(r){case"string":case"number":case"boolean":return[...e,r];case"bigint":return[...e,"integer"];case"object":if(t._def.value===null)return[...e,"null"];case"symbol":case"undefined":case"function":default:return e}}),[]);if(e.length===r.length){const t=e.filter(((e,t,r)=>r.indexOf(e)===t));return{type:t.length>1?t:t[0],enum:r.reduce(((e,t)=>e.includes(t._def.value)?e:[...e,t._def.value]),[])}}}else if(r.every((e=>e._def.typeName==="ZodEnum"))){return{type:"string",enum:r.reduce(((e,t)=>[...e,...t._def.values.filter((t=>!e.includes(t)))]),[])}}return asAnyOf(e,t)}const asAnyOf=(e,t)=>{const r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map(((e,r)=>parseDef_parseDef(e._def,{...t,currentPath:[...t.currentPath,"anyOf",`${r}`]}))).filter((e=>!!e&&(!t.strictUnions||typeof e==="object"&&Object.keys(e).length>0)));return r.length?{anyOf:r}:undefined};function parseNullableDef(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length)){if(t.target==="openApi3"){return{type:Lt[e.innerType._def.typeName],nullable:true}}return{type:[Lt[e.innerType._def.typeName],"null"]}}if(t.target==="openApi3"){const r=parseDef_parseDef(e.innerType._def,{...t,currentPath:[...t.currentPath]});if(r&&"$ref"in r)return{allOf:[r],nullable:true};return r&&{...r,nullable:true}}const r=parseDef_parseDef(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function parseNumberDef(e,t){const r={type:"number"};if(!e.checks)return r;for(const s of e.checks){switch(s.kind){case"int":r.type="integer";addErrorMessage(r,"type",s.message,t);break;case"min":if(t.target==="jsonSchema7"){if(s.inclusive){setResponseValueAndErrors(r,"minimum",s.value,s.message,t)}else{setResponseValueAndErrors(r,"exclusiveMinimum",s.value,s.message,t)}}else{if(!s.inclusive){r.exclusiveMinimum=true}setResponseValueAndErrors(r,"minimum",s.value,s.message,t)}break;case"max":if(t.target==="jsonSchema7"){if(s.inclusive){setResponseValueAndErrors(r,"maximum",s.value,s.message,t)}else{setResponseValueAndErrors(r,"exclusiveMaximum",s.value,s.message,t)}}else{if(!s.inclusive){r.exclusiveMaximum=true}setResponseValueAndErrors(r,"maximum",s.value,s.message,t)}break;case"multipleOf":setResponseValueAndErrors(r,"multipleOf",s.value,s.message,t);break}}return r}function decideAdditionalProperties(e,t){if(t.removeAdditionalStrategy==="strict"){return e.catchall._def.typeName==="ZodNever"?e.unknownKeys!=="strict":parseDef_parseDef(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??true}else{return e.catchall._def.typeName==="ZodNever"?e.unknownKeys==="passthrough":parseDef_parseDef(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??true}}function parseObjectDefX(e,t){Object.keys(e.shape()).reduce(((r,s)=>{let n=e.shape()[s];const o=n.isOptional();if(!o){n={...n._def.innerSchema}}const i=parseDef(n._def,{...t,currentPath:[...t.currentPath,"properties",s],propertyPath:[...t.currentPath,"properties",s]});if(i!==undefined){r.properties[s]=i;if(!o){if(!r.required){r.required=[]}r.required.push(s)}}return r}),{type:"object",properties:{},additionalProperties:decideAdditionalProperties(e,t)});const r={type:"object",...Object.entries(e.shape()).reduce(((e,[r,s])=>{if(s===undefined||s._def===undefined)return e;const n=parseDef(s._def,{...t,currentPath:[...t.currentPath,"properties",r],propertyPath:[...t.currentPath,"properties",r]});if(n===undefined)return e;return{properties:{...e.properties,[r]:n},required:s.isOptional()?e.required:[...e.required,r]}}),{properties:{},required:[]}),additionalProperties:decideAdditionalProperties(e,t)};if(!r.required.length)delete r.required;return r}function parseObjectDef(e,t){const r={type:"object",...Object.entries(e.shape()).reduce(((e,[r,s])=>{if(s===undefined||s._def===undefined)return e;const n=parseDef_parseDef(s._def,{...t,currentPath:[...t.currentPath,"properties",r],propertyPath:[...t.currentPath,"properties",r]});if(n===undefined)return e;return{properties:{...e.properties,[r]:n},required:s.isOptional()?e.required:[...e.required,r]}}),{properties:{},required:[]}),additionalProperties:decideAdditionalProperties(e,t)};if(!r.required.length)delete r.required;return r}const parseOptionalDef=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString()){return parseDef_parseDef(e.innerType._def,t)}const r=parseDef_parseDef(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:{}},r]}:{}};const parsePipelineDef=(e,t)=>{if(t.pipeStrategy==="input"){return parseDef_parseDef(e.in._def,t)}else if(t.pipeStrategy==="output"){return parseDef_parseDef(e.out._def,t)}const r=parseDef_parseDef(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]});const s=parseDef_parseDef(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,s].filter((e=>e!==undefined))}};function parsePromiseDef(e,t){return parseDef_parseDef(e.type._def,t)}function parseSetDef(e,t){const r=parseDef_parseDef(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]});const s={type:"array",uniqueItems:true,items:r};if(e.minSize){setResponseValueAndErrors(s,"minItems",e.minSize.value,e.minSize.message,t)}if(e.maxSize){setResponseValueAndErrors(s,"maxItems",e.maxSize.value,e.maxSize.message,t)}return s}function parseTupleDef(e,t){if(e.rest){return{type:"array",minItems:e.items.length,items:e.items.map(((e,r)=>parseDef_parseDef(e._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]}))).reduce(((e,t)=>t===undefined?e:[...e,t]),[]),additionalItems:parseDef_parseDef(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}}else{return{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map(((e,r)=>parseDef_parseDef(e._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]}))).reduce(((e,t)=>t===undefined?e:[...e,t]),[])}}}function parseUndefinedDef(){return{not:{}}}function parseUnknownDef(){return{}}const parseReadonlyDef=(e,t)=>parseDef_parseDef(e.innerType._def,t);function parseDef_parseDef(e,t,r=false){const s=t.seen.get(e);if(t.override){const n=t.override?.(e,t,s,r);if(n!==Nt){return n}}if(s&&!r){const e=get$ref(s,t);if(e!==undefined){return e}}const n={def:e,path:t.currentPath,jsonSchema:undefined};t.seen.set(e,n);const o=selectParser(e,e.typeName,t);if(o){addMeta(e,t,o)}n.jsonSchema=o;return o}const get$ref=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:getRelativePath(t.currentPath,e.path)};case"none":case"seen":{if(e.path.lengtht.currentPath[r]===e))){console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`);return{}}return t.$refStrategy==="seen"?{}:undefined}}};const getRelativePath=(e,t)=>{let r=0;for(;r{switch(t){case Ke.ZodString:return parseStringDef(e,r);case Ke.ZodNumber:return parseNumberDef(e,r);case Ke.ZodObject:return parseObjectDef(e,r);case Ke.ZodBigInt:return parseBigintDef(e,r);case Ke.ZodBoolean:return parseBooleanDef();case Ke.ZodDate:return parseDateDef(e,r);case Ke.ZodUndefined:return parseUndefinedDef();case Ke.ZodNull:return parseNullDef(r);case Ke.ZodArray:return parseArrayDef(e,r);case Ke.ZodUnion:case Ke.ZodDiscriminatedUnion:return parseUnionDef(e,r);case Ke.ZodIntersection:return parseIntersectionDef(e,r);case Ke.ZodTuple:return parseTupleDef(e,r);case Ke.ZodRecord:return parseRecordDef(e,r);case Ke.ZodLiteral:return parseLiteralDef(e,r);case Ke.ZodEnum:return parseEnumDef(e);case Ke.ZodNativeEnum:return parseNativeEnumDef(e);case Ke.ZodNullable:return parseNullableDef(e,r);case Ke.ZodOptional:return parseOptionalDef(e,r);case Ke.ZodMap:return parseMapDef(e,r);case Ke.ZodSet:return parseSetDef(e,r);case Ke.ZodLazy:return parseDef_parseDef(e.getter()._def,r);case Ke.ZodPromise:return parsePromiseDef(e,r);case Ke.ZodNaN:case Ke.ZodNever:return parseNeverDef();case Ke.ZodEffects:return parseEffectsDef(e,r);case Ke.ZodAny:return parseAnyDef();case Ke.ZodUnknown:return parseUnknownDef();case Ke.ZodDefault:return parseDefaultDef(e,r);case Ke.ZodBranded:return parseBrandedDef(e,r);case Ke.ZodReadonly:return parseReadonlyDef(e,r);case Ke.ZodCatch:return parseCatchDef(e,r);case Ke.ZodPipeline:return parsePipelineDef(e,r);case Ke.ZodFunction:case Ke.ZodVoid:case Ke.ZodSymbol:return undefined;default:return(e=>undefined)(t)}};const addMeta=(e,t,r)=>{if(e.description){r.description=e.description;if(t.markdownDescription){r.markdownDescription=e.description}}return r};const zodToJsonSchema=(e,t)=>{const r=getRefs(t);const s=typeof t==="object"&&t.definitions?Object.entries(t.definitions).reduce(((e,[t,s])=>({...e,[t]:parseDef_parseDef(s._def,{...r,currentPath:[...r.basePath,r.definitionPath,t]},true)??{}})),{}):undefined;const n=typeof t==="string"?t:t?.nameStrategy==="title"?undefined:t?.name;const o=parseDef_parseDef(e._def,n===undefined?r:{...r,currentPath:[...r.basePath,r.definitionPath,n]},false)??{};const i=typeof t==="object"&&t.name!==undefined&&t.nameStrategy==="title"?t.name:undefined;if(i!==undefined){o.title=i}const a=n===undefined?s?{...o,[r.definitionPath]:s}:o:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,n].join("/"),[r.definitionPath]:{...s,[n]:o}};if(r.target==="jsonSchema7"){a.$schema="http://json-schema.org/draft-07/schema#"}else if(r.target==="jsonSchema2019-09"){a.$schema="https://json-schema.org/draft/2019-09/schema#"}return a};const Pt=zodToJsonSchema;function fixJson(e){const t=["ROOT"];let r=-1;let s=null;function processValueStart(e,n,o){{switch(e){case'"':{r=n;t.pop();t.push(o);t.push("INSIDE_STRING");break}case"f":case"t":case"n":{r=n;s=n;t.pop();t.push(o);t.push("INSIDE_LITERAL");break}case"-":{t.pop();t.push(o);t.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=n;t.pop();t.push(o);t.push("INSIDE_NUMBER");break}case"{":{r=n;t.pop();t.push(o);t.push("INSIDE_OBJECT_START");break}case"[":{r=n;t.pop();t.push(o);t.push("INSIDE_ARRAY_START");break}}}}function processAfterObjectValue(e,s){switch(e){case",":{t.pop();t.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{r=s;t.pop();break}}}function processAfterArrayValue(e,s){switch(e){case",":{t.pop();t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{r=s;t.pop();break}}}for(let n=0;n=0;r--){const o=t[r];switch(o){case"INSIDE_STRING":{n+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{n+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{n+="]";break}case"INSIDE_LITERAL":{const t=e.substring(s,e.length);if("true".startsWith(t)){n+="true".slice(t.length)}else if("false".startsWith(t)){n+="false".slice(t.length)}else if("null".startsWith(t)){n+="null".slice(t.length)}}}}return n}function dist_parsePartialJson(e){if(e===void 0){return{value:void 0,state:"undefined-input"}}try{return{value:SecureJSON.parse(e),state:"successful-parse"}}catch(t){try{return{value:SecureJSON.parse(fixJson(e)),state:"repaired-parse"}}catch(e){}}return{value:void 0,state:"failed-parse"}}var Gt={code:"0",name:"text",parse:e=>{if(typeof e!=="string"){throw new Error('"text" parts expect a string value.')}return{type:"text",value:e}}};var jt={code:"1",name:"function_call",parse:e=>{if(e==null||typeof e!=="object"||!("function_call"in e)||typeof e.function_call!=="object"||e.function_call==null||!("name"in e.function_call)||!("arguments"in e.function_call)||typeof e.function_call.name!=="string"||typeof e.function_call.arguments!=="string"){throw new Error('"function_call" parts expect an object with a "function_call" property.')}return{type:"function_call",value:e}}};var Ht={code:"2",name:"data",parse:e=>{if(!Array.isArray(e)){throw new Error('"data" parts expect an array value.')}return{type:"data",value:e}}};var Jt={code:"3",name:"error",parse:e=>{if(typeof e!=="string"){throw new Error('"error" parts expect a string value.')}return{type:"error",value:e}}};var Vt={code:"4",name:"assistant_message",parse:e=>{if(e==null||typeof e!=="object"||!("id"in e)||!("role"in e)||!("content"in e)||typeof e.id!=="string"||typeof e.role!=="string"||e.role!=="assistant"||!Array.isArray(e.content)||!e.content.every((e=>e!=null&&typeof e==="object"&&"type"in e&&e.type==="text"&&"text"in e&&e.text!=null&&typeof e.text==="object"&&"value"in e.text&&typeof e.text.value==="string"))){throw new Error('"assistant_message" parts expect an object with an "id", "role", and "content" property.')}return{type:"assistant_message",value:e}}};var Yt={code:"5",name:"assistant_control_data",parse:e=>{if(e==null||typeof e!=="object"||!("threadId"in e)||!("messageId"in e)||typeof e.threadId!=="string"||typeof e.messageId!=="string"){throw new Error('"assistant_control_data" parts expect an object with a "threadId" and "messageId" property.')}return{type:"assistant_control_data",value:{threadId:e.threadId,messageId:e.messageId}}}};var qt={code:"6",name:"data_message",parse:e=>{if(e==null||typeof e!=="object"||!("role"in e)||!("data"in e)||typeof e.role!=="string"||e.role!=="data"){throw new Error('"data_message" parts expect an object with a "role" and "data" property.')}return{type:"data_message",value:e}}};var Wt={code:"7",name:"tool_calls",parse:e=>{if(e==null||typeof e!=="object"||!("tool_calls"in e)||typeof e.tool_calls!=="object"||e.tool_calls==null||!Array.isArray(e.tool_calls)||e.tool_calls.some((e=>e==null||typeof e!=="object"||!("id"in e)||typeof e.id!=="string"||!("type"in e)||typeof e.type!=="string"||!("function"in e)||e.function==null||typeof e.function!=="object"||!("arguments"in e.function)||typeof e.function.name!=="string"||typeof e.function.arguments!=="string"))){throw new Error('"tool_calls" parts expect an object with a ToolCallPayload.')}return{type:"tool_calls",value:e}}};var Zt={code:"8",name:"message_annotations",parse:e=>{if(!Array.isArray(e)){throw new Error('"message_annotations" parts expect an array value.')}return{type:"message_annotations",value:e}}};var zt={code:"9",name:"tool_call",parse:e=>{if(e==null||typeof e!=="object"||!("toolCallId"in e)||typeof e.toolCallId!=="string"||!("toolName"in e)||typeof e.toolName!=="string"||!("args"in e)||typeof e.args!=="object"){throw new Error('"tool_call" parts expect an object with a "toolCallId", "toolName", and "args" property.')}return{type:"tool_call",value:e}}};var Kt={code:"a",name:"tool_result",parse:e=>{if(e==null||typeof e!=="object"||!("toolCallId"in e)||typeof e.toolCallId!=="string"||!("result"in e)){throw new Error('"tool_result" parts expect an object with a "toolCallId" and a "result" property.')}return{type:"tool_result",value:e}}};var Xt={code:"b",name:"tool_call_streaming_start",parse:e=>{if(e==null||typeof e!=="object"||!("toolCallId"in e)||typeof e.toolCallId!=="string"||!("toolName"in e)||typeof e.toolName!=="string"){throw new Error('"tool_call_streaming_start" parts expect an object with a "toolCallId" and "toolName" property.')}return{type:"tool_call_streaming_start",value:e}}};var $t={code:"c",name:"tool_call_delta",parse:e=>{if(e==null||typeof e!=="object"||!("toolCallId"in e)||typeof e.toolCallId!=="string"||!("argsTextDelta"in e)||typeof e.argsTextDelta!=="string"){throw new Error('"tool_call_delta" parts expect an object with a "toolCallId" and "argsTextDelta" property.')}return{type:"tool_call_delta",value:e}}};var er={code:"d",name:"finish_message",parse:e=>{if(e==null||typeof e!=="object"||!("finishReason"in e)||typeof e.finishReason!=="string"||!("usage"in e)||e.usage==null||typeof e.usage!=="object"||!("promptTokens"in e.usage)||!("completionTokens"in e.usage)){throw new Error('"finish_message" parts expect an object with a "finishReason" and "usage" property.')}if(typeof e.usage.promptTokens!=="number"){e.usage.promptTokens=Number.NaN}if(typeof e.usage.completionTokens!=="number"){e.usage.completionTokens=Number.NaN}return{type:"finish_message",value:e}}};var tr={code:"e",name:"finish_roundtrip",parse:e=>{if(e==null||typeof e!=="object"||!("finishReason"in e)||typeof e.finishReason!=="string"||!("usage"in e)||e.usage==null||typeof e.usage!=="object"||!("promptTokens"in e.usage)||!("completionTokens"in e.usage)){throw new Error('"finish_roundtrip" parts expect an object with a "finishReason" and "usage" property.')}if(typeof e.usage.promptTokens!=="number"){e.usage.promptTokens=Number.NaN}if(typeof e.usage.completionTokens!=="number"){e.usage.completionTokens=Number.NaN}return{type:"finish_roundtrip",value:e}}};var rr=[Gt,jt,Ht,Jt,Vt,Yt,qt,Wt,Zt,zt,Kt,Xt,$t,er,tr];var sr={[Gt.code]:Gt,[jt.code]:jt,[Ht.code]:Ht,[Jt.code]:Jt,[Vt.code]:Vt,[Yt.code]:Yt,[qt.code]:qt,[Wt.code]:Wt,[Zt.code]:Zt,[zt.code]:zt,[Kt.code]:Kt,[Xt.code]:Xt,[$t.code]:$t,[er.code]:er,[tr.code]:tr};var nr={[Gt.name]:Gt.code,[jt.name]:jt.code,[Ht.name]:Ht.code,[Jt.name]:Jt.code,[Vt.name]:Vt.code,[Yt.name]:Yt.code,[qt.name]:qt.code,[Wt.name]:Wt.code,[Zt.name]:Zt.code,[zt.name]:zt.code,[Kt.name]:Kt.code,[Xt.name]:Xt.code,[$t.name]:$t.code,[er.name]:er.code,[tr.name]:tr.code};var or=rr.map((e=>e.code));var parseStreamPart=e=>{const t=e.indexOf(":");if(t===-1){throw new Error("Failed to parse stream string. No separator found.")}const r=e.slice(0,t);if(!or.includes(r)){throw new Error(`Failed to parse stream string. Invalid code ${r}.`)}const s=r;const n=e.slice(t+1);const o=JSON.parse(n);return sr[s].parse(o)};function dist_formatStreamPart(e,t){const r=rr.find((t=>t.name===e));if(!r){throw new Error(`Invalid stream part type: ${e}`)}return`${r.code}:${JSON.stringify(t)}\n`}var ir="\n".charCodeAt(0);function concatChunks(e,t){const r=new Uint8Array(t);let s=0;for(const t of e){r.set(t,s);s+=t.length}e.length=0;return r}async function*readDataStream(e,{isAborted:t}={}){const r=new TextDecoder;const s=[];let n=0;while(true){const{value:o}=await e.read();if(o){s.push(o);n+=o.length;if(o[o.length-1]!==ir){continue}}if(s.length===0){break}const i=concatChunks(s,n);n=0;const a=r.decode(i,{stream:true}).split("\n").filter((e=>e!=="")).map(parseStreamPart);for(const e of a){yield e}if(t==null?void 0:t()){e.cancel();break}}}function assignAnnotationsToMessage(e,t){if(!e||!t||!t.length)return e;return{...e,annotations:[...t]}}async function processDataProtocolResponse({reader:e,abortControllerRef:t,update:r,onToolCall:s,onFinish:n,generateId:o=generateIdFunction,getCurrentDate:i=(()=>new Date)}){var a;const A=i();let c={};let l=void 0;const u=[];const p=[];let d=void 0;const g={};let h={completionTokens:NaN,promptTokens:NaN,totalTokens:NaN};let m="unknown";for await(const{type:n,value:i}of readDataStream(e,{isAborted:()=>(t==null?void 0:t.current)===null})){if(n==="error"){throw new Error(i)}if(n==="finish_roundtrip"){l={};continue}if(n==="finish_message"){const{completionTokens:e,promptTokens:t}=i.usage;m=i.finishReason;h={completionTokens:e,promptTokens:t,totalTokens:e+t};continue}if(l){if(c.text){u.push(c.text)}if(c.function_call){u.push(c.function_call)}if(c.tool_calls){u.push(c.tool_calls)}c=l;l=void 0}if(n==="text"){if(c["text"]){c["text"]={...c["text"],content:(c["text"].content||"")+i}}else{c["text"]={id:o(),role:"assistant",content:i,createdAt:A}}}if(n==="tool_call_streaming_start"){if(c.text==null){c.text={id:o(),role:"assistant",content:"",createdAt:A}}if(c.text.toolInvocations==null){c.text.toolInvocations=[]}g[i.toolCallId]={text:"",toolName:i.toolName,prefixMapIndex:c.text.toolInvocations.length};c.text.toolInvocations.push({state:"partial-call",toolCallId:i.toolCallId,toolName:i.toolName,args:void 0})}else if(n==="tool_call_delta"){const e=g[i.toolCallId];e.text+=i.argsTextDelta;const{value:t}=dist_parsePartialJson(e.text);c.text.toolInvocations[e.prefixMapIndex]={state:"partial-call",toolCallId:i.toolCallId,toolName:e.toolName,args:t};c.text.internalUpdateId=o()}else if(n==="tool_call"){if(g[i.toolCallId]!=null){c.text.toolInvocations[g[i.toolCallId].prefixMapIndex]={state:"call",...i}}else{if(c.text==null){c.text={id:o(),role:"assistant",content:"",createdAt:A}}if(c.text.toolInvocations==null){c.text.toolInvocations=[]}c.text.toolInvocations.push({state:"call",...i})}c.text.internalUpdateId=o();if(s){const e=await s({toolCall:i});if(e!=null){c.text.toolInvocations[c.text.toolInvocations.length-1]={state:"result",...i,result:e}}}}else if(n==="tool_result"){const e=(a=c.text)==null?void 0:a.toolInvocations;if(e==null){throw new Error("tool_result must be preceded by a tool_call")}const t=e.findIndex((e=>e.toolCallId===i.toolCallId));if(t===-1){throw new Error("tool_result must be preceded by a tool_call with the same toolCallId")}e[t]={...e[t],state:"result",...i}}let e=null;if(n==="function_call"){c["function_call"]={id:o(),role:"assistant",content:"",function_call:i.function_call,name:i.function_call.name,createdAt:A};e=c["function_call"]}let t=null;if(n==="tool_calls"){c["tool_calls"]={id:o(),role:"assistant",content:"",tool_calls:i.tool_calls,createdAt:A};t=c["tool_calls"]}if(n==="data"){p.push(...i)}let E=c["text"];if(n==="message_annotations"){if(!d){d=[...i]}else{d.push(...i)}e=assignAnnotationsToMessage(c["function_call"],d);t=assignAnnotationsToMessage(c["tool_calls"],d);E=assignAnnotationsToMessage(c["text"],d)}if(d==null?void 0:d.length){if(c.text){c.text.annotations=[...d]}if(c.function_call){c.function_call.annotations=[...d]}if(c.tool_calls){c.tool_calls.annotations=[...d]}}const C=[e,t,E].filter(Boolean).map((e=>({...assignAnnotationsToMessage(e,d)})));r([...u,...C],[...p])}n==null?void 0:n({message:c.text,finishReason:m,usage:h});return{messages:[c.text,c.function_call,c.tool_calls].filter(Boolean),data:p}}var dist_getOriginalFetch=()=>fetch;async function callChatApi({api:e,body:t,streamProtocol:r="data",credentials:s,headers:n,abortController:o,restoreMessagesOnFailure:i,onResponse:a,onUpdate:A,onFinish:c,onToolCall:l,generateId:u,fetch:p=dist_getOriginalFetch()}){var d,g;const h=await p(e,{method:"POST",body:JSON.stringify(t),headers:{"Content-Type":"application/json",...n},signal:(d=o==null?void 0:o())==null?void 0:d.signal,credentials:s}).catch((e=>{i();throw e}));if(a){try{await a(h)}catch(e){throw e}}if(!h.ok){i();throw new Error((g=await h.text())!=null?g:"Failed to fetch the chat response.")}if(!h.body){throw new Error("The response body is empty.")}const m=h.body.getReader();switch(r){case"text":{const e=dist_createChunkDecoder();const t={id:u(),createdAt:new Date,role:"assistant",content:""};while(true){const{done:r,value:s}=await m.read();if(r){break}t.content+=e(s);A([{...t}],[]);if((o==null?void 0:o())===null){m.cancel();break}}c==null?void 0:c(t,{usage:{completionTokens:NaN,promptTokens:NaN,totalTokens:NaN},finishReason:"unknown"});return{messages:[t],data:[]}}case"data":{return await processDataProtocolResponse({reader:m,abortControllerRef:o!=null?{current:o()}:void 0,update:A,onToolCall:l,onFinish({message:e,finishReason:t,usage:r}){if(c&&e!=null){c(e,{usage:r,finishReason:t})}},generateId:u})}default:{const e=r;throw new Error(`Unknown stream protocol: ${e}`)}}}var getOriginalFetch2=()=>fetch;async function callCompletionApi({api:e,prompt:t,credentials:r,headers:s,body:n,streamProtocol:o="data",setCompletion:i,setLoading:a,setError:A,setAbortController:c,onResponse:l,onFinish:u,onError:p,onData:d,fetch:g=getOriginalFetch2()}){try{a(true);A(void 0);const p=new AbortController;c(p);i("");const h=await g(e,{method:"POST",body:JSON.stringify({prompt:t,...n}),credentials:r,headers:{"Content-Type":"application/json",...s},signal:p.signal}).catch((e=>{throw e}));if(l){try{await l(h)}catch(e){throw e}}if(!h.ok){throw new Error(await h.text()||"Failed to fetch the chat response.")}if(!h.body){throw new Error("The response body is empty.")}let m="";const E=h.body.getReader();switch(o){case"text":{const e=dist_createChunkDecoder();while(true){const{done:t,value:r}=await E.read();if(t){break}m+=e(r);i(m);if(p===null){E.cancel();break}}break}case"data":{for await(const{type:e,value:t}of readDataStream(E,{isAborted:()=>p===null})){switch(e){case"text":{m+=t;i(m);break}case"data":{d==null?void 0:d(t);break}}}break}default:{const e=o;throw new Error(`Unknown stream protocol: ${e}`)}}if(u){u(t,m)}c(null);return m}catch(e){if(e.name==="AbortError"){c(null);return null}if(e instanceof Error){if(p){p(e)}}A(e)}finally{a(false)}}function dist_createChunkDecoder(e){const t=new TextDecoder;if(!e){return function(e){if(!e)return"";return t.decode(e,{stream:true})}}return function(e){const r=t.decode(e,{stream:true}).split("\n").filter((e=>e!==""));return r.map(parseStreamPart).filter(Boolean)}}function getTextFromDataUrl(e){const[t,r]=e.split(",");const s=t.split(";")[0].split(":")[1];if(s==null||r==null){throw new Error("Invalid data URL format")}try{return window.atob(r)}catch(e){throw new Error(`Error decoding data URL`)}}function dist_isDeepEqualData(e,t){if(e===t)return true;if(e==null||t==null)return false;if(typeof e!=="object"&&typeof t!=="object")return e===t;if(e.constructor!==t.constructor)return false;if(e instanceof Date&&t instanceof Date){return e.getTime()===t.getTime()}if(Array.isArray(e)){if(e.length!==t.length)return false;for(let r=0;rtypeof e!=="object"))){console.warn("experimental_onToolCall should not be defined when using tools");continue}const i=await r(n(),t);if(i===void 0){e=false;break}s(i)}}if(!e){break}}else{let fixFunctionCallArguments2=function(e){for(const t of e.messages){if(t.tool_calls!==void 0){for(const e of t.tool_calls){if(typeof e==="object"){if(e.function.arguments&&typeof e.function.arguments!=="string"){e.function.arguments=JSON.stringify(e.function.arguments)}}}}if(t.function_call!==void 0){if(typeof t.function_call==="object"){if(t.function_call.arguments&&typeof t.function_call.arguments!=="string"){t.function_call.arguments=JSON.stringify(t.function_call.arguments)}}}}};var o=fixFunctionCallArguments2;const e=i;if((e.function_call===void 0||typeof e.function_call==="string")&&(e.tool_calls===void 0||typeof e.tool_calls==="string")){break}if(t){const r=e.function_call;if(!(typeof r==="object")){console.warn("experimental_onFunctionCall should not be defined when using tools");continue}const o=await t(n(),r);if(o===void 0)break;fixFunctionCallArguments2(o);s(o)}if(r){const t=e.tool_calls;if(!(typeof t==="object")){console.warn("experimental_onToolCall should not be defined when using functions");continue}const o=await r(n(),t);if(o===void 0)break;fixFunctionCallArguments2(o);s(o)}}}}var ar=Symbol.for("vercel.ai.schema");function jsonSchema(e,{validate:t}={}){return{[ar]:true,_type:void 0,[Ie]:true,jsonSchema:e,validate:t}}function isSchema(e){return typeof e==="object"&&e!==null&&ar in e&&e[ar]===true&&"jsonSchema"in e&&"validate"in e}function asSchema(e){return isSchema(e)?e:zodSchema(e)}function zodSchema(e){return jsonSchema(Pt(e),{validate:t=>{const r=e.safeParse(t);return r.success?{success:true,value:r.data}:{success:false,error:r.error}}})}var Ar=Object.defineProperty;var __export=(e,t)=>{for(var r in t)Ar(e,r,{get:t[r],enumerable:true})};async function delay(e){return e===void 0?Promise.resolve():new Promise((t=>setTimeout(t,e)))}var cr="AI_RetryError";var lr=`vercel.ai.error.${cr}`;var ur=Symbol.for(lr);var pr;var dr=class extends A{constructor({message:e,reason:t,errors:r}){super({name:cr,message:e});this[pr]=true;this.reason=t;this.errors=r;this.lastError=r[r.length-1]}static isInstance(e){return A.hasMarker(e,lr)}static isRetryError(e){return e instanceof Error&&e.name===cr&&typeof e.reason==="string"&&Array.isArray(e.errors)}toJSON(){return{name:this.name,message:this.message,reason:this.reason,lastError:this.lastError,errors:this.errors}}};pr=ur;var retryWithExponentialBackoff=({maxRetries:e=2,initialDelayInMs:t=2e3,backoffFactor:r=2}={})=>async s=>_retryWithExponentialBackoff(s,{maxRetries:e,delayInMs:t,backoffFactor:r});async function _retryWithExponentialBackoff(e,{maxRetries:t,delayInMs:r,backoffFactor:s},n=[]){try{return await e()}catch(o){if(isAbortError(o)){throw o}if(t===0){throw o}const i=dist_getErrorMessage(o);const a=[...n,o];const A=a.length;if(A>t){throw new dr({message:`Failed after ${A} attempts. Last error: ${i}`,reason:"maxRetriesExceeded",errors:a})}if(o instanceof Error&&d.isAPICallError(o)&&o.isRetryable===true&&A<=t){await delay(r);return _retryWithExponentialBackoff(e,{maxRetries:t,delayInMs:s*r,backoffFactor:s},a)}if(A===1){throw o}throw new dr({message:`Failed after ${A} attempts with non-retryable error: '${i}'`,reason:"errorNotRetryable",errors:a})}}function assembleOperationName({operationId:e,telemetry:t}){return{"operation.name":`${e}${(t==null?void 0:t.functionId)!=null?` ${t.functionId}`:""}`,"resource.name":t==null?void 0:t.functionId,"ai.operationId":e,"ai.telemetry.functionId":t==null?void 0:t.functionId}}function getBaseTelemetryAttributes({model:e,settings:t,telemetry:r,headers:s}){var n;return{"ai.model.provider":e.provider,"ai.model.id":e.modelId,...Object.entries(t).reduce(((e,[t,r])=>{e[`ai.settings.${t}`]=r;return e}),{}),...Object.entries((n=r==null?void 0:r.metadata)!=null?n:{}).reduce(((e,[t,r])=>{e[`ai.telemetry.metadata.${t}`]=r;return e}),{}),...Object.entries(s!=null?s:{}).reduce(((e,[t,r])=>{if(r!==void 0){e[`ai.request.headers.${t}`]=r}return e}),{})}}var gr={startSpan(){return hr},startActiveSpan(e,t,r,s){if(typeof t==="function"){return t(hr)}if(typeof r==="function"){return r(hr)}if(typeof s==="function"){return s(hr)}}};var hr={spanContext(){return fr},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},addLink(){return this},addLinks(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return false},recordException(){return this}};var fr={traceId:"",spanId:"",traceFlags:0};var mr=void 0;function getTracer({isEnabled:e}){if(!e){return gr}if(mr){return mr}return ye.g4.getTracer("ai")}function recordSpan({name:e,tracer:t,attributes:r,fn:s,endWhenDone:n=true}){return t.startActiveSpan(e,{attributes:r},(async e=>{try{const t=await s(e);if(n){e.end()}return t}catch(t){try{if(t instanceof Error){e.recordException({name:t.name,message:t.message,stack:t.stack});e.setStatus({code:ye.Qn.ERROR,message:t.message})}else{e.setStatus({code:ye.Qn.ERROR})}}finally{e.end()}throw t}}))}function selectTelemetryAttributes({telemetry:e,attributes:t}){return Object.entries(t).reduce(((t,[r,s])=>{if(s===void 0){return t}if(typeof s==="object"&&"input"in s&&typeof s.input==="function"){if((e==null?void 0:e.recordInputs)===false){return t}const n=s.input();return n===void 0?t:{...t,[r]:n}}if(typeof s==="object"&&"output"in s&&typeof s.output==="function"){if((e==null?void 0:e.recordOutputs)===false){return t}const n=s.output();return n===void 0?t:{...t,[r]:n}}return{...t,[r]:s}}),{})}async function dist_embed({model:e,value:t,maxRetries:r,abortSignal:s,headers:n,experimental_telemetry:o}){var i;const a=getBaseTelemetryAttributes({model:e,telemetry:o,headers:n,settings:{maxRetries:r}});const A=getTracer({isEnabled:(i=o==null?void 0:o.isEnabled)!=null?i:false});return recordSpan({name:"ai.embed",attributes:selectTelemetryAttributes({telemetry:o,attributes:{...assembleOperationName({operationId:"ai.embed",telemetry:o}),...a,"ai.value":{input:()=>JSON.stringify(t)}}}),tracer:A,fn:async i=>{const c=retryWithExponentialBackoff({maxRetries:r});const{embedding:l,usage:u,rawResponse:p}=await c((()=>recordSpan({name:"ai.embed.doEmbed",attributes:selectTelemetryAttributes({telemetry:o,attributes:{...assembleOperationName({operationId:"ai.embed.doEmbed",telemetry:o}),...a,"ai.values":{input:()=>[JSON.stringify(t)]}}}),tracer:A,fn:async r=>{var i;const a=await e.doEmbed({values:[t],abortSignal:s,headers:n});const A=a.embeddings[0];const c=(i=a.usage)!=null?i:{tokens:NaN};r.setAttributes(selectTelemetryAttributes({telemetry:o,attributes:{"ai.embeddings":{output:()=>a.embeddings.map((e=>JSON.stringify(e)))},"ai.usage.tokens":c.tokens}}));return{embedding:A,usage:c,rawResponse:a.rawResponse}}})));i.setAttributes(selectTelemetryAttributes({telemetry:o,attributes:{"ai.embedding":{output:()=>JSON.stringify(l)},"ai.usage.tokens":u.tokens}}));return new Er({value:t,embedding:l,usage:u,rawResponse:p})}})}var Er=class{constructor(e){this.value=e.value;this.embedding=e.embedding;this.usage=e.usage;this.rawResponse=e.rawResponse}};function splitArray(e,t){if(t<=0){throw new Error("chunkSize must be greater than 0")}const r=[];for(let s=0;st.map((e=>JSON.stringify(e)))}}}),tracer:A,fn:async i=>{const c=retryWithExponentialBackoff({maxRetries:r});const l=e.maxEmbeddingsPerCall;if(l==null){const{embeddings:r,usage:l}=await c((()=>recordSpan({name:"ai.embedMany.doEmbed",attributes:selectTelemetryAttributes({telemetry:o,attributes:{...assembleOperationName({operationId:"ai.embedMany.doEmbed",telemetry:o}),...a,"ai.values":{input:()=>t.map((e=>JSON.stringify(e)))}}}),tracer:A,fn:async r=>{var i;const a=await e.doEmbed({values:t,abortSignal:s,headers:n});const A=a.embeddings;const c=(i=a.usage)!=null?i:{tokens:NaN};r.setAttributes(selectTelemetryAttributes({telemetry:o,attributes:{"ai.embeddings":{output:()=>A.map((e=>JSON.stringify(e)))},"ai.usage.tokens":c.tokens}}));return{embeddings:A,usage:c}}})));i.setAttributes(selectTelemetryAttributes({telemetry:o,attributes:{"ai.embeddings":{output:()=>r.map((e=>JSON.stringify(e)))},"ai.usage.tokens":l.tokens}}));return new Cr({values:t,embeddings:r,usage:l})}const u=splitArray(t,l);const p=[];let d=0;for(const t of u){const{embeddings:r,usage:i}=await c((()=>recordSpan({name:"ai.embedMany.doEmbed",attributes:selectTelemetryAttributes({telemetry:o,attributes:{...assembleOperationName({operationId:"ai.embedMany.doEmbed",telemetry:o}),...a,"ai.values":{input:()=>t.map((e=>JSON.stringify(e)))}}}),tracer:A,fn:async r=>{var i;const a=await e.doEmbed({values:t,abortSignal:s,headers:n});const A=a.embeddings;const c=(i=a.usage)!=null?i:{tokens:NaN};r.setAttributes(selectTelemetryAttributes({telemetry:o,attributes:{"ai.embeddings":{output:()=>A.map((e=>JSON.stringify(e)))},"ai.usage.tokens":c.tokens}}));return{embeddings:A,usage:c}}})));p.push(...r);d+=i.tokens}i.setAttributes(selectTelemetryAttributes({telemetry:o,attributes:{"ai.embeddings":{output:()=>p.map((e=>JSON.stringify(e)))},"ai.usage.tokens":d}}));return new Cr({values:t,embeddings:p,usage:{tokens:d}})}})}var Cr=class{constructor(e){this.values=e.values;this.embeddings=e.embeddings;this.usage=e.usage}};var Ir="AI_DownloadError";var Br=`vercel.ai.error.${Ir}`;var Qr=Symbol.for(Br);var br;var yr=class extends A{constructor({url:e,statusCode:t,statusText:r,cause:s,message:n=(s==null?`Failed to download ${e}: ${t} ${r}`:`Failed to download ${e}: ${s}`)}){super({name:Ir,message:n,cause:s});this[br]=true;this.url=e;this.statusCode=t;this.statusText=r}static isInstance(e){return A.hasMarker(e,Br)}static isDownloadError(e){return e instanceof Error&&e.name===Ir&&typeof e.url==="string"&&(e.statusCode==null||typeof e.statusCode==="number")&&(e.statusText==null||typeof e.statusText==="string")}toJSON(){return{name:this.name,message:this.message,url:this.url,statusCode:this.statusCode,statusText:this.statusText,cause:this.cause}}};br=Qr;async function download({url:e,fetchImplementation:t=fetch}){var r;const s=e.toString();try{const e=await t(s);if(!e.ok){throw new yr({url:s,statusCode:e.status,statusText:e.statusText})}return{data:new Uint8Array(await e.arrayBuffer()),mimeType:(r=e.headers.get("content-type"))!=null?r:void 0}}catch(e){if(yr.isInstance(e)){throw e}throw new yr({url:s,cause:e})}}var vr=[{mimeType:"image/gif",bytes:[71,73,70]},{mimeType:"image/png",bytes:[137,80,78,71]},{mimeType:"image/jpeg",bytes:[255,216]},{mimeType:"image/webp",bytes:[82,73,70,70]}];function detectImageMimeType(e){for(const{bytes:t,mimeType:r}of vr){if(e.length>=t.length&&t.every(((t,r)=>e[r]===t))){return r}}return void 0}var wr="AI_InvalidDataContentError";var xr=`vercel.ai.error.${wr}`;var kr=Symbol.for(xr);var Rr;var Sr=class extends A{constructor({content:e,cause:t,message:r=`Invalid data content. Expected a base64 string, Uint8Array, ArrayBuffer, or Buffer, but got ${typeof e}.`}){super({name:wr,message:r,cause:t});this[Rr]=true;this.content=e}static isInstance(e){return A.hasMarker(e,xr)}static isInvalidDataContentError(e){return e instanceof Error&&e.name===wr&&e.content!=null}toJSON(){return{name:this.name,message:this.message,stack:this.stack,cause:this.cause,content:this.content}}};Rr=kr;var Dr=Ft.union([Ft.string(),Ft["instanceof"](Uint8Array),Ft["instanceof"](ArrayBuffer),Ft.custom((e=>{var t,r;return(r=(t=globalThis.Buffer)==null?void 0:t.isBuffer(e))!=null?r:false}),{message:"Must be a Buffer"})]);function convertDataContentToUint8Array(e){if(e instanceof Uint8Array){return e}if(typeof e==="string"){try{return convertBase64ToUint8Array(e)}catch(t){throw new Sr({message:"Invalid data content. Content string is not a base64-encoded media.",content:e,cause:t})}}if(e instanceof ArrayBuffer){return new Uint8Array(e)}throw new Sr({content:e})}function convertUint8ArrayToText(e){try{return(new TextDecoder).decode(e)}catch(e){throw new Error("Error decoding Uint8Array to text")}}var Tr="AI_InvalidMessageRoleError";var _r=`vercel.ai.error.${Tr}`;var Fr=Symbol.for(_r);var Nr;var Ur=class extends A{constructor({role:e,message:t=`Invalid message role: '${e}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:Tr,message:t});this[Nr]=true;this.role=e}static isInstance(e){return A.hasMarker(e,_r)}static isInvalidMessageRoleError(e){return e instanceof Error&&e.name===Tr&&typeof e.role==="string"}toJSON(){return{name:this.name,message:this.message,stack:this.stack,role:this.role}}};Nr=Fr;async function convertToLanguageModelPrompt({prompt:e,modelSupportsImageUrls:t=true,downloadImplementation:r=download}){const s=[];if(e.system!=null){s.push({role:"system",content:e.system})}const n=t||e.messages==null?null:await downloadImages(e.messages,r);const o=e.type;switch(o){case"prompt":{s.push({role:"user",content:[{type:"text",text:e.prompt}]});break}case"messages":{s.push(...e.messages.map((e=>convertToLanguageModelMessage(e,n))));break}default:{const e=o;throw new Error(`Unsupported prompt type: ${e}`)}}return s}function convertToLanguageModelMessage(e,t){const r=e.role;switch(r){case"system":{return{role:"system",content:e.content,providerMetadata:e.experimental_providerMetadata}}case"user":{if(typeof e.content==="string"){return{role:"user",content:[{type:"text",text:e.content}],providerMetadata:e.experimental_providerMetadata}}return{role:"user",content:e.content.map((r=>{var s,n,o;switch(r.type){case"text":{return{type:"text",text:r.text,providerMetadata:r.experimental_providerMetadata}}case"image":{if(r.image instanceof URL){if(t==null){return{type:"image",image:r.image,mimeType:r.mimeType,providerMetadata:r.experimental_providerMetadata}}else{const e=t[r.image.toString()];return{type:"image",image:e.data,mimeType:(s=r.mimeType)!=null?s:e.mimeType,providerMetadata:r.experimental_providerMetadata}}}if(typeof r.image==="string"){try{const s=new URL(r.image);switch(s.protocol){case"http:":case"https:":{if(t==null){return{type:"image",image:s,mimeType:r.mimeType,providerMetadata:r.experimental_providerMetadata}}else{const e=t[r.image];return{type:"image",image:e.data,mimeType:(n=r.mimeType)!=null?n:e.mimeType,providerMetadata:r.experimental_providerMetadata}}}case"data:":{try{const[e,t]=r.image.split(",");const s=e.split(";")[0].split(":")[1];if(s==null||t==null){throw new Error("Invalid data URL format")}return{type:"image",image:convertDataContentToUint8Array(t),mimeType:s,providerMetadata:r.experimental_providerMetadata}}catch(t){throw new Error(`Error processing data URL: ${dist_getErrorMessage(e)}`)}}default:{throw new Error(`Unsupported URL protocol: ${s.protocol}`)}}}catch(e){}}const i=convertDataContentToUint8Array(r.image);return{type:"image",image:i,mimeType:(o=r.mimeType)!=null?o:detectImageMimeType(i),providerMetadata:r.experimental_providerMetadata}}}})),providerMetadata:e.experimental_providerMetadata}}case"assistant":{if(typeof e.content==="string"){return{role:"assistant",content:[{type:"text",text:e.content}],providerMetadata:e.experimental_providerMetadata}}return{role:"assistant",content:e.content.filter((e=>e.type!=="text"||e.text!=="")),providerMetadata:e.experimental_providerMetadata}}case"tool":{return{role:"tool",content:e.content.map((e=>({type:"tool-result",toolCallId:e.toolCallId,toolName:e.toolName,result:e.result,providerMetadata:e.experimental_providerMetadata}))),providerMetadata:e.experimental_providerMetadata}}default:{const e=r;throw new Ur({role:e})}}}async function downloadImages(e,t){const r=e.filter((e=>e.role==="user")).map((e=>e.content)).filter((e=>Array.isArray(e))).flat().filter((e=>e.type==="image")).map((e=>e.image)).map((e=>typeof e==="string"&&(e.startsWith("http:")||e.startsWith("https:"))?new URL(e):e)).filter((e=>e instanceof URL));const s=await Promise.all(r.map((async e=>({url:e,data:await t({url:e})}))));return Object.fromEntries(s.map((({url:e,data:t})=>[e.toString(),t])))}var Mr="AI_InvalidArgumentError";var Or=`vercel.ai.error.${Mr}`;var Lr=Symbol.for(Or);var Pr;var Gr=class extends A{constructor({parameter:e,value:t,message:r}){super({name:Mr,message:`Invalid argument for parameter ${e}: ${r}`});this[Pr]=true;this.parameter=e;this.value=t}static isInstance(e){return A.hasMarker(e,Or)}static isInvalidArgumentError(e){return e instanceof Error&&e.name===Mr&&typeof e.parameter==="string"&&typeof e.value==="string"}toJSON(){return{name:this.name,message:this.message,stack:this.stack,parameter:this.parameter,value:this.value}}};Pr=Lr;function prepareCallSettings({maxTokens:e,temperature:t,topP:r,presencePenalty:s,frequencyPenalty:n,stopSequences:o,seed:i,maxRetries:a}){if(e!=null){if(!Number.isInteger(e)){throw new Gr({parameter:"maxTokens",value:e,message:"maxTokens must be an integer"})}if(e<1){throw new Gr({parameter:"maxTokens",value:e,message:"maxTokens must be >= 1"})}}if(t!=null){if(typeof t!=="number"){throw new Gr({parameter:"temperature",value:t,message:"temperature must be a number"})}}if(r!=null){if(typeof r!=="number"){throw new Gr({parameter:"topP",value:r,message:"topP must be a number"})}}if(s!=null){if(typeof s!=="number"){throw new Gr({parameter:"presencePenalty",value:s,message:"presencePenalty must be a number"})}}if(n!=null){if(typeof n!=="number"){throw new Gr({parameter:"frequencyPenalty",value:n,message:"frequencyPenalty must be a number"})}}if(i!=null){if(!Number.isInteger(i)){throw new Gr({parameter:"seed",value:i,message:"seed must be an integer"})}}if(a!=null){if(!Number.isInteger(a)){throw new Gr({parameter:"maxRetries",value:a,message:"maxRetries must be an integer"})}if(a<0){throw new Gr({parameter:"maxRetries",value:a,message:"maxRetries must be >= 0"})}}return{maxTokens:e,temperature:t!=null?t:0,topP:r,presencePenalty:s,frequencyPenalty:n,stopSequences:o!=null&&o.length>0?o:void 0,seed:i,maxRetries:a!=null?a:2}}var jr=Ft.lazy((()=>Ft.union([Ft["null"](),Ft.string(),Ft.number(),Ft.boolean(),Ft.record(Ft.string(),jr),Ft.array(jr)])));var Hr=Ft.record(Ft.string(),Ft.record(Ft.string(),jr));var Jr=Ft.object({type:Ft.literal("text"),text:Ft.string(),experimental_providerMetadata:Hr.optional()});var Vr=Ft.object({type:Ft.literal("image"),image:Ft.union([Dr,Ft["instanceof"](URL)]),mimeType:Ft.string().optional(),experimental_providerMetadata:Hr.optional()});var Yr=Ft.object({type:Ft.literal("tool-call"),toolCallId:Ft.string(),toolName:Ft.string(),args:Ft.unknown()});var qr=Ft.object({type:Ft.literal("tool-result"),toolCallId:Ft.string(),toolName:Ft.string(),result:Ft.unknown(),isError:Ft.boolean().optional(),experimental_providerMetadata:Hr.optional()});var Wr=Ft.object({role:Ft.literal("system"),content:Ft.string(),experimental_providerMetadata:Hr.optional()});var Zr=Ft.object({role:Ft.literal("user"),content:Ft.union([Ft.string(),Ft.array(Ft.union([Jr,Vr]))]),experimental_providerMetadata:Hr.optional()});var zr=Ft.object({role:Ft.literal("assistant"),content:Ft.union([Ft.string(),Ft.array(Ft.union([Jr,Yr]))]),experimental_providerMetadata:Hr.optional()});var Kr=Ft.object({role:Ft.literal("tool"),content:Ft.array(qr),experimental_providerMetadata:Hr.optional()});var Xr=Ft.union([Wr,Zr,zr,Kr]);function validatePrompt(e){if(e.prompt==null&&e.messages==null){throw new y({prompt:e,message:"prompt or messages must be defined"})}if(e.prompt!=null&&e.messages!=null){throw new y({prompt:e,message:"prompt and messages cannot be defined at the same time"})}if(e.system!=null&&typeof e.system!=="string"){throw new y({prompt:e,message:"system must be a string"})}if(e.prompt!=null){if(typeof e.prompt!=="string"){throw new y({prompt:e,message:"prompt must be a string"})}return{type:"prompt",prompt:e.prompt,messages:void 0,system:e.system}}if(e.messages!=null){const t=safeValidateTypes({value:e.messages,schema:Ft.array(Xr)});if(!t.success){throw new y({prompt:e,message:"messages must be an array of CoreMessage",cause:t.error})}return{type:"messages",prompt:void 0,messages:e.messages,system:e.system}}throw new Error("unreachable")}function calculateCompletionTokenUsage(e){return{promptTokens:e.promptTokens,completionTokens:e.completionTokens,totalTokens:e.promptTokens+e.completionTokens}}function prepareResponseHeaders(e,{contentType:t,dataStreamVersion:r}){var s;const n=new Headers((s=e==null?void 0:e.headers)!=null?s:{});if(!n.has("Content-Type")){n.set("Content-Type",t)}if(r!==void 0){n.set("X-Vercel-AI-Data-Stream",r)}return n}var $r="JSON schema:";var es="You MUST answer with a JSON object that matches the JSON schema above.";var ts="You MUST answer with JSON.";function injectJsonInstruction({prompt:e,schema:t,schemaPrefix:r=(t!=null?$r:void 0),schemaSuffix:s=(t!=null?es:ts)}){return[e!=null&&e.length>0?e:void 0,e!=null&&e.length>0?"":void 0,r,t!=null?JSON.stringify(t):void 0,s].filter((e=>e!=null)).join("\n")}var rs="AI_NoObjectGeneratedError";var ss=`vercel.ai.error.${rs}`;var ns=Symbol.for(ss);var os;var is=class extends A{constructor({message:e="No object generated."}={}){super({name:rs,message:e});this[os]=true}static isInstance(e){return A.hasMarker(e,ss)}static isNoObjectGeneratedError(e){return e instanceof Error&&e.name===rs}toJSON(){return{name:this.name,cause:this.cause,message:this.message,stack:this.stack}}};os=ns;function createAsyncIterableStream(e,t){const r=e.pipeThrough(new TransformStream(t));r[Symbol.asyncIterator]=()=>{const e=r.getReader();return{async next(){const{done:t,value:r}=await e.read();return t?{done:true,value:void 0}:{done:false,value:r}}}};return r}var as={type:"no-schema",jsonSchema:void 0,validatePartialResult({value:e,textDelta:t}){return{success:true,value:{partial:e,textDelta:t}}},validateFinalResult(e){return e===void 0?{success:false,error:new is}:{success:true,value:e}},createElementStream(){throw new fe({functionality:"element streams in no-schema mode"})}};var objectOutputStrategy=e=>({type:"object",jsonSchema:e.jsonSchema,validatePartialResult({value:e,textDelta:t}){return{success:true,value:{partial:e,textDelta:t}}},validateFinalResult(t){return safeValidateTypes({value:t,schema:e})},createElementStream(){throw new fe({functionality:"element streams in object mode"})}});var arrayOutputStrategy=e=>{const{$schema:t,...r}=e.jsonSchema;return{type:"array",jsonSchema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:r}},required:["elements"],additionalProperties:false},validatePartialResult({value:t,latestObject:r,isFirstDelta:s,isFinalDelta:n}){var o;if(!isJSONObject(t)||!isJSONArray(t.elements)){return{success:false,error:new ue({value:t,cause:"value must be an object that contains an array of elements"})}}const i=t.elements;const a=[];for(let t=0;t0){c+=","}c+=a.slice(A).map((e=>JSON.stringify(e))).join(",");if(n){c+="]"}return{success:true,value:{partial:a,textDelta:c}}},validateFinalResult(t){if(!isJSONObject(t)||!isJSONArray(t.elements)){return{success:false,error:new ue({value:t,cause:"value must be an object that contains an array of elements"})}}const r=t.elements;for(const t of r){const r=safeValidateTypes({value:t,schema:e});if(!r.success){return r}}return{success:true,value:r}},createElementStream(e){let t=0;return createAsyncIterableStream(e,{transform(e,r){switch(e.type){case"object":{const s=e.object;for(;tJSON.stringify({system:i,prompt:a,messages:A})},"ai.schema":h.jsonSchema!=null?{input:()=>JSON.stringify(h.jsonSchema)}:void 0,"ai.schema.name":r,"ai.schema.description":s,"ai.settings.output":h.type,"ai.settings.mode":n}}),tracer:E,fn:async t=>{const o=retryWithExponentialBackoff({maxRetries:c});if(n==="auto"||n==null){n=e.defaultObjectGenerationMode}let g;let C;let I;let B;let Q;let b;let y;switch(n){case"json":{const t=validatePrompt({system:h.jsonSchema==null?injectJsonInstruction({prompt:i}):e.supportsStructuredOutputs?i:injectJsonInstruction({prompt:i,schema:h.jsonSchema}),prompt:a,messages:A});const c=await convertToLanguageModelPrompt({prompt:t,modelSupportsImageUrls:e.supportsImageUrls});const v=t.type;const w=await o((()=>recordSpan({name:"ai.generateObject.doGenerate",attributes:selectTelemetryAttributes({telemetry:p,attributes:{...assembleOperationName({operationId:"ai.generateObject.doGenerate",telemetry:p}),...m,"ai.prompt.format":{input:()=>v},"ai.prompt.messages":{input:()=>JSON.stringify(c)},"ai.settings.mode":n,"gen_ai.system":e.provider,"gen_ai.request.model":e.modelId,"gen_ai.request.frequency_penalty":d.frequencyPenalty,"gen_ai.request.max_tokens":d.maxTokens,"gen_ai.request.presence_penalty":d.presencePenalty,"gen_ai.request.temperature":d.temperature,"gen_ai.request.top_k":d.topK,"gen_ai.request.top_p":d.topP}}),tracer:E,fn:async t=>{const n=await e.doGenerate({mode:{type:"object-json",schema:h.jsonSchema,name:r,description:s},...prepareCallSettings(d),inputFormat:v,prompt:c,abortSignal:l,headers:u});if(n.text===void 0){throw new is}t.setAttributes(selectTelemetryAttributes({telemetry:p,attributes:{"ai.response.finishReason":n.finishReason,"ai.response.object":{output:()=>n.text},"ai.usage.promptTokens":n.usage.promptTokens,"ai.usage.completionTokens":n.usage.completionTokens,"ai.finishReason":n.finishReason,"ai.result.object":{output:()=>n.text},"gen_ai.response.finish_reasons":[n.finishReason],"gen_ai.usage.prompt_tokens":n.usage.promptTokens,"gen_ai.usage.completion_tokens":n.usage.completionTokens}}));return{...n,objectText:n.text}}})));g=w.objectText;C=w.finishReason;I=w.usage;B=w.warnings;Q=w.rawResponse;b=w.logprobs;y=w.providerMetadata;break}case"tool":{const t=validatePrompt({system:i,prompt:a,messages:A});const c=await convertToLanguageModelPrompt({prompt:t,modelSupportsImageUrls:e.supportsImageUrls});const v=t.type;const w=await o((()=>recordSpan({name:"ai.generateObject.doGenerate",attributes:selectTelemetryAttributes({telemetry:p,attributes:{...assembleOperationName({operationId:"ai.generateObject.doGenerate",telemetry:p}),...m,"ai.prompt.format":{input:()=>v},"ai.prompt.messages":{input:()=>JSON.stringify(c)},"ai.settings.mode":n,"gen_ai.system":e.provider,"gen_ai.request.model":e.modelId,"gen_ai.request.frequency_penalty":d.frequencyPenalty,"gen_ai.request.max_tokens":d.maxTokens,"gen_ai.request.presence_penalty":d.presencePenalty,"gen_ai.request.temperature":d.temperature,"gen_ai.request.top_k":d.topK,"gen_ai.request.top_p":d.topP}}),tracer:E,fn:async t=>{var n,o;const i=await e.doGenerate({mode:{type:"object-tool",tool:{type:"function",name:r!=null?r:"json",description:s!=null?s:"Respond with a JSON object.",parameters:h.jsonSchema}},...prepareCallSettings(d),inputFormat:v,prompt:c,abortSignal:l,headers:u});const a=(o=(n=i.toolCalls)==null?void 0:n[0])==null?void 0:o.args;if(a===void 0){throw new is}t.setAttributes(selectTelemetryAttributes({telemetry:p,attributes:{"ai.response.finishReason":i.finishReason,"ai.response.object":{output:()=>a},"ai.usage.promptTokens":i.usage.promptTokens,"ai.usage.completionTokens":i.usage.completionTokens,"ai.finishReason":i.finishReason,"ai.result.object":{output:()=>a},"gen_ai.response.finish_reasons":[i.finishReason],"gen_ai.usage.input_tokens":i.usage.promptTokens,"gen_ai.usage.output_tokens":i.usage.completionTokens}}));return{...i,objectText:a}}})));g=w.objectText;C=w.finishReason;I=w.usage;B=w.warnings;Q=w.rawResponse;b=w.logprobs;y=w.providerMetadata;break}case void 0:{throw new Error("Model does not have a default object generation mode.")}default:{const e=n;throw new Error(`Unsupported mode: ${e}`)}}const v=safeParseJSON({text:g});if(!v.success){throw v.error}const w=h.validateFinalResult(v.value);if(!w.success){throw w.error}t.setAttributes(selectTelemetryAttributes({telemetry:p,attributes:{"ai.response.finishReason":C,"ai.response.object":{output:()=>JSON.stringify(w.value)},"ai.usage.promptTokens":I.promptTokens,"ai.usage.completionTokens":I.completionTokens,"ai.finishReason":C,"ai.result.object":{output:()=>JSON.stringify(w.value)}}}));return new As({object:w.value,finishReason:C,usage:calculateCompletionTokenUsage(I),warnings:B,rawResponse:Q,logprobs:b,providerMetadata:y})}})}var As=class{constructor(e){this.object=e.object;this.finishReason=e.finishReason;this.usage=e.usage;this.warnings=e.warnings;this.rawResponse=e.rawResponse;this.logprobs=e.logprobs;this.experimental_providerMetadata=e.providerMetadata}toJsonResponse(e){var t;return new Response(JSON.stringify(this.object),{status:(t=e==null?void 0:e.status)!=null?t:200,headers:prepareResponseHeaders(e,{contentType:"application/json; charset=utf-8"})})}};var cs=null&&generateObject;function createResolvablePromise(){let e;let t;const r=new Promise(((r,s)=>{e=r;t=s}));return{promise:r,resolve:e,reject:t}}var ls=class{constructor(){this.status={type:"pending"};this._resolve=void 0;this._reject=void 0}get value(){if(this.promise){return this.promise}this.promise=new Promise(((e,t)=>{if(this.status.type==="resolved"){e(this.status.value)}else if(this.status.type==="rejected"){t(this.status.error)}this._resolve=e;this._reject=t}));return this.promise}resolve(e){var t;this.status={type:"resolved",value:e};if(this.promise){(t=this._resolve)==null?void 0:t.call(this,e)}}reject(e){var t;this.status={type:"rejected",error:e};if(this.promise){(t=this._reject)==null?void 0:t.call(this,e)}}};function now(){var e,t;return(t=(e=globalThis==null?void 0:globalThis.performance)==null?void 0:e.now())!=null?t:Date.now()}async function streamObject({model:e,schema:t,schemaName:r,schemaDescription:s,mode:n,output:o="object",system:i,prompt:a,messages:A,maxRetries:c,abortSignal:l,headers:u,experimental_telemetry:p,onFinish:d,_internal:{now:g=now}={},...h}){var m;validateObjectGenerationInput({output:o,mode:n,schema:t,schemaName:r,schemaDescription:s});const E=getOutputStrategy({output:o,schema:t});if(E.type==="no-schema"&&n===void 0){n="json"}const C=getBaseTelemetryAttributes({model:e,telemetry:p,headers:u,settings:{...h,maxRetries:c}});const I=getTracer({isEnabled:(m=p==null?void 0:p.isEnabled)!=null?m:false});const B=retryWithExponentialBackoff({maxRetries:c});return recordSpan({name:"ai.streamObject",attributes:selectTelemetryAttributes({telemetry:p,attributes:{...assembleOperationName({operationId:"ai.streamObject",telemetry:p}),...C,"ai.prompt":{input:()=>JSON.stringify({system:i,prompt:a,messages:A})},"ai.schema":E.jsonSchema!=null?{input:()=>JSON.stringify(E.jsonSchema)}:void 0,"ai.schema.name":r,"ai.schema.description":s,"ai.settings.output":E.type,"ai.settings.mode":n}}),tracer:I,endWhenDone:false,fn:async t=>{if(n==="auto"||n==null){n=e.defaultObjectGenerationMode}let o;let c;switch(n){case"json":{const t=validatePrompt({system:E.jsonSchema==null?injectJsonInstruction({prompt:i}):e.supportsStructuredOutputs?i:injectJsonInstruction({prompt:i,schema:E.jsonSchema}),prompt:a,messages:A});o={mode:{type:"object-json",schema:E.jsonSchema,name:r,description:s},...prepareCallSettings(h),inputFormat:t.type,prompt:await convertToLanguageModelPrompt({prompt:t,modelSupportsImageUrls:e.supportsImageUrls}),abortSignal:l,headers:u};c={transform:(e,t)=>{switch(e.type){case"text-delta":t.enqueue(e.textDelta);break;case"finish":case"error":t.enqueue(e);break}}};break}case"tool":{const t=validatePrompt({system:i,prompt:a,messages:A});o={mode:{type:"object-tool",tool:{type:"function",name:r!=null?r:"json",description:s!=null?s:"Respond with a JSON object.",parameters:E.jsonSchema}},...prepareCallSettings(h),inputFormat:t.type,prompt:await convertToLanguageModelPrompt({prompt:t,modelSupportsImageUrls:e.supportsImageUrls}),abortSignal:l,headers:u};c={transform(e,t){switch(e.type){case"tool-call-delta":t.enqueue(e.argsTextDelta);break;case"finish":case"error":t.enqueue(e);break}}};break}case void 0:{throw new Error("Model does not have a default object generation mode.")}default:{const e=n;throw new Error(`Unsupported mode: ${e}`)}}const{result:{stream:m,warnings:Q,rawResponse:b},doStreamSpan:y,startTimestampMs:v}=await B((()=>recordSpan({name:"ai.streamObject.doStream",attributes:selectTelemetryAttributes({telemetry:p,attributes:{...assembleOperationName({operationId:"ai.streamObject.doStream",telemetry:p}),...C,"ai.prompt.format":{input:()=>o.inputFormat},"ai.prompt.messages":{input:()=>JSON.stringify(o.prompt)},"ai.settings.mode":n,"gen_ai.system":e.provider,"gen_ai.request.model":e.modelId,"gen_ai.request.frequency_penalty":h.frequencyPenalty,"gen_ai.request.max_tokens":h.maxTokens,"gen_ai.request.presence_penalty":h.presencePenalty,"gen_ai.request.temperature":h.temperature,"gen_ai.request.top_k":h.topK,"gen_ai.request.top_p":h.topP}}),tracer:I,endWhenDone:false,fn:async t=>({startTimestampMs:g(),doStreamSpan:t,result:await e.doStream(o)})})));return new us({outputStrategy:E,stream:m.pipeThrough(new TransformStream(c)),warnings:Q,rawResponse:b,onFinish:d,rootSpan:t,doStreamSpan:y,telemetry:p,startTimestampMs:v,now:g})}})}var us=class{constructor({stream:e,warnings:t,rawResponse:r,outputStrategy:s,onFinish:n,rootSpan:o,doStreamSpan:i,telemetry:a,startTimestampMs:A,now:c}){this.warnings=t;this.rawResponse=r;this.outputStrategy=s;this.objectPromise=new ls;const{resolve:l,promise:u}=createResolvablePromise();this.usage=u;const{resolve:p,promise:d}=createResolvablePromise();this.experimental_providerMetadata=d;let g;let h;let m;let E;let C;let I="";let B="";let Q=void 0;let b=void 0;let y=true;let v=true;const w=this;this.originalStream=e.pipeThrough(new TransformStream({async transform(e,t){if(y){const e=c()-A;y=false;i.addEvent("ai.stream.firstChunk",{"ai.stream.msToFirstChunk":e});i.setAttributes({"ai.stream.msToFirstChunk":e})}if(typeof e==="string"){I+=e;B+=e;const{value:r,state:n}=parsePartialJson(I);if(r!==void 0&&!isDeepEqualData(Q,r)){const e=s.validatePartialResult({value:r,textDelta:B,latestObject:b,isFirstDelta:v,isFinalDelta:n==="successful-parse"});if(e.success&&!isDeepEqualData(b,e.value.partial)){Q=r;b=e.value.partial;t.enqueue({type:"object",object:b});t.enqueue({type:"text-delta",textDelta:e.value.textDelta});B="";v=false}}return}switch(e.type){case"finish":{if(B!==""){t.enqueue({type:"text-delta",textDelta:B})}h=e.finishReason;g=calculateCompletionTokenUsage(e.usage);m=e.providerMetadata;t.enqueue({...e,usage:g});l(g);p(m);const r=s.validateFinalResult(Q);if(r.success){E=r.value;w.objectPromise.resolve(E)}else{C=r.error;w.objectPromise.reject(C)}break}default:{t.enqueue(e);break}}},async flush(e){try{const e=g!=null?g:{promptTokens:NaN,completionTokens:NaN,totalTokens:NaN};i.setAttributes(selectTelemetryAttributes({telemetry:a,attributes:{"ai.response.finishReason":h,"ai.response.object":{output:()=>JSON.stringify(E)},"ai.usage.promptTokens":e.promptTokens,"ai.usage.completionTokens":e.completionTokens,"ai.finishReason":h,"ai.result.object":{output:()=>JSON.stringify(E)},"gen_ai.usage.input_tokens":e.promptTokens,"gen_ai.usage.output_tokens":e.completionTokens,"gen_ai.response.finish_reasons":[h]}}));i.end();o.setAttributes(selectTelemetryAttributes({telemetry:a,attributes:{"ai.usage.promptTokens":e.promptTokens,"ai.usage.completionTokens":e.completionTokens,"ai.response.object":{output:()=>JSON.stringify(E)},"ai.result.object":{output:()=>JSON.stringify(E)}}}));await(n==null?void 0:n({usage:e,object:E,error:C,rawResponse:r,warnings:t,experimental_providerMetadata:m}))}catch(t){e.error(t)}finally{o.end()}}}))}get object(){return this.objectPromise.value}get partialObjectStream(){return createAsyncIterableStream(this.originalStream,{transform(e,t){switch(e.type){case"object":t.enqueue(e.object);break;case"text-delta":case"finish":break;case"error":t.error(e.error);break;default:{const t=e;throw new Error(`Unsupported chunk type: ${t}`)}}}})}get elementStream(){return this.outputStrategy.createElementStream(this.originalStream)}get textStream(){return createAsyncIterableStream(this.originalStream,{transform(e,t){switch(e.type){case"text-delta":t.enqueue(e.textDelta);break;case"object":case"finish":break;case"error":t.error(e.error);break;default:{const t=e;throw new Error(`Unsupported chunk type: ${t}`)}}}})}get fullStream(){return createAsyncIterableStream(this.originalStream,{transform(e,t){t.enqueue(e)}})}pipeTextStreamToResponse(e,t){var r;e.writeHead((r=t==null?void 0:t.status)!=null?r:200,{"Content-Type":"text/plain; charset=utf-8",...t==null?void 0:t.headers});const s=this.textStream.pipeThrough(new TextEncoderStream).getReader();const read=async()=>{try{while(true){const{done:t,value:r}=await s.read();if(t)break;e.write(r)}}catch(e){throw e}finally{e.end()}};read()}toTextStreamResponse(e){var t;return new Response(this.textStream.pipeThrough(new TextEncoderStream),{status:(t=e==null?void 0:e.status)!=null?t:200,headers:prepareResponseHeaders(e,{contentType:"text/plain; charset=utf-8"})})}};var ps=null&&streamObject;function isNonEmptyObject(e){return e!=null&&Object.keys(e).length>0}function prepareToolsAndToolChoice({tools:e,toolChoice:t}){if(!isNonEmptyObject(e)){return{tools:void 0,toolChoice:void 0}}return{tools:Object.entries(e).map((([e,t])=>({type:"function",name:e,description:t.description,parameters:asSchema2(t.parameters).jsonSchema}))),toolChoice:t==null?{type:"auto"}:typeof t==="string"?{type:t}:{type:"tool",toolName:t.toolName}}}function toResponseMessages({text:e="",toolCalls:t,toolResults:r}){const s=[];s.push({role:"assistant",content:[{type:"text",text:e},...t]});if(r.length>0){s.push({role:"tool",content:r.map((e=>({type:"tool-result",toolCallId:e.toolCallId,toolName:e.toolName,result:e.result})))})}return s}var ds="AI_InvalidToolArgumentsError";var gs=`vercel.ai.error.${ds}`;var hs=Symbol.for(gs);var fs;var ms=class extends(null&&AISDKError7){constructor({toolArgs:e,toolName:t,cause:r,message:s=`Invalid arguments for tool ${t}: ${getErrorMessage3(r)}`}){super({name:ds,message:s,cause:r});this[fs]=true;this.toolArgs=e;this.toolName=t}static isInstance(e){return AISDKError7.hasMarker(e,gs)}static isInvalidToolArgumentsError(e){return e instanceof Error&&e.name===ds&&typeof e.toolName==="string"&&typeof e.toolArgs==="string"}toJSON(){return{name:this.name,message:this.message,cause:this.cause,stack:this.stack,toolName:this.toolName,toolArgs:this.toolArgs}}};fs=hs;var Es="AI_NoSuchToolError";var Cs=`vercel.ai.error.${Es}`;var Is=Symbol.for(Cs);var Bs;var Qs=class extends(null&&AISDKError8){constructor({toolName:e,availableTools:t=void 0,message:r=`Model tried to call unavailable tool '${e}'. ${t===void 0?"No tools are available.":`Available tools: ${t.join(", ")}.`}`}){super({name:Es,message:r});this[Bs]=true;this.toolName=e;this.availableTools=t}static isInstance(e){return AISDKError8.hasMarker(e,Cs)}static isNoSuchToolError(e){return e instanceof Error&&e.name===Es&&"toolName"in e&&e.toolName!=void 0&&typeof e.name==="string"}toJSON(){return{name:this.name,message:this.message,stack:this.stack,toolName:this.toolName,availableTools:this.availableTools}}};Bs=Is;function parseToolCall({toolCall:e,tools:t}){const r=e.toolName;if(t==null){throw new Qs({toolName:e.toolName})}const s=t[r];if(s==null){throw new Qs({toolName:e.toolName,availableTools:Object.keys(t)})}const n=safeParseJSON2({text:e.args,schema:asSchema3(s.parameters)});if(n.success===false){throw new ms({toolName:r,toolArgs:e.args,cause:n.error})}return{type:"tool-call",toolCallId:e.toolCallId,toolName:r,args:n.value}}async function generateText({model:e,tools:t,toolChoice:r,system:s,prompt:n,messages:o,maxRetries:i,abortSignal:a,headers:A,maxAutomaticRoundtrips:c=0,maxToolRoundtrips:l=c,experimental_telemetry:u,...p}){var d;const g=getBaseTelemetryAttributes({model:e,telemetry:u,headers:A,settings:{...p,maxRetries:i}});const h=getTracer({isEnabled:(d=u==null?void 0:u.isEnabled)!=null?d:false});return recordSpan({name:"ai.generateText",attributes:selectTelemetryAttributes({telemetry:u,attributes:{...assembleOperationName({operationId:"ai.generateText",telemetry:u}),...g,"ai.prompt":{input:()=>JSON.stringify({system:s,prompt:n,messages:o})},"ai.settings.maxToolRoundtrips":l}}),tracer:h,fn:async c=>{var d,m,E;const C=retryWithExponentialBackoff({maxRetries:i});const I=validatePrompt({system:s,prompt:n,messages:o});const B={type:"regular",...prepareToolsAndToolChoice({tools:t,toolChoice:r})};const Q=prepareCallSettings(p);const b=await convertToLanguageModelPrompt({prompt:I,modelSupportsImageUrls:e.supportsImageUrls});let y;let v=[];let w=[];let x=0;const k=[];const R=[];const S={completionTokens:0,promptTokens:0,totalTokens:0};do{const r=x===0?I.type:"messages";y=await C((()=>recordSpan({name:"ai.generateText.doGenerate",attributes:selectTelemetryAttributes({telemetry:u,attributes:{...assembleOperationName({operationId:"ai.generateText.doGenerate",telemetry:u}),...g,"ai.prompt.format":{input:()=>r},"ai.prompt.messages":{input:()=>JSON.stringify(b)},"gen_ai.system":e.provider,"gen_ai.request.model":e.modelId,"gen_ai.request.frequency_penalty":p.frequencyPenalty,"gen_ai.request.max_tokens":p.maxTokens,"gen_ai.request.presence_penalty":p.presencePenalty,"gen_ai.request.stop_sequences":p.stopSequences,"gen_ai.request.temperature":p.temperature,"gen_ai.request.top_k":p.topK,"gen_ai.request.top_p":p.topP}}),tracer:h,fn:async t=>{const s=await e.doGenerate({mode:B,...Q,inputFormat:r,prompt:b,abortSignal:a,headers:A});t.setAttributes(selectTelemetryAttributes({telemetry:u,attributes:{"ai.response.finishReason":s.finishReason,"ai.response.text":{output:()=>s.text},"ai.response.toolCalls":{output:()=>JSON.stringify(s.toolCalls)},"ai.usage.promptTokens":s.usage.promptTokens,"ai.usage.completionTokens":s.usage.completionTokens,"ai.finishReason":s.finishReason,"ai.result.text":{output:()=>s.text},"ai.result.toolCalls":{output:()=>JSON.stringify(s.toolCalls)},"gen_ai.response.finish_reasons":[s.finishReason],"gen_ai.usage.input_tokens":s.usage.promptTokens,"gen_ai.usage.output_tokens":s.usage.completionTokens}}));return s}})));v=((d=y.toolCalls)!=null?d:[]).map((e=>parseToolCall({toolCall:e,tools:t})));w=t==null?[]:await executeTools({toolCalls:v,tools:t,tracer:h,telemetry:u});const s=calculateCompletionTokenUsage(y.usage);S.completionTokens+=s.completionTokens;S.promptTokens+=s.promptTokens;S.totalTokens+=s.totalTokens;R.push({text:(m=y.text)!=null?m:"",toolCalls:v,toolResults:w,finishReason:y.finishReason,usage:s,warnings:y.warnings,logprobs:y.logprobs});const n=toResponseMessages({text:y.text,toolCalls:v,toolResults:w});k.push(...n);b.push(...n.map((e=>convertToLanguageModelMessage(e,null))))}while(v.length>0&&w.length===v.length&&x++y.text},"ai.response.toolCalls":{output:()=>JSON.stringify(y.toolCalls)},"ai.usage.promptTokens":y.usage.promptTokens,"ai.usage.completionTokens":y.usage.completionTokens,"ai.finishReason":y.finishReason,"ai.result.text":{output:()=>y.text},"ai.result.toolCalls":{output:()=>JSON.stringify(y.toolCalls)}}}));return new bs({text:(E=y.text)!=null?E:"",toolCalls:v,toolResults:w,finishReason:y.finishReason,usage:S,warnings:y.warnings,rawResponse:y.rawResponse,logprobs:y.logprobs,responseMessages:k,roundtrips:R,providerMetadata:y.providerMetadata})}})}async function executeTools({toolCalls:e,tools:t,tracer:r,telemetry:s}){const n=await Promise.all(e.map((async e=>{const n=t[e.toolName];if((n==null?void 0:n.execute)==null){return void 0}const o=await recordSpan({name:"ai.toolCall",attributes:selectTelemetryAttributes({telemetry:s,attributes:{...assembleOperationName({operationId:"ai.toolCall",telemetry:s}),"ai.toolCall.name":e.toolName,"ai.toolCall.id":e.toolCallId,"ai.toolCall.args":{output:()=>JSON.stringify(e.args)}}}),tracer:r,fn:async t=>{const r=await n.execute(e.args);try{t.setAttributes(selectTelemetryAttributes({telemetry:s,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(r)}}}))}catch(e){}return r}});return{toolCallId:e.toolCallId,toolName:e.toolName,args:e.args,result:o}})));return n.filter((e=>e!=null))}var bs=class{constructor(e){this.text=e.text;this.toolCalls=e.toolCalls;this.toolResults=e.toolResults;this.finishReason=e.finishReason;this.usage=e.usage;this.warnings=e.warnings;this.rawResponse=e.rawResponse;this.logprobs=e.logprobs;this.responseMessages=e.responseMessages;this.roundtrips=e.roundtrips;this.experimental_providerMetadata=e.providerMetadata}};function createStitchableStream(){let e=[];let t=null;let r=false;const processPull=async()=>{if(r&&e.length===0){t==null?void 0:t.close();return}if(e.length===0){return}try{const{value:s,done:n}=await e[0].read();if(n){e.shift();if(e.length>0){await processPull()}else if(r){t==null?void 0:t.close()}}else{t==null?void 0:t.enqueue(s)}}catch(s){t==null?void 0:t.error(s);e.shift();if(r&&e.length===0){t==null?void 0:t.close()}}};return{stream:new ReadableStream({start(e){t=e},pull:processPull,async cancel(){for(const t of e){await t.cancel()}e=[];r=true}}),addStream:t=>{if(r){throw new Error("Cannot add inner stream: outer stream is closed")}e.push(t.getReader())},close:()=>{r=true;if(e.length===0){t==null?void 0:t.close()}}}}function mergeStreams(e,t){const r=e.getReader();const s=t.getReader();let n=void 0;let o=void 0;let i=false;let a=false;async function readStream1(e){try{if(n==null){n=r.read()}const t=await n;n=void 0;if(!t.done){e.enqueue(t.value)}else{e.close()}}catch(t){e.error(t)}}async function readStream2(e){try{if(o==null){o=s.read()}const t=await o;o=void 0;if(!t.done){e.enqueue(t.value)}else{e.close()}}catch(t){e.error(t)}}return new ReadableStream({async pull(e){try{if(i){await readStream2(e);return}if(a){await readStream1(e);return}if(n==null){n=r.read()}if(o==null){o=s.read()}const{result:t,reader:A}=await Promise.race([n.then((e=>({result:e,reader:r}))),o.then((e=>({result:e,reader:s})))]);if(!t.done){e.enqueue(t.value)}if(A===r){n=void 0;if(t.done){await readStream2(e);i=true}}else{o=void 0;if(t.done){a=true;await readStream1(e)}}}catch(t){e.error(t)}},cancel(){r.cancel();s.cancel()}})}function runToolsTransformation({tools:e,generatorStream:t,toolCallStreaming:r,tracer:s,telemetry:n}){let o=false;const i=new Set;let a=null;const A=new ReadableStream({start(e){a=e}});const c={};const l=new TransformStream({transform(t,A){const l=t.type;switch(l){case"text-delta":case"error":{A.enqueue(t);break}case"tool-call-delta":{if(r){if(!c[t.toolCallId]){A.enqueue({type:"tool-call-streaming-start",toolCallId:t.toolCallId,toolName:t.toolName});c[t.toolCallId]=true}A.enqueue({type:"tool-call-delta",toolCallId:t.toolCallId,toolName:t.toolName,argsTextDelta:t.argsTextDelta})}break}case"tool-call":{const r=t.toolName;if(e==null){a.enqueue({type:"error",error:new Qs({toolName:t.toolName})});break}const c=e[r];if(c==null){a.enqueue({type:"error",error:new Qs({toolName:t.toolName,availableTools:Object.keys(e)})});break}try{const r=parseToolCall({toolCall:t,tools:e});A.enqueue(r);if(c.execute!=null){const e=generateId();i.add(e);recordSpan({name:"ai.toolCall",attributes:selectTelemetryAttributes({telemetry:n,attributes:{...assembleOperationName({operationId:"ai.toolCall",telemetry:n}),"ai.toolCall.name":r.toolName,"ai.toolCall.id":r.toolCallId,"ai.toolCall.args":{output:()=>JSON.stringify(r.args)}}}),tracer:s,fn:async t=>c.execute(r.args).then((s=>{a.enqueue({...r,type:"tool-result",result:s});i.delete(e);if(o&&i.size===0){a.close()}try{t.setAttributes(selectTelemetryAttributes({telemetry:n,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(s)}}}))}catch(e){}}),(t=>{a.enqueue({type:"error",error:t});i.delete(e);if(o&&i.size===0){a.close()}}))})}}catch(e){a.enqueue({type:"error",error:e})}break}case"finish":{A.enqueue({type:"finish",finishReason:t.finishReason,logprobs:t.logprobs,usage:calculateCompletionTokenUsage(t.usage),experimental_providerMetadata:t.providerMetadata});break}default:{const e=l;throw new Error(`Unhandled chunk type: ${e}`)}}},flush(){o=true;if(i.size===0){a.close()}}});return new ReadableStream({async start(e){return Promise.all([t.pipeThrough(l).pipeTo(new WritableStream({write(t){e.enqueue(t)},close(){}})),A.pipeTo(new WritableStream({write(t){e.enqueue(t)},close(){e.close()}}))])}})}async function streamText({model:e,tools:t,toolChoice:r,system:s,prompt:n,messages:o,maxRetries:i,abortSignal:a,headers:A,maxToolRoundtrips:c=0,experimental_telemetry:l,experimental_toolCallStreaming:u=false,onChunk:p,onFinish:d,_internal:{now:g=now}={},...h}){var m;const E=getBaseTelemetryAttributes({model:e,telemetry:l,headers:A,settings:{...h,maxRetries:i}});const C=getTracer({isEnabled:(m=l==null?void 0:l.isEnabled)!=null?m:false});return recordSpan({name:"ai.streamText",attributes:selectTelemetryAttributes({telemetry:l,attributes:{...assembleOperationName({operationId:"ai.streamText",telemetry:l}),...E,"ai.prompt":{input:()=>JSON.stringify({system:s,prompt:n,messages:o})}}}),tracer:C,endWhenDone:false,fn:async m=>{const I=retryWithExponentialBackoff({maxRetries:i});const startRoundtrip=async({promptMessages:s,promptType:n})=>{const{result:{stream:o,warnings:i,rawResponse:c},doStreamSpan:p,startTimestampMs:d}=await I((()=>recordSpan({name:"ai.streamText.doStream",attributes:selectTelemetryAttributes({telemetry:l,attributes:{...assembleOperationName({operationId:"ai.streamText.doStream",telemetry:l}),...E,"ai.prompt.format":{input:()=>n},"ai.prompt.messages":{input:()=>JSON.stringify(s)},"gen_ai.system":e.provider,"gen_ai.request.model":e.modelId,"gen_ai.request.frequency_penalty":h.frequencyPenalty,"gen_ai.request.max_tokens":h.maxTokens,"gen_ai.request.presence_penalty":h.presencePenalty,"gen_ai.request.stop_sequences":h.stopSequences,"gen_ai.request.temperature":h.temperature,"gen_ai.request.top_k":h.topK,"gen_ai.request.top_p":h.topP}}),tracer:C,endWhenDone:false,fn:async o=>({startTimestampMs:g(),doStreamSpan:o,result:await e.doStream({mode:{type:"regular",...prepareToolsAndToolChoice({tools:t,toolChoice:r})},...prepareCallSettings(h),inputFormat:n,prompt:s,abortSignal:a,headers:A})})})));return{result:{stream:runToolsTransformation({tools:t,generatorStream:o,toolCallStreaming:u,tracer:C,telemetry:l}),warnings:i,rawResponse:c},doStreamSpan:p,startTimestampMs:d}};const B=await convertToLanguageModelPrompt({prompt:validatePrompt({system:s,prompt:n,messages:o}),modelSupportsImageUrls:e.supportsImageUrls});const{result:{stream:Q,warnings:b,rawResponse:y},doStreamSpan:v,startTimestampMs:w}=await startRoundtrip({promptType:validatePrompt({system:s,prompt:n,messages:o}).type,promptMessages:B});return new ys({stream:Q,warnings:b,rawResponse:y,onChunk:p,onFinish:d,rootSpan:m,doStreamSpan:v,telemetry:l,startTimestampMs:w,maxToolRoundtrips:c,startRoundtrip:startRoundtrip,promptMessages:B,now:g})}})}var ys=class{constructor({stream:e,warnings:t,rawResponse:r,onChunk:s,onFinish:n,rootSpan:o,doStreamSpan:i,telemetry:a,startTimestampMs:A,maxToolRoundtrips:c,startRoundtrip:l,promptMessages:u,now:p}){this.warnings=t;this.rawResponse=r;const{resolve:d,promise:g}=createResolvablePromise();this.usage=g;const{resolve:h,promise:m}=createResolvablePromise();this.finishReason=m;const{resolve:E,promise:C}=createResolvablePromise();this.text=C;const{resolve:I,promise:B}=createResolvablePromise();this.toolCalls=B;const{resolve:Q,promise:b}=createResolvablePromise();this.toolResults=b;const{resolve:y,promise:v}=createResolvablePromise();this.experimental_providerMetadata=v;const{stream:w,addStream:x,close:k}=createStitchableStream();this.originalStream=w;const R=this;function addRoundtripStream({stream:e,startTimestamp:i,doStreamSpan:A,currentToolRoundtrip:u,promptMessages:g,usage:m={promptTokens:0,completionTokens:0,totalTokens:0}}){const C=[];const B=[];let b="unknown";let v={promptTokens:0,completionTokens:0,totalTokens:0};let w;let S=true;let D="";let T;x(e.pipeThrough(new TransformStream({async transform(e,t){if(S){const e=p()-i;S=false;A.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":e,"ai.stream.msToFirstChunk":e});A.setAttributes({"ai.response.msToFirstChunk":e,"ai.stream.msToFirstChunk":e})}if(e.type==="text-delta"&&e.textDelta.length===0){return}const r=e.type;switch(r){case"text-delta":t.enqueue(e);D+=e.textDelta;await(s==null?void 0:s({chunk:e}));break;case"tool-call":t.enqueue(e);C.push(e);await(s==null?void 0:s({chunk:e}));break;case"tool-result":t.enqueue(e);B.push(e);await(s==null?void 0:s({chunk:e}));break;case"finish":v=e.usage;b=e.finishReason;w=e.experimental_providerMetadata;T=e.logprobs;const n=p()-i;A.addEvent("ai.stream.finish");A.setAttributes({"ai.response.msToFinish":n,"ai.response.avgCompletionTokensPerSecond":1e3*v.completionTokens/n});break;case"tool-call-streaming-start":case"tool-call-delta":{t.enqueue(e);await(s==null?void 0:s({chunk:e}));break}case"error":t.enqueue(e);b="error";break;default:{const e=r;throw new Error(`Unknown chunk type: ${e}`)}}},async flush(e){e.enqueue({type:"roundtrip-finish",finishReason:b,usage:v,experimental_providerMetadata:w,logprobs:T});const s=C.length>0?JSON.stringify(C):void 0;try{A.setAttributes(selectTelemetryAttributes({telemetry:a,attributes:{"ai.response.finishReason":b,"ai.response.text":{output:()=>D},"ai.response.toolCalls":{output:()=>s},"ai.usage.promptTokens":v.promptTokens,"ai.usage.completionTokens":v.completionTokens,"ai.finishReason":b,"ai.result.text":{output:()=>D},"ai.result.toolCalls":{output:()=>s},"gen_ai.response.finish_reasons":[b],"gen_ai.usage.input_tokens":v.promptTokens,"gen_ai.usage.output_tokens":v.completionTokens}}))}catch(e){}finally{A.end()}const i={promptTokens:m.promptTokens+v.promptTokens,completionTokens:m.completionTokens+v.completionTokens,totalTokens:m.totalTokens+v.totalTokens};if(C.length>0&&B.length===C.length&&uconvertToLanguageModelMessage(e,null))));const{result:e,doStreamSpan:t,startTimestampMs:r}=await l({promptType:"messages",promptMessages:g});R.warnings=e.warnings;R.rawResponse=e.rawResponse;addRoundtripStream({stream:e.stream,startTimestamp:r,doStreamSpan:t,currentToolRoundtrip:u+1,promptMessages:g,usage:i});return}try{e.enqueue({type:"finish",finishReason:b,usage:i,experimental_providerMetadata:w,logprobs:T});k();o.setAttributes(selectTelemetryAttributes({telemetry:a,attributes:{"ai.response.finishReason":b,"ai.response.text":{output:()=>D},"ai.response.toolCalls":{output:()=>s},"ai.usage.promptTokens":i.promptTokens,"ai.usage.completionTokens":i.completionTokens,"ai.finishReason":b,"ai.result.text":{output:()=>D},"ai.result.toolCalls":{output:()=>s}}}));d(i);h(b);E(D);I(C);y(w);Q(B);await(n==null?void 0:n({finishReason:b,usage:i,text:D,toolCalls:C,toolResults:B,rawResponse:r,warnings:t,experimental_providerMetadata:w}))}catch(t){e.error(t)}finally{o.end()}}})))}addRoundtripStream({stream:e,startTimestamp:A,doStreamSpan:i,currentToolRoundtrip:0,promptMessages:u,usage:void 0})}teeStream(){const[e,t]=this.originalStream.tee();this.originalStream=t;return e}get textStream(){return createAsyncIterableStream(this.teeStream(),{transform(e,t){if(e.type==="text-delta"){t.enqueue(e.textDelta)}else if(e.type==="error"){t.error(e.error)}}})}get fullStream(){return createAsyncIterableStream(this.teeStream(),{transform(e,t){t.enqueue(e)}})}toAIStream(e={}){return this.toDataStream({callbacks:e})}toDataStream({callbacks:e={},getErrorMessage:t=(()=>"")}={}){let r="";const s=new TransformStream({async start(){if(e.onStart)await e.onStart()},async transform(t,s){s.enqueue(t);if(t.type==="text-delta"){const s=t.textDelta;r+=s;if(e.onToken)await e.onToken(s);if(e.onText)await e.onText(s)}},async flush(){if(e.onCompletion)await e.onCompletion(r);if(e.onFinal)await e.onFinal(r)}});const n=new TransformStream({transform:async(e,r)=>{const s=e.type;switch(s){case"text-delta":r.enqueue(formatStreamPart("text",e.textDelta));break;case"tool-call-streaming-start":r.enqueue(formatStreamPart("tool_call_streaming_start",{toolCallId:e.toolCallId,toolName:e.toolName}));break;case"tool-call-delta":r.enqueue(formatStreamPart("tool_call_delta",{toolCallId:e.toolCallId,argsTextDelta:e.argsTextDelta}));break;case"tool-call":r.enqueue(formatStreamPart("tool_call",{toolCallId:e.toolCallId,toolName:e.toolName,args:e.args}));break;case"tool-result":r.enqueue(formatStreamPart("tool_result",{toolCallId:e.toolCallId,result:e.result}));break;case"error":r.enqueue(formatStreamPart("error",t(e.error)));break;case"roundtrip-finish":r.enqueue(formatStreamPart("finish_roundtrip",{finishReason:e.finishReason,usage:{promptTokens:e.usage.promptTokens,completionTokens:e.usage.completionTokens}}));break;case"finish":r.enqueue(formatStreamPart("finish_message",{finishReason:e.finishReason,usage:{promptTokens:e.usage.promptTokens,completionTokens:e.usage.completionTokens}}));break;default:{const e=s;throw new Error(`Unknown chunk type: ${e}`)}}}});return this.fullStream.pipeThrough(s).pipeThrough(n).pipeThrough(new TextEncoderStream)}pipeAIStreamToResponse(e,t){return this.pipeDataStreamToResponse(e,t)}pipeDataStreamToResponse(e,t){var r;e.writeHead((r=t==null?void 0:t.status)!=null?r:200,{"Content-Type":"text/plain; charset=utf-8",...t==null?void 0:t.headers});const s=this.toDataStream().getReader();const read=async()=>{try{while(true){const{done:t,value:r}=await s.read();if(t)break;e.write(r)}}catch(e){throw e}finally{e.end()}};read()}pipeTextStreamToResponse(e,t){var r;e.writeHead((r=t==null?void 0:t.status)!=null?r:200,{"Content-Type":"text/plain; charset=utf-8",...t==null?void 0:t.headers});const s=this.textStream.pipeThrough(new TextEncoderStream).getReader();const read=async()=>{try{while(true){const{done:t,value:r}=await s.read();if(t)break;e.write(r)}}catch(e){throw e}finally{e.end()}};read()}toAIStreamResponse(e){return this.toDataStreamResponse(e)}toDataStreamResponse(e){var t;const r=e==null?void 0:"init"in e?e.init:{headers:"headers"in e?e.headers:void 0,status:"status"in e?e.status:void 0,statusText:"statusText"in e?e.statusText:void 0};const s=e==null?void 0:"data"in e?e.data:void 0;const n=e==null?void 0:"getErrorMessage"in e?e.getErrorMessage:void 0;const o=s?mergeStreams(s.stream,this.toDataStream({getErrorMessage:n})):this.toDataStream({getErrorMessage:n});return new Response(o,{status:(t=r==null?void 0:r.status)!=null?t:200,statusText:r==null?void 0:r.statusText,headers:prepareResponseHeaders(r,{contentType:"text/plain; charset=utf-8",dataStreamVersion:"v1"})})}toTextStreamResponse(e){var t;return new Response(this.textStream.pipeThrough(new TextEncoderStream),{status:(t=e==null?void 0:e.status)!=null?t:200,headers:prepareResponseHeaders(e,{contentType:"text/plain; charset=utf-8"})})}};function attachmentsToParts(e){var t,r,s;const n=[];for(const o of e){let e;try{e=new URL(o.url)}catch(e){throw new Error(`Invalid URL: ${o.url}`)}switch(e.protocol){case"http:":case"https:":{if((t=o.contentType)==null?void 0:t.startsWith("image/")){n.push({type:"image",image:e})}break}case"data:":{let e;let t;let i;try{[e,t]=o.url.split(",");i=e.split(";")[0].split(":")[1]}catch(e){throw new Error(`Error processing data URL: ${o.url}`)}if(i==null||t==null){throw new Error(`Invalid data URL format: ${o.url}`)}if((r=o.contentType)==null?void 0:r.startsWith("image/")){n.push({type:"image",image:convertDataContentToUint8Array(t)})}else if((s=o.contentType)==null?void 0:s.startsWith("text/")){n.push({type:"text",text:convertUint8ArrayToText(convertDataContentToUint8Array(t))})}break}default:{throw new Error(`Unsupported URL protocol: ${e.protocol}`)}}}return n}var vs="AI_MessageConversionError";var ws=`vercel.ai.error.${vs}`;var xs=Symbol.for(ws);var ks;var Rs=class extends(null&&AISDKError9){constructor({originalMessage:e,message:t}){super({name:vs,message:t});this[ks]=true;this.originalMessage=e}static isInstance(e){return AISDKError9.hasMarker(e,ws)}};ks=xs;function convertToCoreMessages(e){const t=[];for(const r of e){const{role:e,content:s,toolInvocations:n,experimental_attachments:o}=r;switch(e){case"system":{t.push({role:"system",content:s});break}case"user":{t.push({role:"user",content:o?[{type:"text",text:s},...attachmentsToParts(o)]:s});break}case"assistant":{if(n==null){t.push({role:"assistant",content:s});break}t.push({role:"assistant",content:[{type:"text",text:s},...n.map((({toolCallId:e,toolName:t,args:r})=>({type:"tool-call",toolCallId:e,toolName:t,args:r})))]});t.push({role:"tool",content:n.map((e=>{if(!("result"in e)){throw new Rs({originalMessage:r,message:"ToolInvocation must have a result: "+JSON.stringify(e)})}const{toolCallId:t,toolName:s,args:n,result:o}=e;return{type:"tool-result",toolCallId:t,toolName:s,args:n,result:o}}))});break}case"function":case"data":case"tool":{break}default:{const t=e;throw new Rs({originalMessage:r,message:`Unsupported role: ${t}`})}}}return t}function experimental_customProvider({languageModels:e,textEmbeddingModels:t,fallbackProvider:r}){return{languageModel(t){if(e!=null&&t in e){return e[t]}if(r){return r.languageModel(t)}throw new NoSuchModelError({modelId:t,modelType:"languageModel"})},textEmbeddingModel(e){if(t!=null&&e in t){return t[e]}if(r){return r.textEmbeddingModel(e)}throw new NoSuchModelError({modelId:e,modelType:"textEmbeddingModel"})}}}var Ss="AI_NoSuchProviderError";var Ds=`vercel.ai.error.${Ss}`;var _s=Symbol.for(Ds);var Fs;var Ns=class extends(null&&NoSuchModelError2){constructor({modelId:e,modelType:t,providerId:r,availableProviders:s,message:n=`No such provider: ${r} (available providers: ${s.join()})`}){super({errorName:Ss,modelId:e,modelType:t,message:n});this[Fs]=true;this.providerId=r;this.availableProviders=s}static isInstance(e){return AISDKError10.hasMarker(e,Ds)}static isNoSuchProviderError(e){return e instanceof Error&&e.name===Ss&&typeof e.providerId==="string"&&Array.isArray(e.availableProviders)}toJSON(){return{name:this.name,message:this.message,stack:this.stack,modelId:this.modelId,modelType:this.modelType,providerId:this.providerId,availableProviders:this.availableProviders}}};Fs=_s;function experimental_createProviderRegistry(e){const t=new Ms;for(const[r,s]of Object.entries(e)){t.registerProvider({id:r,provider:s})}return t}var Us=null&&experimental_createProviderRegistry;var Ms=class{constructor(){this.providers={}}registerProvider({id:e,provider:t}){this.providers[e]=t}getProvider(e){const t=this.providers[e];if(t==null){throw new Ns({modelId:e,modelType:"languageModel",providerId:e,availableProviders:Object.keys(this.providers)})}return t}splitId(e,t){const r=e.indexOf(":");if(r===-1){throw new NoSuchModelError3({modelId:e,modelType:t,message:`Invalid ${t} id for registry: ${e} (must be in the format "providerId:modelId")`})}return[e.slice(0,r),e.slice(r+1)]}languageModel(e){var t,r;const[s,n]=this.splitId(e,"languageModel");const o=(r=(t=this.getProvider(s)).languageModel)==null?void 0:r.call(t,n);if(o==null){throw new NoSuchModelError3({modelId:e,modelType:"languageModel"})}return o}textEmbeddingModel(e){var t,r,s;const[n,o]=this.splitId(e,"textEmbeddingModel");const i=this.getProvider(n);const a=(s=(t=i.textEmbeddingModel)==null?void 0:t.call(i,o))!=null?s:"textEmbedding"in i?(r=i.textEmbedding)==null?void 0:r.call(i,o):void 0;if(a==null){throw new NoSuchModelError3({modelId:e,modelType:"textEmbeddingModel"})}return a}textEmbedding(e){return this.textEmbeddingModel(e)}};function tool(e){return e}function cosineSimilarity(e,t){if(e.length!==t.length){throw new Error(`Vectors must have the same length (vector1: ${e.length} elements, vector2: ${t.length} elements)`)}return dotProduct(e,t)/(magnitude(e)*magnitude(t))}function dotProduct(e,t){return e.reduce(((e,r,s)=>e+r*t[s]),0)}function magnitude(e){return Math.sqrt(dotProduct(e,e))}function createEventStreamTransformer(e){const t=new TextDecoder;let r;return new TransformStream({async start(t){r=createParser((r=>{if("data"in r&&r.type==="event"&&r.data==="[DONE]"||r.event==="done"){t.terminate();return}if("data"in r){const s=e?e(r.data,{event:r.event}):r.data;if(s)t.enqueue(s)}}))},transform(e){r.feed(t.decode(e))}})}function createCallbacksTransformer(e){const t=new TextEncoder;let r="";const s=e||{};return new TransformStream({async start(){if(s.onStart)await s.onStart()},async transform(e,n){const o=typeof e==="string"?e:e.content;n.enqueue(t.encode(o));r+=o;if(s.onToken)await s.onToken(o);if(s.onText&&typeof e==="string"){await s.onText(e)}},async flush(){const e=isOfTypeOpenAIStreamCallbacks(s);if(s.onCompletion){await s.onCompletion(r)}if(s.onFinal&&!e){await s.onFinal(r)}}})}function isOfTypeOpenAIStreamCallbacks(e){return"experimental_onFunctionCall"in e}function trimStartOfStreamHelper(){let e=true;return t=>{if(e){t=t.trimStart();if(t)e=false}return t}}function AIStream(e,t,r){if(!e.ok){if(e.body){const t=e.body.getReader();return new ReadableStream({async start(e){const{done:r,value:s}=await t.read();if(!r){const t=(new TextDecoder).decode(s);e.error(new Error(`Response error: ${t}`))}}})}else{return new ReadableStream({start(e){e.error(new Error("Response error: No response body"))}})}}const s=e.body||createEmptyReadableStream();return s.pipeThrough(createEventStreamTransformer(t)).pipeThrough(createCallbacksTransformer(r))}function createEmptyReadableStream(){return new ReadableStream({start(e){e.close()}})}function readableFromAsyncIterable(e){let t=e[Symbol.asyncIterator]();return new ReadableStream({async pull(e){const{done:r,value:s}=await t.next();if(r)e.close();else e.enqueue(s)},async cancel(e){var r;await((r=t.return)==null?void 0:r.call(t,e))}})}var Os=null&&15*1e3;var Ls=class{constructor(){this.encoder=new TextEncoder;this.controller=null;this.isClosed=false;this.warningTimeout=null;const e=this;this.stream=new ReadableStream({start:async t=>{e.controller=t;if(process.env.NODE_ENV==="development"){e.warningTimeout=setTimeout((()=>{console.warn("The data stream is hanging. Did you forget to close it with `data.close()`?")}),Os)}},pull:e=>{},cancel:e=>{this.isClosed=true}})}async close(){if(this.isClosed){throw new Error("Data Stream has already been closed.")}if(!this.controller){throw new Error("Stream controller is not initialized.")}this.controller.close();this.isClosed=true;if(this.warningTimeout){clearTimeout(this.warningTimeout)}}append(e){if(this.isClosed){throw new Error("Data Stream has already been closed.")}if(!this.controller){throw new Error("Stream controller is not initialized.")}this.controller.enqueue(this.encoder.encode(formatStreamPart2("data",[e])))}appendMessageAnnotation(e){if(this.isClosed){throw new Error("Data Stream has already been closed.")}if(!this.controller){throw new Error("Stream controller is not initialized.")}this.controller.enqueue(this.encoder.encode(formatStreamPart2("message_annotations",[e])))}};function createStreamDataTransformer(){const e=new TextEncoder;const t=new TextDecoder;return new TransformStream({transform:async(r,s)=>{const n=t.decode(r);s.enqueue(e.encode(dist_formatStreamPart("text",n)))}})}var Ps=class extends(null&&Ls){};function parseAnthropicStream(){let e="";return t=>{const r=JSON.parse(t);if("error"in r){throw new Error(`${r.error.type}: ${r.error.message}`)}if(!("completion"in r)){return}const s=r.completion;if(!e||s.length>e.length&&s.startsWith(e)){const t=s.slice(e.length);e=s;return t}return s}}async function*streamable(e){for await(const t of e){if("completion"in t){const e=t.completion;if(e)yield e}else if("delta"in t){const{delta:e}=t;if("text"in e){const t=e.text;if(t)yield t}}}}function AnthropicStream(e,t){if(Symbol.asyncIterator in e){return readableFromAsyncIterable(streamable(e)).pipeThrough(createCallbacksTransformer(t)).pipeThrough(createStreamDataTransformer())}else{return AIStream(e,parseAnthropicStream(),t).pipeThrough(createStreamDataTransformer())}}function AssistantResponse({threadId:e,messageId:t},r){const s=new ReadableStream({async start(s){var n;const o=new TextEncoder;const sendMessage=e=>{s.enqueue(o.encode(formatStreamPart3("assistant_message",e)))};const sendDataMessage=e=>{s.enqueue(o.encode(formatStreamPart3("data_message",e)))};const sendError=e=>{s.enqueue(o.encode(formatStreamPart3("error",e)))};const forwardStream=async e=>{var t,r;let n=void 0;for await(const i of e){switch(i.event){case"thread.message.created":{s.enqueue(o.encode(formatStreamPart3("assistant_message",{id:i.data.id,role:"assistant",content:[{type:"text",text:{value:""}}]})));break}case"thread.message.delta":{const e=(t=i.data.delta.content)==null?void 0:t[0];if((e==null?void 0:e.type)==="text"&&((r=e.text)==null?void 0:r.value)!=null){s.enqueue(o.encode(formatStreamPart3("text",e.text.value)))}break}case"thread.run.completed":case"thread.run.requires_action":{n=i.data;break}}}return n};s.enqueue(o.encode(formatStreamPart3("assistant_control_data",{threadId:e,messageId:t})));try{await r({threadId:e,messageId:t,sendMessage:sendMessage,sendDataMessage:sendDataMessage,forwardStream:forwardStream})}catch(e){sendError((n=e.message)!=null?n:`${e}`)}finally{s.close()}},pull(e){},cancel(){}});return new Response(s,{status:200,headers:{"Content-Type":"text/plain; charset=utf-8"}})}var Gs=null&&AssistantResponse;async function*asDeltaIterable(e,t){var r,s;const n=new TextDecoder;for await(const o of(r=e.body)!=null?r:[]){const e=(s=o.chunk)==null?void 0:s.bytes;if(e!=null){const r=n.decode(e);const s=JSON.parse(r);const o=t(s);if(o!=null){yield o}}}}function AWSBedrockAnthropicMessagesStream(e,t){return AWSBedrockStream(e,t,(e=>{var t;return(t=e.delta)==null?void 0:t.text}))}function AWSBedrockAnthropicStream(e,t){return AWSBedrockStream(e,t,(e=>e.completion))}function AWSBedrockCohereStream(e,t){return AWSBedrockStream(e,t,(e=>e==null?void 0:e.text))}function AWSBedrockLlama2Stream(e,t){return AWSBedrockStream(e,t,(e=>e.generation))}function AWSBedrockStream(e,t,r){return readableFromAsyncIterable(asDeltaIterable(e,r)).pipeThrough(createCallbacksTransformer(t)).pipeThrough(createStreamDataTransformer())}var js=new TextDecoder("utf-8");async function processLines(e,t){for(const r of e){const{text:e,is_finished:s}=JSON.parse(r);if(!s){t.enqueue(e)}}}async function readAndProcessLines(e,t){let r="";while(true){const{value:s,done:n}=await e.read();if(n){break}r+=js.decode(s,{stream:true});const o=r.split(/\r\n|\n|\r/g);r=o.pop()||"";await processLines(o,t)}if(r){const e=[r];await processLines(e,t)}t.close()}function createParser2(e){var t;const r=(t=e.body)==null?void 0:t.getReader();return new ReadableStream({async start(e){if(!r){e.close();return}await readAndProcessLines(r,e)}})}async function*streamable2(e){for await(const t of e){if(t.eventType==="text-generation"){const e=t.text;if(e)yield e}}}function CohereStream(e,t){if(Symbol.asyncIterator in e){return readableFromAsyncIterable(streamable2(e)).pipeThrough(createCallbacksTransformer(t)).pipeThrough(createStreamDataTransformer())}else{return createParser2(e).pipeThrough(createCallbacksTransformer(t)).pipeThrough(createStreamDataTransformer())}}async function*streamable3(e){var t,r,s;for await(const n of e.stream){const e=(s=(r=(t=n.candidates)==null?void 0:t[0])==null?void 0:r.content)==null?void 0:s.parts;if(e===void 0){continue}const o=e[0];if(typeof o.text==="string"){yield o.text}}}function GoogleGenerativeAIStream(e,t){return readableFromAsyncIterable(streamable3(e)).pipeThrough(createCallbacksTransformer(t)).pipeThrough(createStreamDataTransformer())}function createParser3(e){const t=trimStartOfStreamHelper();return new ReadableStream({async pull(r){var s,n;const{value:o,done:i}=await e.next();if(i){r.close();return}const a=t((n=(s=o.token)==null?void 0:s.text)!=null?n:"");if(!a)return;if(o.generated_text!=null&&o.generated_text.length>0){return}if(a===""||a==="<|endoftext|>"||a==="<|end|>"){return}r.enqueue(a)}})}function HuggingFaceStream(e,t){return createParser3(e).pipeThrough(createCallbacksTransformer(t)).pipeThrough(createStreamDataTransformer())}function InkeepStream(e,t){if(!e.body){throw new Error("Response body is null")}let r="";let s;const inkeepEventParser=(e,n)=>{var o,i;const{event:a}=n;if(a==="records_cited"){s=JSON.parse(e);(o=t==null?void 0:t.onRecordsCited)==null?void 0:o.call(t,s)}if(a==="message_chunk"){const t=JSON.parse(e);r=(i=t.chat_session_id)!=null?i:r;return t.content_chunk}return};let{onRecordsCited:n,...o}=t||{};o={...o,onFinal:e=>{var n;const o={chat_session_id:r,records_cited:s};(n=t==null?void 0:t.onFinal)==null?void 0:n.call(t,e,o)}};return AIStream(e,inkeepEventParser,o).pipeThrough(createStreamDataTransformer())}var Hs={};__export(Hs,{toAIStream:()=>toAIStream,toDataStream:()=>toDataStream,toDataStreamResponse:()=>toDataStreamResponse});function toAIStream(e,t){return toDataStream(e,t)}function toDataStream(e,t){return e.pipeThrough(new TransformStream({transform:async(e,t)=>{var r;if(typeof e==="string"){t.enqueue(e);return}if("event"in e){if(e.event==="on_chat_model_stream"){forwardAIMessageChunk((r=e.data)==null?void 0:r.chunk,t)}return}forwardAIMessageChunk(e,t)}})).pipeThrough(createCallbacksTransformer(t)).pipeThrough(createStreamDataTransformer())}function toDataStreamResponse(e,t){var r;const s=toDataStream(e,t==null?void 0:t.callbacks);const n=t==null?void 0:t.data;const o=t==null?void 0:t.init;const i=n?mergeStreams(n.stream,s):s;return new Response(i,{status:(r=o==null?void 0:o.status)!=null?r:200,statusText:o==null?void 0:o.statusText,headers:prepareResponseHeaders(o,{contentType:"text/plain; charset=utf-8",dataStreamVersion:"v1"})})}function forwardAIMessageChunk(e,t){if(typeof e.content==="string"){t.enqueue(e.content)}else{const r=e.content;for(const e of r){if(e.type==="text"){t.enqueue(e.text)}}}}function LangChainStream(e){const t=new TransformStream;const r=t.writable.getWriter();const s=new Set;const handleError=async(e,t)=>{s.delete(t);await r.ready;await r.abort(e)};const handleStart=async e=>{s.add(e)};const handleEnd=async e=>{s.delete(e);if(s.size===0){await r.ready;await r.close()}};return{stream:t.readable.pipeThrough(createCallbacksTransformer(e)).pipeThrough(createStreamDataTransformer()),writer:r,handlers:{handleLLMNewToken:async e=>{await r.ready;await r.write(e)},handleLLMStart:async(e,t,r)=>{handleStart(r)},handleLLMEnd:async(e,t)=>{await handleEnd(t)},handleLLMError:async(e,t)=>{await handleError(e,t)},handleChainStart:async(e,t,r)=>{handleStart(r)},handleChainEnd:async(e,t)=>{await handleEnd(t)},handleChainError:async(e,t)=>{await handleError(e,t)},handleToolStart:async(e,t,r)=>{handleStart(r)},handleToolEnd:async(e,t)=>{await handleEnd(t)},handleToolError:async(e,t)=>{await handleError(e,t)}}}}async function*streamable4(e){var t,r;for await(const s of e){const e=(r=(t=s.choices[0])==null?void 0:t.delta)==null?void 0:r.content;if(e===void 0||e===""){continue}yield e}}function MistralStream(e,t){const r=readableFromAsyncIterable(streamable4(e));return r.pipeThrough(createCallbacksTransformer(t)).pipeThrough(createStreamDataTransformer())}function parseOpenAIStream(){const e=chunkToText();return t=>e(JSON.parse(t))}async function*streamable5(e){const t=chunkToText();for await(let r of e){if("promptFilterResults"in r){r={id:r.id,created:r.created.getDate(),object:r.object,model:r.model,choices:r.choices.map((e=>{var t,r,s,n,o,i,a;return{delta:{content:(t=e.delta)==null?void 0:t.content,function_call:(r=e.delta)==null?void 0:r.functionCall,role:(s=e.delta)==null?void 0:s.role,tool_calls:((o=(n=e.delta)==null?void 0:n.toolCalls)==null?void 0:o.length)?(a=(i=e.delta)==null?void 0:i.toolCalls)==null?void 0:a.map(((e,t)=>({index:t,id:e.id,function:e.function,type:e.type}))):void 0},finish_reason:e.finishReason,index:e.index}}))}}const e=t(r);if(e)yield e}}function chunkToText(){const e=trimStartOfStreamHelper();let t;return r=>{var s,n,o,i,a,A,c,l,u,p,d,g,h,m,E,C,I,B;if(isChatCompletionChunk(r)){const e=(s=r.choices[0])==null?void 0:s.delta;if((n=e.function_call)==null?void 0:n.name){t=true;return{isText:false,content:`{"function_call": {"name": "${e.function_call.name}", "arguments": "`}}else if((a=(i=(o=e.tool_calls)==null?void 0:o[0])==null?void 0:i.function)==null?void 0:a.name){t=true;const r=e.tool_calls[0];if(r.index===0){return{isText:false,content:`{"tool_calls":[ {"id": "${r.id}", "type": "function", "function": {"name": "${(A=r.function)==null?void 0:A.name}", "arguments": "`}}else{return{isText:false,content:`"}}, {"id": "${r.id}", "type": "function", "function": {"name": "${(c=r.function)==null?void 0:c.name}", "arguments": "`}}}else if((l=e.function_call)==null?void 0:l.arguments){return{isText:false,content:cleanupArguments((u=e.function_call)==null?void 0:u.arguments)}}else if((g=(d=(p=e.tool_calls)==null?void 0:p[0])==null?void 0:d.function)==null?void 0:g.arguments){return{isText:false,content:cleanupArguments((E=(m=(h=e.tool_calls)==null?void 0:h[0])==null?void 0:m.function)==null?void 0:E.arguments)}}else if(t&&(((C=r.choices[0])==null?void 0:C.finish_reason)==="function_call"||((I=r.choices[0])==null?void 0:I.finish_reason)==="stop")){t=false;return{isText:false,content:'"}}'}}else if(t&&((B=r.choices[0])==null?void 0:B.finish_reason)==="tool_calls"){t=false;return{isText:false,content:'"}}]}'}}}const Q=e(isChatCompletionChunk(r)&&r.choices[0].delta.content?r.choices[0].delta.content:isCompletion(r)?r.choices[0].text:"");return Q};function cleanupArguments(e){let t=e.replace(/\\/g,"\\\\").replace(/\//g,"\\/").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\f/g,"\\f");return`${t}`}}var Js=Symbol("internal_openai_fn_messages");function isChatCompletionChunk(e){return"choices"in e&&e.choices&&e.choices[0]&&"delta"in e.choices[0]}function isCompletion(e){return"choices"in e&&e.choices&&e.choices[0]&&"text"in e.choices[0]}function OpenAIStream(e,t){const r=t;let s;if(Symbol.asyncIterator in e){s=readableFromAsyncIterable(streamable5(e)).pipeThrough(createCallbacksTransformer((r==null?void 0:r.experimental_onFunctionCall)||(r==null?void 0:r.experimental_onToolCall)?{...r,onFinal:void 0}:{...r}))}else{s=AIStream(e,parseOpenAIStream(),(r==null?void 0:r.experimental_onFunctionCall)||(r==null?void 0:r.experimental_onToolCall)?{...r,onFinal:void 0}:{...r})}if(r&&(r.experimental_onFunctionCall||r.experimental_onToolCall)){const e=createFunctionCallTransformer(r);return s.pipeThrough(e)}else{return s.pipeThrough(createStreamDataTransformer())}}function createFunctionCallTransformer(e){const t=new TextEncoder;let r=true;let s="";let n="";let o=false;let i=e[Js]||[];const a=createChunkDecoder();return new TransformStream({async transform(e,i){const A=a(e);n+=A;const c=r&&(A.startsWith('{"function_call":')||A.startsWith('{"tool_calls":'));if(c){o=true;s+=A;r=false;return}if(!o){i.enqueue(t.encode(formatStreamPart4("text",A)));return}else{s+=A}},async flush(a){try{if(!r&&o&&(e.experimental_onFunctionCall||e.experimental_onToolCall)){o=false;const r=JSON.parse(s);let A=[...i];let c=void 0;if(e.experimental_onFunctionCall){if(r.function_call===void 0){console.warn("experimental_onFunctionCall should not be defined when using tools")}const t=JSON.parse(r.function_call.arguments);c=await e.experimental_onFunctionCall({name:r.function_call.name,arguments:t},(e=>{A=[...i,{role:"assistant",content:"",function_call:r.function_call},{role:"function",name:r.function_call.name,content:JSON.stringify(e)}];return A}))}if(e.experimental_onToolCall){const t={tools:[]};for(const e of r.tool_calls){t.tools.push({id:e.id,type:"function",func:{name:e.function.name,arguments:JSON.parse(e.function.arguments)}})}let s=0;try{c=await e.experimental_onToolCall(t,(e=>{if(e){const{tool_call_id:t,function_name:n,tool_call_result:o}=e;A=[...A,...s===0?[{role:"assistant",content:"",tool_calls:r.tool_calls.map((e=>({id:e.id,type:"function",function:{name:e.function.name,arguments:JSON.stringify(e.function.arguments)}})))}]:[],{role:"tool",tool_call_id:t,name:n,content:JSON.stringify(o)}];s++}return A}))}catch(e){console.error("Error calling experimental_onToolCall:",e)}}if(!c){a.enqueue(t.encode(formatStreamPart4(r.function_call?"function_call":"tool_calls",JSON.parse(s))));return}else if(typeof c==="string"){a.enqueue(t.encode(formatStreamPart4("text",c)));n=c;return}const l={...e,onStart:void 0};e.onFinal=void 0;const u=OpenAIStream(c,{...l,[Js]:A});const p=u.getReader();while(true){const{done:e,value:t}=await p.read();if(e){break}a.enqueue(t)}}}finally{if(e.onFinal&&n){await e.onFinal(n)}}}})}async function ReplicateStream(e,t,r){var s;const n=(s=e.urls)==null?void 0:s.stream;if(!n){if(e.error)throw new Error(e.error);else throw new Error("Missing stream URL in Replicate response")}const o=await fetch(n,{method:"GET",headers:{Accept:"text/event-stream",...r==null?void 0:r.headers}});return AIStream(o,void 0,t).pipeThrough(createStreamDataTransformer())}function streamToResponse(e,t,r,s){var n;t.writeHead((n=r==null?void 0:r.status)!=null?n:200,{"Content-Type":"text/plain; charset=utf-8",...r==null?void 0:r.headers});let o=e;if(s){o=mergeStreams(s.stream,e)}const i=o.getReader();function read(){i.read().then((({done:e,value:r})=>{if(e){t.end();return}t.write(r);read()}))}read()}var Vs=class extends Response{constructor(e,t,r){let s=e;if(r){s=mergeStreams(r.stream,e)}super(s,{...t,status:200,headers:prepareResponseHeaders(t,{contentType:"text/plain; charset=utf-8"})})}};var Ys=Ce;var qs=Ce;function convertToOpenAIChatMessages({prompt:e,useLegacyFunctionCalling:t=false}){const r=[];for(const{role:s,content:n}of e){switch(s){case"system":{r.push({role:"system",content:n});break}case"user":{if(n.length===1&&n[0].type==="text"){r.push({role:"user",content:n[0].text});break}r.push({role:"user",content:n.map((e=>{var t;switch(e.type){case"text":{return{type:"text",text:e.text}}case"image":{return{type:"image_url",image_url:{url:e.image instanceof URL?e.image.toString():`data:${(t=e.mimeType)!=null?t:"image/jpeg"};base64,${convertUint8ArrayToBase64(e.image)}`}}}}}))});break}case"assistant":{let e="";const s=[];for(const t of n){switch(t.type){case"text":{e+=t.text;break}case"tool-call":{s.push({id:t.toolCallId,type:"function",function:{name:t.toolName,arguments:JSON.stringify(t.args)}});break}default:{const e=t;throw new Error(`Unsupported part: ${e}`)}}}if(t){if(s.length>1){throw new fe({functionality:"useLegacyFunctionCalling with multiple tool calls in one message"})}r.push({role:"assistant",content:e,function_call:s.length>0?s[0].function:void 0})}else{r.push({role:"assistant",content:e,tool_calls:s.length>0?s:void 0})}break}case"tool":{for(const e of n){if(t){r.push({role:"function",name:e.toolName,content:JSON.stringify(e.result)})}else{r.push({role:"tool",tool_call_id:e.toolCallId,content:JSON.stringify(e.result)})}}break}default:{const e=s;throw new Error(`Unsupported role: ${e}`)}}}return r}function mapOpenAIChatLogProbsOutput(e){var t,r;return(r=(t=e==null?void 0:e.content)==null?void 0:t.map((({token:e,logprob:t,top_logprobs:r})=>({token:e,logprob:t,topLogprobs:r?r.map((({token:e,logprob:t})=>({token:e,logprob:t}))):[]}))))!=null?r:void 0}function mapOpenAIFinishReason(e){switch(e){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"unknown"}}var Ws=Ft.object({error:Ft.object({message:Ft.string(),type:Ft.string().nullish(),param:Ft.any().nullish(),code:Ft.union([Ft.string(),Ft.number()]).nullish()})});var Zs=createJsonErrorResponseHandler({errorSchema:Ws,errorToMessage:e=>e.error.message});var zs=class{constructor(e,t,r){this.specificationVersion="v1";this.modelId=e;this.settings=t;this.config=r}get supportsStructuredOutputs(){return this.settings.structuredOutputs===true}get defaultObjectGenerationMode(){return this.supportsStructuredOutputs?"json":"tool"}get provider(){return this.config.provider}getArgs({mode:e,prompt:t,maxTokens:r,temperature:s,topP:n,topK:o,frequencyPenalty:i,presencePenalty:a,stopSequences:A,responseFormat:c,seed:l}){var u;const p=e.type;const d=[];if(o!=null){d.push({type:"unsupported-setting",setting:"topK"})}if(c!=null&&c.type==="json"&&c.schema!=null){d.push({type:"unsupported-setting",setting:"responseFormat",details:"JSON response format schema is not supported"})}const g=this.settings.useLegacyFunctionCalling;if(g&&this.settings.parallelToolCalls===true){throw new fe({functionality:"useLegacyFunctionCalling with parallelToolCalls"})}if(g&&this.settings.structuredOutputs===true){throw new fe({functionality:"structuredOutputs with useLegacyFunctionCalling"})}const h={model:this.modelId,logit_bias:this.settings.logitBias,logprobs:this.settings.logprobs===true||typeof this.settings.logprobs==="number"?true:void 0,top_logprobs:typeof this.settings.logprobs==="number"?this.settings.logprobs:typeof this.settings.logprobs==="boolean"?this.settings.logprobs?0:void 0:void 0,user:this.settings.user,parallel_tool_calls:this.settings.parallelToolCalls,max_tokens:r,temperature:s,top_p:n,frequency_penalty:i,presence_penalty:a,stop:A,seed:l,response_format:(c==null?void 0:c.type)==="json"?{type:"json_object"}:void 0,messages:convertToOpenAIChatMessages({prompt:t,useLegacyFunctionCalling:g})};switch(p){case"regular":{return{args:{...h,...dist_prepareToolsAndToolChoice({mode:e,useLegacyFunctionCalling:g,structuredOutputs:this.settings.structuredOutputs})},warnings:d}}case"object-json":{return{args:{...h,response_format:this.settings.structuredOutputs===true?{type:"json_schema",json_schema:{schema:e.schema,strict:true,name:(u=e.name)!=null?u:"response",description:e.description}}:{type:"json_object"}},warnings:d}}case"object-tool":{return{args:g?{...h,function_call:{name:e.tool.name},functions:[{name:e.tool.name,description:e.tool.description,parameters:e.tool.parameters}]}:{...h,tool_choice:{type:"function",function:{name:e.tool.name}},tools:[{type:"function",function:{name:e.tool.name,description:e.tool.description,parameters:e.tool.parameters,strict:this.settings.structuredOutputs===true?true:void 0}}]},warnings:d}}default:{const e=p;throw new Error(`Unsupported type: ${e}`)}}}async doGenerate(e){var t,r,s,n,o,i;const{args:a,warnings:A}=this.getArgs(e);const{responseHeaders:c,value:l}=await postJsonToApi({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:combineHeaders(this.config.headers(),e.headers),body:a,failedResponseHandler:Zs,successfulResponseHandler:createJsonResponseHandler(Xs),abortSignal:e.abortSignal,fetch:this.config.fetch});const{messages:u,...p}=a;const d=l.choices[0];return{text:(t=d.message.content)!=null?t:void 0,toolCalls:this.settings.useLegacyFunctionCalling&&d.message.function_call?[{toolCallType:"function",toolCallId:Ce(),toolName:d.message.function_call.name,args:d.message.function_call.arguments}]:(r=d.message.tool_calls)==null?void 0:r.map((e=>{var t;return{toolCallType:"function",toolCallId:(t=e.id)!=null?t:Ce(),toolName:e.function.name,args:e.function.arguments}})),finishReason:mapOpenAIFinishReason(d.finish_reason),usage:{promptTokens:(n=(s=l.usage)==null?void 0:s.prompt_tokens)!=null?n:NaN,completionTokens:(i=(o=l.usage)==null?void 0:o.completion_tokens)!=null?i:NaN},rawCall:{rawPrompt:u,rawSettings:p},rawResponse:{headers:c},warnings:A,logprobs:mapOpenAIChatLogProbsOutput(d.logprobs)}}async doStream(e){const{args:t,warnings:r}=this.getArgs(e);const{responseHeaders:s,value:n}=await postJsonToApi({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:combineHeaders(this.config.headers(),e.headers),body:{...t,stream:true,stream_options:this.config.compatibility==="strict"?{include_usage:true}:void 0},failedResponseHandler:Zs,successfulResponseHandler:createEventSourceResponseHandler($s),abortSignal:e.abortSignal,fetch:this.config.fetch});const{messages:o,...i}=t;const a=[];let A="unknown";let c={promptTokens:void 0,completionTokens:void 0};let l;const{useLegacyFunctionCalling:u}=this.settings;return{stream:n.pipeThrough(new TransformStream({transform(e,t){var r,s,n,o,i,p,d,g,h,m,E,C,I,B;if(!e.success){A="error";t.enqueue({type:"error",error:e.error});return}const Q=e.value;if("error"in Q){A="error";t.enqueue({type:"error",error:Q.error});return}if(Q.usage!=null){c={promptTokens:(r=Q.usage.prompt_tokens)!=null?r:void 0,completionTokens:(s=Q.usage.completion_tokens)!=null?s:void 0}}const b=Q.choices[0];if((b==null?void 0:b.finish_reason)!=null){A=mapOpenAIFinishReason(b.finish_reason)}if((b==null?void 0:b.delta)==null){return}const y=b.delta;if(y.content!=null){t.enqueue({type:"text-delta",textDelta:y.content})}const v=mapOpenAIChatLogProbsOutput(b==null?void 0:b.logprobs);if(v==null?void 0:v.length){if(l===void 0)l=[];l.push(...v)}const w=u&&y.function_call!=null?[{type:"function",id:Ce(),function:y.function_call,index:0}]:y.tool_calls;if(w!=null){for(const e of w){const r=e.index;if(a[r]==null){if(e.type!=="function"){throw new R({data:e,message:`Expected 'function' type.`})}if(e.id==null){throw new R({data:e,message:`Expected 'id' to be a string.`})}if(((n=e.function)==null?void 0:n.name)==null){throw new R({data:e,message:`Expected 'function.name' to be a string.`})}a[r]={id:e.id,type:"function",function:{name:e.function.name,arguments:(o=e.function.arguments)!=null?o:""}};const s=a[r];if(((i=s.function)==null?void 0:i.name)!=null&&((p=s.function)==null?void 0:p.arguments)!=null){if(s.function.arguments.length>0){t.enqueue({type:"tool-call-delta",toolCallType:"function",toolCallId:s.id,toolName:s.function.name,argsTextDelta:s.function.arguments})}if(isParsableJson(s.function.arguments)){t.enqueue({type:"tool-call",toolCallType:"function",toolCallId:(d=s.id)!=null?d:Ce(),toolName:s.function.name,args:s.function.arguments})}}continue}const s=a[r];if(((g=e.function)==null?void 0:g.arguments)!=null){s.function.arguments+=(m=(h=e.function)==null?void 0:h.arguments)!=null?m:""}t.enqueue({type:"tool-call-delta",toolCallType:"function",toolCallId:s.id,toolName:s.function.name,argsTextDelta:(E=e.function.arguments)!=null?E:""});if(((C=s.function)==null?void 0:C.name)!=null&&((I=s.function)==null?void 0:I.arguments)!=null&&isParsableJson(s.function.arguments)){t.enqueue({type:"tool-call",toolCallType:"function",toolCallId:(B=s.id)!=null?B:Ce(),toolName:s.function.name,args:s.function.arguments})}}}},flush(e){var t,r;e.enqueue({type:"finish",finishReason:A,logprobs:l,usage:{promptTokens:(t=c.promptTokens)!=null?t:NaN,completionTokens:(r=c.completionTokens)!=null?r:NaN}})}})),rawCall:{rawPrompt:o,rawSettings:i},rawResponse:{headers:s},warnings:r}}};var Ks=Ft.object({prompt_tokens:Ft.number().nullish(),completion_tokens:Ft.number().nullish()}).nullish();var Xs=Ft.object({choices:Ft.array(Ft.object({message:Ft.object({role:Ft.literal("assistant").nullish(),content:Ft.string().nullish(),function_call:Ft.object({arguments:Ft.string(),name:Ft.string()}).nullish(),tool_calls:Ft.array(Ft.object({id:Ft.string().nullish(),type:Ft.literal("function"),function:Ft.object({name:Ft.string(),arguments:Ft.string()})})).nullish()}),index:Ft.number(),logprobs:Ft.object({content:Ft.array(Ft.object({token:Ft.string(),logprob:Ft.number(),top_logprobs:Ft.array(Ft.object({token:Ft.string(),logprob:Ft.number()}))})).nullable()}).nullish(),finish_reason:Ft.string().nullish()})),usage:Ks});var $s=Ft.union([Ft.object({choices:Ft.array(Ft.object({delta:Ft.object({role:Ft["enum"](["assistant"]).nullish(),content:Ft.string().nullish(),function_call:Ft.object({name:Ft.string().optional(),arguments:Ft.string().optional()}).nullish(),tool_calls:Ft.array(Ft.object({index:Ft.number(),id:Ft.string().nullish(),type:Ft.literal("function").optional(),function:Ft.object({name:Ft.string().nullish(),arguments:Ft.string().nullish()})})).nullish()}).nullish(),logprobs:Ft.object({content:Ft.array(Ft.object({token:Ft.string(),logprob:Ft.number(),top_logprobs:Ft.array(Ft.object({token:Ft.string(),logprob:Ft.number()}))})).nullable()}).nullish(),finish_reason:Ft.string().nullable().optional(),index:Ft.number()})),usage:Ks}),Ws]);function dist_prepareToolsAndToolChoice({mode:e,useLegacyFunctionCalling:t=false,structuredOutputs:r=false}){var s;const n=((s=e.tools)==null?void 0:s.length)?e.tools:void 0;if(n==null){return{tools:void 0,tool_choice:void 0}}const o=e.toolChoice;if(t){const e=n.map((e=>({name:e.name,description:e.description,parameters:e.parameters})));if(o==null){return{functions:e,function_call:void 0}}const t=o.type;switch(t){case"auto":case"none":case void 0:return{functions:e,function_call:void 0};case"required":throw new fe({functionality:"useLegacyFunctionCalling and toolChoice: required"});default:return{functions:e,function_call:{name:o.toolName}}}}const i=n.map((e=>({type:"function",function:{name:e.name,description:e.description,parameters:e.parameters,strict:r===true?true:void 0}})));if(o==null){return{tools:i,tool_choice:void 0}}const a=o.type;switch(a){case"auto":case"none":case"required":return{tools:i,tool_choice:a};case"tool":return{tools:i,tool_choice:{type:"function",function:{name:o.toolName}}};default:{const e=a;throw new Error(`Unsupported tool choice type: ${e}`)}}}function convertToOpenAICompletionPrompt({prompt:e,inputFormat:t,user:r="user",assistant:s="assistant"}){if(t==="prompt"&&e.length===1&&e[0].role==="user"&&e[0].content.length===1&&e[0].content[0].type==="text"){return{prompt:e[0].content[0].text}}let n="";if(e[0].role==="system"){n+=`${e[0].content}\n\n`;e=e.slice(1)}for(const{role:t,content:o}of e){switch(t){case"system":{throw new y({message:"Unexpected system message in prompt: ${content}",prompt:e})}case"user":{const e=o.map((e=>{switch(e.type){case"text":{return e.text}case"image":{throw new fe({functionality:"images"})}}})).join("");n+=`${r}:\n${e}\n\n`;break}case"assistant":{const e=o.map((e=>{switch(e.type){case"text":{return e.text}case"tool-call":{throw new fe({functionality:"tool-call messages"})}}})).join("");n+=`${s}:\n${e}\n\n`;break}case"tool":{throw new fe({functionality:"tool messages"})}default:{const e=t;throw new Error(`Unsupported role: ${e}`)}}}n+=`${s}:\n`;return{prompt:n,stopSequences:[`\n${r}:`]}}function mapOpenAICompletionLogProbs(e){return e==null?void 0:e.tokens.map(((t,r)=>({token:t,logprob:e.token_logprobs[r],topLogprobs:e.top_logprobs?Object.entries(e.top_logprobs[r]).map((([e,t])=>({token:e,logprob:t}))):[]})))}var en=class{constructor(e,t,r){this.specificationVersion="v1";this.defaultObjectGenerationMode=void 0;this.modelId=e;this.settings=t;this.config=r}get provider(){return this.config.provider}getArgs({mode:e,inputFormat:t,prompt:r,maxTokens:s,temperature:n,topP:o,topK:i,frequencyPenalty:a,presencePenalty:A,stopSequences:c,responseFormat:l,seed:u}){var p;const d=e.type;const g=[];if(i!=null){g.push({type:"unsupported-setting",setting:"topK"})}if(l!=null&&l.type!=="text"){g.push({type:"unsupported-setting",setting:"responseFormat",details:"JSON response format is not supported."})}const{prompt:h,stopSequences:m}=convertToOpenAICompletionPrompt({prompt:r,inputFormat:t});const E=[...m!=null?m:[],...c!=null?c:[]];const C={model:this.modelId,echo:this.settings.echo,logit_bias:this.settings.logitBias,logprobs:typeof this.settings.logprobs==="number"?this.settings.logprobs:typeof this.settings.logprobs==="boolean"?this.settings.logprobs?0:void 0:void 0,suffix:this.settings.suffix,user:this.settings.user,max_tokens:s,temperature:n,top_p:o,frequency_penalty:a,presence_penalty:A,seed:u,prompt:h,stop:E.length>0?E:void 0};switch(d){case"regular":{if((p=e.tools)==null?void 0:p.length){throw new fe({functionality:"tools"})}if(e.toolChoice){throw new fe({functionality:"toolChoice"})}return{args:C,warnings:g}}case"object-json":{throw new fe({functionality:"object-json mode"})}case"object-tool":{throw new fe({functionality:"object-tool mode"})}default:{const e=d;throw new Error(`Unsupported type: ${e}`)}}}async doGenerate(e){const{args:t,warnings:r}=this.getArgs(e);const{responseHeaders:s,value:n}=await postJsonToApi({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:combineHeaders(this.config.headers(),e.headers),body:t,failedResponseHandler:Zs,successfulResponseHandler:createJsonResponseHandler(tn),abortSignal:e.abortSignal,fetch:this.config.fetch});const{prompt:o,...i}=t;const a=n.choices[0];return{text:a.text,usage:{promptTokens:n.usage.prompt_tokens,completionTokens:n.usage.completion_tokens},finishReason:mapOpenAIFinishReason(a.finish_reason),logprobs:mapOpenAICompletionLogProbs(a.logprobs),rawCall:{rawPrompt:o,rawSettings:i},rawResponse:{headers:s},warnings:r}}async doStream(e){const{args:t,warnings:r}=this.getArgs(e);const{responseHeaders:s,value:n}=await postJsonToApi({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:combineHeaders(this.config.headers(),e.headers),body:{...t,stream:true,stream_options:this.config.compatibility==="strict"?{include_usage:true}:void 0},failedResponseHandler:Zs,successfulResponseHandler:createEventSourceResponseHandler(rn),abortSignal:e.abortSignal,fetch:this.config.fetch});const{prompt:o,...i}=t;let a="unknown";let A={promptTokens:Number.NaN,completionTokens:Number.NaN};let c;return{stream:n.pipeThrough(new TransformStream({transform(e,t){if(!e.success){a="error";t.enqueue({type:"error",error:e.error});return}const r=e.value;if("error"in r){a="error";t.enqueue({type:"error",error:r.error});return}if(r.usage!=null){A={promptTokens:r.usage.prompt_tokens,completionTokens:r.usage.completion_tokens}}const s=r.choices[0];if((s==null?void 0:s.finish_reason)!=null){a=mapOpenAIFinishReason(s.finish_reason)}if((s==null?void 0:s.text)!=null){t.enqueue({type:"text-delta",textDelta:s.text})}const n=mapOpenAICompletionLogProbs(s==null?void 0:s.logprobs);if(n==null?void 0:n.length){if(c===void 0)c=[];c.push(...n)}},flush(e){e.enqueue({type:"finish",finishReason:a,logprobs:c,usage:A})}})),rawCall:{rawPrompt:o,rawSettings:i},rawResponse:{headers:s},warnings:r}}};var tn=Ft.object({choices:Ft.array(Ft.object({text:Ft.string(),finish_reason:Ft.string(),logprobs:Ft.object({tokens:Ft.array(Ft.string()),token_logprobs:Ft.array(Ft.number()),top_logprobs:Ft.array(Ft.record(Ft.string(),Ft.number())).nullable()}).nullable().optional()})),usage:Ft.object({prompt_tokens:Ft.number(),completion_tokens:Ft.number()})});var rn=Ft.union([Ft.object({choices:Ft.array(Ft.object({text:Ft.string(),finish_reason:Ft.string().nullish(),index:Ft.number(),logprobs:Ft.object({tokens:Ft.array(Ft.string()),token_logprobs:Ft.array(Ft.number()),top_logprobs:Ft.array(Ft.record(Ft.string(),Ft.number())).nullable()}).nullable().optional()})),usage:Ft.object({prompt_tokens:Ft.number(),completion_tokens:Ft.number()}).optional().nullable()}),Ws]);var sn=class{constructor(e={}){var t,r;this.baseURL=(r=withoutTrailingSlash((t=e.baseURL)!=null?t:e.baseUrl))!=null?r:"https://api.openai.com/v1";this.apiKey=e.apiKey;this.organization=e.organization;this.project=e.project;this.headers=e.headers}get baseConfig(){return{organization:this.organization,baseURL:this.baseURL,headers:()=>({Authorization:`Bearer ${loadApiKey({apiKey:this.apiKey,environmentVariableName:"OPENAI_API_KEY",description:"OpenAI"})}`,"OpenAI-Organization":this.organization,"OpenAI-Project":this.project,...this.headers})}}chat(e,t={}){return new zs(e,t,{provider:"openai.chat",...this.baseConfig,compatibility:"strict",url:({path:e})=>`${this.baseURL}${e}`})}completion(e,t={}){return new en(e,t,{provider:"openai.completion",...this.baseConfig,compatibility:"strict",url:({path:e})=>`${this.baseURL}${e}`})}};var nn=class{constructor(e,t,r){this.specificationVersion="v1";this.modelId=e;this.settings=t;this.config=r}get provider(){return this.config.provider}get maxEmbeddingsPerCall(){var e;return(e=this.settings.maxEmbeddingsPerCall)!=null?e:2048}get supportsParallelCalls(){var e;return(e=this.settings.supportsParallelCalls)!=null?e:true}async doEmbed({values:e,headers:t,abortSignal:r}){if(e.length>this.maxEmbeddingsPerCall){throw new oe({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e})}const{responseHeaders:s,value:n}=await postJsonToApi({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:combineHeaders(this.config.headers(),t),body:{model:this.modelId,input:e,encoding_format:"float",dimensions:this.settings.dimensions,user:this.settings.user},failedResponseHandler:Zs,successfulResponseHandler:createJsonResponseHandler(an),abortSignal:r,fetch:this.config.fetch});return{embeddings:n.data.map((e=>e.embedding)),usage:n.usage?{tokens:n.usage.prompt_tokens}:void 0,rawResponse:{headers:s}}}};var an=Ft.object({data:Ft.array(Ft.object({embedding:Ft.array(Ft.number())})),usage:Ft.object({prompt_tokens:Ft.number()}).nullish()});function createOpenAI(e={}){var t,r,s;const n=(r=dist_withoutTrailingSlash((t=e.baseURL)!=null?t:e.baseUrl))!=null?r:"https://api.openai.com/v1";const o=(s=e.compatibility)!=null?s:"compatible";const getHeaders=()=>({Authorization:`Bearer ${dist_loadApiKey({apiKey:e.apiKey,environmentVariableName:"OPENAI_API_KEY",description:"OpenAI"})}`,"OpenAI-Organization":e.organization,"OpenAI-Project":e.project,...e.headers});const createChatModel=(t,r={})=>new zs(t,r,{provider:"openai.chat",url:({path:e})=>`${n}${e}`,headers:getHeaders,compatibility:o,fetch:e.fetch});const createCompletionModel=(t,r={})=>new en(t,r,{provider:"openai.completion",url:({path:e})=>`${n}${e}`,headers:getHeaders,compatibility:o,fetch:e.fetch});const createEmbeddingModel=(t,r={})=>new nn(t,r,{provider:"openai.embedding",url:({path:e})=>`${n}${e}`,headers:getHeaders,fetch:e.fetch});const createLanguageModel=(e,t)=>{if(new.target){throw new Error("The OpenAI model function cannot be called with the new keyword.")}if(e==="gpt-3.5-turbo-instruct"){return createCompletionModel(e,t)}return createChatModel(e,t)};const provider=function(e,t){return createLanguageModel(e,t)};provider.languageModel=createLanguageModel;provider.chat=createChatModel;provider.completion=createCompletionModel;provider.embedding=createEmbeddingModel;provider.textEmbedding=createEmbeddingModel;provider.textEmbeddingModel=createEmbeddingModel;return provider}var An=createOpenAI({compatibility:"strict"});var cn=__nccwpck_require__(9690);var ln=__nccwpck_require__(4260);function formattedDate(e){const t=new Date(e);return t.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}function ninetyDaysAgo(){const e=new Date;e.setDate(e.getDate()-90);return e.toISOString().split("T")[0]}async function getLatestCanaryVersion(){let e;try{const{stdout:t}=await(0,ln.getExecOutput)("pnpm",["view","next","dist-tags","--json"]);const r=JSON.parse(t);e=r.canary||null}catch(e){(0,t.setFailed)(`Error fetching latest Next.js canary version, skipping update.`)}return e}async function getLatestVersion(){let e;try{const{stdout:t}=await(0,ln.getExecOutput)("pnpm",["view","next","dist-tags","--json"]);const r=JSON.parse(t);e=r.latest||null}catch(e){(0,t.setFailed)(`Error fetching latest Next.js version, skipping update.`)}return e}var un=undefined&&undefined.__awaiter||function(e,t,r,s){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,n){function fulfilled(e){try{step(s.next(e))}catch(e){n(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){n(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))};function main(){return un(this,void 0,void 0,(function*(){if(!process.env.OPENAI_API_KEY)throw new TypeError("OPENAI_API_KEY not set");if(!process.env.SLACK_TOKEN)throw new TypeError("SLACK_TOKEN not set");if(!process.env.VERCEL_PROTECTION_BYPASS)throw new TypeError("VERCEL_PROTECTION_BYPASS not set");const s=new e.WebClient(process.env.SLACK_TOKEN);const n="gpt-4o";const o="#next-info";const i=r.context.payload.issue;let a;let A;try{a=yield getLatestVersion();A=yield getLatestCanaryVersion();const e=yield fetch("https://next-triage.vercel.sh/api/triage-guidelines",{method:"GET",headers:{"x-vercel-protection-bypass":`${process.env.VERCEL_PROTECTION_BYPASS}`}});const r=yield e.text();const{object:{explanation:c,isSevere:l,number:u,title:p,url:d}}=yield generateObject({model:An(n),schema:Ft.object({explanation:Ft.string().describe("The explanation of the severity."),isSevere:Ft.boolean().describe("Whether the issue is severe."),number:Ft.number().describe("The issue number."),title:Ft.string().describe("The issue title."),url:Ft.string().describe("The issue URL.")}),system:"Your job is to determine the severity of a GitHub issue using the triage guidelines and the latest versions of Next.js. Succinctly explain why you chose the severity, without paraphrasing the triage guidelines. Report to Slack the explanation only if the severity is considered severe.",prompt:`Here are the triage guidelines: ${r}`+`Here is the latest version of Next.js: ${a}`+`Here is the latest canary version of Next.js: ${A}`+`Here is the GitHub issue: ${JSON.stringify(i)}`});if(l){const e=(0,cn.BlockCollection)([(0,cn.Section)({text:`:github2: <${d}|#${u}>: ${p}\n_Note: This issue was evaluated and reported on Slack with *${n}*._`}),(0,cn.Divider)(),(0,cn.Section)({text:`_${c}_`})]);yield s.chat.postMessage({blocks:e,channel:o,icon_emoji:":github:",username:"GitHub Notifier"});(0,t.info)("Reported to Slack!")}(0,t.info)(`Explanation: ${c}\nhtml_url: ${d}\nnumber: ${u}\ntitle: ${p}`)}catch(e){(0,t.setFailed)(e)}}))}main()})();module.exports=__webpack_exports__})(); \ No newline at end of file diff --git a/.github/actions/next-repo-actions/lib/types.ts b/.github/actions/next-repo-actions/lib/types.ts deleted file mode 100644 index fc389e81c760f..0000000000000 --- a/.github/actions/next-repo-actions/lib/types.ts +++ /dev/null @@ -1,229 +0,0 @@ -import { z } from 'zod' - -const userSchema = z - .object({ - avatar_url: z.string().optional(), - deleted: z.boolean().optional(), - email: z.string().nullable().optional(), - events_url: z.string().optional(), - followers_url: z.string().optional(), - following_url: z.string().optional(), - gists_url: z.string().optional(), - gravatar_id: z.string().optional(), - html_url: z.string().optional(), - id: z.number(), - login: z.string(), - name: z.string().optional(), - node_id: z.string().optional(), - organizations_url: z.string().optional(), - received_events_url: z.string().optional(), - repos_url: z.string().optional(), - site_admin: z.boolean().optional(), - starred_url: z.string().optional(), - subscriptions_url: z.string().optional(), - type: z.enum(['Bot', 'User', 'Organization']).optional(), - url: z.string().optional(), - }) - .strict() - -const labelSchema = z - .object({ - color: z.string(), - default: z.boolean(), - description: z.string().nullable(), - id: z.number(), - name: z.string(), - node_id: z.string(), - url: z.string(), - }) - .strict() - -const milestoneSchema = z - .object({ - closed_at: z.string().nullable(), - closed_issues: z.number(), - created_at: z.string(), - creator: userSchema.nullable(), - description: z.string().nullable(), - due_on: z.string().nullable(), - html_url: z.string(), - id: z.number(), - labels_url: z.string(), - node_id: z.string(), - number: z.number(), - open_issues: z.number(), - state: z.enum(['closed', 'open']), - title: z.string(), - updated_at: z.string(), - url: z.string(), - }) - .strict() - .describe('A collection of related issues.') - -const permissionsSchema = z - .object({ - actions: z.enum(['read', 'write']), - administration: z.enum(['read', 'write']), - content_references: z.enum(['read', 'write']), - contents: z.enum(['read', 'write']), - deployments: z.enum(['read', 'write']), - discussions: z.enum(['read', 'write']), - emails: z.enum(['read', 'write']), - environments: z.enum(['read', 'write']), - issues: z.enum(['read', 'write']), - keys: z.enum(['read', 'write']), - members: z.enum(['read', 'write']), - metadata: z.enum(['read', 'write']), - organization_administration: z.enum(['read', 'write']), - organization_hooks: z.enum(['read', 'write']), - organization_packages: z.enum(['read', 'write']), - organization_plan: z.enum(['read', 'write']), - organization_projects: z.enum(['read', 'write']), - organization_secrets: z.enum(['read', 'write']), - organization_self_hosted_runners: z.enum(['read', 'write']), - organization_user_blocking: z.enum(['read', 'write']), - packages: z.enum(['read', 'write']), - pages: z.enum(['read', 'write']), - pull_requests: z.enum(['read', 'write']), - repository_hooks: z.enum(['read', 'write']), - repository_projects: z.enum(['read', 'write']), - secret_scanning_alerts: z.enum(['read', 'write']), - secrets: z.enum(['read', 'write']), - security_events: z.enum(['read', 'write']), - security_scanning_alert: z.enum(['read', 'write']), - single_file: z.enum(['read', 'write']), - statuses: z.enum(['read', 'write']), - team_discussions: z.enum(['read', 'write']), - vulnerability_alerts: z.enum(['read', 'write']), - workflows: z.enum(['read', 'write']), - }) - .strict() - -const performedViaGitHubAppSchema = z - .object({ - created_at: z.string().nullable(), - description: z.string().nullable(), - events: z.enum([ - 'branch_protection_rule', - 'check_run', - 'check_suite', - 'code_scanning_alert', - 'commit_comment', - 'content_reference', - 'create', - 'delete', - 'deployment', - 'deployment_review', - 'deployment_status', - 'deploy_key', - 'discussion', - 'discussion_comment', - 'fork', - 'gollum', - 'issues', - 'issue_comment', - 'label', - 'member', - 'membership', - 'milestone', - 'organization', - 'org_block', - 'page_build', - 'project', - 'project_card', - 'project_column', - 'public', - 'pull_request', - 'pull_request_review', - 'pull_request_review_comment', - 'push', - 'registry_package', - 'release', - 'repository', - 'repository_dispatch', - 'secret_scanning_alert', - 'star', - 'status', - 'team', - 'team_add', - 'watch', - 'workflow_dispatch', - 'workflow_run', - 'reminder', - 'pull_request_review_thread', - ]), - external_url: z.string().nullable(), - html_url: z.string(), - id: z.number().nullable(), - name: z.string(), - node_id: z.string(), - owner: userSchema.nullable(), - permissions: permissionsSchema, - slug: z.string(), - updated_at: z.string().nullable(), - }) - .strict() - -const reactionSchema = z - .object({ - '+1': z.number().optional(), - '-1': z.number().optional(), - confused: z.number().optional(), - eyes: z.number().optional(), - heart: z.number().optional(), - hooray: z.number().optional(), - laugh: z.number().optional(), - rocket: z.number().optional(), - total_count: z.number(), - url: z.string(), - }) - .strict() - -export const issueSchema = z - .object({ - issue: z.object({ - active_lock_reason: z - .enum(['resolved', 'off-topic', 'too heated', 'spam']) - .nullable(), - assignee: userSchema.nullable().optional(), - assignees: z.array(userSchema).optional(), - author_association: z.enum([ - 'COLLABORATOR', - 'CONTRIBUTOR', - 'FIRST_TIMER', - 'FIRST_TIME_CONTRIBUTOR', - 'MANNEQUIN', - 'MEMBER', - 'NONE', - 'OWNER', - ]), - body: z.string().nullable(), - closed_at: z.string().nullable(), - comments: z.number(), - comments_url: z.string(), - created_at: z.string(), - events_url: z.string(), - html_url: z.string(), - id: z.number(), - labels: z.array(labelSchema).default([]), - labels_url: z.string(), - locked: z.boolean(), - milestone: milestoneSchema.nullable(), - node_id: z.string(), - number: z.number(), - performed_via_github_app: performedViaGitHubAppSchema.nullable(), - reactions: reactionSchema, - repository_url: z.string(), - state: z.enum(['closed', 'open']), - state_reason: z.string().nullable(), - timeline_url: z.string(), - title: z.string(), - updated_at: z.string(), - url: z.string(), - user: userSchema.nullable(), - }), - }) - .strict() - .describe('A GitHub issue.') - -export type Issue = z.infer diff --git a/.github/actions/next-repo-actions/package.json b/.github/actions/next-repo-actions/package.json index 68bbac7969bc8..35d7a520ecedd 100644 --- a/.github/actions/next-repo-actions/package.json +++ b/.github/actions/next-repo-actions/package.json @@ -13,9 +13,9 @@ "@actions/core": "^1.10.1", "@actions/exec": "^1.1.1", "@actions/github": "6.0.0", - "@ai-sdk/openai": "^0.0.54", + "@ai-sdk/openai": "^0.0.55", "@slack/web-api": "^7.3.4", - "ai": "^3.3.19", + "ai": "^3.3.26", "slack-block-builder": "^2.8.0", "zod": "^3.23.8" }, diff --git a/.github/actions/next-repo-actions/src/triage-issues-with-ai.ts b/.github/actions/next-repo-actions/src/triage-issues-with-ai.ts index 9e32c9f5e65b0..baa287766bfc9 100644 --- a/.github/actions/next-repo-actions/src/triage-issues-with-ai.ts +++ b/.github/actions/next-repo-actions/src/triage-issues-with-ai.ts @@ -1,12 +1,12 @@ import { WebClient } from '@slack/web-api' import { info, setFailed } from '@actions/core' import { context } from '@actions/github' -import { generateText, tool } from 'ai' +import { generateObject } from 'ai' import { openai } from '@ai-sdk/openai' +import { z } from 'zod' import { BlockCollection, Divider, Section } from 'slack-block-builder' import { getLatestCanaryVersion, getLatestVersion } from '../lib/util.mjs' -import { issueSchema } from '../lib/types' async function main() { if (!process.env.OPENAI_API_KEY) throw new TypeError('OPENAI_API_KEY not set') @@ -19,9 +19,6 @@ async function main() { const channel = '#next-info' const issue = context.payload.issue - const html_url = issue.html_url - const number = issue.number - const title = issue.title let latestVersion: string let latestCanaryVersion: string @@ -42,20 +39,17 @@ async function main() { const guidelines = await res.text() - const result = await generateText({ + const { + object: { explanation, isSevere, number, title, url }, + } = await generateObject({ model: openai(model), - maxToolRoundtrips: 1, - tools: { - report_to_slack: tool({ - description: 'Report to Slack.', - parameters: issueSchema, - execute: async () => { - // necessary to have an execute the tool automatically, - // so just putting an info message here as a placeholder - info('Reporting to Slack...') - }, - }), - }, + schema: z.object({ + explanation: z.string().describe('The explanation of the severity.'), + isSevere: z.boolean().describe('Whether the issue is severe.'), + number: z.number().describe('The issue number.'), + title: z.string().describe('The issue title.'), + url: z.string().describe('The issue URL.'), + }), system: 'Your job is to determine the severity of a GitHub issue using the triage guidelines and the latest versions of Next.js. Succinctly explain why you chose the severity, without paraphrasing the triage guidelines. Report to Slack the explanation only if the severity is considered severe.', prompt: @@ -66,14 +60,14 @@ async function main() { }) // the ai determined that the issue was severe enough to report on slack - if (result.roundtrips.length > 1) { + if (isSevere) { const blocks = BlockCollection([ Section({ - text: `:github2: <${html_url}|#${number}>: ${title}\n_Note: This issue was evaluated and reported on Slack with *${model}*._`, + text: `:github2: <${url}|#${number}>: ${title}\n_Note: This issue was evaluated and reported on Slack with *${model}*._`, }), Divider(), Section({ - text: `_${result.text}_`, + text: `_${explanation}_`, }), ]) @@ -89,7 +83,7 @@ async function main() { // the ai will also provide a reason why the issue was not severe enough to report on slack info( - `result.text: ${result.text}\nhtml_url: ${html_url}\nnumber: ${number}\ntitle: ${title}` + `Explanation: ${explanation}\nhtml_url: ${url}\nnumber: ${number}\ntitle: ${title}` ) } catch (error) { setFailed(error) diff --git a/.github/pnpm-lock.yaml b/.github/pnpm-lock.yaml index 32f82dbff04a6..f8c4421971e29 100644 --- a/.github/pnpm-lock.yaml +++ b/.github/pnpm-lock.yaml @@ -17,7 +17,7 @@ importers: devDependencies: '@types/node': specifier: ^18.11.0 - version: 22.5.0 + version: 22.5.3 '@vercel/ncc': specifier: 0.34.0 version: 0.38.1 @@ -48,7 +48,7 @@ importers: devDependencies: '@types/node': specifier: ^18.11.18 - version: 22.5.0 + version: 22.5.3 '@vercel/ncc': specifier: 0.34.0 version: 0.38.1 @@ -68,14 +68,14 @@ importers: specifier: 6.0.0 version: 6.0.0 '@ai-sdk/openai': - specifier: ^0.0.54 - version: 0.0.54(zod@3.23.8) + specifier: ^0.0.55 + version: 0.0.55(zod@3.23.8) '@slack/web-api': specifier: ^7.3.4 version: 7.3.4 ai: - specifier: ^3.3.19 - version: 3.3.19(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.4.38(typescript@5.5.4))(zod@3.23.8) + specifier: ^3.3.26 + version: 3.3.26(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.1(typescript@5.5.4))(zod@3.23.8) slack-block-builder: specifier: ^2.8.0 version: 2.8.0 @@ -194,8 +194,8 @@ packages: '@actions/io@1.1.3': resolution: {integrity: sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q==} - '@ai-sdk/openai@0.0.54': - resolution: {integrity: sha512-0jqUSY9Lq0ie4AxnAucmiMhVBbs8ivvOW73sq3pCNA+LFeb2edOcnI0qmfGfHTn/VOjUCf2TvzQzHQx1Du3sYA==} + '@ai-sdk/openai@0.0.55': + resolution: {integrity: sha512-mYKe5Zqgq+vTtVeyBNLw34TLsWL924q0V6w0x76OgV+tpcyO+MmIc/m6Ego393yRDol2V9BDjmTAfD5jiFv5jw==} engines: {node: '>=18'} peerDependencies: zod: ^3.0.0 @@ -213,8 +213,8 @@ packages: resolution: {integrity: sha512-smZ1/2jL/JSKnbhC6ama/PxI2D/psj+YAe0c0qpd5ComQCNFltg72VFf0rpUSFMmFuj1pCCNoBOCrvyl8HTZHQ==} engines: {node: '>=18'} - '@ai-sdk/react@0.0.52': - resolution: {integrity: sha512-4Gm+AoINDXQ4lzIZFKOWOcKgjgiAFdyhmBxnyuaqzTJCoRWNUSea62xhjqRE0u8wagfPgxWUAyS8BAsY0EqOyg==} + '@ai-sdk/react@0.0.54': + resolution: {integrity: sha512-qpDTPbgP2B/RPS9E1IchSUuiOT2X8eY6q9/dT+YITa/9T4zxR1oTGyzR/bb29Eic301YbmfHVG/4x3Dv2nPELA==} engines: {node: '>=18'} peerDependencies: react: ^18 || ^19 @@ -225,8 +225,8 @@ packages: zod: optional: true - '@ai-sdk/solid@0.0.42': - resolution: {integrity: sha512-tr1rXRg0bLls7ZEQCWfd0Tv7irFlKQRjBSKSCstwrGtTeDA7zwUP4tIiUaCyzM3lwyE6Qgl17SrAoxSD+xP+zQ==} + '@ai-sdk/solid@0.0.43': + resolution: {integrity: sha512-7PlPLaeMAu97oOY2gjywvKZMYHF+GDfUxYNcuJ4AZ3/MRBatzs/U2r4ClT1iH8uMOcMg02RX6UKzP5SgnUBjVw==} engines: {node: '>=18'} peerDependencies: solid-js: ^1.7.7 @@ -234,8 +234,8 @@ packages: solid-js: optional: true - '@ai-sdk/svelte@0.0.44': - resolution: {integrity: sha512-soSiEX1BUiwRSdoc+7mAoCeuM3Vs/ebdb1gNL7ta9Zma7GTHq802Wi7KfWfypoAqpgi0QUapzCRMvgrl4oW4AQ==} + '@ai-sdk/svelte@0.0.45': + resolution: {integrity: sha512-w5Sdl0ArFIM3Fp8BbH4TUvlrS84WP/jN/wC1+fghMOXd7ceVO3Yhs9r71wTqndhgkLC7LAEX9Ll7ZEPfW9WBDA==} engines: {node: '>=18'} peerDependencies: svelte: ^3.0.0 || ^4.0.0 @@ -243,8 +243,8 @@ packages: svelte: optional: true - '@ai-sdk/ui-utils@0.0.39': - resolution: {integrity: sha512-yxlJBFEiWR7rf/oS7MFX9O5Hr7VYV0ipMBrvds66N3+m52/nCbBB5C/eBefzeR+hoGc/r5xGo7Yd1cncGYHHTw==} + '@ai-sdk/ui-utils@0.0.40': + resolution: {integrity: sha512-f0eonPUBO13pIO8jA9IGux7IKMeqpvWK22GBr3tOoSRnO5Wg5GEpXZU1V0Po+unpeZHyEPahrWbj5JfXcyWCqw==} engines: {node: '>=18'} peerDependencies: zod: ^3.0.0 @@ -252,8 +252,8 @@ packages: zod: optional: true - '@ai-sdk/vue@0.0.44': - resolution: {integrity: sha512-IsDCoy7u4V081dKT1i6b/Cxh2G0aftetbif+qNQGh5QeU9TtGs9KDW+onPkXeqlDQcpMN0Q5zaNGaZ7YBK50Gw==} + '@ai-sdk/vue@0.0.45': + resolution: {integrity: sha512-bqeoWZqk88TQmfoPgnFUKkrvhOIcOcSH5LMPgzZ8XwDqz5tHHrMHzpPfHCj7XyYn4ROTFK/2kKdC/ta6Ko0fMw==} engines: {node: '>=18'} peerDependencies: vue: ^3.3.4 @@ -273,13 +273,13 @@ packages: resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - '@babel/parser@7.25.4': - resolution: {integrity: sha512-nq+eWrOgdtu3jG5Os4TQP3x3cLA8hR8TvJNjD8vnPa20WGycimcparWnLK4jJhElTK6SDyuJo1weMKO/5LpmLA==} + '@babel/parser@7.25.6': + resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/types@7.25.4': - resolution: {integrity: sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ==} + '@babel/types@7.25.6': + resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} engines: {node: '>=6.9.0'} '@fastify/busboy@2.1.0': @@ -402,6 +402,9 @@ packages: '@types/node@22.5.0': resolution: {integrity: sha512-DkFrJOe+rfdHTqqMg0bSNlGlQ85hSoh2TPzZyhHsXnMtligRWpxUySiyw8FY14ITt24HVCiQPWxS3KO/QlGmWg==} + '@types/node@22.5.3': + resolution: {integrity: sha512-njripolh85IA9SQGTAqbmnNZTdxv7X/4OYGPz8tgy5JDr8MP+uDBa921GpYEoDDnwm0Hmn5ZPeJgiiSTPoOzkQ==} + '@types/retry@0.12.0': resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} @@ -422,42 +425,42 @@ packages: resolution: {integrity: sha512-IBBb+iI2NLu4VQn3Vwldyi2QwaXt5+hTyh58ggAMoCGE6DJmPvwL3KPBWcJl1m9LYPChBLE980Jw+CS4Wokqxw==} hasBin: true - '@vue/compiler-core@3.4.38': - resolution: {integrity: sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A==} + '@vue/compiler-core@3.5.1': + resolution: {integrity: sha512-WdjF+NSgFYdWttHevHw5uaJFtKPalhmxhlu2uREj8cLP0uyKKIR60/JvSZNTp0x+NSd63iTiORQTx3+tt55NWQ==} - '@vue/compiler-dom@3.4.38': - resolution: {integrity: sha512-Osc/c7ABsHXTsETLgykcOwIxFktHfGSUDkb05V61rocEfsFDcjDLH/IHJSNJP+/Sv9KeN2Lx1V6McZzlSb9EhQ==} + '@vue/compiler-dom@3.5.1': + resolution: {integrity: sha512-Ao23fB1lINo18HLCbJVApvzd9OQe8MgmQSgyY5+umbWj2w92w9KykVmJ4Iv2US5nak3ixc2B+7Km7JTNhQ8kSQ==} - '@vue/compiler-sfc@3.4.38': - resolution: {integrity: sha512-s5QfZ+9PzPh3T5H4hsQDJtI8x7zdJaew/dCGgqZ2630XdzaZ3AD8xGZfBqpT8oaD/p2eedd+pL8tD5vvt5ZYJQ==} + '@vue/compiler-sfc@3.5.1': + resolution: {integrity: sha512-DFizMNH8eDglLhlfwJ0+ciBsztaYe3fY/zcZjrqL1ljXvUw/UpC84M1d7HpBTCW68SNqZyIxrs1XWmf+73Y65w==} - '@vue/compiler-ssr@3.4.38': - resolution: {integrity: sha512-YXznKFQ8dxYpAz9zLuVvfcXhc31FSPFDcqr0kyujbOwNhlmaNvL2QfIy+RZeJgSn5Fk54CWoEUeW+NVBAogGaw==} + '@vue/compiler-ssr@3.5.1': + resolution: {integrity: sha512-C1hpSHQgRM8bg+5XWWD7CkFaVpSn9wZHCLRd10AmxqrH17d4EMP6+XcZpwBOM7H1jeStU5naEapZZWX0kso1tQ==} - '@vue/reactivity@3.4.38': - resolution: {integrity: sha512-4vl4wMMVniLsSYYeldAKzbk72+D3hUnkw9z8lDeJacTxAkXeDAP1uE9xr2+aKIN0ipOL8EG2GPouVTH6yF7Gnw==} + '@vue/reactivity@3.5.1': + resolution: {integrity: sha512-aFE1nMDfbG7V+U5vdOk/NXxH/WX78XuAfX59vWmCM7Ao4lieoc83RkzOAWun61sQXlzNZ4IgROovFBHg+Iz1+Q==} - '@vue/runtime-core@3.4.38': - resolution: {integrity: sha512-21z3wA99EABtuf+O3IhdxP0iHgkBs1vuoCAsCKLVJPEjpVqvblwBnTj42vzHRlWDCyxu9ptDm7sI2ZMcWrQqlA==} + '@vue/runtime-core@3.5.1': + resolution: {integrity: sha512-Ce92CCholNRHR3ZtzpRp/7CDGIPFxQ7ElXt9iH91ilK5eOrUv3Z582NWJesuM3aYX71BujVG5/4ypUxigGNxjA==} - '@vue/runtime-dom@3.4.38': - resolution: {integrity: sha512-afZzmUreU7vKwKsV17H1NDThEEmdYI+GCAK/KY1U957Ig2NATPVjCROv61R19fjZNzMmiU03n79OMnXyJVN0UA==} + '@vue/runtime-dom@3.5.1': + resolution: {integrity: sha512-B/fUJfBLp5PwE0EWNfBYnA4JUea8Yufb3wN8fN0/HzaqBdkiRHh4sFHOjWqIY8GS75gj//8VqeEqhcU6yUjIkA==} - '@vue/server-renderer@3.4.38': - resolution: {integrity: sha512-NggOTr82FbPEkkUvBm4fTGcwUY8UuTsnWC/L2YZBmvaQ4C4Jl/Ao4HHTB+l7WnFCt5M/dN3l0XLuyjzswGYVCA==} + '@vue/server-renderer@3.5.1': + resolution: {integrity: sha512-C5V/fjQTitgVaRNH5wCoHynaWysjZ+VH68drNsAvQYg4ArHsZUQNz0nHoEWRj41nzqkVn2RUlnWaEOTl2o1Ppg==} peerDependencies: - vue: 3.4.38 + vue: 3.5.1 - '@vue/shared@3.4.38': - resolution: {integrity: sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==} + '@vue/shared@3.5.1': + resolution: {integrity: sha512-NdcTRoO4KuW2RSFgpE2c+E/R/ZHaRzWPxAGxhmxZaaqLh6nYCXx7lc9a88ioqOCxCaV2SFJmujkxbUScW7dNsQ==} acorn@8.12.1: resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true - ai@3.3.19: - resolution: {integrity: sha512-Q3K3cubOYqLVK/5P6oWu5kjjPgAo4Lr+zzLZCCG0HX9b8QemgQCPmZGRNgLNf3a2y6m4NwpjJjAPYHPlb3ytwQ==} + ai@3.3.26: + resolution: {integrity: sha512-UOklRlYM7E/mr2WVtz3iluU4Ja68XYlMLEHL2mxggMcrnhN45E1seu2NXpjZsq1anyIkgBbHN14Lo0R4A9jt/A==} engines: {node: '>=18'} peerDependencies: openai: ^4.42.0 @@ -951,11 +954,11 @@ packages: periscopic@3.1.0: resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} - picocolors@1.0.1: - resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} - postcss@8.4.41: - resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} + postcss@8.4.45: + resolution: {integrity: sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==} engines: {node: ^10 || ^12 || >=14} prettier@3.3.3: @@ -1139,11 +1142,11 @@ packages: vfile-message@4.0.2: resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} - vfile@6.0.2: - resolution: {integrity: sha512-zND7NlS8rJYb/sPqkb13ZvbbUoExdbi4w3SfRrMq6R3FvnLQmmfpajJNITuuYm6AZ5uao9vy4BAos3EXBPf2rg==} + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vue@3.4.38: - resolution: {integrity: sha512-f0ZgN+mZ5KFgVv9wz0f4OgVKukoXtS3nwET4c2vLBGQR50aI8G0cqbFtLlX9Yiyg3LFGBitruPHt2PxwTduJEw==} + vue@3.5.1: + resolution: {integrity: sha512-k4UNnbPOEskodSxMtv+B9GljdB0C9ubZDOmW6vnXVGIfMqmEsY2+ohasjGguhGkMkrcP/oOrbH0dSD41x5JQFw==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -1213,7 +1216,7 @@ snapshots: '@actions/io@1.1.3': {} - '@ai-sdk/openai@0.0.54(zod@3.23.8)': + '@ai-sdk/openai@0.0.55(zod@3.23.8)': dependencies: '@ai-sdk/provider': 0.0.22 '@ai-sdk/provider-utils': 1.0.17(zod@3.23.8) @@ -1232,33 +1235,33 @@ snapshots: dependencies: json-schema: 0.4.0 - '@ai-sdk/react@0.0.52(react@18.3.1)(zod@3.23.8)': + '@ai-sdk/react@0.0.54(react@18.3.1)(zod@3.23.8)': dependencies: '@ai-sdk/provider-utils': 1.0.17(zod@3.23.8) - '@ai-sdk/ui-utils': 0.0.39(zod@3.23.8) + '@ai-sdk/ui-utils': 0.0.40(zod@3.23.8) swr: 2.2.5(react@18.3.1) optionalDependencies: react: 18.3.1 zod: 3.23.8 - '@ai-sdk/solid@0.0.42(zod@3.23.8)': + '@ai-sdk/solid@0.0.43(zod@3.23.8)': dependencies: '@ai-sdk/provider-utils': 1.0.17(zod@3.23.8) - '@ai-sdk/ui-utils': 0.0.39(zod@3.23.8) + '@ai-sdk/ui-utils': 0.0.40(zod@3.23.8) transitivePeerDependencies: - zod - '@ai-sdk/svelte@0.0.44(svelte@4.2.19)(zod@3.23.8)': + '@ai-sdk/svelte@0.0.45(svelte@4.2.19)(zod@3.23.8)': dependencies: '@ai-sdk/provider-utils': 1.0.17(zod@3.23.8) - '@ai-sdk/ui-utils': 0.0.39(zod@3.23.8) + '@ai-sdk/ui-utils': 0.0.40(zod@3.23.8) sswr: 2.1.0(svelte@4.2.19) optionalDependencies: svelte: 4.2.19 transitivePeerDependencies: - zod - '@ai-sdk/ui-utils@0.0.39(zod@3.23.8)': + '@ai-sdk/ui-utils@0.0.40(zod@3.23.8)': dependencies: '@ai-sdk/provider': 0.0.22 '@ai-sdk/provider-utils': 1.0.17(zod@3.23.8) @@ -1268,13 +1271,13 @@ snapshots: optionalDependencies: zod: 3.23.8 - '@ai-sdk/vue@0.0.44(vue@3.4.38(typescript@5.5.4))(zod@3.23.8)': + '@ai-sdk/vue@0.0.45(vue@3.5.1(typescript@5.5.4))(zod@3.23.8)': dependencies: '@ai-sdk/provider-utils': 1.0.17(zod@3.23.8) - '@ai-sdk/ui-utils': 0.0.39(zod@3.23.8) - swrv: 1.0.4(vue@3.4.38(typescript@5.5.4)) + '@ai-sdk/ui-utils': 0.0.40(zod@3.23.8) + swrv: 1.0.4(vue@3.5.1(typescript@5.5.4)) optionalDependencies: - vue: 3.4.38(typescript@5.5.4) + vue: 3.5.1(typescript@5.5.4) transitivePeerDependencies: - zod @@ -1287,11 +1290,11 @@ snapshots: '@babel/helper-validator-identifier@7.24.7': {} - '@babel/parser@7.25.4': + '@babel/parser@7.25.6': dependencies: - '@babel/types': 7.25.4 + '@babel/types': 7.25.6 - '@babel/types@7.25.4': + '@babel/types@7.25.6': dependencies: '@babel/helper-string-parser': 7.24.8 '@babel/helper-validator-identifier': 7.24.7 @@ -1435,6 +1438,10 @@ snapshots: dependencies: undici-types: 6.19.8 + '@types/node@22.5.3': + dependencies: + undici-types: 6.19.8 + '@types/retry@0.12.0': {} '@types/unist@3.0.3': {} @@ -1451,71 +1458,71 @@ snapshots: '@vercel/ncc@0.38.1': {} - '@vue/compiler-core@3.4.38': + '@vue/compiler-core@3.5.1': dependencies: - '@babel/parser': 7.25.4 - '@vue/shared': 3.4.38 + '@babel/parser': 7.25.6 + '@vue/shared': 3.5.1 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 - '@vue/compiler-dom@3.4.38': + '@vue/compiler-dom@3.5.1': dependencies: - '@vue/compiler-core': 3.4.38 - '@vue/shared': 3.4.38 + '@vue/compiler-core': 3.5.1 + '@vue/shared': 3.5.1 - '@vue/compiler-sfc@3.4.38': + '@vue/compiler-sfc@3.5.1': dependencies: - '@babel/parser': 7.25.4 - '@vue/compiler-core': 3.4.38 - '@vue/compiler-dom': 3.4.38 - '@vue/compiler-ssr': 3.4.38 - '@vue/shared': 3.4.38 + '@babel/parser': 7.25.6 + '@vue/compiler-core': 3.5.1 + '@vue/compiler-dom': 3.5.1 + '@vue/compiler-ssr': 3.5.1 + '@vue/shared': 3.5.1 estree-walker: 2.0.2 magic-string: 0.30.11 - postcss: 8.4.41 + postcss: 8.4.45 source-map-js: 1.2.0 - '@vue/compiler-ssr@3.4.38': + '@vue/compiler-ssr@3.5.1': dependencies: - '@vue/compiler-dom': 3.4.38 - '@vue/shared': 3.4.38 + '@vue/compiler-dom': 3.5.1 + '@vue/shared': 3.5.1 - '@vue/reactivity@3.4.38': + '@vue/reactivity@3.5.1': dependencies: - '@vue/shared': 3.4.38 + '@vue/shared': 3.5.1 - '@vue/runtime-core@3.4.38': + '@vue/runtime-core@3.5.1': dependencies: - '@vue/reactivity': 3.4.38 - '@vue/shared': 3.4.38 + '@vue/reactivity': 3.5.1 + '@vue/shared': 3.5.1 - '@vue/runtime-dom@3.4.38': + '@vue/runtime-dom@3.5.1': dependencies: - '@vue/reactivity': 3.4.38 - '@vue/runtime-core': 3.4.38 - '@vue/shared': 3.4.38 + '@vue/reactivity': 3.5.1 + '@vue/runtime-core': 3.5.1 + '@vue/shared': 3.5.1 csstype: 3.1.3 - '@vue/server-renderer@3.4.38(vue@3.4.38(typescript@5.5.4))': + '@vue/server-renderer@3.5.1(vue@3.5.1(typescript@5.5.4))': dependencies: - '@vue/compiler-ssr': 3.4.38 - '@vue/shared': 3.4.38 - vue: 3.4.38(typescript@5.5.4) + '@vue/compiler-ssr': 3.5.1 + '@vue/shared': 3.5.1 + vue: 3.5.1(typescript@5.5.4) - '@vue/shared@3.4.38': {} + '@vue/shared@3.5.1': {} acorn@8.12.1: {} - ai@3.3.19(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.4.38(typescript@5.5.4))(zod@3.23.8): + ai@3.3.26(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.1(typescript@5.5.4))(zod@3.23.8): dependencies: '@ai-sdk/provider': 0.0.22 '@ai-sdk/provider-utils': 1.0.17(zod@3.23.8) - '@ai-sdk/react': 0.0.52(react@18.3.1)(zod@3.23.8) - '@ai-sdk/solid': 0.0.42(zod@3.23.8) - '@ai-sdk/svelte': 0.0.44(svelte@4.2.19)(zod@3.23.8) - '@ai-sdk/ui-utils': 0.0.39(zod@3.23.8) - '@ai-sdk/vue': 0.0.44(vue@3.4.38(typescript@5.5.4))(zod@3.23.8) + '@ai-sdk/react': 0.0.54(react@18.3.1)(zod@3.23.8) + '@ai-sdk/solid': 0.0.43(zod@3.23.8) + '@ai-sdk/svelte': 0.0.45(svelte@4.2.19)(zod@3.23.8) + '@ai-sdk/ui-utils': 0.0.40(zod@3.23.8) + '@ai-sdk/vue': 0.0.45(vue@3.5.1(typescript@5.5.4))(zod@3.23.8) '@opentelemetry/api': 1.9.0 eventsource-parser: 1.1.2 json-schema: 0.4.0 @@ -1744,7 +1751,7 @@ snapshots: devlop: 1.1.0 hastscript: 8.0.0 property-information: 6.5.0 - vfile: 6.0.2 + vfile: 6.0.3 vfile-location: 5.0.3 web-namespaces: 2.0.1 @@ -1764,7 +1771,7 @@ snapshots: parse5: 7.1.2 unist-util-position: 5.0.0 unist-util-visit: 5.0.0 - vfile: 6.0.2 + vfile: 6.0.3 web-namespaces: 2.0.1 zwitch: 2.0.4 @@ -1872,7 +1879,7 @@ snapshots: trim-lines: 3.0.1 unist-util-position: 5.0.0 unist-util-visit: 5.0.0 - vfile: 6.0.2 + vfile: 6.0.3 mdast-util-to-string@4.0.0: dependencies: @@ -2086,12 +2093,12 @@ snapshots: estree-walker: 3.0.3 is-reference: 3.0.2 - picocolors@1.0.1: {} + picocolors@1.1.0: {} - postcss@8.4.41: + postcss@8.4.45: dependencies: nanoid: 3.3.7 - picocolors: 1.0.1 + picocolors: 1.1.0 source-map-js: 1.2.0 prettier@3.3.3: {} @@ -2114,7 +2121,7 @@ snapshots: dependencies: '@types/hast': 3.0.4 hast-util-raw: 9.0.4 - vfile: 6.0.2 + vfile: 6.0.3 remark-parse@11.0.0: dependencies: @@ -2131,7 +2138,7 @@ snapshots: '@types/mdast': 4.0.4 mdast-util-to-hast: 13.2.0 unified: 11.0.5 - vfile: 6.0.2 + vfile: 6.0.3 retry@0.13.1: {} @@ -2214,9 +2221,9 @@ snapshots: swrev@4.0.0: {} - swrv@1.0.4(vue@3.4.38(typescript@5.5.4)): + swrv@1.0.4(vue@3.5.1(typescript@5.5.4)): dependencies: - vue: 3.4.38(typescript@5.5.4) + vue: 3.5.1(typescript@5.5.4) to-fast-properties@2.0.0: {} @@ -2242,7 +2249,7 @@ snapshots: extend: 3.0.2 is-plain-obj: 4.1.0 trough: 2.2.0 - vfile: 6.0.2 + vfile: 6.0.3 unist-util-is@6.0.0: dependencies: @@ -2278,26 +2285,25 @@ snapshots: vfile-location@5.0.3: dependencies: '@types/unist': 3.0.3 - vfile: 6.0.2 + vfile: 6.0.3 vfile-message@4.0.2: dependencies: '@types/unist': 3.0.3 unist-util-stringify-position: 4.0.0 - vfile@6.0.2: + vfile@6.0.3: dependencies: '@types/unist': 3.0.3 - unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 - vue@3.4.38(typescript@5.5.4): + vue@3.5.1(typescript@5.5.4): dependencies: - '@vue/compiler-dom': 3.4.38 - '@vue/compiler-sfc': 3.4.38 - '@vue/runtime-dom': 3.4.38 - '@vue/server-renderer': 3.4.38(vue@3.4.38(typescript@5.5.4)) - '@vue/shared': 3.4.38 + '@vue/compiler-dom': 3.5.1 + '@vue/compiler-sfc': 3.5.1 + '@vue/runtime-dom': 3.5.1 + '@vue/server-renderer': 3.5.1(vue@3.5.1(typescript@5.5.4)) + '@vue/shared': 3.5.1 optionalDependencies: typescript: 5.5.4 From 2aa2bca795880792b8f86a81a0db89a0a3615f1a Mon Sep 17 00:00:00 2001 From: "Sebastian \"Sebbie\" Silbermann" Date: Thu, 5 Sep 2024 00:13:08 +0200 Subject: [PATCH 018/119] dev-overlay: Implement CopyButton without useActionState or async transitions (#69494) The implementation for React 18 needs to manually track the pending state. We'll only use the old implementation if React 18 is installed --- .../internal/components/copy-button/index.tsx | 147 ++++++++++++++---- 1 file changed, 116 insertions(+), 31 deletions(-) diff --git a/packages/next/src/client/components/react-dev-overlay/internal/components/copy-button/index.tsx b/packages/next/src/client/components/react-dev-overlay/internal/components/copy-button/index.tsx index 2cde48763abad..23ccc16f3647f 100644 --- a/packages/next/src/client/components/react-dev-overlay/internal/components/copy-button/index.tsx +++ b/packages/next/src/client/components/react-dev-overlay/internal/components/copy-button/index.tsx @@ -1,28 +1,86 @@ import * as React from 'react' -type CopyState = - | { - state: 'initial' +function useCopyLegacy(content: string) { + type CopyState = + | { + state: 'initial' + } + | { + state: 'error' + error: unknown + } + | { state: 'success' } + | { state: 'pending' } + + // This would be simpler with useActionState but we need to support React 18 here. + // React 18 also doesn't have async transitions. + const [copyState, dispatch] = React.useReducer( + ( + state: CopyState, + action: + | { type: 'reset' | 'copied' | 'copying' } + | { type: 'error'; error: unknown } + ): CopyState => { + if (action.type === 'reset') { + return { state: 'initial' } + } + if (action.type === 'copied') { + return { state: 'success' } + } + if (action.type === 'copying') { + return { state: 'pending' } + } + if (action.type === 'error') { + return { state: 'error', error: action.error } + } + return state + }, + { + state: 'initial', } - | { - state: 'error' - error: unknown + ) + function copy() { + if (isPending) { + return } - | { state: 'success' } -export function CopyButton({ - actionLabel, - successLabel, - content, - icon, - disabled, - ...props -}: React.HTMLProps & { - actionLabel: string - successLabel: string - content: string - icon?: React.ReactNode -}) { + if (!navigator.clipboard) { + dispatch({ + type: 'error', + error: new Error('Copy to clipboard is not supported in this browser'), + }) + } else { + dispatch({ type: 'copying' }) + navigator.clipboard.writeText(content).then( + () => { + dispatch({ type: 'copied' }) + }, + (error) => { + dispatch({ type: 'error', error }) + } + ) + } + } + const reset = React.useCallback(() => { + dispatch({ type: 'reset' }) + }, []) + + const isPending = copyState.state === 'pending' + + return [copyState, copy, reset, isPending] as const +} + +function useCopyModern(content: string) { + type CopyState = + | { + state: 'initial' + } + | { + state: 'error' + error: unknown + } + | { state: 'success' } + const [copyState, dispatch, isPending] = React.useActionState( ( state: CopyState, @@ -56,6 +114,41 @@ export function CopyButton({ } ) + function copy() { + React.startTransition(() => { + dispatch('copy') + }) + } + + const reset = React.useCallback(() => { + dispatch('reset') + }, [ + // TODO: `dispatch` from `useActionState` is not reactive. + // Remove from dependencies once https://github.com/facebook/react/pull/29665 is released. + dispatch, + ]) + + return [copyState, copy, reset, isPending] as const +} + +const useCopy = + typeof React.useActionState === 'function' ? useCopyModern : useCopyLegacy + +export function CopyButton({ + actionLabel, + successLabel, + content, + icon, + disabled, + ...props +}: React.HTMLProps & { + actionLabel: string + successLabel: string + content: string + icon?: React.ReactNode +}) { + const [copyState, copy, reset, isPending] = useCopy(content) + const error = copyState.state === 'error' ? copyState.error : null React.useEffect(() => { if (error !== null) { @@ -66,20 +159,14 @@ export function CopyButton({ React.useEffect(() => { if (copyState.state === 'success') { const timeoutId = setTimeout(() => { - dispatch('reset') + reset() }, 2000) return () => { clearTimeout(timeoutId) } } - }, [ - isPending, - copyState.state, - // TODO: `dispatch` from `useActionState` is not reactive. - // Remove from dependencies once https://github.com/facebook/react/pull/29665 is released. - dispatch, - ]) + }, [isPending, copyState.state, reset]) const isDisabled = isPending || disabled const label = copyState.state === 'success' ? successLabel : actionLabel @@ -98,9 +185,7 @@ export function CopyButton({ className={`nextjs-data-runtime-error-copy-button nextjs-data-runtime-error-copy-button--${copyState.state}`} onClick={() => { if (!isDisabled) { - React.startTransition(() => { - dispatch('copy') - }) + copy() } }} > From b3e434ed141b8b3945e1894f598ea096d88e9fae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Donny/=EA=B0=95=EB=8F=99=EC=9C=A4?= Date: Thu, 5 Sep 2024 07:21:22 +0900 Subject: [PATCH 019/119] fix: Allow subset of node.js APIs for edge (#69675) ### What? Allow using modules listed in https://developers.cloudflare.com/workers/runtime-apis/nodejs/ in edge runtime. ### Why? It's supported. ### How? --- .../src/transforms/warn_for_edge_runtime.rs | 36 +++++++++---------- .../nodejs-import-allowed/input.js | 11 ++++++ .../nodejs-import-allowed/output.js | 11 ++++++ .../test/module-imports.test.js | 2 +- 4 files changed, 41 insertions(+), 19 deletions(-) create mode 100644 crates/next-custom-transforms/tests/fixture/edge-assert/nodejs-import-allowed/input.js create mode 100644 crates/next-custom-transforms/tests/fixture/edge-assert/nodejs-import-allowed/output.js diff --git a/crates/next-custom-transforms/src/transforms/warn_for_edge_runtime.rs b/crates/next-custom-transforms/src/transforms/warn_for_edge_runtime.rs index 5626f1de2f27c..9c5e7dc41ac10 100644 --- a/crates/next-custom-transforms/src/transforms/warn_for_edge_runtime.rs +++ b/crates/next-custom-transforms/src/transforms/warn_for_edge_runtime.rs @@ -76,21 +76,21 @@ const NODEJS_MODULE_NAMES: &[&str] = &[ "_stream_writable", "_tls_common", "_tls_wrap", - "assert", - "assert/strict", - "async_hooks", - "buffer", + // "assert", + // "assert/strict", + // "async_hooks", + // "buffer", "child_process", "cluster", "console", "constants", - "crypto", + // "crypto", "dgram", - "diagnostics_channel", + // "diagnostics_channel", "dns", "dns/promises", "domain", - "events", + // "events", "fs", "fs/promises", "http", @@ -100,21 +100,21 @@ const NODEJS_MODULE_NAMES: &[&str] = &[ "module", "net", "os", - "path", - "path/posix", - "path/win32", + // "path", + // "path/posix", + // "path/win32", "perf_hooks", - "process", + // "process", "punycode", "querystring", "readline", "readline/promises", "repl", - "stream", - "stream/consumers", - "stream/promises", - "stream/web", - "string_decoder", + // "stream", + // "stream/consumers", + // "stream/promises", + // "stream/web", + // "string_decoder", "sys", "timers", "timers/promises", @@ -122,8 +122,8 @@ const NODEJS_MODULE_NAMES: &[&str] = &[ "trace_events", "tty", "url", - "util", - "util/types", + // "util", + // "util/types", "v8", "vm", "wasi", diff --git a/crates/next-custom-transforms/tests/fixture/edge-assert/nodejs-import-allowed/input.js b/crates/next-custom-transforms/tests/fixture/edge-assert/nodejs-import-allowed/input.js new file mode 100644 index 0000000000000..fc7c1ddb90533 --- /dev/null +++ b/crates/next-custom-transforms/tests/fixture/edge-assert/nodejs-import-allowed/input.js @@ -0,0 +1,11 @@ +// Allowed because a subset of Node.js APIs are allowed. +import 'node:util' +import 'node:stream' +import 'node:process' +import 'node:path' +import 'node:events' +import 'node:diagnostics_channel' +import 'node:crypto' +import 'node:buffer' +import 'node:async_hooks' +import 'node:assert' diff --git a/crates/next-custom-transforms/tests/fixture/edge-assert/nodejs-import-allowed/output.js b/crates/next-custom-transforms/tests/fixture/edge-assert/nodejs-import-allowed/output.js new file mode 100644 index 0000000000000..a653f9dfdd581 --- /dev/null +++ b/crates/next-custom-transforms/tests/fixture/edge-assert/nodejs-import-allowed/output.js @@ -0,0 +1,11 @@ +// Allowed because a subset of Node.js APIs are allowed. +import 'node:util'; +import 'node:stream'; +import 'node:process'; +import 'node:path'; +import 'node:events'; +import 'node:diagnostics_channel'; +import 'node:crypto'; +import 'node:buffer'; +import 'node:async_hooks'; +import 'node:assert'; diff --git a/test/integration/edge-runtime-module-errors/test/module-imports.test.js b/test/integration/edge-runtime-module-errors/test/module-imports.test.js index 655460382687a..1c3689b319086 100644 --- a/test/integration/edge-runtime-module-errors/test/module-imports.test.js +++ b/test/integration/edge-runtime-module-errors/test/module-imports.test.js @@ -78,7 +78,7 @@ describe('Edge runtime code with imports', () => { }, }, ])('$title statically importing node.js module', ({ init, url }) => { - const moduleName = 'path' + const moduleName = 'fs' const importStatement = `import { basename } from "${moduleName}"` beforeEach(() => init(importStatement)) From caa72ff742defa1ac620f8106490c91997270a37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Donny/=EA=B0=95=EB=8F=99=EC=9C=A4?= Date: Thu, 5 Sep 2024 08:07:06 +0900 Subject: [PATCH 020/119] Update `swc_core` to `v0.103.1` (#69605) ### What? Update swc_core ### Why? To apply https://github.com/swc-project/swc/pull/9524 --- Cargo.lock | 245 +++++++++++------- Cargo.toml | 14 +- crates/next-core/Cargo.toml | 4 +- crates/next-custom-transforms/Cargo.toml | 4 +- package.json | 2 +- packages/next/package.json | 2 +- .../compiled/mini-css-extract-plugin/cjs.js | 2 +- .../hmr/hotModuleReplacement.js | 2 +- .../compiled/mini-css-extract-plugin/index.js | 2 +- .../mini-css-extract-plugin/loader.js | 2 +- packages/next/src/compiled/sass-loader/cjs.js | 2 +- packages/next/src/compiled/webpack/bundle5.js | 2 +- pnpm-lock.yaml | 122 ++++----- 13 files changed, 228 insertions(+), 177 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4dcafb6f11de0..103add441231b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -744,9 +744,9 @@ dependencies = [ [[package]] name = "binding_macros" -version = "0.77.0" +version = "0.78.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56398f78553adfb2efd3cedf9a19d379afccab2790a88fedf7fee7608d683e12" +checksum = "756c55bc0b00cbbc506502836f6721b5a30684b47a15cd1625d1bb243a5eaf96" dependencies = [ "anyhow", "console_error_panic_hook", @@ -1803,12 +1803,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.1" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0558d22a7b463ed0241e993f76f09f30b126687447751a8638587b864e4b3944" +checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" dependencies = [ - "darling_core 0.20.1", - "darling_macro 0.20.1", + "darling_core 0.20.8", + "darling_macro 0.20.8", ] [[package]] @@ -1827,14 +1827,15 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.1" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab8bfa2e259f8ee1ce5e97824a3c55ec4404a0d772ca7fa96bf19f0752a046eb" +checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", + "strsim 0.10.0", "syn 2.0.58", ] @@ -1851,11 +1852,11 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.1" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a" +checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" dependencies = [ - "darling_core 0.20.1", + "darling_core 0.20.8", "quote", "syn 2.0.58", ] @@ -1925,7 +1926,16 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d67778784b508018359cbc8696edb3db78160bab2c2a28ba7f56ef6932997f8" dependencies = [ - "derive_builder_macro", + "derive_builder_macro 0.12.0", +] + +[[package]] +name = "derive_builder" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd33f37ee6a119146a1781d3356a7c26028f83d779b2e04ecd45fdc75c76877b" +dependencies = [ + "derive_builder_macro 0.20.1", ] [[package]] @@ -1940,16 +1950,38 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "derive_builder_core" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7431fa049613920234f22c47fdc33e6cf3ee83067091ea4277a3f8c4587aae38" +dependencies = [ + "darling 0.20.8", + "proc-macro2", + "quote", + "syn 2.0.58", +] + [[package]] name = "derive_builder_macro" version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebcda35c7a396850a55ffeac740804b40ffec779b98fffbb1738f4033f0ee79e" dependencies = [ - "derive_builder_core", + "derive_builder_core 0.12.0", "syn 1.0.109", ] +[[package]] +name = "derive_builder_macro" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4abae7035bf79b9877b779505d8cf3749285b80c43941eda66604841889451dc" +dependencies = [ + "derive_builder_core 0.20.1", + "syn 2.0.58", +] + [[package]] name = "dhat" version = "0.3.2" @@ -2119,7 +2151,7 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e08b6c6ab82d70f08844964ba10c7babb716de2ecaeab9be5717918a5177d3af" dependencies = [ - "darling 0.20.1", + "darling 0.20.8", "proc-macro2", "quote", "syn 2.0.58", @@ -3747,9 +3779,9 @@ dependencies = [ [[package]] name = "mdxjs" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7020bbd1c63e66cdbaca4937f534ff3a556a85fa2a42bf5d8df009f4281b6ac" +checksum = "ec5cf50756dfb3eaf8f72979c94a3c2e281f3ba6e35280fa4b73eaac2cd23b6f" dependencies = [ "markdown", "serde", @@ -3888,9 +3920,9 @@ dependencies = [ [[package]] name = "modularize_imports" -version = "0.68.23" +version = "0.68.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d0db90b1fc06bf6046461cace261ce0eeb88ee3d8ded01744919238c6c7e5c3" +checksum = "219262dc484b7aef289a44ff30bf99f5990e2bec78f318d6e76bc32ea91b74ab" dependencies = [ "convert_case", "handlebars", @@ -5317,9 +5349,9 @@ dependencies = [ [[package]] name = "react_remove_properties" -version = "0.24.19" +version = "0.24.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f65e5e544770d737a12ca3f69586d094b3fb5b1449b6389d3384b834155fbc93" +checksum = "189a7950fd2e52383edfe712c5285aa4b2970debe83b24a461306da2f0c310e9" dependencies = [ "serde", "swc_atoms", @@ -5434,9 +5466,9 @@ checksum = "c707298afce11da2efef2f600116fa93ffa7a032b5d7b628aa17711ec81383ca" [[package]] name = "remove_console" -version = "0.25.19" +version = "0.25.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc5bf07289c718da92ace042fab2af1c8e3dddf1389c556002806ad55db04c44" +checksum = "93907dba3314cc751c1a189dbf494176642afd478471bade04b31b9c97bace8f" dependencies = [ "serde", "swc_atoms", @@ -5697,9 +5729,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.14" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" [[package]] name = "rusty_pool" @@ -6396,9 +6428,9 @@ checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" [[package]] name = "styled_components" -version = "0.96.22" +version = "0.96.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2c06bb6cbd41d2a2d4002dd9f431e3b898c2725b61b4afb24f43b829a9ddaea" +checksum = "8dbced3b41cbf56b7a8fffe941a504b38c3ae2c183e926737dbab2bd73f223c0" dependencies = [ "Inflector", "once_cell", @@ -6414,9 +6446,9 @@ dependencies = [ [[package]] name = "styled_jsx" -version = "0.73.31" +version = "0.73.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c0d9def21fc1c30399d35d01c5ed0368ab1f872be99bf6a6f933cf9f438d3f0" +checksum = "7c5086faeb1ee982b0f2bebcbde73c8cfb009b1adafc7f9c6644d13fec77d407" dependencies = [ "anyhow", "lightningcss", @@ -6448,9 +6480,9 @@ checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" [[package]] name = "swc" -version = "0.285.0" +version = "0.286.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38ccac8796c84e723cc9e949dfa7126e1f1b06b36127b1e21ec5f8fc21bbbbc1" +checksum = "ea937e3c8e089531ee1c31d15d11c3111798e95eaf68a325efd2fceefc0d1535" dependencies = [ "anyhow", "base64 0.21.4", @@ -6541,9 +6573,9 @@ dependencies = [ [[package]] name = "swc_bundler" -version = "0.237.0" +version = "0.238.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c77c112c218a09635d99a45802a81b4f341d6c28c81076aa2c29ba3bcd9151a9" +checksum = "8bf5f02e367064a474cf4e47692ab7baf8e9ceca9ddfbb2805f0135b20061d76" dependencies = [ "anyhow", "crc", @@ -6620,9 +6652,9 @@ dependencies = [ [[package]] name = "swc_compiler_base" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feb87f8dc7be1a034d5c29bcc4be9d504ddfd2f8aa1a1338fc568e104e087d29" +checksum = "af379b9aba510f1e82f3294d41ab42b57fadbdc677313b534c75e23702d4f5ef" dependencies = [ "anyhow", "base64 0.21.4", @@ -6675,9 +6707,9 @@ dependencies = [ [[package]] name = "swc_core" -version = "0.102.0" +version = "0.103.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "556864a8b67ce72cb8c22d32c703b7e563552a5d0f707939793b8b9ad411a330" +checksum = "2b522497b5185baff8c02c0b5b40e7eb7f3e44bf8213b01b00d6816a09a5d35a" dependencies = [ "binding_macros", "swc", @@ -6713,7 +6745,7 @@ dependencies = [ "swc_plugin_proxy", "swc_plugin_runner", "testing", - "vergen 8.2.6", + "vergen 9.0.0", ] [[package]] @@ -6915,9 +6947,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_bugfixes" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75429b44cc479cbe018d5994eddae5ac7ab887ebefeb3596720921bc4cdff551" +checksum = "4e8f902d5111b5ab976256ef92f423454d739df76b8bd0bcf98bf5fc9782c7e8" dependencies = [ "swc_atoms", "swc_common", @@ -6945,9 +6977,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2015" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c988d9018d6abb22b0fcc2da6a624be2db7c56681b6180d1cb5faa2672fd8001" +checksum = "36f6b54cf040a9a07d272af4c77c59a06aacf5d9523db91bc17fc26d3385d905" dependencies = [ "arrayvec 0.7.4", "indexmap 2.2.6", @@ -6972,9 +7004,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2016" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b7a3e086151c70ff940531ddcd04c01351ae80aa4593fd2906255d18a836b4f" +checksum = "aa085dfb209a9c882acc3a3756f361acb16686dde157f27dfc83274e9d36f3c5" dependencies = [ "swc_atoms", "swc_common", @@ -6989,9 +7021,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2017" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3b74c89c9bd4fa532fba3d1ec47b129ec450b4143d3914118cd61b0e44d4a4b" +checksum = "74d1b2be58c297df26c45ee4f0f2927e724120c1b857bf1d4d6e92624900cd8e" dependencies = [ "serde", "swc_atoms", @@ -7007,9 +7039,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2018" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a40bf74a06c433eee502ea6347596d5766d77da8baf32653d14a6655df4e181a" +checksum = "7f0a377b323e2ca37fc846fb99a52ed9971c22a57f3d12127c28bdd465d9ed20" dependencies = [ "serde", "swc_atoms", @@ -7026,9 +7058,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2019" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10afb20890ffda37eefdfe06c3bb0d12e5ec8698667cb9e3689b74066b398845" +checksum = "ff664dbb0f7f7985621a1876550435b798948cdb04c4afce00b4fc0c612ba2ea" dependencies = [ "swc_atoms", "swc_common", @@ -7042,9 +7074,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2020" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0608c4814a362d5362bc536507d8c89b287521778e8b678fe4590bfa1843803a" +checksum = "838fecf793a16ed19f78b190fc74eb06a4d96c21d081b4c6427904ce6d041091" dependencies = [ "serde", "swc_atoms", @@ -7060,9 +7092,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2021" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f12ffb0f4282f4b333efa98c9653d181d89e1b5339d4be0d789189a246ef34b" +checksum = "658fba1c2d60b0ea04a7d492a192a2002294a3fde3825e6302d5fdc8f70837ec" dependencies = [ "swc_atoms", "swc_common", @@ -7076,9 +7108,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2022" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc16be9dd64e1b32569375b0b73ecc7dc74f9d848e8caaf2007896e2cf8d68a7" +checksum = "3e6774dc174fc96c6c64b8405d6290aa513a6b1a08f7f3f50104f7f621acc3ff" dependencies = [ "swc_atoms", "swc_common", @@ -7095,9 +7127,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es3" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e684ae87d26ad3012e588d0e268158cadee10ddc0cda261069f0f280a8b23ce7" +checksum = "f70a7f88bd33d29b64d597e1e0d80f305f91b914a8c1bd06ed25dd0221a12663" dependencies = [ "swc_common", "swc_ecma_ast", @@ -7124,9 +7156,9 @@ dependencies = [ [[package]] name = "swc_ecma_lints" -version = "0.100.0" +version = "0.101.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89907376ce67b56d8fbf79cca830a12cb41f93dccc306008c07d8eba8f6d388e" +checksum = "2bb459a91a6afc5053cc7ec1d675ca81588625468299d4683c85ad7ae3a160a3" dependencies = [ "auto_impl", "dashmap", @@ -7166,9 +7198,9 @@ dependencies = [ [[package]] name = "swc_ecma_minifier" -version = "0.204.0" +version = "0.205.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34d88917a66b8f457c5953d2ff2d7788259658c89578636b28e9ac6ae56bbfd9" +checksum = "ede5cd56c326fd1ace94ba2b7e897b74fea4174f695d3e11aa1d66ebae2c77bf" dependencies = [ "arrayvec 0.7.4", "indexmap 2.2.6", @@ -7224,9 +7256,9 @@ dependencies = [ [[package]] name = "swc_ecma_preset_env" -version = "0.217.0" +version = "0.218.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51992e6bb854ef2e6c7a1b9a14ed8d0e3c8f905d348f694759f9a97bfa6a425" +checksum = "a6d9f94d9991a2a889abffa0d1d3b11ed708790b6ba15ba60f13757e9cac58c3" dependencies = [ "anyhow", "dashmap", @@ -7279,9 +7311,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms" -version = "0.239.0" +version = "0.240.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82df2dd8048fe23f1df72acd52bfebf846b3d5a76e048eee32acf9af9bee6a98" +checksum = "66d4e6797fe278908709e6b87b501bf0c5a8d0ab6eb8ef236bfd5ac3839ced39" dependencies = [ "swc_atoms", "swc_common", @@ -7299,9 +7331,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_base" -version = "0.145.0" +version = "0.146.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65f21494e75d0bd8ef42010b47cabab9caaed8f2207570e809f6f4eb51a710d1" +checksum = "3b5a7c0a6c4cc7d0ba65549e7db52443bc0eb104563aeaae727ad87c176a1bbe" dependencies = [ "better_scoped_tls", "bitflags 2.5.0", @@ -7323,9 +7355,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_classes" -version = "0.134.0" +version = "0.135.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c3d884594385bea9405a2e1721151470d9a14d3ceec5dd773c0ca6894791601" +checksum = "4b44b5f142c13f060f3b1e759fcbfd2667beed580ab808e07a15752654ee78e6" dependencies = [ "swc_atoms", "swc_common", @@ -7337,9 +7369,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_compat" -version = "0.171.0" +version = "0.172.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f23da29c1279b6e0c1ac0df9d0f7fd6c955a141a9770e5a0a2d54292509bcf6" +checksum = "28dacfbdb1e7b8c984c4717dc48b7605e9d9d7a85c732a58a4bc17b9b63d7322" dependencies = [ "arrayvec 0.7.4", "indexmap 2.2.6", @@ -7386,9 +7418,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_module" -version = "0.190.0" +version = "0.191.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c4d0255362149854b923125e9910ce0a5405ce6d03fb325c5fdd8e9f13a0845" +checksum = "66a8bc46d821b459ed9593dfbdaf4b6cf760e62da9b1953560265bfd2d83f2b7" dependencies = [ "Inflector", "anyhow", @@ -7413,9 +7445,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_optimization" -version = "0.208.0" +version = "0.209.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98d8447ea20ef76958a8240feef95743702485a84331e6df5bdbe7e383c87838" +checksum = "ea84a268dcb68c19c8a47f610ca726c027ab1cebcd1f46182b4584039b72710d" dependencies = [ "dashmap", "indexmap 2.2.6", @@ -7438,9 +7470,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_proposal" -version = "0.179.0" +version = "0.180.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79938ff510fc647febd8c6c3ef4143d099fdad87a223680e632623d056dae2dd" +checksum = "f07c0b5dbaeabfd40067068d2967aa8b7333c10c563fa605ffe06cb1942f451f" dependencies = [ "either", "rustc-hash", @@ -7458,9 +7490,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_react" -version = "0.191.0" +version = "0.192.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76c76d8b9792ce51401d38da0fa62158d61f6d80d16d68fe5b03ce4bf5fba383" +checksum = "3b04782783439ffbceed4a58d00790603acf3bf99799dfb3a886c27e74ccfc96" dependencies = [ "base64 0.21.4", "dashmap", @@ -7484,9 +7516,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_testing" -version = "0.148.0" +version = "0.149.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "902e7dc5033ff3bdaef8961714328a4992a0089b23b16822c51ae6f4968ec682" +checksum = "8ea574b501787bb705d7ebf9e003c235375196449fe91360b799e289ffab7861" dependencies = [ "ansi_term", "anyhow", @@ -7510,9 +7542,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_typescript" -version = "0.198.0" +version = "0.199.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b9c58783c96c4f3b115d2d12720de26698e7863bcc8ea5369f3493a8a95568" +checksum = "6b5c5e04d12bd134b67632121ef1184aa2d22f528ef4dd2ecb1e920cb039819f" dependencies = [ "ryu-js", "serde", @@ -7527,9 +7559,9 @@ dependencies = [ [[package]] name = "swc_ecma_usage_analyzer" -version = "0.30.2" +version = "0.30.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f02b2980e641e242d231ea622278f2fac6a56c9a7a287cc8a732847177a41968" +checksum = "0c7689421c6a892642c5907fd608c56d982fdef0d6456f9dba3cc418c6ea7e07" dependencies = [ "indexmap 2.2.6", "rustc-hash", @@ -7544,9 +7576,9 @@ dependencies = [ [[package]] name = "swc_ecma_utils" -version = "0.134.2" +version = "0.134.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "029eec7dd485923a75b5a45befd04510288870250270292fc2c1b3a9e7547408" +checksum = "54f4e07d0d4987f8f27933549498acce5f89451ebe09b7d65f4d4ed4fc731200" dependencies = [ "indexmap 2.2.6", "num_cpus", @@ -7580,9 +7612,9 @@ dependencies = [ [[package]] name = "swc_emotion" -version = "0.72.21" +version = "0.72.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "671af772d9a19edcfb9c44a92a5673c1bf8f249d66b39e5cd3d9589e76d9c48b" +checksum = "b4f4ea59296e236f2e66efb2a004fb2aecb1894dc7affd2747f83fe77939dadc" dependencies = [ "base64 0.22.1", "byteorder", @@ -7714,9 +7746,9 @@ dependencies = [ [[package]] name = "swc_plugin_runner" -version = "0.112.1" +version = "0.112.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bc4fc5c0e960bf1f26359e972117260708591c016241b26c850b36ddeaaeff4" +checksum = "4144a890cd2d54068f2a3a3cd867c879c1d727dda38c6294184f29d788aeee7d" dependencies = [ "anyhow", "enumset", @@ -7730,6 +7762,7 @@ dependencies = [ "swc_plugin_proxy", "tokio", "tracing", + "vergen 9.0.0", "virtual-fs 0.11.4", "wasmer", "wasmer-cache", @@ -7739,9 +7772,9 @@ dependencies = [ [[package]] name = "swc_relay" -version = "0.44.24" +version = "0.44.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f70fa1cb35b6274901f776b044e5ebe9932440973cc6d375a1c3f0cff1efc9f5" +checksum = "bfae3f632283fb610ba656325e69a5e8ffa15c7f94536718f8fb302060c5d9ec" dependencies = [ "once_cell", "regex", @@ -9584,11 +9617,29 @@ dependencies = [ [[package]] name = "vergen" -version = "8.2.6" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1290fd64cc4e7d3c9b07d7f333ce0ce0007253e32870e632624835cc80b83939" +checksum = "c32e7318e93a9ac53693b6caccfb05ff22e04a44c7cf8a279051f24c09da286f" dependencies = [ "anyhow", + "cargo_metadata", + "derive_builder 0.20.1", + "getset", + "regex", + "rustversion", + "time", + "vergen-lib", +] + +[[package]] +name = "vergen-lib" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e06bee42361e43b60f363bad49d63798d0f42fb1768091812270eca00c784720" +dependencies = [ + "anyhow", + "derive_builder 0.20.1", + "getset", "rustversion", ] @@ -10011,7 +10062,7 @@ checksum = "4b4a632496950fde9ad821e195ef1a301440076f7c7d80de55239a140359bcbd" dependencies = [ "anyhow", "bytesize", - "derive_builder", + "derive_builder 0.12.0", "hex", "indexmap 2.2.6", "schemars", @@ -10033,7 +10084,7 @@ checksum = "d35974065bb02340d7b448f8a4c5a3156b524e3a6b29d59201b940cf4c2c384f" dependencies = [ "anyhow", "bytesize", - "derive_builder", + "derive_builder 0.12.0", "hex", "indexmap 2.2.6", "schemars", diff --git a/Cargo.toml b/Cargo.toml index e241672f71a48..e52c45b1c15b6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -85,7 +85,7 @@ turbopack-trace-utils = { path = "turbopack/crates/turbopack-trace-utils" } turbopack-wasm = { path = "turbopack/crates/turbopack-wasm" } # SWC crates -swc_core = { version = "0.102.0", features = [ +swc_core = { version = "0.103.1", features = [ "ecma_loader_lru", "ecma_loader_parking_lot", ] } @@ -94,12 +94,12 @@ testing = { version = "0.39.0" } # Keep consistent with preset_env_base through swc_core browserslist-rs = { version = "0.16.0" } miette = { version = "5.10.0", features = ["fancy"] } -mdxjs = "0.2.8" -modularize_imports = { version = "0.68.23" } -styled_components = { version = "0.96.22" } -styled_jsx = { version = "0.73.31" } -swc_emotion = { version = "0.72.21" } -swc_relay = { version = "0.44.24" } +mdxjs = "0.2.9" +modularize_imports = { version = "0.68.25" } +styled_components = { version = "0.96.23" } +styled_jsx = { version = "0.73.33" } +swc_emotion = { version = "0.72.22" } +swc_relay = { version = "0.44.25" } # General Deps diff --git a/crates/next-core/Cargo.toml b/crates/next-core/Cargo.toml index 26512d244fe87..72e60d6572ab0 100644 --- a/crates/next-core/Cargo.toml +++ b/crates/next-core/Cargo.toml @@ -32,8 +32,8 @@ lazy_static = { workspace = true } thiserror = { workspace = true } tracing = { workspace = true } rustc-hash = { workspace = true } -react_remove_properties = "0.24.19" -remove_console = "0.25.19" +react_remove_properties = "0.24.20" +remove_console = "0.25.20" auto-hash-map = { workspace = true } diff --git a/crates/next-custom-transforms/Cargo.toml b/crates/next-custom-transforms/Cargo.toml index a30ada3d80e2f..5338a7ce473c3 100644 --- a/crates/next-custom-transforms/Cargo.toml +++ b/crates/next-custom-transforms/Cargo.toml @@ -56,8 +56,8 @@ swc_emotion = { workspace = true } swc_relay = { workspace = true } turbopack-ecmascript-plugins = { workspace = true, optional = true } -react_remove_properties = "0.24.19" -remove_console = "0.25.19" +react_remove_properties = "0.24.20" +remove_console = "0.25.20" preset_env_base = "0.5.1" [dev-dependencies] diff --git a/package.json b/package.json index 667f1c41d2a7f..1402a0e080b8e 100644 --- a/package.json +++ b/package.json @@ -99,7 +99,7 @@ "@svgr/webpack": "5.5.0", "@swc/cli": "0.1.55", "@swc/core": "1.6.13", - "@swc/helpers": "0.5.12", + "@swc/helpers": "0.5.13", "@swc/types": "0.1.7", "@testing-library/jest-dom": "6.1.2", "@testing-library/react": "^15.0.5", diff --git a/packages/next/package.json b/packages/next/package.json index f80ab9153d12b..ce9b357a6a9cd 100644 --- a/packages/next/package.json +++ b/packages/next/package.json @@ -97,7 +97,7 @@ "dependencies": { "@next/env": "15.0.0-canary.140", "@swc/counter": "0.1.3", - "@swc/helpers": "0.5.12", + "@swc/helpers": "0.5.13", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001579", "graceful-fs": "^4.2.11", diff --git a/packages/next/src/compiled/mini-css-extract-plugin/cjs.js b/packages/next/src/compiled/mini-css-extract-plugin/cjs.js index 2850a6f70651a..5d3961891d32a 100644 --- a/packages/next/src/compiled/mini-css-extract-plugin/cjs.js +++ b/packages/next/src/compiled/mini-css-extract-plugin/cjs.js @@ -1 +1 @@ -(()=>{"use strict";var e={992:(e,r,_)=>{e.exports=_(717)["default"]},717:e=>{e.exports=require("./index.js")}};var r={};function __nccwpck_require__(_){var t=r[_];if(t!==undefined){return t.exports}var a=r[_]={exports:{}};var i=true;try{e[_](a,a.exports,__nccwpck_require__);i=false}finally{if(i)delete r[_]}return a.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var _=__nccwpck_require__(992);module.exports=_})(); \ No newline at end of file +(()=>{"use strict";var e={261:(e,r,_)=>{e.exports=_(717)["default"]},717:e=>{e.exports=require("./index.js")}};var r={};function __nccwpck_require__(_){var t=r[_];if(t!==undefined){return t.exports}var a=r[_]={exports:{}};var i=true;try{e[_](a,a.exports,__nccwpck_require__);i=false}finally{if(i)delete r[_]}return a.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var _=__nccwpck_require__(261);module.exports=_})(); \ No newline at end of file diff --git a/packages/next/src/compiled/mini-css-extract-plugin/hmr/hotModuleReplacement.js b/packages/next/src/compiled/mini-css-extract-plugin/hmr/hotModuleReplacement.js index 90b5f34c41477..0a81ff687ea56 100644 --- a/packages/next/src/compiled/mini-css-extract-plugin/hmr/hotModuleReplacement.js +++ b/packages/next/src/compiled/mini-css-extract-plugin/hmr/hotModuleReplacement.js @@ -1 +1 @@ -(()=>{"use strict";var e={340:(e,r,t)=>{var n=t(834);var i=Object.create(null);var a=typeof document==="undefined";var o=Array.prototype.forEach;function debounce(e,r){var t=0;return function(){var n=this;var i=arguments;var a=function functionCall(){return e.apply(n,i)};clearTimeout(t);t=setTimeout(a,r)}}function noop(){}function getCurrentScriptUrl(e){var r=i[e];if(!r){if(document.currentScript){r=document.currentScript.src}else{var t=document.getElementsByTagName("script");var a=t[t.length-1];if(a){r=a.src}}i[e]=r}return function(e){if(!r){return null}var t=r.split(/([^\\/]+)\.js$/);var i=t&&t[1];if(!i){return[r.replace(".js",".css")]}if(!e){return[r.replace(".js",".css")]}return e.split(",").map((function(e){var t=new RegExp("".concat(i,"\\.js$"),"g");return n(r.replace(t,"".concat(e.replace(/{fileName}/g,i),".css")))}))}}function updateCss(e,r){if(!r){if(!e.href){return}r=e.href.split("?")[0]}if(!isUrlRequest(r)){return}if(e.isLoaded===false){return}if(!r||!(r.indexOf(".css")>-1)){return}e.visited=true;var t=e.cloneNode();t.isLoaded=false;t.addEventListener("load",(function(){if(t.isLoaded){return}t.isLoaded=true;e.parentNode.removeChild(e)}));t.addEventListener("error",(function(){if(t.isLoaded){return}t.isLoaded=true;e.parentNode.removeChild(e)}));t.href="".concat(r,"?").concat(Date.now());if(e.nextSibling){e.parentNode.insertBefore(t,e.nextSibling)}else{e.parentNode.appendChild(t)}}function getReloadUrl(e,r){var t;e=n(e,{stripWWW:false});r.some((function(n){if(e.indexOf(r)>-1){t=n}}));return t}function reloadStyle(e){if(!e){return false}var r=document.querySelectorAll("link");var t=false;o.call(r,(function(r){if(!r.href){return}var n=getReloadUrl(r.href,e);if(!isUrlRequest(n)){return}if(r.visited===true){return}if(n){updateCss(r,n);t=true}}));return t}function reloadAll(){var e=document.querySelectorAll("link");o.call(e,(function(e){if(e.visited===true){return}updateCss(e)}))}function isUrlRequest(e){if(!/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(e)){return false}return true}e.exports=function(e,r){if(a){console.log("no window.document found, will not HMR CSS");return noop}var t=getCurrentScriptUrl(e);function update(){var e=t(r.filename);var n=reloadStyle(e);if(r.locals){console.log("[HMR] Detected local css modules. Reload all css");reloadAll();return}if(n){console.log("[HMR] css reload %s",e.join(" "))}else{console.log("[HMR] Reload all css");reloadAll()}}return debounce(update,50)}},834:e=>{function normalizeUrl(e){return e.reduce((function(e,r){switch(r){case"..":e.pop();break;case".":break;default:e.push(r)}return e}),[]).join("/")}e.exports=function(e){e=e.trim();if(/^data:/i.test(e)){return e}var r=e.indexOf("//")!==-1?e.split("//")[0]+"//":"";var t=e.replace(new RegExp(r,"i"),"").split("/");var n=t[0].toLowerCase().replace(/\.$/,"");t[0]="";var i=normalizeUrl(t);return r+n+i}}};var r={};function __nccwpck_require__(t){var n=r[t];if(n!==undefined){return n.exports}var i=r[t]={exports:{}};var a=true;try{e[t](i,i.exports,__nccwpck_require__);a=false}finally{if(a)delete r[t]}return i.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var t=__nccwpck_require__(340);module.exports=t})(); \ No newline at end of file +(()=>{"use strict";var e={686:(e,r,t)=>{var n=t(687);var i=Object.create(null);var a=typeof document==="undefined";var o=Array.prototype.forEach;function debounce(e,r){var t=0;return function(){var n=this;var i=arguments;var a=function functionCall(){return e.apply(n,i)};clearTimeout(t);t=setTimeout(a,r)}}function noop(){}function getCurrentScriptUrl(e){var r=i[e];if(!r){if(document.currentScript){r=document.currentScript.src}else{var t=document.getElementsByTagName("script");var a=t[t.length-1];if(a){r=a.src}}i[e]=r}return function(e){if(!r){return null}var t=r.split(/([^\\/]+)\.js$/);var i=t&&t[1];if(!i){return[r.replace(".js",".css")]}if(!e){return[r.replace(".js",".css")]}return e.split(",").map((function(e){var t=new RegExp("".concat(i,"\\.js$"),"g");return n(r.replace(t,"".concat(e.replace(/{fileName}/g,i),".css")))}))}}function updateCss(e,r){if(!r){if(!e.href){return}r=e.href.split("?")[0]}if(!isUrlRequest(r)){return}if(e.isLoaded===false){return}if(!r||!(r.indexOf(".css")>-1)){return}e.visited=true;var t=e.cloneNode();t.isLoaded=false;t.addEventListener("load",(function(){if(t.isLoaded){return}t.isLoaded=true;e.parentNode.removeChild(e)}));t.addEventListener("error",(function(){if(t.isLoaded){return}t.isLoaded=true;e.parentNode.removeChild(e)}));t.href="".concat(r,"?").concat(Date.now());if(e.nextSibling){e.parentNode.insertBefore(t,e.nextSibling)}else{e.parentNode.appendChild(t)}}function getReloadUrl(e,r){var t;e=n(e,{stripWWW:false});r.some((function(n){if(e.indexOf(r)>-1){t=n}}));return t}function reloadStyle(e){if(!e){return false}var r=document.querySelectorAll("link");var t=false;o.call(r,(function(r){if(!r.href){return}var n=getReloadUrl(r.href,e);if(!isUrlRequest(n)){return}if(r.visited===true){return}if(n){updateCss(r,n);t=true}}));return t}function reloadAll(){var e=document.querySelectorAll("link");o.call(e,(function(e){if(e.visited===true){return}updateCss(e)}))}function isUrlRequest(e){if(!/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(e)){return false}return true}e.exports=function(e,r){if(a){console.log("no window.document found, will not HMR CSS");return noop}var t=getCurrentScriptUrl(e);function update(){var e=t(r.filename);var n=reloadStyle(e);if(r.locals){console.log("[HMR] Detected local css modules. Reload all css");reloadAll();return}if(n){console.log("[HMR] css reload %s",e.join(" "))}else{console.log("[HMR] Reload all css");reloadAll()}}return debounce(update,50)}},687:e=>{function normalizeUrl(e){return e.reduce((function(e,r){switch(r){case"..":e.pop();break;case".":break;default:e.push(r)}return e}),[]).join("/")}e.exports=function(e){e=e.trim();if(/^data:/i.test(e)){return e}var r=e.indexOf("//")!==-1?e.split("//")[0]+"//":"";var t=e.replace(new RegExp(r,"i"),"").split("/");var n=t[0].toLowerCase().replace(/\.$/,"");t[0]="";var i=normalizeUrl(t);return r+n+i}}};var r={};function __nccwpck_require__(t){var n=r[t];if(n!==undefined){return n.exports}var i=r[t]={exports:{}};var a=true;try{e[t](i,i.exports,__nccwpck_require__);a=false}finally{if(a)delete r[t]}return i.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var t=__nccwpck_require__(686);module.exports=t})(); \ No newline at end of file diff --git a/packages/next/src/compiled/mini-css-extract-plugin/index.js b/packages/next/src/compiled/mini-css-extract-plugin/index.js index 0e6a318db8132..a55a49362a121 100644 --- a/packages/next/src/compiled/mini-css-extract-plugin/index.js +++ b/packages/next/src/compiled/mini-css-extract-plugin/index.js @@ -1 +1 @@ -(()=>{"use strict";var e={748:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:true});t.SINGLE_DOT_PATH_SEGMENT=t.MODULE_TYPE=t.AUTO_PUBLIC_PATH=t.ABSOLUTE_PUBLIC_PATH=void 0;t.compareModulesByIdentifier=compareModulesByIdentifier;t.evalModuleCode=evalModuleCode;t.findModuleById=findModuleById;t.getUndoPath=getUndoPath;t.stringifyRequest=stringifyRequest;t.trueFn=trueFn;var s=_interopRequireDefault(n(188));var i=_interopRequireDefault(n(17));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function trueFn(){return true}function findModuleById(e,t){const{modules:n,chunkGraph:s}=e;for(const e of n){const n=typeof s!=="undefined"?s.getModuleId(e):e.id;if(n===t){return e}}return null}function evalModuleCode(e,t,n){const i=new s.default(n,e);i.paths=s.default._nodeModulePaths(e.context);i.filename=n;i._compile(t,n);return i.exports}function compareIds(e,t){if(typeof e!==typeof t){return typeof et){return 1}return 0}function compareModulesByIdentifier(e,t){return compareIds(e.identifier(),t.identifier())}const r="css/mini-extract";t.MODULE_TYPE=r;const o="__mini_css_extract_plugin_public_path_auto__";t.AUTO_PUBLIC_PATH=o;const a="webpack:///mini-css-extract-plugin/";t.ABSOLUTE_PUBLIC_PATH=a;const u="__mini_css_extract_plugin_single_dot_path_segment__";t.SINGLE_DOT_PATH_SEGMENT=u;function isAbsolutePath(e){return i.default.posix.isAbsolute(e)||i.default.win32.isAbsolute(e)}const l=/^\.\.?[/\\]/;function isRelativePath(e){return l.test(e)}function stringifyRequest(e,t){if(typeof e.utils!=="undefined"&&typeof e.utils.contextify==="function"){return JSON.stringify(e.utils.contextify(e.context||e.rootContext,t))}const n=t.split("!");const{context:s}=e;return JSON.stringify(n.map((e=>{const t=e.match(/^(.*?)(\?.*)/);const n=t?t[2]:"";let r=t?t[1]:e;if(isAbsolutePath(r)&&s){r=i.default.relative(s,r);if(isAbsolutePath(r)){return r+n}if(isRelativePath(r)===false){r=`./${r}`}}return r.replace(/\\/g,"/")+n})).join("!"))}function getUndoPath(e,t,n){let s=-1;let i="";t=t.replace(/[\\/]$/,"");for(const n of e.split(/[/\\]+/)){if(n===".."){if(s>-1){s--}else{const e=t.lastIndexOf("/");const n=t.lastIndexOf("\\");const s=e<0?n:n<0?e:Math.max(e,n);if(s<0){return`${t}/`}i=`${t.slice(s+1)}/${i}`;t=t.slice(0,s)}}else if(n!=="."){s++}}return s>0?`${"../".repeat(s)}${i}`:n?`./${i}`:i}},188:e=>{e.exports=require("module")},476:e=>{e.exports=require("next/dist/compiled/schema-utils3")},17:e=>{e.exports=require("path")},98:e=>{e.exports=JSON.parse('{"title":"Mini CSS Extract Plugin options","type":"object","additionalProperties":false,"properties":{"filename":{"anyOf":[{"type":"string"},{"instanceof":"Function"}],"description":"This option determines the name of each output CSS file.","link":"https://github.com/webpack-contrib/mini-css-extract-plugin#filename"},"chunkFilename":{"anyOf":[{"type":"string"},{"instanceof":"Function"}],"description":"This option determines the name of non-entry chunk files.","link":"https://github.com/webpack-contrib/mini-css-extract-plugin#chunkfilename"},"experimentalUseImportModule":{"type":"boolean","description":"Enable the experimental importModule approach instead of using child compilers. This uses less memory and is faster.","link":"https://github.com/webpack-contrib/mini-css-extract-plugin#experimentaluseimportmodule"},"ignoreOrder":{"type":"boolean","description":"Remove Order Warnings.","link":"https://github.com/webpack-contrib/mini-css-extract-plugin#ignoreorder"},"insert":{"description":"Inserts the `link` tag at the given position for non-initial (async) (https://webpack.js.org/concepts/under-the-hood/#chunks) CSS chunks.","link":"https://github.com/webpack-contrib/mini-css-extract-plugin#insert","anyOf":[{"type":"string"},{"instanceof":"Function"}]},"attributes":{"description":"Adds custom attributes to the `link` tag for non-initial (async) (https://webpack.js.org/concepts/under-the-hood/#chunks) CSS chunks.","link":"https://github.com/webpack-contrib/mini-css-extract-plugin#attributes","type":"object"},"linkType":{"anyOf":[{"enum":["text/css"]},{"type":"boolean"}],"description":"This option allows loading asynchronous chunks with a custom link type","link":"https://github.com/webpack-contrib/mini-css-extract-plugin#linktype"},"runtime":{"type":"boolean","description":"Enabled/Disables runtime generation. CSS will be still extracted and can be used for a custom loading methods.","link":"https://github.com/webpack-contrib/mini-css-extract-plugin#noRuntime"}}}')}};var t={};function __nccwpck_require__(n){var s=t[n];if(s!==undefined){return s.exports}var i=t[n]={exports:{}};var r=true;try{e[n](i,i.exports,__nccwpck_require__);r=false}finally{if(r)delete t[n]}return i.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var n={};(()=>{var e=n;Object.defineProperty(e,"__esModule",{value:true});e.pluginSymbol=e.pluginName=e["default"]=void 0;var t=__nccwpck_require__(476);var s=_interopRequireDefault(__nccwpck_require__(98));var i=__nccwpck_require__(748);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r="mini-css-extract-plugin";e.pluginName=r;const o=Symbol(r);e.pluginSymbol=o;const a="[name].css";const u=new Set([i.MODULE_TYPE]);const l={sources:new Map,runtimeRequirements:new Set};const d=new WeakMap;const c=new WeakMap;const p=new WeakSet;class MiniCssExtractPlugin{static getCssModule(e){if(d.has(e)){return d.get(e)}class CssModule extends e.Module{constructor({context:e,identifier:t,identifierIndex:n,content:s,layer:r,supports:o,media:a,sourceMap:u,assets:l,assetsInfo:d}){super(i.MODULE_TYPE,e);this.id="";this._context=e;this._identifier=t;this._identifierIndex=n;this.content=s;this.layer=r;this.supports=o;this.media=a;this.sourceMap=u;this.assets=l;this.assetsInfo=d;this._needBuild=true}size(){return this.content.length}identifier(){return`css|${this._identifier}|${this._identifierIndex}`}readableIdentifier(e){return`css ${e.shorten(this._identifier)}${this._identifierIndex?` (${this._identifierIndex})`:""}`}getSourceTypes(){return u}codeGeneration(){return l}nameForCondition(){const e=this._identifier.split("!").pop();const t=e.indexOf("?");if(t>=0){return e.substring(0,t)}return e}updateCacheModule(e){if(this.content!==e.content||this.layer!==e.layer||this.supports!==e.supports||this.media!==e.media||this.sourceMap!==e.sourceMap||this.assets!==e.assets||this.assetsInfo!==e.assetsInfo){this._needBuild=true;this.content=e.content;this.layer=e.layer;this.supports=e.supports;this.media=e.media;this.sourceMap=e.sourceMap;this.assets=e.assets;this.assetsInfo=e.assetsInfo}}needRebuild(){return this._needBuild}needBuild(e,t){t(null,this._needBuild)}build(e,t,n,s,i){this.buildInfo={assets:this.assets,assetsInfo:this.assetsInfo,cacheable:true,hash:this._computeHash(t.outputOptions.hashFunction)};this.buildMeta={};this._needBuild=false;i()}_computeHash(t){const n=e.util.createHash(t);n.update(this.content);if(this.layer){n.update(this.layer)}n.update(this.supports||"");n.update(this.media||"");n.update(this.sourceMap||"");return n.digest("hex")}updateHash(e,t){super.updateHash(e,t);e.update(this.buildInfo.hash)}serialize(e){const{write:t}=e;t(this._context);t(this._identifier);t(this._identifierIndex);t(this.content);t(this.layer);t(this.supports);t(this.media);t(this.sourceMap);t(this.assets);t(this.assetsInfo);t(this._needBuild);super.serialize(e)}deserialize(e){this._needBuild=e.read();super.deserialize(e)}}d.set(e,CssModule);e.util.serialization.register(CssModule,"mini-css-extract-plugin/dist/CssModule",null,{serialize(e,t){e.serialize(t)},deserialize(e){const{read:t}=e;const n=t();const s=t();const i=t();const r=t();const o=t();const a=t();const u=t();const l=t();const d=t();const c=t();const p=new CssModule({context:n,identifier:s,identifierIndex:i,content:r,layer:o,supports:a,media:u,sourceMap:l,assets:d,assetsInfo:c});p.deserialize(e);return p}});return CssModule}static getCssDependency(e){if(c.has(e)){return c.get(e)}class CssDependency extends e.Dependency{constructor({identifier:e,content:t,layer:n,supports:s,media:i,sourceMap:r},o,a){super();this.identifier=e;this.identifierIndex=a;this.content=t;this.layer=n;this.supports=s;this.media=i;this.sourceMap=r;this.context=o;this.assets=undefined;this.assetsInfo=undefined}getResourceIdentifier(){return`css-module-${this.identifier}-${this.identifierIndex}`}getModuleEvaluationSideEffectsState(){return e.ModuleGraphConnection.TRANSITIVE_ONLY}serialize(e){const{write:t}=e;t(this.identifier);t(this.content);t(this.layer);t(this.supports);t(this.media);t(this.sourceMap);t(this.context);t(this.identifierIndex);t(this.assets);t(this.assetsInfo);super.serialize(e)}deserialize(e){super.deserialize(e)}}c.set(e,CssDependency);e.util.serialization.register(CssDependency,"mini-css-extract-plugin/dist/CssDependency",null,{serialize(e,t){e.serialize(t)},deserialize(e){const{read:t}=e;const n=new CssDependency({identifier:t(),content:t(),layer:t(),supports:t(),media:t(),sourceMap:t()},t(),t());const s=t();const i=t();n.assets=s;n.assetsInfo=i;n.deserialize(e);return n}});return CssDependency}constructor(e={}){(0,t.validate)(s.default,e,{baseDataPath:"options"});this._sortedModulesCache=new WeakMap;this.options=Object.assign({filename:a,ignoreOrder:false,experimentalUseImportModule:undefined,runtime:true},e);this.runtimeOptions={insert:e.insert,linkType:e.linkType===true||typeof e.linkType==="undefined"?"text/css":e.linkType,attributes:e.attributes};if(!this.options.chunkFilename){const{filename:e}=this.options;if(typeof e!=="function"){const t=e.includes("[name]");const n=e.includes("[id]");const s=e.includes("[chunkhash]");const i=e.includes("[contenthash]");if(s||i||t||n){this.options.chunkFilename=e}else{this.options.chunkFilename=e.replace(/(^|\/)([^/]*(?:\?|$))/,"$1[id].$2")}}else{this.options.chunkFilename="[id].css"}}}apply(e){const{webpack:t}=e;if(this.options.experimentalUseImportModule){if(typeof e.options.experiments.executeModule==="undefined"){e.options.experiments.executeModule=true}}if(!p.has(t)){p.add(t);t.util.serialization.registerLoader(/^mini-css-extract-plugin\//,i.trueFn)}const{splitChunks:n}=e.options.optimization;if(n){if(n.defaultSizeTypes.includes("...")){n.defaultSizeTypes.push(i.MODULE_TYPE)}}const s=MiniCssExtractPlugin.getCssModule(t);const a=MiniCssExtractPlugin.getCssDependency(t);const{NormalModule:u}=e.webpack;e.hooks.compilation.tap(r,(e=>{const{loader:t}=u.getCompilationHooks(e);t.tap(r,(e=>{e[o]={experimentalUseImportModule:this.options.experimentalUseImportModule}}))}));e.hooks.thisCompilation.tap(r,(n=>{class CssModuleFactory{create({dependencies:[e]},t){t(null,new s(e))}}n.dependencyFactories.set(a,new CssModuleFactory);class CssDependencyTemplate{apply(){}}n.dependencyTemplates.set(a,new CssDependencyTemplate);n.hooks.renderManifest.tap(r,((s,{chunk:o})=>{const{chunkGraph:a}=n;const{HotUpdateChunk:u}=t;if(o instanceof u){return}const l=Array.from(this.getChunkModules(o,a)).filter((e=>e.type===i.MODULE_TYPE));const d=o.canBeInitial()?this.options.filename:this.options.chunkFilename;if(l.length>0){s.push({render:()=>this.renderContentAsset(e,n,o,l,n.runtimeTemplate.requestShortener,d,{contentHashType:i.MODULE_TYPE,chunk:o}),filenameTemplate:d,pathOptions:{chunk:o,contentHashType:i.MODULE_TYPE},identifier:`${r}.${o.id}`,hash:o.contentHash[i.MODULE_TYPE]})}}));n.hooks.contentHash.tap(r,(t=>{const{outputOptions:s,chunkGraph:r}=n;const o=this.sortModules(n,t,r.getChunkModulesIterableBySourceType(t,i.MODULE_TYPE),n.runtimeTemplate.requestShortener);if(o){const{hashFunction:n,hashDigest:a,hashDigestLength:u}=s;const{createHash:l}=e.webpack.util;const d=l(n);for(const e of o){d.update(r.getModuleHash(e,t.runtime))}t.contentHash[i.MODULE_TYPE]=d.digest(a).substring(0,u)}}));if(!this.options.runtime){return}const{Template:o,RuntimeGlobals:u,RuntimeModule:l,runtime:d}=t;const getCssChunkObject=(e,t)=>{const n={};const{chunkGraph:s}=t;for(const t of e.getAllAsyncChunks()){const e=s.getOrderedChunkModulesIterable(t,i.compareModulesByIdentifier);for(const s of e){if(s.type===i.MODULE_TYPE){n[t.id]=1;break}}}return n};class CssLoadingRuntimeModule extends l{constructor(e,t){super("css loading",10);this.runtimeRequirements=e;this.runtimeOptions=t}generate(){const{chunk:e,runtimeRequirements:t}=this;const{runtimeTemplate:n,outputOptions:{crossOriginLoading:s}}=this.compilation;const i=getCssChunkObject(e,this.compilation);const r=t.has(u.ensureChunkHandlers)&&Object.keys(i).length>0;const a=t.has(u.hmrDownloadUpdateHandlers);if(!r&&!a){return null}return o.asString([`var createStylesheet = ${n.basicFunction("chunkId, fullhref, resolve, reject",['var linkTag = document.createElement("link");',this.runtimeOptions.attributes?o.asString(Object.entries(this.runtimeOptions.attributes).map((e=>{const[t,n]=e;return`linkTag.setAttribute(${JSON.stringify(t)}, ${JSON.stringify(n)});`}))):"",'linkTag.rel = "stylesheet";',this.runtimeOptions.linkType?`linkTag.type = ${JSON.stringify(this.runtimeOptions.linkType)};`:"",`var onLinkComplete = ${n.basicFunction("event",["// avoid mem leaks.","linkTag.onerror = linkTag.onload = null;","if (event.type === 'load') {",o.indent(["resolve();"]),"} else {",o.indent(["var errorType = event && (event.type === 'load' ? 'missing' : event.type);","var realHref = event && event.target && event.target.href || fullhref;",'var err = new Error("Loading CSS chunk " + chunkId + " failed.\\n(" + realHref + ")");','err.code = "CSS_CHUNK_LOAD_FAILED";',"err.type = errorType;","err.request = realHref;","linkTag.parentNode.removeChild(linkTag)","reject(err);"]),"}"])}`,"linkTag.onerror = linkTag.onload = onLinkComplete;","linkTag.href = fullhref;",s?o.asString([`if (linkTag.href.indexOf(window.location.origin + '/') !== 0) {`,o.indent(`linkTag.crossOrigin = ${JSON.stringify(s)};`),"}"]):"",typeof this.runtimeOptions.insert!=="undefined"?typeof this.runtimeOptions.insert==="function"?`(${this.runtimeOptions.insert.toString()})(linkTag)`:o.asString([`var target = document.querySelector("${this.runtimeOptions.insert}");`,`target.parentNode.insertBefore(linkTag, target.nextSibling);`]):o.asString(["document.head.appendChild(linkTag);"]),"return linkTag;"])};`,`var findStylesheet = ${n.basicFunction("href, fullhref",['var existingLinkTags = document.getElementsByTagName("link");',"for(var i = 0; i < existingLinkTags.length; i++) {",o.indent(["var tag = existingLinkTags[i];",'var dataHref = tag.getAttribute("data-href") || tag.getAttribute("href");','if(tag.rel === "stylesheet" && (dataHref === href || dataHref === fullhref)) return tag;']),"}",'var existingStyleTags = document.getElementsByTagName("style");',"for(var i = 0; i < existingStyleTags.length; i++) {",o.indent(["var tag = existingStyleTags[i];",'var dataHref = tag.getAttribute("data-href");',"if(dataHref === href || dataHref === fullhref) return tag;"]),"}"])};`,`var loadStylesheet = ${n.basicFunction("chunkId",`return new Promise(${n.basicFunction("resolve, reject",[`var href = ${u.require}.miniCssF(chunkId);`,`var fullhref = ${u.publicPath} + href;`,"if(findStylesheet(href, fullhref)) return resolve();","createStylesheet(chunkId, fullhref, resolve, reject);"])});`)}`,r?o.asString(["// object to store loaded CSS chunks","var installedCssChunks = {",o.indent(e.ids.map((e=>`${JSON.stringify(e)}: 0`)).join(",\n")),"};","",`${u.ensureChunkHandlers}.miniCss = ${n.basicFunction("chunkId, promises",[`var cssChunks = ${JSON.stringify(i)};`,"if(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);","else if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {",o.indent([`promises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(${n.basicFunction("","installedCssChunks[chunkId] = 0;")}, ${n.basicFunction("e",["delete installedCssChunks[chunkId];","throw e;"])}));`]),"}"])};`]):"// no chunk loading","",a?o.asString(["var oldTags = [];","var newTags = [];",`var applyHandler = ${n.basicFunction("options",[`return { dispose: ${n.basicFunction("",["for(var i = 0; i < oldTags.length; i++) {",o.indent(["var oldTag = oldTags[i];","if(oldTag.parentNode) oldTag.parentNode.removeChild(oldTag);"]),"}","oldTags.length = 0;"])}, apply: ${n.basicFunction("",['for(var i = 0; i < newTags.length; i++) newTags[i].rel = "stylesheet";',"newTags.length = 0;"])} };`])}`,`${u.hmrDownloadUpdateHandlers}.miniCss = ${n.basicFunction("chunkIds, removedChunks, removedModules, promises, applyHandlers, updatedModulesList",["applyHandlers.push(applyHandler);",`chunkIds.forEach(${n.basicFunction("chunkId",[`var href = ${u.require}.miniCssF(chunkId);`,`var fullhref = ${u.publicPath} + href;`,"var oldTag = findStylesheet(href, fullhref);","if(!oldTag) return;",`promises.push(new Promise(${n.basicFunction("resolve, reject",[`var tag = createStylesheet(chunkId, fullhref, ${n.basicFunction("",['tag.as = "style";','tag.rel = "preload";',"resolve();"])}, reject);`,"oldTags.push(oldTag);","newTags.push(tag);"])}));`])});`])}`]):"// no hmr"])}}const c=new WeakSet;const handler=(e,t)=>{if(c.has(e)){return}c.add(e);if(typeof this.options.chunkFilename==="string"&&/\[(full)?hash(:\d+)?\]/.test(this.options.chunkFilename)){t.add(u.getFullHash)}t.add(u.publicPath);n.addRuntimeModule(e,new d.GetChunkFilenameRuntimeModule(i.MODULE_TYPE,"mini-css",`${u.require}.miniCssF`,(e=>{if(!e.contentHash[i.MODULE_TYPE]){return false}return e.canBeInitial()?this.options.filename:this.options.chunkFilename})));n.addRuntimeModule(e,new CssLoadingRuntimeModule(t,this.runtimeOptions))};n.hooks.runtimeRequirementInTree.for(u.ensureChunkHandlers).tap(r,handler);n.hooks.runtimeRequirementInTree.for(u.hmrDownloadUpdateHandlers).tap(r,handler)}))}getChunkModules(e,t){return typeof t!=="undefined"?t.getOrderedChunkModulesIterable(e,i.compareModulesByIdentifier):e.modulesIterable}sortModules(e,t,n,s){let i=this._sortedModulesCache.get(t);if(i||!n){return i}const o=[...n];const a=new Map(o.map((e=>[e,new Set])));const u=new Map(o.map((e=>[e,new Map])));const l=Array.from(t.groupsIterable,(e=>{const t=o.map((t=>({module:t,index:e.getModulePostOrderIndex(t)}))).filter((e=>e.index!==undefined)).sort(((e,t)=>t.index-e.index)).map((e=>e.module));for(let n=0;n!i.has(e);while(i.size0&&i.has(e[e.length-1])){e.pop()}if(e.length!==0){const t=e[e.length-1];const s=a.get(t);const r=Array.from(s).filter(unusedModulesFilter);if(!d||d.length>r.length){o=e;d=r}if(r.length===0){i.add(e.pop());n=true;break}}}if(!n){const n=o.pop();if(!this.options.ignoreOrder){const i=u.get(n);e.warnings.push(new Error([`chunk ${t.name||t.id} [${r}]`,"Conflicting order. Following module has been added:",` * ${n.readableIdentifier(s)}`,"despite it was not able to fulfill desired ordering with these modules:",...d.map((e=>{const t=u.get(e);const r=t&&t.get(n);const o=Array.from(i.get(e),(e=>e.name)).join(", ");const a=r&&Array.from(r,(e=>e.name)).join(", ");return[` * ${e.readableIdentifier(s)}`,` - couldn't fulfill desired order of chunk group(s) ${o}`,a&&` - while fulfilling desired order of chunk group(s) ${a}`].filter(Boolean).join("\n")}))].join("\n")))}i.add(n)}}this._sortedModulesCache.set(t,i);return i}renderContentAsset(e,t,n,s,r,o,a){const u=this.sortModules(t,n,s,r);const{ConcatSource:l,SourceMapSource:d,RawSource:c}=e.webpack.sources;const p=new l;const h=new l;for(const n of u){let s=n.content.toString();const u=n.readableIdentifier(r);const l=/^@import url/.test(s);let f;if(t.outputOptions.pathinfo){const e=u.replace(/\*\//g,"*_/");const t="*".repeat(e.length);const n=`/*!****${t}****!*\\\n !*** ${e} ***!\n \\****${t}****/\n`;f=new c(n)}if(l){if(typeof f!=="undefined"){h.add(f)}if(n.media){s=s.replace(/;|\s*$/,n.media)}h.add(s);h.add("\n")}else{if(typeof f!=="undefined"){p.add(f)}if(n.supports){p.add(`@supports (${n.supports}) {\n`)}if(n.media){p.add(`@media ${n.media} {\n`)}const r=typeof n.layer!=="undefined";if(r){p.add(`@layer${n.layer.length>0?` ${n.layer}`:""} {\n`)}const{path:l}=t.getPathWithInfo(o,a);const h=(0,i.getUndoPath)(l,e.outputPath,false);s=s.replace(new RegExp(i.ABSOLUTE_PUBLIC_PATH,"g"),"");s=s.replace(new RegExp(i.SINGLE_DOT_PATH_SEGMENT,"g"),".");s=s.replace(new RegExp(i.AUTO_PUBLIC_PATH,"g"),h);if(n.sourceMap){p.add(new d(s,u,n.sourceMap.toString()))}else{p.add(new c(s,u))}p.add("\n");if(r){p.add("}\n")}if(n.media){p.add("}\n")}if(n.supports){p.add("}\n")}}}return new l(h,p)}}MiniCssExtractPlugin.loader=__nccwpck_require__.ab+"loader.js";var h=MiniCssExtractPlugin;e["default"]=h})();module.exports=n})(); \ No newline at end of file +(()=>{"use strict";var e={801:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:true});t.SINGLE_DOT_PATH_SEGMENT=t.MODULE_TYPE=t.AUTO_PUBLIC_PATH=t.ABSOLUTE_PUBLIC_PATH=void 0;t.compareModulesByIdentifier=compareModulesByIdentifier;t.evalModuleCode=evalModuleCode;t.findModuleById=findModuleById;t.getUndoPath=getUndoPath;t.stringifyRequest=stringifyRequest;t.trueFn=trueFn;var s=_interopRequireDefault(n(188));var i=_interopRequireDefault(n(17));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function trueFn(){return true}function findModuleById(e,t){const{modules:n,chunkGraph:s}=e;for(const e of n){const n=typeof s!=="undefined"?s.getModuleId(e):e.id;if(n===t){return e}}return null}function evalModuleCode(e,t,n){const i=new s.default(n,e);i.paths=s.default._nodeModulePaths(e.context);i.filename=n;i._compile(t,n);return i.exports}function compareIds(e,t){if(typeof e!==typeof t){return typeof et){return 1}return 0}function compareModulesByIdentifier(e,t){return compareIds(e.identifier(),t.identifier())}const r="css/mini-extract";t.MODULE_TYPE=r;const o="__mini_css_extract_plugin_public_path_auto__";t.AUTO_PUBLIC_PATH=o;const a="webpack:///mini-css-extract-plugin/";t.ABSOLUTE_PUBLIC_PATH=a;const u="__mini_css_extract_plugin_single_dot_path_segment__";t.SINGLE_DOT_PATH_SEGMENT=u;function isAbsolutePath(e){return i.default.posix.isAbsolute(e)||i.default.win32.isAbsolute(e)}const l=/^\.\.?[/\\]/;function isRelativePath(e){return l.test(e)}function stringifyRequest(e,t){if(typeof e.utils!=="undefined"&&typeof e.utils.contextify==="function"){return JSON.stringify(e.utils.contextify(e.context||e.rootContext,t))}const n=t.split("!");const{context:s}=e;return JSON.stringify(n.map((e=>{const t=e.match(/^(.*?)(\?.*)/);const n=t?t[2]:"";let r=t?t[1]:e;if(isAbsolutePath(r)&&s){r=i.default.relative(s,r);if(isAbsolutePath(r)){return r+n}if(isRelativePath(r)===false){r=`./${r}`}}return r.replace(/\\/g,"/")+n})).join("!"))}function getUndoPath(e,t,n){let s=-1;let i="";t=t.replace(/[\\/]$/,"");for(const n of e.split(/[/\\]+/)){if(n===".."){if(s>-1){s--}else{const e=t.lastIndexOf("/");const n=t.lastIndexOf("\\");const s=e<0?n:n<0?e:Math.max(e,n);if(s<0){return`${t}/`}i=`${t.slice(s+1)}/${i}`;t=t.slice(0,s)}}else if(n!=="."){s++}}return s>0?`${"../".repeat(s)}${i}`:n?`./${i}`:i}},188:e=>{e.exports=require("module")},476:e=>{e.exports=require("next/dist/compiled/schema-utils3")},17:e=>{e.exports=require("path")},451:e=>{e.exports=JSON.parse('{"title":"Mini CSS Extract Plugin options","type":"object","additionalProperties":false,"properties":{"filename":{"anyOf":[{"type":"string"},{"instanceof":"Function"}],"description":"This option determines the name of each output CSS file.","link":"https://github.com/webpack-contrib/mini-css-extract-plugin#filename"},"chunkFilename":{"anyOf":[{"type":"string"},{"instanceof":"Function"}],"description":"This option determines the name of non-entry chunk files.","link":"https://github.com/webpack-contrib/mini-css-extract-plugin#chunkfilename"},"experimentalUseImportModule":{"type":"boolean","description":"Enable the experimental importModule approach instead of using child compilers. This uses less memory and is faster.","link":"https://github.com/webpack-contrib/mini-css-extract-plugin#experimentaluseimportmodule"},"ignoreOrder":{"type":"boolean","description":"Remove Order Warnings.","link":"https://github.com/webpack-contrib/mini-css-extract-plugin#ignoreorder"},"insert":{"description":"Inserts the `link` tag at the given position for non-initial (async) (https://webpack.js.org/concepts/under-the-hood/#chunks) CSS chunks.","link":"https://github.com/webpack-contrib/mini-css-extract-plugin#insert","anyOf":[{"type":"string"},{"instanceof":"Function"}]},"attributes":{"description":"Adds custom attributes to the `link` tag for non-initial (async) (https://webpack.js.org/concepts/under-the-hood/#chunks) CSS chunks.","link":"https://github.com/webpack-contrib/mini-css-extract-plugin#attributes","type":"object"},"linkType":{"anyOf":[{"enum":["text/css"]},{"type":"boolean"}],"description":"This option allows loading asynchronous chunks with a custom link type","link":"https://github.com/webpack-contrib/mini-css-extract-plugin#linktype"},"runtime":{"type":"boolean","description":"Enabled/Disables runtime generation. CSS will be still extracted and can be used for a custom loading methods.","link":"https://github.com/webpack-contrib/mini-css-extract-plugin#noRuntime"}}}')}};var t={};function __nccwpck_require__(n){var s=t[n];if(s!==undefined){return s.exports}var i=t[n]={exports:{}};var r=true;try{e[n](i,i.exports,__nccwpck_require__);r=false}finally{if(r)delete t[n]}return i.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var n={};(()=>{var e=n;Object.defineProperty(e,"__esModule",{value:true});e.pluginSymbol=e.pluginName=e["default"]=void 0;var t=__nccwpck_require__(476);var s=_interopRequireDefault(__nccwpck_require__(451));var i=__nccwpck_require__(801);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r="mini-css-extract-plugin";e.pluginName=r;const o=Symbol(r);e.pluginSymbol=o;const a="[name].css";const u=new Set([i.MODULE_TYPE]);const l={sources:new Map,runtimeRequirements:new Set};const d=new WeakMap;const c=new WeakMap;const p=new WeakSet;class MiniCssExtractPlugin{static getCssModule(e){if(d.has(e)){return d.get(e)}class CssModule extends e.Module{constructor({context:e,identifier:t,identifierIndex:n,content:s,layer:r,supports:o,media:a,sourceMap:u,assets:l,assetsInfo:d}){super(i.MODULE_TYPE,e);this.id="";this._context=e;this._identifier=t;this._identifierIndex=n;this.content=s;this.layer=r;this.supports=o;this.media=a;this.sourceMap=u;this.assets=l;this.assetsInfo=d;this._needBuild=true}size(){return this.content.length}identifier(){return`css|${this._identifier}|${this._identifierIndex}`}readableIdentifier(e){return`css ${e.shorten(this._identifier)}${this._identifierIndex?` (${this._identifierIndex})`:""}`}getSourceTypes(){return u}codeGeneration(){return l}nameForCondition(){const e=this._identifier.split("!").pop();const t=e.indexOf("?");if(t>=0){return e.substring(0,t)}return e}updateCacheModule(e){if(this.content!==e.content||this.layer!==e.layer||this.supports!==e.supports||this.media!==e.media||this.sourceMap!==e.sourceMap||this.assets!==e.assets||this.assetsInfo!==e.assetsInfo){this._needBuild=true;this.content=e.content;this.layer=e.layer;this.supports=e.supports;this.media=e.media;this.sourceMap=e.sourceMap;this.assets=e.assets;this.assetsInfo=e.assetsInfo}}needRebuild(){return this._needBuild}needBuild(e,t){t(null,this._needBuild)}build(e,t,n,s,i){this.buildInfo={assets:this.assets,assetsInfo:this.assetsInfo,cacheable:true,hash:this._computeHash(t.outputOptions.hashFunction)};this.buildMeta={};this._needBuild=false;i()}_computeHash(t){const n=e.util.createHash(t);n.update(this.content);if(this.layer){n.update(this.layer)}n.update(this.supports||"");n.update(this.media||"");n.update(this.sourceMap||"");return n.digest("hex")}updateHash(e,t){super.updateHash(e,t);e.update(this.buildInfo.hash)}serialize(e){const{write:t}=e;t(this._context);t(this._identifier);t(this._identifierIndex);t(this.content);t(this.layer);t(this.supports);t(this.media);t(this.sourceMap);t(this.assets);t(this.assetsInfo);t(this._needBuild);super.serialize(e)}deserialize(e){this._needBuild=e.read();super.deserialize(e)}}d.set(e,CssModule);e.util.serialization.register(CssModule,"mini-css-extract-plugin/dist/CssModule",null,{serialize(e,t){e.serialize(t)},deserialize(e){const{read:t}=e;const n=t();const s=t();const i=t();const r=t();const o=t();const a=t();const u=t();const l=t();const d=t();const c=t();const p=new CssModule({context:n,identifier:s,identifierIndex:i,content:r,layer:o,supports:a,media:u,sourceMap:l,assets:d,assetsInfo:c});p.deserialize(e);return p}});return CssModule}static getCssDependency(e){if(c.has(e)){return c.get(e)}class CssDependency extends e.Dependency{constructor({identifier:e,content:t,layer:n,supports:s,media:i,sourceMap:r},o,a){super();this.identifier=e;this.identifierIndex=a;this.content=t;this.layer=n;this.supports=s;this.media=i;this.sourceMap=r;this.context=o;this.assets=undefined;this.assetsInfo=undefined}getResourceIdentifier(){return`css-module-${this.identifier}-${this.identifierIndex}`}getModuleEvaluationSideEffectsState(){return e.ModuleGraphConnection.TRANSITIVE_ONLY}serialize(e){const{write:t}=e;t(this.identifier);t(this.content);t(this.layer);t(this.supports);t(this.media);t(this.sourceMap);t(this.context);t(this.identifierIndex);t(this.assets);t(this.assetsInfo);super.serialize(e)}deserialize(e){super.deserialize(e)}}c.set(e,CssDependency);e.util.serialization.register(CssDependency,"mini-css-extract-plugin/dist/CssDependency",null,{serialize(e,t){e.serialize(t)},deserialize(e){const{read:t}=e;const n=new CssDependency({identifier:t(),content:t(),layer:t(),supports:t(),media:t(),sourceMap:t()},t(),t());const s=t();const i=t();n.assets=s;n.assetsInfo=i;n.deserialize(e);return n}});return CssDependency}constructor(e={}){(0,t.validate)(s.default,e,{baseDataPath:"options"});this._sortedModulesCache=new WeakMap;this.options=Object.assign({filename:a,ignoreOrder:false,experimentalUseImportModule:undefined,runtime:true},e);this.runtimeOptions={insert:e.insert,linkType:e.linkType===true||typeof e.linkType==="undefined"?"text/css":e.linkType,attributes:e.attributes};if(!this.options.chunkFilename){const{filename:e}=this.options;if(typeof e!=="function"){const t=e.includes("[name]");const n=e.includes("[id]");const s=e.includes("[chunkhash]");const i=e.includes("[contenthash]");if(s||i||t||n){this.options.chunkFilename=e}else{this.options.chunkFilename=e.replace(/(^|\/)([^/]*(?:\?|$))/,"$1[id].$2")}}else{this.options.chunkFilename="[id].css"}}}apply(e){const{webpack:t}=e;if(this.options.experimentalUseImportModule){if(typeof e.options.experiments.executeModule==="undefined"){e.options.experiments.executeModule=true}}if(!p.has(t)){p.add(t);t.util.serialization.registerLoader(/^mini-css-extract-plugin\//,i.trueFn)}const{splitChunks:n}=e.options.optimization;if(n){if(n.defaultSizeTypes.includes("...")){n.defaultSizeTypes.push(i.MODULE_TYPE)}}const s=MiniCssExtractPlugin.getCssModule(t);const a=MiniCssExtractPlugin.getCssDependency(t);const{NormalModule:u}=e.webpack;e.hooks.compilation.tap(r,(e=>{const{loader:t}=u.getCompilationHooks(e);t.tap(r,(e=>{e[o]={experimentalUseImportModule:this.options.experimentalUseImportModule}}))}));e.hooks.thisCompilation.tap(r,(n=>{class CssModuleFactory{create({dependencies:[e]},t){t(null,new s(e))}}n.dependencyFactories.set(a,new CssModuleFactory);class CssDependencyTemplate{apply(){}}n.dependencyTemplates.set(a,new CssDependencyTemplate);n.hooks.renderManifest.tap(r,((s,{chunk:o})=>{const{chunkGraph:a}=n;const{HotUpdateChunk:u}=t;if(o instanceof u){return}const l=Array.from(this.getChunkModules(o,a)).filter((e=>e.type===i.MODULE_TYPE));const d=o.canBeInitial()?this.options.filename:this.options.chunkFilename;if(l.length>0){s.push({render:()=>this.renderContentAsset(e,n,o,l,n.runtimeTemplate.requestShortener,d,{contentHashType:i.MODULE_TYPE,chunk:o}),filenameTemplate:d,pathOptions:{chunk:o,contentHashType:i.MODULE_TYPE},identifier:`${r}.${o.id}`,hash:o.contentHash[i.MODULE_TYPE]})}}));n.hooks.contentHash.tap(r,(t=>{const{outputOptions:s,chunkGraph:r}=n;const o=this.sortModules(n,t,r.getChunkModulesIterableBySourceType(t,i.MODULE_TYPE),n.runtimeTemplate.requestShortener);if(o){const{hashFunction:n,hashDigest:a,hashDigestLength:u}=s;const{createHash:l}=e.webpack.util;const d=l(n);for(const e of o){d.update(r.getModuleHash(e,t.runtime))}t.contentHash[i.MODULE_TYPE]=d.digest(a).substring(0,u)}}));if(!this.options.runtime){return}const{Template:o,RuntimeGlobals:u,RuntimeModule:l,runtime:d}=t;const getCssChunkObject=(e,t)=>{const n={};const{chunkGraph:s}=t;for(const t of e.getAllAsyncChunks()){const e=s.getOrderedChunkModulesIterable(t,i.compareModulesByIdentifier);for(const s of e){if(s.type===i.MODULE_TYPE){n[t.id]=1;break}}}return n};class CssLoadingRuntimeModule extends l{constructor(e,t){super("css loading",10);this.runtimeRequirements=e;this.runtimeOptions=t}generate(){const{chunk:e,runtimeRequirements:t}=this;const{runtimeTemplate:n,outputOptions:{crossOriginLoading:s}}=this.compilation;const i=getCssChunkObject(e,this.compilation);const r=t.has(u.ensureChunkHandlers)&&Object.keys(i).length>0;const a=t.has(u.hmrDownloadUpdateHandlers);if(!r&&!a){return null}return o.asString([`var createStylesheet = ${n.basicFunction("chunkId, fullhref, resolve, reject",['var linkTag = document.createElement("link");',this.runtimeOptions.attributes?o.asString(Object.entries(this.runtimeOptions.attributes).map((e=>{const[t,n]=e;return`linkTag.setAttribute(${JSON.stringify(t)}, ${JSON.stringify(n)});`}))):"",'linkTag.rel = "stylesheet";',this.runtimeOptions.linkType?`linkTag.type = ${JSON.stringify(this.runtimeOptions.linkType)};`:"",`var onLinkComplete = ${n.basicFunction("event",["// avoid mem leaks.","linkTag.onerror = linkTag.onload = null;","if (event.type === 'load') {",o.indent(["resolve();"]),"} else {",o.indent(["var errorType = event && (event.type === 'load' ? 'missing' : event.type);","var realHref = event && event.target && event.target.href || fullhref;",'var err = new Error("Loading CSS chunk " + chunkId + " failed.\\n(" + realHref + ")");','err.code = "CSS_CHUNK_LOAD_FAILED";',"err.type = errorType;","err.request = realHref;","linkTag.parentNode.removeChild(linkTag)","reject(err);"]),"}"])}`,"linkTag.onerror = linkTag.onload = onLinkComplete;","linkTag.href = fullhref;",s?o.asString([`if (linkTag.href.indexOf(window.location.origin + '/') !== 0) {`,o.indent(`linkTag.crossOrigin = ${JSON.stringify(s)};`),"}"]):"",typeof this.runtimeOptions.insert!=="undefined"?typeof this.runtimeOptions.insert==="function"?`(${this.runtimeOptions.insert.toString()})(linkTag)`:o.asString([`var target = document.querySelector("${this.runtimeOptions.insert}");`,`target.parentNode.insertBefore(linkTag, target.nextSibling);`]):o.asString(["document.head.appendChild(linkTag);"]),"return linkTag;"])};`,`var findStylesheet = ${n.basicFunction("href, fullhref",['var existingLinkTags = document.getElementsByTagName("link");',"for(var i = 0; i < existingLinkTags.length; i++) {",o.indent(["var tag = existingLinkTags[i];",'var dataHref = tag.getAttribute("data-href") || tag.getAttribute("href");','if(tag.rel === "stylesheet" && (dataHref === href || dataHref === fullhref)) return tag;']),"}",'var existingStyleTags = document.getElementsByTagName("style");',"for(var i = 0; i < existingStyleTags.length; i++) {",o.indent(["var tag = existingStyleTags[i];",'var dataHref = tag.getAttribute("data-href");',"if(dataHref === href || dataHref === fullhref) return tag;"]),"}"])};`,`var loadStylesheet = ${n.basicFunction("chunkId",`return new Promise(${n.basicFunction("resolve, reject",[`var href = ${u.require}.miniCssF(chunkId);`,`var fullhref = ${u.publicPath} + href;`,"if(findStylesheet(href, fullhref)) return resolve();","createStylesheet(chunkId, fullhref, resolve, reject);"])});`)}`,r?o.asString(["// object to store loaded CSS chunks","var installedCssChunks = {",o.indent(e.ids.map((e=>`${JSON.stringify(e)}: 0`)).join(",\n")),"};","",`${u.ensureChunkHandlers}.miniCss = ${n.basicFunction("chunkId, promises",[`var cssChunks = ${JSON.stringify(i)};`,"if(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);","else if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {",o.indent([`promises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(${n.basicFunction("","installedCssChunks[chunkId] = 0;")}, ${n.basicFunction("e",["delete installedCssChunks[chunkId];","throw e;"])}));`]),"}"])};`]):"// no chunk loading","",a?o.asString(["var oldTags = [];","var newTags = [];",`var applyHandler = ${n.basicFunction("options",[`return { dispose: ${n.basicFunction("",["for(var i = 0; i < oldTags.length; i++) {",o.indent(["var oldTag = oldTags[i];","if(oldTag.parentNode) oldTag.parentNode.removeChild(oldTag);"]),"}","oldTags.length = 0;"])}, apply: ${n.basicFunction("",['for(var i = 0; i < newTags.length; i++) newTags[i].rel = "stylesheet";',"newTags.length = 0;"])} };`])}`,`${u.hmrDownloadUpdateHandlers}.miniCss = ${n.basicFunction("chunkIds, removedChunks, removedModules, promises, applyHandlers, updatedModulesList",["applyHandlers.push(applyHandler);",`chunkIds.forEach(${n.basicFunction("chunkId",[`var href = ${u.require}.miniCssF(chunkId);`,`var fullhref = ${u.publicPath} + href;`,"var oldTag = findStylesheet(href, fullhref);","if(!oldTag) return;",`promises.push(new Promise(${n.basicFunction("resolve, reject",[`var tag = createStylesheet(chunkId, fullhref, ${n.basicFunction("",['tag.as = "style";','tag.rel = "preload";',"resolve();"])}, reject);`,"oldTags.push(oldTag);","newTags.push(tag);"])}));`])});`])}`]):"// no hmr"])}}const c=new WeakSet;const handler=(e,t)=>{if(c.has(e)){return}c.add(e);if(typeof this.options.chunkFilename==="string"&&/\[(full)?hash(:\d+)?\]/.test(this.options.chunkFilename)){t.add(u.getFullHash)}t.add(u.publicPath);n.addRuntimeModule(e,new d.GetChunkFilenameRuntimeModule(i.MODULE_TYPE,"mini-css",`${u.require}.miniCssF`,(e=>{if(!e.contentHash[i.MODULE_TYPE]){return false}return e.canBeInitial()?this.options.filename:this.options.chunkFilename})));n.addRuntimeModule(e,new CssLoadingRuntimeModule(t,this.runtimeOptions))};n.hooks.runtimeRequirementInTree.for(u.ensureChunkHandlers).tap(r,handler);n.hooks.runtimeRequirementInTree.for(u.hmrDownloadUpdateHandlers).tap(r,handler)}))}getChunkModules(e,t){return typeof t!=="undefined"?t.getOrderedChunkModulesIterable(e,i.compareModulesByIdentifier):e.modulesIterable}sortModules(e,t,n,s){let i=this._sortedModulesCache.get(t);if(i||!n){return i}const o=[...n];const a=new Map(o.map((e=>[e,new Set])));const u=new Map(o.map((e=>[e,new Map])));const l=Array.from(t.groupsIterable,(e=>{const t=o.map((t=>({module:t,index:e.getModulePostOrderIndex(t)}))).filter((e=>e.index!==undefined)).sort(((e,t)=>t.index-e.index)).map((e=>e.module));for(let n=0;n!i.has(e);while(i.size0&&i.has(e[e.length-1])){e.pop()}if(e.length!==0){const t=e[e.length-1];const s=a.get(t);const r=Array.from(s).filter(unusedModulesFilter);if(!d||d.length>r.length){o=e;d=r}if(r.length===0){i.add(e.pop());n=true;break}}}if(!n){const n=o.pop();if(!this.options.ignoreOrder){const i=u.get(n);e.warnings.push(new Error([`chunk ${t.name||t.id} [${r}]`,"Conflicting order. Following module has been added:",` * ${n.readableIdentifier(s)}`,"despite it was not able to fulfill desired ordering with these modules:",...d.map((e=>{const t=u.get(e);const r=t&&t.get(n);const o=Array.from(i.get(e),(e=>e.name)).join(", ");const a=r&&Array.from(r,(e=>e.name)).join(", ");return[` * ${e.readableIdentifier(s)}`,` - couldn't fulfill desired order of chunk group(s) ${o}`,a&&` - while fulfilling desired order of chunk group(s) ${a}`].filter(Boolean).join("\n")}))].join("\n")))}i.add(n)}}this._sortedModulesCache.set(t,i);return i}renderContentAsset(e,t,n,s,r,o,a){const u=this.sortModules(t,n,s,r);const{ConcatSource:l,SourceMapSource:d,RawSource:c}=e.webpack.sources;const p=new l;const h=new l;for(const n of u){let s=n.content.toString();const u=n.readableIdentifier(r);const l=/^@import url/.test(s);let f;if(t.outputOptions.pathinfo){const e=u.replace(/\*\//g,"*_/");const t="*".repeat(e.length);const n=`/*!****${t}****!*\\\n !*** ${e} ***!\n \\****${t}****/\n`;f=new c(n)}if(l){if(typeof f!=="undefined"){h.add(f)}if(n.media){s=s.replace(/;|\s*$/,n.media)}h.add(s);h.add("\n")}else{if(typeof f!=="undefined"){p.add(f)}if(n.supports){p.add(`@supports (${n.supports}) {\n`)}if(n.media){p.add(`@media ${n.media} {\n`)}const r=typeof n.layer!=="undefined";if(r){p.add(`@layer${n.layer.length>0?` ${n.layer}`:""} {\n`)}const{path:l}=t.getPathWithInfo(o,a);const h=(0,i.getUndoPath)(l,e.outputPath,false);s=s.replace(new RegExp(i.ABSOLUTE_PUBLIC_PATH,"g"),"");s=s.replace(new RegExp(i.SINGLE_DOT_PATH_SEGMENT,"g"),".");s=s.replace(new RegExp(i.AUTO_PUBLIC_PATH,"g"),h);if(n.sourceMap){p.add(new d(s,u,n.sourceMap.toString()))}else{p.add(new c(s,u))}p.add("\n");if(r){p.add("}\n")}if(n.media){p.add("}\n")}if(n.supports){p.add("}\n")}}}return new l(h,p)}}MiniCssExtractPlugin.loader=__nccwpck_require__.ab+"loader.js";var h=MiniCssExtractPlugin;e["default"]=h})();module.exports=n})(); \ No newline at end of file diff --git a/packages/next/src/compiled/mini-css-extract-plugin/loader.js b/packages/next/src/compiled/mini-css-extract-plugin/loader.js index e905cf787c741..736b9f99f9939 100644 --- a/packages/next/src/compiled/mini-css-extract-plugin/loader.js +++ b/packages/next/src/compiled/mini-css-extract-plugin/loader.js @@ -1 +1 @@ -(()=>{"use strict";var e={748:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:true});t.SINGLE_DOT_PATH_SEGMENT=t.MODULE_TYPE=t.AUTO_PUBLIC_PATH=t.ABSOLUTE_PUBLIC_PATH=void 0;t.compareModulesByIdentifier=compareModulesByIdentifier;t.evalModuleCode=evalModuleCode;t.findModuleById=findModuleById;t.getUndoPath=getUndoPath;t.stringifyRequest=stringifyRequest;t.trueFn=trueFn;var n=_interopRequireDefault(i(188));var o=_interopRequireDefault(i(17));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function trueFn(){return true}function findModuleById(e,t){const{modules:i,chunkGraph:n}=e;for(const e of i){const i=typeof n!=="undefined"?n.getModuleId(e):e.id;if(i===t){return e}}return null}function evalModuleCode(e,t,i){const o=new n.default(i,e);o.paths=n.default._nodeModulePaths(e.context);o.filename=i;o._compile(t,i);return o.exports}function compareIds(e,t){if(typeof e!==typeof t){return typeof et){return 1}return 0}function compareModulesByIdentifier(e,t){return compareIds(e.identifier(),t.identifier())}const r="css/mini-extract";t.MODULE_TYPE=r;const s="__mini_css_extract_plugin_public_path_auto__";t.AUTO_PUBLIC_PATH=s;const a="webpack:///mini-css-extract-plugin/";t.ABSOLUTE_PUBLIC_PATH=a;const u="__mini_css_extract_plugin_single_dot_path_segment__";t.SINGLE_DOT_PATH_SEGMENT=u;function isAbsolutePath(e){return o.default.posix.isAbsolute(e)||o.default.win32.isAbsolute(e)}const l=/^\.\.?[/\\]/;function isRelativePath(e){return l.test(e)}function stringifyRequest(e,t){if(typeof e.utils!=="undefined"&&typeof e.utils.contextify==="function"){return JSON.stringify(e.utils.contextify(e.context||e.rootContext,t))}const i=t.split("!");const{context:n}=e;return JSON.stringify(i.map((e=>{const t=e.match(/^(.*?)(\?.*)/);const i=t?t[2]:"";let r=t?t[1]:e;if(isAbsolutePath(r)&&n){r=o.default.relative(n,r);if(isAbsolutePath(r)){return r+i}if(isRelativePath(r)===false){r=`./${r}`}}return r.replace(/\\/g,"/")+i})).join("!"))}function getUndoPath(e,t,i){let n=-1;let o="";t=t.replace(/[\\/]$/,"");for(const i of e.split(/[/\\]+/)){if(i===".."){if(n>-1){n--}else{const e=t.lastIndexOf("/");const i=t.lastIndexOf("\\");const n=e<0?i:i<0?e:Math.max(e,i);if(n<0){return`${t}/`}o=`${t.slice(n+1)}/${o}`;t=t.slice(0,n)}}else if(i!=="."){n++}}return n>0?`${"../".repeat(n)}${o}`:i?`./${o}`:o}},717:e=>{e.exports=require("./index.js")},188:e=>{e.exports=require("module")},17:e=>{e.exports=require("path")},587:e=>{e.exports=JSON.parse('{"title":"Mini CSS Extract Plugin Loader options","type":"object","additionalProperties":false,"properties":{"publicPath":{"anyOf":[{"type":"string"},{"instanceof":"Function"}],"description":"Specifies a custom public path for the external resources like images, files, etc inside CSS.","link":"https://github.com/webpack-contrib/mini-css-extract-plugin#publicpath"},"emit":{"type":"boolean","description":"If true, emits a file (writes a file to the filesystem). If false, the plugin will extract the CSS but will not emit the file","link":"https://github.com/webpack-contrib/mini-css-extract-plugin#emit"},"esModule":{"type":"boolean","description":"Generates JS modules that use the ES modules syntax.","link":"https://github.com/webpack-contrib/mini-css-extract-plugin#esmodule"},"layer":{"type":"string"}}}')}};var t={};function __nccwpck_require__(i){var n=t[i];if(n!==undefined){return n.exports}var o=t[i]={exports:{}};var r=true;try{e[i](o,o.exports,__nccwpck_require__);r=false}finally{if(r)delete t[i]}return o.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var i={};(()=>{var e=i;Object.defineProperty(e,"__esModule",{value:true});e["default"]=_default;e.pitch=pitch;var t=_interopRequireDefault(__nccwpck_require__(17));var n=__nccwpck_require__(748);var o=_interopRequireDefault(__nccwpck_require__(587));var r=_interopRequireWildcard(__nccwpck_require__(717));function _getRequireWildcardCache(e){if(typeof WeakMap!=="function")return null;var t=new WeakMap;var i=new WeakMap;return(_getRequireWildcardCache=function(e){return e?i:t})(e)}function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule){return e}if(e===null||typeof e!=="object"&&typeof e!=="function"){return{default:e}}var i=_getRequireWildcardCache(t);if(i&&i.has(e)){return i.get(e)}var n={};var o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e){if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)){var s=o?Object.getOwnPropertyDescriptor(e,r):null;if(s&&(s.get||s.set)){Object.defineProperty(n,r,s)}else{n[r]=e[r]}}}n.default=e;if(i){i.set(e,n)}return n}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function hotLoader(e,i){const o=i.locals?"":"module.hot.accept(undefined, cssReload);";return`${e}\n if(module.hot) {\n // ${Date.now()}\n var cssReload = require(${(0,n.stringifyRequest)(i.context,t.default.join(__dirname,"hmr/hotModuleReplacement.js"))})(module.id, ${JSON.stringify({...i.options,locals:!!i.locals})});\n module.hot.dispose(cssReload);\n ${o}\n }\n `}function pitch(e){const t=this.getOptions(o.default);const i=this.async();const s=this[r.pluginSymbol];if(!s){i(new Error("You forgot to add 'mini-css-extract-plugin' plugin (i.e. `{ plugins: [new MiniCssExtractPlugin()] }`), please read https://github.com/webpack-contrib/mini-css-extract-plugin#getting-started"));return}const{webpack:a}=this._compiler;const handleExports=(e,o,s,u)=>{let l;let c;const p=typeof t.esModule!=="undefined"?t.esModule:true;const addDependencies=e=>{if(!Array.isArray(e)&&e!=null){throw new Error(`Exported value was not extracted as an array: ${JSON.stringify(e)}`)}const i=new Map;const n=typeof t.emit!=="undefined"?t.emit:true;let o;for(const t of e){if(!t.identifier||!n){continue}const e=i.get(t.identifier)||0;const s=r.default.getCssDependency(a);this._module.addDependency(o=new s(t,t.context,e));i.set(t.identifier,e+1)}if(o&&s){o.assets=s;o.assetsInfo=u}};try{const t=e.__esModule?e.default:e;c=e.__esModule&&(!e.default||!("locals"in e.default));if(c){Object.keys(e).forEach((t=>{if(t!=="default"){if(!l){l={}}l[t]=e[t]}}))}else{l=t&&t.locals}let i;if(!Array.isArray(t)){i=[[null,t]]}else{i=t.map((([e,t,i,r,s,a])=>{let u=e;let l;if(o){const t=(0,n.findModuleById)(o,e);u=t.identifier();({context:l}=t)}else{l=this.rootContext}return{identifier:u,context:l,content:Buffer.from(t),media:i,supports:s,layer:a,sourceMap:r?Buffer.from(JSON.stringify(r)):undefined}}))}addDependencies(i)}catch(e){return i(e)}const d=l?c?Object.keys(l).map((e=>`\nexport var ${e} = ${JSON.stringify(l[e])};`)).join(""):`\n${p?"export default":"module.exports ="} ${JSON.stringify(l)};`:p?`\nexport {};`:"";let f=`// extracted by ${r.pluginName}`;f+=this.hot?hotLoader(d,{context:this.context,options:t,locals:l}):d;return i(null,f)};let{publicPath:u}=this._compilation.outputOptions;if(typeof t.publicPath==="string"){u=t.publicPath}else if(typeof t.publicPath==="function"){u=t.publicPath(this.resourcePath,this.rootContext)}if(u==="auto"){u=n.AUTO_PUBLIC_PATH}if(typeof s.experimentalUseImportModule==="undefined"&&typeof this.importModule==="function"||s.experimentalUseImportModule){if(!this.importModule){i(new Error("You are using 'experimentalUseImportModule' but 'this.importModule' is not available in loader context. You need to have at least webpack 5.33.2."));return}const o=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/.test(u);const r=o?u:`${n.ABSOLUTE_PUBLIC_PATH}${u.replace(/\./g,n.SINGLE_DOT_PATH_SEGMENT)}`;this.importModule(`${this.resourcePath}.webpack[javascript/auto]!=!!!${e}`,{layer:t.layer,publicPath:r},((e,t)=>{if(e){i(e);return}handleExports(t)}));return}const l=this.loaders.slice(this.loaderIndex+1);this.addDependency(this.resourcePath);const c="*";const p={filename:c,publicPath:u};const d=this._compilation.createChildCompiler(`${r.pluginName} ${e}`,p);d.options.module={...d.options.module};d.options.module.parser={...d.options.module.parser};d.options.module.parser.javascript={...d.options.module.parser.javascript,url:"relative"};const{NodeTemplatePlugin:f}=a.node;const{NodeTargetPlugin:_}=a.node;new f(p).apply(d);(new _).apply(d);const{EntryOptionPlugin:h}=a;const{library:{EnableLibraryPlugin:m}}=a;new m("commonjs2").apply(d);h.applyEntryOption(d,this.context,{child:{library:{type:"commonjs2"},import:[`!!${e}`]}});const{LimitChunkCountPlugin:y}=a.optimize;new y({maxChunks:1}).apply(d);const{NormalModule:g}=a;d.hooks.thisCompilation.tap(`${r.pluginName} loader`,(t=>{const i=g.getCompilationHooks(t).loader;i.tap(`${r.pluginName} loader`,((t,i)=>{if(i.request===e){i.loaders=l.map((e=>({loader:e.path,options:e.options,ident:e.ident})))}}))}));let b;d.hooks.compilation.tap(r.pluginName,(e=>{e.hooks.processAssets.tap(r.pluginName,(()=>{b=e.assets[c]&&e.assets[c].source();e.chunks.forEach((t=>{t.files.forEach((t=>{e.deleteAsset(t)}))}))}))}));d.runAsChild(((t,o,r)=>{if(t){return i(t)}if(r.errors.length>0){return i(r.errors[0])}const s=Object.create(null);const a=new Map;for(const e of r.getAssets()){s[e.name]=e.source;a.set(e.name,e.info)}r.fileDependencies.forEach((e=>{this.addDependency(e)}),this);r.contextDependencies.forEach((e=>{this.addContextDependency(e)}),this);if(!b){return i(new Error("Didn't get a result from child compiler"))}let u;try{u=(0,n.evalModuleCode)(this,b,e)}catch(e){return i(e)}return handleExports(u,r,s,a)}))}function _default(e){console.log(e)}})();module.exports=i})(); \ No newline at end of file +(()=>{"use strict";var e={801:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:true});t.SINGLE_DOT_PATH_SEGMENT=t.MODULE_TYPE=t.AUTO_PUBLIC_PATH=t.ABSOLUTE_PUBLIC_PATH=void 0;t.compareModulesByIdentifier=compareModulesByIdentifier;t.evalModuleCode=evalModuleCode;t.findModuleById=findModuleById;t.getUndoPath=getUndoPath;t.stringifyRequest=stringifyRequest;t.trueFn=trueFn;var n=_interopRequireDefault(i(188));var o=_interopRequireDefault(i(17));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function trueFn(){return true}function findModuleById(e,t){const{modules:i,chunkGraph:n}=e;for(const e of i){const i=typeof n!=="undefined"?n.getModuleId(e):e.id;if(i===t){return e}}return null}function evalModuleCode(e,t,i){const o=new n.default(i,e);o.paths=n.default._nodeModulePaths(e.context);o.filename=i;o._compile(t,i);return o.exports}function compareIds(e,t){if(typeof e!==typeof t){return typeof et){return 1}return 0}function compareModulesByIdentifier(e,t){return compareIds(e.identifier(),t.identifier())}const r="css/mini-extract";t.MODULE_TYPE=r;const s="__mini_css_extract_plugin_public_path_auto__";t.AUTO_PUBLIC_PATH=s;const a="webpack:///mini-css-extract-plugin/";t.ABSOLUTE_PUBLIC_PATH=a;const u="__mini_css_extract_plugin_single_dot_path_segment__";t.SINGLE_DOT_PATH_SEGMENT=u;function isAbsolutePath(e){return o.default.posix.isAbsolute(e)||o.default.win32.isAbsolute(e)}const l=/^\.\.?[/\\]/;function isRelativePath(e){return l.test(e)}function stringifyRequest(e,t){if(typeof e.utils!=="undefined"&&typeof e.utils.contextify==="function"){return JSON.stringify(e.utils.contextify(e.context||e.rootContext,t))}const i=t.split("!");const{context:n}=e;return JSON.stringify(i.map((e=>{const t=e.match(/^(.*?)(\?.*)/);const i=t?t[2]:"";let r=t?t[1]:e;if(isAbsolutePath(r)&&n){r=o.default.relative(n,r);if(isAbsolutePath(r)){return r+i}if(isRelativePath(r)===false){r=`./${r}`}}return r.replace(/\\/g,"/")+i})).join("!"))}function getUndoPath(e,t,i){let n=-1;let o="";t=t.replace(/[\\/]$/,"");for(const i of e.split(/[/\\]+/)){if(i===".."){if(n>-1){n--}else{const e=t.lastIndexOf("/");const i=t.lastIndexOf("\\");const n=e<0?i:i<0?e:Math.max(e,i);if(n<0){return`${t}/`}o=`${t.slice(n+1)}/${o}`;t=t.slice(0,n)}}else if(i!=="."){n++}}return n>0?`${"../".repeat(n)}${o}`:i?`./${o}`:o}},717:e=>{e.exports=require("./index.js")},188:e=>{e.exports=require("module")},17:e=>{e.exports=require("path")},646:e=>{e.exports=JSON.parse('{"title":"Mini CSS Extract Plugin Loader options","type":"object","additionalProperties":false,"properties":{"publicPath":{"anyOf":[{"type":"string"},{"instanceof":"Function"}],"description":"Specifies a custom public path for the external resources like images, files, etc inside CSS.","link":"https://github.com/webpack-contrib/mini-css-extract-plugin#publicpath"},"emit":{"type":"boolean","description":"If true, emits a file (writes a file to the filesystem). If false, the plugin will extract the CSS but will not emit the file","link":"https://github.com/webpack-contrib/mini-css-extract-plugin#emit"},"esModule":{"type":"boolean","description":"Generates JS modules that use the ES modules syntax.","link":"https://github.com/webpack-contrib/mini-css-extract-plugin#esmodule"},"layer":{"type":"string"}}}')}};var t={};function __nccwpck_require__(i){var n=t[i];if(n!==undefined){return n.exports}var o=t[i]={exports:{}};var r=true;try{e[i](o,o.exports,__nccwpck_require__);r=false}finally{if(r)delete t[i]}return o.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var i={};(()=>{var e=i;Object.defineProperty(e,"__esModule",{value:true});e["default"]=_default;e.pitch=pitch;var t=_interopRequireDefault(__nccwpck_require__(17));var n=__nccwpck_require__(801);var o=_interopRequireDefault(__nccwpck_require__(646));var r=_interopRequireWildcard(__nccwpck_require__(717));function _getRequireWildcardCache(e){if(typeof WeakMap!=="function")return null;var t=new WeakMap;var i=new WeakMap;return(_getRequireWildcardCache=function(e){return e?i:t})(e)}function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule){return e}if(e===null||typeof e!=="object"&&typeof e!=="function"){return{default:e}}var i=_getRequireWildcardCache(t);if(i&&i.has(e)){return i.get(e)}var n={};var o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e){if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)){var s=o?Object.getOwnPropertyDescriptor(e,r):null;if(s&&(s.get||s.set)){Object.defineProperty(n,r,s)}else{n[r]=e[r]}}}n.default=e;if(i){i.set(e,n)}return n}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function hotLoader(e,i){const o=i.locals?"":"module.hot.accept(undefined, cssReload);";return`${e}\n if(module.hot) {\n // ${Date.now()}\n var cssReload = require(${(0,n.stringifyRequest)(i.context,t.default.join(__dirname,"hmr/hotModuleReplacement.js"))})(module.id, ${JSON.stringify({...i.options,locals:!!i.locals})});\n module.hot.dispose(cssReload);\n ${o}\n }\n `}function pitch(e){const t=this.getOptions(o.default);const i=this.async();const s=this[r.pluginSymbol];if(!s){i(new Error("You forgot to add 'mini-css-extract-plugin' plugin (i.e. `{ plugins: [new MiniCssExtractPlugin()] }`), please read https://github.com/webpack-contrib/mini-css-extract-plugin#getting-started"));return}const{webpack:a}=this._compiler;const handleExports=(e,o,s,u)=>{let l;let c;const p=typeof t.esModule!=="undefined"?t.esModule:true;const addDependencies=e=>{if(!Array.isArray(e)&&e!=null){throw new Error(`Exported value was not extracted as an array: ${JSON.stringify(e)}`)}const i=new Map;const n=typeof t.emit!=="undefined"?t.emit:true;let o;for(const t of e){if(!t.identifier||!n){continue}const e=i.get(t.identifier)||0;const s=r.default.getCssDependency(a);this._module.addDependency(o=new s(t,t.context,e));i.set(t.identifier,e+1)}if(o&&s){o.assets=s;o.assetsInfo=u}};try{const t=e.__esModule?e.default:e;c=e.__esModule&&(!e.default||!("locals"in e.default));if(c){Object.keys(e).forEach((t=>{if(t!=="default"){if(!l){l={}}l[t]=e[t]}}))}else{l=t&&t.locals}let i;if(!Array.isArray(t)){i=[[null,t]]}else{i=t.map((([e,t,i,r,s,a])=>{let u=e;let l;if(o){const t=(0,n.findModuleById)(o,e);u=t.identifier();({context:l}=t)}else{l=this.rootContext}return{identifier:u,context:l,content:Buffer.from(t),media:i,supports:s,layer:a,sourceMap:r?Buffer.from(JSON.stringify(r)):undefined}}))}addDependencies(i)}catch(e){return i(e)}const d=l?c?Object.keys(l).map((e=>`\nexport var ${e} = ${JSON.stringify(l[e])};`)).join(""):`\n${p?"export default":"module.exports ="} ${JSON.stringify(l)};`:p?`\nexport {};`:"";let f=`// extracted by ${r.pluginName}`;f+=this.hot?hotLoader(d,{context:this.context,options:t,locals:l}):d;return i(null,f)};let{publicPath:u}=this._compilation.outputOptions;if(typeof t.publicPath==="string"){u=t.publicPath}else if(typeof t.publicPath==="function"){u=t.publicPath(this.resourcePath,this.rootContext)}if(u==="auto"){u=n.AUTO_PUBLIC_PATH}if(typeof s.experimentalUseImportModule==="undefined"&&typeof this.importModule==="function"||s.experimentalUseImportModule){if(!this.importModule){i(new Error("You are using 'experimentalUseImportModule' but 'this.importModule' is not available in loader context. You need to have at least webpack 5.33.2."));return}const o=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/.test(u);const r=o?u:`${n.ABSOLUTE_PUBLIC_PATH}${u.replace(/\./g,n.SINGLE_DOT_PATH_SEGMENT)}`;this.importModule(`${this.resourcePath}.webpack[javascript/auto]!=!!!${e}`,{layer:t.layer,publicPath:r},((e,t)=>{if(e){i(e);return}handleExports(t)}));return}const l=this.loaders.slice(this.loaderIndex+1);this.addDependency(this.resourcePath);const c="*";const p={filename:c,publicPath:u};const d=this._compilation.createChildCompiler(`${r.pluginName} ${e}`,p);d.options.module={...d.options.module};d.options.module.parser={...d.options.module.parser};d.options.module.parser.javascript={...d.options.module.parser.javascript,url:"relative"};const{NodeTemplatePlugin:f}=a.node;const{NodeTargetPlugin:_}=a.node;new f(p).apply(d);(new _).apply(d);const{EntryOptionPlugin:h}=a;const{library:{EnableLibraryPlugin:m}}=a;new m("commonjs2").apply(d);h.applyEntryOption(d,this.context,{child:{library:{type:"commonjs2"},import:[`!!${e}`]}});const{LimitChunkCountPlugin:y}=a.optimize;new y({maxChunks:1}).apply(d);const{NormalModule:g}=a;d.hooks.thisCompilation.tap(`${r.pluginName} loader`,(t=>{const i=g.getCompilationHooks(t).loader;i.tap(`${r.pluginName} loader`,((t,i)=>{if(i.request===e){i.loaders=l.map((e=>({loader:e.path,options:e.options,ident:e.ident})))}}))}));let b;d.hooks.compilation.tap(r.pluginName,(e=>{e.hooks.processAssets.tap(r.pluginName,(()=>{b=e.assets[c]&&e.assets[c].source();e.chunks.forEach((t=>{t.files.forEach((t=>{e.deleteAsset(t)}))}))}))}));d.runAsChild(((t,o,r)=>{if(t){return i(t)}if(r.errors.length>0){return i(r.errors[0])}const s=Object.create(null);const a=new Map;for(const e of r.getAssets()){s[e.name]=e.source;a.set(e.name,e.info)}r.fileDependencies.forEach((e=>{this.addDependency(e)}),this);r.contextDependencies.forEach((e=>{this.addContextDependency(e)}),this);if(!b){return i(new Error("Didn't get a result from child compiler"))}let u;try{u=(0,n.evalModuleCode)(this,b,e)}catch(e){return i(e)}return handleExports(u,r,s,a)}))}function _default(e){console.log(e)}})();module.exports=i})(); \ No newline at end of file diff --git a/packages/next/src/compiled/sass-loader/cjs.js b/packages/next/src/compiled/sass-loader/cjs.js index 0f413ac00328e..793f2064475a2 100644 --- a/packages/next/src/compiled/sass-loader/cjs.js +++ b/packages/next/src/compiled/sass-loader/cjs.js @@ -1 +1 @@ -(function(){var __webpack_modules__={12:function(e,t){function set(e,t,s){if(typeof s.value==="object")s.value=klona(s.value);if(!s.enumerable||s.get||s.set||!s.configurable||!s.writable||t==="__proto__"){Object.defineProperty(e,t,s)}else e[t]=s.value}function klona(e){if(typeof e!=="object")return e;var t=0,s,r,n,o=Object.prototype.toString.call(e);if(o==="[object Object]"){n=Object.create(e.__proto__||null)}else if(o==="[object Array]"){n=Array(e.length)}else if(o==="[object Set]"){n=new Set;e.forEach((function(e){n.add(klona(e))}))}else if(o==="[object Map]"){n=new Map;e.forEach((function(e,t){n.set(klona(t),klona(e))}))}else if(o==="[object Date]"){n=new Date(+e)}else if(o==="[object RegExp]"){n=new RegExp(e.source,e.flags)}else if(o==="[object DataView]"){n=new e.constructor(klona(e.buffer))}else if(o==="[object ArrayBuffer]"){n=e.slice(0)}else if(o.slice(-6)==="Array]"){n=new e.constructor(e)}if(n){for(r=Object.getOwnPropertySymbols(e);t{const t=r.default.fileURLToPath(e);if(n.default.isAbsolute(t)){this.addDependency(t)}}))}else if(typeof f.stats!=="undefined"&&typeof f.stats.includedFiles!=="undefined"){f.stats.includedFiles.forEach((e=>{const t=n.default.normalize(e);if(n.default.isAbsolute(t)){this.addDependency(t)}}))}s(null,f.css.toString(),_)}var c=loader;t["default"]=c},913:function(__unused_webpack_module,exports,__nccwpck_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getCompileFn=getCompileFn;exports.getModernWebpackImporter=getModernWebpackImporter;exports.getSassImplementation=getSassImplementation;exports.getSassOptions=getSassOptions;exports.getWebpackImporter=getWebpackImporter;exports.getWebpackResolver=getWebpackResolver;exports.isSupportedFibers=isSupportedFibers;exports.normalizeSourceMap=normalizeSourceMap;var _url=_interopRequireDefault(__nccwpck_require__(310));var _path=_interopRequireDefault(__nccwpck_require__(17));var _full=__nccwpck_require__(12);var _neoAsync=_interopRequireDefault(__nccwpck_require__(175));var _SassWarning=_interopRequireDefault(__nccwpck_require__(437));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getDefaultSassImplementation(){let sassImplPkg="sass";try{eval("require").resolve("sass")}catch(ignoreError){try{eval("require").resolve("node-sass");sassImplPkg="node-sass"}catch(e){try{require.resolve("sass-embedded");sassImplPkg="sass-embedded"}catch(e){sassImplPkg="sass"}}}return __nccwpck_require__(438)}function getSassImplementation(e,t){let s=t;if(!s){try{s=getDefaultSassImplementation()}catch(t){e.emitError(t);return}}if(typeof s==="string"){try{s=require(s)}catch(t){e.emitError(t);return}}const{info:r}=s;if(!r){e.emitError(new Error("Unknown Sass implementation."));return}const n=r.split("\t");if(n.length<2){e.emitError(new Error(`Unknown Sass implementation "${r}".`));return}const[o]=n;if(o==="dart-sass"){return s}else if(o==="node-sass"){return s}else if(o==="sass-embedded"){return s}e.emitError(new Error(`Unknown Sass implementation "${o}".`))}function isProductionLikeMode(e){return e.mode==="production"||!e.mode}function proxyCustomImporters(e,t){return[].concat(e).map((e=>function proxyImporter(...s){const r={...this,webpackLoaderContext:t};return e.apply(r,s)}))}function isSupportedFibers(){const[e]=process.versions.node.split(".");return Number(e)<16}async function getSassOptions(e,t,s,r,n){const o=(0,_full.klona)(t.sassOptions?typeof t.sassOptions==="function"?t.sassOptions(e)||{}:t.sassOptions:{});const i=r.info.includes("dart-sass");const a=t.api==="modern";o.data=t.additionalData?typeof t.additionalData==="function"?await t.additionalData(s,e):`${t.additionalData}\n${s}`:s;if(!o.logger){const s=t.warnRuleAsWarning===true;const r=e.getLogger("sass-loader");const formatSpan=e=>`${e.url||"-"}:${e.start.line}:${e.start.column}: `;o.logger={debug(e,t){let s="";if(t.span){s=formatSpan(t.span)}s+=e;r.debug(s)},warn(t,n){let o="";if(n.deprecation){o+="Deprecation "}if(n.span&&!n.stack){o=formatSpan(n.span)}o+=t;if(n.stack){o+=`\n\n${n.stack}`}if(s){e.emitWarning(new _SassWarning.default(o,n))}else{r.warn(o)}}}}const{resourcePath:c}=e;if(a){o.url=_url.default.pathToFileURL(c);if(!o.style&&isProductionLikeMode(e)){o.style="compressed"}if(n){o.sourceMap=true}if(typeof o.syntax==="undefined"){const e=_path.default.extname(c);if(e&&e.toLowerCase()===".scss"){o.syntax="scss"}else if(e&&e.toLowerCase()===".sass"){o.syntax="indented"}else if(e&&e.toLowerCase()===".css"){o.syntax="css"}}o.importers=o.importers?proxyCustomImporters(Array.isArray(o.importers)?o.importers:[o.importers],e):[]}else{o.file=c;if(i&&isSupportedFibers()){const e=!o.fiber&&o.fiber!==false;if(e){let e;try{e=require.resolve("fibers")}catch(e){}if(e){o.fiber=require(e)}}else if(o.fiber===false){delete o.fiber}}else{delete o.fiber}if(!o.outputStyle&&isProductionLikeMode(e)){o.outputStyle="compressed"}if(n){o.sourceMap=true;o.outFile=_path.default.join(e.rootContext,"style.css.map");o.sourceMapContents=true;o.omitSourceMapUrl=true;o.sourceMapEmbed=false}const t=_path.default.extname(c);if(t&&t.toLowerCase()===".sass"&&typeof o.indentedSyntax==="undefined"){o.indentedSyntax=true}else{o.indentedSyntax=Boolean(o.indentedSyntax)}o.importer=o.importer?proxyCustomImporters(Array.isArray(o.importer)?o.importer:[o.importer],e):[];o.includePaths=[].concat(process.cwd()).concat((o.includePaths||[]).map((e=>_path.default.isAbsolute(e)?e:_path.default.join(process.cwd(),e)))).concat(process.env.SASS_PATH?process.env.SASS_PATH.split(process.platform==="win32"?";":":"):[]);if(typeof o.charset==="undefined"){o.charset=true}}return o}const MODULE_REQUEST_REGEX=/^[^?]*~/;const IS_MODULE_IMPORT=/^~([^/]+|[^/]+\/|@[^/]+[/][^/]+|@[^/]+\/?|@[^/]+[/][^/]+\/)$/;function getPossibleRequests(e,t=false,s=false){let r=e;if(t){if(MODULE_REQUEST_REGEX.test(e)){r=r.replace(MODULE_REQUEST_REGEX,"")}if(IS_MODULE_IMPORT.test(e)){r=r[r.length-1]==="/"?r:`${r}/`;return[...new Set([r,e])]}}const n=_path.default.extname(r).toLowerCase();if(n===".css"){return[]}const o=_path.default.dirname(r);const i=o==="."?"":`${o}/`;const a=_path.default.basename(r);const c=_path.default.basename(r,n);return[...new Set([].concat(s?[`${i}_${c}.import${n}`,`${i}${c}.import${n}`]:[]).concat([`${i}_${a}`,`${i}${a}`]).concat(t?[e]:[]))]}function promiseResolve(e){return(t,s)=>new Promise(((r,n)=>{e(t,s,((e,t)=>{if(e){n(e)}else{r(t)}}))}))}async function startResolving(e){if(e.length===0){return Promise.reject()}const[{possibleRequests:t}]=e;if(t.length===0){return Promise.reject()}const[{resolve:s,context:r}]=e;try{return await s(r,t[0])}catch(s){const[,...r]=t;if(r.length===0){const[,...t]=e;return startResolving(t)}e[0].possibleRequests=r;return startResolving(e)}}const IS_SPECIAL_MODULE_IMPORT=/^~[^/]+$/;const IS_NATIVE_WIN32_PATH=/^[a-z]:[/\\]|^\\\\/i;function getWebpackResolver(e,t,s=[]){const r=t&&t.info.includes("dart-sass");const n=promiseResolve(e({alias:[],aliasFields:[],conditionNames:[],descriptionFiles:[],extensions:[".sass",".scss",".css"],exportsFields:[],mainFields:[],mainFiles:["_index","index"],modules:[],restrictions:[/\.((sa|sc|c)ss)$/i],preferRelative:true}));const o=promiseResolve(e({alias:[],aliasFields:[],conditionNames:[],descriptionFiles:[],extensions:[".sass",".scss",".css"],exportsFields:[],mainFields:[],mainFiles:["_index.import","_index","index.import","index"],modules:[],restrictions:[/\.((sa|sc|c)ss)$/i],preferRelative:true}));const i=promiseResolve(e({dependencyType:"sass",conditionNames:["sass","style"],mainFields:["sass","style","main","..."],mainFiles:["_index","index","..."],extensions:[".sass",".scss",".css"],restrictions:[/\.((sa|sc|c)ss)$/i],preferRelative:true}));const a=promiseResolve(e({dependencyType:"sass",conditionNames:["sass","style"],mainFields:["sass","style","main","..."],mainFiles:["_index.import","_index","index.import","index","..."],extensions:[".sass",".scss",".css"],restrictions:[/\.((sa|sc|c)ss)$/i],preferRelative:true}));return(e,t,c)=>{if(!r&&!_path.default.isAbsolute(e)){return Promise.reject()}const l=t;const u=l.slice(0,5).toLowerCase()==="file:";if(u){try{t=_url.default.fileURLToPath(l)}catch(e){t=t.slice(7)}}let p=[];const d=!IS_SPECIAL_MODULE_IMPORT.test(t)&&!u&&!l.startsWith("/")&&!IS_NATIVE_WIN32_PATH.test(l);if(s.length>0&&d){const i=getPossibleRequests(t,false,c);if(!r){p=p.concat({resolve:c?o:n,context:_path.default.dirname(e),possibleRequests:i})}p=p.concat(s.map((e=>({resolve:c?o:n,context:e,possibleRequests:i}))))}const f=getPossibleRequests(t,true,c);p=p.concat({resolve:c?a:i,context:_path.default.dirname(e),possibleRequests:f});return startResolving(p)}}const MATCH_CSS=/\.css$/i;function getModernWebpackImporter(){return{async canonicalize(){return null},load(){}}}function getWebpackImporter(e,t,s){const r=getWebpackResolver(e.getResolve,t,s);return function importer(t,s,n){const{fromImport:o}=this;r(s,t,o).then((t=>{e.addDependency(_path.default.normalize(t));n({file:t.replace(MATCH_CSS,"")})})).catch((()=>{n({file:t})}))}}let nodeSassJobQueue=null;function getCompileFn(e,t){const s=e.info.includes("dart-sass")||e.info.includes("sass-embedded");if(s){if(t.api==="modern"){return t=>{const{data:s,...r}=t;return e.compileStringAsync(s,r)}}return t=>new Promise(((s,r)=>{e.render(t,((e,t)=>{if(e){r(e);return}s(t)}))}))}if(t.api==="modern"){throw new Error("Modern API is not supported for 'node-sass'")}if(nodeSassJobQueue===null){const t=Number(process.env.UV_THREADPOOL_SIZE||4);nodeSassJobQueue=_neoAsync.default.queue(e.render.bind(e),t-1)}return e=>new Promise(((t,s)=>{nodeSassJobQueue.push.bind(nodeSassJobQueue)(e,((e,r)=>{if(e){s(e);return}t(r)}))}))}const ABSOLUTE_SCHEME=/^[A-Za-z0-9+\-.]+:/;function getURLType(e){if(e[0]==="/"){if(e[1]==="/"){return"scheme-relative"}return"path-absolute"}if(IS_NATIVE_WIN32_PATH.test(e)){return"path-absolute"}return ABSOLUTE_SCHEME.test(e)?"absolute":"path-relative"}function normalizeSourceMap(e,t){const s=e;if(typeof s.file!=="undefined"){delete s.file}s.sourceRoot="";s.sources=s.sources.map((e=>{const s=getURLType(e);if(s==="absolute"&&/^file:/i.test(e)){return _url.default.fileURLToPath(e)}else if(s==="path-relative"){return _path.default.resolve(t,_path.default.normalize(e))}return e}));return s}},175:function(e){"use strict";e.exports=require("next/dist/compiled/neo-async")},17:function(e){"use strict";e.exports=require("path")},438:function(e){"use strict";e.exports=require("sass")},310:function(e){"use strict";e.exports=require("url")},462:function(e){"use strict";e.exports=JSON.parse('{"title":"Sass Loader options","type":"object","properties":{"implementation":{"description":"The implementation of the sass to be used.","link":"https://github.com/webpack-contrib/sass-loader#implementation","anyOf":[{"type":"string"},{"type":"object"}]},"api":{"description":"Switch between old and modern API for `sass` (`Dart Sass`) and `Sass Embedded` implementations.","link":"https://github.com/webpack-contrib/sass-loader#sassoptions","enum":["legacy","modern"]},"sassOptions":{"description":"Options for `node-sass` or `sass` (`Dart Sass`) implementation.","link":"https://github.com/webpack-contrib/sass-loader#sassoptions","anyOf":[{"type":"object","additionalProperties":true},{"instanceof":"Function"}]},"additionalData":{"description":"Prepends/Appends `Sass`/`SCSS` code before the actual entry file.","link":"https://github.com/webpack-contrib/sass-loader#additionaldata","anyOf":[{"type":"string"},{"instanceof":"Function"}]},"sourceMap":{"description":"Enables/Disables generation of source maps.","link":"https://github.com/webpack-contrib/sass-loader#sourcemap","type":"boolean"},"webpackImporter":{"description":"Enables/Disables default `webpack` importer.","link":"https://github.com/webpack-contrib/sass-loader#webpackimporter","type":"boolean"},"warnRuleAsWarning":{"description":"Treats the \'@warn\' rule as a webpack warning.","link":"https://github.com/webpack-contrib/sass-loader#warnruleaswarning","type":"boolean"}},"additionalProperties":false}')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var t=__webpack_module_cache__[e];if(t!==undefined){return t.exports}var s=__webpack_module_cache__[e]={exports:{}};var r=true;try{__webpack_modules__[e](s,s.exports,__nccwpck_require__);r=false}finally{if(r)delete __webpack_module_cache__[e]}return s.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(359);module.exports=__webpack_exports__})(); \ No newline at end of file +(function(){var __webpack_modules__={12:function(e,t){function set(e,t,s){if(typeof s.value==="object")s.value=klona(s.value);if(!s.enumerable||s.get||s.set||!s.configurable||!s.writable||t==="__proto__"){Object.defineProperty(e,t,s)}else e[t]=s.value}function klona(e){if(typeof e!=="object")return e;var t=0,s,r,n,o=Object.prototype.toString.call(e);if(o==="[object Object]"){n=Object.create(e.__proto__||null)}else if(o==="[object Array]"){n=Array(e.length)}else if(o==="[object Set]"){n=new Set;e.forEach((function(e){n.add(klona(e))}))}else if(o==="[object Map]"){n=new Map;e.forEach((function(e,t){n.set(klona(t),klona(e))}))}else if(o==="[object Date]"){n=new Date(+e)}else if(o==="[object RegExp]"){n=new RegExp(e.source,e.flags)}else if(o==="[object DataView]"){n=new e.constructor(klona(e.buffer))}else if(o==="[object ArrayBuffer]"){n=e.slice(0)}else if(o.slice(-6)==="Array]"){n=new e.constructor(e)}if(n){for(r=Object.getOwnPropertySymbols(e);t{const t=r.default.fileURLToPath(e);if(n.default.isAbsolute(t)){this.addDependency(t)}}))}else if(typeof f.stats!=="undefined"&&typeof f.stats.includedFiles!=="undefined"){f.stats.includedFiles.forEach((e=>{const t=n.default.normalize(e);if(n.default.isAbsolute(t)){this.addDependency(t)}}))}s(null,f.css.toString(),_)}var c=loader;t["default"]=c},208:function(__unused_webpack_module,exports,__nccwpck_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getCompileFn=getCompileFn;exports.getModernWebpackImporter=getModernWebpackImporter;exports.getSassImplementation=getSassImplementation;exports.getSassOptions=getSassOptions;exports.getWebpackImporter=getWebpackImporter;exports.getWebpackResolver=getWebpackResolver;exports.isSupportedFibers=isSupportedFibers;exports.normalizeSourceMap=normalizeSourceMap;var _url=_interopRequireDefault(__nccwpck_require__(310));var _path=_interopRequireDefault(__nccwpck_require__(17));var _full=__nccwpck_require__(12);var _neoAsync=_interopRequireDefault(__nccwpck_require__(175));var _SassWarning=_interopRequireDefault(__nccwpck_require__(390));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getDefaultSassImplementation(){let sassImplPkg="sass";try{eval("require").resolve("sass")}catch(ignoreError){try{eval("require").resolve("node-sass");sassImplPkg="node-sass"}catch(e){try{require.resolve("sass-embedded");sassImplPkg="sass-embedded"}catch(e){sassImplPkg="sass"}}}return __nccwpck_require__(438)}function getSassImplementation(e,t){let s=t;if(!s){try{s=getDefaultSassImplementation()}catch(t){e.emitError(t);return}}if(typeof s==="string"){try{s=require(s)}catch(t){e.emitError(t);return}}const{info:r}=s;if(!r){e.emitError(new Error("Unknown Sass implementation."));return}const n=r.split("\t");if(n.length<2){e.emitError(new Error(`Unknown Sass implementation "${r}".`));return}const[o]=n;if(o==="dart-sass"){return s}else if(o==="node-sass"){return s}else if(o==="sass-embedded"){return s}e.emitError(new Error(`Unknown Sass implementation "${o}".`))}function isProductionLikeMode(e){return e.mode==="production"||!e.mode}function proxyCustomImporters(e,t){return[].concat(e).map((e=>function proxyImporter(...s){const r={...this,webpackLoaderContext:t};return e.apply(r,s)}))}function isSupportedFibers(){const[e]=process.versions.node.split(".");return Number(e)<16}async function getSassOptions(e,t,s,r,n){const o=(0,_full.klona)(t.sassOptions?typeof t.sassOptions==="function"?t.sassOptions(e)||{}:t.sassOptions:{});const i=r.info.includes("dart-sass");const a=t.api==="modern";o.data=t.additionalData?typeof t.additionalData==="function"?await t.additionalData(s,e):`${t.additionalData}\n${s}`:s;if(!o.logger){const s=t.warnRuleAsWarning===true;const r=e.getLogger("sass-loader");const formatSpan=e=>`${e.url||"-"}:${e.start.line}:${e.start.column}: `;o.logger={debug(e,t){let s="";if(t.span){s=formatSpan(t.span)}s+=e;r.debug(s)},warn(t,n){let o="";if(n.deprecation){o+="Deprecation "}if(n.span&&!n.stack){o=formatSpan(n.span)}o+=t;if(n.stack){o+=`\n\n${n.stack}`}if(s){e.emitWarning(new _SassWarning.default(o,n))}else{r.warn(o)}}}}const{resourcePath:c}=e;if(a){o.url=_url.default.pathToFileURL(c);if(!o.style&&isProductionLikeMode(e)){o.style="compressed"}if(n){o.sourceMap=true}if(typeof o.syntax==="undefined"){const e=_path.default.extname(c);if(e&&e.toLowerCase()===".scss"){o.syntax="scss"}else if(e&&e.toLowerCase()===".sass"){o.syntax="indented"}else if(e&&e.toLowerCase()===".css"){o.syntax="css"}}o.importers=o.importers?proxyCustomImporters(Array.isArray(o.importers)?o.importers:[o.importers],e):[]}else{o.file=c;if(i&&isSupportedFibers()){const e=!o.fiber&&o.fiber!==false;if(e){let e;try{e=require.resolve("fibers")}catch(e){}if(e){o.fiber=require(e)}}else if(o.fiber===false){delete o.fiber}}else{delete o.fiber}if(!o.outputStyle&&isProductionLikeMode(e)){o.outputStyle="compressed"}if(n){o.sourceMap=true;o.outFile=_path.default.join(e.rootContext,"style.css.map");o.sourceMapContents=true;o.omitSourceMapUrl=true;o.sourceMapEmbed=false}const t=_path.default.extname(c);if(t&&t.toLowerCase()===".sass"&&typeof o.indentedSyntax==="undefined"){o.indentedSyntax=true}else{o.indentedSyntax=Boolean(o.indentedSyntax)}o.importer=o.importer?proxyCustomImporters(Array.isArray(o.importer)?o.importer:[o.importer],e):[];o.includePaths=[].concat(process.cwd()).concat((o.includePaths||[]).map((e=>_path.default.isAbsolute(e)?e:_path.default.join(process.cwd(),e)))).concat(process.env.SASS_PATH?process.env.SASS_PATH.split(process.platform==="win32"?";":":"):[]);if(typeof o.charset==="undefined"){o.charset=true}}return o}const MODULE_REQUEST_REGEX=/^[^?]*~/;const IS_MODULE_IMPORT=/^~([^/]+|[^/]+\/|@[^/]+[/][^/]+|@[^/]+\/?|@[^/]+[/][^/]+\/)$/;function getPossibleRequests(e,t=false,s=false){let r=e;if(t){if(MODULE_REQUEST_REGEX.test(e)){r=r.replace(MODULE_REQUEST_REGEX,"")}if(IS_MODULE_IMPORT.test(e)){r=r[r.length-1]==="/"?r:`${r}/`;return[...new Set([r,e])]}}const n=_path.default.extname(r).toLowerCase();if(n===".css"){return[]}const o=_path.default.dirname(r);const i=o==="."?"":`${o}/`;const a=_path.default.basename(r);const c=_path.default.basename(r,n);return[...new Set([].concat(s?[`${i}_${c}.import${n}`,`${i}${c}.import${n}`]:[]).concat([`${i}_${a}`,`${i}${a}`]).concat(t?[e]:[]))]}function promiseResolve(e){return(t,s)=>new Promise(((r,n)=>{e(t,s,((e,t)=>{if(e){n(e)}else{r(t)}}))}))}async function startResolving(e){if(e.length===0){return Promise.reject()}const[{possibleRequests:t}]=e;if(t.length===0){return Promise.reject()}const[{resolve:s,context:r}]=e;try{return await s(r,t[0])}catch(s){const[,...r]=t;if(r.length===0){const[,...t]=e;return startResolving(t)}e[0].possibleRequests=r;return startResolving(e)}}const IS_SPECIAL_MODULE_IMPORT=/^~[^/]+$/;const IS_NATIVE_WIN32_PATH=/^[a-z]:[/\\]|^\\\\/i;function getWebpackResolver(e,t,s=[]){const r=t&&t.info.includes("dart-sass");const n=promiseResolve(e({alias:[],aliasFields:[],conditionNames:[],descriptionFiles:[],extensions:[".sass",".scss",".css"],exportsFields:[],mainFields:[],mainFiles:["_index","index"],modules:[],restrictions:[/\.((sa|sc|c)ss)$/i],preferRelative:true}));const o=promiseResolve(e({alias:[],aliasFields:[],conditionNames:[],descriptionFiles:[],extensions:[".sass",".scss",".css"],exportsFields:[],mainFields:[],mainFiles:["_index.import","_index","index.import","index"],modules:[],restrictions:[/\.((sa|sc|c)ss)$/i],preferRelative:true}));const i=promiseResolve(e({dependencyType:"sass",conditionNames:["sass","style"],mainFields:["sass","style","main","..."],mainFiles:["_index","index","..."],extensions:[".sass",".scss",".css"],restrictions:[/\.((sa|sc|c)ss)$/i],preferRelative:true}));const a=promiseResolve(e({dependencyType:"sass",conditionNames:["sass","style"],mainFields:["sass","style","main","..."],mainFiles:["_index.import","_index","index.import","index","..."],extensions:[".sass",".scss",".css"],restrictions:[/\.((sa|sc|c)ss)$/i],preferRelative:true}));return(e,t,c)=>{if(!r&&!_path.default.isAbsolute(e)){return Promise.reject()}const l=t;const u=l.slice(0,5).toLowerCase()==="file:";if(u){try{t=_url.default.fileURLToPath(l)}catch(e){t=t.slice(7)}}let p=[];const d=!IS_SPECIAL_MODULE_IMPORT.test(t)&&!u&&!l.startsWith("/")&&!IS_NATIVE_WIN32_PATH.test(l);if(s.length>0&&d){const i=getPossibleRequests(t,false,c);if(!r){p=p.concat({resolve:c?o:n,context:_path.default.dirname(e),possibleRequests:i})}p=p.concat(s.map((e=>({resolve:c?o:n,context:e,possibleRequests:i}))))}const f=getPossibleRequests(t,true,c);p=p.concat({resolve:c?a:i,context:_path.default.dirname(e),possibleRequests:f});return startResolving(p)}}const MATCH_CSS=/\.css$/i;function getModernWebpackImporter(){return{async canonicalize(){return null},load(){}}}function getWebpackImporter(e,t,s){const r=getWebpackResolver(e.getResolve,t,s);return function importer(t,s,n){const{fromImport:o}=this;r(s,t,o).then((t=>{e.addDependency(_path.default.normalize(t));n({file:t.replace(MATCH_CSS,"")})})).catch((()=>{n({file:t})}))}}let nodeSassJobQueue=null;function getCompileFn(e,t){const s=e.info.includes("dart-sass")||e.info.includes("sass-embedded");if(s){if(t.api==="modern"){return t=>{const{data:s,...r}=t;return e.compileStringAsync(s,r)}}return t=>new Promise(((s,r)=>{e.render(t,((e,t)=>{if(e){r(e);return}s(t)}))}))}if(t.api==="modern"){throw new Error("Modern API is not supported for 'node-sass'")}if(nodeSassJobQueue===null){const t=Number(process.env.UV_THREADPOOL_SIZE||4);nodeSassJobQueue=_neoAsync.default.queue(e.render.bind(e),t-1)}return e=>new Promise(((t,s)=>{nodeSassJobQueue.push.bind(nodeSassJobQueue)(e,((e,r)=>{if(e){s(e);return}t(r)}))}))}const ABSOLUTE_SCHEME=/^[A-Za-z0-9+\-.]+:/;function getURLType(e){if(e[0]==="/"){if(e[1]==="/"){return"scheme-relative"}return"path-absolute"}if(IS_NATIVE_WIN32_PATH.test(e)){return"path-absolute"}return ABSOLUTE_SCHEME.test(e)?"absolute":"path-relative"}function normalizeSourceMap(e,t){const s=e;if(typeof s.file!=="undefined"){delete s.file}s.sourceRoot="";s.sources=s.sources.map((e=>{const s=getURLType(e);if(s==="absolute"&&/^file:/i.test(e)){return _url.default.fileURLToPath(e)}else if(s==="path-relative"){return _path.default.resolve(t,_path.default.normalize(e))}return e}));return s}},175:function(e){"use strict";e.exports=require("next/dist/compiled/neo-async")},17:function(e){"use strict";e.exports=require("path")},438:function(e){"use strict";e.exports=require("sass")},310:function(e){"use strict";e.exports=require("url")},26:function(e){"use strict";e.exports=JSON.parse('{"title":"Sass Loader options","type":"object","properties":{"implementation":{"description":"The implementation of the sass to be used.","link":"https://github.com/webpack-contrib/sass-loader#implementation","anyOf":[{"type":"string"},{"type":"object"}]},"api":{"description":"Switch between old and modern API for `sass` (`Dart Sass`) and `Sass Embedded` implementations.","link":"https://github.com/webpack-contrib/sass-loader#sassoptions","enum":["legacy","modern"]},"sassOptions":{"description":"Options for `node-sass` or `sass` (`Dart Sass`) implementation.","link":"https://github.com/webpack-contrib/sass-loader#sassoptions","anyOf":[{"type":"object","additionalProperties":true},{"instanceof":"Function"}]},"additionalData":{"description":"Prepends/Appends `Sass`/`SCSS` code before the actual entry file.","link":"https://github.com/webpack-contrib/sass-loader#additionaldata","anyOf":[{"type":"string"},{"instanceof":"Function"}]},"sourceMap":{"description":"Enables/Disables generation of source maps.","link":"https://github.com/webpack-contrib/sass-loader#sourcemap","type":"boolean"},"webpackImporter":{"description":"Enables/Disables default `webpack` importer.","link":"https://github.com/webpack-contrib/sass-loader#webpackimporter","type":"boolean"},"warnRuleAsWarning":{"description":"Treats the \'@warn\' rule as a webpack warning.","link":"https://github.com/webpack-contrib/sass-loader#warnruleaswarning","type":"boolean"}},"additionalProperties":false}')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var t=__webpack_module_cache__[e];if(t!==undefined){return t.exports}var s=__webpack_module_cache__[e]={exports:{}};var r=true;try{__webpack_modules__[e](s,s.exports,__nccwpck_require__);r=false}finally{if(r)delete __webpack_module_cache__[e]}return s.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(283);module.exports=__webpack_exports__})(); \ No newline at end of file diff --git a/packages/next/src/compiled/webpack/bundle5.js b/packages/next/src/compiled/webpack/bundle5.js index ec525d6e0a4c1..66af0a31767da 100644 --- a/packages/next/src/compiled/webpack/bundle5.js +++ b/packages/next/src/compiled/webpack/bundle5.js @@ -25,4 +25,4 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ -var E;var P;var R;var $;var N;var L;var q;var K;var ae;var ge;var be;var xe;var ve;var Ae;var Ie;var He;var Qe;var Je;var Ve;var Ke;var Ye;var Xe;var Ze;(function(E){var P=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:{};if(typeof define==="function"&&define.amd){define("tslib",["exports"],(function(v){E(createExporter(P,createExporter(v)))}))}else if(true&&typeof v.exports==="object"){E(createExporter(P,createExporter(v.exports)))}else{E(createExporter(P))}function createExporter(v,E){if(v!==P){if(typeof Object.create==="function"){Object.defineProperty(v,"__esModule",{value:true})}else{v.__esModule=true}}return function(P,R){return v[P]=E?E(P,R):R}}})((function(v){var et=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,E){v.__proto__=E}||function(v,E){for(var P in E)if(E.hasOwnProperty(P))v[P]=E[P]};E=function(v,E){et(v,E);function __(){this.constructor=v}v.prototype=E===null?Object.create(E):(__.prototype=E.prototype,new __)};P=Object.assign||function(v){for(var E,P=1,R=arguments.length;P=0;q--)if(L=v[q])N=($<3?L(N):$>3?L(E,P,N):L(E,P))||N;return $>3&&N&&Object.defineProperty(E,P,N),N};N=function(v,E){return function(P,R){E(P,R,v)}};L=function(v,E){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(v,E)};q=function(v,E,P,R){function adopt(v){return v instanceof P?v:new P((function(E){E(v)}))}return new(P||(P=Promise))((function(P,$){function fulfilled(v){try{step(R.next(v))}catch(v){$(v)}}function rejected(v){try{step(R["throw"](v))}catch(v){$(v)}}function step(v){v.done?P(v.value):adopt(v.value).then(fulfilled,rejected)}step((R=R.apply(v,E||[])).next())}))};K=function(v,E){var P={label:0,sent:function(){if(N[0]&1)throw N[1];return N[1]},trys:[],ops:[]},R,$,N,L;return L={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(L[Symbol.iterator]=function(){return this}),L;function verb(v){return function(E){return step([v,E])}}function step(L){if(R)throw new TypeError("Generator is already executing.");while(P)try{if(R=1,$&&(N=L[0]&2?$["return"]:L[0]?$["throw"]||((N=$["return"])&&N.call($),0):$.next)&&!(N=N.call($,L[1])).done)return N;if($=0,N)L=[L[0]&2,N.value];switch(L[0]){case 0:case 1:N=L;break;case 4:P.label++;return{value:L[1],done:false};case 5:P.label++;$=L[1];L=[0];continue;case 7:L=P.ops.pop();P.trys.pop();continue;default:if(!(N=P.trys,N=N.length>0&&N[N.length-1])&&(L[0]===6||L[0]===2)){P=0;continue}if(L[0]===3&&(!N||L[1]>N[0]&&L[1]=v.length)v=void 0;return{value:v&&v[R++],done:!v}}};throw new TypeError(E?"Object is not iterable.":"Symbol.iterator is not defined.")};be=function(v,E){var P=typeof Symbol==="function"&&v[Symbol.iterator];if(!P)return v;var R=P.call(v),$,N=[],L;try{while((E===void 0||E-- >0)&&!($=R.next()).done)N.push($.value)}catch(v){L={error:v}}finally{try{if($&&!$.done&&(P=R["return"]))P.call(R)}finally{if(L)throw L.error}}return N};xe=function(){for(var v=[],E=0;E1||resume(v,E)}))}}function resume(v,E){try{step(R[v](E))}catch(v){settle(N[0][3],v)}}function step(v){v.value instanceof Ae?Promise.resolve(v.value.v).then(fulfill,reject):settle(N[0][2],v)}function fulfill(v){resume("next",v)}function reject(v){resume("throw",v)}function settle(v,E){if(v(E),N.shift(),N.length)resume(N[0][0],N[0][1])}};He=function(v){var E,P;return E={},verb("next"),verb("throw",(function(v){throw v})),verb("return"),E[Symbol.iterator]=function(){return this},E;function verb(R,$){E[R]=v[R]?function(E){return(P=!P)?{value:Ae(v[R](E)),done:R==="return"}:$?$(E):E}:$}};Qe=function(v){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var E=v[Symbol.asyncIterator],P;return E?E.call(v):(v=typeof ge==="function"?ge(v):v[Symbol.iterator](),P={},verb("next"),verb("throw"),verb("return"),P[Symbol.asyncIterator]=function(){return this},P);function verb(E){P[E]=v[E]&&function(P){return new Promise((function(R,$){P=v[E](P),settle(R,$,P.done,P.value)}))}}function settle(v,E,P,R){Promise.resolve(R).then((function(E){v({value:E,done:P})}),E)}};Je=function(v,E){if(Object.defineProperty){Object.defineProperty(v,"raw",{value:E})}else{v.raw=E}return v};Ve=function(v){if(v&&v.__esModule)return v;var E={};if(v!=null)for(var P in v)if(Object.hasOwnProperty.call(v,P))E[P]=v[P];E["default"]=v;return E};Ke=function(v){return v&&v.__esModule?v:{default:v}};Ye=function(v,E){if(!E.has(v)){throw new TypeError("attempted to get private field on non-instance")}return E.get(v)};Xe=function(v,E,P){if(!E.has(v)){throw new TypeError("attempted to set private field on non-instance")}E.set(v,P);return P};v("__extends",E);v("__assign",P);v("__rest",R);v("__decorate",$);v("__param",N);v("__metadata",L);v("__awaiter",q);v("__generator",K);v("__exportStar",ae);v("__createBinding",Ze);v("__values",ge);v("__read",be);v("__spread",xe);v("__spreadArrays",ve);v("__await",Ae);v("__asyncGenerator",Ie);v("__asyncDelegator",He);v("__asyncValues",Qe);v("__makeTemplateObject",Je);v("__importStar",Ve);v("__importDefault",Ke);v("__classPrivateFieldGet",Ye);v("__classPrivateFieldSet",Xe)}))},72432:function(v,E,P){"use strict";const R=P(94252);const{JAVASCRIPT_MODULE_TYPE_AUTO:$,JAVASCRIPT_MODULE_TYPE_DYNAMIC:N,JAVASCRIPT_MODULE_TYPE_ESM:L}=P(98791);const q=P(75189);const K=P(45425);const ae=P(52540);const ge=P(61122);const be=P(87885);const{toConstantDependency:xe,evaluateToString:ve}=P(31445);const Ae=P(28176);const Ie=P(7551);function getReplacements(v,E){return{__webpack_require__:{expr:q.require,req:[q.require],type:"function",assign:false},__webpack_public_path__:{expr:q.publicPath,req:[q.publicPath],type:"string",assign:true},__webpack_base_uri__:{expr:q.baseURI,req:[q.baseURI],type:"string",assign:true},__webpack_modules__:{expr:q.moduleFactories,req:[q.moduleFactories],type:"object",assign:false},__webpack_chunk_load__:{expr:q.ensureChunk,req:[q.ensureChunk],type:"function",assign:true},__non_webpack_require__:{expr:v?`__WEBPACK_EXTERNAL_createRequire(${E}.url)`:"require",req:null,type:undefined,assign:true},__webpack_nonce__:{expr:q.scriptNonce,req:[q.scriptNonce],type:"string",assign:true},__webpack_hash__:{expr:`${q.getFullHash}()`,req:[q.getFullHash],type:"string",assign:false},__webpack_chunkname__:{expr:q.chunkName,req:[q.chunkName],type:"string",assign:false},__webpack_get_script_filename__:{expr:q.getChunkScriptFilename,req:[q.getChunkScriptFilename],type:"function",assign:true},__webpack_runtime_id__:{expr:q.runtimeId,req:[q.runtimeId],assign:false},"require.onError":{expr:q.uncaughtErrorHandler,req:[q.uncaughtErrorHandler],type:undefined,assign:true},__system_context__:{expr:q.systemContext,req:[q.systemContext],type:"object",assign:false},__webpack_share_scopes__:{expr:q.shareScopeMap,req:[q.shareScopeMap],type:"object",assign:false},__webpack_init_sharing__:{expr:q.initializeSharing,req:[q.initializeSharing],type:"function",assign:true}}}const He="APIPlugin";class APIPlugin{constructor(v={}){this.options=v}apply(v){v.hooks.compilation.tap(He,((v,{normalModuleFactory:E})=>{const{importMetaName:P}=v.outputOptions;const Qe=getReplacements(this.options.module,P);v.dependencyTemplates.set(ae,new ae.Template);v.hooks.runtimeRequirementInTree.for(q.chunkName).tap(He,(E=>{v.addRuntimeModule(E,new Ae(E.name));return true}));v.hooks.runtimeRequirementInTree.for(q.getFullHash).tap(He,((E,P)=>{v.addRuntimeModule(E,new Ie);return true}));const Je=be.getCompilationHooks(v);Je.renderModuleContent.tap(He,((v,E,P)=>{if(E.buildInfo.needCreateRequire){const v=[new R('import { createRequire as __WEBPACK_EXTERNAL_createRequire } from "module";\n',R.STAGE_HARMONY_IMPORTS,0,"external module node-commonjs")];P.chunkInitFragments.push(...v)}return v}));const handler=v=>{Object.keys(Qe).forEach((E=>{const P=Qe[E];v.hooks.expression.for(E).tap(He,(R=>{const $=xe(v,P.expr,P.req);if(E==="__non_webpack_require__"&&this.options.module){v.state.module.buildInfo.needCreateRequire=true}return $(R)}));if(P.assign===false){v.hooks.assign.for(E).tap(He,(v=>{const P=new K(`${E} must not be assigned`);P.loc=v.loc;throw P}))}if(P.type){v.hooks.evaluateTypeof.for(E).tap(He,ve(P.type))}}));v.hooks.expression.for("__webpack_layer__").tap(He,(E=>{const P=new ae(JSON.stringify(v.state.module.layer),E.range);P.loc=E.loc;v.state.module.addPresentationalDependency(P);return true}));v.hooks.evaluateIdentifier.for("__webpack_layer__").tap(He,(E=>(v.state.module.layer===null?(new ge).setNull():(new ge).setString(v.state.module.layer)).setRange(E.range)));v.hooks.evaluateTypeof.for("__webpack_layer__").tap(He,(E=>(new ge).setString(v.state.module.layer===null?"object":"string").setRange(E.range)));v.hooks.expression.for("__webpack_module__.id").tap(He,(E=>{v.state.module.buildInfo.moduleConcatenationBailout="__webpack_module__.id";const P=new ae(v.state.module.moduleArgument+".id",E.range,[q.moduleId]);P.loc=E.loc;v.state.module.addPresentationalDependency(P);return true}));v.hooks.expression.for("__webpack_module__").tap(He,(E=>{v.state.module.buildInfo.moduleConcatenationBailout="__webpack_module__";const P=new ae(v.state.module.moduleArgument,E.range,[q.module]);P.loc=E.loc;v.state.module.addPresentationalDependency(P);return true}));v.hooks.evaluateTypeof.for("__webpack_module__").tap(He,ve("object"))};E.hooks.parser.for($).tap(He,handler);E.hooks.parser.for(N).tap(He,handler);E.hooks.parser.for(L).tap(He,handler)}))}}v.exports=APIPlugin},86478:function(v,E,P){"use strict";const R=P(45425);const $=/at ([a-zA-Z0-9_.]*)/;function createMessage(v){return`Abstract method${v?" "+v:""}. Must be overridden.`}function Message(){this.stack=undefined;Error.captureStackTrace(this);const v=this.stack.split("\n")[3].match($);this.message=v&&v[1]?createMessage(v[1]):createMessage()}class AbstractMethodError extends R{constructor(){super((new Message).message);this.name="AbstractMethodError"}}v.exports=AbstractMethodError},75165:function(v,E,P){"use strict";const R=P(27449);const $=P(74364);class AsyncDependenciesBlock extends R{constructor(v,E,P){super();if(typeof v==="string"){v={name:v}}else if(!v){v={name:undefined}}this.groupOptions=v;this.loc=E;this.request=P;this._stringifiedGroupOptions=undefined}get chunkName(){return this.groupOptions.name}set chunkName(v){if(this.groupOptions.name!==v){this.groupOptions.name=v;this._stringifiedGroupOptions=undefined}}updateHash(v,E){const{chunkGraph:P}=E;if(this._stringifiedGroupOptions===undefined){this._stringifiedGroupOptions=JSON.stringify(this.groupOptions)}const R=P.getBlockChunkGroup(this);v.update(`${this._stringifiedGroupOptions}${R?R.id:""}`);super.updateHash(v,E)}serialize(v){const{write:E}=v;E(this.groupOptions);E(this.loc);E(this.request);super.serialize(v)}deserialize(v){const{read:E}=v;this.groupOptions=E();this.loc=E();this.request=E();super.deserialize(v)}}$(AsyncDependenciesBlock,"webpack/lib/AsyncDependenciesBlock");Object.defineProperty(AsyncDependenciesBlock.prototype,"module",{get(){throw new Error("module property was removed from AsyncDependenciesBlock (it's not needed)")},set(){throw new Error("module property was removed from AsyncDependenciesBlock (it's not needed)")}});v.exports=AsyncDependenciesBlock},22609:function(v,E,P){"use strict";const R=P(45425);class AsyncDependencyToInitialChunkError extends R{constructor(v,E,P){super(`It's not allowed to load an initial chunk on demand. The chunk name "${v}" is already used by an entrypoint.`);this.name="AsyncDependencyToInitialChunkError";this.module=E;this.loc=P}}v.exports=AsyncDependencyToInitialChunkError},84454:function(v,E,P){"use strict";const R=P(78175);const $=P(44208);const N=P(47516);class AutomaticPrefetchPlugin{apply(v){v.hooks.compilation.tap("AutomaticPrefetchPlugin",((v,{normalModuleFactory:E})=>{v.dependencyFactories.set(N,E)}));let E=null;v.hooks.afterCompile.tap("AutomaticPrefetchPlugin",(v=>{E=[];for(const P of v.modules){if(P instanceof $){E.push({context:P.context,request:P.request})}}}));v.hooks.make.tapAsync("AutomaticPrefetchPlugin",((P,$)=>{if(!E)return $();R.forEach(E,((E,R)=>{P.addModuleChain(E.context||v.context,new N(`!!${E.request}`),R)}),(v=>{E=null;$(v)}))}))}}v.exports=AutomaticPrefetchPlugin},53735:function(v,E,P){"use strict";const{ConcatSource:R}=P(51255);const $=P(92150);const N=P(13745);const L=P(35600);const q=P(86278);const K=q(P(81527),(()=>P(84223)),{name:"Banner Plugin",baseDataPath:"options"});const wrapComment=v=>{if(!v.includes("\n")){return L.toComment(v)}return`/*!\n * ${v.replace(/\*\//g,"* /").split("\n").join("\n * ").replace(/\s+\n/g,"\n").trimEnd()}\n */`};class BannerPlugin{constructor(v){if(typeof v==="string"||typeof v==="function"){v={banner:v}}K(v);this.options=v;const E=v.banner;if(typeof E==="function"){const v=E;this.banner=this.options.raw?v:E=>wrapComment(v(E))}else{const v=this.options.raw?E:wrapComment(E);this.banner=()=>v}}apply(v){const E=this.options;const P=this.banner;const L=N.matchObject.bind(undefined,E);const q=new WeakMap;v.hooks.compilation.tap("BannerPlugin",(v=>{v.hooks.processAssets.tap({name:"BannerPlugin",stage:$.PROCESS_ASSETS_STAGE_ADDITIONS},(()=>{for(const $ of v.chunks){if(E.entryOnly&&!$.canBeInitial()){continue}for(const N of $.files){if(!L(N)){continue}const K={chunk:$,filename:N};const ae=v.getPath(P,K);v.updateAsset(N,(v=>{let P=q.get(v);if(!P||P.comment!==ae){const P=E.footer?new R(v,"\n",ae):new R(ae,"\n",v);q.set(v,{source:P,comment:ae});return P}return P.source}))}}}))}))}}v.exports=BannerPlugin},14893:function(v,E,P){"use strict";const{AsyncParallelHook:R,AsyncSeriesBailHook:$,SyncHook:N}=P(79846);const{makeWebpackError:L,makeWebpackErrorCallback:q}=P(76498);const needCalls=(v,E)=>P=>{if(--v===0){return E(P)}if(P&&v>0){v=0;return E(P)}};class Cache{constructor(){this.hooks={get:new $(["identifier","etag","gotHandlers"]),store:new R(["identifier","etag","data"]),storeBuildDependencies:new R(["dependencies"]),beginIdle:new N([]),endIdle:new R([]),shutdown:new R([])}}get(v,E,P){const R=[];this.hooks.get.callAsync(v,E,R,((v,E)=>{if(v){P(L(v,"Cache.hooks.get"));return}if(E===null){E=undefined}if(R.length>1){const v=needCalls(R.length,(()=>P(null,E)));for(const P of R){P(E,v)}}else if(R.length===1){R[0](E,(()=>P(null,E)))}else{P(null,E)}}))}store(v,E,P,R){this.hooks.store.callAsync(v,E,P,q(R,"Cache.hooks.store"))}storeBuildDependencies(v,E){this.hooks.storeBuildDependencies.callAsync(v,q(E,"Cache.hooks.storeBuildDependencies"))}beginIdle(){this.hooks.beginIdle.call()}endIdle(v){this.hooks.endIdle.callAsync(q(v,"Cache.hooks.endIdle"))}shutdown(v){this.hooks.shutdown.callAsync(q(v,"Cache.hooks.shutdown"))}}Cache.STAGE_MEMORY=-10;Cache.STAGE_DEFAULT=0;Cache.STAGE_DISK=10;Cache.STAGE_NETWORK=20;v.exports=Cache},238:function(v,E,P){"use strict";const{forEachBail:R}=P(32613);const $=P(78175);const N=P(2773);const L=P(90084);class MultiItemCache{constructor(v){this._items=v;if(v.length===1)return v[0]}get(v){R(this._items,((v,E)=>v.get(E)),v)}getPromise(){const next=v=>this._items[v].getPromise().then((E=>{if(E!==undefined)return E;if(++vE.store(v,P)),E)}storePromise(v){return Promise.all(this._items.map((E=>E.storePromise(v)))).then((()=>{}))}}class ItemCacheFacade{constructor(v,E,P){this._cache=v;this._name=E;this._etag=P}get(v){this._cache.get(this._name,this._etag,v)}getPromise(){return new Promise(((v,E)=>{this._cache.get(this._name,this._etag,((P,R)=>{if(P){E(P)}else{v(R)}}))}))}store(v,E){this._cache.store(this._name,this._etag,v,E)}storePromise(v){return new Promise(((E,P)=>{this._cache.store(this._name,this._etag,v,(v=>{if(v){P(v)}else{E()}}))}))}provide(v,E){this.get(((P,R)=>{if(P)return E(P);if(R!==undefined)return R;v(((v,P)=>{if(v)return E(v);this.store(P,(v=>{if(v)return E(v);E(null,P)}))}))}))}async providePromise(v){const E=await this.getPromise();if(E!==undefined)return E;const P=await v();await this.storePromise(P);return P}}class CacheFacade{constructor(v,E,P){this._cache=v;this._name=E;this._hashFunction=P}getChildCache(v){return new CacheFacade(this._cache,`${this._name}|${v}`,this._hashFunction)}getItemCache(v,E){return new ItemCacheFacade(this._cache,`${this._name}|${v}`,E)}getLazyHashedEtag(v){return N(v,this._hashFunction)}mergeEtags(v,E){return L(v,E)}get(v,E,P){this._cache.get(`${this._name}|${v}`,E,P)}getPromise(v,E){return new Promise(((P,R)=>{this._cache.get(`${this._name}|${v}`,E,((v,E)=>{if(v){R(v)}else{P(E)}}))}))}store(v,E,P,R){this._cache.store(`${this._name}|${v}`,E,P,R)}storePromise(v,E,P){return new Promise(((R,$)=>{this._cache.store(`${this._name}|${v}`,E,P,(v=>{if(v){$(v)}else{R()}}))}))}provide(v,E,P,R){this.get(v,E,(($,N)=>{if($)return R($);if(N!==undefined)return N;P(((P,$)=>{if(P)return R(P);this.store(v,E,$,(v=>{if(v)return R(v);R(null,$)}))}))}))}async providePromise(v,E,P){const R=await this.getPromise(v,E);if(R!==undefined)return R;const $=await P();await this.storePromise(v,E,$);return $}}v.exports=CacheFacade;v.exports.ItemCacheFacade=ItemCacheFacade;v.exports.MultiItemCache=MultiItemCache},94375:function(v,E,P){"use strict";const R=P(45425);const sortModules=v=>v.sort(((v,E)=>{const P=v.identifier();const R=E.identifier();if(PR)return 1;return 0}));const createModulesListMessage=(v,E)=>v.map((v=>{let P=`* ${v.identifier()}`;const R=Array.from(E.getIncomingConnectionsByOriginModule(v).keys()).filter((v=>v));if(R.length>0){P+=`\n Used by ${R.length} module(s), i. e.`;P+=`\n ${R[0].identifier()}`}return P})).join("\n");class CaseSensitiveModulesWarning extends R{constructor(v,E){const P=sortModules(Array.from(v));const R=createModulesListMessage(P,E);super(`There are multiple modules with names that only differ in casing.\nThis can lead to unexpected behavior when compiling on a filesystem with other case-semantic.\nUse equal casing. Compare these module identifiers:\n${R}`);this.name="CaseSensitiveModulesWarning";this.module=P[0]}}v.exports=CaseSensitiveModulesWarning},13537:function(v,E,P){"use strict";const R=P(33422);const $=P(79342);const{intersect:N}=P(57167);const L=P(96543);const q=P(34325);const{compareModulesByIdentifier:K,compareChunkGroupsByIndex:ae,compareModulesById:ge}=P(80754);const{createArrayToSetDeprecationSet:be}=P(74962);const{mergeRuntime:xe}=P(32681);const ve=be("chunk.files");let Ae=1e3;class Chunk{constructor(v,E=true){this.id=null;this.ids=null;this.debugId=Ae++;this.name=v;this.idNameHints=new L;this.preventIntegration=false;this.filenameTemplate=undefined;this.cssFilenameTemplate=undefined;this._groups=new L(undefined,ae);this.runtime=undefined;this.files=E?new ve:new Set;this.auxiliaryFiles=new Set;this.rendered=false;this.hash=undefined;this.contentHash=Object.create(null);this.renderedHash=undefined;this.chunkReason=undefined;this.extraAsync=false}get entryModule(){const v=Array.from(R.getChunkGraphForChunk(this,"Chunk.entryModule","DEP_WEBPACK_CHUNK_ENTRY_MODULE").getChunkEntryModulesIterable(this));if(v.length===0){return undefined}else if(v.length===1){return v[0]}else{throw new Error("Module.entryModule: Multiple entry modules are not supported by the deprecated API (Use the new ChunkGroup API)")}}hasEntryModule(){return R.getChunkGraphForChunk(this,"Chunk.hasEntryModule","DEP_WEBPACK_CHUNK_HAS_ENTRY_MODULE").getNumberOfEntryModules(this)>0}addModule(v){const E=R.getChunkGraphForChunk(this,"Chunk.addModule","DEP_WEBPACK_CHUNK_ADD_MODULE");if(E.isModuleInChunk(v,this))return false;E.connectChunkAndModule(this,v);return true}removeModule(v){R.getChunkGraphForChunk(this,"Chunk.removeModule","DEP_WEBPACK_CHUNK_REMOVE_MODULE").disconnectChunkAndModule(this,v)}getNumberOfModules(){return R.getChunkGraphForChunk(this,"Chunk.getNumberOfModules","DEP_WEBPACK_CHUNK_GET_NUMBER_OF_MODULES").getNumberOfChunkModules(this)}get modulesIterable(){const v=R.getChunkGraphForChunk(this,"Chunk.modulesIterable","DEP_WEBPACK_CHUNK_MODULES_ITERABLE");return v.getOrderedChunkModulesIterable(this,K)}compareTo(v){const E=R.getChunkGraphForChunk(this,"Chunk.compareTo","DEP_WEBPACK_CHUNK_COMPARE_TO");return E.compareChunks(this,v)}containsModule(v){return R.getChunkGraphForChunk(this,"Chunk.containsModule","DEP_WEBPACK_CHUNK_CONTAINS_MODULE").isModuleInChunk(v,this)}getModules(){return R.getChunkGraphForChunk(this,"Chunk.getModules","DEP_WEBPACK_CHUNK_GET_MODULES").getChunkModules(this)}remove(){const v=R.getChunkGraphForChunk(this,"Chunk.remove","DEP_WEBPACK_CHUNK_REMOVE");v.disconnectChunk(this);this.disconnectFromGroups()}moveModule(v,E){const P=R.getChunkGraphForChunk(this,"Chunk.moveModule","DEP_WEBPACK_CHUNK_MOVE_MODULE");P.disconnectChunkAndModule(this,v);P.connectChunkAndModule(E,v)}integrate(v){const E=R.getChunkGraphForChunk(this,"Chunk.integrate","DEP_WEBPACK_CHUNK_INTEGRATE");if(E.canChunksBeIntegrated(this,v)){E.integrateChunks(this,v);return true}else{return false}}canBeIntegrated(v){const E=R.getChunkGraphForChunk(this,"Chunk.canBeIntegrated","DEP_WEBPACK_CHUNK_CAN_BE_INTEGRATED");return E.canChunksBeIntegrated(this,v)}isEmpty(){const v=R.getChunkGraphForChunk(this,"Chunk.isEmpty","DEP_WEBPACK_CHUNK_IS_EMPTY");return v.getNumberOfChunkModules(this)===0}modulesSize(){const v=R.getChunkGraphForChunk(this,"Chunk.modulesSize","DEP_WEBPACK_CHUNK_MODULES_SIZE");return v.getChunkModulesSize(this)}size(v={}){const E=R.getChunkGraphForChunk(this,"Chunk.size","DEP_WEBPACK_CHUNK_SIZE");return E.getChunkSize(this,v)}integratedSize(v,E){const P=R.getChunkGraphForChunk(this,"Chunk.integratedSize","DEP_WEBPACK_CHUNK_INTEGRATED_SIZE");return P.getIntegratedChunksSize(this,v,E)}getChunkModuleMaps(v){const E=R.getChunkGraphForChunk(this,"Chunk.getChunkModuleMaps","DEP_WEBPACK_CHUNK_GET_CHUNK_MODULE_MAPS");const P=Object.create(null);const $=Object.create(null);for(const R of this.getAllAsyncChunks()){let N;for(const L of E.getOrderedChunkModulesIterable(R,ge(E))){if(v(L)){if(N===undefined){N=[];P[R.id]=N}const v=E.getModuleId(L);N.push(v);$[v]=E.getRenderedModuleHash(L,undefined)}}}return{id:P,hash:$}}hasModuleInGraph(v,E){const P=R.getChunkGraphForChunk(this,"Chunk.hasModuleInGraph","DEP_WEBPACK_CHUNK_HAS_MODULE_IN_GRAPH");return P.hasModuleInGraph(this,v,E)}getChunkMaps(v){const E=Object.create(null);const P=Object.create(null);const R=Object.create(null);for(const $ of this.getAllAsyncChunks()){const N=$.id;E[N]=v?$.hash:$.renderedHash;for(const v of Object.keys($.contentHash)){if(!P[v]){P[v]=Object.create(null)}P[v][N]=$.contentHash[v]}if($.name){R[N]=$.name}}return{hash:E,contentHash:P,name:R}}hasRuntime(){for(const v of this._groups){if(v instanceof $&&v.getRuntimeChunk()===this){return true}}return false}canBeInitial(){for(const v of this._groups){if(v.isInitial())return true}return false}isOnlyInitial(){if(this._groups.size<=0)return false;for(const v of this._groups){if(!v.isInitial())return false}return true}getEntryOptions(){for(const v of this._groups){if(v instanceof $){return v.options}}return undefined}addGroup(v){this._groups.add(v)}removeGroup(v){this._groups.delete(v)}isInGroup(v){return this._groups.has(v)}getNumberOfGroups(){return this._groups.size}get groupsIterable(){this._groups.sort();return this._groups}disconnectFromGroups(){for(const v of this._groups){v.removeChunk(this)}}split(v){for(const E of this._groups){E.insertChunk(v,this);v.addGroup(E)}for(const E of this.idNameHints){v.idNameHints.add(E)}v.runtime=xe(v.runtime,this.runtime)}updateHash(v,E){v.update(`${this.id} ${this.ids?this.ids.join():""} ${this.name||""} `);const P=new q;for(const v of E.getChunkModulesIterable(this)){P.add(E.getModuleHash(v,this.runtime))}P.updateHash(v);const R=E.getChunkEntryModulesWithChunkGroupIterable(this);for(const[P,$]of R){v.update(`entry${E.getModuleId(P)}${$.id}`)}}getAllAsyncChunks(){const v=new Set;const E=new Set;const P=N(Array.from(this.groupsIterable,(v=>new Set(v.chunks))));const R=new Set(this.groupsIterable);for(const E of R){for(const P of E.childrenIterable){if(P instanceof $){R.add(P)}else{v.add(P)}}}for(const R of v){for(const v of R.chunks){if(!P.has(v)){E.add(v)}}for(const E of R.childrenIterable){v.add(E)}}return E}getAllInitialChunks(){const v=new Set;const E=new Set(this.groupsIterable);for(const P of E){if(P.isInitial()){for(const E of P.chunks)v.add(E);for(const v of P.childrenIterable)E.add(v)}}return v}getAllReferencedChunks(){const v=new Set(this.groupsIterable);const E=new Set;for(const P of v){for(const v of P.chunks){E.add(v)}for(const E of P.childrenIterable){v.add(E)}}return E}getAllReferencedAsyncEntrypoints(){const v=new Set(this.groupsIterable);const E=new Set;for(const P of v){for(const v of P.asyncEntrypointsIterable){E.add(v)}for(const E of P.childrenIterable){v.add(E)}}return E}hasAsyncChunks(){const v=new Set;const E=N(Array.from(this.groupsIterable,(v=>new Set(v.chunks))));for(const E of this.groupsIterable){for(const P of E.childrenIterable){v.add(P)}}for(const P of v){for(const v of P.chunks){if(!E.has(v)){return true}}for(const E of P.childrenIterable){v.add(E)}}return false}getChildIdsByOrders(v,E){const P=new Map;for(const v of this.groupsIterable){if(v.chunks[v.chunks.length-1]===this){for(const E of v.childrenIterable){for(const v of Object.keys(E.options)){if(v.endsWith("Order")){const R=v.slice(0,v.length-"Order".length);let $=P.get(R);if($===undefined){$=[];P.set(R,$)}$.push({order:E.options[v],group:E})}}}}}const R=Object.create(null);for(const[$,N]of P){N.sort(((E,P)=>{const R=P.order-E.order;if(R!==0)return R;return E.group.compareTo(v,P.group)}));const P=new Set;for(const R of N){for(const $ of R.group.chunks){if(E&&!E($,v))continue;P.add($.id)}}if(P.size>0){R[$]=Array.from(P)}}return R}getChildrenOfTypeInOrder(v,E){const P=[];for(const v of this.groupsIterable){for(const R of v.childrenIterable){const $=R.options[E];if($===undefined)continue;P.push({order:$,group:v,childGroup:R})}}if(P.length===0)return undefined;P.sort(((E,P)=>{const R=P.order-E.order;if(R!==0)return R;return E.group.compareTo(v,P.group)}));const R=[];let $;for(const{group:v,childGroup:E}of P){if($&&$.onChunks===v.chunks){for(const v of E.chunks){$.chunks.add(v)}}else{R.push($={onChunks:v.chunks,chunks:new Set(E.chunks)})}}return R}getChildIdsByOrdersMap(v,E,P){const R=Object.create(null);const addChildIdsByOrdersToMap=E=>{const $=E.getChildIdsByOrders(v,P);for(const v of Object.keys($)){let P=R[v];if(P===undefined){R[v]=P=Object.create(null)}P[E.id]=$[v]}};if(E){const v=new Set;for(const E of this.groupsIterable){for(const P of E.chunks){v.add(P)}}for(const E of v){addChildIdsByOrdersToMap(E)}}for(const v of this.getAllAsyncChunks()){addChildIdsByOrdersToMap(v)}return R}}v.exports=Chunk},33422:function(v,E,P){"use strict";const R=P(73837);const $=P(79342);const N=P(76361);const{first:L}=P(57167);const q=P(96543);const{compareModulesById:K,compareIterables:ae,compareModulesByIdentifier:ge,concatComparators:be,compareSelect:xe,compareIds:ve}=P(80754);const Ae=P(1558);const Ie=P(54985);const{RuntimeSpecMap:He,RuntimeSpecSet:Qe,runtimeToString:Je,mergeRuntime:Ve,forEachRuntime:Ke}=P(32681);const Ye=new Set;const Xe=BigInt(0);const Ze=ae(ge);class ModuleHashInfo{constructor(v,E){this.hash=v;this.renderedHash=E}}const getArray=v=>Array.from(v);const getModuleRuntimes=v=>{const E=new Qe;for(const P of v){E.add(P.runtime)}return E};const modulesBySourceType=v=>E=>{const P=new Map;for(const R of E){const E=v&&v.get(R)||R.getSourceTypes();for(const v of E){let E=P.get(v);if(E===undefined){E=new q;P.set(v,E)}E.add(R)}}for(const[v,R]of P){if(R.size===E.size){P.set(v,E)}}return P};const et=modulesBySourceType(undefined);const tt=new WeakMap;const createOrderedArrayFunction=v=>{let E=tt.get(v);if(E!==undefined)return E;E=E=>{E.sortWith(v);return Array.from(E)};tt.set(v,E);return E};const getModulesSize=v=>{let E=0;for(const P of v){for(const v of P.getSourceTypes()){E+=P.size(v)}}return E};const getModulesSizes=v=>{let E=Object.create(null);for(const P of v){for(const v of P.getSourceTypes()){E[v]=(E[v]||0)+P.size(v)}}return E};const isAvailableChunk=(v,E)=>{const P=new Set(E.groupsIterable);for(const E of P){if(v.isInGroup(E))continue;if(E.isInitial())return false;for(const v of E.parentsIterable){P.add(v)}}return true};class ChunkGraphModule{constructor(){this.chunks=new q;this.entryInChunks=undefined;this.runtimeInChunks=undefined;this.hashes=undefined;this.id=null;this.runtimeRequirements=undefined;this.graphHashes=undefined;this.graphHashesWithConnections=undefined}}class ChunkGraphChunk{constructor(){this.modules=new q;this.sourceTypesByModule=undefined;this.entryModules=new Map;this.runtimeModules=new q;this.fullHashModules=undefined;this.dependentHashModules=undefined;this.runtimeRequirements=undefined;this.runtimeRequirementsInTree=new Set;this._modulesBySourceType=et}}class ChunkGraph{constructor(v,E="md4"){this._modules=new WeakMap;this._chunks=new WeakMap;this._blockChunkGroups=new WeakMap;this._runtimeIds=new Map;this.moduleGraph=v;this._hashFunction=E;this._getGraphRoots=this._getGraphRoots.bind(this)}_getChunkGraphModule(v){let E=this._modules.get(v);if(E===undefined){E=new ChunkGraphModule;this._modules.set(v,E)}return E}_getChunkGraphChunk(v){let E=this._chunks.get(v);if(E===undefined){E=new ChunkGraphChunk;this._chunks.set(v,E)}return E}_getGraphRoots(v){const{moduleGraph:E}=this;return Array.from(Ie(v,(v=>{const P=new Set;const addDependencies=v=>{for(const R of E.getOutgoingConnections(v)){if(!R.module)continue;const v=R.getActiveState(undefined);if(v===false)continue;if(v===N.TRANSITIVE_ONLY){addDependencies(R.module);continue}P.add(R.module)}};addDependencies(v);return P}))).sort(ge)}connectChunkAndModule(v,E){const P=this._getChunkGraphModule(E);const R=this._getChunkGraphChunk(v);P.chunks.add(v);R.modules.add(E)}disconnectChunkAndModule(v,E){const P=this._getChunkGraphModule(E);const R=this._getChunkGraphChunk(v);R.modules.delete(E);if(R.sourceTypesByModule)R.sourceTypesByModule.delete(E);P.chunks.delete(v)}disconnectChunk(v){const E=this._getChunkGraphChunk(v);for(const P of E.modules){const E=this._getChunkGraphModule(P);E.chunks.delete(v)}E.modules.clear();v.disconnectFromGroups();ChunkGraph.clearChunkGraphForChunk(v)}attachModules(v,E){const P=this._getChunkGraphChunk(v);for(const v of E){P.modules.add(v)}}attachRuntimeModules(v,E){const P=this._getChunkGraphChunk(v);for(const v of E){P.runtimeModules.add(v)}}attachFullHashModules(v,E){const P=this._getChunkGraphChunk(v);if(P.fullHashModules===undefined)P.fullHashModules=new Set;for(const v of E){P.fullHashModules.add(v)}}attachDependentHashModules(v,E){const P=this._getChunkGraphChunk(v);if(P.dependentHashModules===undefined)P.dependentHashModules=new Set;for(const v of E){P.dependentHashModules.add(v)}}replaceModule(v,E){const P=this._getChunkGraphModule(v);const R=this._getChunkGraphModule(E);for(const $ of P.chunks){const P=this._getChunkGraphChunk($);P.modules.delete(v);P.modules.add(E);R.chunks.add($)}P.chunks.clear();if(P.entryInChunks!==undefined){if(R.entryInChunks===undefined){R.entryInChunks=new Set}for(const $ of P.entryInChunks){const P=this._getChunkGraphChunk($);const N=P.entryModules.get(v);const L=new Map;for(const[R,$]of P.entryModules){if(R===v){L.set(E,N)}else{L.set(R,$)}}P.entryModules=L;R.entryInChunks.add($)}P.entryInChunks=undefined}if(P.runtimeInChunks!==undefined){if(R.runtimeInChunks===undefined){R.runtimeInChunks=new Set}for(const $ of P.runtimeInChunks){const P=this._getChunkGraphChunk($);P.runtimeModules.delete(v);P.runtimeModules.add(E);R.runtimeInChunks.add($);if(P.fullHashModules!==undefined&&P.fullHashModules.has(v)){P.fullHashModules.delete(v);P.fullHashModules.add(E)}if(P.dependentHashModules!==undefined&&P.dependentHashModules.has(v)){P.dependentHashModules.delete(v);P.dependentHashModules.add(E)}}P.runtimeInChunks=undefined}}isModuleInChunk(v,E){const P=this._getChunkGraphChunk(E);return P.modules.has(v)}isModuleInChunkGroup(v,E){for(const P of E.chunks){if(this.isModuleInChunk(v,P))return true}return false}isEntryModule(v){const E=this._getChunkGraphModule(v);return E.entryInChunks!==undefined}getModuleChunksIterable(v){const E=this._getChunkGraphModule(v);return E.chunks}getOrderedModuleChunksIterable(v,E){const P=this._getChunkGraphModule(v);P.chunks.sortWith(E);return P.chunks}getModuleChunks(v){const E=this._getChunkGraphModule(v);return E.chunks.getFromCache(getArray)}getNumberOfModuleChunks(v){const E=this._getChunkGraphModule(v);return E.chunks.size}getModuleRuntimes(v){const E=this._getChunkGraphModule(v);return E.chunks.getFromUnorderedCache(getModuleRuntimes)}getNumberOfChunkModules(v){const E=this._getChunkGraphChunk(v);return E.modules.size}getNumberOfChunkFullHashModules(v){const E=this._getChunkGraphChunk(v);return E.fullHashModules===undefined?0:E.fullHashModules.size}getChunkModulesIterable(v){const E=this._getChunkGraphChunk(v);return E.modules}getChunkModulesIterableBySourceType(v,E){const P=this._getChunkGraphChunk(v);const R=P.modules.getFromUnorderedCache(P._modulesBySourceType).get(E);return R}setChunkModuleSourceTypes(v,E,P){const R=this._getChunkGraphChunk(v);if(R.sourceTypesByModule===undefined){R.sourceTypesByModule=new WeakMap}R.sourceTypesByModule.set(E,P);R._modulesBySourceType=modulesBySourceType(R.sourceTypesByModule)}getChunkModuleSourceTypes(v,E){const P=this._getChunkGraphChunk(v);if(P.sourceTypesByModule===undefined){return E.getSourceTypes()}return P.sourceTypesByModule.get(E)||E.getSourceTypes()}getModuleSourceTypes(v){return this._getOverwrittenModuleSourceTypes(v)||v.getSourceTypes()}_getOverwrittenModuleSourceTypes(v){let E=false;let P;for(const R of this.getModuleChunksIterable(v)){const $=this._getChunkGraphChunk(R);if($.sourceTypesByModule===undefined)return;const N=$.sourceTypesByModule.get(v);if(N===undefined)return;if(!P){P=N;continue}else if(!E){for(const v of N){if(!E){if(!P.has(v)){E=true;P=new Set(P);P.add(v)}}else{P.add(v)}}}else{for(const v of N)P.add(v)}}return P}getOrderedChunkModulesIterable(v,E){const P=this._getChunkGraphChunk(v);P.modules.sortWith(E);return P.modules}getOrderedChunkModulesIterableBySourceType(v,E,P){const R=this._getChunkGraphChunk(v);const $=R.modules.getFromUnorderedCache(R._modulesBySourceType).get(E);if($===undefined)return undefined;$.sortWith(P);return $}getChunkModules(v){const E=this._getChunkGraphChunk(v);return E.modules.getFromUnorderedCache(getArray)}getOrderedChunkModules(v,E){const P=this._getChunkGraphChunk(v);const R=createOrderedArrayFunction(E);return P.modules.getFromUnorderedCache(R)}getChunkModuleIdMap(v,E,P=false){const R=Object.create(null);for(const $ of P?v.getAllReferencedChunks():v.getAllAsyncChunks()){let v;for(const P of this.getOrderedChunkModulesIterable($,K(this))){if(E(P)){if(v===undefined){v=[];R[$.id]=v}const E=this.getModuleId(P);v.push(E)}}}return R}getChunkModuleRenderedHashMap(v,E,P=0,R=false){const $=Object.create(null);for(const N of R?v.getAllReferencedChunks():v.getAllAsyncChunks()){let v;for(const R of this.getOrderedChunkModulesIterable(N,K(this))){if(E(R)){if(v===undefined){v=Object.create(null);$[N.id]=v}const E=this.getModuleId(R);const L=this.getRenderedModuleHash(R,N.runtime);v[E]=P?L.slice(0,P):L}}}return $}getChunkConditionMap(v,E){const P=Object.create(null);for(const R of v.getAllReferencedChunks()){P[R.id]=E(R,this)}return P}hasModuleInGraph(v,E,P){const R=new Set(v.groupsIterable);const $=new Set;for(const v of R){for(const R of v.chunks){if(!$.has(R)){$.add(R);if(!P||P(R,this)){for(const v of this.getChunkModulesIterable(R)){if(E(v)){return true}}}}}for(const E of v.childrenIterable){R.add(E)}}return false}compareChunks(v,E){const P=this._getChunkGraphChunk(v);const R=this._getChunkGraphChunk(E);if(P.modules.size>R.modules.size)return-1;if(P.modules.size0||this.getNumberOfEntryModules(E)>0){return false}return true}integrateChunks(v,E){if(v.name&&E.name){if(this.getNumberOfEntryModules(v)>0===this.getNumberOfEntryModules(E)>0){if(v.name.length!==E.name.length){v.name=v.name.length0){v.name=E.name}}else if(E.name){v.name=E.name}for(const P of E.idNameHints){v.idNameHints.add(P)}v.runtime=Ve(v.runtime,E.runtime);for(const P of this.getChunkModules(E)){this.disconnectChunkAndModule(E,P);this.connectChunkAndModule(v,P)}for(const[P,R]of Array.from(this.getChunkEntryModulesWithChunkGroupIterable(E))){this.disconnectChunkAndEntryModule(E,P);this.connectChunkAndEntryModule(v,P,R)}for(const P of E.groupsIterable){P.replaceChunk(E,v);v.addGroup(P);E.removeGroup(P)}ChunkGraph.clearChunkGraphForChunk(E)}upgradeDependentToFullHashModules(v){const E=this._getChunkGraphChunk(v);if(E.dependentHashModules===undefined)return;if(E.fullHashModules===undefined){E.fullHashModules=E.dependentHashModules}else{for(const v of E.dependentHashModules){E.fullHashModules.add(v)}E.dependentHashModules=undefined}}isEntryModuleInChunk(v,E){const P=this._getChunkGraphChunk(E);return P.entryModules.has(v)}connectChunkAndEntryModule(v,E,P){const R=this._getChunkGraphModule(E);const $=this._getChunkGraphChunk(v);if(R.entryInChunks===undefined){R.entryInChunks=new Set}R.entryInChunks.add(v);$.entryModules.set(E,P)}connectChunkAndRuntimeModule(v,E){const P=this._getChunkGraphModule(E);const R=this._getChunkGraphChunk(v);if(P.runtimeInChunks===undefined){P.runtimeInChunks=new Set}P.runtimeInChunks.add(v);R.runtimeModules.add(E)}addFullHashModuleToChunk(v,E){const P=this._getChunkGraphChunk(v);if(P.fullHashModules===undefined)P.fullHashModules=new Set;P.fullHashModules.add(E)}addDependentHashModuleToChunk(v,E){const P=this._getChunkGraphChunk(v);if(P.dependentHashModules===undefined)P.dependentHashModules=new Set;P.dependentHashModules.add(E)}disconnectChunkAndEntryModule(v,E){const P=this._getChunkGraphModule(E);const R=this._getChunkGraphChunk(v);P.entryInChunks.delete(v);if(P.entryInChunks.size===0){P.entryInChunks=undefined}R.entryModules.delete(E)}disconnectChunkAndRuntimeModule(v,E){const P=this._getChunkGraphModule(E);const R=this._getChunkGraphChunk(v);P.runtimeInChunks.delete(v);if(P.runtimeInChunks.size===0){P.runtimeInChunks=undefined}R.runtimeModules.delete(E)}disconnectEntryModule(v){const E=this._getChunkGraphModule(v);for(const P of E.entryInChunks){const E=this._getChunkGraphChunk(P);E.entryModules.delete(v)}E.entryInChunks=undefined}disconnectEntries(v){const E=this._getChunkGraphChunk(v);for(const P of E.entryModules.keys()){const E=this._getChunkGraphModule(P);E.entryInChunks.delete(v);if(E.entryInChunks.size===0){E.entryInChunks=undefined}}E.entryModules.clear()}getNumberOfEntryModules(v){const E=this._getChunkGraphChunk(v);return E.entryModules.size}getNumberOfRuntimeModules(v){const E=this._getChunkGraphChunk(v);return E.runtimeModules.size}getChunkEntryModulesIterable(v){const E=this._getChunkGraphChunk(v);return E.entryModules.keys()}getChunkEntryDependentChunksIterable(v){const E=new Set;for(const P of v.groupsIterable){if(P instanceof $){const R=P.getEntrypointChunk();const $=this._getChunkGraphChunk(R);for(const P of $.entryModules.values()){for(const $ of P.chunks){if($!==v&&$!==R&&!$.hasRuntime()){E.add($)}}}}}return E}hasChunkEntryDependentChunks(v){const E=this._getChunkGraphChunk(v);for(const P of E.entryModules.values()){for(const E of P.chunks){if(E!==v){return true}}}return false}getChunkRuntimeModulesIterable(v){const E=this._getChunkGraphChunk(v);return E.runtimeModules}getChunkRuntimeModulesInOrder(v){const E=this._getChunkGraphChunk(v);const P=Array.from(E.runtimeModules);P.sort(be(xe((v=>v.stage),ve),ge));return P}getChunkFullHashModulesIterable(v){const E=this._getChunkGraphChunk(v);return E.fullHashModules}getChunkFullHashModulesSet(v){const E=this._getChunkGraphChunk(v);return E.fullHashModules}getChunkDependentHashModulesIterable(v){const E=this._getChunkGraphChunk(v);return E.dependentHashModules}getChunkEntryModulesWithChunkGroupIterable(v){const E=this._getChunkGraphChunk(v);return E.entryModules}getBlockChunkGroup(v){return this._blockChunkGroups.get(v)}connectBlockAndChunkGroup(v,E){this._blockChunkGroups.set(v,E);E.addBlock(v)}disconnectChunkGroup(v){for(const E of v.blocksIterable){this._blockChunkGroups.delete(E)}v._blocks.clear()}getModuleId(v){const E=this._getChunkGraphModule(v);return E.id}setModuleId(v,E){const P=this._getChunkGraphModule(v);P.id=E}getRuntimeId(v){return this._runtimeIds.get(v)}setRuntimeId(v,E){this._runtimeIds.set(v,E)}_getModuleHashInfo(v,E,P){if(!E){throw new Error(`Module ${v.identifier()} has no hash info for runtime ${Je(P)} (hashes not set at all)`)}else if(P===undefined){const P=new Set(E.values());if(P.size!==1){throw new Error(`No unique hash info entry for unspecified runtime for ${v.identifier()} (existing runtimes: ${Array.from(E.keys(),(v=>Je(v))).join(", ")}).\nCaller might not support runtime-dependent code generation (opt-out via optimization.usedExports: "global").`)}return L(P)}else{const R=E.get(P);if(!R){throw new Error(`Module ${v.identifier()} has no hash info for runtime ${Je(P)} (available runtimes ${Array.from(E.keys(),Je).join(", ")})`)}return R}}hasModuleHashes(v,E){const P=this._getChunkGraphModule(v);const R=P.hashes;return R&&R.has(E)}getModuleHash(v,E){const P=this._getChunkGraphModule(v);const R=P.hashes;return this._getModuleHashInfo(v,R,E).hash}getRenderedModuleHash(v,E){const P=this._getChunkGraphModule(v);const R=P.hashes;return this._getModuleHashInfo(v,R,E).renderedHash}setModuleHashes(v,E,P,R){const $=this._getChunkGraphModule(v);if($.hashes===undefined){$.hashes=new He}$.hashes.set(E,new ModuleHashInfo(P,R))}addModuleRuntimeRequirements(v,E,P,R=true){const $=this._getChunkGraphModule(v);const N=$.runtimeRequirements;if(N===undefined){const v=new He;v.set(E,R?P:new Set(P));$.runtimeRequirements=v;return}N.update(E,(v=>{if(v===undefined){return R?P:new Set(P)}else if(!R||v.size>=P.size){for(const E of P)v.add(E);return v}else{for(const E of v)P.add(E);return P}}))}addChunkRuntimeRequirements(v,E){const P=this._getChunkGraphChunk(v);const R=P.runtimeRequirements;if(R===undefined){P.runtimeRequirements=E}else if(R.size>=E.size){for(const v of E)R.add(v)}else{for(const v of R)E.add(v);P.runtimeRequirements=E}}addTreeRuntimeRequirements(v,E){const P=this._getChunkGraphChunk(v);const R=P.runtimeRequirementsInTree;for(const v of E)R.add(v)}getModuleRuntimeRequirements(v,E){const P=this._getChunkGraphModule(v);const R=P.runtimeRequirements&&P.runtimeRequirements.get(E);return R===undefined?Ye:R}getChunkRuntimeRequirements(v){const E=this._getChunkGraphChunk(v);const P=E.runtimeRequirements;return P===undefined?Ye:P}getModuleGraphHash(v,E,P=true){const R=this._getChunkGraphModule(v);return P?this._getModuleGraphHashWithConnections(R,v,E):this._getModuleGraphHashBigInt(R,v,E).toString(16)}getModuleGraphHashBigInt(v,E,P=true){const R=this._getChunkGraphModule(v);return P?BigInt(`0x${this._getModuleGraphHashWithConnections(R,v,E)}`):this._getModuleGraphHashBigInt(R,v,E)}_getModuleGraphHashBigInt(v,E,P){if(v.graphHashes===undefined){v.graphHashes=new He}const R=v.graphHashes.provide(P,(()=>{const R=Ae(this._hashFunction);R.update(`${v.id}${this.moduleGraph.isAsync(E)}`);const $=this._getOverwrittenModuleSourceTypes(E);if($!==undefined){for(const v of $)R.update(v)}this.moduleGraph.getExportsInfo(E).updateHash(R,P);return BigInt(`0x${R.digest("hex")}`)}));return R}_getModuleGraphHashWithConnections(v,E,P){if(v.graphHashesWithConnections===undefined){v.graphHashesWithConnections=new He}const activeStateToString=v=>{if(v===false)return"F";if(v===true)return"T";if(v===N.TRANSITIVE_ONLY)return"O";throw new Error("Not implemented active state")};const R=E.buildMeta&&E.buildMeta.strictHarmonyModule;return v.graphHashesWithConnections.provide(P,(()=>{const $=this._getModuleGraphHashBigInt(v,E,P).toString(16);const N=this.moduleGraph.getOutgoingConnections(E);const q=new Set;const K=new Map;const processConnection=(v,E)=>{const P=v.module;E+=P.getExportsType(this.moduleGraph,R);if(E==="Tnamespace")q.add(P);else{const v=K.get(E);if(v===undefined){K.set(E,P)}else if(v instanceof Set){v.add(P)}else if(v!==P){K.set(E,new Set([v,P]))}}};if(P===undefined||typeof P==="string"){for(const v of N){const E=v.getActiveState(P);if(E===false)continue;processConnection(v,E===true?"T":"O")}}else{for(const v of N){const E=new Set;let R="";Ke(P,(P=>{const $=v.getActiveState(P);E.add($);R+=activeStateToString($)+P}),true);if(E.size===1){const v=L(E);if(v===false)continue;R=activeStateToString(v)}processConnection(v,R)}}if(q.size===0&&K.size===0)return $;const ae=K.size>1?Array.from(K).sort((([v],[E])=>v{ge.update(this._getModuleGraphHashBigInt(this._getChunkGraphModule(v),v,P).toString(16))};const addModulesToHash=v=>{let E=Xe;for(const R of v){E=E^this._getModuleGraphHashBigInt(this._getChunkGraphModule(R),R,P)}ge.update(E.toString(16))};if(q.size===1)addModuleToHash(q.values().next().value);else if(q.size>1)addModulesToHash(q);for(const[v,E]of ae){ge.update(v);if(E instanceof Set){addModulesToHash(E)}else{addModuleToHash(E)}}ge.update($);return ge.digest("hex")}))}getTreeRuntimeRequirements(v){const E=this._getChunkGraphChunk(v);return E.runtimeRequirementsInTree}static getChunkGraphForModule(v,E,P){const $=rt.get(E);if($)return $(v);const N=R.deprecate((v=>{const P=nt.get(v);if(!P)throw new Error(E+": There was no ChunkGraph assigned to the Module for backward-compat (Use the new API)");return P}),E+": Use new ChunkGraph API",P);rt.set(E,N);return N(v)}static setChunkGraphForModule(v,E){nt.set(v,E)}static clearChunkGraphForModule(v){nt.delete(v)}static getChunkGraphForChunk(v,E,P){const $=ot.get(E);if($)return $(v);const N=R.deprecate((v=>{const P=st.get(v);if(!P)throw new Error(E+"There was no ChunkGraph assigned to the Chunk for backward-compat (Use the new API)");return P}),E+": Use new ChunkGraph API",P);ot.set(E,N);return N(v)}static setChunkGraphForChunk(v,E){st.set(v,E)}static clearChunkGraphForChunk(v){st.delete(v)}}const nt=new WeakMap;const st=new WeakMap;const rt=new Map;const ot=new Map;v.exports=ChunkGraph},62455:function(v,E,P){"use strict";const R=P(73837);const $=P(96543);const{compareLocations:N,compareChunks:L,compareIterables:q}=P(80754);let K=5e3;const getArray=v=>Array.from(v);const sortById=(v,E)=>{if(v.id{const P=v.module?v.module.identifier():"";const R=E.module?E.module.identifier():"";if(PR)return 1;return N(v.loc,E.loc)};class ChunkGroup{constructor(v){if(typeof v==="string"){v={name:v}}else if(!v){v={name:undefined}}this.groupDebugId=K++;this.options=v;this._children=new $(undefined,sortById);this._parents=new $(undefined,sortById);this._asyncEntrypoints=new $(undefined,sortById);this._blocks=new $;this.chunks=[];this.origins=[];this._modulePreOrderIndices=new Map;this._modulePostOrderIndices=new Map;this.index=undefined}addOptions(v){for(const E of Object.keys(v)){if(this.options[E]===undefined){this.options[E]=v[E]}else if(this.options[E]!==v[E]){if(E.endsWith("Order")){this.options[E]=Math.max(this.options[E],v[E])}else{throw new Error(`ChunkGroup.addOptions: No option merge strategy for ${E}`)}}}}get name(){return this.options.name}set name(v){this.options.name=v}get debugId(){return Array.from(this.chunks,(v=>v.debugId)).join("+")}get id(){return Array.from(this.chunks,(v=>v.id)).join("+")}unshiftChunk(v){const E=this.chunks.indexOf(v);if(E>0){this.chunks.splice(E,1);this.chunks.unshift(v)}else if(E<0){this.chunks.unshift(v);return true}return false}insertChunk(v,E){const P=this.chunks.indexOf(v);const R=this.chunks.indexOf(E);if(R<0){throw new Error("before chunk not found")}if(P>=0&&P>R){this.chunks.splice(P,1);this.chunks.splice(R,0,v)}else if(P<0){this.chunks.splice(R,0,v);return true}return false}pushChunk(v){const E=this.chunks.indexOf(v);if(E>=0){return false}this.chunks.push(v);return true}replaceChunk(v,E){const P=this.chunks.indexOf(v);if(P<0)return false;const R=this.chunks.indexOf(E);if(R<0){this.chunks[P]=E;return true}if(R=0){this.chunks.splice(E,1);return true}return false}isInitial(){return false}addChild(v){const E=this._children.size;this._children.add(v);return E!==this._children.size}getChildren(){return this._children.getFromCache(getArray)}getNumberOfChildren(){return this._children.size}get childrenIterable(){return this._children}removeChild(v){if(!this._children.has(v)){return false}this._children.delete(v);v.removeParent(this);return true}addParent(v){if(!this._parents.has(v)){this._parents.add(v);return true}return false}getParents(){return this._parents.getFromCache(getArray)}getNumberOfParents(){return this._parents.size}hasParent(v){return this._parents.has(v)}get parentsIterable(){return this._parents}removeParent(v){if(this._parents.delete(v)){v.removeChild(this);return true}return false}addAsyncEntrypoint(v){const E=this._asyncEntrypoints.size;this._asyncEntrypoints.add(v);return E!==this._asyncEntrypoints.size}get asyncEntrypointsIterable(){return this._asyncEntrypoints}getBlocks(){return this._blocks.getFromCache(getArray)}getNumberOfBlocks(){return this._blocks.size}hasBlock(v){return this._blocks.has(v)}get blocksIterable(){return this._blocks}addBlock(v){if(!this._blocks.has(v)){this._blocks.add(v);return true}return false}addOrigin(v,E,P){this.origins.push({module:v,loc:E,request:P})}getFiles(){const v=new Set;for(const E of this.chunks){for(const P of E.files){v.add(P)}}return Array.from(v)}remove(){for(const v of this._parents){v._children.delete(this);for(const E of this._children){E.addParent(v);v.addChild(E)}}for(const v of this._children){v._parents.delete(this)}for(const v of this.chunks){v.removeGroup(this)}}sortItems(){this.origins.sort(sortOrigin)}compareTo(v,E){if(this.chunks.length>E.chunks.length)return-1;if(this.chunks.length{const R=P.order-v.order;if(R!==0)return R;return v.group.compareTo(E,P.group)}));R[v]=$.map((v=>v.group))}return R}setModulePreOrderIndex(v,E){this._modulePreOrderIndices.set(v,E)}getModulePreOrderIndex(v){return this._modulePreOrderIndices.get(v)}setModulePostOrderIndex(v,E){this._modulePostOrderIndices.set(v,E)}getModulePostOrderIndex(v){return this._modulePostOrderIndices.get(v)}checkConstraints(){const v=this;for(const E of v._children){if(!E._parents.has(v)){throw new Error(`checkConstraints: child missing parent ${v.debugId} -> ${E.debugId}`)}}for(const E of v._parents){if(!E._children.has(v)){throw new Error(`checkConstraints: parent missing child ${E.debugId} <- ${v.debugId}`)}}}}ChunkGroup.prototype.getModuleIndex=R.deprecate(ChunkGroup.prototype.getModulePreOrderIndex,"ChunkGroup.getModuleIndex was renamed to getModulePreOrderIndex","DEP_WEBPACK_CHUNK_GROUP_GET_MODULE_INDEX");ChunkGroup.prototype.getModuleIndex2=R.deprecate(ChunkGroup.prototype.getModulePostOrderIndex,"ChunkGroup.getModuleIndex2 was renamed to getModulePostOrderIndex","DEP_WEBPACK_CHUNK_GROUP_GET_MODULE_INDEX_2");v.exports=ChunkGroup},17197:function(v,E,P){"use strict";const R=P(45425);class ChunkRenderError extends R{constructor(v,E,P){super();this.name="ChunkRenderError";this.error=P;this.message=P.message;this.details=P.stack;this.file=E;this.chunk=v}}v.exports=ChunkRenderError},53083:function(v,E,P){"use strict";const R=P(73837);const $=P(49584);const N=$((()=>P(87885)));class ChunkTemplate{constructor(v,E){this._outputOptions=v||{};this.hooks=Object.freeze({renderManifest:{tap:R.deprecate(((v,P)=>{E.hooks.renderManifest.tap(v,((v,E)=>{if(E.chunk.hasRuntime())return v;return P(v,E)}))}),"ChunkTemplate.hooks.renderManifest is deprecated (use Compilation.hooks.renderManifest instead)","DEP_WEBPACK_CHUNK_TEMPLATE_RENDER_MANIFEST")},modules:{tap:R.deprecate(((v,P)=>{N().getCompilationHooks(E).renderChunk.tap(v,((v,R)=>P(v,E.moduleTemplates.javascript,R)))}),"ChunkTemplate.hooks.modules is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderChunk instead)","DEP_WEBPACK_CHUNK_TEMPLATE_MODULES")},render:{tap:R.deprecate(((v,P)=>{N().getCompilationHooks(E).renderChunk.tap(v,((v,R)=>P(v,E.moduleTemplates.javascript,R)))}),"ChunkTemplate.hooks.render is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderChunk instead)","DEP_WEBPACK_CHUNK_TEMPLATE_RENDER")},renderWithEntry:{tap:R.deprecate(((v,P)=>{N().getCompilationHooks(E).render.tap(v,((v,E)=>{if(E.chunkGraph.getNumberOfEntryModules(E.chunk)===0||E.chunk.hasRuntime()){return v}return P(v,E.chunk)}))}),"ChunkTemplate.hooks.renderWithEntry is deprecated (use JavascriptModulesPlugin.getCompilationHooks().render instead)","DEP_WEBPACK_CHUNK_TEMPLATE_RENDER_WITH_ENTRY")},hash:{tap:R.deprecate(((v,P)=>{E.hooks.fullHash.tap(v,P)}),"ChunkTemplate.hooks.hash is deprecated (use Compilation.hooks.fullHash instead)","DEP_WEBPACK_CHUNK_TEMPLATE_HASH")},hashForChunk:{tap:R.deprecate(((v,P)=>{N().getCompilationHooks(E).chunkHash.tap(v,((v,E,R)=>{if(v.hasRuntime())return;P(E,v,R)}))}),"ChunkTemplate.hooks.hashForChunk is deprecated (use JavascriptModulesPlugin.getCompilationHooks().chunkHash instead)","DEP_WEBPACK_CHUNK_TEMPLATE_HASH_FOR_CHUNK")}})}}Object.defineProperty(ChunkTemplate.prototype,"outputOptions",{get:R.deprecate((function(){return this._outputOptions}),"ChunkTemplate.outputOptions is deprecated (use Compilation.outputOptions instead)","DEP_WEBPACK_CHUNK_TEMPLATE_OUTPUT_OPTIONS")});v.exports=ChunkTemplate},76765:function(v,E,P){"use strict";const R=P(78175);const{SyncBailHook:$}=P(79846);const N=P(92150);const L=P(86278);const{join:q}=P(23763);const K=P(79747);const ae=L(undefined,(()=>{const{definitions:v}=P(6497);return{definitions:v,oneOf:[{$ref:"#/definitions/CleanOptions"}]}}),{name:"Clean Plugin",baseDataPath:"options"});const ge=10*1e3;const mergeAssets=(v,E)=>{for(const[P,R]of E){const E=v.get(P);if(!E||R>E)v.set(P,R)}};const getDiffToFs=(v,E,P,$)=>{const N=new Set;for(const[v]of P){N.add(v.replace(/(^|\/)[^/]*$/,""))}for(const v of N){N.add(v.replace(/(^|\/)[^/]*$/,""))}const L=new Set;R.forEachLimit(N,10,((R,$)=>{v.readdir(q(v,E,R),((v,E)=>{if(v){if(v.code==="ENOENT")return $();if(v.code==="ENOTDIR"){L.add(R);return $()}return $(v)}for(const v of E){const E=v;const $=R?`${R}/${E}`:E;if(!N.has($)&&!P.has($)){L.add($)}}$()}))}),(v=>{if(v)return $(v);$(null,L)}))};const getDiffToOldAssets=(v,E)=>{const P=new Set;const R=Date.now();for(const[$,N]of E){if(N>=R)continue;if(!v.has($))P.add($)}return P};const doStat=(v,E,P)=>{if("lstat"in v){v.lstat(E,P)}else{v.stat(E,P)}};const applyDiff=(v,E,P,R,$,N,L)=>{const log=v=>{if(P){R.info(v)}else{R.log(v)}};const ae=Array.from($.keys(),(v=>({type:"check",filename:v,parent:undefined})));const ge=new Map;K(ae,10,(({type:$,filename:L,parent:K},ae,be)=>{const handleError=v=>{if(v.code==="ENOENT"){log(`${L} was removed during cleaning by something else`);handleParent();return be()}return be(v)};const handleParent=()=>{if(K&&--K.remaining===0)ae(K.job)};const xe=q(v,E,L);switch($){case"check":if(N(L)){ge.set(L,0);log(`${L} will be kept`);return process.nextTick(be)}doStat(v,xe,((E,P)=>{if(E)return handleError(E);if(!P.isDirectory()){ae({type:"unlink",filename:L,parent:K});return be()}v.readdir(xe,((v,E)=>{if(v)return handleError(v);const P={type:"rmdir",filename:L,parent:K};if(E.length===0){ae(P)}else{const v={remaining:E.length,job:P};for(const P of E){const E=P;if(E.startsWith(".")){log(`${L} will be kept (dot-files will never be removed)`);continue}ae({type:"check",filename:`${L}/${E}`,parent:v})}}return be()}))}));break;case"rmdir":log(`${L} will be removed`);if(P){handleParent();return process.nextTick(be)}if(!v.rmdir){R.warn(`${L} can't be removed because output file system doesn't support removing directories (rmdir)`);return process.nextTick(be)}v.rmdir(xe,(v=>{if(v)return handleError(v);handleParent();be()}));break;case"unlink":log(`${L} will be removed`);if(P){handleParent();return process.nextTick(be)}if(!v.unlink){R.warn(`${L} can't be removed because output file system doesn't support removing files (rmdir)`);return process.nextTick(be)}v.unlink(xe,(v=>{if(v)return handleError(v);handleParent();be()}));break}}),(v=>{if(v)return L(v);L(undefined,ge)}))};const be=new WeakMap;class CleanPlugin{static getCompilationHooks(v){if(!(v instanceof N)){throw new TypeError("The 'compilation' argument must be an instance of Compilation")}let E=be.get(v);if(E===undefined){E={keep:new $(["ignore"])};be.set(v,E)}return E}constructor(v={}){ae(v);this.options={dry:false,...v}}apply(v){const{dry:E,keep:P}=this.options;const R=typeof P==="function"?P:typeof P==="string"?v=>v.startsWith(P):typeof P==="object"&&P.test?v=>P.test(v):()=>false;let $;v.hooks.emit.tapAsync({name:"CleanPlugin",stage:100},((P,N)=>{const L=CleanPlugin.getCompilationHooks(P);const q=P.getLogger("webpack.CleanPlugin");const K=v.outputFileSystem;if(!K.readdir){return N(new Error("CleanPlugin: Output filesystem doesn't support listing directories (readdir)"))}const ae=new Map;const be=Date.now();for(const v of Object.keys(P.assets)){if(/^[A-Za-z]:\\|^\/|^\\\\/.test(v))continue;let E;let R=v.replace(/\\/g,"/");do{E=R;R=E.replace(/(^|\/)(?!\.\.)[^/]+\/\.\.\//g,"$1")}while(R!==E);if(E.startsWith("../"))continue;const $=P.assetsInfo.get(v);if($&&$.hotModuleReplacement){ae.set(E,be+ge)}else{ae.set(E,0)}}const xe=P.getPath(v.outputPath,{});const isKept=v=>{const E=L.keep.call(v);if(E!==undefined)return E;return R(v)};const diffCallback=(v,P)=>{if(v){$=undefined;N(v);return}applyDiff(K,xe,E,q,P,isKept,((v,E)=>{if(v){$=undefined}else{if($)mergeAssets(ae,$);$=ae;if(E)mergeAssets($,E)}N(v)}))};if($){diffCallback(null,getDiffToOldAssets(ae,$))}else{getDiffToFs(K,xe,ae,diffCallback)}}))}}v.exports=CleanPlugin},45269:function(v,E,P){"use strict";const R=P(45425);class CodeGenerationError extends R{constructor(v,E){super();this.name="CodeGenerationError";this.error=E;this.message=E.message;this.details=E.stack;this.module=v}}v.exports=CodeGenerationError},1710:function(v,E,P){"use strict";const{getOrInsert:R}=P(8568);const{first:$}=P(57167);const N=P(1558);const{runtimeToString:L,RuntimeSpecMap:q}=P(32681);class CodeGenerationResults{constructor(v="md4"){this.map=new Map;this._hashFunction=v}get(v,E){const P=this.map.get(v);if(P===undefined){throw new Error(`No code generation entry for ${v.identifier()} (existing entries: ${Array.from(this.map.keys(),(v=>v.identifier())).join(", ")})`)}if(E===undefined){if(P.size>1){const E=new Set(P.values());if(E.size!==1){throw new Error(`No unique code generation entry for unspecified runtime for ${v.identifier()} (existing runtimes: ${Array.from(P.keys(),(v=>L(v))).join(", ")}).\nCaller might not support runtime-dependent code generation (opt-out via optimization.usedExports: "global").`)}return $(E)}return P.values().next().value}const R=P.get(E);if(R===undefined){throw new Error(`No code generation entry for runtime ${L(E)} for ${v.identifier()} (existing runtimes: ${Array.from(P.keys(),(v=>L(v))).join(", ")})`)}return R}has(v,E){const P=this.map.get(v);if(P===undefined){return false}if(E!==undefined){return P.has(E)}else if(P.size>1){const v=new Set(P.values());return v.size===1}else{return P.size===1}}getSource(v,E,P){return this.get(v,E).sources.get(P)}getRuntimeRequirements(v,E){return this.get(v,E).runtimeRequirements}getData(v,E,P){const R=this.get(v,E).data;return R===undefined?undefined:R.get(P)}getHash(v,E){const P=this.get(v,E);if(P.hash!==undefined)return P.hash;const R=N(this._hashFunction);for(const[v,E]of P.sources){R.update(v);E.updateHash(R)}if(P.runtimeRequirements){for(const v of P.runtimeRequirements)R.update(v)}return P.hash=R.digest("hex")}add(v,E,P){const $=R(this.map,v,(()=>new q));$.set(E,P)}}v.exports=CodeGenerationResults},26596:function(v,E,P){"use strict";const R=P(45425);const $=P(74364);class CommentCompilationWarning extends R{constructor(v,E){super(v);this.name="CommentCompilationWarning";this.loc=E}}$(CommentCompilationWarning,"webpack/lib/CommentCompilationWarning");v.exports=CommentCompilationWarning},44525:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$,JAVASCRIPT_MODULE_TYPE_ESM:N}=P(98791);const L=P(75189);const q=P(52540);const K=Symbol("nested webpack identifier");const ae="CompatibilityPlugin";class CompatibilityPlugin{apply(v){v.hooks.compilation.tap(ae,((v,{normalModuleFactory:E})=>{v.dependencyTemplates.set(q,new q.Template);E.hooks.parser.for(R).tap(ae,((v,E)=>{if(E.browserify!==undefined&&!E.browserify)return;v.hooks.call.for("require").tap(ae,(E=>{if(E.arguments.length!==2)return;const P=v.evaluateExpression(E.arguments[1]);if(!P.isBoolean())return;if(P.asBool()!==true)return;const R=new q("require",E.callee.range);R.loc=E.loc;if(v.state.current.dependencies.length>0){const E=v.state.current.dependencies[v.state.current.dependencies.length-1];if(E.critical&&E.options&&E.options.request==="."&&E.userRequest==="."&&E.options.recursive)v.state.current.dependencies.pop()}v.state.module.addPresentationalDependency(R);return true}))}));const handler=v=>{v.hooks.preStatement.tap(ae,(E=>{if(E.type==="FunctionDeclaration"&&E.id&&E.id.name===L.require){const P=`__nested_webpack_require_${E.range[0]}__`;v.tagVariable(E.id.name,K,{name:P,declaration:{updated:false,loc:E.id.loc,range:E.id.range}});return true}}));v.hooks.pattern.for(L.require).tap(ae,(E=>{const P=`__nested_webpack_require_${E.range[0]}__`;v.tagVariable(E.name,K,{name:P,declaration:{updated:false,loc:E.loc,range:E.range}});return true}));v.hooks.pattern.for(L.exports).tap(ae,(E=>{v.tagVariable(E.name,K,{name:"__nested_webpack_exports__",declaration:{updated:false,loc:E.loc,range:E.range}});return true}));v.hooks.expression.for(K).tap(ae,(E=>{const{name:P,declaration:R}=v.currentTagData;if(!R.updated){const E=new q(P,R.range);E.loc=R.loc;v.state.module.addPresentationalDependency(E);R.updated=true}const $=new q(P,E.range);$.loc=E.loc;v.state.module.addPresentationalDependency($);return true}));v.hooks.program.tap(ae,((E,P)=>{if(P.length===0)return;const R=P[0];if(R.type==="Line"&&R.range[0]===0){if(v.state.source.slice(0,2).toString()!=="#!")return;const E=new q("//",0);E.loc=R.loc;v.state.module.addPresentationalDependency(E)}}))};E.hooks.parser.for(R).tap(ae,handler);E.hooks.parser.for($).tap(ae,handler);E.hooks.parser.for(N).tap(ae,handler)}))}}v.exports=CompatibilityPlugin},92150:function(v,E,P){"use strict";const R=P(78175);const{HookMap:$,SyncHook:N,SyncBailHook:L,SyncWaterfallHook:q,AsyncSeriesHook:K,AsyncSeriesBailHook:ae,AsyncParallelHook:ge}=P(79846);const be=P(73837);const{CachedSource:xe}=P(51255);const{MultiItemCache:ve}=P(238);const Ae=P(13537);const Ie=P(33422);const He=P(62455);const Qe=P(17197);const Je=P(53083);const Ve=P(45269);const Ke=P(1710);const Ye=P(61803);const Xe=P(707);const Ze=P(79342);const et=P(5636);const tt=P(62304);const{connectChunkGroupAndChunk:nt,connectChunkGroupParentAndChild:st}=P(85710);const{makeWebpackError:rt,tryRunOrWebpackError:ot}=P(76498);const it=P(94466);const at=P(82919);const ct=P(71198);const lt=P(68250);const ut=P(22425);const pt=P(49984);const dt=P(41810);const ft=P(84067);const ht=P(6779);const mt=P(92405);const gt=P(22928);const{WEBPACK_MODULE_TYPE_RUNTIME:yt}=P(98791);const bt=P(75189);const xt=P(51747);const kt=P(32110);const vt=P(45425);const wt=P(12369);const Et=P(87516);const{Logger:At,LogType:Ct}=P(48340);const St=P(38839);const _t=P(27505);const{equals:Pt}=P(98734);const Mt=P(51699);const It=P(95259);const{getOrInsert:Ot}=P(8568);const Dt=P(85700);const{cachedCleverMerge:Rt}=P(34218);const{compareLocations:Tt,concatComparators:$t,compareSelect:Ft,compareIds:jt,compareStringsNumeric:Nt,compareModulesByIdentifier:Lt}=P(80754);const Bt=P(1558);const{arrayToSetDeprecation:qt,soonFrozenObjectDeprecation:zt,createFakeHook:Ut}=P(74962);const Gt=P(79747);const{getRuntimeKey:Ht}=P(32681);const{isSourceEqual:Wt}=P(42643);const Qt=Object.freeze({});const Jt="esm";const Vt=be.deprecate((v=>P(44208).getCompilationHooks(v).loader),"Compilation.hooks.normalModuleLoader was moved to NormalModule.getCompilationHooks(compilation).loader","DEP_WEBPACK_COMPILATION_NORMAL_MODULE_LOADER_HOOK");const defineRemovedModuleTemplates=v=>{Object.defineProperties(v,{asset:{enumerable:false,configurable:false,get:()=>{throw new vt("Compilation.moduleTemplates.asset has been removed")}},webassembly:{enumerable:false,configurable:false,get:()=>{throw new vt("Compilation.moduleTemplates.webassembly has been removed")}}});v=undefined};const Kt=Ft((v=>v.id),jt);const Yt=$t(Ft((v=>v.name),jt),Ft((v=>v.fullHash),jt));const Xt=Ft((v=>`${v.message}`),Nt);const Zt=Ft((v=>v.module&&v.module.identifier()||""),Nt);const en=Ft((v=>v.loc),Tt);const tn=$t(Zt,en,Xt);const nn=new WeakMap;const sn=new WeakMap;class Compilation{constructor(v,E){this._backCompat=v._backCompat;const getNormalModuleLoader=()=>Vt(this);const P=new K(["assets"]);let R=new Set;const popNewAssets=v=>{let E=undefined;for(const P of Object.keys(v)){if(R.has(P))continue;if(E===undefined){E=Object.create(null)}E[P]=v[P];R.add(P)}return E};P.intercept({name:"Compilation",call:()=>{R=new Set(Object.keys(this.assets))},register:v=>{const{type:E,name:P}=v;const{fn:R,additionalAssets:$,...N}=v;const L=$===true?R:$;const q=L?new WeakSet:undefined;switch(E){case"sync":if(L){this.hooks.processAdditionalAssets.tap(P,(v=>{if(q.has(this.assets))L(v)}))}return{...N,type:"async",fn:(v,E)=>{try{R(v)}catch(v){return E(v)}if(q!==undefined)q.add(this.assets);const P=popNewAssets(v);if(P!==undefined){this.hooks.processAdditionalAssets.callAsync(P,E);return}E()}};case"async":if(L){this.hooks.processAdditionalAssets.tapAsync(P,((v,E)=>{if(q.has(this.assets))return L(v,E);E()}))}return{...N,fn:(v,E)=>{R(v,(P=>{if(P)return E(P);if(q!==undefined)q.add(this.assets);const R=popNewAssets(v);if(R!==undefined){this.hooks.processAdditionalAssets.callAsync(R,E);return}E()}))}};case"promise":if(L){this.hooks.processAdditionalAssets.tapPromise(P,(v=>{if(q.has(this.assets))return L(v);return Promise.resolve()}))}return{...N,fn:v=>{const E=R(v);if(!E||!E.then)return E;return E.then((()=>{if(q!==undefined)q.add(this.assets);const E=popNewAssets(v);if(E!==undefined){return this.hooks.processAdditionalAssets.promise(E)}}))}}}}});const xe=new N(["assets"]);const createProcessAssetsHook=(v,E,R,$)=>{if(!this._backCompat&&$)return undefined;const errorMessage=E=>`Can't automatically convert plugin using Compilation.hooks.${v} to Compilation.hooks.processAssets because ${E}.\nBREAKING CHANGE: Asset processing hooks in Compilation has been merged into a single Compilation.hooks.processAssets hook.`;const getOptions=v=>{if(typeof v==="string")v={name:v};if(v.stage){throw new Error(errorMessage("it's using the 'stage' option"))}return{...v,stage:E}};return Ut({name:v,intercept(v){throw new Error(errorMessage("it's using 'intercept'"))},tap:(v,E)=>{P.tap(getOptions(v),(()=>E(...R())))},tapAsync:(v,E)=>{P.tapAsync(getOptions(v),((v,P)=>E(...R(),P)))},tapPromise:(v,E)=>{P.tapPromise(getOptions(v),(()=>E(...R())))}},`${v} is deprecated (use Compilation.hooks.processAssets instead and use one of Compilation.PROCESS_ASSETS_STAGE_* as stage option)`,$)};this.hooks=Object.freeze({buildModule:new N(["module"]),rebuildModule:new N(["module"]),failedModule:new N(["module","error"]),succeedModule:new N(["module"]),stillValidModule:new N(["module"]),addEntry:new N(["entry","options"]),failedEntry:new N(["entry","options","error"]),succeedEntry:new N(["entry","options","module"]),dependencyReferencedExports:new q(["referencedExports","dependency","runtime"]),executeModule:new N(["options","context"]),prepareModuleExecution:new ge(["options","context"]),finishModules:new K(["modules"]),finishRebuildingModule:new K(["module"]),unseal:new N([]),seal:new N([]),beforeChunks:new N([]),afterChunks:new N(["chunks"]),optimizeDependencies:new L(["modules"]),afterOptimizeDependencies:new N(["modules"]),optimize:new N([]),optimizeModules:new L(["modules"]),afterOptimizeModules:new N(["modules"]),optimizeChunks:new L(["chunks","chunkGroups"]),afterOptimizeChunks:new N(["chunks","chunkGroups"]),optimizeTree:new K(["chunks","modules"]),afterOptimizeTree:new N(["chunks","modules"]),optimizeChunkModules:new ae(["chunks","modules"]),afterOptimizeChunkModules:new N(["chunks","modules"]),shouldRecord:new L([]),additionalChunkRuntimeRequirements:new N(["chunk","runtimeRequirements","context"]),runtimeRequirementInChunk:new $((()=>new L(["chunk","runtimeRequirements","context"]))),additionalModuleRuntimeRequirements:new N(["module","runtimeRequirements","context"]),runtimeRequirementInModule:new $((()=>new L(["module","runtimeRequirements","context"]))),additionalTreeRuntimeRequirements:new N(["chunk","runtimeRequirements","context"]),runtimeRequirementInTree:new $((()=>new L(["chunk","runtimeRequirements","context"]))),runtimeModule:new N(["module","chunk"]),reviveModules:new N(["modules","records"]),beforeModuleIds:new N(["modules"]),moduleIds:new N(["modules"]),optimizeModuleIds:new N(["modules"]),afterOptimizeModuleIds:new N(["modules"]),reviveChunks:new N(["chunks","records"]),beforeChunkIds:new N(["chunks"]),chunkIds:new N(["chunks"]),optimizeChunkIds:new N(["chunks"]),afterOptimizeChunkIds:new N(["chunks"]),recordModules:new N(["modules","records"]),recordChunks:new N(["chunks","records"]),optimizeCodeGeneration:new N(["modules"]),beforeModuleHash:new N([]),afterModuleHash:new N([]),beforeCodeGeneration:new N([]),afterCodeGeneration:new N([]),beforeRuntimeRequirements:new N([]),afterRuntimeRequirements:new N([]),beforeHash:new N([]),contentHash:new N(["chunk"]),afterHash:new N([]),recordHash:new N(["records"]),record:new N(["compilation","records"]),beforeModuleAssets:new N([]),shouldGenerateChunkAssets:new L([]),beforeChunkAssets:new N([]),additionalChunkAssets:createProcessAssetsHook("additionalChunkAssets",Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL,(()=>[this.chunks]),"DEP_WEBPACK_COMPILATION_ADDITIONAL_CHUNK_ASSETS"),additionalAssets:createProcessAssetsHook("additionalAssets",Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL,(()=>[])),optimizeChunkAssets:createProcessAssetsHook("optimizeChunkAssets",Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE,(()=>[this.chunks]),"DEP_WEBPACK_COMPILATION_OPTIMIZE_CHUNK_ASSETS"),afterOptimizeChunkAssets:createProcessAssetsHook("afterOptimizeChunkAssets",Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE+1,(()=>[this.chunks]),"DEP_WEBPACK_COMPILATION_AFTER_OPTIMIZE_CHUNK_ASSETS"),optimizeAssets:P,afterOptimizeAssets:xe,processAssets:P,afterProcessAssets:xe,processAdditionalAssets:new K(["assets"]),needAdditionalSeal:new L([]),afterSeal:new K([]),renderManifest:new q(["result","options"]),fullHash:new N(["hash"]),chunkHash:new N(["chunk","chunkHash","ChunkHashContext"]),moduleAsset:new N(["module","filename"]),chunkAsset:new N(["chunk","filename"]),assetPath:new q(["path","options","assetInfo"]),needAdditionalPass:new L([]),childCompiler:new N(["childCompiler","compilerName","compilerIndex"]),log:new L(["origin","logEntry"]),processWarnings:new q(["warnings"]),processErrors:new q(["errors"]),statsPreset:new $((()=>new N(["options","context"]))),statsNormalize:new N(["options","context"]),statsFactory:new N(["statsFactory","options"]),statsPrinter:new N(["statsPrinter","options"]),get normalModuleLoader(){return getNormalModuleLoader()}});this.name=undefined;this.startTime=undefined;this.endTime=undefined;this.compiler=v;this.resolverFactory=v.resolverFactory;this.inputFileSystem=v.inputFileSystem;this.fileSystemInfo=new tt(this.inputFileSystem,{unmanagedPaths:v.unmanagedPaths,managedPaths:v.managedPaths,immutablePaths:v.immutablePaths,logger:this.getLogger("webpack.FileSystemInfo"),hashFunction:v.options.output.hashFunction});if(v.fileTimestamps){this.fileSystemInfo.addFileTimestamps(v.fileTimestamps,true)}if(v.contextTimestamps){this.fileSystemInfo.addContextTimestamps(v.contextTimestamps,true)}this.valueCacheVersions=new Map;this.requestShortener=v.requestShortener;this.compilerPath=v.compilerPath;this.logger=this.getLogger("webpack.Compilation");const ve=v.options;this.options=ve;this.outputOptions=ve&&ve.output;this.bail=ve&&ve.bail||false;this.profile=ve&&ve.profile||false;this.params=E;this.mainTemplate=new it(this.outputOptions,this);this.chunkTemplate=new Je(this.outputOptions,this);this.runtimeTemplate=new xt(this,this.outputOptions,this.requestShortener);this.moduleTemplates={javascript:new gt(this.runtimeTemplate,this)};defineRemovedModuleTemplates(this.moduleTemplates);this.moduleMemCaches=undefined;this.moduleMemCaches2=undefined;this.moduleGraph=new ut;this.chunkGraph=undefined;this.codeGenerationResults=undefined;this.processDependenciesQueue=new Mt({name:"processDependencies",parallelism:ve.parallelism||100,processor:this._processModuleDependencies.bind(this)});this.addModuleQueue=new Mt({name:"addModule",parent:this.processDependenciesQueue,getKey:v=>v.identifier(),processor:this._addModule.bind(this)});this.factorizeQueue=new Mt({name:"factorize",parent:this.addModuleQueue,processor:this._factorizeModule.bind(this)});this.buildQueue=new Mt({name:"build",parent:this.factorizeQueue,processor:this._buildModule.bind(this)});this.rebuildQueue=new Mt({name:"rebuild",parallelism:ve.parallelism||100,processor:this._rebuildModule.bind(this)});this.creatingModuleDuringBuild=new WeakMap;this.entries=new Map;this.globalEntry={dependencies:[],includeDependencies:[],options:{name:undefined}};this.entrypoints=new Map;this.asyncEntrypoints=[];this.chunks=new Set;this.chunkGroups=[];this.namedChunkGroups=new Map;this.namedChunks=new Map;this.modules=new Set;if(this._backCompat){qt(this.chunks,"Compilation.chunks");qt(this.modules,"Compilation.modules")}this._modules=new Map;this.records=null;this.additionalChunkAssets=[];this.assets={};this.assetsInfo=new Map;this._assetsRelatedIn=new Map;this.errors=[];this.warnings=[];this.children=[];this.logging=new Map;this.dependencyFactories=new Map;this.dependencyTemplates=new Xe(this.outputOptions.hashFunction);this.childrenCounters={};this.usedChunkIds=null;this.usedModuleIds=null;this.needAdditionalPass=false;this._restoredUnsafeCacheModuleEntries=new Set;this._restoredUnsafeCacheEntries=new Map;this.builtModules=new WeakSet;this.codeGeneratedModules=new WeakSet;this.buildTimeExecutedModules=new WeakSet;this._rebuildingModules=new Map;this.emittedAssets=new Set;this.comparedForEmitAssets=new Set;this.fileDependencies=new It;this.contextDependencies=new It;this.missingDependencies=new It;this.buildDependencies=new It;this.compilationDependencies={add:be.deprecate((v=>this.fileDependencies.add(v)),"Compilation.compilationDependencies is deprecated (used Compilation.fileDependencies instead)","DEP_WEBPACK_COMPILATION_COMPILATION_DEPENDENCIES")};this._modulesCache=this.getCache("Compilation/modules");this._assetsCache=this.getCache("Compilation/assets");this._codeGenerationCache=this.getCache("Compilation/codeGeneration");const Ae=ve.module.unsafeCache;this._unsafeCache=!!Ae;this._unsafeCachePredicate=typeof Ae==="function"?Ae:()=>true}getStats(){return new kt(this)}createStatsOptions(v,E={}){if(typeof v==="boolean"||typeof v==="string"){v={preset:v}}if(typeof v==="object"&&v!==null){const P={};for(const E in v){P[E]=v[E]}if(P.preset!==undefined){this.hooks.statsPreset.for(P.preset).call(P,E)}this.hooks.statsNormalize.call(P,E);return P}else{const v={};this.hooks.statsNormalize.call(v,E);return v}}createStatsFactory(v){const E=new St;this.hooks.statsFactory.call(E,v);return E}createStatsPrinter(v){const E=new _t;this.hooks.statsPrinter.call(E,v);return E}getCache(v){return this.compiler.getCache(v)}getLogger(v){if(!v){throw new TypeError("Compilation.getLogger(name) called without a name")}let E;return new At(((P,R)=>{if(typeof v==="function"){v=v();if(!v){throw new TypeError("Compilation.getLogger(name) called with a function not returning a name")}}let $;switch(P){case Ct.warn:case Ct.error:case Ct.trace:$=et.cutOffLoaderExecution(new Error("Trace").stack).split("\n").slice(3);break}const N={time:Date.now(),type:P,args:R,trace:$};if(this.hooks.log.call(v,N)===undefined){if(N.type===Ct.profileEnd){if(typeof console.profileEnd==="function"){console.profileEnd(`[${v}] ${N.args[0]}`)}}if(E===undefined){E=this.logging.get(v);if(E===undefined){E=[];this.logging.set(v,E)}}E.push(N);if(N.type===Ct.profile){if(typeof console.profile==="function"){console.profile(`[${v}] ${N.args[0]}`)}}}}),(E=>{if(typeof v==="function"){if(typeof E==="function"){return this.getLogger((()=>{if(typeof v==="function"){v=v();if(!v){throw new TypeError("Compilation.getLogger(name) called with a function not returning a name")}}if(typeof E==="function"){E=E();if(!E){throw new TypeError("Logger.getChildLogger(name) called with a function not returning a name")}}return`${v}/${E}`}))}else{return this.getLogger((()=>{if(typeof v==="function"){v=v();if(!v){throw new TypeError("Compilation.getLogger(name) called with a function not returning a name")}}return`${v}/${E}`}))}}else{if(typeof E==="function"){return this.getLogger((()=>{if(typeof E==="function"){E=E();if(!E){throw new TypeError("Logger.getChildLogger(name) called with a function not returning a name")}}return`${v}/${E}`}))}else{return this.getLogger(`${v}/${E}`)}}}))}addModule(v,E){this.addModuleQueue.add(v,E)}_addModule(v,E){const P=v.identifier();const R=this._modules.get(P);if(R){return E(null,R)}const $=this.profile?this.moduleGraph.getProfile(v):undefined;if($!==undefined){$.markRestoringStart()}this._modulesCache.get(P,null,((R,N)=>{if(R)return E(new ht(v,R));if($!==undefined){$.markRestoringEnd();$.markIntegrationStart()}if(N){N.updateCacheModule(v);v=N}this._modules.set(P,v);this.modules.add(v);if(this._backCompat)ut.setModuleGraphForModule(v,this.moduleGraph);if($!==undefined){$.markIntegrationEnd()}E(null,v)}))}getModule(v){const E=v.identifier();return this._modules.get(E)}findModule(v){return this._modules.get(v)}buildModule(v,E){this.buildQueue.add(v,E)}_buildModule(v,E){const P=this.profile?this.moduleGraph.getProfile(v):undefined;if(P!==undefined){P.markBuildingStart()}v.needBuild({compilation:this,fileSystemInfo:this.fileSystemInfo,valueCacheVersions:this.valueCacheVersions},((R,$)=>{if(R)return E(R);if(!$){if(P!==undefined){P.markBuildingEnd()}this.hooks.stillValidModule.call(v);return E()}this.hooks.buildModule.call(v);this.builtModules.add(v);v.build(this.options,this,this.resolverFactory.get("normal",v.resolveOptions),this.inputFileSystem,(R=>{if(P!==undefined){P.markBuildingEnd()}if(R){this.hooks.failedModule.call(v,R);return E(R)}if(P!==undefined){P.markStoringStart()}this._modulesCache.store(v.identifier(),null,v,(R=>{if(P!==undefined){P.markStoringEnd()}if(R){this.hooks.failedModule.call(v,R);return E(new mt(v,R))}this.hooks.succeedModule.call(v);return E()}))}))}))}processModuleDependencies(v,E){this.processDependenciesQueue.add(v,E)}processModuleDependenciesNonRecursive(v){const processDependenciesBlock=E=>{if(E.dependencies){let P=0;for(const R of E.dependencies){this.moduleGraph.setParents(R,E,v,P++)}}if(E.blocks){for(const v of E.blocks)processDependenciesBlock(v)}};processDependenciesBlock(v)}_processModuleDependencies(v,E){const P=[];let R;let $;let N;let L;let q;let K;let ae;let ge;let be=1;let xe=1;const onDependenciesSorted=v=>{if(v)return E(v);if(P.length===0&&xe===1){return E()}this.processDependenciesQueue.increaseParallelism();for(const v of P){xe++;this.handleModuleCreation(v,(v=>{if(v&&this.bail){if(xe<=0)return;xe=-1;v.stack=v.stack;onTransitiveTasksFinished(v);return}if(--xe===0)onTransitiveTasksFinished()}))}if(--xe===0)onTransitiveTasksFinished()};const onTransitiveTasksFinished=v=>{if(v)return E(v);this.processDependenciesQueue.decreaseParallelism();return E()};const processDependency=(E,P)=>{this.moduleGraph.setParents(E,R,v,P);if(this._unsafeCache){try{const P=nn.get(E);if(P===null)return;if(P!==undefined){if(this._restoredUnsafeCacheModuleEntries.has(P)){this._handleExistingModuleFromUnsafeCache(v,E,P);return}const R=P.identifier();const $=this._restoredUnsafeCacheEntries.get(R);if($!==undefined){nn.set(E,$);this._handleExistingModuleFromUnsafeCache(v,E,$);return}be++;this._modulesCache.get(R,null,(($,N)=>{if($){if(be<=0)return;be=-1;onDependenciesSorted($);return}try{if(!this._restoredUnsafeCacheEntries.has(R)){const $=sn.get(N);if($===undefined){processDependencyForResolving(E);if(--be===0)onDependenciesSorted();return}if(N!==P){nn.set(E,N)}N.restoreFromUnsafeCache($,this.params.normalModuleFactory,this.params);this._restoredUnsafeCacheEntries.set(R,N);this._restoredUnsafeCacheModuleEntries.add(N);if(!this.modules.has(N)){xe++;this._handleNewModuleFromUnsafeCache(v,E,N,(v=>{if(v){if(xe<=0)return;xe=-1;onTransitiveTasksFinished(v)}if(--xe===0)return onTransitiveTasksFinished()}));if(--be===0)onDependenciesSorted();return}}if(P!==N){nn.set(E,N)}this._handleExistingModuleFromUnsafeCache(v,E,N)}catch($){if(be<=0)return;be=-1;onDependenciesSorted($);return}if(--be===0)onDependenciesSorted()}));return}}catch(v){console.error(v)}}processDependencyForResolving(E)};const processDependencyForResolving=E=>{const R=E.getResourceIdentifier();if(R!==undefined&&R!==null){const be=E.category;const xe=E.constructor;if(N===xe){if(K===be&&ae===R){ge.push(E);return}}else{const v=this.dependencyFactories.get(xe);if(v===undefined){throw new Error(`No module factory available for dependency type: ${xe.name}`)}if(L===v){N=xe;if(K===be&&ae===R){ge.push(E);return}}else{if(L!==undefined){if($===undefined)$=new Map;$.set(L,q);q=$.get(v);if(q===undefined){q=new Map}}else{q=new Map}N=xe;L=v}}const ve=be===Jt?R:`${be}${R}`;let Ae=q.get(ve);if(Ae===undefined){q.set(ve,Ae=[]);P.push({factory:L,dependencies:Ae,context:E.getContext(),originModule:v})}Ae.push(E);K=be;ae=R;ge=Ae}};try{const E=[v];do{const v=E.pop();if(v.dependencies){R=v;let E=0;for(const P of v.dependencies)processDependency(P,E++)}if(v.blocks){for(const P of v.blocks)E.push(P)}}while(E.length!==0)}catch(v){return E(v)}if(--be===0)onDependenciesSorted()}_handleNewModuleFromUnsafeCache(v,E,P,R){const $=this.moduleGraph;$.setResolvedModule(v,E,P);$.setIssuerIfUnset(P,v!==undefined?v:null);this._modules.set(P.identifier(),P);this.modules.add(P);if(this._backCompat)ut.setModuleGraphForModule(P,this.moduleGraph);this._handleModuleBuildAndDependencies(v,P,true,false,R)}_handleExistingModuleFromUnsafeCache(v,E,P){const R=this.moduleGraph;R.setResolvedModule(v,E,P)}handleModuleCreation({factory:v,dependencies:E,originModule:P,contextInfo:R,context:$,recursive:N=true,connectOrigin:L=N,checkCycle:q=!N},K){const ae=this.moduleGraph;const ge=this.profile?new ft:undefined;this.factorizeModule({currentProfile:ge,factory:v,dependencies:E,factoryResult:true,originModule:P,contextInfo:R,context:$},((v,R)=>{const applyFactoryResultDependencies=()=>{const{fileDependencies:v,contextDependencies:E,missingDependencies:P}=R;if(v){this.fileDependencies.addAll(v)}if(E){this.contextDependencies.addAll(E)}if(P){this.missingDependencies.addAll(P)}};if(v){if(R)applyFactoryResultDependencies();if(E.every((v=>v.optional))){this.warnings.push(v);return K()}else{this.errors.push(v);return K(v)}}const $=R.module;if(!$){applyFactoryResultDependencies();return K()}if(ge!==undefined){ae.setProfile($,ge)}this.addModule($,((v,be)=>{if(v){applyFactoryResultDependencies();if(!v.module){v.module=be}this.errors.push(v);return K(v)}if(this._unsafeCache&&R.cacheable!==false&&be.restoreFromUnsafeCache&&this._unsafeCachePredicate(be)){const v=be;for(let R=0;R{if(N!==undefined){N.delete(E)}if(v){if(!v.module){v.module=E}this.errors.push(v);return $(v)}if(!P){this.processModuleDependenciesNonRecursive(E);$(null,E);return}if(this.processDependenciesQueue.isProcessing(E)){return $(null,E)}this.processModuleDependencies(E,(v=>{if(v){return $(v)}$(null,E)}))}))}_factorizeModule({currentProfile:v,factory:E,dependencies:P,originModule:R,factoryResult:$,contextInfo:N,context:L},q){if(v!==undefined){v.markFactoryStart()}E.create({contextInfo:{issuer:R?R.nameForCondition():"",issuerLayer:R?R.layer:null,compiler:this.compiler.name,...N},resolveOptions:R?R.resolveOptions:undefined,context:L?L:R?R.context:this.compiler.context,dependencies:P},((E,N)=>{if(N){if(N.module===undefined&&N instanceof at){N={module:N}}if(!$){const{fileDependencies:v,contextDependencies:E,missingDependencies:P}=N;if(v){this.fileDependencies.addAll(v)}if(E){this.contextDependencies.addAll(E)}if(P){this.missingDependencies.addAll(P)}}}if(E){const v=new dt(R,E,P.map((v=>v.loc)).filter(Boolean)[0]);return q(v,$?N:undefined)}if(!N){return q()}if(v!==undefined){v.markFactoryEnd()}q(null,$?N:N.module)}))}addModuleChain(v,E,P){return this.addModuleTree({context:v,dependency:E},P)}addModuleTree({context:v,dependency:E,contextInfo:P},R){if(typeof E!=="object"||E===null||!E.constructor){return R(new vt("Parameter 'dependency' must be a Dependency"))}const $=E.constructor;const N=this.dependencyFactories.get($);if(!N){return R(new vt(`No dependency factory available for this dependency type: ${E.constructor.name}`))}this.handleModuleCreation({factory:N,dependencies:[E],originModule:null,contextInfo:P,context:v},((v,E)=>{if(v&&this.bail){R(v);this.buildQueue.stop();this.rebuildQueue.stop();this.processDependenciesQueue.stop();this.factorizeQueue.stop()}else if(!v&&E){R(null,E)}else{R()}}))}addEntry(v,E,P,R){const $=typeof P==="object"?P:{name:P};this._addEntryItem(v,E,"dependencies",$,R)}addInclude(v,E,P,R){this._addEntryItem(v,E,"includeDependencies",P,R)}_addEntryItem(v,E,P,R,$){const{name:N}=R;let L=N!==undefined?this.entries.get(N):this.globalEntry;if(L===undefined){L={dependencies:[],includeDependencies:[],options:{name:undefined,...R}};L[P].push(E);this.entries.set(N,L)}else{L[P].push(E);for(const v of Object.keys(R)){if(R[v]===undefined)continue;if(L.options[v]===R[v])continue;if(Array.isArray(L.options[v])&&Array.isArray(R[v])&&Pt(L.options[v],R[v])){continue}if(L.options[v]===undefined){L.options[v]=R[v]}else{return $(new vt(`Conflicting entry option ${v} = ${L.options[v]} vs ${R[v]}`))}}}this.hooks.addEntry.call(E,R);this.addModuleTree({context:v,dependency:E,contextInfo:L.options.layer?{issuerLayer:L.options.layer}:undefined},((v,P)=>{if(v){this.hooks.failedEntry.call(E,R,v);return $(v)}this.hooks.succeedEntry.call(E,R,P);return $(null,P)}))}rebuildModule(v,E){this.rebuildQueue.add(v,E)}_rebuildModule(v,E){this.hooks.rebuildModule.call(v);const P=v.dependencies.slice();const R=v.blocks.slice();v.invalidateBuild();this.buildQueue.invalidate(v);this.buildModule(v,($=>{if($){return this.hooks.finishRebuildingModule.callAsync(v,(v=>{if(v){E(rt(v,"Compilation.hooks.finishRebuildingModule"));return}E($)}))}this.processDependenciesQueue.invalidate(v);this.moduleGraph.unfreeze();this.processModuleDependencies(v,($=>{if($)return E($);this.removeReasonsOfDependencyBlock(v,{dependencies:P,blocks:R});this.hooks.finishRebuildingModule.callAsync(v,(P=>{if(P){E(rt(P,"Compilation.hooks.finishRebuildingModule"));return}E(null,v)}))}))}))}_computeAffectedModules(v){const E=this.compiler.moduleMemCaches;if(!E)return;if(!this.moduleMemCaches){this.moduleMemCaches=new Map;this.moduleGraph.setModuleMemCaches(this.moduleMemCaches)}const{moduleGraph:P,moduleMemCaches:R}=this;const $=new Set;const N=new Set;let L=0;let q=0;let K=0;let ae=0;let ge=0;const computeReferences=v=>{let E=undefined;for(const R of P.getOutgoingConnections(v)){const v=R.dependency;const P=R.module;if(!v||!P||nn.has(v))continue;if(E===undefined)E=new WeakMap;E.set(v,P)}return E};const compareReferences=(v,E)=>{if(E===undefined)return true;for(const R of P.getOutgoingConnections(v)){const v=R.dependency;if(!v)continue;const P=E.get(v);if(P===undefined)continue;if(P!==R.module)return false}return true};const be=new Set(v);for(const[v,P]of E){if(be.has(v)){const L=v.buildInfo;if(L){if(P.buildInfo!==L){const E=new Dt;R.set(v,E);$.add(v);P.buildInfo=L;P.references=computeReferences(v);P.memCache=E;q++}else if(!compareReferences(v,P.references)){const E=new Dt;R.set(v,E);$.add(v);P.references=computeReferences(v);P.memCache=E;ae++}else{R.set(v,P.memCache);K++}}else{N.add(v);E.delete(v);ge++}be.delete(v)}else{E.delete(v)}}for(const v of be){const P=v.buildInfo;if(P){const N=new Dt;E.set(v,{buildInfo:P,references:computeReferences(v),memCache:N});R.set(v,N);$.add(v);L++}else{N.add(v);ge++}}const reduceAffectType=v=>{let E=false;for(const{dependency:P}of v){if(!P)continue;const v=P.couldAffectReferencingModule();if(v===Ye.TRANSITIVE)return Ye.TRANSITIVE;if(v===false)continue;E=true}return E};const xe=new Set;for(const v of N){for(const[E,R]of P.getIncomingConnectionsByOriginModule(v)){if(!E)continue;if(N.has(E))continue;const v=reduceAffectType(R);if(!v)continue;if(v===true){xe.add(E)}else{N.add(E)}}}for(const v of xe)N.add(v);const ve=new Set;for(const v of $){for(const[L,q]of P.getIncomingConnectionsByOriginModule(v)){if(!L)continue;if(N.has(L))continue;if($.has(L))continue;const v=reduceAffectType(q);if(!v)continue;if(v===true){ve.add(L)}else{$.add(L)}const P=new Dt;const K=E.get(L);K.memCache=P;R.set(L,P)}}for(const v of ve)$.add(v);this.logger.log(`${Math.round(100*($.size+N.size)/this.modules.size)}% (${$.size} affected + ${N.size} infected of ${this.modules.size}) modules flagged as affected (${L} new modules, ${q} changed, ${ae} references changed, ${K} unchanged, ${ge} were not built)`)}_computeAffectedModulesWithChunkGraph(){const{moduleMemCaches:v}=this;if(!v)return;const E=this.moduleMemCaches2=new Map;const{moduleGraph:P,chunkGraph:R}=this;const $="memCache2";let N=0;let L=0;let q=0;const computeReferences=v=>{const E=R.getModuleId(v);let $=undefined;let N=undefined;const L=P.getOutgoingConnectionsByModule(v);if(L!==undefined){for(const v of L.keys()){if(!v)continue;if($===undefined)$=new Map;$.set(v,R.getModuleId(v))}}if(v.blocks.length>0){N=[];const E=Array.from(v.blocks);for(const v of E){const P=R.getBlockChunkGroup(v);if(P){for(const v of P.chunks){N.push(v.id)}}else{N.push(null)}E.push.apply(E,v.blocks)}}return{id:E,modules:$,blocks:N}};const compareReferences=(v,{id:E,modules:P,blocks:$})=>{if(E!==R.getModuleId(v))return false;if(P!==undefined){for(const[v,E]of P){if(R.getModuleId(v)!==E)return false}}if($!==undefined){const E=Array.from(v.blocks);let P=0;for(const v of E){const N=R.getBlockChunkGroup(v);if(N){for(const v of N.chunks){if(P>=$.length||$[P++]!==v.id)return false}}else{if(P>=$.length||$[P++]!==null)return false}E.push.apply(E,v.blocks)}if(P!==$.length)return false}return true};for(const[P,R]of v){const v=R.get($);if(v===undefined){const v=new Dt;R.set($,{references:computeReferences(P),memCache:v});E.set(P,v);q++}else if(!compareReferences(P,v.references)){const R=new Dt;v.references=computeReferences(P);v.memCache=R;E.set(P,R);L++}else{E.set(P,v.memCache);N++}}this.logger.log(`${Math.round(100*L/(q+L+N))}% modules flagged as affected by chunk graph (${q} new modules, ${L} changed, ${N} unchanged)`)}finish(v){this.factorizeQueue.clear();if(this.profile){this.logger.time("finish module profiles");const v=P(97963);const E=new v;const R=this.moduleGraph;const $=new Map;for(const v of this.modules){const P=R.getProfile(v);if(!P)continue;$.set(v,P);E.range(P.buildingStartTime,P.buildingEndTime,(v=>P.buildingParallelismFactor=v));E.range(P.factoryStartTime,P.factoryEndTime,(v=>P.factoryParallelismFactor=v));E.range(P.integrationStartTime,P.integrationEndTime,(v=>P.integrationParallelismFactor=v));E.range(P.storingStartTime,P.storingEndTime,(v=>P.storingParallelismFactor=v));E.range(P.restoringStartTime,P.restoringEndTime,(v=>P.restoringParallelismFactor=v));if(P.additionalFactoryTimes){for(const{start:v,end:R}of P.additionalFactoryTimes){const $=(R-v)/P.additionalFactories;E.range(v,R,(v=>P.additionalFactoriesParallelismFactor+=v*$))}}}E.calculate();const N=this.getLogger("webpack.Compilation.ModuleProfile");const logByValue=(v,E)=>{if(v>1e3){N.error(E)}else if(v>500){N.warn(E)}else if(v>200){N.info(E)}else if(v>30){N.log(E)}else{N.debug(E)}};const logNormalSummary=(v,E,P)=>{let R=0;let N=0;for(const[L,q]of $){const $=P(q);const K=E(q);if(K===0||$===0)continue;const ae=K/$;R+=ae;if(ae<=10)continue;logByValue(ae,` | ${Math.round(ae)} ms${$>=1.1?` (parallelism ${Math.round($*10)/10})`:""} ${v} > ${L.readableIdentifier(this.requestShortener)}`);N=Math.max(N,ae)}if(R<=10)return;logByValue(Math.max(R/10,N),`${Math.round(R)} ms ${v}`)};const logByLoadersSummary=(v,E,P)=>{const R=new Map;for(const[v,E]of $){const P=Ot(R,v.type+"!"+v.identifier().replace(/(!|^)[^!]*$/,""),(()=>[]));P.push({module:v,profile:E})}let N=0;let L=0;for(const[$,q]of R){let R=0;let K=0;for(const{module:$,profile:N}of q){const L=P(N);const q=E(N);if(q===0||L===0)continue;const ae=q/L;R+=ae;if(ae<=10)continue;logByValue(ae,` | | ${Math.round(ae)} ms${L>=1.1?` (parallelism ${Math.round(L*10)/10})`:""} ${v} > ${$.readableIdentifier(this.requestShortener)}`);K=Math.max(K,ae)}N+=R;if(R<=10)continue;const ae=$.indexOf("!");const ge=$.slice(ae+1);const be=$.slice(0,ae);const xe=Math.max(R/10,K);logByValue(xe,` | ${Math.round(R)} ms ${v} > ${ge?`${q.length} x ${be} with ${this.requestShortener.shorten(ge)}`:`${q.length} x ${be}`}`);L=Math.max(L,xe)}if(N<=10)return;logByValue(Math.max(N/10,L),`${Math.round(N)} ms ${v}`)};logNormalSummary("resolve to new modules",(v=>v.factory),(v=>v.factoryParallelismFactor));logNormalSummary("resolve to existing modules",(v=>v.additionalFactories),(v=>v.additionalFactoriesParallelismFactor));logNormalSummary("integrate modules",(v=>v.restoring),(v=>v.restoringParallelismFactor));logByLoadersSummary("build modules",(v=>v.building),(v=>v.buildingParallelismFactor));logNormalSummary("store modules",(v=>v.storing),(v=>v.storingParallelismFactor));logNormalSummary("restore modules",(v=>v.restoring),(v=>v.restoringParallelismFactor));this.logger.timeEnd("finish module profiles")}this.logger.time("compute affected modules");this._computeAffectedModules(this.modules);this.logger.timeEnd("compute affected modules");this.logger.time("finish modules");const{modules:E,moduleMemCaches:R}=this;this.hooks.finishModules.callAsync(E,(P=>{this.logger.timeEnd("finish modules");if(P)return v(P);this.moduleGraph.freeze("dependency errors");this.logger.time("report dependency errors and warnings");for(const v of E){const E=R&&R.get(v);if(E&&E.get("noWarningsOrErrors"))continue;let P=this.reportDependencyErrorsAndWarnings(v,[v]);const $=v.getErrors();if($!==undefined){for(const E of $){if(!E.module){E.module=v}this.errors.push(E);P=true}}const N=v.getWarnings();if(N!==undefined){for(const E of N){if(!E.module){E.module=v}this.warnings.push(E);P=true}}if(!P&&E)E.set("noWarningsOrErrors",true)}this.moduleGraph.unfreeze();this.logger.timeEnd("report dependency errors and warnings");v()}))}unseal(){this.hooks.unseal.call();this.chunks.clear();this.chunkGroups.length=0;this.namedChunks.clear();this.namedChunkGroups.clear();this.entrypoints.clear();this.additionalChunkAssets.length=0;this.assets={};this.assetsInfo.clear();this.moduleGraph.removeAllModuleAttributes();this.moduleGraph.unfreeze();this.moduleMemCaches2=undefined}seal(v){const finalCallback=E=>{this.factorizeQueue.clear();this.buildQueue.clear();this.rebuildQueue.clear();this.processDependenciesQueue.clear();this.addModuleQueue.clear();return v(E)};const E=new Ie(this.moduleGraph,this.outputOptions.hashFunction);this.chunkGraph=E;if(this._backCompat){for(const v of this.modules){Ie.setChunkGraphForModule(v,E)}}this.hooks.seal.call();this.logger.time("optimize dependencies");while(this.hooks.optimizeDependencies.call(this.modules)){}this.hooks.afterOptimizeDependencies.call(this.modules);this.logger.timeEnd("optimize dependencies");this.logger.time("create chunks");this.hooks.beforeChunks.call();this.moduleGraph.freeze("seal");const P=new Map;for(const[v,{dependencies:R,includeDependencies:$,options:N}]of this.entries){const L=this.addChunk(v);if(N.filename){L.filenameTemplate=N.filename}const q=new Ze(N);if(!N.dependOn&&!N.runtime){q.setRuntimeChunk(L)}q.setEntrypointChunk(L);this.namedChunkGroups.set(v,q);this.entrypoints.set(v,q);this.chunkGroups.push(q);nt(q,L);const K=new Set;for(const $ of[...this.globalEntry.dependencies,...R]){q.addOrigin(null,{name:v},$.request);const R=this.moduleGraph.getModule($);if(R){E.connectChunkAndEntryModule(L,R,q);K.add(R);const v=P.get(q);if(v===undefined){P.set(q,[R])}else{v.push(R)}}}this.assignDepths(K);const mapAndSort=v=>v.map((v=>this.moduleGraph.getModule(v))).filter(Boolean).sort(Lt);const ae=[...mapAndSort(this.globalEntry.includeDependencies),...mapAndSort($)];let ge=P.get(q);if(ge===undefined){P.set(q,ge=[])}for(const v of ae){this.assignDepth(v);ge.push(v)}}const R=new Set;e:for(const[v,{options:{dependOn:E,runtime:P}}]of this.entries){if(E&&P){const E=new vt(`Entrypoint '${v}' has 'dependOn' and 'runtime' specified. This is not valid.\nEntrypoints that depend on other entrypoints do not have their own runtime.\nThey will use the runtime(s) from referenced entrypoints instead.\nRemove the 'runtime' option from the entrypoint.`);const P=this.entrypoints.get(v);E.chunk=P.getEntrypointChunk();this.errors.push(E)}if(E){const P=this.entrypoints.get(v);const R=P.getEntrypointChunk().getAllReferencedChunks();const $=[];for(const N of E){const E=this.entrypoints.get(N);if(!E){throw new Error(`Entry ${v} depends on ${N}, but this entry was not found`)}if(R.has(E.getEntrypointChunk())){const E=new vt(`Entrypoints '${v}' and '${N}' use 'dependOn' to depend on each other in a circular way.`);const R=P.getEntrypointChunk();E.chunk=R;this.errors.push(E);P.setRuntimeChunk(R);continue e}$.push(E)}for(const v of $){st(v,P)}}else if(P){const E=this.entrypoints.get(v);let $=this.namedChunks.get(P);if($){if(!R.has($)){const R=new vt(`Entrypoint '${v}' has a 'runtime' option which points to another entrypoint named '${P}'.\nIt's not valid to use other entrypoints as runtime chunk.\nDid you mean to use 'dependOn: ${JSON.stringify(P)}' instead to allow using entrypoint '${v}' within the runtime of entrypoint '${P}'? For this '${P}' must always be loaded when '${v}' is used.\nOr do you want to use the entrypoints '${v}' and '${P}' independently on the same page with a shared runtime? In this case give them both the same value for the 'runtime' option. It must be a name not already used by an entrypoint.`);const $=E.getEntrypointChunk();R.chunk=$;this.errors.push(R);E.setRuntimeChunk($);continue}}else{$=this.addChunk(P);$.preventIntegration=true;R.add($)}E.unshiftChunk($);$.addGroup(E);E.setRuntimeChunk($)}}wt(this,P);this.hooks.afterChunks.call(this.chunks);this.logger.timeEnd("create chunks");this.logger.time("optimize");this.hooks.optimize.call();while(this.hooks.optimizeModules.call(this.modules)){}this.hooks.afterOptimizeModules.call(this.modules);while(this.hooks.optimizeChunks.call(this.chunks,this.chunkGroups)){}this.hooks.afterOptimizeChunks.call(this.chunks,this.chunkGroups);this.hooks.optimizeTree.callAsync(this.chunks,this.modules,(E=>{if(E){return finalCallback(rt(E,"Compilation.hooks.optimizeTree"))}this.hooks.afterOptimizeTree.call(this.chunks,this.modules);this.hooks.optimizeChunkModules.callAsync(this.chunks,this.modules,(E=>{if(E){return finalCallback(rt(E,"Compilation.hooks.optimizeChunkModules"))}this.hooks.afterOptimizeChunkModules.call(this.chunks,this.modules);const P=this.hooks.shouldRecord.call()!==false;this.hooks.reviveModules.call(this.modules,this.records);this.hooks.beforeModuleIds.call(this.modules);this.hooks.moduleIds.call(this.modules);this.hooks.optimizeModuleIds.call(this.modules);this.hooks.afterOptimizeModuleIds.call(this.modules);this.hooks.reviveChunks.call(this.chunks,this.records);this.hooks.beforeChunkIds.call(this.chunks);this.hooks.chunkIds.call(this.chunks);this.hooks.optimizeChunkIds.call(this.chunks);this.hooks.afterOptimizeChunkIds.call(this.chunks);this.assignRuntimeIds();this.logger.time("compute affected modules with chunk graph");this._computeAffectedModulesWithChunkGraph();this.logger.timeEnd("compute affected modules with chunk graph");this.sortItemsWithChunkIds();if(P){this.hooks.recordModules.call(this.modules,this.records);this.hooks.recordChunks.call(this.chunks,this.records)}this.hooks.optimizeCodeGeneration.call(this.modules);this.logger.timeEnd("optimize");this.logger.time("module hashing");this.hooks.beforeModuleHash.call();this.createModuleHashes();this.hooks.afterModuleHash.call();this.logger.timeEnd("module hashing");this.logger.time("code generation");this.hooks.beforeCodeGeneration.call();this.codeGeneration((E=>{if(E){return finalCallback(E)}this.hooks.afterCodeGeneration.call();this.logger.timeEnd("code generation");this.logger.time("runtime requirements");this.hooks.beforeRuntimeRequirements.call();this.processRuntimeRequirements();this.hooks.afterRuntimeRequirements.call();this.logger.timeEnd("runtime requirements");this.logger.time("hashing");this.hooks.beforeHash.call();const R=this.createHash();this.hooks.afterHash.call();this.logger.timeEnd("hashing");this._runCodeGenerationJobs(R,(E=>{if(E){return finalCallback(E)}if(P){this.logger.time("record hash");this.hooks.recordHash.call(this.records);this.logger.timeEnd("record hash")}this.logger.time("module assets");this.clearAssets();this.hooks.beforeModuleAssets.call();this.createModuleAssets();this.logger.timeEnd("module assets");const cont=()=>{this.logger.time("process assets");this.hooks.processAssets.callAsync(this.assets,(E=>{if(E){return finalCallback(rt(E,"Compilation.hooks.processAssets"))}this.hooks.afterProcessAssets.call(this.assets);this.logger.timeEnd("process assets");this.assets=this._backCompat?zt(this.assets,"Compilation.assets","DEP_WEBPACK_COMPILATION_ASSETS",`BREAKING CHANGE: No more changes should happen to Compilation.assets after sealing the Compilation.\n\tDo changes to assets earlier, e. g. in Compilation.hooks.processAssets.\n\tMake sure to select an appropriate stage from Compilation.PROCESS_ASSETS_STAGE_*.`):Object.freeze(this.assets);this.summarizeDependencies();if(P){this.hooks.record.call(this,this.records)}if(this.hooks.needAdditionalSeal.call()){this.unseal();return this.seal(v)}return this.hooks.afterSeal.callAsync((v=>{if(v){return finalCallback(rt(v,"Compilation.hooks.afterSeal"))}this.fileSystemInfo.logStatistics();finalCallback()}))}))};this.logger.time("create chunk assets");if(this.hooks.shouldGenerateChunkAssets.call()!==false){this.hooks.beforeChunkAssets.call();this.createChunkAssets((v=>{this.logger.timeEnd("create chunk assets");if(v){return finalCallback(v)}cont()}))}else{this.logger.timeEnd("create chunk assets");cont()}}))}))}))}))}reportDependencyErrorsAndWarnings(v,E){let P=false;for(let R=0;R1){const $=new Map;for(const N of R){const R=E.getModuleHash(v,N);const L=$.get(R);if(L===undefined){const E={module:v,hash:R,runtime:N,runtimes:[N]};P.push(E);$.set(R,E)}else{L.runtimes.push(N)}}}}this._runCodeGenerationJobs(P,v)}_runCodeGenerationJobs(v,E){if(v.length===0){return E()}let P=0;let $=0;const{chunkGraph:N,moduleGraph:L,dependencyTemplates:q,runtimeTemplate:K}=this;const ae=this.codeGenerationResults;const ge=[];let be=undefined;const runIteration=()=>{let xe=[];let ve=new Set;R.eachLimit(v,this.options.parallelism,((v,E)=>{const{module:R}=v;const{codeGenerationDependencies:Ae}=R;if(Ae!==undefined){if(be===undefined||Ae.some((v=>{const E=L.getModule(v);return be.has(E)}))){xe.push(v);ve.add(R);return E()}}const{hash:Ie,runtime:He,runtimes:Qe}=v;this._codeGenerationModule(R,He,Qe,Ie,q,N,L,K,ge,ae,((v,R)=>{if(R)$++;else P++;E(v)}))}),(R=>{if(R)return E(R);if(xe.length>0){if(xe.length===v.length){return E(new Error(`Unable to make progress during code generation because of circular code generation dependency: ${Array.from(ve,(v=>v.identifier())).join(", ")}`))}v=xe;xe=[];be=ve;ve=new Set;return runIteration()}if(ge.length>0){ge.sort(Ft((v=>v.module),Lt));for(const v of ge){this.errors.push(v)}}this.logger.log(`${Math.round(100*$/($+P))}% code generated (${$} generated, ${P} from cache)`);E()}))};runIteration()}_codeGenerationModule(v,E,P,R,$,N,L,q,K,ae,ge){let be=false;const xe=new ve(P.map((E=>this._codeGenerationCache.getItemCache(`${v.identifier()}|${Ht(E)}`,`${R}|${$.getHash()}`))));xe.get(((R,ve)=>{if(R)return ge(R);let Ae;if(!ve){try{be=true;this.codeGeneratedModules.add(v);Ae=v.codeGeneration({chunkGraph:N,moduleGraph:L,dependencyTemplates:$,runtimeTemplate:q,runtime:E,runtimes:P,codeGenerationResults:ae,compilation:this})}catch(R){K.push(new Ve(v,R));Ae=ve={sources:new Map,runtimeRequirements:null}}}else{Ae=ve}for(const E of P){ae.add(v,E,Ae)}if(!ve){xe.store(Ae,(v=>ge(v,be)))}else{ge(null,be)}}))}_getChunkGraphEntries(){const v=new Set;for(const E of this.entrypoints.values()){const P=E.getRuntimeChunk();if(P)v.add(P)}for(const E of this.asyncEntrypoints){const P=E.getRuntimeChunk();if(P)v.add(P)}return v}processRuntimeRequirements({chunkGraph:v=this.chunkGraph,modules:E=this.modules,chunks:P=this.chunks,codeGenerationResults:R=this.codeGenerationResults,chunkGraphEntries:$=this._getChunkGraphEntries()}={}){const N={chunkGraph:v,codeGenerationResults:R};const{moduleMemCaches2:L}=this;this.logger.time("runtime requirements.modules");const q=this.hooks.additionalModuleRuntimeRequirements;const K=this.hooks.runtimeRequirementInModule;for(const P of E){if(v.getNumberOfModuleChunks(P)>0){const E=L&&L.get(P);for(const $ of v.getModuleRuntimes(P)){if(E){const R=E.get(`moduleRuntimeRequirements-${Ht($)}`);if(R!==undefined){if(R!==null){v.addModuleRuntimeRequirements(P,$,R,false)}continue}}let L;const ae=R.getRuntimeRequirements(P,$);if(ae&&ae.size>0){L=new Set(ae)}else if(q.isUsed()){L=new Set}else{if(E){E.set(`moduleRuntimeRequirements-${Ht($)}`,null)}continue}q.call(P,L,N);for(const v of L){const E=K.get(v);if(E!==undefined)E.call(P,L,N)}if(L.size===0){if(E){E.set(`moduleRuntimeRequirements-${Ht($)}`,null)}}else{if(E){E.set(`moduleRuntimeRequirements-${Ht($)}`,L);v.addModuleRuntimeRequirements(P,$,L,false)}else{v.addModuleRuntimeRequirements(P,$,L)}}}}}this.logger.timeEnd("runtime requirements.modules");this.logger.time("runtime requirements.chunks");for(const E of P){const P=new Set;for(const R of v.getChunkModulesIterable(E)){const $=v.getModuleRuntimeRequirements(R,E.runtime);for(const v of $)P.add(v)}this.hooks.additionalChunkRuntimeRequirements.call(E,P,N);for(const v of P){this.hooks.runtimeRequirementInChunk.for(v).call(E,P,N)}v.addChunkRuntimeRequirements(E,P)}this.logger.timeEnd("runtime requirements.chunks");this.logger.time("runtime requirements.entries");for(const E of $){const P=new Set;for(const R of E.getAllReferencedChunks()){const E=v.getChunkRuntimeRequirements(R);for(const v of E)P.add(v)}this.hooks.additionalTreeRuntimeRequirements.call(E,P,N);for(const v of P){this.hooks.runtimeRequirementInTree.for(v).call(E,P,N)}v.addTreeRuntimeRequirements(E,P)}this.logger.timeEnd("runtime requirements.entries")}addRuntimeModule(v,E,P=this.chunkGraph){if(this._backCompat)ut.setModuleGraphForModule(E,this.moduleGraph);this.modules.add(E);this._modules.set(E.identifier(),E);P.connectChunkAndModule(v,E);P.connectChunkAndRuntimeModule(v,E);if(E.fullHash){P.addFullHashModuleToChunk(v,E)}else if(E.dependentHash){P.addDependentHashModuleToChunk(v,E)}E.attach(this,v,P);const R=this.moduleGraph.getExportsInfo(E);R.setHasProvideInfo();if(typeof v.runtime==="string"){R.setUsedForSideEffectsOnly(v.runtime)}else if(v.runtime===undefined){R.setUsedForSideEffectsOnly(undefined)}else{for(const E of v.runtime){R.setUsedForSideEffectsOnly(E)}}P.addModuleRuntimeRequirements(E,v.runtime,new Set([bt.requireScope]));P.setModuleId(E,"");this.hooks.runtimeModule.call(E,v)}addChunkInGroup(v,E,P,R){if(typeof v==="string"){v={name:v}}const $=v.name;if($){const N=this.namedChunkGroups.get($);if(N!==undefined){N.addOptions(v);if(E){N.addOrigin(E,P,R)}return N}}const N=new He(v);if(E)N.addOrigin(E,P,R);const L=this.addChunk($);nt(N,L);this.chunkGroups.push(N);if($){this.namedChunkGroups.set($,N)}return N}addAsyncEntrypoint(v,E,P,R){const $=v.name;if($){const v=this.namedChunkGroups.get($);if(v instanceof Ze){if(v!==undefined){if(E){v.addOrigin(E,P,R)}return v}}else if(v){throw new Error(`Cannot add an async entrypoint with the name '${$}', because there is already an chunk group with this name`)}}const N=this.addChunk($);if(v.filename){N.filenameTemplate=v.filename}const L=new Ze(v,false);L.setRuntimeChunk(N);L.setEntrypointChunk(N);if($){this.namedChunkGroups.set($,L)}this.chunkGroups.push(L);this.asyncEntrypoints.push(L);nt(L,N);if(E){L.addOrigin(E,P,R)}return L}addChunk(v){if(v){const E=this.namedChunks.get(v);if(E!==undefined){return E}}const E=new Ae(v,this._backCompat);this.chunks.add(E);if(this._backCompat)Ie.setChunkGraphForChunk(E,this.chunkGraph);if(v){this.namedChunks.set(v,E)}return E}assignDepth(v){const E=this.moduleGraph;const P=new Set([v]);let R;E.setDepth(v,0);const processModule=v=>{if(!E.setDepthIfLower(v,R))return;P.add(v)};for(v of P){P.delete(v);R=E.getDepth(v)+1;for(const P of E.getOutgoingConnections(v)){const v=P.module;if(v){processModule(v)}}}}assignDepths(v){const E=this.moduleGraph;const P=new Set(v);P.add(1);let R=0;let $=0;for(const v of P){$++;if(typeof v==="number"){R=v;if(P.size===$)return;P.add(R+1)}else{E.setDepth(v,R);for(const{module:R}of E.getOutgoingConnections(v)){if(R){P.add(R)}}}}}getDependencyReferencedExports(v,E){const P=v.getReferencedExports(this.moduleGraph,E);return this.hooks.dependencyReferencedExports.call(P,v,E)}removeReasonsOfDependencyBlock(v,E){if(E.blocks){for(const P of E.blocks){this.removeReasonsOfDependencyBlock(v,P)}}if(E.dependencies){for(const v of E.dependencies){const E=this.moduleGraph.getModule(v);if(E){this.moduleGraph.removeConnection(v);if(this.chunkGraph){for(const v of this.chunkGraph.getModuleChunks(E)){this.patchChunksAfterReasonRemoval(E,v)}}}}}}patchChunksAfterReasonRemoval(v,E){if(!v.hasReasons(this.moduleGraph,E.runtime)){this.removeReasonsOfDependencyBlock(v,v)}if(!v.hasReasonForChunk(E,this.moduleGraph,this.chunkGraph)){if(this.chunkGraph.isModuleInChunk(v,E)){this.chunkGraph.disconnectChunkAndModule(E,v);this.removeChunkFromDependencies(v,E)}}}removeChunkFromDependencies(v,E){const iteratorDependency=v=>{const P=this.moduleGraph.getModule(v);if(!P){return}this.patchChunksAfterReasonRemoval(P,E)};const P=v.blocks;for(let E=0;E{const P=E.options.runtime||E.name;const R=E.getRuntimeChunk();v.setRuntimeId(P,R.id)};for(const v of this.entrypoints.values()){processEntrypoint(v)}for(const v of this.asyncEntrypoints){processEntrypoint(v)}}sortItemsWithChunkIds(){for(const v of this.chunkGroups){v.sortItems()}this.errors.sort(tn);this.warnings.sort(tn);this.children.sort(Yt)}summarizeDependencies(){for(let v=0;v0){K.sort(Ft((v=>v.module),Lt));for(const v of K){this.errors.push(v)}}this.logger.log(`${v} modules hashed, ${E} from cache (${Math.round(100*(v+E)/this.modules.size)/100} variants per module in average)`)}_createModuleHash(v,E,P,R,$,N,L,q){let K;try{const L=Bt(R);v.updateHash(L,{chunkGraph:E,runtime:P,runtimeTemplate:$});K=L.digest(N)}catch(E){q.push(new pt(v,E));K="XXXXXX"}E.setModuleHashes(v,P,K,K.slice(0,L));return K}createHash(){this.logger.time("hashing: initialize hash");const v=this.chunkGraph;const E=this.runtimeTemplate;const P=this.outputOptions;const R=P.hashFunction;const $=P.hashDigest;const N=P.hashDigestLength;const L=Bt(R);if(P.hashSalt){L.update(P.hashSalt)}this.logger.timeEnd("hashing: initialize hash");if(this.children.length>0){this.logger.time("hashing: hash child compilations");for(const v of this.children){L.update(v.hash)}this.logger.timeEnd("hashing: hash child compilations")}if(this.warnings.length>0){this.logger.time("hashing: hash warnings");for(const v of this.warnings){L.update(`${v.message}`)}this.logger.timeEnd("hashing: hash warnings")}if(this.errors.length>0){this.logger.time("hashing: hash errors");for(const v of this.errors){L.update(`${v.message}`)}this.logger.timeEnd("hashing: hash errors")}this.logger.time("hashing: sort chunks");const q=[];const K=[];for(const v of this.chunks){if(v.hasRuntime()){q.push(v)}else{K.push(v)}}q.sort(Kt);K.sort(Kt);const ae=new Map;for(const v of q){ae.set(v,{chunk:v,referencedBy:[],remaining:0})}let ge=0;for(const v of ae.values()){for(const E of new Set(Array.from(v.chunk.getAllReferencedAsyncEntrypoints()).map((v=>v.chunks[v.chunks.length-1])))){const P=ae.get(E);P.referencedBy.push(v);v.remaining++;ge++}}const be=[];for(const v of ae.values()){if(v.remaining===0){be.push(v.chunk)}}if(ge>0){const E=[];for(const P of be){const R=v.getNumberOfChunkFullHashModules(P)!==0;const $=ae.get(P);for(const P of $.referencedBy){if(R){v.upgradeDependentToFullHashModules(P.chunk)}ge--;if(--P.remaining===0){E.push(P.chunk)}}if(E.length>0){E.sort(Kt);for(const v of E)be.push(v);E.length=0}}}if(ge>0){let v=[];for(const E of ae.values()){if(E.remaining!==0){v.push(E)}}v.sort(Ft((v=>v.chunk),Kt));const E=new vt(`Circular dependency between chunks with runtime (${Array.from(v,(v=>v.chunk.name||v.chunk.id)).join(", ")})\nThis prevents using hashes of each other and should be avoided.`);E.chunk=v[0].chunk;this.warnings.push(E);for(const E of v)be.push(E.chunk)}this.logger.timeEnd("hashing: sort chunks");const xe=new Set;const ve=[];const Ae=new Map;const Ie=[];const processChunk=q=>{this.logger.time("hashing: hash runtime modules");const K=q.runtime;for(const P of v.getChunkModulesIterable(q)){if(!v.hasModuleHashes(P,K)){const L=this._createModuleHash(P,v,K,R,E,$,N,Ie);let q=Ae.get(L);if(q){const v=q.get(P);if(v){v.runtimes.push(K);continue}}else{q=new Map;Ae.set(L,q)}const ae={module:P,hash:L,runtime:K,runtimes:[K]};q.set(P,ae);ve.push(ae)}}this.logger.timeAggregate("hashing: hash runtime modules");try{this.logger.time("hashing: hash chunks");const E=Bt(R);if(P.hashSalt){E.update(P.hashSalt)}q.updateHash(E,v);this.hooks.chunkHash.call(q,E,{chunkGraph:v,codeGenerationResults:this.codeGenerationResults,moduleGraph:this.moduleGraph,runtimeTemplate:this.runtimeTemplate});const K=E.digest($);L.update(K);q.hash=K;q.renderedHash=q.hash.slice(0,N);const ae=v.getChunkFullHashModulesIterable(q);if(ae){xe.add(q)}else{this.hooks.contentHash.call(q)}}catch(v){this.errors.push(new Qe(q,"",v))}this.logger.timeAggregate("hashing: hash chunks")};K.forEach(processChunk);for(const v of be)processChunk(v);if(Ie.length>0){Ie.sort(Ft((v=>v.module),Lt));for(const v of Ie){this.errors.push(v)}}this.logger.timeAggregateEnd("hashing: hash runtime modules");this.logger.timeAggregateEnd("hashing: hash chunks");this.logger.time("hashing: hash digest");this.hooks.fullHash.call(L);this.fullHash=L.digest($);this.hash=this.fullHash.slice(0,N);this.logger.timeEnd("hashing: hash digest");this.logger.time("hashing: process full hash modules");for(const P of xe){for(const L of v.getChunkFullHashModulesIterable(P)){const q=Bt(R);L.updateHash(q,{chunkGraph:v,runtime:P.runtime,runtimeTemplate:E});const K=q.digest($);const ae=v.getModuleHash(L,P.runtime);v.setModuleHashes(L,P.runtime,K,K.slice(0,N));Ae.get(ae).get(L).hash=K}const L=Bt(R);L.update(P.hash);L.update(this.hash);const q=L.digest($);P.hash=q;P.renderedHash=P.hash.slice(0,N);this.hooks.contentHash.call(P)}this.logger.timeEnd("hashing: process full hash modules");return ve}emitAsset(v,E,P={}){if(this.assets[v]){if(!Wt(this.assets[v],E)){this.errors.push(new vt(`Conflict: Multiple assets emit different content to the same filename ${v}${P.sourceFilename?`. Original source ${P.sourceFilename}`:""}`));this.assets[v]=E;this._setAssetInfo(v,P);return}const R=this.assetsInfo.get(v);const $=Object.assign({},R,P);this._setAssetInfo(v,$,R);return}this.assets[v]=E;this._setAssetInfo(v,P,undefined)}_setAssetInfo(v,E,P=this.assetsInfo.get(v)){if(E===undefined){this.assetsInfo.delete(v)}else{this.assetsInfo.set(v,E)}const R=P&&P.related;const $=E&&E.related;if(R){for(const E of Object.keys(R)){const remove=P=>{const R=this._assetsRelatedIn.get(P);if(R===undefined)return;const $=R.get(E);if($===undefined)return;$.delete(v);if($.size!==0)return;R.delete(E);if(R.size===0)this._assetsRelatedIn.delete(P)};const P=R[E];if(Array.isArray(P)){P.forEach(remove)}else if(P){remove(P)}}}if($){for(const E of Object.keys($)){const add=P=>{let R=this._assetsRelatedIn.get(P);if(R===undefined){this._assetsRelatedIn.set(P,R=new Map)}let $=R.get(E);if($===undefined){R.set(E,$=new Set)}$.add(v)};const P=$[E];if(Array.isArray(P)){P.forEach(add)}else if(P){add(P)}}}}updateAsset(v,E,P=undefined){if(!this.assets[v]){throw new Error(`Called Compilation.updateAsset for not existing filename ${v}`)}if(typeof E==="function"){this.assets[v]=E(this.assets[v])}else{this.assets[v]=E}if(P!==undefined){const E=this.assetsInfo.get(v)||Qt;if(typeof P==="function"){this._setAssetInfo(v,P(E),E)}else{this._setAssetInfo(v,Rt(E,P),E)}}}renameAsset(v,E){const P=this.assets[v];if(!P){throw new Error(`Called Compilation.renameAsset for not existing filename ${v}`)}if(this.assets[E]){if(!Wt(this.assets[v],P)){this.errors.push(new vt(`Conflict: Called Compilation.renameAsset for already existing filename ${E} with different content`))}}const R=this.assetsInfo.get(v);const $=this._assetsRelatedIn.get(v);if($){for(const[P,R]of $){for(const $ of R){const R=this.assetsInfo.get($);if(!R)continue;const N=R.related;if(!N)continue;const L=N[P];let q;if(Array.isArray(L)){q=L.map((P=>P===v?E:P))}else if(L===v){q=E}else continue;this.assetsInfo.set($,{...R,related:{...N,[P]:q}})}}}this._setAssetInfo(v,undefined,R);this._setAssetInfo(E,R);delete this.assets[v];this.assets[E]=P;for(const P of this.chunks){{const R=P.files.size;P.files.delete(v);if(R!==P.files.size){P.files.add(E)}}{const R=P.auxiliaryFiles.size;P.auxiliaryFiles.delete(v);if(R!==P.auxiliaryFiles.size){P.auxiliaryFiles.add(E)}}}}deleteAsset(v){if(!this.assets[v]){return}delete this.assets[v];const E=this.assetsInfo.get(v);this._setAssetInfo(v,undefined,E);const P=E&&E.related;if(P){for(const v of Object.keys(P)){const checkUsedAndDelete=v=>{if(!this._assetsRelatedIn.has(v)){this.deleteAsset(v)}};const E=P[v];if(Array.isArray(E)){E.forEach(checkUsedAndDelete)}else if(E){checkUsedAndDelete(E)}}}for(const E of this.chunks){E.files.delete(v);E.auxiliaryFiles.delete(v)}}getAssets(){const v=[];for(const E of Object.keys(this.assets)){if(Object.prototype.hasOwnProperty.call(this.assets,E)){v.push({name:E,source:this.assets[E],info:this.assetsInfo.get(E)||Qt})}}return v}getAsset(v){if(!Object.prototype.hasOwnProperty.call(this.assets,v))return undefined;return{name:v,source:this.assets[v],info:this.assetsInfo.get(v)||Qt}}clearAssets(){for(const v of this.chunks){v.files.clear();v.auxiliaryFiles.clear()}}createModuleAssets(){const{chunkGraph:v}=this;for(const E of this.modules){if(E.buildInfo.assets){const P=E.buildInfo.assetsInfo;for(const R of Object.keys(E.buildInfo.assets)){const $=this.getPath(R,{chunkGraph:this.chunkGraph,module:E});for(const P of v.getModuleChunksIterable(E)){P.auxiliaryFiles.add($)}this.emitAsset($,E.buildInfo.assets[R],P?P.get(R):undefined);this.hooks.moduleAsset.call(E,$)}}}}getRenderManifest(v){return this.hooks.renderManifest.call([],v)}createChunkAssets(v){const E=this.outputOptions;const P=new WeakMap;const $=new Map;R.forEachLimit(this.chunks,15,((v,N)=>{let L;try{L=this.getRenderManifest({chunk:v,hash:this.hash,fullHash:this.fullHash,outputOptions:E,codeGenerationResults:this.codeGenerationResults,moduleTemplates:this.moduleTemplates,dependencyTemplates:this.dependencyTemplates,chunkGraph:this.chunkGraph,moduleGraph:this.moduleGraph,runtimeTemplate:this.runtimeTemplate})}catch(E){this.errors.push(new Qe(v,"",E));return N()}R.forEach(L,((E,R)=>{const N=E.identifier;const L=E.hash;const q=this._assetsCache.getItemCache(N,L);q.get(((N,K)=>{let ae;let ge;let be;let ve=true;const errorAndCallback=E=>{const P=ge||(typeof ge==="string"?ge:typeof ae==="string"?ae:"");this.errors.push(new Qe(v,P,E));ve=false;return R()};try{if("filename"in E){ge=E.filename;be=E.info}else{ae=E.filenameTemplate;const v=this.getPathWithInfo(ae,E.pathOptions);ge=v.path;be=E.info?{...v.info,...E.info}:v.info}if(N){return errorAndCallback(N)}let Ae=K;const Ie=$.get(ge);if(Ie!==undefined){if(Ie.hash!==L){ve=false;return R(new vt(`Conflict: Multiple chunks emit assets to the same filename ${ge}`+` (chunks ${Ie.chunk.id} and ${v.id})`))}else{Ae=Ie.source}}else if(!Ae){Ae=E.render();if(!(Ae instanceof xe)){const v=P.get(Ae);if(v){Ae=v}else{const v=new xe(Ae);P.set(Ae,v);Ae=v}}}this.emitAsset(ge,Ae,be);if(E.auxiliary){v.auxiliaryFiles.add(ge)}else{v.files.add(ge)}this.hooks.chunkAsset.call(v,ge);$.set(ge,{hash:L,source:Ae,chunk:v});if(Ae!==K){q.store(Ae,(v=>{if(v)return errorAndCallback(v);ve=false;return R()}))}else{ve=false;R()}}catch(N){if(!ve)throw N;errorAndCallback(N)}}))}),N)}),v)}getPath(v,E={}){if(!E.hash){E={hash:this.hash,...E}}return this.getAssetPath(v,E)}getPathWithInfo(v,E={}){if(!E.hash){E={hash:this.hash,...E}}return this.getAssetPathWithInfo(v,E)}getAssetPath(v,E){return this.hooks.assetPath.call(typeof v==="function"?v(E):v,E,undefined)}getAssetPathWithInfo(v,E){const P={};const R=this.hooks.assetPath.call(typeof v==="function"?v(E,P):v,E,P);return{path:R,info:P}}getWarnings(){return this.hooks.processWarnings.call(this.warnings)}getErrors(){return this.hooks.processErrors.call(this.errors)}createChildCompiler(v,E,P){const R=this.childrenCounters[v]||0;this.childrenCounters[v]=R+1;return this.compiler.createChildCompiler(this,v,R,E,P)}executeModule(v,E,P){const $=new Set([v]);Gt($,10,((v,E,P)=>{this.buildQueue.waitFor(v,(R=>{if(R)return P(R);this.processDependenciesQueue.waitFor(v,(R=>{if(R)return P(R);for(const{module:P}of this.moduleGraph.getOutgoingConnections(v)){const v=$.size;$.add(P);if($.size!==v)E(P)}P()}))}))}),(N=>{if(N)return P(N);const L=new Ie(this.moduleGraph,this.outputOptions.hashFunction);const q="build time";const{hashFunction:K,hashDigest:ae,hashDigestLength:ge}=this.outputOptions;const be=this.runtimeTemplate;const xe=new Ae("build time chunk",this._backCompat);xe.id=xe.name;xe.ids=[xe.id];xe.runtime=q;const ve=new Ze({runtime:q,chunkLoading:false,...E.entryOptions});L.connectChunkAndEntryModule(xe,v,ve);nt(ve,xe);ve.setRuntimeChunk(xe);ve.setEntrypointChunk(xe);const He=new Set([xe]);for(const v of $){const E=v.identifier();L.setModuleId(v,E);L.connectChunkAndModule(xe,v)}const Qe=[];for(const v of $){this._createModuleHash(v,L,q,K,be,ae,ge,Qe)}const Je=new Ke(this.outputOptions.hashFunction);const codeGen=(v,E)=>{this._codeGenerationModule(v,q,[q],L.getModuleHash(v,q),this.dependencyTemplates,L,this.moduleGraph,be,Qe,Je,((v,P)=>{E(v)}))};const reportErrors=()=>{if(Qe.length>0){Qe.sort(Ft((v=>v.module),Lt));for(const v of Qe){this.errors.push(v)}Qe.length=0}};R.eachLimit($,10,codeGen,(E=>{if(E)return P(E);reportErrors();const N=this.chunkGraph;this.chunkGraph=L;this.processRuntimeRequirements({chunkGraph:L,modules:$,chunks:He,codeGenerationResults:Je,chunkGraphEntries:He});this.chunkGraph=N;const ve=L.getChunkRuntimeModulesIterable(xe);for(const v of ve){$.add(v);this._createModuleHash(v,L,q,K,be,ae,ge,Qe)}R.eachLimit(ve,10,codeGen,(E=>{if(E)return P(E);reportErrors();const N=new Map;const K=new Map;const ae=new It;const ge=new It;const be=new It;const ve=new It;const Ae=new Map;let Ie=true;const He={assets:Ae,__webpack_require__:undefined,chunk:xe,chunkGraph:L};R.eachLimit($,10,((v,E)=>{const P=Je.get(v,q);const R={module:v,codeGenerationResult:P,preparedInfo:undefined,moduleObject:undefined};N.set(v,R);K.set(v.identifier(),R);v.addCacheDependencies(ae,ge,be,ve);if(v.buildInfo.cacheable===false){Ie=false}if(v.buildInfo&&v.buildInfo.assets){const{assets:E,assetsInfo:P}=v.buildInfo;for(const v of Object.keys(E)){Ae.set(v,{source:E[v],info:P?P.get(v):undefined})}}this.hooks.prepareModuleExecution.callAsync(R,He,E)}),(E=>{if(E)return P(E);let R;try{const{strictModuleErrorHandling:E,strictModuleExceptionHandling:P}=this.outputOptions;const __nested_webpack_require_153728__=v=>{const E=q[v];if(E!==undefined){if(E.error)throw E.error;return E.exports}const P=K.get(v);return __webpack_require_module__(P,v)};const $=__nested_webpack_require_153728__[bt.interceptModuleExecution.replace(`${bt.require}.`,"")]=[];const q=__nested_webpack_require_153728__[bt.moduleCache.replace(`${bt.require}.`,"")]={};He.__webpack_require__=__nested_webpack_require_153728__;const __webpack_require_module__=(v,R)=>{var N={id:R,module:{id:R,exports:{},loaded:false,error:undefined},require:__nested_webpack_require_153728__};$.forEach((v=>v(N)));const L=v.module;this.buildTimeExecutedModules.add(L);const K=N.module;v.moduleObject=K;try{if(R)q[R]=K;ot((()=>this.hooks.executeModule.call(v,He)),"Compilation.hooks.executeModule");K.loaded=true;return K.exports}catch(v){if(P){if(R)delete q[R]}else if(E){K.error=v}if(!v.module)v.module=L;throw v}};for(const v of L.getChunkRuntimeModulesInOrder(xe)){__webpack_require_module__(N.get(v))}R=__nested_webpack_require_153728__(v.identifier())}catch(E){const R=new vt(`Execution of module code from module graph (${v.readableIdentifier(this.requestShortener)}) failed: ${E.message}`);R.stack=E.stack;R.module=E.module;return P(R)}P(null,{exports:R,assets:Ae,cacheable:Ie,fileDependencies:ae,contextDependencies:ge,missingDependencies:be,buildDependencies:ve})}))}))}))}))}checkConstraints(){const v=this.chunkGraph;const E=new Set;for(const P of this.modules){if(P.type===yt)continue;const R=v.getModuleId(P);if(R===null)continue;if(E.has(R)){throw new Error(`checkConstraints: duplicate module id ${R}`)}E.add(R)}for(const E of this.chunks){for(const P of v.getChunkModulesIterable(E)){if(!this.modules.has(P)){throw new Error("checkConstraints: module in chunk but not in compilation "+` ${E.debugId} ${P.debugId}`)}}for(const P of v.getChunkEntryModulesIterable(E)){if(!this.modules.has(P)){throw new Error("checkConstraints: entry module in chunk but not in compilation "+` ${E.debugId} ${P.debugId}`)}}}for(const v of this.chunkGroups){v.checkConstraints()}}}Compilation.prototype.factorizeModule=function(v,E){this.factorizeQueue.add(v,E)};const rn=Compilation.prototype;Object.defineProperty(rn,"modifyHash",{writable:false,enumerable:false,configurable:false,value:()=>{throw new Error("Compilation.modifyHash was removed in favor of Compilation.hooks.fullHash")}});Object.defineProperty(rn,"cache",{enumerable:false,configurable:false,get:be.deprecate((function(){return this.compiler.cache}),"Compilation.cache was removed in favor of Compilation.getCache()","DEP_WEBPACK_COMPILATION_CACHE"),set:be.deprecate((v=>{}),"Compilation.cache was removed in favor of Compilation.getCache()","DEP_WEBPACK_COMPILATION_CACHE")});Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL=-2e3;Compilation.PROCESS_ASSETS_STAGE_PRE_PROCESS=-1e3;Compilation.PROCESS_ASSETS_STAGE_DERIVED=-200;Compilation.PROCESS_ASSETS_STAGE_ADDITIONS=-100;Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE=100;Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_COUNT=200;Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_COMPATIBILITY=300;Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_SIZE=400;Compilation.PROCESS_ASSETS_STAGE_DEV_TOOLING=500;Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_INLINE=700;Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE=1e3;Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_HASH=2500;Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_TRANSFER=3e3;Compilation.PROCESS_ASSETS_STAGE_ANALYSE=4e3;Compilation.PROCESS_ASSETS_STAGE_REPORT=5e3;v.exports=Compilation},54445:function(v,E,P){"use strict";const R=P(54650);const $=P(78175);const{SyncHook:N,SyncBailHook:L,AsyncParallelHook:q,AsyncSeriesHook:K}=P(79846);const{SizeOnlySource:ae}=P(51255);const ge=P(41708);const be=P(14893);const xe=P(238);const ve=P(33422);const Ae=P(92150);const Ie=P(89027);const He=P(29218);const Qe=P(22425);const Je=P(32296);const Ve=P(73276);const Ke=P(59561);const Ye=P(32110);const Xe=P(76349);const Ze=P(45425);const{Logger:et}=P(48340);const{join:tt,dirname:nt,mkdirp:st}=P(23763);const{makePathsRelative:rt}=P(94778);const{isSourceEqual:ot}=P(42643);const isSorted=v=>{for(let E=1;Ev[E])return false}return true};const sortObject=(v,E)=>{const P={};for(const R of E.sort()){P[R]=v[R]}return P};const includesHash=(v,E)=>{if(!E)return false;if(Array.isArray(E)){return E.some((E=>v.includes(E)))}else{return v.includes(E)}};class Compiler{constructor(v,E={}){this.hooks=Object.freeze({initialize:new N([]),shouldEmit:new L(["compilation"]),done:new K(["stats"]),afterDone:new N(["stats"]),additionalPass:new K([]),beforeRun:new K(["compiler"]),run:new K(["compiler"]),emit:new K(["compilation"]),assetEmitted:new K(["file","info"]),afterEmit:new K(["compilation"]),thisCompilation:new N(["compilation","params"]),compilation:new N(["compilation","params"]),normalModuleFactory:new N(["normalModuleFactory"]),contextModuleFactory:new N(["contextModuleFactory"]),beforeCompile:new K(["params"]),compile:new N(["params"]),make:new q(["compilation"]),finishMake:new K(["compilation"]),afterCompile:new K(["compilation"]),readRecords:new K([]),emitRecords:new K([]),watchRun:new K(["compiler"]),failed:new N(["error"]),invalid:new N(["filename","changeTime"]),watchClose:new N([]),shutdown:new K([]),infrastructureLog:new L(["origin","type","args"]),environment:new N([]),afterEnvironment:new N([]),afterPlugins:new N(["compiler"]),afterResolvers:new N(["compiler"]),entryOption:new L(["context","entry"])});this.webpack=ge;this.name=undefined;this.parentCompilation=undefined;this.root=this;this.outputPath="";this.watching=undefined;this.outputFileSystem=null;this.intermediateFileSystem=null;this.inputFileSystem=null;this.watchFileSystem=null;this.recordsInputPath=null;this.recordsOutputPath=null;this.records={};this.managedPaths=new Set;this.unmanagedPaths=new Set;this.immutablePaths=new Set;this.modifiedFiles=undefined;this.removedFiles=undefined;this.fileTimestamps=undefined;this.contextTimestamps=undefined;this.fsStartTime=undefined;this.resolverFactory=new Ke;this.infrastructureLogger=undefined;this.options=E;this.context=v;this.requestShortener=new Ve(v,this.root);this.cache=new be;this.moduleMemCaches=undefined;this.compilerPath="";this.running=false;this.idle=false;this.watchMode=false;this._backCompat=this.options.experiments.backCompat!==false;this._lastCompilation=undefined;this._lastNormalModuleFactory=undefined;this._assetEmittingSourceCache=new WeakMap;this._assetEmittingWrittenFiles=new Map;this._assetEmittingPreviousFiles=new Set}getCache(v){return new xe(this.cache,`${this.compilerPath}${v}`,this.options.output.hashFunction)}getInfrastructureLogger(v){if(!v){throw new TypeError("Compiler.getInfrastructureLogger(name) called without a name")}return new et(((E,P)=>{if(typeof v==="function"){v=v();if(!v){throw new TypeError("Compiler.getInfrastructureLogger(name) called with a function not returning a name")}}if(this.hooks.infrastructureLog.call(v,E,P)===undefined){if(this.infrastructureLogger!==undefined){this.infrastructureLogger(v,E,P)}}}),(E=>{if(typeof v==="function"){if(typeof E==="function"){return this.getInfrastructureLogger((()=>{if(typeof v==="function"){v=v();if(!v){throw new TypeError("Compiler.getInfrastructureLogger(name) called with a function not returning a name")}}if(typeof E==="function"){E=E();if(!E){throw new TypeError("Logger.getChildLogger(name) called with a function not returning a name")}}return`${v}/${E}`}))}else{return this.getInfrastructureLogger((()=>{if(typeof v==="function"){v=v();if(!v){throw new TypeError("Compiler.getInfrastructureLogger(name) called with a function not returning a name")}}return`${v}/${E}`}))}}else{if(typeof E==="function"){return this.getInfrastructureLogger((()=>{if(typeof E==="function"){E=E();if(!E){throw new TypeError("Logger.getChildLogger(name) called with a function not returning a name")}}return`${v}/${E}`}))}else{return this.getInfrastructureLogger(`${v}/${E}`)}}}))}_cleanupLastCompilation(){if(this._lastCompilation!==undefined){for(const v of this._lastCompilation.children){for(const E of v.modules){ve.clearChunkGraphForModule(E);Qe.clearModuleGraphForModule(E);E.cleanupForCache()}for(const E of v.chunks){ve.clearChunkGraphForChunk(E)}}for(const v of this._lastCompilation.modules){ve.clearChunkGraphForModule(v);Qe.clearModuleGraphForModule(v);v.cleanupForCache()}for(const v of this._lastCompilation.chunks){ve.clearChunkGraphForChunk(v)}this._lastCompilation=undefined}}_cleanupLastNormalModuleFactory(){if(this._lastNormalModuleFactory!==undefined){this._lastNormalModuleFactory.cleanupForCache();this._lastNormalModuleFactory=undefined}}watch(v,E){if(this.running){return E(new Ie)}this.running=true;this.watchMode=true;this.watching=new Xe(this,v,E);return this.watching}run(v){if(this.running){return v(new Ie)}let E;const finalCallback=(P,R)=>{if(E)E.time("beginIdle");this.idle=true;this.cache.beginIdle();this.idle=true;if(E)E.timeEnd("beginIdle");this.running=false;if(P){this.hooks.failed.call(P)}if(v!==undefined)v(P,R);this.hooks.afterDone.call(R)};const P=Date.now();this.running=true;const onCompiled=(v,R)=>{if(v)return finalCallback(v);if(this.hooks.shouldEmit.call(R)===false){R.startTime=P;R.endTime=Date.now();const v=new Ye(R);this.hooks.done.callAsync(v,(E=>{if(E)return finalCallback(E);return finalCallback(null,v)}));return}process.nextTick((()=>{E=R.getLogger("webpack.Compiler");E.time("emitAssets");this.emitAssets(R,(v=>{E.timeEnd("emitAssets");if(v)return finalCallback(v);if(R.hooks.needAdditionalPass.call()){R.needAdditionalPass=true;R.startTime=P;R.endTime=Date.now();E.time("done hook");const v=new Ye(R);this.hooks.done.callAsync(v,(v=>{E.timeEnd("done hook");if(v)return finalCallback(v);this.hooks.additionalPass.callAsync((v=>{if(v)return finalCallback(v);this.compile(onCompiled)}))}));return}E.time("emitRecords");this.emitRecords((v=>{E.timeEnd("emitRecords");if(v)return finalCallback(v);R.startTime=P;R.endTime=Date.now();E.time("done hook");const $=new Ye(R);this.hooks.done.callAsync($,(v=>{E.timeEnd("done hook");if(v)return finalCallback(v);this.cache.storeBuildDependencies(R.buildDependencies,(v=>{if(v)return finalCallback(v);return finalCallback(null,$)}))}))}))}))}))};const run=()=>{this.hooks.beforeRun.callAsync(this,(v=>{if(v)return finalCallback(v);this.hooks.run.callAsync(this,(v=>{if(v)return finalCallback(v);this.readRecords((v=>{if(v)return finalCallback(v);this.compile(onCompiled)}))}))}))};if(this.idle){this.cache.endIdle((v=>{if(v)return finalCallback(v);this.idle=false;run()}))}else{run()}}runAsChild(v){const E=Date.now();const finalCallback=(E,P,R)=>{try{v(E,P,R)}catch(v){const E=new Ze(`compiler.runAsChild callback error: ${v}`);E.details=v.stack;this.parentCompilation.errors.push(E)}};this.compile(((v,P)=>{if(v)return finalCallback(v);this.parentCompilation.children.push(P);for(const{name:v,source:E,info:R}of P.getAssets()){this.parentCompilation.emitAsset(v,E,R)}const R=[];for(const v of P.entrypoints.values()){R.push(...v.chunks)}P.startTime=E;P.endTime=Date.now();return finalCallback(null,R,P)}))}purgeInputFileSystem(){if(this.inputFileSystem&&this.inputFileSystem.purge){this.inputFileSystem.purge()}}emitAssets(v,E){let P;const emitFiles=R=>{if(R)return E(R);const N=v.getAssets();v.assets={...v.assets};const L=new Map;const q=new Set;$.forEachLimit(N,15,(({name:E,source:R,info:$},N)=>{let K=E;let ge=$.immutable;const be=K.indexOf("?");if(be>=0){K=K.slice(0,be);ge=ge&&(includesHash(K,$.contenthash)||includesHash(K,$.chunkhash)||includesHash(K,$.modulehash)||includesHash(K,$.fullhash))}const writeOut=$=>{if($)return N($);const be=tt(this.outputFileSystem,P,K);q.add(be);const xe=this._assetEmittingWrittenFiles.get(be);let ve=this._assetEmittingSourceCache.get(R);if(ve===undefined){ve={sizeOnlySource:undefined,writtenTo:new Map};this._assetEmittingSourceCache.set(R,ve)}let Ae;const checkSimilarFile=()=>{const v=be.toLowerCase();Ae=L.get(v);if(Ae!==undefined){const{path:v,source:P}=Ae;if(ot(P,R)){if(Ae.size!==undefined){updateWithReplacementSource(Ae.size)}else{if(!Ae.waiting)Ae.waiting=[];Ae.waiting.push({file:E,cacheEntry:ve})}alreadyWritten()}else{const P=new Ze(`Prevent writing to file that only differs in casing or query string from already written file.\nThis will lead to a race-condition and corrupted files on case-insensitive file systems.\n${be}\n${v}`);P.file=E;N(P)}return true}else{L.set(v,Ae={path:be,source:R,size:undefined,waiting:undefined});return false}};const getContent=()=>{if(typeof R.buffer==="function"){return R.buffer()}else{const v=R.source();if(Buffer.isBuffer(v)){return v}else{return Buffer.from(v,"utf8")}}};const alreadyWritten=()=>{if(xe===undefined){const v=1;this._assetEmittingWrittenFiles.set(be,v);ve.writtenTo.set(be,v)}else{ve.writtenTo.set(be,xe)}N()};const doWrite=$=>{this.outputFileSystem.writeFile(be,$,(L=>{if(L)return N(L);v.emittedAssets.add(E);const q=xe===undefined?1:xe+1;ve.writtenTo.set(be,q);this._assetEmittingWrittenFiles.set(be,q);this.hooks.assetEmitted.callAsync(E,{content:$,source:R,outputPath:P,compilation:v,targetPath:be},N)}))};const updateWithReplacementSource=v=>{updateFileWithReplacementSource(E,ve,v);Ae.size=v;if(Ae.waiting!==undefined){for(const{file:E,cacheEntry:P}of Ae.waiting){updateFileWithReplacementSource(E,P,v)}}};const updateFileWithReplacementSource=(E,P,R)=>{if(!P.sizeOnlySource){P.sizeOnlySource=new ae(R)}v.updateAsset(E,P.sizeOnlySource,{size:R})};const processExistingFile=P=>{if(ge){updateWithReplacementSource(P.size);return alreadyWritten()}const R=getContent();updateWithReplacementSource(R.length);if(R.length===P.size){v.comparedForEmitAssets.add(E);return this.outputFileSystem.readFile(be,((v,E)=>{if(v||!R.equals(E)){return doWrite(R)}else{return alreadyWritten()}}))}return doWrite(R)};const processMissingFile=()=>{const v=getContent();updateWithReplacementSource(v.length);return doWrite(v)};if(xe!==undefined){const P=ve.writtenTo.get(be);if(P===xe){if(this._assetEmittingPreviousFiles.has(be)){v.updateAsset(E,ve.sizeOnlySource,{size:ve.sizeOnlySource.size()});return N()}else{ge=true}}else if(!ge){if(checkSimilarFile())return;return processMissingFile()}}if(checkSimilarFile())return;if(this.options.output.compareBeforeEmit){this.outputFileSystem.stat(be,((v,E)=>{const P=!v&&E.isFile();if(P){processExistingFile(E)}else{processMissingFile()}}))}else{processMissingFile()}};if(K.match(/\/|\\/)){const v=this.outputFileSystem;const E=nt(v,tt(v,P,K));st(v,E,writeOut)}else{writeOut()}}),(P=>{L.clear();if(P){this._assetEmittingPreviousFiles.clear();return E(P)}this._assetEmittingPreviousFiles=q;this.hooks.afterEmit.callAsync(v,(v=>{if(v)return E(v);return E()}))}))};this.hooks.emit.callAsync(v,(R=>{if(R)return E(R);P=v.getPath(this.outputPath,{});st(this.outputFileSystem,P,emitFiles)}))}emitRecords(v){if(this.hooks.emitRecords.isUsed()){if(this.recordsOutputPath){$.parallel([v=>this.hooks.emitRecords.callAsync(v),this._emitRecords.bind(this)],(E=>v(E)))}else{this.hooks.emitRecords.callAsync(v)}}else{if(this.recordsOutputPath){this._emitRecords(v)}else{v()}}}_emitRecords(v){const writeFile=()=>{this.outputFileSystem.writeFile(this.recordsOutputPath,JSON.stringify(this.records,((v,E)=>{if(typeof E==="object"&&E!==null&&!Array.isArray(E)){const v=Object.keys(E);if(!isSorted(v)){return sortObject(E,v)}}return E}),2),v)};const E=nt(this.outputFileSystem,this.recordsOutputPath);if(!E){return writeFile()}st(this.outputFileSystem,E,(E=>{if(E)return v(E);writeFile()}))}readRecords(v){if(this.hooks.readRecords.isUsed()){if(this.recordsInputPath){$.parallel([v=>this.hooks.readRecords.callAsync(v),this._readRecords.bind(this)],(E=>v(E)))}else{this.records={};this.hooks.readRecords.callAsync(v)}}else{if(this.recordsInputPath){this._readRecords(v)}else{this.records={};v()}}}_readRecords(v){if(!this.recordsInputPath){this.records={};return v()}this.inputFileSystem.stat(this.recordsInputPath,(E=>{if(E)return v();this.inputFileSystem.readFile(this.recordsInputPath,((E,P)=>{if(E)return v(E);try{this.records=R(P.toString("utf-8"))}catch(E){return v(new Error(`Cannot parse records: ${E.message}`))}return v()}))}))}createChildCompiler(v,E,P,R,$){const N=new Compiler(this.context,{...this.options,output:{...this.options.output,...R}});N.name=E;N.outputPath=this.outputPath;N.inputFileSystem=this.inputFileSystem;N.outputFileSystem=null;N.resolverFactory=this.resolverFactory;N.modifiedFiles=this.modifiedFiles;N.removedFiles=this.removedFiles;N.fileTimestamps=this.fileTimestamps;N.contextTimestamps=this.contextTimestamps;N.fsStartTime=this.fsStartTime;N.cache=this.cache;N.compilerPath=`${this.compilerPath}${E}|${P}|`;N._backCompat=this._backCompat;const L=rt(this.context,E,this.root);if(!this.records[L]){this.records[L]=[]}if(this.records[L][P]){N.records=this.records[L][P]}else{this.records[L].push(N.records={})}N.parentCompilation=v;N.root=this.root;if(Array.isArray($)){for(const v of $){if(v){v.apply(N)}}}for(const v in this.hooks){if(!["make","compile","emit","afterEmit","invalid","done","thisCompilation"].includes(v)){if(N.hooks[v]){N.hooks[v].taps=this.hooks[v].taps.slice()}}}v.hooks.childCompiler.call(N,E,P);return N}isChild(){return!!this.parentCompilation}createCompilation(v){this._cleanupLastCompilation();return this._lastCompilation=new Ae(this,v)}newCompilation(v){const E=this.createCompilation(v);E.name=this.name;E.records=this.records;this.hooks.thisCompilation.call(E,v);this.hooks.compilation.call(E,v);return E}createNormalModuleFactory(){this._cleanupLastNormalModuleFactory();const v=new Je({context:this.options.context,fs:this.inputFileSystem,resolverFactory:this.resolverFactory,options:this.options.module,associatedObjectForCache:this.root,layers:this.options.experiments.layers});this._lastNormalModuleFactory=v;this.hooks.normalModuleFactory.call(v);return v}createContextModuleFactory(){const v=new He(this.resolverFactory);this.hooks.contextModuleFactory.call(v);return v}newCompilationParams(){const v={normalModuleFactory:this.createNormalModuleFactory(),contextModuleFactory:this.createContextModuleFactory()};return v}compile(v){const E=this.newCompilationParams();this.hooks.beforeCompile.callAsync(E,(P=>{if(P)return v(P);this.hooks.compile.call(E);const R=this.newCompilation(E);const $=R.getLogger("webpack.Compiler");$.time("make hook");this.hooks.make.callAsync(R,(E=>{$.timeEnd("make hook");if(E)return v(E);$.time("finish make hook");this.hooks.finishMake.callAsync(R,(E=>{$.timeEnd("finish make hook");if(E)return v(E);process.nextTick((()=>{$.time("finish compilation");R.finish((E=>{$.timeEnd("finish compilation");if(E)return v(E);$.time("seal compilation");R.seal((E=>{$.timeEnd("seal compilation");if(E)return v(E);$.time("afterCompile hook");this.hooks.afterCompile.callAsync(R,(E=>{$.timeEnd("afterCompile hook");if(E)return v(E);return v(null,R)}))}))}))}))}))}))}))}close(v){if(this.watching){this.watching.close((E=>{this.close(v)}));return}this.hooks.shutdown.callAsync((E=>{if(E)return v(E);this._lastCompilation=undefined;this._lastNormalModuleFactory=undefined;this.cache.shutdown(v)}))}}v.exports=Compiler},79421:function(v){"use strict";const E=/^__WEBPACK_MODULE_REFERENCE__(\d+)_([\da-f]+|ns)(_call)?(_directImport)?(?:_asiSafe(\d))?__$/;const P="__WEBPACK_DEFAULT_EXPORT__";const R="__WEBPACK_NAMESPACE_OBJECT__";class ConcatenationScope{constructor(v,E){this._currentModule=E;if(Array.isArray(v)){const E=new Map;for(const P of v){E.set(P.module,P)}v=E}this._modulesMap=v}isModuleInScope(v){return this._modulesMap.has(v)}registerExport(v,E){if(!this._currentModule.exportMap){this._currentModule.exportMap=new Map}if(!this._currentModule.exportMap.has(v)){this._currentModule.exportMap.set(v,E)}}registerRawExport(v,E){if(!this._currentModule.rawExportMap){this._currentModule.rawExportMap=new Map}if(!this._currentModule.rawExportMap.has(v)){this._currentModule.rawExportMap.set(v,E)}}registerNamespaceExport(v){this._currentModule.namespaceExportSymbol=v}createModuleReference(v,{ids:E=undefined,call:P=false,directImport:R=false,asiSafe:$=false}){const N=this._modulesMap.get(v);const L=P?"_call":"";const q=R?"_directImport":"";const K=$?"_asiSafe1":$===false?"_asiSafe0":"";const ae=E?Buffer.from(JSON.stringify(E),"utf-8").toString("hex"):"ns";return`__WEBPACK_MODULE_REFERENCE__${N.index}_${ae}${L}${q}${K}__._`}static isModuleReference(v){return E.test(v)}static matchModuleReference(v){const P=E.exec(v);if(!P)return null;const R=+P[1];const $=P[5];return{index:R,ids:P[2]==="ns"?[]:JSON.parse(Buffer.from(P[2],"hex").toString("utf-8")),call:!!P[3],directImport:!!P[4],asiSafe:$?$==="1":undefined}}}ConcatenationScope.DEFAULT_EXPORT=P;ConcatenationScope.NAMESPACE_OBJECT_EXPORT=R;v.exports=ConcatenationScope},89027:function(v,E,P){"use strict";const R=P(45425);v.exports=class ConcurrentCompilationError extends R{constructor(){super();this.name="ConcurrentCompilationError";this.message="You ran Webpack twice. Each instance only supports a single concurrent compilation at a time."}}},53610:function(v,E,P){"use strict";const{ConcatSource:R,PrefixSource:$}=P(51255);const N=P(94252);const L=P(35600);const{mergeRuntime:q}=P(32681);const wrapInCondition=(v,E)=>{if(typeof E==="string"){return L.asString([`if (${v}) {`,L.indent(E),"}",""])}else{return new R(`if (${v}) {\n`,new $("\t",E),"}\n")}};class ConditionalInitFragment extends N{constructor(v,E,P,R,$=true,N){super(v,E,P,R,N);this.runtimeCondition=$}getContent(v){if(this.runtimeCondition===false||!this.content)return"";if(this.runtimeCondition===true)return this.content;const E=v.runtimeTemplate.runtimeConditionExpression({chunkGraph:v.chunkGraph,runtimeRequirements:v.runtimeRequirements,runtime:v.runtime,runtimeCondition:this.runtimeCondition});if(E==="true")return this.content;return wrapInCondition(E,this.content)}getEndContent(v){if(this.runtimeCondition===false||!this.endContent)return"";if(this.runtimeCondition===true)return this.endContent;const E=v.runtimeTemplate.runtimeConditionExpression({chunkGraph:v.chunkGraph,runtimeRequirements:v.runtimeRequirements,runtime:v.runtime,runtimeCondition:this.runtimeCondition});if(E==="true")return this.endContent;return wrapInCondition(E,this.endContent)}merge(v){if(this.runtimeCondition===true)return this;if(v.runtimeCondition===true)return v;if(this.runtimeCondition===false)return v;if(v.runtimeCondition===false)return this;const E=q(this.runtimeCondition,v.runtimeCondition);return new ConditionalInitFragment(this.content,this.stage,this.position,this.key,E,this.endContent)}}v.exports=ConditionalInitFragment},43504:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$,JAVASCRIPT_MODULE_TYPE_ESM:N}=P(98791);const L=P(76092);const q=P(52540);const{evaluateToString:K}=P(31445);const{parseResource:ae}=P(94778);const collectDeclaration=(v,E)=>{const P=[E];while(P.length>0){const E=P.pop();switch(E.type){case"Identifier":v.add(E.name);break;case"ArrayPattern":for(const v of E.elements){if(v){P.push(v)}}break;case"AssignmentPattern":P.push(E.left);break;case"ObjectPattern":for(const v of E.properties){P.push(v.value)}break;case"RestElement":P.push(E.argument);break}}};const getHoistedDeclarations=(v,E)=>{const P=new Set;const R=[v];while(R.length>0){const v=R.pop();if(!v)continue;switch(v.type){case"BlockStatement":for(const E of v.body){R.push(E)}break;case"IfStatement":R.push(v.consequent);R.push(v.alternate);break;case"ForStatement":R.push(v.init);R.push(v.body);break;case"ForInStatement":case"ForOfStatement":R.push(v.left);R.push(v.body);break;case"DoWhileStatement":case"WhileStatement":case"LabeledStatement":R.push(v.body);break;case"SwitchStatement":for(const E of v.cases){for(const v of E.consequent){R.push(v)}}break;case"TryStatement":R.push(v.block);if(v.handler){R.push(v.handler.body)}R.push(v.finalizer);break;case"FunctionDeclaration":if(E){collectDeclaration(P,v.id)}break;case"VariableDeclaration":if(v.kind==="var"){for(const E of v.declarations){collectDeclaration(P,E.id)}}break}}return Array.from(P)};const ge="ConstPlugin";class ConstPlugin{apply(v){const E=ae.bindCache(v.root);v.hooks.compilation.tap(ge,((v,{normalModuleFactory:P})=>{v.dependencyTemplates.set(q,new q.Template);v.dependencyTemplates.set(L,new L.Template);const handler=v=>{v.hooks.statementIf.tap(ge,(E=>{if(v.scope.isAsmJs)return;const P=v.evaluateExpression(E.test);const R=P.asBool();if(typeof R==="boolean"){if(!P.couldHaveSideEffects()){const $=new q(`${R}`,P.range);$.loc=E.loc;v.state.module.addPresentationalDependency($)}else{v.walkExpression(E.test)}const $=R?E.alternate:E.consequent;if($){let E;if(v.scope.isStrict){E=getHoistedDeclarations($,false)}else{E=getHoistedDeclarations($,true)}let P;if(E.length>0){P=`{ var ${E.join(", ")}; }`}else{P="{}"}const R=new q(P,$.range);R.loc=$.loc;v.state.module.addPresentationalDependency(R)}return R}}));v.hooks.expressionConditionalOperator.tap(ge,(E=>{if(v.scope.isAsmJs)return;const P=v.evaluateExpression(E.test);const R=P.asBool();if(typeof R==="boolean"){if(!P.couldHaveSideEffects()){const $=new q(` ${R}`,P.range);$.loc=E.loc;v.state.module.addPresentationalDependency($)}else{v.walkExpression(E.test)}const $=R?E.alternate:E.consequent;const N=new q("0",$.range);N.loc=$.loc;v.state.module.addPresentationalDependency(N);return R}}));v.hooks.expressionLogicalOperator.tap(ge,(E=>{if(v.scope.isAsmJs)return;if(E.operator==="&&"||E.operator==="||"){const P=v.evaluateExpression(E.left);const R=P.asBool();if(typeof R==="boolean"){const $=E.operator==="&&"&&R||E.operator==="||"&&!R;if(!P.couldHaveSideEffects()&&(P.isBoolean()||$)){const $=new q(` ${R}`,P.range);$.loc=E.loc;v.state.module.addPresentationalDependency($)}else{v.walkExpression(E.left)}if(!$){const P=new q("0",E.right.range);P.loc=E.loc;v.state.module.addPresentationalDependency(P)}return $}}else if(E.operator==="??"){const P=v.evaluateExpression(E.left);const R=P.asNullish();if(typeof R==="boolean"){if(!P.couldHaveSideEffects()&&R){const R=new q(" null",P.range);R.loc=E.loc;v.state.module.addPresentationalDependency(R)}else{const P=new q("0",E.right.range);P.loc=E.loc;v.state.module.addPresentationalDependency(P);v.walkExpression(E.left)}return R}}}));v.hooks.optionalChaining.tap(ge,(E=>{const P=[];let R=E.expression;while(R.type==="MemberExpression"||R.type==="CallExpression"){if(R.type==="MemberExpression"){if(R.optional){P.push(R.object)}R=R.object}else{if(R.optional){P.push(R.callee)}R=R.callee}}while(P.length){const R=P.pop();const $=v.evaluateExpression(R);if($.asNullish()){const P=new q(" undefined",E.range);P.loc=E.loc;v.state.module.addPresentationalDependency(P);return true}}}));v.hooks.evaluateIdentifier.for("__resourceQuery").tap(ge,(P=>{if(v.scope.isAsmJs)return;if(!v.state.module)return;return K(E(v.state.module.resource).query)(P)}));v.hooks.expression.for("__resourceQuery").tap(ge,(P=>{if(v.scope.isAsmJs)return;if(!v.state.module)return;const R=new L(JSON.stringify(E(v.state.module.resource).query),P.range,"__resourceQuery");R.loc=P.loc;v.state.module.addPresentationalDependency(R);return true}));v.hooks.evaluateIdentifier.for("__resourceFragment").tap(ge,(P=>{if(v.scope.isAsmJs)return;if(!v.state.module)return;return K(E(v.state.module.resource).fragment)(P)}));v.hooks.expression.for("__resourceFragment").tap(ge,(P=>{if(v.scope.isAsmJs)return;if(!v.state.module)return;const R=new L(JSON.stringify(E(v.state.module.resource).fragment),P.range,"__resourceFragment");R.loc=P.loc;v.state.module.addPresentationalDependency(R);return true}))};P.hooks.parser.for(R).tap(ge,handler);P.hooks.parser.for($).tap(ge,handler);P.hooks.parser.for(N).tap(ge,handler)}))}}v.exports=ConstPlugin},75117:function(v){"use strict";class ContextExclusionPlugin{constructor(v){this.negativeMatcher=v}apply(v){v.hooks.contextModuleFactory.tap("ContextExclusionPlugin",(v=>{v.hooks.contextModuleFiles.tap("ContextExclusionPlugin",(v=>v.filter((v=>!this.negativeMatcher.test(v)))))}))}}v.exports=ContextExclusionPlugin},71073:function(v,E,P){"use strict";const{OriginalSource:R,RawSource:$}=P(51255);const N=P(75165);const{makeWebpackError:L}=P(76498);const q=P(82919);const{JAVASCRIPT_MODULE_TYPE_DYNAMIC:K}=P(98791);const ae=P(75189);const ge=P(35600);const be=P(45425);const{compareLocations:xe,concatComparators:ve,compareSelect:Ae,keepOriginalOrder:Ie,compareModulesById:He}=P(80754);const{contextify:Qe,parseResource:Je,makePathsRelative:Ve}=P(94778);const Ke=P(74364);const Ye={timestamp:true};const Xe=new Set(["javascript"]);class ContextModule extends q{constructor(v,E){if(!E||typeof E.resource==="string"){const v=Je(E?E.resource:"");const P=v.path;const R=E&&E.resourceQuery||v.query;const $=E&&E.resourceFragment||v.fragment;const N=E&&E.layer;super(K,P,N);this.options={...E,resource:P,resourceQuery:R,resourceFragment:$}}else{super(K,undefined,E.layer);this.options={...E,resource:E.resource,resourceQuery:E.resourceQuery||"",resourceFragment:E.resourceFragment||""}}this.resolveDependencies=v;if(E&&E.resolveOptions!==undefined){this.resolveOptions=E.resolveOptions}if(E&&typeof E.mode!=="string"){throw new Error("options.mode is a required option")}this._identifier=this._createIdentifier();this._forceBuild=true}getSourceTypes(){return Xe}updateCacheModule(v){const E=v;this.resolveDependencies=E.resolveDependencies;this.options=E.options}cleanupForCache(){super.cleanupForCache();this.resolveDependencies=undefined}_prettyRegExp(v,E=true){const P=(v+"").replace(/!/g,"%21").replace(/\|/g,"%7C");return E?P.substring(1,P.length-1):P}_createIdentifier(){let v=this.context||(typeof this.options.resource==="string"||this.options.resource===false?`${this.options.resource}`:this.options.resource.join("|"));if(this.options.resourceQuery){v+=`|${this.options.resourceQuery}`}if(this.options.resourceFragment){v+=`|${this.options.resourceFragment}`}if(this.options.mode){v+=`|${this.options.mode}`}if(!this.options.recursive){v+="|nonrecursive"}if(this.options.addon){v+=`|${this.options.addon}`}if(this.options.regExp){v+=`|${this._prettyRegExp(this.options.regExp,false)}`}if(this.options.include){v+=`|include: ${this._prettyRegExp(this.options.include,false)}`}if(this.options.exclude){v+=`|exclude: ${this._prettyRegExp(this.options.exclude,false)}`}if(this.options.referencedExports){v+=`|referencedExports: ${JSON.stringify(this.options.referencedExports)}`}if(this.options.chunkName){v+=`|chunkName: ${this.options.chunkName}`}if(this.options.groupOptions){v+=`|groupOptions: ${JSON.stringify(this.options.groupOptions)}`}if(this.options.namespaceObject==="strict"){v+="|strict namespace object"}else if(this.options.namespaceObject){v+="|namespace object"}if(this.layer){v+=`|layer: ${this.layer}`}return v}identifier(){return this._identifier}readableIdentifier(v){let E;if(this.context){E=v.shorten(this.context)+"/"}else if(typeof this.options.resource==="string"||this.options.resource===false){E=v.shorten(`${this.options.resource}`)+"/"}else{E=this.options.resource.map((E=>v.shorten(E)+"/")).join(" ")}if(this.options.resourceQuery){E+=` ${this.options.resourceQuery}`}if(this.options.mode){E+=` ${this.options.mode}`}if(!this.options.recursive){E+=" nonrecursive"}if(this.options.addon){E+=` ${v.shorten(this.options.addon)}`}if(this.options.regExp){E+=` ${this._prettyRegExp(this.options.regExp)}`}if(this.options.include){E+=` include: ${this._prettyRegExp(this.options.include)}`}if(this.options.exclude){E+=` exclude: ${this._prettyRegExp(this.options.exclude)}`}if(this.options.referencedExports){E+=` referencedExports: ${this.options.referencedExports.map((v=>v.join("."))).join(", ")}`}if(this.options.chunkName){E+=` chunkName: ${this.options.chunkName}`}if(this.options.groupOptions){const v=this.options.groupOptions;for(const P of Object.keys(v)){E+=` ${P}: ${v[P]}`}}if(this.options.namespaceObject==="strict"){E+=" strict namespace object"}else if(this.options.namespaceObject){E+=" namespace object"}return E}libIdent(v){let E;if(this.context){E=Qe(v.context,this.context,v.associatedObjectForCache)}else if(typeof this.options.resource==="string"){E=Qe(v.context,this.options.resource,v.associatedObjectForCache)}else if(this.options.resource===false){E="false"}else{E=this.options.resource.map((E=>Qe(v.context,E,v.associatedObjectForCache))).join(" ")}if(this.layer)E=`(${this.layer})/${E}`;if(this.options.mode){E+=` ${this.options.mode}`}if(this.options.recursive){E+=" recursive"}if(this.options.addon){E+=` ${Qe(v.context,this.options.addon,v.associatedObjectForCache)}`}if(this.options.regExp){E+=` ${this._prettyRegExp(this.options.regExp)}`}if(this.options.include){E+=` include: ${this._prettyRegExp(this.options.include)}`}if(this.options.exclude){E+=` exclude: ${this._prettyRegExp(this.options.exclude)}`}if(this.options.referencedExports){E+=` referencedExports: ${this.options.referencedExports.map((v=>v.join("."))).join(", ")}`}return E}invalidateBuild(){this._forceBuild=true}needBuild({fileSystemInfo:v},E){if(this._forceBuild)return E(null,true);if(!this.buildInfo.snapshot)return E(null,Boolean(this.context||this.options.resource));v.checkSnapshotValid(this.buildInfo.snapshot,((v,P)=>{E(v,!P)}))}build(v,E,P,R,$){this._forceBuild=false;this.buildMeta={exportsType:"default",defaultObject:"redirect-warn"};this.buildInfo={snapshot:undefined};this.dependencies.length=0;this.blocks.length=0;const q=Date.now();this.resolveDependencies(R,this.options,((v,P)=>{if(v){return $(L(v,"ContextModule.resolveDependencies"))}if(!P){$();return}for(const v of P){v.loc={name:v.userRequest};v.request=this.options.addon+v.request}P.sort(ve(Ae((v=>v.loc),xe),Ie(this.dependencies)));if(this.options.mode==="sync"||this.options.mode==="eager"){this.dependencies=P}else if(this.options.mode==="lazy-once"){if(P.length>0){const v=new N({...this.options.groupOptions,name:this.options.chunkName});for(const E of P){v.addDependency(E)}this.addBlock(v)}}else if(this.options.mode==="weak"||this.options.mode==="async-weak"){for(const v of P){v.weak=true}this.dependencies=P}else if(this.options.mode==="lazy"){let v=0;for(const E of P){let P=this.options.chunkName;if(P){if(!/\[(index|request)\]/.test(P)){P+="[index]"}P=P.replace(/\[index\]/g,`${v++}`);P=P.replace(/\[request\]/g,ge.toPath(E.userRequest))}const R=new N({...this.options.groupOptions,name:P},E.loc,E.userRequest);R.addDependency(E);this.addBlock(R)}}else{$(new be(`Unsupported mode "${this.options.mode}" in context`));return}if(!this.context&&!this.options.resource)return $();E.fileSystemInfo.createSnapshot(q,null,this.context?[this.context]:typeof this.options.resource==="string"?[this.options.resource]:this.options.resource,null,Ye,((v,E)=>{if(v)return $(v);this.buildInfo.snapshot=E;$()}))}))}addCacheDependencies(v,E,P,R){if(this.context){E.add(this.context)}else if(typeof this.options.resource==="string"){E.add(this.options.resource)}else if(this.options.resource===false){return}else{for(const v of this.options.resource)E.add(v)}}getUserRequestMap(v,E){const P=E.moduleGraph;const R=v.filter((v=>P.getModule(v))).sort(((v,E)=>{if(v.userRequest===E.userRequest){return 0}return v.userRequestP.getModule(v))).filter(Boolean).sort($);const L=Object.create(null);for(const v of N){const $=v.getExportsType(P,this.options.namespaceObject==="strict");const N=E.getModuleId(v);switch($){case"namespace":L[N]=9;R|=1;break;case"dynamic":L[N]=7;R|=2;break;case"default-only":L[N]=1;R|=4;break;case"default-with-named":L[N]=3;R|=8;break;default:throw new Error(`Unexpected exports type ${$}`)}}if(R===1){return 9}if(R===2){return 7}if(R===4){return 1}if(R===8){return 3}if(R===0){return 9}return L}getFakeMapInitStatement(v){return typeof v==="object"?`var fakeMap = ${JSON.stringify(v,null,"\t")};`:""}getReturn(v,E){if(v===9){return`${ae.require}(id)`}return`${ae.createFakeNamespaceObject}(id, ${v}${E?" | 16":""})`}getReturnModuleObjectSource(v,E,P="fakeMap[id]"){if(typeof v==="number"){return`return ${this.getReturn(v,E)};`}return`return ${ae.createFakeNamespaceObject}(id, ${P}${E?" | 16":""})`}getSyncSource(v,E,P){const R=this.getUserRequestMap(v,P);const $=this.getFakeMap(v,P);const N=this.getReturnModuleObjectSource($);return`var map = ${JSON.stringify(R,null,"\t")};\n${this.getFakeMapInitStatement($)}\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\t${N}\n}\nfunction webpackContextResolve(req) {\n\tif(!${ae.hasOwnProperty}(map, req)) {\n\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = ${JSON.stringify(E)};`}getWeakSyncSource(v,E,P){const R=this.getUserRequestMap(v,P);const $=this.getFakeMap(v,P);const N=this.getReturnModuleObjectSource($);return`var map = ${JSON.stringify(R,null,"\t")};\n${this.getFakeMapInitStatement($)}\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\tif(!${ae.moduleFactories}[id]) {\n\t\tvar e = new Error("Module '" + req + "' ('" + id + "') is not available (weak dependency)");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\t${N}\n}\nfunction webpackContextResolve(req) {\n\tif(!${ae.hasOwnProperty}(map, req)) {\n\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nwebpackContext.id = ${JSON.stringify(E)};\nmodule.exports = webpackContext;`}getAsyncWeakSource(v,E,{chunkGraph:P,runtimeTemplate:R}){const $=R.supportsArrowFunction();const N=this.getUserRequestMap(v,P);const L=this.getFakeMap(v,P);const q=this.getReturnModuleObjectSource(L,true);return`var map = ${JSON.stringify(N,null,"\t")};\n${this.getFakeMapInitStatement(L)}\n\nfunction webpackAsyncContext(req) {\n\treturn webpackAsyncContextResolve(req).then(${$?"id =>":"function(id)"} {\n\t\tif(!${ae.moduleFactories}[id]) {\n\t\t\tvar e = new Error("Module '" + req + "' ('" + id + "') is not available (weak dependency)");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t}\n\t\t${q}\n\t});\n}\nfunction webpackAsyncContextResolve(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(${$?"() =>":"function()"} {\n\t\tif(!${ae.hasOwnProperty}(map, req)) {\n\t\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t}\n\t\treturn map[req];\n\t});\n}\nwebpackAsyncContext.keys = ${R.returningFunction("Object.keys(map)")};\nwebpackAsyncContext.resolve = webpackAsyncContextResolve;\nwebpackAsyncContext.id = ${JSON.stringify(E)};\nmodule.exports = webpackAsyncContext;`}getEagerSource(v,E,{chunkGraph:P,runtimeTemplate:R}){const $=R.supportsArrowFunction();const N=this.getUserRequestMap(v,P);const L=this.getFakeMap(v,P);const q=L!==9?`${$?"id =>":"function(id)"} {\n\t\t${this.getReturnModuleObjectSource(L)}\n\t}`:ae.require;return`var map = ${JSON.stringify(N,null,"\t")};\n${this.getFakeMapInitStatement(L)}\n\nfunction webpackAsyncContext(req) {\n\treturn webpackAsyncContextResolve(req).then(${q});\n}\nfunction webpackAsyncContextResolve(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(${$?"() =>":"function()"} {\n\t\tif(!${ae.hasOwnProperty}(map, req)) {\n\t\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t}\n\t\treturn map[req];\n\t});\n}\nwebpackAsyncContext.keys = ${R.returningFunction("Object.keys(map)")};\nwebpackAsyncContext.resolve = webpackAsyncContextResolve;\nwebpackAsyncContext.id = ${JSON.stringify(E)};\nmodule.exports = webpackAsyncContext;`}getLazyOnceSource(v,E,P,{runtimeTemplate:R,chunkGraph:$}){const N=R.blockPromise({chunkGraph:$,block:v,message:"lazy-once context",runtimeRequirements:new Set});const L=R.supportsArrowFunction();const q=this.getUserRequestMap(E,$);const K=this.getFakeMap(E,$);const ge=K!==9?`${L?"id =>":"function(id)"} {\n\t\t${this.getReturnModuleObjectSource(K,true)};\n\t}`:ae.require;return`var map = ${JSON.stringify(q,null,"\t")};\n${this.getFakeMapInitStatement(K)}\n\nfunction webpackAsyncContext(req) {\n\treturn webpackAsyncContextResolve(req).then(${ge});\n}\nfunction webpackAsyncContextResolve(req) {\n\treturn ${N}.then(${L?"() =>":"function()"} {\n\t\tif(!${ae.hasOwnProperty}(map, req)) {\n\t\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t}\n\t\treturn map[req];\n\t});\n}\nwebpackAsyncContext.keys = ${R.returningFunction("Object.keys(map)")};\nwebpackAsyncContext.resolve = webpackAsyncContextResolve;\nwebpackAsyncContext.id = ${JSON.stringify(P)};\nmodule.exports = webpackAsyncContext;`}getLazySource(v,E,{chunkGraph:P,runtimeTemplate:R}){const $=P.moduleGraph;const N=R.supportsArrowFunction();let L=false;let q=true;const K=this.getFakeMap(v.map((v=>v.dependencies[0])),P);const ge=typeof K==="object";const be=v.map((v=>{const E=v.dependencies[0];return{dependency:E,module:$.getModule(E),block:v,userRequest:E.userRequest,chunks:undefined}})).filter((v=>v.module));for(const v of be){const E=P.getBlockChunkGroup(v.block);const R=E&&E.chunks||[];v.chunks=R;if(R.length>0){q=false}if(R.length!==1){L=true}}const xe=q&&!ge;const ve=be.sort(((v,E)=>{if(v.userRequest===E.userRequest)return 0;return v.userRequestv.id)))}}const Ie=ge?2:1;const He=q?"Promise.resolve()":L?`Promise.all(ids.slice(${Ie}).map(${ae.ensureChunk}))`:`${ae.ensureChunk}(ids[${Ie}])`;const Qe=this.getReturnModuleObjectSource(K,true,xe?"invalid":"ids[1]");const Je=He==="Promise.resolve()"?`\nfunction webpackAsyncContext(req) {\n\treturn Promise.resolve().then(${N?"() =>":"function()"} {\n\t\tif(!${ae.hasOwnProperty}(map, req)) {\n\t\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t}\n\n\t\t${xe?"var id = map[req];":"var ids = map[req], id = ids[0];"}\n\t\t${Qe}\n\t});\n}`:`function webpackAsyncContext(req) {\n\tif(!${ae.hasOwnProperty}(map, req)) {\n\t\treturn Promise.resolve().then(${N?"() =>":"function()"} {\n\t\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn ${He}.then(${N?"() =>":"function()"} {\n\t\t${Qe}\n\t});\n}`;return`var map = ${JSON.stringify(Ae,null,"\t")};\n${Je}\nwebpackAsyncContext.keys = ${R.returningFunction("Object.keys(map)")};\nwebpackAsyncContext.id = ${JSON.stringify(E)};\nmodule.exports = webpackAsyncContext;`}getSourceForEmptyContext(v,E){return`function webpackEmptyContext(req) {\n\tvar e = new Error("Cannot find module '" + req + "'");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = ${E.returningFunction("[]")};\nwebpackEmptyContext.resolve = webpackEmptyContext;\nwebpackEmptyContext.id = ${JSON.stringify(v)};\nmodule.exports = webpackEmptyContext;`}getSourceForEmptyAsyncContext(v,E){const P=E.supportsArrowFunction();return`function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(${P?"() =>":"function()"} {\n\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = ${E.returningFunction("[]")};\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = ${JSON.stringify(v)};\nmodule.exports = webpackEmptyAsyncContext;`}getSourceString(v,{runtimeTemplate:E,chunkGraph:P}){const R=P.getModuleId(this);if(v==="lazy"){if(this.blocks&&this.blocks.length>0){return this.getLazySource(this.blocks,R,{runtimeTemplate:E,chunkGraph:P})}return this.getSourceForEmptyAsyncContext(R,E)}if(v==="eager"){if(this.dependencies&&this.dependencies.length>0){return this.getEagerSource(this.dependencies,R,{chunkGraph:P,runtimeTemplate:E})}return this.getSourceForEmptyAsyncContext(R,E)}if(v==="lazy-once"){const v=this.blocks[0];if(v){return this.getLazyOnceSource(v,v.dependencies,R,{runtimeTemplate:E,chunkGraph:P})}return this.getSourceForEmptyAsyncContext(R,E)}if(v==="async-weak"){if(this.dependencies&&this.dependencies.length>0){return this.getAsyncWeakSource(this.dependencies,R,{chunkGraph:P,runtimeTemplate:E})}return this.getSourceForEmptyAsyncContext(R,E)}if(v==="weak"){if(this.dependencies&&this.dependencies.length>0){return this.getWeakSyncSource(this.dependencies,R,P)}}if(this.dependencies&&this.dependencies.length>0){return this.getSyncSource(this.dependencies,R,P)}return this.getSourceForEmptyContext(R,E)}getSource(v,E){if(this.useSourceMap||this.useSimpleSourceMap){return new R(v,`webpack://${Ve(E&&E.compiler.context||"",this.identifier(),E&&E.compiler.root)}`)}return new $(v)}codeGeneration(v){const{chunkGraph:E,compilation:P}=v;const R=new Map;R.set("javascript",this.getSource(this.getSourceString(this.options.mode,v),P));const $=new Set;const N=this.dependencies.length>0?this.dependencies.slice():[];for(const v of this.blocks)for(const E of v.dependencies)N.push(E);$.add(ae.module);$.add(ae.hasOwnProperty);if(N.length>0){const v=this.options.mode;$.add(ae.require);if(v==="weak"){$.add(ae.moduleFactories)}else if(v==="async-weak"){$.add(ae.moduleFactories);$.add(ae.ensureChunk)}else if(v==="lazy"||v==="lazy-once"){$.add(ae.ensureChunk)}if(this.getFakeMap(N,E)!==9){$.add(ae.createFakeNamespaceObject)}}return{sources:R,runtimeRequirements:$}}size(v){let E=160;for(const v of this.dependencies){const P=v;E+=5+P.userRequest.length}return E}serialize(v){const{write:E}=v;E(this._identifier);E(this._forceBuild);super.serialize(v)}deserialize(v){const{read:E}=v;this._identifier=E();this._forceBuild=E();super.deserialize(v)}}Ke(ContextModule,"webpack/lib/ContextModule");v.exports=ContextModule},29218:function(v,E,P){"use strict";const R=P(78175);const{AsyncSeriesWaterfallHook:$,SyncWaterfallHook:N}=P(79846);const L=P(71073);const q=P(18769);const K=P(92007);const ae=P(95259);const{cachedSetProperty:ge}=P(34218);const{createFakeHook:be}=P(74962);const{join:xe}=P(23763);const ve={};v.exports=class ContextModuleFactory extends q{constructor(v){super();const E=new $(["modules","options"]);this.hooks=Object.freeze({beforeResolve:new $(["data"]),afterResolve:new $(["data"]),contextModuleFiles:new N(["files"]),alternatives:be({name:"alternatives",intercept:v=>{throw new Error("Intercepting fake hook ContextModuleFactory.hooks.alternatives is not possible, use ContextModuleFactory.hooks.alternativeRequests instead")},tap:(v,P)=>{E.tap(v,P)},tapAsync:(v,P)=>{E.tapAsync(v,((v,E,R)=>P(v,R)))},tapPromise:(v,P)=>{E.tapPromise(v,P)}},"ContextModuleFactory.hooks.alternatives has deprecated in favor of ContextModuleFactory.hooks.alternativeRequests with an additional options argument.","DEP_WEBPACK_CONTEXT_MODULE_FACTORY_ALTERNATIVES"),alternativeRequests:E});this.resolverFactory=v}create(v,E){const P=v.context;const $=v.dependencies;const N=v.resolveOptions;const q=$[0];const K=new ae;const be=new ae;const xe=new ae;this.hooks.beforeResolve.callAsync({context:P,dependencies:$,layer:v.contextInfo.issuerLayer,resolveOptions:N,fileDependencies:K,missingDependencies:be,contextDependencies:xe,...q.options},((v,P)=>{if(v){return E(v,{fileDependencies:K,missingDependencies:be,contextDependencies:xe})}if(!P){return E(null,{fileDependencies:K,missingDependencies:be,contextDependencies:xe})}const N=P.context;const q=P.request;const ae=P.resolveOptions;let Ae,Ie,He="";const Qe=q.lastIndexOf("!");if(Qe>=0){let v=q.slice(0,Qe+1);let E;for(E=0;E0?ge(ae||ve,"dependencyType",$[0].category):ae);const Ve=this.resolverFactory.get("loader");R.parallel([v=>{const E=[];const yield_=v=>E.push(v);Je.resolve({},N,Ie,{fileDependencies:K,missingDependencies:be,contextDependencies:xe,yield:yield_},(P=>{if(P)return v(P);v(null,E)}))},v=>{R.map(Ae,((v,E)=>{Ve.resolve({},N,v,{fileDependencies:K,missingDependencies:be,contextDependencies:xe},((v,P)=>{if(v)return E(v);E(null,P)}))}),v)}],((v,R)=>{if(v){return E(v,{fileDependencies:K,missingDependencies:be,contextDependencies:xe})}let[$,N]=R;if($.length>1){const v=$[0];$=$.filter((v=>v.path));if($.length===0)$.push(v)}this.hooks.afterResolve.callAsync({addon:He+N.join("!")+(N.length>0?"!":""),resource:$.length>1?$.map((v=>v.path)):$[0].path,resolveDependencies:this.resolveDependencies.bind(this),resourceQuery:$[0].query,resourceFragment:$[0].fragment,...P},((v,P)=>{if(v){return E(v,{fileDependencies:K,missingDependencies:be,contextDependencies:xe})}if(!P){return E(null,{fileDependencies:K,missingDependencies:be,contextDependencies:xe})}return E(null,{module:new L(P.resolveDependencies,P),fileDependencies:K,missingDependencies:be,contextDependencies:xe})}))}))}))}resolveDependencies(v,E,P){const $=this;const{resource:N,resourceQuery:L,resourceFragment:q,recursive:ae,regExp:ge,include:be,exclude:ve,referencedExports:Ae,category:Ie,typePrefix:He}=E;if(!ge||!N)return P(null,[]);const addDirectoryChecked=(E,P,R,$)=>{v.realpath(P,((v,N)=>{if(v)return $(v);if(R.has(N))return $(null,[]);let L;addDirectory(E,P,((v,P,$)=>{if(L===undefined){L=new Set(R);L.add(N)}addDirectoryChecked(E,P,L,$)}),$)}))};const addDirectory=(P,N,Qe,Je)=>{v.readdir(N,((Ve,Ke)=>{if(Ve)return Je(Ve);const Ye=$.hooks.contextModuleFiles.call(Ke.map((v=>v.normalize("NFC"))));if(!Ye||Ye.length===0)return Je(null,[]);R.map(Ye.filter((v=>v.indexOf(".")!==0)),((R,$)=>{const Je=xe(v,N,R);if(!ve||!Je.match(ve)){v.stat(Je,((v,R)=>{if(v){if(v.code==="ENOENT"){return $()}else{return $(v)}}if(R.isDirectory()){if(!ae)return $();Qe(P,Je,$)}else if(R.isFile()&&(!be||Je.match(be))){const v={context:P,request:"."+Je.slice(P.length).replace(/\\/g,"/")};this.hooks.alternativeRequests.callAsync([v],E,((v,E)=>{if(v)return $(v);E=E.filter((v=>ge.test(v.request))).map((v=>{const E=new K(`${v.request}${L}${q}`,v.request,He,Ie,Ae,v.context);E.optional=true;return E}));$(null,E)}))}else{$()}}))}else{$()}}),((v,E)=>{if(v)return Je(v);if(!E)return Je(null,[]);const P=[];for(const v of E){if(v)P.push(...v)}Je(null,P)}))}))};const addSubDirectory=(v,E,P)=>addDirectory(v,E,addSubDirectory,P);const visitResource=(E,P)=>{if(typeof v.realpath==="function"){addDirectoryChecked(E,E,new Set,P)}else{addDirectory(E,E,addSubDirectory,P)}};if(typeof N==="string"){visitResource(N,P)}else{R.map(N,visitResource,((v,E)=>{if(v)return P(v);const R=new Set;const $=[];for(let v=0;v{E(null,P)}}else if(typeof E==="string"&&typeof P==="function"){this.newContentResource=E;this.newContentCreateContextMap=P}else{if(typeof E!=="string"){R=P;P=E;E=undefined}if(typeof P!=="boolean"){R=P;P=undefined}this.newContentResource=E;this.newContentRecursive=P;this.newContentRegExp=R}}apply(v){const E=this.resourceRegExp;const P=this.newContentCallback;const R=this.newContentResource;const N=this.newContentRecursive;const L=this.newContentRegExp;const q=this.newContentCreateContextMap;v.hooks.contextModuleFactory.tap("ContextReplacementPlugin",(K=>{K.hooks.beforeResolve.tap("ContextReplacementPlugin",(v=>{if(!v)return;if(E.test(v.request)){if(R!==undefined){v.request=R}if(N!==undefined){v.recursive=N}if(L!==undefined){v.regExp=L}if(typeof P==="function"){P(v)}else{for(const E of v.dependencies){if(E.critical)E.critical=false}}}return v}));K.hooks.afterResolve.tap("ContextReplacementPlugin",(K=>{if(!K)return;if(E.test(K.resource)){if(R!==undefined){if(R.startsWith("/")||R.length>1&&R[1]===":"){K.resource=R}else{K.resource=$(v.inputFileSystem,K.resource,R)}}if(N!==undefined){K.recursive=N}if(L!==undefined){K.regExp=L}if(typeof q==="function"){K.resolveDependencies=createResolveDependenciesFromContextMap(q)}if(typeof P==="function"){const E=K.resource;P(K);if(K.resource!==E&&!K.resource.startsWith("/")&&(K.resource.length<=1||K.resource[1]!==":")){K.resource=$(v.inputFileSystem,E,K.resource)}}else{for(const v of K.dependencies){if(v.critical)v.critical=false}}}return K}))}))}}const createResolveDependenciesFromContextMap=v=>{const resolveDependenciesFromContextMap=(E,P,$)=>{v(E,((v,E)=>{if(v)return $(v);const N=Object.keys(E).map((v=>new R(E[v]+P.resourceQuery+P.resourceFragment,v,P.category,P.referencedExports)));$(null,N)}))};return resolveDependenciesFromContextMap};v.exports=ContextReplacementPlugin},58019:function(v,E,P){"use strict";const R=P(44208);const $=P(74364);class CssModule extends R{constructor(v){super(v);this.cssLayer=v.cssLayer;this.supports=v.supports;this.media=v.media;this.inheritance=v.inheritance}identifier(){let v=super.identifier();if(this.cssLayer){v+=`|${this.cssLayer}`}if(this.supports){v+=`|${this.supports}`}if(this.media){v+=`|${this.media}`}if(this.inheritance){const E=this.inheritance.map(((v,E)=>`inheritance_${E}|${v[0]||""}|${v[1]||""}|${v[2]||""}`));v+=`|${E.join("|")}`}return v}readableIdentifier(v){const E=super.readableIdentifier(v);let P=`css ${E}`;if(this.cssLayer){P+=` (layer: ${this.cssLayer})`}if(this.supports){P+=` (supports: ${this.supports})`}if(this.media){P+=` (media: ${this.media})`}return P}updateCacheModule(v){super.updateCacheModule(v);const E=v;this.cssLayer=E.cssLayer;this.supports=E.supports;this.media=E.media;this.inheritance=E.inheritance}serialize(v){const{write:E}=v;E(this.cssLayer);E(this.supports);E(this.media);E(this.inheritance);super.serialize(v)}static deserialize(v){const E=new CssModule({layer:null,type:"",resource:"",context:"",request:null,userRequest:null,rawRequest:null,loaders:null,matchResource:null,parser:null,parserOptions:null,generator:null,generatorOptions:null,resolveOptions:null,cssLayer:null,supports:null,media:null,inheritance:null});E.deserialize(v);return E}deserialize(v){const{read:E}=v;this.cssLayer=E();this.supports=E();this.media=E();this.inheritance=E();super.deserialize(v)}}$(CssModule,"webpack/lib/CssModule");v.exports=CssModule},68934:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_ESM:$,JAVASCRIPT_MODULE_TYPE_DYNAMIC:N}=P(98791);const L=P(75189);const q=P(45425);const K=P(52540);const ae=P(61122);const{evaluateToString:ge,toConstantDependency:be}=P(31445);const xe=P(1558);class RuntimeValue{constructor(v,E){this.fn=v;if(Array.isArray(E)){E={fileDependencies:E}}this.options=E||{}}get fileDependencies(){return this.options===true?true:this.options.fileDependencies}exec(v,E,P){const R=v.state.module.buildInfo;if(this.options===true){R.cacheable=false}else{if(this.options.fileDependencies){for(const v of this.options.fileDependencies){R.fileDependencies.add(v)}}if(this.options.contextDependencies){for(const v of this.options.contextDependencies){R.contextDependencies.add(v)}}if(this.options.missingDependencies){for(const v of this.options.missingDependencies){R.missingDependencies.add(v)}}if(this.options.buildDependencies){for(const v of this.options.buildDependencies){R.buildDependencies.add(v)}}}return this.fn({module:v.state.module,key:P,get version(){return E.get(Ae+P)}})}getCacheVersion(){return this.options===true?undefined:(typeof this.options.version==="function"?this.options.version():this.options.version)||"unset"}}const stringifyObj=(v,E,P,R,$,N,L,q)=>{let K;let ae=Array.isArray(v);if(ae){K=`[${v.map((v=>toCode(v,E,P,R,$,N,null))).join(",")}]`}else{let R=Object.keys(v);if(q){if(q.size===0)R=[];else R=R.filter((v=>q.has(v)))}K=`{${R.map((R=>{const L=v[R];return JSON.stringify(R)+":"+toCode(L,E,P,R,$,N,null)})).join(",")}}`}switch(L){case null:return K;case true:return ae?K:`(${K})`;case false:return ae?`;${K}`:`;(${K})`;default:return`/*#__PURE__*/Object(${K})`}};const toCode=(v,E,P,R,$,N,L,q)=>{const transformToCode=()=>{if(v===null){return"null"}if(v===undefined){return"undefined"}if(Object.is(v,-0)){return"-0"}if(v instanceof RuntimeValue){return toCode(v.exec(E,P,R),E,P,R,$,N,L)}if(v instanceof RegExp&&v.toString){return v.toString()}if(typeof v==="function"&&v.toString){return"("+v.toString()+")"}if(typeof v==="object"){return stringifyObj(v,E,P,R,$,N,L,q)}if(typeof v==="bigint"){return $.supportsBigIntLiteral()?`${v}n`:`BigInt("${v}")`}return v+""};const K=transformToCode();N.log(`Replaced "${R}" with "${K}"`);return K};const toCacheVersion=v=>{if(v===null){return"null"}if(v===undefined){return"undefined"}if(Object.is(v,-0)){return"-0"}if(v instanceof RuntimeValue){return v.getCacheVersion()}if(v instanceof RegExp&&v.toString){return v.toString()}if(typeof v==="function"&&v.toString){return"("+v.toString()+")"}if(typeof v==="object"){const E=Object.keys(v).map((E=>({key:E,value:toCacheVersion(v[E])})));if(E.some((({value:v})=>v===undefined)))return undefined;return`{${E.map((({key:v,value:E})=>`${v}: ${E}`)).join(", ")}}`}if(typeof v==="bigint"){return`${v}n`}return v+""};const ve="DefinePlugin";const Ae=`webpack/${ve} `;const Ie=`webpack/${ve}_hash`;const He=/^typeof\s+/;const Qe=/__webpack_require__\s*(!?\.)/;const Je=/__webpack_require__/;class DefinePlugin{constructor(v){this.definitions=v}static runtimeValue(v,E){return new RuntimeValue(v,E)}apply(v){const E=this.definitions;v.hooks.compilation.tap(ve,((v,{normalModuleFactory:P})=>{const Ve=v.getLogger("webpack.DefinePlugin");v.dependencyTemplates.set(K,new K.Template);const{runtimeTemplate:Ke}=v;const Ye=xe(v.outputOptions.hashFunction);Ye.update(v.valueCacheVersions.get(Ie)||"");const handler=P=>{const R=v.valueCacheVersions.get(Ie);P.hooks.program.tap(ve,(()=>{const{buildInfo:v}=P.state.module;if(!v.valueDependencies)v.valueDependencies=new Map;v.valueDependencies.set(Ie,R)}));const addValueDependency=E=>{const{buildInfo:R}=P.state.module;R.valueDependencies.set(Ae+E,v.valueCacheVersions.get(Ae+E))};const withValueDependency=(v,E)=>(...P)=>{addValueDependency(v);return E(...P)};const walkDefinitions=(v,E)=>{Object.keys(v).forEach((P=>{const R=v[P];if(R&&typeof R==="object"&&!(R instanceof RuntimeValue)&&!(R instanceof RegExp)){walkDefinitions(R,E+P+".");applyObjectDefine(E+P,R);return}applyDefineKey(E,P);applyDefine(E+P,R)}))};const applyDefineKey=(v,E)=>{const R=E.split(".");R.slice(1).forEach((($,N)=>{const L=v+R.slice(0,N+1).join(".");P.hooks.canRename.for(L).tap(ve,(()=>{addValueDependency(E);return true}))}))};const applyDefine=(E,R)=>{const $=E;const N=He.test(E);if(N)E=E.replace(He,"");let q=false;let K=false;if(!N){P.hooks.canRename.for(E).tap(ve,(()=>{addValueDependency($);return true}));P.hooks.evaluateIdentifier.for(E).tap(ve,(N=>{if(q)return;addValueDependency($);q=true;const L=P.evaluate(toCode(R,P,v.valueCacheVersions,E,Ke,Ve,null));q=false;L.setRange(N.range);return L}));P.hooks.expression.for(E).tap(ve,(E=>{addValueDependency($);let N=toCode(R,P,v.valueCacheVersions,$,Ke,Ve,!P.isAsiPosition(E.range[0]),P.destructuringAssignmentPropertiesFor(E));if(P.scope.inShorthand){N=P.scope.inShorthand+":"+N}if(Qe.test(N)){return be(P,N,[L.require])(E)}else if(Je.test(N)){return be(P,N,[L.requireScope])(E)}else{return be(P,N)(E)}}))}P.hooks.evaluateTypeof.for(E).tap(ve,(E=>{if(K)return;K=true;addValueDependency($);const L=toCode(R,P,v.valueCacheVersions,$,Ke,Ve,null);const q=N?L:"typeof ("+L+")";const ae=P.evaluate(q);K=false;ae.setRange(E.range);return ae}));P.hooks.typeof.for(E).tap(ve,(E=>{addValueDependency($);const L=toCode(R,P,v.valueCacheVersions,$,Ke,Ve,null);const q=N?L:"typeof ("+L+")";const K=P.evaluate(q);if(!K.isString())return;return be(P,JSON.stringify(K.string)).bind(P)(E)}))};const applyObjectDefine=(E,R)=>{P.hooks.canRename.for(E).tap(ve,(()=>{addValueDependency(E);return true}));P.hooks.evaluateIdentifier.for(E).tap(ve,(v=>{addValueDependency(E);return(new ae).setTruthy().setSideEffects(false).setRange(v.range)}));P.hooks.evaluateTypeof.for(E).tap(ve,withValueDependency(E,ge("object")));P.hooks.expression.for(E).tap(ve,($=>{addValueDependency(E);let N=stringifyObj(R,P,v.valueCacheVersions,E,Ke,Ve,!P.isAsiPosition($.range[0]),P.destructuringAssignmentPropertiesFor($));if(P.scope.inShorthand){N=P.scope.inShorthand+":"+N}if(Qe.test(N)){return be(P,N,[L.require])($)}else if(Je.test(N)){return be(P,N,[L.requireScope])($)}else{return be(P,N)($)}}));P.hooks.typeof.for(E).tap(ve,withValueDependency(E,be(P,JSON.stringify("object"))))};walkDefinitions(E,"")};P.hooks.parser.for(R).tap(ve,handler);P.hooks.parser.for(N).tap(ve,handler);P.hooks.parser.for($).tap(ve,handler);const walkDefinitionsForValues=(E,P)=>{Object.keys(E).forEach((R=>{const $=E[R];const N=toCacheVersion($);const L=Ae+P+R;Ye.update("|"+P+R);const K=v.valueCacheVersions.get(L);if(K===undefined){v.valueCacheVersions.set(L,N)}else if(K!==N){const E=new q(`${ve}\nConflicting values for '${P+R}'`);E.details=`'${K}' !== '${N}'`;E.hideStack=true;v.warnings.push(E)}if($&&typeof $==="object"&&!($ instanceof RuntimeValue)&&!($ instanceof RegExp)){walkDefinitionsForValues($,P+R+".")}}))};walkDefinitionsForValues(E,"");v.valueCacheVersions.set(Ie,Ye.digest("hex").slice(0,8))}))}}v.exports=DefinePlugin},56951:function(v,E,P){"use strict";const{OriginalSource:R,RawSource:$}=P(51255);const N=P(82919);const{JAVASCRIPT_MODULE_TYPE_DYNAMIC:L}=P(98791);const q=P(75189);const K=P(61957);const ae=P(88929);const ge=P(74364);const be=new Set(["javascript"]);const xe=new Set([q.module,q.require]);class DelegatedModule extends N{constructor(v,E,P,R,$){super(L,null);this.sourceRequest=v;this.request=E.id;this.delegationType=P;this.userRequest=R;this.originalRequest=$;this.delegateData=E;this.delegatedSourceDependency=undefined}getSourceTypes(){return be}libIdent(v){return typeof this.originalRequest==="string"?this.originalRequest:this.originalRequest.libIdent(v)}identifier(){return`delegated ${JSON.stringify(this.request)} from ${this.sourceRequest}`}readableIdentifier(v){return`delegated ${this.userRequest} from ${this.sourceRequest}`}needBuild(v,E){return E(null,!this.buildMeta)}build(v,E,P,R,$){const N=this.delegateData;this.buildMeta={...N.buildMeta};this.buildInfo={};this.dependencies.length=0;this.delegatedSourceDependency=new K(this.sourceRequest);this.addDependency(this.delegatedSourceDependency);this.addDependency(new ae(N.exports||true,false));$()}codeGeneration({runtimeTemplate:v,moduleGraph:E,chunkGraph:P}){const N=this.dependencies[0];const L=E.getModule(N);let q;if(!L){q=v.throwMissingModuleErrorBlock({request:this.sourceRequest})}else{q=`module.exports = (${v.moduleExports({module:L,chunkGraph:P,request:N.request,runtimeRequirements:new Set})})`;switch(this.delegationType){case"require":q+=`(${JSON.stringify(this.request)})`;break;case"object":q+=`[${JSON.stringify(this.request)}]`;break}q+=";"}const K=new Map;if(this.useSourceMap||this.useSimpleSourceMap){K.set("javascript",new R(q,this.identifier()))}else{K.set("javascript",new $(q))}return{sources:K,runtimeRequirements:xe}}size(v){return 42}updateHash(v,E){v.update(this.delegationType);v.update(JSON.stringify(this.request));super.updateHash(v,E)}serialize(v){const{write:E}=v;E(this.sourceRequest);E(this.delegateData);E(this.delegationType);E(this.userRequest);E(this.originalRequest);super.serialize(v)}static deserialize(v){const{read:E}=v;const P=new DelegatedModule(E(),E(),E(),E(),E());P.deserialize(v);return P}updateCacheModule(v){super.updateCacheModule(v);const E=v;this.delegationType=E.delegationType;this.userRequest=E.userRequest;this.originalRequest=E.originalRequest;this.delegateData=E.delegateData}cleanupForCache(){super.cleanupForCache();this.delegateData=undefined}}ge(DelegatedModule,"webpack/lib/DelegatedModule");v.exports=DelegatedModule},31436:function(v,E,P){"use strict";const R=P(56951);class DelegatedModuleFactoryPlugin{constructor(v){this.options=v;v.type=v.type||"require";v.extensions=v.extensions||["",".js",".json",".wasm"]}apply(v){const E=this.options.scope;if(E){v.hooks.factorize.tapAsync("DelegatedModuleFactoryPlugin",((v,P)=>{const[$]=v.dependencies;const{request:N}=$;if(N&&N.startsWith(`${E}/`)){const v="."+N.slice(E.length);let $;if(v in this.options.content){$=this.options.content[v];return P(null,new R(this.options.source,$,this.options.type,v,N))}for(let E=0;E{const E=v.libIdent(this.options);if(E){if(E in this.options.content){const P=this.options.content[E];return new R(this.options.source,P,this.options.type,E,v)}}return v}))}}}v.exports=DelegatedModuleFactoryPlugin},46144:function(v,E,P){"use strict";const R=P(31436);const $=P(61957);class DelegatedPlugin{constructor(v){this.options=v}apply(v){v.hooks.compilation.tap("DelegatedPlugin",((v,{normalModuleFactory:E})=>{v.dependencyFactories.set($,E)}));v.hooks.compile.tap("DelegatedPlugin",(({normalModuleFactory:E})=>{new R({associatedObjectForCache:v.root,...this.options}).apply(E)}))}}v.exports=DelegatedPlugin},27449:function(v,E,P){"use strict";const R=P(74364);class DependenciesBlock{constructor(){this.dependencies=[];this.blocks=[];this.parent=undefined}getRootBlock(){let v=this;while(v.parent)v=v.parent;return v}addBlock(v){this.blocks.push(v);v.parent=this}addDependency(v){this.dependencies.push(v)}removeDependency(v){const E=this.dependencies.indexOf(v);if(E>=0){this.dependencies.splice(E,1)}}clearDependenciesAndBlocks(){this.dependencies.length=0;this.blocks.length=0}updateHash(v,E){for(const P of this.dependencies){P.updateHash(v,E)}for(const P of this.blocks){P.updateHash(v,E)}}serialize({write:v}){v(this.dependencies);v(this.blocks)}deserialize({read:v}){this.dependencies=v();this.blocks=v();for(const v of this.blocks){v.parent=this}}}R(DependenciesBlock,"webpack/lib/DependenciesBlock");v.exports=DependenciesBlock},61803:function(v,E,P){"use strict";const R=P(49584);const $=Symbol("transitive");const N=R((()=>{const v=P(87122);return new v("/* (ignored) */",`ignored`,`(ignored)`)}));class Dependency{constructor(){this._parentModule=undefined;this._parentDependenciesBlock=undefined;this._parentDependenciesBlockIndex=-1;this.weak=false;this.optional=false;this._locSL=0;this._locSC=0;this._locEL=0;this._locEC=0;this._locI=undefined;this._locN=undefined;this._loc=undefined}get type(){return"unknown"}get category(){return"unknown"}get loc(){if(this._loc!==undefined)return this._loc;const v={};if(this._locSL>0){v.start={line:this._locSL,column:this._locSC}}if(this._locEL>0){v.end={line:this._locEL,column:this._locEC}}if(this._locN!==undefined){v.name=this._locN}if(this._locI!==undefined){v.index=this._locI}return this._loc=v}set loc(v){if("start"in v&&typeof v.start==="object"){this._locSL=v.start.line||0;this._locSC=v.start.column||0}else{this._locSL=0;this._locSC=0}if("end"in v&&typeof v.end==="object"){this._locEL=v.end.line||0;this._locEC=v.end.column||0}else{this._locEL=0;this._locEC=0}if("index"in v){this._locI=v.index}else{this._locI=undefined}if("name"in v){this._locN=v.name}else{this._locN=undefined}this._loc=v}setLoc(v,E,P,R){this._locSL=v;this._locSC=E;this._locEL=P;this._locEC=R;this._locI=undefined;this._locN=undefined;this._loc=undefined}getContext(){return undefined}getResourceIdentifier(){return null}couldAffectReferencingModule(){return $}getReference(v){throw new Error("Dependency.getReference was removed in favor of Dependency.getReferencedExports, ModuleGraph.getModule and ModuleGraph.getConnection().active")}getReferencedExports(v,E){return Dependency.EXPORTS_OBJECT_REFERENCED}getCondition(v){return null}getExports(v){return undefined}getWarnings(v){return null}getErrors(v){return null}updateHash(v,E){}getNumberOfIdOccurrences(){return 1}getModuleEvaluationSideEffectsState(v){return true}createIgnoredModule(v){return N()}serialize({write:v}){v(this.weak);v(this.optional);v(this._locSL);v(this._locSC);v(this._locEL);v(this._locEC);v(this._locI);v(this._locN)}deserialize({read:v}){this.weak=v();this.optional=v();this._locSL=v();this._locSC=v();this._locEL=v();this._locEC=v();this._locI=v();this._locN=v()}}Dependency.NO_EXPORTS_REFERENCED=[];Dependency.EXPORTS_OBJECT_REFERENCED=[[]];Object.defineProperty(Dependency.prototype,"module",{get(){throw new Error("module property was removed from Dependency (use compilation.moduleGraph.getModule(dependency) instead)")},set(){throw new Error("module property was removed from Dependency (use compilation.moduleGraph.updateModule(dependency, module) instead)")}});Object.defineProperty(Dependency.prototype,"disconnect",{get(){throw new Error("disconnect was removed from Dependency (Dependency no longer carries graph specific information)")}});Dependency.TRANSITIVE=$;v.exports=Dependency},35226:function(v,E,P){"use strict";class DependencyTemplate{apply(v,E,R){const $=P(86478);throw new $}}v.exports=DependencyTemplate},707:function(v,E,P){"use strict";const R=P(1558);class DependencyTemplates{constructor(v="md4"){this._map=new Map;this._hash="31d6cfe0d16ae931b73c59d7e0c089c0";this._hashFunction=v}get(v){return this._map.get(v)}set(v,E){this._map.set(v,E)}updateHash(v){const E=R(this._hashFunction);E.update(`${this._hash}${v}`);this._hash=E.digest("hex")}getHash(){return this._hash}clone(){const v=new DependencyTemplates(this._hashFunction);v._map=new Map(this._map);v._hash=this._hash;return v}}v.exports=DependencyTemplates},20225:function(v,E,P){"use strict";const R=P(34122);const $=P(3784);const N=P(93342);class DllEntryPlugin{constructor(v,E,P){this.context=v;this.entries=E;this.options=P}apply(v){v.hooks.compilation.tap("DllEntryPlugin",((v,{normalModuleFactory:E})=>{const P=new R;v.dependencyFactories.set($,P);v.dependencyFactories.set(N,E)}));v.hooks.make.tapAsync("DllEntryPlugin",((v,E)=>{v.addEntry(this.context,new $(this.entries.map(((v,E)=>{const P=new N(v);P.loc={name:this.options.name,index:E};return P})),this.options.name),this.options,(v=>{if(v)return E(v);E()}))}))}}v.exports=DllEntryPlugin},98511:function(v,E,P){"use strict";const{RawSource:R}=P(51255);const $=P(82919);const{JAVASCRIPT_MODULE_TYPE_DYNAMIC:N}=P(98791);const L=P(75189);const q=P(74364);const K=new Set(["javascript"]);const ae=new Set([L.require,L.module]);class DllModule extends ${constructor(v,E,P){super(N,v);this.dependencies=E;this.name=P}getSourceTypes(){return K}identifier(){return`dll ${this.name}`}readableIdentifier(v){return`dll ${this.name}`}build(v,E,P,R,$){this.buildMeta={};this.buildInfo={};return $()}codeGeneration(v){const E=new Map;E.set("javascript",new R(`module.exports = ${L.require};`));return{sources:E,runtimeRequirements:ae}}needBuild(v,E){return E(null,!this.buildMeta)}size(v){return 12}updateHash(v,E){v.update(`dll module${this.name||""}`);super.updateHash(v,E)}serialize(v){v.write(this.name);super.serialize(v)}deserialize(v){this.name=v.read();super.deserialize(v)}updateCacheModule(v){super.updateCacheModule(v);this.dependencies=v.dependencies}cleanupForCache(){super.cleanupForCache();this.dependencies=undefined}}q(DllModule,"webpack/lib/DllModule");v.exports=DllModule},34122:function(v,E,P){"use strict";const R=P(98511);const $=P(18769);class DllModuleFactory extends ${constructor(){super();this.hooks=Object.freeze({})}create(v,E){const P=v.dependencies[0];E(null,{module:new R(v.context,P.dependencies,P.name)})}}v.exports=DllModuleFactory},98472:function(v,E,P){"use strict";const R=P(20225);const $=P(15580);const N=P(59752);const L=P(86278);const q=L(P(77065),(()=>P(45053)),{name:"Dll Plugin",baseDataPath:"options"});class DllPlugin{constructor(v){q(v);this.options={...v,entryOnly:v.entryOnly!==false}}apply(v){v.hooks.entryOption.tap("DllPlugin",((E,P)=>{if(typeof P!=="function"){for(const $ of Object.keys(P)){const N={name:$,filename:P.filename};new R(E,P[$].import,N).apply(v)}}else{throw new Error("DllPlugin doesn't support dynamic entry (function) yet")}return true}));new N(this.options).apply(v);if(!this.options.entryOnly){new $("DllPlugin").apply(v)}}}v.exports=DllPlugin},492:function(v,E,P){"use strict";const R=P(54650);const $=P(31436);const N=P(35211);const L=P(45425);const q=P(61957);const K=P(86278);const ae=P(94778).makePathsRelative;const ge=K(P(29581),(()=>P(82121)),{name:"Dll Reference Plugin",baseDataPath:"options"});class DllReferencePlugin{constructor(v){ge(v);this.options=v;this._compilationData=new WeakMap}apply(v){v.hooks.compilation.tap("DllReferencePlugin",((v,{normalModuleFactory:E})=>{v.dependencyFactories.set(q,E)}));v.hooks.beforeCompile.tapAsync("DllReferencePlugin",((E,P)=>{if("manifest"in this.options){const $=this.options.manifest;if(typeof $==="string"){v.inputFileSystem.readFile($,((N,L)=>{if(N)return P(N);const q={path:$,data:undefined,error:undefined};try{q.data=R(L.toString("utf-8"))}catch(E){const P=ae(v.options.context,$,v.root);q.error=new DllManifestError(P,E.message)}this._compilationData.set(E,q);return P()}));return}}return P()}));v.hooks.compile.tap("DllReferencePlugin",(E=>{let P=this.options.name;let R=this.options.sourceType;let L="content"in this.options?this.options.content:undefined;if("manifest"in this.options){let v=this.options.manifest;let $;if(typeof v==="string"){const v=this._compilationData.get(E);if(v.error){return}$=v.data}else{$=v}if($){if(!P)P=$.name;if(!R)R=$.type;if(!L)L=$.content}}const q={};const K="dll-reference "+P;q[K]=P;const ae=E.normalModuleFactory;new N(R||"var",q).apply(ae);new $({source:K,type:this.options.type,scope:this.options.scope,context:this.options.context||v.options.context,content:L,extensions:this.options.extensions,associatedObjectForCache:v.root}).apply(ae)}));v.hooks.compilation.tap("DllReferencePlugin",((v,E)=>{if("manifest"in this.options){let P=this.options.manifest;if(typeof P==="string"){const R=this._compilationData.get(E);if(R.error){v.errors.push(R.error)}v.fileDependencies.add(P)}}}))}}class DllManifestError extends L{constructor(v,E){super();this.name="DllManifestError";this.message=`Dll manifest ${v}\n${E}`}}v.exports=DllReferencePlugin},89793:function(v,E,P){"use strict";const R=P(31453);const $=P(21049);const N=P(93342);class DynamicEntryPlugin{constructor(v,E){this.context=v;this.entry=E}apply(v){v.hooks.compilation.tap("DynamicEntryPlugin",((v,{normalModuleFactory:E})=>{v.dependencyFactories.set(N,E)}));v.hooks.make.tapPromise("DynamicEntryPlugin",((E,P)=>Promise.resolve(this.entry()).then((P=>{const N=[];for(const L of Object.keys(P)){const q=P[L];const K=R.entryDescriptionToOptions(v,L,q);for(const v of q.import){N.push(new Promise(((P,R)=>{E.addEntry(this.context,$.createDependency(v,K),K,(v=>{if(v)return R(v);P()}))})))}}return Promise.all(N)})).then((v=>{}))))}}v.exports=DynamicEntryPlugin},31453:function(v,E,P){"use strict";class EntryOptionPlugin{apply(v){v.hooks.entryOption.tap("EntryOptionPlugin",((E,P)=>{EntryOptionPlugin.applyEntryOption(v,E,P);return true}))}static applyEntryOption(v,E,R){if(typeof R==="function"){const $=P(89793);new $(E,R).apply(v)}else{const $=P(21049);for(const P of Object.keys(R)){const N=R[P];const L=EntryOptionPlugin.entryDescriptionToOptions(v,P,N);for(const P of N.import){new $(E,P,L).apply(v)}}}}static entryDescriptionToOptions(v,E,R){const $={name:E,filename:R.filename,runtime:R.runtime,layer:R.layer,dependOn:R.dependOn,baseUri:R.baseUri,publicPath:R.publicPath,chunkLoading:R.chunkLoading,asyncChunks:R.asyncChunks,wasmLoading:R.wasmLoading,library:R.library};if(R.layer!==undefined&&!v.options.experiments.layers){throw new Error("'entryOptions.layer' is only allowed when 'experiments.layers' is enabled")}if(R.chunkLoading){const E=P(87942);E.checkEnabled(v,R.chunkLoading)}if(R.wasmLoading){const E=P(21882);E.checkEnabled(v,R.wasmLoading)}if(R.library){const E=P(15267);E.checkEnabled(v,R.library.type)}return $}}v.exports=EntryOptionPlugin},21049:function(v,E,P){"use strict";const R=P(93342);class EntryPlugin{constructor(v,E,P){this.context=v;this.entry=E;this.options=P||""}apply(v){v.hooks.compilation.tap("EntryPlugin",((v,{normalModuleFactory:E})=>{v.dependencyFactories.set(R,E)}));const{entry:E,options:P,context:$}=this;const N=EntryPlugin.createDependency(E,P);v.hooks.make.tapAsync("EntryPlugin",((v,E)=>{v.addEntry($,N,P,(v=>{E(v)}))}))}static createDependency(v,E){const P=new R(v);P.loc={name:typeof E==="object"?E.name:E};return P}}v.exports=EntryPlugin},79342:function(v,E,P){"use strict";const R=P(62455);class Entrypoint extends R{constructor(v,E=true){if(typeof v==="string"){v={name:v}}super({name:v.name});this.options=v;this._runtimeChunk=undefined;this._entrypointChunk=undefined;this._initial=E}isInitial(){return this._initial}setRuntimeChunk(v){this._runtimeChunk=v}getRuntimeChunk(){if(this._runtimeChunk)return this._runtimeChunk;for(const v of this.parentsIterable){if(v instanceof Entrypoint)return v.getRuntimeChunk()}return null}setEntrypointChunk(v){this._entrypointChunk=v}getEntrypointChunk(){return this._entrypointChunk}replaceChunk(v,E){if(this._runtimeChunk===v)this._runtimeChunk=E;if(this._entrypointChunk===v)this._entrypointChunk=E;return super.replaceChunk(v,E)}}v.exports=Entrypoint},67169:function(v,E,P){"use strict";const R=P(45425);const $=P(74364);class EnvironmentNotSupportAsyncWarning extends R{constructor(v,E){const P=`The generated code contains 'async/await' because this module is using "${E}".\nHowever, your target environment does not appear to support 'async/await'.\nAs a result, the code may not run as expected or may cause runtime errors.`;super(P);this.name="EnvironmentNotSupportAsyncWarning";this.module=v}static check(v,E,P){if(!E.supportsAsyncFunction()){v.addWarning(new EnvironmentNotSupportAsyncWarning(v,P))}}}$(EnvironmentNotSupportAsyncWarning,"webpack/lib/EnvironmentNotSupportAsyncWarning");v.exports=EnvironmentNotSupportAsyncWarning},40324:function(v,E,P){"use strict";const R=P(68934);const $=P(45425);class EnvironmentPlugin{constructor(...v){if(v.length===1&&Array.isArray(v[0])){this.keys=v[0];this.defaultValues={}}else if(v.length===1&&v[0]&&typeof v[0]==="object"){this.keys=Object.keys(v[0]);this.defaultValues=v[0]}else{this.keys=v;this.defaultValues={}}}apply(v){const E={};for(const P of this.keys){const R=process.env[P]!==undefined?process.env[P]:this.defaultValues[P];if(R===undefined){v.hooks.thisCompilation.tap("EnvironmentPlugin",(v=>{const E=new $(`EnvironmentPlugin - ${P} environment variable is undefined.\n\n`+"You can pass an object with default values to suppress this warning.\n"+"See https://webpack.js.org/plugins/environment-plugin for example.");E.name="EnvVariableNotDefinedError";v.errors.push(E)}))}E[`process.env.${P}`]=R===undefined?"undefined":JSON.stringify(R)}new R(E).apply(v)}}v.exports=EnvironmentPlugin},5636:function(v,E){"use strict";const P="LOADER_EXECUTION";const R="WEBPACK_OPTIONS";const cutOffByFlag=(v,E)=>{const P=v.split("\n");for(let v=0;vcutOffByFlag(v,P);const cutOffWebpackOptions=v=>cutOffByFlag(v,R);const cutOffMultilineMessage=(v,E)=>{const P=v.split("\n");const R=E.split("\n");const $=[];P.forEach(((v,E)=>{if(!v.includes(R[E]))$.push(v)}));return $.join("\n")};const cutOffMessage=(v,E)=>{const P=v.indexOf("\n");if(P===-1){return v===E?"":v}else{const R=v.slice(0,P);return R===E?v.slice(P+1):v}};const cleanUp=(v,E)=>{v=cutOffLoaderExecution(v);v=cutOffMessage(v,E);return v};const cleanUpWebpackOptions=(v,E)=>{v=cutOffWebpackOptions(v);v=cutOffMultilineMessage(v,E);return v};E.cutOffByFlag=cutOffByFlag;E.cutOffLoaderExecution=cutOffLoaderExecution;E.cutOffWebpackOptions=cutOffWebpackOptions;E.cutOffMultilineMessage=cutOffMultilineMessage;E.cutOffMessage=cutOffMessage;E.cleanUp=cleanUp;E.cleanUpWebpackOptions=cleanUpWebpackOptions},3635:function(v,E,P){"use strict";const{ConcatSource:R,RawSource:$}=P(51255);const N=P(645);const L=P(13745);const q=P(75189);const K=P(87885);const ae=new WeakMap;const ge=new $(`/*\n * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").\n * This devtool is neither made for production nor for readable output files.\n * It uses "eval()" calls to create a separate source file in the browser devtools.\n * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)\n * or disable the default devtool with "devtool: false".\n * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).\n */\n`);class EvalDevToolModulePlugin{constructor(v){this.namespace=v.namespace||"";this.sourceUrlComment=v.sourceUrlComment||"\n//# sourceURL=[url]";this.moduleFilenameTemplate=v.moduleFilenameTemplate||"webpack://[namespace]/[resourcePath]?[loaders]"}apply(v){v.hooks.compilation.tap("EvalDevToolModulePlugin",(v=>{const E=K.getCompilationHooks(v);E.renderModuleContent.tap("EvalDevToolModulePlugin",((E,P,{runtimeTemplate:R,chunkGraph:K})=>{const ge=ae.get(E);if(ge!==undefined)return ge;if(P instanceof N){ae.set(E,E);return E}const be=E.source();const xe=L.createFilename(P,{moduleFilenameTemplate:this.moduleFilenameTemplate,namespace:this.namespace},{requestShortener:R.requestShortener,chunkGraph:K,hashFunction:v.outputOptions.hashFunction});const ve="\n"+this.sourceUrlComment.replace(/\[url\]/g,encodeURI(xe).replace(/%2F/g,"/").replace(/%20/g,"_").replace(/%5E/g,"^").replace(/%5C/g,"\\").replace(/^\//,""));const Ae=new $(`eval(${v.outputOptions.trustedTypes?`${q.createScript}(${JSON.stringify(be+ve)})`:JSON.stringify(be+ve)});`);ae.set(E,Ae);return Ae}));E.inlineInRuntimeBailout.tap("EvalDevToolModulePlugin",(()=>"the eval devtool is used."));E.render.tap("EvalDevToolModulePlugin",(v=>new R(ge,v)));E.chunkHash.tap("EvalDevToolModulePlugin",((v,E)=>{E.update("EvalDevToolModulePlugin");E.update("2")}));if(v.outputOptions.trustedTypes){v.hooks.additionalModuleRuntimeRequirements.tap("EvalDevToolModulePlugin",((v,E,P)=>{E.add(q.createScript)}))}}))}}v.exports=EvalDevToolModulePlugin},31902:function(v,E,P){"use strict";const{ConcatSource:R,RawSource:$}=P(51255);const N=P(13745);const L=P(44208);const q=P(75189);const K=P(67150);const ae=P(87885);const ge=P(20307);const{makePathsAbsolute:be}=P(94778);const xe=new WeakMap;const ve=new $(`/*\n * ATTENTION: An "eval-source-map" devtool has been used.\n * This devtool is neither made for production nor for readable output files.\n * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.\n * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)\n * or disable the default devtool with "devtool: false".\n * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).\n */\n`);class EvalSourceMapDevToolPlugin{constructor(v){let E;if(typeof v==="string"){E={append:v}}else{E=v}this.sourceMapComment=E.append&&typeof E.append!=="function"?E.append:"//# sourceURL=[module]\n//# sourceMappingURL=[url]";this.moduleFilenameTemplate=E.moduleFilenameTemplate||"webpack://[namespace]/[resource-path]?[hash]";this.namespace=E.namespace||"";this.options=E}apply(v){const E=this.options;v.hooks.compilation.tap("EvalSourceMapDevToolPlugin",(P=>{const Ae=ae.getCompilationHooks(P);new K(E).apply(P);const Ie=N.matchObject.bind(N,E);Ae.renderModuleContent.tap("EvalSourceMapDevToolPlugin",((R,K,{runtimeTemplate:ae,chunkGraph:ve})=>{const Ae=xe.get(R);if(Ae!==undefined){return Ae}const result=v=>{xe.set(R,v);return v};if(K instanceof L){const v=K;if(!Ie(v.resource)){return result(R)}}else if(K instanceof ge){const v=K;if(v.rootModule instanceof L){const E=v.rootModule;if(!Ie(E.resource)){return result(R)}}else{return result(R)}}else{return result(R)}let He;let Qe;if(R.sourceAndMap){const v=R.sourceAndMap(E);He=v.map;Qe=v.source}else{He=R.map(E);Qe=R.source()}if(!He){return result(R)}He={...He};const Je=v.options.context;const Ve=v.root;const Ke=He.sources.map((v=>{if(!v.startsWith("webpack://"))return v;v=be(Je,v.slice(10),Ve);const E=P.findModule(v);return E||v}));let Ye=Ke.map((v=>N.createFilename(v,{moduleFilenameTemplate:this.moduleFilenameTemplate,namespace:this.namespace},{requestShortener:ae.requestShortener,chunkGraph:ve,hashFunction:P.outputOptions.hashFunction})));Ye=N.replaceDuplicates(Ye,((v,E,P)=>{for(let E=0;E"the eval-source-map devtool is used."));Ae.render.tap("EvalSourceMapDevToolPlugin",(v=>new R(ve,v)));Ae.chunkHash.tap("EvalSourceMapDevToolPlugin",((v,E)=>{E.update("EvalSourceMapDevToolPlugin");E.update("2")}));if(P.outputOptions.trustedTypes){P.hooks.additionalModuleRuntimeRequirements.tap("EvalSourceMapDevToolPlugin",((v,E,P)=>{E.add(q.createScript)}))}}))}}v.exports=EvalSourceMapDevToolPlugin},32514:function(v,E,P){"use strict";const{equals:R}=P(98734);const $=P(96543);const N=P(74364);const{forEachRuntime:L}=P(32681);const q=Object.freeze({Unused:0,OnlyPropertiesUsed:1,NoInfo:2,Unknown:3,Used:4});const RETURNS_TRUE=()=>true;const K=Symbol("circular target");class RestoreProvidedData{constructor(v,E,P,R){this.exports=v;this.otherProvided=E;this.otherCanMangleProvide=P;this.otherTerminalBinding=R}serialize({write:v}){v(this.exports);v(this.otherProvided);v(this.otherCanMangleProvide);v(this.otherTerminalBinding)}static deserialize({read:v}){return new RestoreProvidedData(v(),v(),v(),v())}}N(RestoreProvidedData,"webpack/lib/ModuleGraph","RestoreProvidedData");class ExportsInfo{constructor(){this._exports=new Map;this._otherExportsInfo=new ExportInfo(null);this._sideEffectsOnlyInfo=new ExportInfo("*side effects only*");this._exportsAreOrdered=false;this._redirectTo=undefined}get ownedExports(){return this._exports.values()}get orderedOwnedExports(){if(!this._exportsAreOrdered){this._sortExports()}return this._exports.values()}get exports(){if(this._redirectTo!==undefined){const v=new Map(this._redirectTo._exports);for(const[E,P]of this._exports){v.set(E,P)}return v.values()}return this._exports.values()}get orderedExports(){if(!this._exportsAreOrdered){this._sortExports()}if(this._redirectTo!==undefined){const v=new Map(Array.from(this._redirectTo.orderedExports,(v=>[v.name,v])));for(const[E,P]of this._exports){v.set(E,P)}this._sortExportsMap(v);return v.values()}return this._exports.values()}get otherExportsInfo(){if(this._redirectTo!==undefined)return this._redirectTo.otherExportsInfo;return this._otherExportsInfo}_sortExportsMap(v){if(v.size>1){const E=[];for(const P of v.values()){E.push(P.name)}E.sort();let P=0;for(const R of v.values()){const v=E[P];if(R.name!==v)break;P++}for(;P0){const E=this.getReadOnlyExportInfo(v[0]);if(!E.exportsInfo)return undefined;return E.exportsInfo.getNestedExportsInfo(v.slice(1))}return this}setUnknownExportsProvided(v,E,P,R,$){let N=false;if(E){for(const v of E){this.getExportInfo(v)}}for(const $ of this._exports.values()){if(!v&&$.canMangleProvide!==false){$.canMangleProvide=false;N=true}if(E&&E.has($.name))continue;if($.provided!==true&&$.provided!==null){$.provided=null;N=true}if(P){$.setTarget(P,R,[$.name],-1)}}if(this._redirectTo!==undefined){if(this._redirectTo.setUnknownExportsProvided(v,E,P,R,$)){N=true}}else{if(this._otherExportsInfo.provided!==true&&this._otherExportsInfo.provided!==null){this._otherExportsInfo.provided=null;N=true}if(!v&&this._otherExportsInfo.canMangleProvide!==false){this._otherExportsInfo.canMangleProvide=false;N=true}if(P){this._otherExportsInfo.setTarget(P,R,undefined,$)}}return N}setUsedInUnknownWay(v){let E=false;for(const P of this._exports.values()){if(P.setUsedInUnknownWay(v)){E=true}}if(this._redirectTo!==undefined){if(this._redirectTo.setUsedInUnknownWay(v)){E=true}}else{if(this._otherExportsInfo.setUsedConditionally((v=>vv===q.Unused),q.Used,v)}isUsed(v){if(this._redirectTo!==undefined){if(this._redirectTo.isUsed(v)){return true}}else{if(this._otherExportsInfo.getUsed(v)!==q.Unused){return true}}for(const E of this._exports.values()){if(E.getUsed(v)!==q.Unused){return true}}return false}isModuleUsed(v){if(this.isUsed(v))return true;if(this._sideEffectsOnlyInfo.getUsed(v)!==q.Unused)return true;return false}getUsedExports(v){if(!this._redirectTo!==undefined){switch(this._otherExportsInfo.getUsed(v)){case q.NoInfo:return null;case q.Unknown:case q.OnlyPropertiesUsed:case q.Used:return true}}const E=[];if(!this._exportsAreOrdered)this._sortExports();for(const P of this._exports.values()){switch(P.getUsed(v)){case q.NoInfo:return null;case q.Unknown:return true;case q.OnlyPropertiesUsed:case q.Used:E.push(P.name)}}if(this._redirectTo!==undefined){const P=this._redirectTo.getUsedExports(v);if(P===null)return null;if(P===true)return true;if(P!==false){for(const v of P){E.push(v)}}}if(E.length===0){switch(this._sideEffectsOnlyInfo.getUsed(v)){case q.NoInfo:return null;case q.Unused:return false}}return new $(E)}getProvidedExports(){if(!this._redirectTo!==undefined){switch(this._otherExportsInfo.provided){case undefined:return null;case null:return true;case true:return true}}const v=[];if(!this._exportsAreOrdered)this._sortExports();for(const E of this._exports.values()){switch(E.provided){case undefined:return null;case null:return true;case true:v.push(E.name)}}if(this._redirectTo!==undefined){const E=this._redirectTo.getProvidedExports();if(E===null)return null;if(E===true)return true;for(const P of E){if(!v.includes(P)){v.push(P)}}}return v}getRelevantExports(v){const E=[];for(const P of this._exports.values()){const R=P.getUsed(v);if(R===q.Unused)continue;if(P.provided===false)continue;E.push(P)}if(this._redirectTo!==undefined){for(const P of this._redirectTo.getRelevantExports(v)){if(!this._exports.has(P.name))E.push(P)}}if(this._otherExportsInfo.provided!==false&&this._otherExportsInfo.getUsed(v)!==q.Unused){E.push(this._otherExportsInfo)}return E}isExportProvided(v){if(Array.isArray(v)){const E=this.getReadOnlyExportInfo(v[0]);if(E.exportsInfo&&v.length>1){return E.exportsInfo.isExportProvided(v.slice(1))}return E.provided?v.length===1||undefined:E.provided}const E=this.getReadOnlyExportInfo(v);return E.provided}getUsageKey(v){const E=[];if(this._redirectTo!==undefined){E.push(this._redirectTo.getUsageKey(v))}else{E.push(this._otherExportsInfo.getUsed(v))}E.push(this._sideEffectsOnlyInfo.getUsed(v));for(const P of this.orderedOwnedExports){E.push(P.getUsed(v))}return E.join("|")}isEquallyUsed(v,E){if(this._redirectTo!==undefined){if(!this._redirectTo.isEquallyUsed(v,E))return false}else{if(this._otherExportsInfo.getUsed(v)!==this._otherExportsInfo.getUsed(E)){return false}}if(this._sideEffectsOnlyInfo.getUsed(v)!==this._sideEffectsOnlyInfo.getUsed(E)){return false}for(const P of this.ownedExports){if(P.getUsed(v)!==P.getUsed(E))return false}return true}getUsed(v,E){if(Array.isArray(v)){if(v.length===0)return this.otherExportsInfo.getUsed(E);let P=this.getReadOnlyExportInfo(v[0]);if(P.exportsInfo&&v.length>1){return P.exportsInfo.getUsed(v.slice(1),E)}return P.getUsed(E)}let P=this.getReadOnlyExportInfo(v);return P.getUsed(E)}getUsedName(v,E){if(Array.isArray(v)){if(v.length===0){if(!this.isUsed(E))return false;return v}let P=this.getReadOnlyExportInfo(v[0]);const R=P.getUsedName(v[0],E);if(R===false)return false;const $=R===v[0]&&v.length===1?v:[R];if(v.length===1){return $}if(P.exportsInfo&&P.getUsed(E)===q.OnlyPropertiesUsed){const R=P.exportsInfo.getUsedName(v.slice(1),E);if(!R)return false;return $.concat(R)}else{return $.concat(v.slice(1))}}else{let P=this.getReadOnlyExportInfo(v);const R=P.getUsedName(v,E);return R}}updateHash(v,E){this._updateHash(v,E,new Set)}_updateHash(v,E,P){const R=new Set(P);R.add(this);for(const P of this.orderedExports){if(P.hasInfo(this._otherExportsInfo,E)){P._updateHash(v,E,R)}}this._sideEffectsOnlyInfo._updateHash(v,E,R);this._otherExportsInfo._updateHash(v,E,R);if(this._redirectTo!==undefined){this._redirectTo._updateHash(v,E,R)}}getRestoreProvidedData(){const v=this._otherExportsInfo.provided;const E=this._otherExportsInfo.canMangleProvide;const P=this._otherExportsInfo.terminalBinding;const R=[];for(const $ of this.orderedExports){if($.provided!==v||$.canMangleProvide!==E||$.terminalBinding!==P||$.exportsInfoOwned){R.push({name:$.name,provided:$.provided,canMangleProvide:$.canMangleProvide,terminalBinding:$.terminalBinding,exportsInfo:$.exportsInfoOwned?$.exportsInfo.getRestoreProvidedData():undefined})}}return new RestoreProvidedData(R,v,E,P)}restoreProvided({otherProvided:v,otherCanMangleProvide:E,otherTerminalBinding:P,exports:R}){let $=true;for(const R of this._exports.values()){$=false;R.provided=v;R.canMangleProvide=E;R.terminalBinding=P}this._otherExportsInfo.provided=v;this._otherExportsInfo.canMangleProvide=E;this._otherExportsInfo.terminalBinding=P;for(const v of R){const E=this.getExportInfo(v.name);E.provided=v.provided;E.canMangleProvide=v.canMangleProvide;E.terminalBinding=v.terminalBinding;if(v.exportsInfo){const P=E.createNestedExportsInfo();P.restoreProvided(v.exportsInfo)}}if($)this._exportsAreOrdered=true}}class ExportInfo{constructor(v,E){this.name=v;this._usedName=E?E._usedName:null;this._globalUsed=E?E._globalUsed:undefined;this._usedInRuntime=E&&E._usedInRuntime?new Map(E._usedInRuntime):undefined;this._hasUseInRuntimeInfo=E?E._hasUseInRuntimeInfo:false;this.provided=E?E.provided:undefined;this.terminalBinding=E?E.terminalBinding:false;this.canMangleProvide=E?E.canMangleProvide:undefined;this.canMangleUse=E?E.canMangleUse:undefined;this.exportsInfoOwned=false;this.exportsInfo=undefined;this._target=undefined;if(E&&E._target){this._target=new Map;for(const[P,R]of E._target){this._target.set(P,{connection:R.connection,export:R.export||[v],priority:R.priority})}}this._maxTarget=undefined}get used(){throw new Error("REMOVED")}get usedName(){throw new Error("REMOVED")}set used(v){throw new Error("REMOVED")}set usedName(v){throw new Error("REMOVED")}get canMangle(){switch(this.canMangleProvide){case undefined:return this.canMangleUse===false?false:undefined;case false:return false;case true:switch(this.canMangleUse){case undefined:return undefined;case false:return false;case true:return true}}throw new Error(`Unexpected flags for canMangle ${this.canMangleProvide} ${this.canMangleUse}`)}setUsedInUnknownWay(v){let E=false;if(this.setUsedConditionally((v=>vthis._usedInRuntime.set(v,E)));return true}}else{let R=false;L(P,(P=>{let $=this._usedInRuntime.get(P);if($===undefined)$=q.Unused;if(E!==$&&v($)){if(E===q.Unused){this._usedInRuntime.delete(P)}else{this._usedInRuntime.set(P,E)}R=true}}));if(R){if(this._usedInRuntime.size===0)this._usedInRuntime=undefined;return true}}return false}setUsed(v,E){if(E===undefined){if(this._globalUsed!==v){this._globalUsed=v;return true}}else if(this._usedInRuntime===undefined){if(v!==q.Unused){this._usedInRuntime=new Map;L(E,(E=>this._usedInRuntime.set(E,v)));return true}}else{let P=false;L(E,(E=>{let R=this._usedInRuntime.get(E);if(R===undefined)R=q.Unused;if(v!==R){if(v===q.Unused){this._usedInRuntime.delete(E)}else{this._usedInRuntime.set(E,v)}P=true}}));if(P){if(this._usedInRuntime.size===0)this._usedInRuntime=undefined;return true}}return false}unsetTarget(v){if(!this._target)return false;if(this._target.delete(v)){this._maxTarget=undefined;return true}return false}setTarget(v,E,P,$=0){if(P)P=[...P];if(!this._target){this._target=new Map;this._target.set(v,{connection:E,export:P,priority:$});return true}const N=this._target.get(v);if(!N){if(N===null&&!E)return false;this._target.set(v,{connection:E,export:P,priority:$});this._maxTarget=undefined;return true}if(N.connection!==E||N.priority!==$||(P?!N.export||!R(N.export,P):N.export)){N.connection=E;N.export=P;N.priority=$;this._maxTarget=undefined;return true}return false}getUsed(v){if(!this._hasUseInRuntimeInfo)return q.NoInfo;if(this._globalUsed!==undefined)return this._globalUsed;if(this._usedInRuntime===undefined){return q.Unused}else if(typeof v==="string"){const E=this._usedInRuntime.get(v);return E===undefined?q.Unused:E}else if(v===undefined){let v=q.Unused;for(const E of this._usedInRuntime.values()){if(E===q.Used){return q.Used}if(v!this._usedInRuntime.has(v)))){return false}}}}if(this._usedName!==null)return this._usedName;return this.name||v}hasUsedName(){return this._usedName!==null}setUsedName(v){this._usedName=v}getTerminalBinding(v,E=RETURNS_TRUE){if(this.terminalBinding)return this;const P=this.getTarget(v,E);if(!P)return undefined;const R=v.getExportsInfo(P.module);if(!P.export)return R;return R.getReadOnlyExportInfoRecursive(P.export)}isReexport(){return!this.terminalBinding&&this._target&&this._target.size>0}_getMaxTarget(){if(this._maxTarget!==undefined)return this._maxTarget;if(this._target.size<=1)return this._maxTarget=this._target;let v=-Infinity;let E=Infinity;for(const{priority:P}of this._target.values()){if(vP)E=P}if(v===E)return this._maxTarget=this._target;const P=new Map;for(const[E,R]of this._target){if(v===R.priority){P.set(E,R)}}this._maxTarget=P;return P}findTarget(v,E){return this._findTarget(v,E,new Set)}_findTarget(v,E,P){if(!this._target||this._target.size===0)return undefined;let R=this._getMaxTarget().values().next().value;if(!R)return undefined;let $={module:R.connection.module,export:R.export};for(;;){if(E($.module))return $;const R=v.getExportsInfo($.module);const N=R.getExportInfo($.export[0]);if(P.has(N))return null;const L=N._findTarget(v,E,P);if(!L)return false;if($.export.length===1){$=L}else{$={module:L.module,export:L.export?L.export.concat($.export.slice(1)):$.export.slice(1)}}}}getTarget(v,E=RETURNS_TRUE){const P=this._getTarget(v,E,undefined);if(P===K)return undefined;return P}_getTarget(v,E,P){const resolveTarget=(P,R)=>{if(!P)return null;if(!P.export){return{module:P.connection.module,connection:P.connection,export:undefined}}let $={module:P.connection.module,connection:P.connection,export:P.export};if(!E($))return $;let N=false;for(;;){const P=v.getExportsInfo($.module);const L=P.getExportInfo($.export[0]);if(!L)return $;if(R.has(L))return K;const q=L._getTarget(v,E,R);if(q===K)return K;if(!q)return $;if($.export.length===1){$=q;if(!$.export)return $}else{$={module:q.module,connection:q.connection,export:q.export?q.export.concat($.export.slice(1)):$.export.slice(1)}}if(!E($))return $;if(!N){R=new Set(R);N=true}R.add(L)}};if(!this._target||this._target.size===0)return undefined;if(P&&P.has(this))return K;const $=new Set(P);$.add(this);const N=this._getMaxTarget().values();const L=resolveTarget(N.next().value,$);if(L===K)return K;if(L===null)return undefined;let q=N.next();while(!q.done){const v=resolveTarget(q.value,$);if(v===K)return K;if(v===null)return undefined;if(v.module!==L.module)return undefined;if(!v.export!==!L.export)return undefined;if(L.export&&!R(v.export,L.export))return undefined;q=N.next()}return L}moveTarget(v,E,P){const R=this._getTarget(v,E,undefined);if(R===K)return undefined;if(!R)return undefined;const $=this._getMaxTarget().values().next().value;if($.connection===R.connection&&$.export===R.export){return undefined}this._target.clear();this._target.set(undefined,{connection:P?P(R):R.connection,export:R.export,priority:0});return R}createNestedExportsInfo(){if(this.exportsInfoOwned)return this.exportsInfo;this.exportsInfoOwned=true;const v=this.exportsInfo;this.exportsInfo=new ExportsInfo;this.exportsInfo.setHasProvideInfo();if(v){this.exportsInfo.setRedirectNamedTo(v)}return this.exportsInfo}getNestedExportsInfo(){return this.exportsInfo}hasInfo(v,E){return this._usedName&&this._usedName!==this.name||this.provided||this.terminalBinding||this.getUsed(E)!==v.getUsed(E)}updateHash(v,E){this._updateHash(v,E,new Set)}_updateHash(v,E,P){v.update(`${this._usedName||this.name}${this.getUsed(E)}${this.provided}${this.terminalBinding}`);if(this.exportsInfo&&!P.has(this.exportsInfo)){this.exportsInfo._updateHash(v,E,P)}}getUsedInfo(){if(this._globalUsed!==undefined){switch(this._globalUsed){case q.Unused:return"unused";case q.NoInfo:return"no usage info";case q.Unknown:return"maybe used (runtime-defined)";case q.Used:return"used";case q.OnlyPropertiesUsed:return"only properties used"}}else if(this._usedInRuntime!==undefined){const v=new Map;for(const[E,P]of this._usedInRuntime){const R=v.get(P);if(R!==undefined)R.push(E);else v.set(P,[E])}const E=Array.from(v,(([v,E])=>{switch(v){case q.NoInfo:return`no usage info in ${E.join(", ")}`;case q.Unknown:return`maybe used in ${E.join(", ")} (runtime-defined)`;case q.Used:return`used in ${E.join(", ")}`;case q.OnlyPropertiesUsed:return`only properties used in ${E.join(", ")}`}}));if(E.length>0){return E.join("; ")}}return this._hasUseInRuntimeInfo?"unused":"no usage info"}getProvidedInfo(){switch(this.provided){case undefined:return"no provided info";case null:return"maybe provided (runtime-defined)";case true:return"provided";case false:return"not provided"}}getRenameInfo(){if(this._usedName!==null&&this._usedName!==this.name){return`renamed to ${JSON.stringify(this._usedName).slice(1,-1)}`}switch(this.canMangleProvide){case undefined:switch(this.canMangleUse){case undefined:return"missing provision and use info prevents renaming";case false:return"usage prevents renaming (no provision info)";case true:return"missing provision info prevents renaming"}break;case true:switch(this.canMangleUse){case undefined:return"missing usage info prevents renaming";case false:return"usage prevents renaming";case true:return"could be renamed"}break;case false:switch(this.canMangleUse){case undefined:return"provision prevents renaming (no use info)";case false:return"usage and provision prevents renaming";case true:return"provision prevents renaming"}break}throw new Error(`Unexpected flags for getRenameInfo ${this.canMangleProvide} ${this.canMangleUse}`)}}v.exports=ExportsInfo;v.exports.ExportInfo=ExportInfo;v.exports.UsageState=q},68085:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$,JAVASCRIPT_MODULE_TYPE_ESM:N}=P(98791);const L=P(52540);const q=P(14578);const K="ExportsInfoApiPlugin";class ExportsInfoApiPlugin{apply(v){v.hooks.compilation.tap(K,((v,{normalModuleFactory:E})=>{v.dependencyTemplates.set(q,new q.Template);const handler=v=>{v.hooks.expressionMemberChain.for("__webpack_exports_info__").tap(K,((E,P)=>{const R=P.length>=2?new q(E.range,P.slice(0,-1),P[P.length-1]):new q(E.range,null,P[0]);R.loc=E.loc;v.state.module.addDependency(R);return true}));v.hooks.expression.for("__webpack_exports_info__").tap(K,(E=>{const P=new L("true",E.range);P.loc=E.loc;v.state.module.addPresentationalDependency(P);return true}))};E.hooks.parser.for(R).tap(K,handler);E.hooks.parser.for($).tap(K,handler);E.hooks.parser.for(N).tap(K,handler)}))}}v.exports=ExportsInfoApiPlugin},645:function(v,E,P){"use strict";const{OriginalSource:R,RawSource:$}=P(51255);const N=P(79421);const L=P(67169);const{UsageState:q}=P(32514);const K=P(94252);const ae=P(82919);const{JAVASCRIPT_MODULE_TYPE_DYNAMIC:ge}=P(98791);const be=P(75189);const xe=P(35600);const ve=P(88929);const Ae=P(1558);const Ie=P(96637);const He=P(74364);const Qe=P(53914);const{register:Je}=P(56944);const Ve=new Set(["javascript"]);const Ke=new Set(["css-import"]);const Ye=new Set([be.module]);const Xe=new Set([be.loadScript]);const Ze=new Set([be.definePropertyGetters]);const et=new Set([]);const getSourceForGlobalVariableExternal=(v,E)=>{if(!Array.isArray(v)){v=[v]}const P=v.map((v=>`[${JSON.stringify(v)}]`)).join("");return{iife:E==="this",expression:`${E}${P}`}};const getSourceForCommonJsExternal=v=>{if(!Array.isArray(v)){return{expression:`require(${JSON.stringify(v)})`}}const E=v[0];return{expression:`require(${JSON.stringify(E)})${Qe(v,1)}`}};const getSourceForCommonJsExternalInNodeModule=(v,E)=>{const P=[new K('import { createRequire as __WEBPACK_EXTERNAL_createRequire } from "module";\n',K.STAGE_HARMONY_IMPORTS,0,"external module node-commonjs")];if(!Array.isArray(v)){return{chunkInitFragments:P,expression:`__WEBPACK_EXTERNAL_createRequire(${E}.url)(${JSON.stringify(v)})`}}const R=v[0];return{chunkInitFragments:P,expression:`__WEBPACK_EXTERNAL_createRequire(${E}.url)(${JSON.stringify(R)})${Qe(v,1)}`}};const getSourceForImportExternal=(v,E)=>{const P=E.outputOptions.importFunctionName;if(!E.supportsDynamicImport()&&P==="import"){throw new Error("The target environment doesn't support 'import()' so it's not possible to use external type 'import'")}if(!Array.isArray(v)){return{expression:`${P}(${JSON.stringify(v)});`}}if(v.length===1){return{expression:`${P}(${JSON.stringify(v[0])});`}}const R=v[0];return{expression:`${P}(${JSON.stringify(R)}).then(${E.returningFunction(`module${Qe(v,1)}`,"module")});`}};class ModuleExternalInitFragment extends K{constructor(v,E,P="md4"){if(E===undefined){E=xe.toIdentifier(v);if(E!==v){E+=`_${Ae(P).update(v).digest("hex").slice(0,8)}`}}const R=`__WEBPACK_EXTERNAL_MODULE_${E}__`;super(`import * as ${R} from ${JSON.stringify(v)};\n`,K.STAGE_HARMONY_IMPORTS,0,`external module import ${E}`);this._ident=E;this._identifier=R;this._request=v}getNamespaceIdentifier(){return this._identifier}}Je(ModuleExternalInitFragment,"webpack/lib/ExternalModule","ModuleExternalInitFragment",{serialize(v,{write:E}){E(v._request);E(v._ident)},deserialize({read:v}){return new ModuleExternalInitFragment(v(),v())}});const generateModuleRemapping=(v,E,P,R)=>{if(E.otherExportsInfo.getUsed(P)===q.Unused){const $=[];for(const N of E.orderedExports){const E=N.getUsedName(N.name,P);if(!E)continue;const L=N.getNestedExportsInfo();if(L){const P=generateModuleRemapping(`${v}${Qe([N.name])}`,L);if(P){$.push(`[${JSON.stringify(E)}]: y(${P})`);continue}}$.push(`[${JSON.stringify(E)}]: ${R.returningFunction(`${v}${Qe([N.name])}`)}`)}return`x({ ${$.join(", ")} })`}};const getSourceForModuleExternal=(v,E,P,R)=>{if(!Array.isArray(v))v=[v];const $=new ModuleExternalInitFragment(v[0],undefined,R.outputOptions.hashFunction);const N=`${$.getNamespaceIdentifier()}${Qe(v,1)}`;const L=generateModuleRemapping(N,E,P,R);let q=L||N;return{expression:q,init:`var x = ${R.basicFunction("y",`var x = {}; ${be.definePropertyGetters}(x, y); return x`)} \nvar y = ${R.returningFunction(R.returningFunction("x"),"x")}`,runtimeRequirements:L?Ze:undefined,chunkInitFragments:[$]}};const getSourceForScriptExternal=(v,E)=>{if(typeof v==="string"){v=Ie(v)}const P=v[0];const R=v[1];return{init:"var __webpack_error__ = new Error();",expression:`new Promise(${E.basicFunction("resolve, reject",[`if(typeof ${R} !== "undefined") return resolve();`,`${be.loadScript}(${JSON.stringify(P)}, ${E.basicFunction("event",[`if(typeof ${R} !== "undefined") return resolve();`,"var errorType = event && (event.type === 'load' ? 'missing' : event.type);","var realSrc = event && event.target && event.target.src;","__webpack_error__.message = 'Loading script failed.\\n(' + errorType + ': ' + realSrc + ')';","__webpack_error__.name = 'ScriptExternalLoadError';","__webpack_error__.type = errorType;","__webpack_error__.request = realSrc;","reject(__webpack_error__);"])}, ${JSON.stringify(R)});`])}).then(${E.returningFunction(`${R}${Qe(v,2)}`)})`,runtimeRequirements:Xe}};const checkExternalVariable=(v,E,P)=>`if(typeof ${v} === 'undefined') { ${P.throwMissingModuleErrorBlock({request:E})} }\n`;const getSourceForAmdOrUmdExternal=(v,E,P,R)=>{const $=`__WEBPACK_EXTERNAL_MODULE_${xe.toIdentifier(`${v}`)}__`;return{init:E?checkExternalVariable($,Array.isArray(P)?P.join("."):P,R):undefined,expression:$}};const getSourceForDefaultCase=(v,E,P)=>{if(!Array.isArray(E)){E=[E]}const R=E[0];const $=Qe(E,1);return{init:v?checkExternalVariable(R,E.join("."),P):undefined,expression:`${R}${$}`}};class ExternalModule extends ae{constructor(v,E,P){super(ge,null);this.request=v;this.externalType=E;this.userRequest=P}getSourceTypes(){return this.externalType==="css-import"?Ke:Ve}libIdent(v){return this.userRequest}chunkCondition(v,{chunkGraph:E}){return this.externalType==="css-import"?true:E.getNumberOfEntryModules(v)>0}identifier(){return`external ${this.externalType} ${JSON.stringify(this.request)}`}readableIdentifier(v){return"external "+JSON.stringify(this.request)}needBuild(v,E){return E(null,!this.buildMeta)}build(v,E,P,R,$){this.buildMeta={async:false,exportsType:undefined};this.buildInfo={strict:true,topLevelDeclarations:new Set,module:E.outputOptions.module};const{request:N,externalType:q}=this._getRequestAndExternalType();this.buildMeta.exportsType="dynamic";let K=false;this.clearDependenciesAndBlocks();switch(q){case"this":this.buildInfo.strict=false;break;case"system":if(!Array.isArray(N)||N.length===1){this.buildMeta.exportsType="namespace";K=true}break;case"module":if(this.buildInfo.module){if(!Array.isArray(N)||N.length===1){this.buildMeta.exportsType="namespace";K=true}}else{this.buildMeta.async=true;L.check(this,E.runtimeTemplate,"external module");if(!Array.isArray(N)||N.length===1){this.buildMeta.exportsType="namespace";K=false}}break;case"script":this.buildMeta.async=true;L.check(this,E.runtimeTemplate,"external script");break;case"promise":this.buildMeta.async=true;L.check(this,E.runtimeTemplate,"external promise");break;case"import":this.buildMeta.async=true;L.check(this,E.runtimeTemplate,"external import");if(!Array.isArray(N)||N.length===1){this.buildMeta.exportsType="namespace";K=false}break}this.addDependency(new ve(true,K));$()}restoreFromUnsafeCache(v,E){this._restoreFromUnsafeCache(v,E)}getConcatenationBailoutReason({moduleGraph:v}){switch(this.externalType){case"amd":case"amd-require":case"umd":case"umd2":case"system":case"jsonp":return`${this.externalType} externals can't be concatenated`}return undefined}_getRequestAndExternalType(){let{request:v,externalType:E}=this;if(typeof v==="object"&&!Array.isArray(v))v=v[E];return{request:v,externalType:E}}_getSourceData(v,E,P,R,$,N){switch(E){case"this":case"window":case"self":return getSourceForGlobalVariableExternal(v,this.externalType);case"global":return getSourceForGlobalVariableExternal(v,P.globalObject);case"commonjs":case"commonjs2":case"commonjs-module":case"commonjs-static":return getSourceForCommonJsExternal(v);case"node-commonjs":return this.buildInfo.module?getSourceForCommonJsExternalInNodeModule(v,P.outputOptions.importMetaName):getSourceForCommonJsExternal(v);case"amd":case"amd-require":case"umd":case"umd2":case"system":case"jsonp":{const E=$.getModuleId(this);return getSourceForAmdOrUmdExternal(E!==null?E:this.identifier(),this.isOptional(R),v,P)}case"import":return getSourceForImportExternal(v,P);case"script":return getSourceForScriptExternal(v,P);case"module":{if(!this.buildInfo.module){if(!P.supportsDynamicImport()){throw new Error("The target environment doesn't support dynamic import() syntax so it's not possible to use external type 'module' within a script"+(P.supportsEcmaScriptModuleSyntax()?"\nDid you mean to build a EcmaScript Module ('output.module: true')?":""))}return getSourceForImportExternal(v,P)}if(!P.supportsEcmaScriptModuleSyntax()){throw new Error("The target environment doesn't support EcmaScriptModule syntax so it's not possible to use external type 'module'")}return getSourceForModuleExternal(v,R.getExportsInfo(this),N,P)}case"var":case"promise":case"const":case"let":case"assign":default:return getSourceForDefaultCase(this.isOptional(R),v,P)}}codeGeneration({runtimeTemplate:v,moduleGraph:E,chunkGraph:P,runtime:L,concatenationScope:q}){const{request:K,externalType:ae}=this._getRequestAndExternalType();switch(ae){case"asset":{const v=new Map;v.set("javascript",new $(`module.exports = ${JSON.stringify(K)};`));const E=new Map;E.set("url",K);return{sources:v,runtimeRequirements:Ye,data:E}}case"css-import":{const v=new Map;v.set("css-import",new $(`@import url(${JSON.stringify(K)});`));return{sources:v,runtimeRequirements:et}}default:{const ge=this._getSourceData(K,ae,v,E,P,L);let xe=ge.expression;if(ge.iife)xe=`(function() { return ${xe}; }())`;if(q){xe=`${v.supportsConst()?"const":"var"} ${N.NAMESPACE_OBJECT_EXPORT} = ${xe};`;q.registerNamespaceExport(N.NAMESPACE_OBJECT_EXPORT)}else{xe=`module.exports = ${xe};`}if(ge.init)xe=`${ge.init}\n${xe}`;let ve=undefined;if(ge.chunkInitFragments){ve=new Map;ve.set("chunkInitFragments",ge.chunkInitFragments)}const Ae=new Map;if(this.useSourceMap||this.useSimpleSourceMap){Ae.set("javascript",new R(xe,this.identifier()))}else{Ae.set("javascript",new $(xe))}let Ie=ge.runtimeRequirements;if(!q){if(!Ie){Ie=Ye}else{const v=new Set(Ie);v.add(be.module);Ie=v}}return{sources:Ae,runtimeRequirements:Ie||et,data:ve}}}}size(v){return 42}updateHash(v,E){const{chunkGraph:P}=E;v.update(`${this.externalType}${JSON.stringify(this.request)}${this.isOptional(P.moduleGraph)}`);super.updateHash(v,E)}serialize(v){const{write:E}=v;E(this.request);E(this.externalType);E(this.userRequest);super.serialize(v)}deserialize(v){const{read:E}=v;this.request=E();this.externalType=E();this.userRequest=E();super.deserialize(v)}}He(ExternalModule,"webpack/lib/ExternalModule");v.exports=ExternalModule},35211:function(v,E,P){"use strict";const R=P(73837);const $=P(645);const{resolveByProperty:N,cachedSetProperty:L}=P(34218);const q=/^[a-z0-9-]+ /;const K={};const ae=R.deprecate(((v,E,P,R)=>{v.call(null,E,P,R)}),"The externals-function should be defined like ({context, request}, cb) => { ... }","DEP_WEBPACK_EXTERNALS_FUNCTION_PARAMETERS");const ge=new WeakMap;const resolveLayer=(v,E)=>{let P=ge.get(v);if(P===undefined){P=new Map;ge.set(v,P)}else{const v=P.get(E);if(v!==undefined)return v}const R=N(v,"byLayer",E);P.set(E,R);return R};class ExternalModuleFactoryPlugin{constructor(v,E){this.type=v;this.externals=E}apply(v){const E=this.type;v.hooks.factorize.tapAsync("ExternalModuleFactoryPlugin",((P,R)=>{const N=P.context;const ge=P.contextInfo;const be=P.dependencies[0];const xe=P.dependencyType;const handleExternal=(v,P,R)=>{if(v===false){return R()}let N;if(v===true){N=be.request}else{N=v}if(P===undefined){if(typeof N==="string"&&q.test(N)){const v=N.indexOf(" ");P=N.slice(0,v);N=N.slice(v+1)}else if(Array.isArray(N)&&N.length>0&&q.test(N[0])){const v=N[0];const E=v.indexOf(" ");P=v.slice(0,E);N=[v.slice(E+1),...N.slice(1)]}}R(null,new $(N,P||E,be.request))};const handleExternals=(E,R)=>{if(typeof E==="string"){if(E===be.request){return handleExternal(be.request,undefined,R)}}else if(Array.isArray(E)){let v=0;const next=()=>{let P;const handleExternalsAndCallback=(v,E)=>{if(v)return R(v);if(!E){if(P){P=false;return}return next()}R(null,E)};do{P=true;if(v>=E.length)return R();handleExternals(E[v++],handleExternalsAndCallback)}while(!P);P=false};next();return}else if(E instanceof RegExp){if(E.test(be.request)){return handleExternal(be.request,undefined,R)}}else if(typeof E==="function"){const cb=(v,E,P)=>{if(v)return R(v);if(E!==undefined){handleExternal(E,P,R)}else{R()}};if(E.length===3){ae(E,N,be.request,cb)}else{const R=E({context:N,request:be.request,dependencyType:xe,contextInfo:ge,getResolve:E=>(R,$,N)=>{const q={fileDependencies:P.fileDependencies,missingDependencies:P.missingDependencies,contextDependencies:P.contextDependencies};let ae=v.getResolver("normal",xe?L(P.resolveOptions||K,"dependencyType",xe):P.resolveOptions);if(E)ae=ae.withOptions(E);if(N){ae.resolve({},R,$,q,N)}else{return new Promise(((v,E)=>{ae.resolve({},R,$,q,((P,R)=>{if(P)E(P);else v(R)}))}))}}},cb);if(R&&R.then)R.then((v=>cb(null,v)),cb)}return}else if(typeof E==="object"){const v=resolveLayer(E,ge.issuerLayer);if(Object.prototype.hasOwnProperty.call(v,be.request)){return handleExternal(v[be.request],undefined,R)}}R()};handleExternals(this.externals,R)}))}}v.exports=ExternalModuleFactoryPlugin},24752:function(v,E,P){"use strict";const R=P(35211);class ExternalsPlugin{constructor(v,E){this.type=v;this.externals=E}apply(v){v.hooks.compile.tap("ExternalsPlugin",(({normalModuleFactory:v})=>{new R(this.type,this.externals).apply(v)}))}}v.exports=ExternalsPlugin},62304:function(v,E,P){"use strict";const{create:R}=P(32613);const $=P(98188);const N=P(78175);const{isAbsolute:L}=P(71017);const q=P(51699);const K=P(7379);const ae=P(1558);const{join:ge,dirname:be,relative:xe,lstatReadlinkAbsolute:ve}=P(23763);const Ae=P(74364);const Ie=P(79747);const He=+process.versions.modules>=83;const Qe=new Set($.builtinModules);let Je=2e3;const Ve=new Set;const Ke=0;const Ye=1;const Xe=2;const Ze=3;const et=4;const tt=5;const nt=6;const st=7;const rt=8;const ot=9;const it=Symbol("invalid");const at=(new Set).keys().next();class SnapshotIterator{constructor(v){this.next=v}}class SnapshotIterable{constructor(v,E){this.snapshot=v;this.getMaps=E}[Symbol.iterator](){let v=0;let E;let P;let R;let $;let N;return new SnapshotIterator((()=>{for(;;){switch(v){case 0:$=this.snapshot;P=this.getMaps;R=P($);v=1;case 1:if(R.length>0){const P=R.pop();if(P!==undefined){E=P.keys();v=2}else{break}}else{v=3;break}case 2:{const P=E.next();if(!P.done)return P;v=1;break}case 3:{const E=$.children;if(E!==undefined){if(E.size===1){for(const v of E)$=v;R=P($);v=1;break}if(N===undefined)N=[];for(const v of E){N.push(v)}}if(N!==undefined&&N.length>0){$=N.pop();R=P($);v=1;break}else{v=4}}case 4:return at}}}))}}class Snapshot{constructor(){this._flags=0;this._cachedFileIterable=undefined;this._cachedContextIterable=undefined;this._cachedMissingIterable=undefined;this.startTime=undefined;this.fileTimestamps=undefined;this.fileHashes=undefined;this.fileTshs=undefined;this.contextTimestamps=undefined;this.contextHashes=undefined;this.contextTshs=undefined;this.missingExistence=undefined;this.managedItemInfo=undefined;this.managedFiles=undefined;this.managedContexts=undefined;this.managedMissing=undefined;this.children=undefined}hasStartTime(){return(this._flags&1)!==0}setStartTime(v){this._flags=this._flags|1;this.startTime=v}setMergedStartTime(v,E){if(v){if(E.hasStartTime()){this.setStartTime(Math.min(v,E.startTime))}else{this.setStartTime(v)}}else{if(E.hasStartTime())this.setStartTime(E.startTime)}}hasFileTimestamps(){return(this._flags&2)!==0}setFileTimestamps(v){this._flags=this._flags|2;this.fileTimestamps=v}hasFileHashes(){return(this._flags&4)!==0}setFileHashes(v){this._flags=this._flags|4;this.fileHashes=v}hasFileTshs(){return(this._flags&8)!==0}setFileTshs(v){this._flags=this._flags|8;this.fileTshs=v}hasContextTimestamps(){return(this._flags&16)!==0}setContextTimestamps(v){this._flags=this._flags|16;this.contextTimestamps=v}hasContextHashes(){return(this._flags&32)!==0}setContextHashes(v){this._flags=this._flags|32;this.contextHashes=v}hasContextTshs(){return(this._flags&64)!==0}setContextTshs(v){this._flags=this._flags|64;this.contextTshs=v}hasMissingExistence(){return(this._flags&128)!==0}setMissingExistence(v){this._flags=this._flags|128;this.missingExistence=v}hasManagedItemInfo(){return(this._flags&256)!==0}setManagedItemInfo(v){this._flags=this._flags|256;this.managedItemInfo=v}hasManagedFiles(){return(this._flags&512)!==0}setManagedFiles(v){this._flags=this._flags|512;this.managedFiles=v}hasManagedContexts(){return(this._flags&1024)!==0}setManagedContexts(v){this._flags=this._flags|1024;this.managedContexts=v}hasManagedMissing(){return(this._flags&2048)!==0}setManagedMissing(v){this._flags=this._flags|2048;this.managedMissing=v}hasChildren(){return(this._flags&4096)!==0}setChildren(v){this._flags=this._flags|4096;this.children=v}addChild(v){if(!this.hasChildren()){this.setChildren(new Set)}this.children.add(v)}serialize({write:v}){v(this._flags);if(this.hasStartTime())v(this.startTime);if(this.hasFileTimestamps())v(this.fileTimestamps);if(this.hasFileHashes())v(this.fileHashes);if(this.hasFileTshs())v(this.fileTshs);if(this.hasContextTimestamps())v(this.contextTimestamps);if(this.hasContextHashes())v(this.contextHashes);if(this.hasContextTshs())v(this.contextTshs);if(this.hasMissingExistence())v(this.missingExistence);if(this.hasManagedItemInfo())v(this.managedItemInfo);if(this.hasManagedFiles())v(this.managedFiles);if(this.hasManagedContexts())v(this.managedContexts);if(this.hasManagedMissing())v(this.managedMissing);if(this.hasChildren())v(this.children)}deserialize({read:v}){this._flags=v();if(this.hasStartTime())this.startTime=v();if(this.hasFileTimestamps())this.fileTimestamps=v();if(this.hasFileHashes())this.fileHashes=v();if(this.hasFileTshs())this.fileTshs=v();if(this.hasContextTimestamps())this.contextTimestamps=v();if(this.hasContextHashes())this.contextHashes=v();if(this.hasContextTshs())this.contextTshs=v();if(this.hasMissingExistence())this.missingExistence=v();if(this.hasManagedItemInfo())this.managedItemInfo=v();if(this.hasManagedFiles())this.managedFiles=v();if(this.hasManagedContexts())this.managedContexts=v();if(this.hasManagedMissing())this.managedMissing=v();if(this.hasChildren())this.children=v()}_createIterable(v){return new SnapshotIterable(this,v)}getFileIterable(){if(this._cachedFileIterable===undefined){this._cachedFileIterable=this._createIterable((v=>[v.fileTimestamps,v.fileHashes,v.fileTshs,v.managedFiles]))}return this._cachedFileIterable}getContextIterable(){if(this._cachedContextIterable===undefined){this._cachedContextIterable=this._createIterable((v=>[v.contextTimestamps,v.contextHashes,v.contextTshs,v.managedContexts]))}return this._cachedContextIterable}getMissingIterable(){if(this._cachedMissingIterable===undefined){this._cachedMissingIterable=this._createIterable((v=>[v.missingExistence,v.managedMissing]))}return this._cachedMissingIterable}}Ae(Snapshot,"webpack/lib/FileSystemInfo","Snapshot");const ct=3;class SnapshotOptimization{constructor(v,E,P,R=true,$=false){this._has=v;this._get=E;this._set=P;this._useStartTime=R;this._isSet=$;this._map=new Map;this._statItemsShared=0;this._statItemsUnshared=0;this._statSharedSnapshots=0;this._statReusedSharedSnapshots=0}getStatisticMessage(){const v=this._statItemsShared+this._statItemsUnshared;if(v===0)return undefined;return`${this._statItemsShared&&Math.round(this._statItemsShared*100/v)}% (${this._statItemsShared}/${v}) entries shared via ${this._statSharedSnapshots} shared snapshots (${this._statReusedSharedSnapshots+this._statSharedSnapshots} times referenced)`}clear(){this._map.clear();this._statItemsShared=0;this._statItemsUnshared=0;this._statSharedSnapshots=0;this._statReusedSharedSnapshots=0}optimize(v,E){const increaseSharedAndStoreOptimizationEntry=v=>{if(v.children!==undefined){v.children.forEach(increaseSharedAndStoreOptimizationEntry)}v.shared++;storeOptimizationEntry(v)};const storeOptimizationEntry=v=>{for(const P of v.snapshotContent){const R=this._map.get(P);if(R.shared0){if(this._useStartTime&&v.startTime&&(!R.startTime||R.startTime>v.startTime)){continue}const $=new Set;const N=P.snapshotContent;const L=this._get(R);for(const v of N){if(!E.has(v)){if(!L.has(v)){continue e}$.add(v);continue}}if($.size===0){v.addChild(R);increaseSharedAndStoreOptimizationEntry(P);this._statReusedSharedSnapshots++}else{const E=N.size-$.size;if(E{if(v[0]==="'"||v[0]==="`")v=`"${v.slice(1,-1).replace(/"/g,'\\"')}"`;return JSON.parse(v)};const applyMtime=v=>{if(Je>1&&v%2!==0)Je=1;else if(Je>10&&v%20!==0)Je=10;else if(Je>100&&v%200!==0)Je=100;else if(Je>1e3&&v%2e3!==0)Je=1e3};const mergeMaps=(v,E)=>{if(!E||E.size===0)return v;if(!v||v.size===0)return E;const P=new Map(v);for(const[v,R]of E){P.set(v,R)}return P};const mergeSets=(v,E)=>{if(!E||E.size===0)return v;if(!v||v.size===0)return E;const P=new Set(v);for(const v of E){P.add(v)}return P};const getManagedItem=(v,E)=>{let P=v.length;let R=1;let $=true;e:while(P=P+13&&E.charCodeAt(P+1)===110&&E.charCodeAt(P+2)===111&&E.charCodeAt(P+3)===100&&E.charCodeAt(P+4)===101&&E.charCodeAt(P+5)===95&&E.charCodeAt(P+6)===109&&E.charCodeAt(P+7)===111&&E.charCodeAt(P+8)===100&&E.charCodeAt(P+9)===117&&E.charCodeAt(P+10)===108&&E.charCodeAt(P+11)===101&&E.charCodeAt(P+12)===115){if(E.length===P+13){return E}const v=E.charCodeAt(P+13);if(v===47||v===92){return getManagedItem(E.slice(0,P+14),E)}}return E.slice(0,P)};const getResolvedTimestamp=v=>{if(v===null)return null;if(v.resolved!==undefined)return v.resolved;return v.symlinks===undefined?v:undefined};const getResolvedHash=v=>{if(v===null)return null;if(v.resolved!==undefined)return v.resolved;return v.symlinks===undefined?v.hash:undefined};const addAll=(v,E)=>{for(const P of v)E.add(P)};class FileSystemInfo{constructor(v,{unmanagedPaths:E=[],managedPaths:P=[],immutablePaths:R=[],logger:$,hashFunction:N="md4"}={}){this.fs=v;this.logger=$;this._remainingLogs=$?40:0;this._loggedPaths=$?new Set:undefined;this._hashFunction=N;this._snapshotCache=new WeakMap;this._fileTimestampsOptimization=new SnapshotOptimization((v=>v.hasFileTimestamps()),(v=>v.fileTimestamps),((v,E)=>v.setFileTimestamps(E)));this._fileHashesOptimization=new SnapshotOptimization((v=>v.hasFileHashes()),(v=>v.fileHashes),((v,E)=>v.setFileHashes(E)),false);this._fileTshsOptimization=new SnapshotOptimization((v=>v.hasFileTshs()),(v=>v.fileTshs),((v,E)=>v.setFileTshs(E)));this._contextTimestampsOptimization=new SnapshotOptimization((v=>v.hasContextTimestamps()),(v=>v.contextTimestamps),((v,E)=>v.setContextTimestamps(E)));this._contextHashesOptimization=new SnapshotOptimization((v=>v.hasContextHashes()),(v=>v.contextHashes),((v,E)=>v.setContextHashes(E)),false);this._contextTshsOptimization=new SnapshotOptimization((v=>v.hasContextTshs()),(v=>v.contextTshs),((v,E)=>v.setContextTshs(E)));this._missingExistenceOptimization=new SnapshotOptimization((v=>v.hasMissingExistence()),(v=>v.missingExistence),((v,E)=>v.setMissingExistence(E)),false);this._managedItemInfoOptimization=new SnapshotOptimization((v=>v.hasManagedItemInfo()),(v=>v.managedItemInfo),((v,E)=>v.setManagedItemInfo(E)),false);this._managedFilesOptimization=new SnapshotOptimization((v=>v.hasManagedFiles()),(v=>v.managedFiles),((v,E)=>v.setManagedFiles(E)),false,true);this._managedContextsOptimization=new SnapshotOptimization((v=>v.hasManagedContexts()),(v=>v.managedContexts),((v,E)=>v.setManagedContexts(E)),false,true);this._managedMissingOptimization=new SnapshotOptimization((v=>v.hasManagedMissing()),(v=>v.managedMissing),((v,E)=>v.setManagedMissing(E)),false,true);this._fileTimestamps=new K;this._fileHashes=new Map;this._fileTshs=new Map;this._contextTimestamps=new K;this._contextHashes=new Map;this._contextTshs=new Map;this._managedItems=new Map;this.fileTimestampQueue=new q({name:"file timestamp",parallelism:30,processor:this._readFileTimestamp.bind(this)});this.fileHashQueue=new q({name:"file hash",parallelism:10,processor:this._readFileHash.bind(this)});this.contextTimestampQueue=new q({name:"context timestamp",parallelism:2,processor:this._readContextTimestamp.bind(this)});this.contextHashQueue=new q({name:"context hash",parallelism:2,processor:this._readContextHash.bind(this)});this.contextTshQueue=new q({name:"context hash and timestamp",parallelism:2,processor:this._readContextTimestampAndHash.bind(this)});this.managedItemQueue=new q({name:"managed item info",parallelism:10,processor:this._getManagedItemInfo.bind(this)});this.managedItemDirectoryQueue=new q({name:"managed item directory info",parallelism:10,processor:this._getManagedItemDirectoryInfo.bind(this)});const L=Array.from(E);this.unmanagedPathsWithSlash=L.filter((v=>typeof v==="string")).map((E=>ge(v,E,"_").slice(0,-1)));this.unmanagedPathsRegExps=L.filter((v=>typeof v!=="string"));this.managedPaths=Array.from(P);this.managedPathsWithSlash=this.managedPaths.filter((v=>typeof v==="string")).map((E=>ge(v,E,"_").slice(0,-1)));this.managedPathsRegExps=this.managedPaths.filter((v=>typeof v!=="string"));this.immutablePaths=Array.from(R);this.immutablePathsWithSlash=this.immutablePaths.filter((v=>typeof v==="string")).map((E=>ge(v,E,"_").slice(0,-1)));this.immutablePathsRegExps=this.immutablePaths.filter((v=>typeof v!=="string"));this._cachedDeprecatedFileTimestamps=undefined;this._cachedDeprecatedContextTimestamps=undefined;this._warnAboutExperimentalEsmTracking=false;this._statCreatedSnapshots=0;this._statTestedSnapshotsCached=0;this._statTestedSnapshotsNotCached=0;this._statTestedChildrenCached=0;this._statTestedChildrenNotCached=0;this._statTestedEntries=0}logStatistics(){const logWhenMessage=(v,E)=>{if(E){this.logger.log(`${v}: ${E}`)}};this.logger.log(`${this._statCreatedSnapshots} new snapshots created`);this.logger.log(`${this._statTestedSnapshotsNotCached&&Math.round(this._statTestedSnapshotsNotCached*100/(this._statTestedSnapshotsCached+this._statTestedSnapshotsNotCached))}% root snapshot uncached (${this._statTestedSnapshotsNotCached} / ${this._statTestedSnapshotsCached+this._statTestedSnapshotsNotCached})`);this.logger.log(`${this._statTestedChildrenNotCached&&Math.round(this._statTestedChildrenNotCached*100/(this._statTestedChildrenCached+this._statTestedChildrenNotCached))}% children snapshot uncached (${this._statTestedChildrenNotCached} / ${this._statTestedChildrenCached+this._statTestedChildrenNotCached})`);this.logger.log(`${this._statTestedEntries} entries tested`);this.logger.log(`File info in cache: ${this._fileTimestamps.size} timestamps ${this._fileHashes.size} hashes ${this._fileTshs.size} timestamp hash combinations`);logWhenMessage(`File timestamp snapshot optimization`,this._fileTimestampsOptimization.getStatisticMessage());logWhenMessage(`File hash snapshot optimization`,this._fileHashesOptimization.getStatisticMessage());logWhenMessage(`File timestamp hash combination snapshot optimization`,this._fileTshsOptimization.getStatisticMessage());this.logger.log(`Directory info in cache: ${this._contextTimestamps.size} timestamps ${this._contextHashes.size} hashes ${this._contextTshs.size} timestamp hash combinations`);logWhenMessage(`Directory timestamp snapshot optimization`,this._contextTimestampsOptimization.getStatisticMessage());logWhenMessage(`Directory hash snapshot optimization`,this._contextHashesOptimization.getStatisticMessage());logWhenMessage(`Directory timestamp hash combination snapshot optimization`,this._contextTshsOptimization.getStatisticMessage());logWhenMessage(`Missing items snapshot optimization`,this._missingExistenceOptimization.getStatisticMessage());this.logger.log(`Managed items info in cache: ${this._managedItems.size} items`);logWhenMessage(`Managed items snapshot optimization`,this._managedItemInfoOptimization.getStatisticMessage());logWhenMessage(`Managed files snapshot optimization`,this._managedFilesOptimization.getStatisticMessage());logWhenMessage(`Managed contexts snapshot optimization`,this._managedContextsOptimization.getStatisticMessage());logWhenMessage(`Managed missing snapshot optimization`,this._managedMissingOptimization.getStatisticMessage())}_log(v,E,...P){const R=v+E;if(this._loggedPaths.has(R))return;this._loggedPaths.add(R);this.logger.debug(`${v} invalidated because ${E}`,...P);if(--this._remainingLogs===0){this.logger.debug("Logging limit has been reached and no further logging will be emitted by FileSystemInfo")}}clear(){this._remainingLogs=this.logger?40:0;if(this._loggedPaths!==undefined)this._loggedPaths.clear();this._snapshotCache=new WeakMap;this._fileTimestampsOptimization.clear();this._fileHashesOptimization.clear();this._fileTshsOptimization.clear();this._contextTimestampsOptimization.clear();this._contextHashesOptimization.clear();this._contextTshsOptimization.clear();this._missingExistenceOptimization.clear();this._managedItemInfoOptimization.clear();this._managedFilesOptimization.clear();this._managedContextsOptimization.clear();this._managedMissingOptimization.clear();this._fileTimestamps.clear();this._fileHashes.clear();this._fileTshs.clear();this._contextTimestamps.clear();this._contextHashes.clear();this._contextTshs.clear();this._managedItems.clear();this._managedItems.clear();this._cachedDeprecatedFileTimestamps=undefined;this._cachedDeprecatedContextTimestamps=undefined;this._statCreatedSnapshots=0;this._statTestedSnapshotsCached=0;this._statTestedSnapshotsNotCached=0;this._statTestedChildrenCached=0;this._statTestedChildrenNotCached=0;this._statTestedEntries=0}addFileTimestamps(v,E){this._fileTimestamps.addAll(v,E);this._cachedDeprecatedFileTimestamps=undefined}addContextTimestamps(v,E){this._contextTimestamps.addAll(v,E);this._cachedDeprecatedContextTimestamps=undefined}getFileTimestamp(v,E){const P=this._fileTimestamps.get(v);if(P!==undefined)return E(null,P);this.fileTimestampQueue.add(v,E)}getContextTimestamp(v,E){const P=this._contextTimestamps.get(v);if(P!==undefined){if(P==="ignore")return E(null,"ignore");const v=getResolvedTimestamp(P);if(v!==undefined)return E(null,v);return this._resolveContextTimestamp(P,E)}this.contextTimestampQueue.add(v,((v,P)=>{if(v)return E(v);const R=getResolvedTimestamp(P);if(R!==undefined)return E(null,R);this._resolveContextTimestamp(P,E)}))}_getUnresolvedContextTimestamp(v,E){const P=this._contextTimestamps.get(v);if(P!==undefined)return E(null,P);this.contextTimestampQueue.add(v,E)}getFileHash(v,E){const P=this._fileHashes.get(v);if(P!==undefined)return E(null,P);this.fileHashQueue.add(v,E)}getContextHash(v,E){const P=this._contextHashes.get(v);if(P!==undefined){const v=getResolvedHash(P);if(v!==undefined)return E(null,v);return this._resolveContextHash(P,E)}this.contextHashQueue.add(v,((v,P)=>{if(v)return E(v);const R=getResolvedHash(P);if(R!==undefined)return E(null,R);this._resolveContextHash(P,E)}))}_getUnresolvedContextHash(v,E){const P=this._contextHashes.get(v);if(P!==undefined)return E(null,P);this.contextHashQueue.add(v,E)}getContextTsh(v,E){const P=this._contextTshs.get(v);if(P!==undefined){const v=getResolvedTimestamp(P);if(v!==undefined)return E(null,v);return this._resolveContextTsh(P,E)}this.contextTshQueue.add(v,((v,P)=>{if(v)return E(v);const R=getResolvedTimestamp(P);if(R!==undefined)return E(null,R);this._resolveContextTsh(P,E)}))}_getUnresolvedContextTsh(v,E){const P=this._contextTshs.get(v);if(P!==undefined)return E(null,P);this.contextTshQueue.add(v,E)}_createBuildDependenciesResolvers(){const v=R({resolveToContext:true,exportsFields:[],fileSystem:this.fs});const E=R({extensions:[".js",".json",".node"],conditionNames:["require","node"],exportsFields:["exports"],fileSystem:this.fs});const P=R({extensions:[".js",".json",".node"],conditionNames:["require","node"],exportsFields:[],fileSystem:this.fs});const $=R({extensions:[".js",".json",".node"],fullySpecified:true,conditionNames:["import","node"],exportsFields:["exports"],fileSystem:this.fs});return{resolveContext:v,resolveEsm:$,resolveCjs:E,resolveCjsAsChild:P}}resolveBuildDependencies(v,E,R){const{resolveContext:$,resolveEsm:N,resolveCjs:q,resolveCjsAsChild:K}=this._createBuildDependenciesResolvers();const ae=new Set;const ve=new Set;const Ae=new Set;const Je=new Set;const Ve=new Set;const it=new Set;const at=new Set;const ct=new Set;const lt=new Map;const ut=new Set;const pt={fileDependencies:it,contextDependencies:at,missingDependencies:ct};const expectedToString=v=>v?` (expected ${v})`:"";const jobToString=v=>{switch(v.type){case Ke:return`resolve commonjs ${v.path}${expectedToString(v.expected)}`;case Ye:return`resolve esm ${v.path}${expectedToString(v.expected)}`;case Xe:return`resolve directory ${v.path}`;case Ze:return`resolve commonjs file ${v.path}${expectedToString(v.expected)}`;case tt:return`resolve esm file ${v.path}${expectedToString(v.expected)}`;case nt:return`directory ${v.path}`;case st:return`file ${v.path}`;case rt:return`directory dependencies ${v.path}`;case ot:return`file dependencies ${v.path}`}return`unknown ${v.type} ${v.path}`};const pathToString=v=>{let E=` at ${jobToString(v)}`;v=v.issuer;while(v!==undefined){E+=`\n at ${jobToString(v)}`;v=v.issuer}return E};Ie(Array.from(E,(E=>({type:Ke,context:v,path:E,expected:undefined,issuer:undefined}))),20,((v,E,R)=>{const{type:Ie,context:Ve,path:at,expected:dt}=v;const resolveDirectory=P=>{const N=`d\n${Ve}\n${P}`;if(lt.has(N)){return R()}lt.set(N,undefined);$(Ve,P,pt,(($,L,q)=>{if($){if(dt===false){lt.set(N,false);return R()}ut.add(N);$.message+=`\nwhile resolving '${P}' in ${Ve} to a directory`;return R($)}const K=q.path;lt.set(N,K);E({type:nt,context:undefined,path:K,expected:undefined,issuer:v});R()}))};const resolveFile=(P,$,N)=>{const L=`${$}\n${Ve}\n${P}`;if(lt.has(L)){return R()}lt.set(L,undefined);N(Ve,P,pt,(($,N,q)=>{if(typeof dt==="string"){if(!$&&q&&q.path===dt){lt.set(L,q.path)}else{ut.add(L);this.logger.warn(`Resolving '${P}' in ${Ve} for build dependencies doesn't lead to expected result '${dt}', but to '${$||q&&q.path}' instead. Resolving dependencies are ignored for this path.\n${pathToString(v)}`)}}else{if($){if(dt===false){lt.set(L,false);return R()}ut.add(L);$.message+=`\nwhile resolving '${P}' in ${Ve} as file\n${pathToString(v)}`;return R($)}const N=q.path;lt.set(L,N);E({type:st,context:undefined,path:N,expected:undefined,issuer:v})}R()}))};switch(Ie){case Ke:{const v=/[\\/]$/.test(at);if(v){resolveDirectory(at.slice(0,at.length-1))}else{resolveFile(at,"f",q)}break}case Ye:{const v=/[\\/]$/.test(at);if(v){resolveDirectory(at.slice(0,at.length-1))}else{resolveFile(at)}break}case Xe:{resolveDirectory(at);break}case Ze:{resolveFile(at,"f",q);break}case et:{resolveFile(at,"c",K);break}case tt:{resolveFile(at,"e",N);break}case st:{if(ae.has(at)){R();break}ae.add(at);this.fs.realpath(at,((P,$)=>{if(P)return R(P);const N=$;if(N!==at){ve.add(at);it.add(at);if(ae.has(N))return R();ae.add(N)}E({type:ot,context:undefined,path:N,expected:undefined,issuer:v});R()}));break}case nt:{if(Ae.has(at)){R();break}Ae.add(at);this.fs.realpath(at,((P,$)=>{if(P)return R(P);const N=$;if(N!==at){Je.add(at);it.add(at);if(Ae.has(N))return R();Ae.add(N)}E({type:rt,context:undefined,path:N,expected:undefined,issuer:v});R()}));break}case ot:{if(/\.json5?$|\.yarn-integrity$|yarn\.lock$|\.ya?ml/.test(at)){process.nextTick(R);break}const $=require.cache[at];if($&&Array.isArray($.children)){e:for(const P of $.children){let R=P.filename;if(R){E({type:st,context:undefined,path:R,expected:undefined,issuer:v});const N=be(this.fs,at);for(const L of $.paths){if(R.startsWith(L)){let $=R.slice(L.length+1);const q=/^(@[^\\/]+[\\/])[^\\/]+/.exec($);if(q){E({type:st,context:undefined,path:L+R[L.length]+q[0]+R[L.length]+"package.json",expected:false,issuer:v})}let K=$.replace(/\\/g,"/");if(K.endsWith(".js"))K=K.slice(0,-3);E({type:et,context:N,path:K,expected:P.filename,issuer:v});continue e}}let q=xe(this.fs,N,R);if(q.endsWith(".js"))q=q.slice(0,-3);q=q.replace(/\\/g,"/");if(!q.startsWith("../")&&!L(q)){q=`./${q}`}E({type:Ze,context:N,path:q,expected:P.filename,issuer:v})}}}else if(He&&/\.m?js$/.test(at)){if(!this._warnAboutExperimentalEsmTracking){this.logger.log("Node.js doesn't offer a (nice) way to introspect the ESM dependency graph yet.\n"+"Until a full solution is available webpack uses an experimental ESM tracking based on parsing.\n"+"As best effort webpack parses the ESM files to guess dependencies. But this can lead to expensive and incorrect tracking.");this._warnAboutExperimentalEsmTracking=true}const $=P(97998);$.init.then((()=>{this.fs.readFile(at,((P,N)=>{if(P)return R(P);try{const P=be(this.fs,at);const R=N.toString();const[L]=$.parse(R);for(const $ of L){try{let N;if($.d===-1){N=parseString(R.substring($.s-1,$.e+1))}else if($.d>-1){let v=R.substring($.s,$.e).trim();N=parseString(v)}else{continue}if(N.startsWith("node:"))continue;if(Qe.has(N))continue;E({type:tt,context:P,path:N,expected:$.d>-1?false:undefined,issuer:v})}catch(E){this.logger.warn(`Parsing of ${at} for build dependencies failed at 'import(${R.substring($.s,$.e)})'.\n`+"Build dependencies behind this expression are ignored and might cause incorrect cache invalidation.");this.logger.debug(pathToString(v));this.logger.debug(E.stack)}}}catch(E){this.logger.warn(`Parsing of ${at} for build dependencies failed and all dependencies of this file are ignored, which might cause incorrect cache invalidation..`);this.logger.debug(pathToString(v));this.logger.debug(E.stack)}process.nextTick(R)}))}),R);break}else{this.logger.log(`Assuming ${at} has no dependencies as we were unable to assign it to any module system.`);this.logger.debug(pathToString(v))}process.nextTick(R);break}case rt:{const P=/(^.+[\\/]node_modules[\\/](?:@[^\\/]+[\\/])?[^\\/]+)/.exec(at);const $=P?P[1]:at;const N=ge(this.fs,$,"package.json");this.fs.readFile(N,((P,L)=>{if(P){if(P.code==="ENOENT"){ct.add(N);const P=be(this.fs,$);if(P!==$){E({type:rt,context:undefined,path:P,expected:undefined,issuer:v})}R();return}return R(P)}it.add(N);let q;try{q=JSON.parse(L.toString("utf-8"))}catch(v){return R(v)}const K=q.dependencies;const ae=q.optionalDependencies;const ge=new Set;const xe=new Set;if(typeof K==="object"&&K){for(const v of Object.keys(K)){ge.add(v)}}if(typeof ae==="object"&&ae){for(const v of Object.keys(ae)){ge.add(v);xe.add(v)}}for(const P of ge){E({type:Xe,context:$,path:P,expected:!xe.has(P),issuer:v})}R()}));break}}}),(v=>{if(v)return R(v);for(const v of ve)ae.delete(v);for(const v of Je)Ae.delete(v);for(const v of ut)lt.delete(v);R(null,{files:ae,directories:Ae,missing:Ve,resolveResults:lt,resolveDependencies:{files:it,directories:at,missing:ct}})}))}checkResolveResultsValid(v,E){const{resolveCjs:P,resolveCjsAsChild:R,resolveEsm:$,resolveContext:L}=this._createBuildDependenciesResolvers();N.eachLimit(v,20,(([v,E],N)=>{const[q,K,ae]=v.split("\n");switch(q){case"d":L(K,ae,{},((v,P,R)=>{if(E===false)return N(v?undefined:it);if(v)return N(v);const $=R.path;if($!==E)return N(it);N()}));break;case"f":P(K,ae,{},((v,P,R)=>{if(E===false)return N(v?undefined:it);if(v)return N(v);const $=R.path;if($!==E)return N(it);N()}));break;case"c":R(K,ae,{},((v,P,R)=>{if(E===false)return N(v?undefined:it);if(v)return N(v);const $=R.path;if($!==E)return N(it);N()}));break;case"e":$(K,ae,{},((v,P,R)=>{if(E===false)return N(v?undefined:it);if(v)return N(v);const $=R.path;if($!==E)return N(it);N()}));break;default:N(new Error("Unexpected type in resolve result key"));break}}),(v=>{if(v===it){return E(null,false)}if(v){return E(v)}return E(null,true)}))}createSnapshot(v,E,P,R,$,N){const L=new Map;const q=new Map;const K=new Map;const ae=new Map;const be=new Map;const xe=new Map;const ve=new Map;const Ae=new Map;const Ie=new Set;const He=new Set;const Qe=new Set;const Je=new Set;const Ve=new Snapshot;if(v)Ve.setStartTime(v);const Ke=new Set;const Ye=$&&$.hash?$.timestamp?3:2:1;let Xe=1;const jobDone=()=>{if(--Xe===0){if(L.size!==0){Ve.setFileTimestamps(L)}if(q.size!==0){Ve.setFileHashes(q)}if(K.size!==0){Ve.setFileTshs(K)}if(ae.size!==0){Ve.setContextTimestamps(ae)}if(be.size!==0){Ve.setContextHashes(be)}if(xe.size!==0){Ve.setContextTshs(xe)}if(ve.size!==0){Ve.setMissingExistence(ve)}if(Ae.size!==0){Ve.setManagedItemInfo(Ae)}this._managedFilesOptimization.optimize(Ve,Ie);if(Ie.size!==0){Ve.setManagedFiles(Ie)}this._managedContextsOptimization.optimize(Ve,He);if(He.size!==0){Ve.setManagedContexts(He)}this._managedMissingOptimization.optimize(Ve,Qe);if(Qe.size!==0){Ve.setManagedMissing(Qe)}if(Je.size!==0){Ve.setChildren(Je)}this._snapshotCache.set(Ve,true);this._statCreatedSnapshots++;N(null,Ve)}};const jobError=()=>{if(Xe>0){Xe=-1e8;N(null,null)}};const checkManaged=(v,E)=>{for(const E of this.unmanagedPathsRegExps){if(E.test(v))return false}for(const E of this.unmanagedPathsWithSlash){if(v.startsWith(E))return false}for(const P of this.immutablePathsRegExps){if(P.test(v)){E.add(v);return true}}for(const P of this.immutablePathsWithSlash){if(v.startsWith(P)){E.add(v);return true}}for(const P of this.managedPathsRegExps){const R=P.exec(v);if(R){const P=getManagedItem(R[1],v);if(P){Ke.add(P);E.add(v);return true}}}for(const P of this.managedPathsWithSlash){if(v.startsWith(P)){const R=getManagedItem(P,v);if(R){Ke.add(R);E.add(v);return true}}}return false};const captureNonManaged=(v,E)=>{const P=new Set;for(const R of v){if(!checkManaged(R,E))P.add(R)}return P};const processCapturedFiles=v=>{switch(Ye){case 3:this._fileTshsOptimization.optimize(Ve,v);for(const E of v){const v=this._fileTshs.get(E);if(v!==undefined){K.set(E,v)}else{Xe++;this._getFileTimestampAndHash(E,((v,P)=>{if(v){if(this.logger){this.logger.debug(`Error snapshotting file timestamp hash combination of ${E}: ${v.stack}`)}jobError()}else{K.set(E,P);jobDone()}}))}}break;case 2:this._fileHashesOptimization.optimize(Ve,v);for(const E of v){const v=this._fileHashes.get(E);if(v!==undefined){q.set(E,v)}else{Xe++;this.fileHashQueue.add(E,((v,P)=>{if(v){if(this.logger){this.logger.debug(`Error snapshotting file hash of ${E}: ${v.stack}`)}jobError()}else{q.set(E,P);jobDone()}}))}}break;case 1:this._fileTimestampsOptimization.optimize(Ve,v);for(const E of v){const v=this._fileTimestamps.get(E);if(v!==undefined){if(v!=="ignore"){L.set(E,v)}}else{Xe++;this.fileTimestampQueue.add(E,((v,P)=>{if(v){if(this.logger){this.logger.debug(`Error snapshotting file timestamp of ${E}: ${v.stack}`)}jobError()}else{L.set(E,P);jobDone()}}))}}break}};if(E){processCapturedFiles(captureNonManaged(E,Ie))}const processCapturedDirectories=v=>{switch(Ye){case 3:this._contextTshsOptimization.optimize(Ve,v);for(const E of v){const v=this._contextTshs.get(E);let P;if(v!==undefined&&(P=getResolvedTimestamp(v))!==undefined){xe.set(E,P)}else{Xe++;const callback=(v,P)=>{if(v){if(this.logger){this.logger.debug(`Error snapshotting context timestamp hash combination of ${E}: ${v.stack}`)}jobError()}else{xe.set(E,P);jobDone()}};if(v!==undefined){this._resolveContextTsh(v,callback)}else{this.getContextTsh(E,callback)}}}break;case 2:this._contextHashesOptimization.optimize(Ve,v);for(const E of v){const v=this._contextHashes.get(E);let P;if(v!==undefined&&(P=getResolvedHash(v))!==undefined){be.set(E,P)}else{Xe++;const callback=(v,P)=>{if(v){if(this.logger){this.logger.debug(`Error snapshotting context hash of ${E}: ${v.stack}`)}jobError()}else{be.set(E,P);jobDone()}};if(v!==undefined){this._resolveContextHash(v,callback)}else{this.getContextHash(E,callback)}}}break;case 1:this._contextTimestampsOptimization.optimize(Ve,v);for(const E of v){const v=this._contextTimestamps.get(E);if(v==="ignore")continue;let P;if(v!==undefined&&(P=getResolvedTimestamp(v))!==undefined){ae.set(E,P)}else{Xe++;const callback=(v,P)=>{if(v){if(this.logger){this.logger.debug(`Error snapshotting context timestamp of ${E}: ${v.stack}`)}jobError()}else{ae.set(E,P);jobDone()}};if(v!==undefined){this._resolveContextTimestamp(v,callback)}else{this.getContextTimestamp(E,callback)}}}break}};if(P){processCapturedDirectories(captureNonManaged(P,He))}const processCapturedMissing=v=>{this._missingExistenceOptimization.optimize(Ve,v);for(const E of v){const v=this._fileTimestamps.get(E);if(v!==undefined){if(v!=="ignore"){ve.set(E,Boolean(v))}}else{Xe++;this.fileTimestampQueue.add(E,((v,P)=>{if(v){if(this.logger){this.logger.debug(`Error snapshotting missing timestamp of ${E}: ${v.stack}`)}jobError()}else{ve.set(E,Boolean(P));jobDone()}}))}}};if(R){processCapturedMissing(captureNonManaged(R,Qe))}this._managedItemInfoOptimization.optimize(Ve,Ke);for(const v of Ke){const E=this._managedItems.get(v);if(E!==undefined){if(!E.startsWith("*")){Ie.add(ge(this.fs,v,"package.json"))}else if(E==="*nested"){Qe.add(ge(this.fs,v,"package.json"))}Ae.set(v,E)}else{Xe++;this.managedItemQueue.add(v,((P,R)=>{if(P){if(this.logger){this.logger.debug(`Error snapshotting managed item ${v}: ${P.stack}`)}jobError()}else if(R){if(!R.startsWith("*")){Ie.add(ge(this.fs,v,"package.json"))}else if(E==="*nested"){Qe.add(ge(this.fs,v,"package.json"))}Ae.set(v,R);jobDone()}else{const process=(E,P)=>{if(E.size===0)return;const R=new Set;for(const P of E){if(P.startsWith(v))R.add(P)}if(R.size>0)P(R)};process(Ie,processCapturedFiles);process(He,processCapturedDirectories);process(Qe,processCapturedMissing);jobDone()}}))}}jobDone()}mergeSnapshots(v,E){const P=new Snapshot;if(v.hasStartTime()&&E.hasStartTime())P.setStartTime(Math.min(v.startTime,E.startTime));else if(E.hasStartTime())P.startTime=E.startTime;else if(v.hasStartTime())P.startTime=v.startTime;if(v.hasFileTimestamps()||E.hasFileTimestamps()){P.setFileTimestamps(mergeMaps(v.fileTimestamps,E.fileTimestamps))}if(v.hasFileHashes()||E.hasFileHashes()){P.setFileHashes(mergeMaps(v.fileHashes,E.fileHashes))}if(v.hasFileTshs()||E.hasFileTshs()){P.setFileTshs(mergeMaps(v.fileTshs,E.fileTshs))}if(v.hasContextTimestamps()||E.hasContextTimestamps()){P.setContextTimestamps(mergeMaps(v.contextTimestamps,E.contextTimestamps))}if(v.hasContextHashes()||E.hasContextHashes()){P.setContextHashes(mergeMaps(v.contextHashes,E.contextHashes))}if(v.hasContextTshs()||E.hasContextTshs()){P.setContextTshs(mergeMaps(v.contextTshs,E.contextTshs))}if(v.hasMissingExistence()||E.hasMissingExistence()){P.setMissingExistence(mergeMaps(v.missingExistence,E.missingExistence))}if(v.hasManagedItemInfo()||E.hasManagedItemInfo()){P.setManagedItemInfo(mergeMaps(v.managedItemInfo,E.managedItemInfo))}if(v.hasManagedFiles()||E.hasManagedFiles()){P.setManagedFiles(mergeSets(v.managedFiles,E.managedFiles))}if(v.hasManagedContexts()||E.hasManagedContexts()){P.setManagedContexts(mergeSets(v.managedContexts,E.managedContexts))}if(v.hasManagedMissing()||E.hasManagedMissing()){P.setManagedMissing(mergeSets(v.managedMissing,E.managedMissing))}if(v.hasChildren()||E.hasChildren()){P.setChildren(mergeSets(v.children,E.children))}if(this._snapshotCache.get(v)===true&&this._snapshotCache.get(E)===true){this._snapshotCache.set(P,true)}return P}checkSnapshotValid(v,E){const P=this._snapshotCache.get(v);if(P!==undefined){this._statTestedSnapshotsCached++;if(typeof P==="boolean"){E(null,P)}else{P.push(E)}return}this._statTestedSnapshotsNotCached++;this._checkSnapshotValidNoCache(v,E)}_checkSnapshotValidNoCache(v,E){let P=undefined;if(v.hasStartTime()){P=v.startTime}let R=1;const jobDone=()=>{if(--R===0){this._snapshotCache.set(v,true);E(null,true)}};const invalid=()=>{if(R>0){R=-1e8;this._snapshotCache.set(v,false);E(null,false)}};const invalidWithError=(v,E)=>{if(this._remainingLogs>0){this._log(v,`error occurred: %s`,E)}invalid()};const checkHash=(v,E,P)=>{if(E!==P){if(this._remainingLogs>0){this._log(v,`hashes differ (%s != %s)`,E,P)}return false}return true};const checkExistence=(v,E,P)=>{if(!E!==!P){if(this._remainingLogs>0){this._log(v,E?"it didn't exist before":"it does no longer exist")}return false}return true};const checkFile=(v,E,R,$=true)=>{if(E===R)return true;if(!checkExistence(v,Boolean(E),Boolean(R)))return false;if(E){if(typeof P==="number"&&E.safeTime>P){if($&&this._remainingLogs>0){this._log(v,`it may have changed (%d) after the start time of the snapshot (%d)`,E.safeTime,P)}return false}if(R.timestamp!==undefined&&E.timestamp!==R.timestamp){if($&&this._remainingLogs>0){this._log(v,`timestamps differ (%d != %d)`,E.timestamp,R.timestamp)}return false}}return true};const checkContext=(v,E,R,$=true)=>{if(E===R)return true;if(!checkExistence(v,Boolean(E),Boolean(R)))return false;if(E){if(typeof P==="number"&&E.safeTime>P){if($&&this._remainingLogs>0){this._log(v,`it may have changed (%d) after the start time of the snapshot (%d)`,E.safeTime,P)}return false}if(R.timestampHash!==undefined&&E.timestampHash!==R.timestampHash){if($&&this._remainingLogs>0){this._log(v,`timestamps hashes differ (%s != %s)`,E.timestampHash,R.timestampHash)}return false}}return true};if(v.hasChildren()){const childCallback=(v,E)=>{if(v||!E)return invalid();else jobDone()};for(const E of v.children){const v=this._snapshotCache.get(E);if(v!==undefined){this._statTestedChildrenCached++;if(typeof v==="boolean"){if(v===false){invalid();return}}else{R++;v.push(childCallback)}}else{this._statTestedChildrenNotCached++;R++;this._checkSnapshotValidNoCache(E,childCallback)}}}if(v.hasFileTimestamps()){const{fileTimestamps:E}=v;this._statTestedEntries+=E.size;for(const[v,P]of E){const E=this._fileTimestamps.get(v);if(E!==undefined){if(E!=="ignore"&&!checkFile(v,E,P)){invalid();return}}else{R++;this.fileTimestampQueue.add(v,((E,R)=>{if(E)return invalidWithError(v,E);if(!checkFile(v,R,P)){invalid()}else{jobDone()}}))}}}const processFileHashSnapshot=(v,E)=>{const P=this._fileHashes.get(v);if(P!==undefined){if(P!=="ignore"&&!checkHash(v,P,E)){invalid();return}}else{R++;this.fileHashQueue.add(v,((P,R)=>{if(P)return invalidWithError(v,P);if(!checkHash(v,R,E)){invalid()}else{jobDone()}}))}};if(v.hasFileHashes()){const{fileHashes:E}=v;this._statTestedEntries+=E.size;for(const[v,P]of E){processFileHashSnapshot(v,P)}}if(v.hasFileTshs()){const{fileTshs:E}=v;this._statTestedEntries+=E.size;for(const[v,P]of E){if(typeof P==="string"){processFileHashSnapshot(v,P)}else{const E=this._fileTimestamps.get(v);if(E!==undefined){if(E==="ignore"||!checkFile(v,E,P,false)){processFileHashSnapshot(v,P&&P.hash)}}else{R++;this.fileTimestampQueue.add(v,((E,R)=>{if(E)return invalidWithError(v,E);if(!checkFile(v,R,P,false)){processFileHashSnapshot(v,P&&P.hash)}jobDone()}))}}}}if(v.hasContextTimestamps()){const{contextTimestamps:E}=v;this._statTestedEntries+=E.size;for(const[v,P]of E){const E=this._contextTimestamps.get(v);if(E==="ignore")continue;let $;if(E!==undefined&&($=getResolvedTimestamp(E))!==undefined){if(!checkContext(v,$,P)){invalid();return}}else{R++;const callback=(E,R)=>{if(E)return invalidWithError(v,E);if(!checkContext(v,R,P)){invalid()}else{jobDone()}};if(E!==undefined){this._resolveContextTimestamp(E,callback)}else{this.getContextTimestamp(v,callback)}}}}const processContextHashSnapshot=(v,E)=>{const P=this._contextHashes.get(v);let $;if(P!==undefined&&($=getResolvedHash(P))!==undefined){if(!checkHash(v,$,E)){invalid();return}}else{R++;const callback=(P,R)=>{if(P)return invalidWithError(v,P);if(!checkHash(v,R,E)){invalid()}else{jobDone()}};if(P!==undefined){this._resolveContextHash(P,callback)}else{this.getContextHash(v,callback)}}};if(v.hasContextHashes()){const{contextHashes:E}=v;this._statTestedEntries+=E.size;for(const[v,P]of E){processContextHashSnapshot(v,P)}}if(v.hasContextTshs()){const{contextTshs:E}=v;this._statTestedEntries+=E.size;for(const[v,P]of E){if(typeof P==="string"){processContextHashSnapshot(v,P)}else{const E=this._contextTimestamps.get(v);if(E==="ignore")continue;let $;if(E!==undefined&&($=getResolvedTimestamp(E))!==undefined){if(!checkContext(v,$,P,false)){processContextHashSnapshot(v,P&&P.hash)}}else{R++;const callback=(E,R)=>{if(E)return invalidWithError(v,E);if(!checkContext(v,R,P,false)){processContextHashSnapshot(v,P&&P.hash)}jobDone()};if(E!==undefined){this._resolveContextTimestamp(E,callback)}else{this.getContextTimestamp(v,callback)}}}}}if(v.hasMissingExistence()){const{missingExistence:E}=v;this._statTestedEntries+=E.size;for(const[v,P]of E){const E=this._fileTimestamps.get(v);if(E!==undefined){if(E!=="ignore"&&!checkExistence(v,Boolean(E),Boolean(P))){invalid();return}}else{R++;this.fileTimestampQueue.add(v,((E,R)=>{if(E)return invalidWithError(v,E);if(!checkExistence(v,Boolean(R),Boolean(P))){invalid()}else{jobDone()}}))}}}if(v.hasManagedItemInfo()){const{managedItemInfo:E}=v;this._statTestedEntries+=E.size;for(const[v,P]of E){const E=this._managedItems.get(v);if(E!==undefined){if(!checkHash(v,E,P)){invalid();return}}else{R++;this.managedItemQueue.add(v,((E,R)=>{if(E)return invalidWithError(v,E);if(!checkHash(v,R,P)){invalid()}else{jobDone()}}))}}}jobDone();if(R>0){const P=[E];E=(v,E)=>{for(const R of P)R(v,E)};this._snapshotCache.set(v,P)}}_readFileTimestamp(v,E){this.fs.stat(v,((P,R)=>{if(P){if(P.code==="ENOENT"){this._fileTimestamps.set(v,null);this._cachedDeprecatedFileTimestamps=undefined;return E(null,null)}return E(P)}let $;if(R.isDirectory()){$={safeTime:0,timestamp:undefined}}else{const v=+R.mtime;if(v)applyMtime(v);$={safeTime:v?v+Je:Infinity,timestamp:v}}this._fileTimestamps.set(v,$);this._cachedDeprecatedFileTimestamps=undefined;E(null,$)}))}_readFileHash(v,E){this.fs.readFile(v,((P,R)=>{if(P){if(P.code==="EISDIR"){this._fileHashes.set(v,"directory");return E(null,"directory")}if(P.code==="ENOENT"){this._fileHashes.set(v,null);return E(null,null)}if(P.code==="ERR_FS_FILE_TOO_LARGE"){this.logger.warn(`Ignoring ${v} for hashing as it's very large`);this._fileHashes.set(v,"too large");return E(null,"too large")}return E(P)}const $=ae(this._hashFunction);$.update(R);const N=$.digest("hex");this._fileHashes.set(v,N);E(null,N)}))}_getFileTimestampAndHash(v,E){const continueWithHash=P=>{const R=this._fileTimestamps.get(v);if(R!==undefined){if(R!=="ignore"){const $={...R,hash:P};this._fileTshs.set(v,$);return E(null,$)}else{this._fileTshs.set(v,P);return E(null,P)}}else{this.fileTimestampQueue.add(v,((R,$)=>{if(R){return E(R)}const N={...$,hash:P};this._fileTshs.set(v,N);return E(null,N)}))}};const P=this._fileHashes.get(v);if(P!==undefined){continueWithHash(P)}else{this.fileHashQueue.add(v,((v,P)=>{if(v){return E(v)}continueWithHash(P)}))}}_readContext({path:v,fromImmutablePath:E,fromManagedItem:P,fromSymlink:R,fromFile:$,fromDirectory:L,reduce:q},K){this.fs.readdir(v,((ae,be)=>{if(ae){if(ae.code==="ENOENT"){return K(null,null)}return K(ae)}const xe=be.map((v=>v.normalize("NFC"))).filter((v=>!/^\./.test(v))).sort();N.map(xe,((N,q)=>{const K=ge(this.fs,v,N);for(const P of this.immutablePathsRegExps){if(P.test(v)){return q(null,E(v))}}for(const P of this.immutablePathsWithSlash){if(v.startsWith(P)){return q(null,E(v))}}for(const E of this.managedPathsRegExps){const R=E.exec(v);if(R){const E=getManagedItem(R[1],v);if(E){return this.managedItemQueue.add(E,((v,E)=>{if(v)return q(v);return q(null,P(E))}))}}}for(const E of this.managedPathsWithSlash){if(v.startsWith(E)){const v=getManagedItem(E,K);if(v){return this.managedItemQueue.add(v,((v,E)=>{if(v)return q(v);return q(null,P(E))}))}}}ve(this.fs,K,((v,E)=>{if(v)return q(v);if(typeof E==="string"){return R(K,E,q)}if(E.isFile()){return $(K,E,q)}if(E.isDirectory()){return L(K,E,q)}q(null,null)}))}),((v,E)=>{if(v)return K(v);const P=q(xe,E);K(null,P)}))}))}_readContextTimestamp(v,E){this._readContext({path:v,fromImmutablePath:()=>null,fromManagedItem:v=>({safeTime:0,timestampHash:v}),fromSymlink:(v,E,P)=>{P(null,{timestampHash:E,symlinks:new Set([E])})},fromFile:(v,E,P)=>{const R=this._fileTimestamps.get(v);if(R!==undefined)return P(null,R==="ignore"?null:R);const $=+E.mtime;if($)applyMtime($);const N={safeTime:$?$+Je:Infinity,timestamp:$};this._fileTimestamps.set(v,N);this._cachedDeprecatedFileTimestamps=undefined;P(null,N)},fromDirectory:(v,E,P)=>{this.contextTimestampQueue.increaseParallelism();this._getUnresolvedContextTimestamp(v,((v,E)=>{this.contextTimestampQueue.decreaseParallelism();P(v,E)}))},reduce:(v,E)=>{let P=undefined;const R=ae(this._hashFunction);for(const E of v)R.update(E);let $=0;for(const v of E){if(!v){R.update("n");continue}if(v.timestamp){R.update("f");R.update(`${v.timestamp}`)}else if(v.timestampHash){R.update("d");R.update(`${v.timestampHash}`)}if(v.symlinks!==undefined){if(P===undefined)P=new Set;addAll(v.symlinks,P)}if(v.safeTime){$=Math.max($,v.safeTime)}}const N=R.digest("hex");const L={safeTime:$,timestampHash:N};if(P)L.symlinks=P;return L}},((P,R)=>{if(P)return E(P);this._contextTimestamps.set(v,R);this._cachedDeprecatedContextTimestamps=undefined;E(null,R)}))}_resolveContextTimestamp(v,E){const P=[];let R=0;Ie(v.symlinks,10,((v,E,$)=>{this._getUnresolvedContextTimestamp(v,((v,N)=>{if(v)return $(v);if(N&&N!=="ignore"){P.push(N.timestampHash);if(N.safeTime){R=Math.max(R,N.safeTime)}if(N.symlinks!==undefined){for(const v of N.symlinks)E(v)}}$()}))}),($=>{if($)return E($);const N=ae(this._hashFunction);N.update(v.timestampHash);if(v.safeTime){R=Math.max(R,v.safeTime)}P.sort();for(const v of P){N.update(v)}E(null,v.resolved={safeTime:R,timestampHash:N.digest("hex")})}))}_readContextHash(v,E){this._readContext({path:v,fromImmutablePath:()=>"",fromManagedItem:v=>v||"",fromSymlink:(v,E,P)=>{P(null,{hash:E,symlinks:new Set([E])})},fromFile:(v,E,P)=>this.getFileHash(v,((v,E)=>{P(v,E||"")})),fromDirectory:(v,E,P)=>{this.contextHashQueue.increaseParallelism();this._getUnresolvedContextHash(v,((v,E)=>{this.contextHashQueue.decreaseParallelism();P(v,E||"")}))},reduce:(v,E)=>{let P=undefined;const R=ae(this._hashFunction);for(const E of v)R.update(E);for(const v of E){if(typeof v==="string"){R.update(v)}else{R.update(v.hash);if(v.symlinks){if(P===undefined)P=new Set;addAll(v.symlinks,P)}}}const $={hash:R.digest("hex")};if(P)$.symlinks=P;return $}},((P,R)=>{if(P)return E(P);this._contextHashes.set(v,R);return E(null,R)}))}_resolveContextHash(v,E){const P=[];Ie(v.symlinks,10,((v,E,R)=>{this._getUnresolvedContextHash(v,((v,$)=>{if(v)return R(v);if($){P.push($.hash);if($.symlinks!==undefined){for(const v of $.symlinks)E(v)}}R()}))}),(R=>{if(R)return E(R);const $=ae(this._hashFunction);$.update(v.hash);P.sort();for(const v of P){$.update(v)}E(null,v.resolved=$.digest("hex"))}))}_readContextTimestampAndHash(v,E){const finalize=(P,R)=>{const $=P==="ignore"?R:{...P,...R};this._contextTshs.set(v,$);E(null,$)};const P=this._contextHashes.get(v);const R=this._contextTimestamps.get(v);if(P!==undefined){if(R!==undefined){finalize(R,P)}else{this.contextTimestampQueue.add(v,((v,R)=>{if(v)return E(v);finalize(R,P)}))}}else{if(R!==undefined){this.contextHashQueue.add(v,((v,P)=>{if(v)return E(v);finalize(R,P)}))}else{this._readContext({path:v,fromImmutablePath:()=>null,fromManagedItem:v=>({safeTime:0,timestampHash:v,hash:v||""}),fromSymlink:(v,E,P)=>{P(null,{timestampHash:E,hash:E,symlinks:new Set([E])})},fromFile:(v,E,P)=>{this._getFileTimestampAndHash(v,P)},fromDirectory:(v,E,P)=>{this.contextTshQueue.increaseParallelism();this.contextTshQueue.add(v,((v,E)=>{this.contextTshQueue.decreaseParallelism();P(v,E)}))},reduce:(v,E)=>{let P=undefined;const R=ae(this._hashFunction);const $=ae(this._hashFunction);for(const E of v){R.update(E);$.update(E)}let N=0;for(const v of E){if(!v){R.update("n");continue}if(typeof v==="string"){R.update("n");$.update(v);continue}if(v.timestamp){R.update("f");R.update(`${v.timestamp}`)}else if(v.timestampHash){R.update("d");R.update(`${v.timestampHash}`)}if(v.symlinks!==undefined){if(P===undefined)P=new Set;addAll(v.symlinks,P)}if(v.safeTime){N=Math.max(N,v.safeTime)}$.update(v.hash)}const L={safeTime:N,timestampHash:R.digest("hex"),hash:$.digest("hex")};if(P)L.symlinks=P;return L}},((P,R)=>{if(P)return E(P);this._contextTshs.set(v,R);return E(null,R)}))}}}_resolveContextTsh(v,E){const P=[];const R=[];let $=0;Ie(v.symlinks,10,((v,E,N)=>{this._getUnresolvedContextTsh(v,((v,L)=>{if(v)return N(v);if(L){P.push(L.hash);if(L.timestampHash)R.push(L.timestampHash);if(L.safeTime){$=Math.max($,L.safeTime)}if(L.symlinks!==undefined){for(const v of L.symlinks)E(v)}}N()}))}),(N=>{if(N)return E(N);const L=ae(this._hashFunction);const q=ae(this._hashFunction);L.update(v.hash);if(v.timestampHash)q.update(v.timestampHash);if(v.safeTime){$=Math.max($,v.safeTime)}P.sort();for(const v of P){L.update(v)}R.sort();for(const v of R){q.update(v)}E(null,v.resolved={safeTime:$,timestampHash:q.digest("hex"),hash:L.digest("hex")})}))}_getManagedItemDirectoryInfo(v,E){this.fs.readdir(v,((P,R)=>{if(P){if(P.code==="ENOENT"||P.code==="ENOTDIR"){return E(null,Ve)}return E(P)}const $=new Set(R.map((E=>ge(this.fs,v,E))));E(null,$)}))}_getManagedItemInfo(v,E){const P=be(this.fs,v);this.managedItemDirectoryQueue.add(P,((P,R)=>{if(P){return E(P)}if(!R.has(v)){this._managedItems.set(v,"*missing");return E(null,"*missing")}if(v.endsWith("node_modules")&&(v.endsWith("/node_modules")||v.endsWith("\\node_modules"))){this._managedItems.set(v,"*node_modules");return E(null,"*node_modules")}const $=ge(this.fs,v,"package.json");this.fs.readFile($,((P,R)=>{if(P){if(P.code==="ENOENT"||P.code==="ENOTDIR"){this.fs.readdir(v,((P,R)=>{if(!P&&R.length===1&&R[0]==="node_modules"){this._managedItems.set(v,"*nested");return E(null,"*nested")}this.logger.warn(`Managed item ${v} isn't a directory or doesn't contain a package.json (see snapshot.managedPaths option)`);return E()}));return}return E(P)}let N;try{N=JSON.parse(R.toString("utf-8"))}catch(v){return E(v)}if(!N.name){this.logger.warn(`${$} doesn't contain a "name" property (see snapshot.managedPaths option)`);return E()}const L=`${N.name||""}@${N.version||""}`;this._managedItems.set(v,L);E(null,L)}))}))}getDeprecatedFileTimestamps(){if(this._cachedDeprecatedFileTimestamps!==undefined)return this._cachedDeprecatedFileTimestamps;const v=new Map;for(const[E,P]of this._fileTimestamps){if(P)v.set(E,typeof P==="object"?P.safeTime:null)}return this._cachedDeprecatedFileTimestamps=v}getDeprecatedContextTimestamps(){if(this._cachedDeprecatedContextTimestamps!==undefined)return this._cachedDeprecatedContextTimestamps;const v=new Map;for(const[E,P]of this._contextTimestamps){if(P)v.set(E,typeof P==="object"?P.safeTime:null)}return this._cachedDeprecatedContextTimestamps=v}}v.exports=FileSystemInfo;v.exports.Snapshot=Snapshot},15580:function(v,E,P){"use strict";const{getEntryRuntime:R,mergeRuntimeOwned:$}=P(32681);const N="FlagAllModulesAsUsedPlugin";class FlagAllModulesAsUsedPlugin{constructor(v){this.explanation=v}apply(v){v.hooks.compilation.tap(N,(v=>{const E=v.moduleGraph;v.hooks.optimizeDependencies.tap(N,(P=>{let N=undefined;for(const[E,{options:P}]of v.entries){N=$(N,R(v,E,P))}for(const v of P){const P=E.getExportsInfo(v);P.setUsedInUnknownWay(N);E.addExtraReason(v,this.explanation);if(v.factoryMeta===undefined){v.factoryMeta={}}v.factoryMeta.sideEffectFree=false}}))}))}}v.exports=FlagAllModulesAsUsedPlugin},86581:function(v,E,P){"use strict";const R=P(78175);const $=P(54739);const N="FlagDependencyExportsPlugin";const L=`webpack.${N}`;class FlagDependencyExportsPlugin{apply(v){v.hooks.compilation.tap(N,(v=>{const E=v.moduleGraph;const P=v.getCache(N);v.hooks.finishModules.tapAsync(N,((N,q)=>{const K=v.getLogger(L);let ae=0;let ge=0;let be=0;let xe=0;let ve=0;let Ae=0;const{moduleMemCaches:Ie}=v;const He=new $;K.time("restore cached provided exports");R.each(N,((v,R)=>{const $=E.getExportsInfo(v);if(!v.buildMeta||!v.buildMeta.exportsType){if($.otherExportsInfo.provided!==null){be++;$.setHasProvideInfo();$.setUnknownExportsProvided();return R()}}if(typeof v.buildInfo.hash!=="string"){xe++;He.enqueue(v);$.setHasProvideInfo();return R()}const N=Ie&&Ie.get(v);const L=N&&N.get(this);if(L!==undefined){ae++;$.restoreProvided(L);return R()}P.get(v.identifier(),v.buildInfo.hash,((E,P)=>{if(E)return R(E);if(P!==undefined){ge++;$.restoreProvided(P)}else{ve++;He.enqueue(v);$.setHasProvideInfo()}R()}))}),(v=>{K.timeEnd("restore cached provided exports");if(v)return q(v);const $=new Set;const N=new Map;let L;let Qe;const Je=new Map;let Ve=true;let Ke=false;const processDependenciesBlock=v=>{for(const E of v.dependencies){processDependency(E)}for(const E of v.blocks){processDependenciesBlock(E)}};const processDependency=v=>{const P=v.getExports(E);if(!P)return;Je.set(v,P)};const processExportsSpec=(v,P)=>{const R=P.exports;const $=P.canMangle;const q=P.from;const K=P.priority;const ae=P.terminalBinding||false;const ge=P.dependencies;if(P.hideExports){for(const E of P.hideExports){const P=Qe.getExportInfo(E);P.unsetTarget(v)}}if(R===true){if(Qe.setUnknownExportsProvided($,P.excludeExports,q&&v,q,K)){Ke=true}}else if(Array.isArray(R)){const mergeExports=(P,R)=>{for(const ge of R){let R;let be=$;let xe=ae;let ve=undefined;let Ae=q;let Ie=undefined;let He=K;let Qe=false;if(typeof ge==="string"){R=ge}else{R=ge.name;if(ge.canMangle!==undefined)be=ge.canMangle;if(ge.export!==undefined)Ie=ge.export;if(ge.exports!==undefined)ve=ge.exports;if(ge.from!==undefined)Ae=ge.from;if(ge.priority!==undefined)He=ge.priority;if(ge.terminalBinding!==undefined)xe=ge.terminalBinding;if(ge.hidden!==undefined)Qe=ge.hidden}const Je=P.getExportInfo(R);if(Je.provided===false||Je.provided===null){Je.provided=true;Ke=true}if(Je.canMangleProvide!==false&&be===false){Je.canMangleProvide=false;Ke=true}if(xe&&!Je.terminalBinding){Je.terminalBinding=true;Ke=true}if(ve){const v=Je.createNestedExportsInfo();mergeExports(v,ve)}if(Ae&&(Qe?Je.unsetTarget(v):Je.setTarget(v,Ae,Ie===undefined?[R]:Ie,He))){Ke=true}const Ve=Je.getTarget(E);let Ye=undefined;if(Ve){const v=E.getExportsInfo(Ve.module);Ye=v.getNestedExportsInfo(Ve.export);const P=N.get(Ve.module);if(P===undefined){N.set(Ve.module,new Set([L]))}else{P.add(L)}}if(Je.exportsInfoOwned){if(Je.exportsInfo.setRedirectNamedTo(Ye)){Ke=true}}else if(Je.exportsInfo!==Ye){Je.exportsInfo=Ye;Ke=true}}};mergeExports(Qe,R)}if(ge){Ve=false;for(const v of ge){const E=N.get(v);if(E===undefined){N.set(v,new Set([L]))}else{E.add(L)}}}};const notifyDependencies=()=>{const v=N.get(L);if(v!==undefined){for(const E of v){He.enqueue(E)}}};K.time("figure out provided exports");while(He.length>0){L=He.dequeue();Ae++;Qe=E.getExportsInfo(L);Ve=true;Ke=false;Je.clear();E.freeze();processDependenciesBlock(L);E.unfreeze();for(const[v,E]of Je){processExportsSpec(v,E)}if(Ve){$.add(L)}if(Ke){notifyDependencies()}}K.timeEnd("figure out provided exports");K.log(`${Math.round(100*(xe+ve)/(ae+ge+ve+xe+be))}% of exports of modules have been determined (${be} no declared exports, ${ve} not cached, ${xe} flagged uncacheable, ${ge} from cache, ${ae} from mem cache, ${Ae-ve-xe} additional calculations due to dependencies)`);K.time("store provided exports into cache");R.each($,((v,R)=>{if(typeof v.buildInfo.hash!=="string"){return R()}const $=E.getExportsInfo(v).getRestoreProvidedData();const N=Ie&&Ie.get(v);if(N){N.set(this,$)}P.store(v.identifier(),v.buildInfo.hash,$,R)}),(v=>{K.timeEnd("store provided exports into cache");q(v)}))}))}));const q=new WeakMap;v.hooks.rebuildModule.tap(N,(v=>{q.set(v,E.getExportsInfo(v).getRestoreProvidedData())}));v.hooks.finishRebuildingModule.tap(N,(v=>{E.getExportsInfo(v).restoreProvided(q.get(v))}))}))}}v.exports=FlagDependencyExportsPlugin},56390:function(v,E,P){"use strict";const R=P(61803);const{UsageState:$}=P(32514);const N=P(76361);const{STAGE_DEFAULT:L}=P(66480);const q=P(88622);const K=P(81754);const{getEntryRuntime:ae,mergeRuntimeOwned:ge}=P(32681);const{NO_EXPORTS_REFERENCED:be,EXPORTS_OBJECT_REFERENCED:xe}=R;const ve="FlagDependencyUsagePlugin";const Ae=`webpack.${ve}`;class FlagDependencyUsagePlugin{constructor(v){this.global=v}apply(v){v.hooks.compilation.tap(ve,(v=>{const E=v.moduleGraph;v.hooks.optimizeDependencies.tap({name:ve,stage:L},(P=>{if(v.moduleMemCaches){throw new Error("optimization.usedExports can't be used with cacheUnaffected as export usage is a global effect")}const R=v.getLogger(Ae);const L=new Map;const ve=new K;const processReferencedModule=(v,P,R,N)=>{const q=E.getExportsInfo(v);if(P.length>0){if(!v.buildMeta||!v.buildMeta.exportsType){if(q.setUsedWithoutInfo(R)){ve.enqueue(v,R)}return}for(const E of P){let P;let N=true;if(Array.isArray(E)){P=E}else{P=E.name;N=E.canMangle!==false}if(P.length===0){if(q.setUsedInUnknownWay(R)){ve.enqueue(v,R)}}else{let E=q;for(let K=0;Kv===$.Unused),$.OnlyPropertiesUsed,R)){const P=E===q?v:L.get(E);if(P){ve.enqueue(P,R)}}E=P;continue}}if(ae.setUsedConditionally((v=>v!==$.Used),$.Used,R)){const P=E===q?v:L.get(E);if(P){ve.enqueue(P,R)}}break}}}}else{if(!N&&v.factoryMeta!==undefined&&v.factoryMeta.sideEffectFree){return}if(q.setUsedForSideEffectsOnly(R)){ve.enqueue(v,R)}}};const processModule=(P,R,$)=>{const L=new Map;const K=new q;K.enqueue(P);for(;;){const P=K.dequeue();if(P===undefined)break;for(const v of P.blocks){if(!this.global&&v.groupOptions&&v.groupOptions.entryOptions){processModule(v,v.groupOptions.entryOptions.runtime||undefined,true)}else{K.enqueue(v)}}for(const $ of P.dependencies){const P=E.getConnection($);if(!P||!P.module){continue}const q=P.getActiveState(R);if(q===false)continue;const{module:K}=P;if(q===N.TRANSITIVE_ONLY){processModule(K,R,false);continue}const ae=L.get(K);if(ae===xe){continue}const ge=v.getDependencyReferencedExports($,R);if(ae===undefined||ae===be||ge===xe){L.set(K,ge)}else if(ae!==undefined&&ge===be){continue}else{let v;if(Array.isArray(ae)){v=new Map;for(const E of ae){if(Array.isArray(E)){v.set(E.join("\n"),E)}else{v.set(E.name.join("\n"),E)}}L.set(K,v)}else{v=ae}for(const E of ge){if(Array.isArray(E)){const P=E.join("\n");const R=v.get(P);if(R===undefined){v.set(P,E)}}else{const P=E.name.join("\n");const R=v.get(P);if(R===undefined||Array.isArray(R)){v.set(P,E)}else{v.set(P,{name:E.name,canMangle:E.canMangle&&R.canMangle})}}}}}}for(const[v,E]of L){if(Array.isArray(E)){processReferencedModule(v,E,R,$)}else{processReferencedModule(v,Array.from(E.values()),R,$)}}};R.time("initialize exports usage");for(const v of P){const P=E.getExportsInfo(v);L.set(P,v);P.setHasUseInfo()}R.timeEnd("initialize exports usage");R.time("trace exports usage in graph");const processEntryDependency=(v,P)=>{const R=E.getModule(v);if(R){processReferencedModule(R,be,P,true)}};let Ie=undefined;for(const[E,{dependencies:P,includeDependencies:R,options:$}]of v.entries){const N=this.global?undefined:ae(v,E,$);for(const v of P){processEntryDependency(v,N)}for(const v of R){processEntryDependency(v,N)}Ie=ge(Ie,N)}for(const E of v.globalEntry.dependencies){processEntryDependency(E,Ie)}for(const E of v.globalEntry.includeDependencies){processEntryDependency(E,Ie)}while(ve.length){const[v,E]=ve.dequeue();processModule(v,E,false)}R.timeEnd("trace exports usage in graph")}))}))}}v.exports=FlagDependencyUsagePlugin},91611:function(v,E,P){"use strict";class Generator{static byType(v){return new ByTypeGenerator(v)}getTypes(v){const E=P(86478);throw new E}getSize(v,E){const R=P(86478);throw new R}generate(v,{dependencyTemplates:E,runtimeTemplate:R,moduleGraph:$,type:N}){const L=P(86478);throw new L}getConcatenationBailoutReason(v,E){return`Module Concatenation is not implemented for ${this.constructor.name}`}updateHash(v,{module:E,runtime:P}){}}class ByTypeGenerator extends Generator{constructor(v){super();this.map=v;this._types=new Set(Object.keys(v))}getTypes(v){return this._types}getSize(v,E){const P=E||"javascript";const R=this.map[P];return R?R.getSize(v,P):0}generate(v,E){const P=E.type;const R=this.map[P];if(!R){throw new Error(`Generator.byType: no generator specified for ${P}`)}return R.generate(v,E)}}v.exports=Generator},85710:function(v,E){"use strict";const connectChunkGroupAndChunk=(v,E)=>{if(v.pushChunk(E)){E.addGroup(v)}};const connectChunkGroupParentAndChild=(v,E)=>{if(v.addChild(E)){E.addParent(v)}};E.connectChunkGroupAndChunk=connectChunkGroupAndChunk;E.connectChunkGroupParentAndChild=connectChunkGroupParentAndChild},45139:function(v,E,P){"use strict";const R=P(45425);v.exports=class HarmonyLinkingError extends R{constructor(v){super(v);this.name="HarmonyLinkingError";this.hideStack=true}}},76498:function(v,E,P){"use strict";const R=P(45425);class HookWebpackError extends R{constructor(v,E){super(v.message);this.name="HookWebpackError";this.hook=E;this.error=v;this.hideStack=true;this.details=`caused by plugins in ${E}\n${v.stack}`;this.stack+=`\n-- inner error --\n${v.stack}`}}v.exports=HookWebpackError;const makeWebpackError=(v,E)=>{if(v instanceof R)return v;return new HookWebpackError(v,E)};v.exports.makeWebpackError=makeWebpackError;const makeWebpackErrorCallback=(v,E)=>(P,$)=>{if(P){if(P instanceof R){v(P);return}v(new HookWebpackError(P,E));return}v(null,$)};v.exports.makeWebpackErrorCallback=makeWebpackErrorCallback;const tryRunOrWebpackError=(v,E)=>{let P;try{P=v()}catch(v){if(v instanceof R){throw v}throw new HookWebpackError(v,E)}return P};v.exports.tryRunOrWebpackError=tryRunOrWebpackError},92553:function(v,E,P){"use strict";const{SyncBailHook:R}=P(79846);const{RawSource:$}=P(51255);const N=P(33422);const L=P(92150);const q=P(19063);const K=P(44208);const ae=P(75189);const ge=P(45425);const be=P(52540);const xe=P(30369);const ve=P(18680);const Ae=P(29981);const Ie=P(44768);const He=P(21657);const Qe=P(6205);const{evaluateToIdentifier:Je}=P(31445);const{find:Ve,isSubset:Ke}=P(57167);const Ye=P(32476);const{compareModulesById:Xe}=P(80754);const{getRuntimeKey:Ze,keyToRuntime:et,forEachRuntime:tt,mergeRuntimeOwned:nt,subtractRuntime:st,intersectRuntime:rt}=P(32681);const{JAVASCRIPT_MODULE_TYPE_AUTO:ot,JAVASCRIPT_MODULE_TYPE_DYNAMIC:it,JAVASCRIPT_MODULE_TYPE_ESM:at,WEBPACK_MODULE_TYPE_RUNTIME:ct}=P(98791);const lt=new WeakMap;const ut="HotModuleReplacementPlugin";class HotModuleReplacementPlugin{static getParserHooks(v){if(!(v instanceof Qe)){throw new TypeError("The 'parser' argument must be an instance of JavascriptParser")}let E=lt.get(v);if(E===undefined){E={hotAcceptCallback:new R(["expression","requests"]),hotAcceptWithoutCallback:new R(["expression","requests"])};lt.set(v,E)}return E}constructor(v){this.options=v||{}}apply(v){const{_backCompat:E}=v;if(v.options.output.strictModuleErrorHandling===undefined)v.options.output.strictModuleErrorHandling=true;const P=[ae.module];const createAcceptHandler=(v,E)=>{const{hotAcceptCallback:R,hotAcceptWithoutCallback:$}=HotModuleReplacementPlugin.getParserHooks(v);return N=>{const L=v.state.module;const q=new be(`${L.moduleArgument}.hot.accept`,N.callee.range,P);q.loc=N.loc;L.addPresentationalDependency(q);L.buildInfo.moduleConcatenationBailout="Hot Module Replacement";if(N.arguments.length>=1){const P=v.evaluateExpression(N.arguments[0]);let q=[];let K=[];if(P.isString()){q=[P]}else if(P.isArray()){q=P.items.filter((v=>v.isString()))}if(q.length>0){q.forEach(((v,P)=>{const R=v.string;const $=new E(R,v.range);$.optional=true;$.loc=Object.create(N.loc);$.loc.index=P;L.addDependency($);K.push(R)}));if(N.arguments.length>1){R.call(N.arguments[1],K);for(let E=1;ER=>{const $=v.state.module;const N=new be(`${$.moduleArgument}.hot.decline`,R.callee.range,P);N.loc=R.loc;$.addPresentationalDependency(N);$.buildInfo.moduleConcatenationBailout="Hot Module Replacement";if(R.arguments.length===1){const P=v.evaluateExpression(R.arguments[0]);let N=[];if(P.isString()){N=[P]}else if(P.isArray()){N=P.items.filter((v=>v.isString()))}N.forEach(((v,P)=>{const N=new E(v.string,v.range);N.optional=true;N.loc=Object.create(R.loc);N.loc.index=P;$.addDependency(N)}))}return true};const createHMRExpressionHandler=v=>E=>{const R=v.state.module;const $=new be(`${R.moduleArgument}.hot`,E.range,P);$.loc=E.loc;R.addPresentationalDependency($);R.buildInfo.moduleConcatenationBailout="Hot Module Replacement";return true};const applyModuleHot=v=>{v.hooks.evaluateIdentifier.for("module.hot").tap({name:ut,before:"NodeStuffPlugin"},(v=>Je("module.hot","module",(()=>["hot"]),true)(v)));v.hooks.call.for("module.hot.accept").tap(ut,createAcceptHandler(v,Ae));v.hooks.call.for("module.hot.decline").tap(ut,createDeclineHandler(v,Ie));v.hooks.expression.for("module.hot").tap(ut,createHMRExpressionHandler(v))};const applyImportMetaHot=v=>{v.hooks.evaluateIdentifier.for("import.meta.webpackHot").tap(ut,(v=>Je("import.meta.webpackHot","import.meta",(()=>["webpackHot"]),true)(v)));v.hooks.call.for("import.meta.webpackHot.accept").tap(ut,createAcceptHandler(v,xe));v.hooks.call.for("import.meta.webpackHot.decline").tap(ut,createDeclineHandler(v,ve));v.hooks.expression.for("import.meta.webpackHot").tap(ut,createHMRExpressionHandler(v))};v.hooks.compilation.tap(ut,((P,{normalModuleFactory:R})=>{if(P.compiler!==v)return;P.dependencyFactories.set(Ae,R);P.dependencyTemplates.set(Ae,new Ae.Template);P.dependencyFactories.set(Ie,R);P.dependencyTemplates.set(Ie,new Ie.Template);P.dependencyFactories.set(xe,R);P.dependencyTemplates.set(xe,new xe.Template);P.dependencyFactories.set(ve,R);P.dependencyTemplates.set(ve,new ve.Template);let be=0;const Qe={};const Je={};P.hooks.record.tap(ut,((v,E)=>{if(E.hash===v.hash)return;const P=v.chunkGraph;E.hash=v.hash;E.hotIndex=be;E.fullHashChunkModuleHashes=Qe;E.chunkModuleHashes=Je;E.chunkHashes={};E.chunkRuntime={};for(const P of v.chunks){E.chunkHashes[P.id]=P.hash;E.chunkRuntime[P.id]=Ze(P.runtime)}E.chunkModuleIds={};for(const R of v.chunks){E.chunkModuleIds[R.id]=Array.from(P.getOrderedChunkModulesIterable(R,Xe(P)),(v=>P.getModuleId(v)))}}));const lt=new Ye;const pt=new Ye;const dt=new Ye;P.hooks.fullHash.tap(ut,(v=>{const E=P.chunkGraph;const R=P.records;for(const v of P.chunks){const getModuleHash=R=>{if(P.codeGenerationResults.has(R,v.runtime)){return P.codeGenerationResults.getHash(R,v.runtime)}else{dt.add(R,v.runtime);return E.getModuleHash(R,v.runtime)}};const $=E.getChunkFullHashModulesSet(v);if($!==undefined){for(const E of $){pt.add(E,v)}}const N=E.getChunkModulesIterable(v);if(N!==undefined){if(R.chunkModuleHashes){if($!==undefined){for(const E of N){const P=`${v.id}|${E.identifier()}`;const N=getModuleHash(E);if($.has(E)){if(R.fullHashChunkModuleHashes[P]!==N){lt.add(E,v)}Qe[P]=N}else{if(R.chunkModuleHashes[P]!==N){lt.add(E,v)}Je[P]=N}}}else{for(const E of N){const P=`${v.id}|${E.identifier()}`;const $=getModuleHash(E);if(R.chunkModuleHashes[P]!==$){lt.add(E,v)}Je[P]=$}}}else{if($!==undefined){for(const E of N){const P=`${v.id}|${E.identifier()}`;const R=getModuleHash(E);if($.has(E)){Qe[P]=R}else{Je[P]=R}}}else{for(const E of N){const P=`${v.id}|${E.identifier()}`;const R=getModuleHash(E);Je[P]=R}}}}}be=R.hotIndex||0;if(lt.size>0)be++;v.update(`${be}`)}));P.hooks.processAssets.tap({name:ut,stage:L.PROCESS_ASSETS_STAGE_ADDITIONAL},(()=>{const v=P.chunkGraph;const R=P.records;if(R.hash===P.hash)return;if(!R.chunkModuleHashes||!R.chunkHashes||!R.chunkModuleIds){return}for(const[E,$]of pt){const N=`${$.id}|${E.identifier()}`;const L=dt.has(E,$.runtime)?v.getModuleHash(E,$.runtime):P.codeGenerationResults.getHash(E,$.runtime);if(R.chunkModuleHashes[N]!==L){lt.add(E,$)}Je[N]=L}const L=new Map;let K;for(const v of Object.keys(R.chunkRuntime)){const E=et(R.chunkRuntime[v]);K=nt(K,E)}tt(K,(v=>{const{path:E,info:$}=P.getPathWithInfo(P.outputOptions.hotUpdateMainFilename,{hash:R.hash,runtime:v});L.set(v,{updatedChunkIds:new Set,removedChunkIds:new Set,removedModules:new Set,filename:E,assetInfo:$})}));if(L.size===0)return;const ae=new Map;for(const E of P.modules){const P=v.getModuleId(E);ae.set(P,E)}const be=new Set;for(const $ of Object.keys(R.chunkHashes)){const ge=et(R.chunkRuntime[$]);const xe=[];for(const v of R.chunkModuleIds[$]){const E=ae.get(v);if(E===undefined){be.add(v)}else{xe.push(E)}}let ve;let Ae;let Ie;let He;let Qe;let Je;let Ke;const Ye=Ve(P.chunks,(v=>`${v.id}`===$));if(Ye){ve=Ye.id;Je=rt(Ye.runtime,K);if(Je===undefined)continue;Ae=v.getChunkModules(Ye).filter((v=>lt.has(v,Ye)));Ie=Array.from(v.getChunkRuntimeModulesIterable(Ye)).filter((v=>lt.has(v,Ye)));const E=v.getChunkFullHashModulesIterable(Ye);He=E&&Array.from(E).filter((v=>lt.has(v,Ye)));const P=v.getChunkDependentHashModulesIterable(Ye);Qe=P&&Array.from(P).filter((v=>lt.has(v,Ye)));Ke=st(ge,Je)}else{ve=`${+$}`===$?+$:$;Ke=ge;Je=ge}if(Ke){tt(Ke,(v=>{L.get(v).removedChunkIds.add(ve)}));for(const E of xe){const N=`${$}|${E.identifier()}`;const q=R.chunkModuleHashes[N];const K=v.getModuleRuntimes(E);if(ge===Je&&K.has(Je)){const R=dt.has(E,Je)?v.getModuleHash(E,Je):P.codeGenerationResults.getHash(E,Je);if(R!==q){if(E.type===ct){Ie=Ie||[];Ie.push(E)}else{Ae=Ae||[];Ae.push(E)}}}else{tt(Ke,(v=>{for(const E of K){if(typeof E==="string"){if(E===v)return}else if(E!==undefined){if(E.has(v))return}}L.get(v).removedModules.add(E)}))}}}if(Ae&&Ae.length>0||Ie&&Ie.length>0){const $=new q;if(E)N.setChunkGraphForChunk($,v);$.id=ve;$.runtime=Je;if(Ye){for(const v of Ye.groupsIterable)$.addGroup(v)}v.attachModules($,Ae||[]);v.attachRuntimeModules($,Ie||[]);if(He){v.attachFullHashModules($,He)}if(Qe){v.attachDependentHashModules($,Qe)}const K=P.getRenderManifest({chunk:$,hash:R.hash,fullHash:R.hash,outputOptions:P.outputOptions,moduleTemplates:P.moduleTemplates,dependencyTemplates:P.dependencyTemplates,codeGenerationResults:P.codeGenerationResults,runtimeTemplate:P.runtimeTemplate,moduleGraph:P.moduleGraph,chunkGraph:v});for(const v of K){let E;let R;if("filename"in v){E=v.filename;R=v.info}else{({path:E,info:R}=P.getPathWithInfo(v.filenameTemplate,v.pathOptions))}const $=v.render();P.additionalChunkAssets.push(E);P.emitAsset(E,$,{hotModuleReplacement:true,...R});if(Ye){Ye.files.add(E);P.hooks.chunkAsset.call(Ye,E)}}tt(Je,(v=>{L.get(v).updatedChunkIds.add(ve)}))}}const xe=Array.from(be);const ve=new Map;for(const{removedChunkIds:v,removedModules:E,updatedChunkIds:R,filename:$,assetInfo:N}of L.values()){const L=ve.get($);if(L&&(!Ke(L.removedChunkIds,v)||!Ke(L.removedModules,E)||!Ke(L.updatedChunkIds,R))){P.warnings.push(new ge(`HotModuleReplacementPlugin\nThe configured output.hotUpdateMainFilename doesn't lead to unique filenames per runtime and HMR update differs between runtimes.\nThis might lead to incorrect runtime behavior of the applied update.\nTo fix this, make sure to include [runtime] in the output.hotUpdateMainFilename option, or use the default config.`));for(const E of v)L.removedChunkIds.add(E);for(const v of E)L.removedModules.add(v);for(const v of R)L.updatedChunkIds.add(v);continue}ve.set($,{removedChunkIds:v,removedModules:E,updatedChunkIds:R,assetInfo:N})}for(const[E,{removedChunkIds:R,removedModules:N,updatedChunkIds:L,assetInfo:q}]of ve){const K={c:Array.from(L),r:Array.from(R),m:N.size===0?xe:xe.concat(Array.from(N,(E=>v.getModuleId(E))))};const ae=new $(JSON.stringify(K));P.emitAsset(E,ae,{hotModuleReplacement:true,...q})}}));P.hooks.additionalTreeRuntimeRequirements.tap(ut,((v,E)=>{E.add(ae.hmrDownloadManifest);E.add(ae.hmrDownloadUpdateHandlers);E.add(ae.interceptModuleExecution);E.add(ae.moduleCache);P.addRuntimeModule(v,new He)}));R.hooks.parser.for(ot).tap(ut,(v=>{applyModuleHot(v);applyImportMetaHot(v)}));R.hooks.parser.for(it).tap(ut,(v=>{applyModuleHot(v)}));R.hooks.parser.for(at).tap(ut,(v=>{applyImportMetaHot(v)}));K.getCompilationHooks(P).loader.tap(ut,(v=>{v.hot=true}))}))}}v.exports=HotModuleReplacementPlugin},19063:function(v,E,P){"use strict";const R=P(13537);class HotUpdateChunk extends R{constructor(){super()}}v.exports=HotUpdateChunk},11779:function(v,E,P){"use strict";const R=P(18769);class IgnoreErrorModuleFactory extends R{constructor(v){super();this.normalModuleFactory=v}create(v,E){this.normalModuleFactory.create(v,((v,P)=>E(null,P)))}}v.exports=IgnoreErrorModuleFactory},2395:function(v,E,P){"use strict";const R=P(86278);const $=R(P(29315),(()=>P(49953)),{name:"Ignore Plugin",baseDataPath:"options"});class IgnorePlugin{constructor(v){$(v);this.options=v;this.checkIgnore=this.checkIgnore.bind(this)}checkIgnore(v){if("checkResource"in this.options&&this.options.checkResource&&this.options.checkResource(v.request,v.context)){return false}if("resourceRegExp"in this.options&&this.options.resourceRegExp&&this.options.resourceRegExp.test(v.request)){if("contextRegExp"in this.options&&this.options.contextRegExp){if(this.options.contextRegExp.test(v.context)){return false}}else{return false}}}apply(v){v.hooks.normalModuleFactory.tap("IgnorePlugin",(v=>{v.hooks.beforeResolve.tap("IgnorePlugin",this.checkIgnore)}));v.hooks.contextModuleFactory.tap("IgnorePlugin",(v=>{v.hooks.beforeResolve.tap("IgnorePlugin",this.checkIgnore)}))}}v.exports=IgnorePlugin},36595:function(v){"use strict";class IgnoreWarningsPlugin{constructor(v){this._ignoreWarnings=v}apply(v){v.hooks.compilation.tap("IgnoreWarningsPlugin",(v=>{v.hooks.processWarnings.tap("IgnoreWarningsPlugin",(E=>E.filter((E=>!this._ignoreWarnings.some((P=>P(E,v)))))))}))}}v.exports=IgnoreWarningsPlugin},94252:function(v,E,P){"use strict";const{ConcatSource:R}=P(51255);const $=P(74364);const extractFragmentIndex=(v,E)=>[v,E];const sortFragmentWithIndex=([v,E],[P,R])=>{const $=v.stage-P.stage;if($!==0)return $;const N=v.position-P.position;if(N!==0)return N;return E-R};class InitFragment{constructor(v,E,P,R,$){this.content=v;this.stage=E;this.position=P;this.key=R;this.endContent=$}getContent(v){return this.content}getEndContent(v){return this.endContent}static addToSource(v,E,P){if(E.length>0){const $=E.map(extractFragmentIndex).sort(sortFragmentWithIndex);const N=new Map;for(const[v]of $){if(typeof v.mergeAll==="function"){if(!v.key){throw new Error(`InitFragment with mergeAll function must have a valid key: ${v.constructor.name}`)}const E=N.get(v.key);if(E===undefined){N.set(v.key,v)}else if(Array.isArray(E)){E.push(v)}else{N.set(v.key,[E,v])}continue}else if(typeof v.merge==="function"){const E=N.get(v.key);if(E!==undefined){N.set(v.key,v.merge(E));continue}}N.set(v.key||Symbol(),v)}const L=new R;const q=[];for(let v of N.values()){if(Array.isArray(v)){v=v[0].mergeAll(v)}L.add(v.getContent(P));const E=v.getEndContent(P);if(E){q.push(E)}}L.add(v);for(const v of q.reverse()){L.add(v)}return L}else{return v}}serialize(v){const{write:E}=v;E(this.content);E(this.stage);E(this.position);E(this.key);E(this.endContent)}deserialize(v){const{read:E}=v;this.content=E();this.stage=E();this.position=E();this.key=E();this.endContent=E()}}$(InitFragment,"webpack/lib/InitFragment");InitFragment.prototype.merge=undefined;InitFragment.STAGE_CONSTANTS=10;InitFragment.STAGE_ASYNC_BOUNDARY=20;InitFragment.STAGE_HARMONY_EXPORTS=30;InitFragment.STAGE_HARMONY_IMPORTS=40;InitFragment.STAGE_PROVIDES=50;InitFragment.STAGE_ASYNC_DEPENDENCIES=60;InitFragment.STAGE_ASYNC_HARMONY_IMPORTS=70;v.exports=InitFragment},57836:function(v,E,P){"use strict";const R=P(45425);const $=P(74364);class InvalidDependenciesModuleWarning extends R{constructor(v,E){const P=E?Array.from(E).sort():[];const R=P.map((v=>` * ${JSON.stringify(v)}`));super(`Invalid dependencies have been reported by plugins or loaders for this module. All reported dependencies need to be absolute paths.\nInvalid dependencies may lead to broken watching and caching.\nAs best effort we try to convert all invalid values to absolute paths and converting globs into context dependencies, but this is deprecated behavior.\nLoaders: Pass absolute paths to this.addDependency (existing files), this.addMissingDependency (not existing files), and this.addContextDependency (directories).\nPlugins: Pass absolute paths to fileDependencies (existing files), missingDependencies (not existing files), and contextDependencies (directories).\nGlobs: They are not supported. Pass absolute path to the directory as context dependencies.\nThe following invalid values have been reported:\n${R.slice(0,3).join("\n")}${R.length>3?"\n * and more ...":""}`);this.name="InvalidDependenciesModuleWarning";this.details=R.slice(3).join("\n");this.module=v}}$(InvalidDependenciesModuleWarning,"webpack/lib/InvalidDependenciesModuleWarning");v.exports=InvalidDependenciesModuleWarning},9653:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$,JAVASCRIPT_MODULE_TYPE_ESM:N}=P(98791);const L=P(46906);const q="JavascriptMetaInfoPlugin";class JavascriptMetaInfoPlugin{apply(v){v.hooks.compilation.tap(q,((v,{normalModuleFactory:E})=>{const handler=v=>{v.hooks.call.for("eval").tap(q,(()=>{const E=v.state.module.buildInfo;E.moduleConcatenationBailout="eval()";E.usingEval=true;const P=L.getTopLevelSymbol(v.state);if(P){L.addUsage(v.state,null,P)}else{L.bailout(v.state)}}));v.hooks.finish.tap(q,(()=>{const E=v.state.module.buildInfo;let P=E.topLevelDeclarations;if(P===undefined){P=E.topLevelDeclarations=new Set}for(const E of v.scope.definitions.asSet()){const R=v.getFreeInfoFromVariable(E);if(R===undefined){P.add(E)}}}))};E.hooks.parser.for(R).tap(q,handler);E.hooks.parser.for($).tap(q,handler);E.hooks.parser.for(N).tap(q,handler)}))}}v.exports=JavascriptMetaInfoPlugin},59752:function(v,E,P){"use strict";const R=P(78175);const $=P(93342);const{someInIterable:N}=P(99770);const{compareModulesById:L}=P(80754);const{dirname:q,mkdirp:K}=P(23763);class LibManifestPlugin{constructor(v){this.options=v}apply(v){v.hooks.emit.tapAsync({name:"LibManifestPlugin",stage:110},((E,P)=>{const ae=E.moduleGraph;R.forEach(Array.from(E.chunks),((P,R)=>{if(!P.canBeInitial()){R();return}const ge=E.chunkGraph;const be=E.getPath(this.options.path,{chunk:P});const xe=this.options.name&&E.getPath(this.options.name,{chunk:P,contentHashType:"javascript"});const ve=Object.create(null);for(const E of ge.getOrderedChunkModulesIterable(P,L(ge))){if(this.options.entryOnly&&!N(ae.getIncomingConnections(E),(v=>v.dependency instanceof $))){continue}const P=E.libIdent({context:this.options.context||v.options.context,associatedObjectForCache:v.root});if(P){const v=ae.getExportsInfo(E);const R=v.getProvidedExports();const $={id:ge.getModuleId(E),buildMeta:E.buildMeta,exports:Array.isArray(R)?R:undefined};ve[P]=$}}const Ae={name:xe,type:this.options.type,content:ve};const Ie=this.options.format?JSON.stringify(Ae,null,2):JSON.stringify(Ae);const He=Buffer.from(Ie,"utf8");K(v.intermediateFileSystem,q(v.intermediateFileSystem,be),(E=>{if(E)return R(E);v.intermediateFileSystem.writeFile(be,He,R)}))}),P)}))}}v.exports=LibManifestPlugin},20529:function(v,E,P){"use strict";const R=P(15267);class LibraryTemplatePlugin{constructor(v,E,P,R,$){this.library={type:E||"var",name:v,umdNamedDefine:P,auxiliaryComment:R,export:$}}apply(v){const{output:E}=v.options;E.library=this.library;new R(this.library.type).apply(v)}}v.exports=LibraryTemplatePlugin},39861:function(v,E,P){"use strict";const R=P(13745);const $=P(44208);const N=P(86278);const L=N(P(41599),(()=>P(13200)),{name:"Loader Options Plugin",baseDataPath:"options"});class LoaderOptionsPlugin{constructor(v={}){L(v);if(typeof v!=="object")v={};if(!v.test){const E={test:()=>true};v.test=E}this.options=v}apply(v){const E=this.options;v.hooks.compilation.tap("LoaderOptionsPlugin",(v=>{$.getCompilationHooks(v).loader.tap("LoaderOptionsPlugin",((v,P)=>{const $=P.resource;if(!$)return;const N=$.indexOf("?");if(R.matchObject(E,N<0?$:$.slice(0,N))){for(const P of Object.keys(E)){if(P==="include"||P==="exclude"||P==="test"){continue}v[P]=E[P]}}}))}))}}v.exports=LoaderOptionsPlugin},44346:function(v,E,P){"use strict";const R=P(44208);class LoaderTargetPlugin{constructor(v){this.target=v}apply(v){v.hooks.compilation.tap("LoaderTargetPlugin",(v=>{R.getCompilationHooks(v).loader.tap("LoaderTargetPlugin",(v=>{v.target=this.target}))}))}}v.exports=LoaderTargetPlugin},94466:function(v,E,P){"use strict";const{SyncWaterfallHook:R}=P(79846);const $=P(73837);const N=P(75189);const L=P(49584);const q=L((()=>P(87885)));const K=L((()=>P(10863)));const ae=L((()=>P(80431)));class MainTemplate{constructor(v,E){this._outputOptions=v||{};this.hooks=Object.freeze({renderManifest:{tap:$.deprecate(((v,P)=>{E.hooks.renderManifest.tap(v,((v,E)=>{if(!E.chunk.hasRuntime())return v;return P(v,E)}))}),"MainTemplate.hooks.renderManifest is deprecated (use Compilation.hooks.renderManifest instead)","DEP_WEBPACK_MAIN_TEMPLATE_RENDER_MANIFEST")},modules:{tap:()=>{throw new Error("MainTemplate.hooks.modules has been removed (there is no replacement, please create an issue to request that)")}},moduleObj:{tap:()=>{throw new Error("MainTemplate.hooks.moduleObj has been removed (there is no replacement, please create an issue to request that)")}},require:{tap:$.deprecate(((v,P)=>{q().getCompilationHooks(E).renderRequire.tap(v,P)}),"MainTemplate.hooks.require is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderRequire instead)","DEP_WEBPACK_MAIN_TEMPLATE_REQUIRE")},beforeStartup:{tap:()=>{throw new Error("MainTemplate.hooks.beforeStartup has been removed (use RuntimeGlobals.startupOnlyBefore instead)")}},startup:{tap:()=>{throw new Error("MainTemplate.hooks.startup has been removed (use RuntimeGlobals.startup instead)")}},afterStartup:{tap:()=>{throw new Error("MainTemplate.hooks.afterStartup has been removed (use RuntimeGlobals.startupOnlyAfter instead)")}},render:{tap:$.deprecate(((v,P)=>{q().getCompilationHooks(E).render.tap(v,((v,R)=>{if(R.chunkGraph.getNumberOfEntryModules(R.chunk)===0||!R.chunk.hasRuntime()){return v}return P(v,R.chunk,E.hash,E.moduleTemplates.javascript,E.dependencyTemplates)}))}),"MainTemplate.hooks.render is deprecated (use JavascriptModulesPlugin.getCompilationHooks().render instead)","DEP_WEBPACK_MAIN_TEMPLATE_RENDER")},renderWithEntry:{tap:$.deprecate(((v,P)=>{q().getCompilationHooks(E).render.tap(v,((v,R)=>{if(R.chunkGraph.getNumberOfEntryModules(R.chunk)===0||!R.chunk.hasRuntime()){return v}return P(v,R.chunk,E.hash)}))}),"MainTemplate.hooks.renderWithEntry is deprecated (use JavascriptModulesPlugin.getCompilationHooks().render instead)","DEP_WEBPACK_MAIN_TEMPLATE_RENDER_WITH_ENTRY")},assetPath:{tap:$.deprecate(((v,P)=>{E.hooks.assetPath.tap(v,P)}),"MainTemplate.hooks.assetPath is deprecated (use Compilation.hooks.assetPath instead)","DEP_WEBPACK_MAIN_TEMPLATE_ASSET_PATH"),call:$.deprecate(((v,P)=>E.getAssetPath(v,P)),"MainTemplate.hooks.assetPath is deprecated (use Compilation.hooks.assetPath instead)","DEP_WEBPACK_MAIN_TEMPLATE_ASSET_PATH")},hash:{tap:$.deprecate(((v,P)=>{E.hooks.fullHash.tap(v,P)}),"MainTemplate.hooks.hash is deprecated (use Compilation.hooks.fullHash instead)","DEP_WEBPACK_MAIN_TEMPLATE_HASH")},hashForChunk:{tap:$.deprecate(((v,P)=>{q().getCompilationHooks(E).chunkHash.tap(v,((v,E)=>{if(!v.hasRuntime())return;return P(E,v)}))}),"MainTemplate.hooks.hashForChunk is deprecated (use JavascriptModulesPlugin.getCompilationHooks().chunkHash instead)","DEP_WEBPACK_MAIN_TEMPLATE_HASH_FOR_CHUNK")},globalHashPaths:{tap:$.deprecate((()=>{}),"MainTemplate.hooks.globalHashPaths has been removed (it's no longer needed)","DEP_WEBPACK_MAIN_TEMPLATE_HASH_FOR_CHUNK")},globalHash:{tap:$.deprecate((()=>{}),"MainTemplate.hooks.globalHash has been removed (it's no longer needed)","DEP_WEBPACK_MAIN_TEMPLATE_HASH_FOR_CHUNK")},hotBootstrap:{tap:()=>{throw new Error("MainTemplate.hooks.hotBootstrap has been removed (use your own RuntimeModule instead)")}},bootstrap:new R(["source","chunk","hash","moduleTemplate","dependencyTemplates"]),localVars:new R(["source","chunk","hash"]),requireExtensions:new R(["source","chunk","hash"]),requireEnsure:new R(["source","chunk","hash","chunkIdExpression"]),get jsonpScript(){const v=ae().getCompilationHooks(E);return v.createScript},get linkPrefetch(){const v=K().getCompilationHooks(E);return v.linkPrefetch},get linkPreload(){const v=K().getCompilationHooks(E);return v.linkPreload}});this.renderCurrentHashCode=$.deprecate(((v,E)=>{if(E){return`${N.getFullHash} ? ${N.getFullHash}().slice(0, ${E}) : ${v.slice(0,E)}`}return`${N.getFullHash} ? ${N.getFullHash}() : ${v}`}),"MainTemplate.renderCurrentHashCode is deprecated (use RuntimeGlobals.getFullHash runtime function instead)","DEP_WEBPACK_MAIN_TEMPLATE_RENDER_CURRENT_HASH_CODE");this.getPublicPath=$.deprecate((v=>E.getAssetPath(E.outputOptions.publicPath,v)),"MainTemplate.getPublicPath is deprecated (use Compilation.getAssetPath(compilation.outputOptions.publicPath, options) instead)","DEP_WEBPACK_MAIN_TEMPLATE_GET_PUBLIC_PATH");this.getAssetPath=$.deprecate(((v,P)=>E.getAssetPath(v,P)),"MainTemplate.getAssetPath is deprecated (use Compilation.getAssetPath instead)","DEP_WEBPACK_MAIN_TEMPLATE_GET_ASSET_PATH");this.getAssetPathWithInfo=$.deprecate(((v,P)=>E.getAssetPathWithInfo(v,P)),"MainTemplate.getAssetPathWithInfo is deprecated (use Compilation.getAssetPath instead)","DEP_WEBPACK_MAIN_TEMPLATE_GET_ASSET_PATH_WITH_INFO")}}Object.defineProperty(MainTemplate.prototype,"requireFn",{get:$.deprecate((()=>N.require),`MainTemplate.requireFn is deprecated (use "${N.require}")`,"DEP_WEBPACK_MAIN_TEMPLATE_REQUIRE_FN")});Object.defineProperty(MainTemplate.prototype,"outputOptions",{get:$.deprecate((function(){return this._outputOptions}),"MainTemplate.outputOptions is deprecated (use Compilation.outputOptions instead)","DEP_WEBPACK_MAIN_TEMPLATE_OUTPUT_OPTIONS")});v.exports=MainTemplate},82919:function(v,E,P){"use strict";const R=P(73837);const $=P(33422);const N=P(27449);const L=P(22425);const q=P(75189);const{first:K}=P(57167);const{compareChunksById:ae}=P(80754);const ge=P(74364);const be={};let xe=1e3;const ve=new Set(["unknown"]);const Ae=new Set(["javascript"]);const Ie=R.deprecate(((v,E)=>v.needRebuild(E.fileSystemInfo.getDeprecatedFileTimestamps(),E.fileSystemInfo.getDeprecatedContextTimestamps())),"Module.needRebuild is deprecated in favor of Module.needBuild","DEP_WEBPACK_MODULE_NEED_REBUILD");class Module extends N{constructor(v,E=null,P=null){super();this.type=v;this.context=E;this.layer=P;this.needId=true;this.debugId=xe++;this.resolveOptions=be;this.factoryMeta=undefined;this.useSourceMap=false;this.useSimpleSourceMap=false;this._warnings=undefined;this._errors=undefined;this.buildMeta=undefined;this.buildInfo=undefined;this.presentationalDependencies=undefined;this.codeGenerationDependencies=undefined}get id(){return $.getChunkGraphForModule(this,"Module.id","DEP_WEBPACK_MODULE_ID").getModuleId(this)}set id(v){if(v===""){this.needId=false;return}$.getChunkGraphForModule(this,"Module.id","DEP_WEBPACK_MODULE_ID").setModuleId(this,v)}get hash(){return $.getChunkGraphForModule(this,"Module.hash","DEP_WEBPACK_MODULE_HASH").getModuleHash(this,undefined)}get renderedHash(){return $.getChunkGraphForModule(this,"Module.renderedHash","DEP_WEBPACK_MODULE_RENDERED_HASH").getRenderedModuleHash(this,undefined)}get profile(){return L.getModuleGraphForModule(this,"Module.profile","DEP_WEBPACK_MODULE_PROFILE").getProfile(this)}set profile(v){L.getModuleGraphForModule(this,"Module.profile","DEP_WEBPACK_MODULE_PROFILE").setProfile(this,v)}get index(){return L.getModuleGraphForModule(this,"Module.index","DEP_WEBPACK_MODULE_INDEX").getPreOrderIndex(this)}set index(v){L.getModuleGraphForModule(this,"Module.index","DEP_WEBPACK_MODULE_INDEX").setPreOrderIndex(this,v)}get index2(){return L.getModuleGraphForModule(this,"Module.index2","DEP_WEBPACK_MODULE_INDEX2").getPostOrderIndex(this)}set index2(v){L.getModuleGraphForModule(this,"Module.index2","DEP_WEBPACK_MODULE_INDEX2").setPostOrderIndex(this,v)}get depth(){return L.getModuleGraphForModule(this,"Module.depth","DEP_WEBPACK_MODULE_DEPTH").getDepth(this)}set depth(v){L.getModuleGraphForModule(this,"Module.depth","DEP_WEBPACK_MODULE_DEPTH").setDepth(this,v)}get issuer(){return L.getModuleGraphForModule(this,"Module.issuer","DEP_WEBPACK_MODULE_ISSUER").getIssuer(this)}set issuer(v){L.getModuleGraphForModule(this,"Module.issuer","DEP_WEBPACK_MODULE_ISSUER").setIssuer(this,v)}get usedExports(){return L.getModuleGraphForModule(this,"Module.usedExports","DEP_WEBPACK_MODULE_USED_EXPORTS").getUsedExports(this,undefined)}get optimizationBailout(){return L.getModuleGraphForModule(this,"Module.optimizationBailout","DEP_WEBPACK_MODULE_OPTIMIZATION_BAILOUT").getOptimizationBailout(this)}get optional(){return this.isOptional(L.getModuleGraphForModule(this,"Module.optional","DEP_WEBPACK_MODULE_OPTIONAL"))}addChunk(v){const E=$.getChunkGraphForModule(this,"Module.addChunk","DEP_WEBPACK_MODULE_ADD_CHUNK");if(E.isModuleInChunk(this,v))return false;E.connectChunkAndModule(v,this);return true}removeChunk(v){return $.getChunkGraphForModule(this,"Module.removeChunk","DEP_WEBPACK_MODULE_REMOVE_CHUNK").disconnectChunkAndModule(v,this)}isInChunk(v){return $.getChunkGraphForModule(this,"Module.isInChunk","DEP_WEBPACK_MODULE_IS_IN_CHUNK").isModuleInChunk(this,v)}isEntryModule(){return $.getChunkGraphForModule(this,"Module.isEntryModule","DEP_WEBPACK_MODULE_IS_ENTRY_MODULE").isEntryModule(this)}getChunks(){return $.getChunkGraphForModule(this,"Module.getChunks","DEP_WEBPACK_MODULE_GET_CHUNKS").getModuleChunks(this)}getNumberOfChunks(){return $.getChunkGraphForModule(this,"Module.getNumberOfChunks","DEP_WEBPACK_MODULE_GET_NUMBER_OF_CHUNKS").getNumberOfModuleChunks(this)}get chunksIterable(){return $.getChunkGraphForModule(this,"Module.chunksIterable","DEP_WEBPACK_MODULE_CHUNKS_ITERABLE").getOrderedModuleChunksIterable(this,ae)}isProvided(v){return L.getModuleGraphForModule(this,"Module.usedExports","DEP_WEBPACK_MODULE_USED_EXPORTS").isExportProvided(this,v)}get exportsArgument(){return this.buildInfo&&this.buildInfo.exportsArgument||"exports"}get moduleArgument(){return this.buildInfo&&this.buildInfo.moduleArgument||"module"}getExportsType(v,E){switch(this.buildMeta&&this.buildMeta.exportsType){case"flagged":return E?"default-with-named":"namespace";case"namespace":return"namespace";case"default":switch(this.buildMeta.defaultObject){case"redirect":return"default-with-named";case"redirect-warn":return E?"default-only":"default-with-named";default:return"default-only"}case"dynamic":{if(E)return"default-with-named";const handleDefault=()=>{switch(this.buildMeta.defaultObject){case"redirect":case"redirect-warn":return"default-with-named";default:return"default-only"}};const P=v.getReadOnlyExportInfo(this,"__esModule");if(P.provided===false){return handleDefault()}const R=P.getTarget(v);if(!R||!R.export||R.export.length!==1||R.export[0]!=="__esModule"){return"dynamic"}switch(R.module.buildMeta&&R.module.buildMeta.exportsType){case"flagged":case"namespace":return"namespace";case"default":return handleDefault();default:return"dynamic"}}default:return E?"default-with-named":"dynamic"}}addPresentationalDependency(v){if(this.presentationalDependencies===undefined){this.presentationalDependencies=[]}this.presentationalDependencies.push(v)}addCodeGenerationDependency(v){if(this.codeGenerationDependencies===undefined){this.codeGenerationDependencies=[]}this.codeGenerationDependencies.push(v)}clearDependenciesAndBlocks(){if(this.presentationalDependencies!==undefined){this.presentationalDependencies.length=0}if(this.codeGenerationDependencies!==undefined){this.codeGenerationDependencies.length=0}super.clearDependenciesAndBlocks()}addWarning(v){if(this._warnings===undefined){this._warnings=[]}this._warnings.push(v)}getWarnings(){return this._warnings}getNumberOfWarnings(){return this._warnings!==undefined?this._warnings.length:0}addError(v){if(this._errors===undefined){this._errors=[]}this._errors.push(v)}getErrors(){return this._errors}getNumberOfErrors(){return this._errors!==undefined?this._errors.length:0}clearWarningsAndErrors(){if(this._warnings!==undefined){this._warnings.length=0}if(this._errors!==undefined){this._errors.length=0}}isOptional(v){let E=false;for(const P of v.getIncomingConnections(this)){if(!P.dependency||!P.dependency.optional||!P.isTargetActive(undefined)){return false}E=true}return E}isAccessibleInChunk(v,E,P){for(const P of E.groupsIterable){if(!this.isAccessibleInChunkGroup(v,P))return false}return true}isAccessibleInChunkGroup(v,E,P){const R=new Set([E]);e:for(const $ of R){for(const E of $.chunks){if(E!==P&&v.isModuleInChunk(this,E))continue e}if(E.isInitial())return false;for(const v of E.parentsIterable)R.add(v)}return true}hasReasonForChunk(v,E,P){for(const[R,$]of E.getIncomingConnectionsByOriginModule(this)){if(!$.some((E=>E.isTargetActive(v.runtime))))continue;for(const E of P.getModuleChunksIterable(R)){if(!this.isAccessibleInChunk(P,E,v))return true}}return false}hasReasons(v,E){for(const P of v.getIncomingConnections(this)){if(P.isTargetActive(E))return true}return false}toString(){return`Module[${this.debugId}: ${this.identifier()}]`}needBuild(v,E){E(null,!this.buildMeta||this.needRebuild===Module.prototype.needRebuild||Ie(this,v))}needRebuild(v,E){return true}updateHash(v,E={chunkGraph:$.getChunkGraphForModule(this,"Module.updateHash","DEP_WEBPACK_MODULE_UPDATE_HASH"),runtime:undefined}){const{chunkGraph:P,runtime:R}=E;v.update(P.getModuleGraphHash(this,R));if(this.presentationalDependencies!==undefined){for(const P of this.presentationalDependencies){P.updateHash(v,E)}}super.updateHash(v,E)}invalidateBuild(){}identifier(){const v=P(86478);throw new v}readableIdentifier(v){const E=P(86478);throw new E}build(v,E,R,$,N){const L=P(86478);throw new L}getSourceTypes(){if(this.source===Module.prototype.source){return ve}else{return Ae}}source(v,E,R="javascript"){if(this.codeGeneration===Module.prototype.codeGeneration){const v=P(86478);throw new v}const N=$.getChunkGraphForModule(this,"Module.source() is deprecated. Use Compilation.codeGenerationResults.getSource(module, runtime, type) instead","DEP_WEBPACK_MODULE_SOURCE");const L={dependencyTemplates:v,runtimeTemplate:E,moduleGraph:N.moduleGraph,chunkGraph:N,runtime:undefined,codeGenerationResults:undefined};const q=this.codeGeneration(L).sources;return R?q.get(R):q.get(K(this.getSourceTypes()))}size(v){const E=P(86478);throw new E}libIdent(v){return null}nameForCondition(){return null}getConcatenationBailoutReason(v){return`Module Concatenation is not implemented for ${this.constructor.name}`}getSideEffectsConnectionState(v){return true}codeGeneration(v){const E=new Map;for(const P of this.getSourceTypes()){if(P!=="unknown"){E.set(P,this.source(v.dependencyTemplates,v.runtimeTemplate,P))}}return{sources:E,runtimeRequirements:new Set([q.module,q.exports,q.require])}}chunkCondition(v,E){return true}hasChunkCondition(){return this.chunkCondition!==Module.prototype.chunkCondition}updateCacheModule(v){this.type=v.type;this.layer=v.layer;this.context=v.context;this.factoryMeta=v.factoryMeta;this.resolveOptions=v.resolveOptions}getUnsafeCacheData(){return{factoryMeta:this.factoryMeta,resolveOptions:this.resolveOptions}}_restoreFromUnsafeCache(v,E){this.factoryMeta=v.factoryMeta;this.resolveOptions=v.resolveOptions}cleanupForCache(){this.factoryMeta=undefined;this.resolveOptions=undefined}originalSource(){return null}addCacheDependencies(v,E,P,R){}serialize(v){const{write:E}=v;E(this.type);E(this.layer);E(this.context);E(this.resolveOptions);E(this.factoryMeta);E(this.useSourceMap);E(this.useSimpleSourceMap);E(this._warnings!==undefined&&this._warnings.length===0?undefined:this._warnings);E(this._errors!==undefined&&this._errors.length===0?undefined:this._errors);E(this.buildMeta);E(this.buildInfo);E(this.presentationalDependencies);E(this.codeGenerationDependencies);super.serialize(v)}deserialize(v){const{read:E}=v;this.type=E();this.layer=E();this.context=E();this.resolveOptions=E();this.factoryMeta=E();this.useSourceMap=E();this.useSimpleSourceMap=E();this._warnings=E();this._errors=E();this.buildMeta=E();this.buildInfo=E();this.presentationalDependencies=E();this.codeGenerationDependencies=E();super.deserialize(v)}}ge(Module,"webpack/lib/Module");Object.defineProperty(Module.prototype,"hasEqualsChunks",{get(){throw new Error("Module.hasEqualsChunks was renamed (use hasEqualChunks instead)")}});Object.defineProperty(Module.prototype,"isUsed",{get(){throw new Error("Module.isUsed was renamed (use getUsedName, isExportUsed or isModuleUsed instead)")}});Object.defineProperty(Module.prototype,"errors",{get:R.deprecate((function(){if(this._errors===undefined){this._errors=[]}return this._errors}),"Module.errors was removed (use getErrors instead)","DEP_WEBPACK_MODULE_ERRORS")});Object.defineProperty(Module.prototype,"warnings",{get:R.deprecate((function(){if(this._warnings===undefined){this._warnings=[]}return this._warnings}),"Module.warnings was removed (use getWarnings instead)","DEP_WEBPACK_MODULE_WARNINGS")});Object.defineProperty(Module.prototype,"used",{get(){throw new Error("Module.used was refactored (use ModuleGraph.getUsedExports instead)")},set(v){throw new Error("Module.used was refactored (use ModuleGraph.setUsedExports instead)")}});v.exports=Module},41450:function(v,E,P){"use strict";const{cutOffLoaderExecution:R}=P(5636);const $=P(45425);const N=P(74364);class ModuleBuildError extends ${constructor(v,{from:E=null}={}){let P="Module build failed";let $=undefined;if(E){P+=` (from ${E}):\n`}else{P+=": "}if(v!==null&&typeof v==="object"){if(typeof v.stack==="string"&&v.stack){const E=R(v.stack);if(!v.hideStack){P+=E}else{$=E;if(typeof v.message==="string"&&v.message){P+=v.message}else{P+=v}}}else if(typeof v.message==="string"&&v.message){P+=v.message}else{P+=String(v)}}else{P+=String(v)}super(P);this.name="ModuleBuildError";this.details=$;this.error=v}serialize(v){const{write:E}=v;E(this.error);super.serialize(v)}deserialize(v){const{read:E}=v;this.error=E();super.deserialize(v)}}N(ModuleBuildError,"webpack/lib/ModuleBuildError");v.exports=ModuleBuildError},71198:function(v,E,P){"use strict";const R=P(45425);class ModuleDependencyError extends R{constructor(v,E,P){super(E.message);this.name="ModuleDependencyError";this.details=E&&!E.hideStack?E.stack.split("\n").slice(1).join("\n"):undefined;this.module=v;this.loc=P;this.error=E;if(E&&E.hideStack){this.stack=E.stack.split("\n").slice(1).join("\n")+"\n\n"+this.stack}}}v.exports=ModuleDependencyError},68250:function(v,E,P){"use strict";const R=P(45425);const $=P(74364);class ModuleDependencyWarning extends R{constructor(v,E,P){super(E?E.message:"");this.name="ModuleDependencyWarning";this.details=E&&!E.hideStack?E.stack.split("\n").slice(1).join("\n"):undefined;this.module=v;this.loc=P;this.error=E;if(E&&E.hideStack){this.stack=E.stack.split("\n").slice(1).join("\n")+"\n\n"+this.stack}}}$(ModuleDependencyWarning,"webpack/lib/ModuleDependencyWarning");v.exports=ModuleDependencyWarning},75830:function(v,E,P){"use strict";const{cleanUp:R}=P(5636);const $=P(45425);const N=P(74364);class ModuleError extends ${constructor(v,{from:E=null}={}){let P="Module Error";if(E){P+=` (from ${E}):\n`}else{P+=": "}if(v&&typeof v==="object"&&v.message){P+=v.message}else if(v){P+=v}super(P);this.name="ModuleError";this.error=v;this.details=v&&typeof v==="object"&&v.stack?R(v.stack,this.message):undefined}serialize(v){const{write:E}=v;E(this.error);super.serialize(v)}deserialize(v){const{read:E}=v;this.error=E();super.deserialize(v)}}N(ModuleError,"webpack/lib/ModuleError");v.exports=ModuleError},18769:function(v,E,P){"use strict";class ModuleFactory{create(v,E){const R=P(86478);throw new R}}v.exports=ModuleFactory},13745:function(v,E,P){"use strict";const R=P(44208);const $=P(1558);const N=P(49584);const L=E;L.ALL_LOADERS_RESOURCE="[all-loaders][resource]";L.REGEXP_ALL_LOADERS_RESOURCE=/\[all-?loaders\]\[resource\]/gi;L.LOADERS_RESOURCE="[loaders][resource]";L.REGEXP_LOADERS_RESOURCE=/\[loaders\]\[resource\]/gi;L.RESOURCE="[resource]";L.REGEXP_RESOURCE=/\[resource\]/gi;L.ABSOLUTE_RESOURCE_PATH="[absolute-resource-path]";L.REGEXP_ABSOLUTE_RESOURCE_PATH=/\[abs(olute)?-?resource-?path\]/gi;L.RESOURCE_PATH="[resource-path]";L.REGEXP_RESOURCE_PATH=/\[resource-?path\]/gi;L.ALL_LOADERS="[all-loaders]";L.REGEXP_ALL_LOADERS=/\[all-?loaders\]/gi;L.LOADERS="[loaders]";L.REGEXP_LOADERS=/\[loaders\]/gi;L.QUERY="[query]";L.REGEXP_QUERY=/\[query\]/gi;L.ID="[id]";L.REGEXP_ID=/\[id\]/gi;L.HASH="[hash]";L.REGEXP_HASH=/\[hash\]/gi;L.NAMESPACE="[namespace]";L.REGEXP_NAMESPACE=/\[namespace\]/gi;const getAfter=(v,E)=>()=>{const P=v();const R=P.indexOf(E);return R<0?"":P.slice(R)};const getBefore=(v,E)=>()=>{const P=v();const R=P.lastIndexOf(E);return R<0?"":P.slice(0,R)};const getHash=(v,E)=>()=>{const P=$(E);P.update(v());const R=P.digest("hex");return R.slice(0,4)};const asRegExp=v=>{if(typeof v==="string"){v=new RegExp("^"+v.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"))}return v};const lazyObject=v=>{const E={};for(const P of Object.keys(v)){const R=v[P];Object.defineProperty(E,P,{get:()=>R(),set:v=>{Object.defineProperty(E,P,{value:v,enumerable:true,writable:true})},enumerable:true,configurable:true})}return E};const q=/\[\\*([\w-]+)\\*\]/gi;L.createFilename=(v="",E,{requestShortener:P,chunkGraph:$,hashFunction:K="md4"})=>{const ae={namespace:"",moduleFilenameTemplate:"",...typeof E==="object"?E:{moduleFilenameTemplate:E}};let ge;let be;let xe;let ve;let Ae;if(typeof v==="string"){Ae=N((()=>P.shorten(v)));xe=Ae;ve=()=>"";ge=()=>v.split("!").pop();be=getHash(xe,K)}else{Ae=N((()=>v.readableIdentifier(P)));xe=N((()=>P.shorten(v.identifier())));ve=()=>$.getModuleId(v);ge=()=>v instanceof R?v.resource:v.identifier().split("!").pop();be=getHash(xe,K)}const Ie=N((()=>Ae().split("!").pop()));const He=getBefore(Ae,"!");const Qe=getBefore(xe,"!");const Je=getAfter(Ie,"?");const resourcePath=()=>{const v=Je().length;return v===0?Ie():Ie().slice(0,-v)};if(typeof ae.moduleFilenameTemplate==="function"){return ae.moduleFilenameTemplate(lazyObject({identifier:xe,shortIdentifier:Ae,resource:Ie,resourcePath:N(resourcePath),absoluteResourcePath:N(ge),loaders:N(He),allLoaders:N(Qe),query:N(Je),moduleId:N(ve),hash:N(be),namespace:()=>ae.namespace}))}const Ve=new Map([["identifier",xe],["short-identifier",Ae],["resource",Ie],["resource-path",resourcePath],["resourcepath",resourcePath],["absolute-resource-path",ge],["abs-resource-path",ge],["absoluteresource-path",ge],["absresource-path",ge],["absolute-resourcepath",ge],["abs-resourcepath",ge],["absoluteresourcepath",ge],["absresourcepath",ge],["all-loaders",Qe],["allloaders",Qe],["loaders",He],["query",Je],["id",ve],["hash",be],["namespace",()=>ae.namespace]]);return ae.moduleFilenameTemplate.replace(L.REGEXP_ALL_LOADERS_RESOURCE,"[identifier]").replace(L.REGEXP_LOADERS_RESOURCE,"[short-identifier]").replace(q,((v,E)=>{if(E.length+2===v.length){const v=Ve.get(E.toLowerCase());if(v!==undefined){return v()}}else if(v.startsWith("[\\")&&v.endsWith("\\]")){return`[${v.slice(2,-2)}]`}return v}))};L.replaceDuplicates=(v,E,P)=>{const R=Object.create(null);const $=Object.create(null);v.forEach(((v,E)=>{R[v]=R[v]||[];R[v].push(E);$[v]=0}));if(P){Object.keys(R).forEach((v=>{R[v].sort(P)}))}return v.map(((v,N)=>{if(R[v].length>1){if(P&&R[v][0]===N)return v;return E(v,N,$[v]++)}else{return v}}))};L.matchPart=(v,E)=>{if(!E)return true;if(Array.isArray(E)){return E.map(asRegExp).some((E=>E.test(v)))}else{return asRegExp(E).test(v)}};L.matchObject=(v,E)=>{if(v.test){if(!L.matchPart(E,v.test)){return false}}if(v.include){if(!L.matchPart(E,v.include)){return false}}if(v.exclude){if(L.matchPart(E,v.exclude)){return false}}return true}},22425:function(v,E,P){"use strict";const R=P(73837);const $=P(32514);const N=P(76361);const L=P(96543);const q=P(85700);const K=new Set;const getConnectionsByOriginModule=v=>{const E=new Map;let P=0;let R=undefined;for(const $ of v){const{originModule:v}=$;if(P===v){R.push($)}else{P=v;const N=E.get(v);if(N!==undefined){R=N;N.push($)}else{const P=[$];R=P;E.set(v,P)}}}return E};const getConnectionsByModule=v=>{const E=new Map;let P=0;let R=undefined;for(const $ of v){const{module:v}=$;if(P===v){R.push($)}else{P=v;const N=E.get(v);if(N!==undefined){R=N;N.push($)}else{const P=[$];R=P;E.set(v,P)}}}return E};class ModuleGraphModule{constructor(){this.incomingConnections=new L;this.outgoingConnections=undefined;this.issuer=undefined;this.optimizationBailout=[];this.exports=new $;this.preOrderIndex=null;this.postOrderIndex=null;this.depth=null;this.profile=undefined;this.async=false;this._unassignedConnections=undefined}}class ModuleGraph{constructor(){this._dependencyMap=new WeakMap;this._moduleMap=new Map;this._metaMap=new WeakMap;this._cache=undefined;this._moduleMemCaches=undefined;this._cacheStage=undefined}_getModuleGraphModule(v){let E=this._moduleMap.get(v);if(E===undefined){E=new ModuleGraphModule;this._moduleMap.set(v,E)}return E}setParents(v,E,P,R=-1){v._parentDependenciesBlockIndex=R;v._parentDependenciesBlock=E;v._parentModule=P}getParentModule(v){return v._parentModule}getParentBlock(v){return v._parentDependenciesBlock}getParentBlockIndex(v){return v._parentDependenciesBlockIndex}setResolvedModule(v,E,P){const R=new N(v,E,P,undefined,E.weak,E.getCondition(this));const $=this._getModuleGraphModule(P).incomingConnections;$.add(R);if(v){const E=this._getModuleGraphModule(v);if(E._unassignedConnections===undefined){E._unassignedConnections=[]}E._unassignedConnections.push(R);if(E.outgoingConnections===undefined){E.outgoingConnections=new L}E.outgoingConnections.add(R)}else{this._dependencyMap.set(E,R)}}updateModule(v,E){const P=this.getConnection(v);if(P.module===E)return;const R=P.clone();R.module=E;this._dependencyMap.set(v,R);P.setActive(false);const $=this._getModuleGraphModule(P.originModule);$.outgoingConnections.add(R);const N=this._getModuleGraphModule(E);N.incomingConnections.add(R)}removeConnection(v){const E=this.getConnection(v);const P=this._getModuleGraphModule(E.module);P.incomingConnections.delete(E);const R=this._getModuleGraphModule(E.originModule);R.outgoingConnections.delete(E);this._dependencyMap.set(v,null)}addExplanation(v,E){const P=this.getConnection(v);P.addExplanation(E)}cloneModuleAttributes(v,E){const P=this._getModuleGraphModule(v);const R=this._getModuleGraphModule(E);R.postOrderIndex=P.postOrderIndex;R.preOrderIndex=P.preOrderIndex;R.depth=P.depth;R.exports=P.exports;R.async=P.async}removeModuleAttributes(v){const E=this._getModuleGraphModule(v);E.postOrderIndex=null;E.preOrderIndex=null;E.depth=null;E.async=false}removeAllModuleAttributes(){for(const v of this._moduleMap.values()){v.postOrderIndex=null;v.preOrderIndex=null;v.depth=null;v.async=false}}moveModuleConnections(v,E,P){if(v===E)return;const R=this._getModuleGraphModule(v);const $=this._getModuleGraphModule(E);const N=R.outgoingConnections;if(N!==undefined){if($.outgoingConnections===undefined){$.outgoingConnections=new L}const v=$.outgoingConnections;for(const R of N){if(P(R)){R.originModule=E;v.add(R);N.delete(R)}}}const q=R.incomingConnections;const K=$.incomingConnections;for(const v of q){if(P(v)){v.module=E;K.add(v);q.delete(v)}}}copyOutgoingModuleConnections(v,E,P){if(v===E)return;const R=this._getModuleGraphModule(v);const $=this._getModuleGraphModule(E);const N=R.outgoingConnections;if(N!==undefined){if($.outgoingConnections===undefined){$.outgoingConnections=new L}const v=$.outgoingConnections;for(const R of N){if(P(R)){const P=R.clone();P.originModule=E;v.add(P);if(P.module!==undefined){const v=this._getModuleGraphModule(P.module);v.incomingConnections.add(P)}}}}}addExtraReason(v,E){const P=this._getModuleGraphModule(v).incomingConnections;P.add(new N(null,null,v,E))}getResolvedModule(v){const E=this.getConnection(v);return E!==undefined?E.resolvedModule:null}getConnection(v){const E=this._dependencyMap.get(v);if(E===undefined){const E=this.getParentModule(v);if(E!==undefined){const P=this._getModuleGraphModule(E);if(P._unassignedConnections&&P._unassignedConnections.length!==0){let E;for(const R of P._unassignedConnections){this._dependencyMap.set(R.dependency,R);if(R.dependency===v)E=R}P._unassignedConnections.length=0;if(E!==undefined){return E}}}this._dependencyMap.set(v,null);return undefined}return E===null?undefined:E}getModule(v){const E=this.getConnection(v);return E!==undefined?E.module:null}getOrigin(v){const E=this.getConnection(v);return E!==undefined?E.originModule:null}getResolvedOrigin(v){const E=this.getConnection(v);return E!==undefined?E.resolvedOriginModule:null}getIncomingConnections(v){const E=this._getModuleGraphModule(v).incomingConnections;return E}getOutgoingConnections(v){const E=this._getModuleGraphModule(v).outgoingConnections;return E===undefined?K:E}getIncomingConnectionsByOriginModule(v){const E=this._getModuleGraphModule(v).incomingConnections;return E.getFromUnorderedCache(getConnectionsByOriginModule)}getOutgoingConnectionsByModule(v){const E=this._getModuleGraphModule(v).outgoingConnections;return E===undefined?undefined:E.getFromUnorderedCache(getConnectionsByModule)}getProfile(v){const E=this._getModuleGraphModule(v);return E.profile}setProfile(v,E){const P=this._getModuleGraphModule(v);P.profile=E}getIssuer(v){const E=this._getModuleGraphModule(v);return E.issuer}setIssuer(v,E){const P=this._getModuleGraphModule(v);P.issuer=E}setIssuerIfUnset(v,E){const P=this._getModuleGraphModule(v);if(P.issuer===undefined)P.issuer=E}getOptimizationBailout(v){const E=this._getModuleGraphModule(v);return E.optimizationBailout}getProvidedExports(v){const E=this._getModuleGraphModule(v);return E.exports.getProvidedExports()}isExportProvided(v,E){const P=this._getModuleGraphModule(v);const R=P.exports.isExportProvided(E);return R===undefined?null:R}getExportsInfo(v){const E=this._getModuleGraphModule(v);return E.exports}getExportInfo(v,E){const P=this._getModuleGraphModule(v);return P.exports.getExportInfo(E)}getReadOnlyExportInfo(v,E){const P=this._getModuleGraphModule(v);return P.exports.getReadOnlyExportInfo(E)}getUsedExports(v,E){const P=this._getModuleGraphModule(v);return P.exports.getUsedExports(E)}getPreOrderIndex(v){const E=this._getModuleGraphModule(v);return E.preOrderIndex}getPostOrderIndex(v){const E=this._getModuleGraphModule(v);return E.postOrderIndex}setPreOrderIndex(v,E){const P=this._getModuleGraphModule(v);P.preOrderIndex=E}setPreOrderIndexIfUnset(v,E){const P=this._getModuleGraphModule(v);if(P.preOrderIndex===null){P.preOrderIndex=E;return true}return false}setPostOrderIndex(v,E){const P=this._getModuleGraphModule(v);P.postOrderIndex=E}setPostOrderIndexIfUnset(v,E){const P=this._getModuleGraphModule(v);if(P.postOrderIndex===null){P.postOrderIndex=E;return true}return false}getDepth(v){const E=this._getModuleGraphModule(v);return E.depth}setDepth(v,E){const P=this._getModuleGraphModule(v);P.depth=E}setDepthIfLower(v,E){const P=this._getModuleGraphModule(v);if(P.depth===null||P.depth>E){P.depth=E;return true}return false}isAsync(v){const E=this._getModuleGraphModule(v);return E.async}setAsync(v){const E=this._getModuleGraphModule(v);E.async=true}getMeta(v){let E=this._metaMap.get(v);if(E===undefined){E=Object.create(null);this._metaMap.set(v,E)}return E}getMetaIfExisting(v){return this._metaMap.get(v)}freeze(v){this._cache=new q;this._cacheStage=v}unfreeze(){this._cache=undefined;this._cacheStage=undefined}cached(v,...E){if(this._cache===undefined)return v(this,...E);return this._cache.provide(v,...E,(()=>v(this,...E)))}setModuleMemCaches(v){this._moduleMemCaches=v}dependencyCacheProvide(v,...E){const P=E.pop();if(this._moduleMemCaches&&this._cacheStage){const R=this._moduleMemCaches.get(this.getParentModule(v));if(R!==undefined){return R.provide(v,this._cacheStage,...E,(()=>P(this,v,...E)))}}if(this._cache===undefined)return P(this,v,...E);return this._cache.provide(v,...E,(()=>P(this,v,...E)))}static getModuleGraphForModule(v,E,P){const $=ge.get(E);if($)return $(v);const N=R.deprecate((v=>{const P=ae.get(v);if(!P)throw new Error(E+"There was no ModuleGraph assigned to the Module for backward-compat (Use the new API)");return P}),E+": Use new ModuleGraph API",P);ge.set(E,N);return N(v)}static setModuleGraphForModule(v,E){ae.set(v,E)}static clearModuleGraphForModule(v){ae.delete(v)}}const ae=new WeakMap;const ge=new Map;v.exports=ModuleGraph;v.exports.ModuleGraphConnection=N},76361:function(v){"use strict";const E=Symbol("transitive only");const P=Symbol("circular connection");const addConnectionStates=(v,P)=>{if(v===true||P===true)return true;if(v===false)return P;if(P===false)return v;if(v===E)return P;if(P===E)return v;return v};const intersectConnectionStates=(v,E)=>{if(v===false||E===false)return false;if(v===true)return E;if(E===true)return v;if(v===P)return E;if(E===P)return v;return v};class ModuleGraphConnection{constructor(v,E,P,R,$=false,N=undefined){this.originModule=v;this.resolvedOriginModule=v;this.dependency=E;this.resolvedModule=P;this.module=P;this.weak=$;this.conditional=!!N;this._active=N!==false;this.condition=N||undefined;this.explanations=undefined;if(R){this.explanations=new Set;this.explanations.add(R)}}clone(){const v=new ModuleGraphConnection(this.resolvedOriginModule,this.dependency,this.resolvedModule,undefined,this.weak,this.condition);v.originModule=this.originModule;v.module=this.module;v.conditional=this.conditional;v._active=this._active;if(this.explanations)v.explanations=new Set(this.explanations);return v}addCondition(v){if(this.conditional){const E=this.condition;this.condition=(P,R)=>intersectConnectionStates(E(P,R),v(P,R))}else if(this._active){this.conditional=true;this.condition=v}}addExplanation(v){if(this.explanations===undefined){this.explanations=new Set}this.explanations.add(v)}get explanation(){if(this.explanations===undefined)return"";return Array.from(this.explanations).join(" ")}get active(){throw new Error("Use getActiveState instead")}isActive(v){if(!this.conditional)return this._active;return this.condition(this,v)!==false}isTargetActive(v){if(!this.conditional)return this._active;return this.condition(this,v)===true}getActiveState(v){if(!this.conditional)return this._active;return this.condition(this,v)}setActive(v){this.conditional=false;this._active=v}set active(v){throw new Error("Use setActive instead")}}v.exports=ModuleGraphConnection;v.exports.addConnectionStates=addConnectionStates;v.exports.TRANSITIVE_ONLY=E;v.exports.CIRCULAR_CONNECTION=P},49984:function(v,E,P){"use strict";const R=P(45425);class ModuleHashingError extends R{constructor(v,E){super();this.name="ModuleHashingError";this.error=E;this.message=E.message;this.details=E.stack;this.module=v}}v.exports=ModuleHashingError},52143:function(v,E,P){"use strict";const{ConcatSource:R,RawSource:$,CachedSource:N}=P(51255);const{UsageState:L}=P(32514);const q=P(35600);const K=P(87885);const joinIterableWithComma=v=>{let E="";let P=true;for(const R of v){if(P){P=false}else{E+=", "}E+=R}return E};const printExportsInfoToSource=(v,E,P,R,$,N=new Set)=>{const K=P.otherExportsInfo;let ae=0;const ge=[];for(const v of P.orderedExports){if(!N.has(v)){N.add(v);ge.push(v)}else{ae++}}let be=false;if(!N.has(K)){N.add(K);be=true}else{ae++}for(const P of ge){const L=P.getTarget(R);v.add(q.toComment(`${E}export ${JSON.stringify(P.name).slice(1,-1)} [${P.getProvidedInfo()}] [${P.getUsedInfo()}] [${P.getRenameInfo()}]${L?` -> ${L.module.readableIdentifier($)}${L.export?` .${L.export.map((v=>JSON.stringify(v).slice(1,-1))).join(".")}`:""}`:""}`)+"\n");if(P.exportsInfo){printExportsInfoToSource(v,E+" ",P.exportsInfo,R,$,N)}}if(ae){v.add(q.toComment(`${E}... (${ae} already listed exports)`)+"\n")}if(be){const P=K.getTarget(R);if(P||K.provided!==false||K.getUsed(undefined)!==L.Unused){const R=ge.length>0||ae>0?"other exports":"exports";v.add(q.toComment(`${E}${R} [${K.getProvidedInfo()}] [${K.getUsedInfo()}]${P?` -> ${P.module.readableIdentifier($)}`:""}`)+"\n")}}};const ae=new WeakMap;class ModuleInfoHeaderPlugin{constructor(v=true){this._verbose=v}apply(v){const{_verbose:E}=this;v.hooks.compilation.tap("ModuleInfoHeaderPlugin",(v=>{const P=K.getCompilationHooks(v);P.renderModulePackage.tap("ModuleInfoHeaderPlugin",((v,P,{chunk:L,chunkGraph:K,moduleGraph:ge,runtimeTemplate:be})=>{const{requestShortener:xe}=be;let ve;let Ae=ae.get(xe);if(Ae===undefined){ae.set(xe,Ae=new WeakMap);Ae.set(P,ve={header:undefined,full:new WeakMap})}else{ve=Ae.get(P);if(ve===undefined){Ae.set(P,ve={header:undefined,full:new WeakMap})}else if(!E){const E=ve.full.get(v);if(E!==undefined)return E}}const Ie=new R;let He=ve.header;if(He===undefined){const v=P.readableIdentifier(xe);const E=v.replace(/\*\//g,"*_/");const R="*".repeat(E.length);const N=`/*!****${R}****!*\\\n !*** ${E} ***!\n \\****${R}****/\n`;He=new $(N);ve.header=He}Ie.add(He);if(E){const E=P.buildMeta.exportsType;Ie.add(q.toComment(E?`${E} exports`:"unknown exports (runtime-defined)")+"\n");if(E){const v=ge.getExportsInfo(P);printExportsInfoToSource(Ie,"",v,ge,xe)}Ie.add(q.toComment(`runtime requirements: ${joinIterableWithComma(K.getModuleRuntimeRequirements(P,L.runtime))}`)+"\n");const R=ge.getOptimizationBailout(P);if(R){for(const v of R){let E;if(typeof v==="function"){E=v(xe)}else{E=v}Ie.add(q.toComment(`${E}`)+"\n")}}Ie.add(v);return Ie}else{Ie.add(v);const E=new N(Ie);ve.full.set(v,E);return E}}));P.chunkHash.tap("ModuleInfoHeaderPlugin",((v,E)=>{E.update("ModuleInfoHeaderPlugin");E.update("1")}))}))}}v.exports=ModuleInfoHeaderPlugin},41810:function(v,E,P){"use strict";const R=P(45425);const $={assert:"assert/",buffer:"buffer/",console:"console-browserify",constants:"constants-browserify",crypto:"crypto-browserify",domain:"domain-browser",events:"events/",http:"stream-http",https:"https-browserify",os:"os-browserify/browser",path:"path-browserify",punycode:"punycode/",process:"process/browser",querystring:"querystring-es3",stream:"stream-browserify",_stream_duplex:"readable-stream/duplex",_stream_passthrough:"readable-stream/passthrough",_stream_readable:"readable-stream/readable",_stream_transform:"readable-stream/transform",_stream_writable:"readable-stream/writable",string_decoder:"string_decoder/",sys:"util/",timers:"timers-browserify",tty:"tty-browserify",url:"url/",util:"util/",vm:"vm-browserify",zlib:"browserify-zlib"};class ModuleNotFoundError extends R{constructor(v,E,P){let R=`Module not found: ${E.toString()}`;const N=E.message.match(/Can't resolve '([^']+)'/);if(N){const v=N[1];const E=$[v];if(E){const P=E.indexOf("/");const $=P>0?E.slice(0,P):E;R+="\n\n"+"BREAKING CHANGE: "+"webpack < 5 used to include polyfills for node.js core modules by default.\n"+"This is no longer the case. Verify if you need this module and configure a polyfill for it.\n\n";R+="If you want to include a polyfill, you need to:\n"+`\t- add a fallback 'resolve.fallback: { "${v}": require.resolve("${E}") }'\n`+`\t- install '${$}'\n`;R+="If you don't want to include a polyfill, you can use an empty module like this:\n"+`\tresolve.fallback: { "${v}": false }`}}super(R);this.name="ModuleNotFoundError";this.details=E.details;this.module=v;this.error=E;this.loc=P}}v.exports=ModuleNotFoundError},78314:function(v,E,P){"use strict";const R=P(45425);const $=P(74364);const N=Buffer.from([0,97,115,109]);class ModuleParseError extends R{constructor(v,E,P,R){let $="Module parse failed: "+(E&&E.message);let L=undefined;if((Buffer.isBuffer(v)&&v.slice(0,4).equals(N)||typeof v==="string"&&/^\0asm/.test(v))&&!R.startsWith("webassembly")){$+="\nThe module seem to be a WebAssembly module, but module is not flagged as WebAssembly module for webpack.";$+="\nBREAKING CHANGE: Since webpack 5 WebAssembly is not enabled by default and flagged as experimental feature.";$+="\nYou need to enable one of the WebAssembly experiments via 'experiments.asyncWebAssembly: true' (based on async modules) or 'experiments.syncWebAssembly: true' (like webpack 4, deprecated).";$+="\nFor files that transpile to WebAssembly, make sure to set the module type in the 'module.rules' section of the config (e. g. 'type: \"webassembly/async\"')."}else if(!P){$+="\nYou may need an appropriate loader to handle this file type."}else if(P.length>=1){$+=`\nFile was processed with these loaders:${P.map((v=>`\n * ${v}`)).join("")}`;$+="\nYou may need an additional loader to handle the result of these loaders."}else{$+="\nYou may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders"}if(E&&E.loc&&typeof E.loc==="object"&&typeof E.loc.line==="number"){var q=E.loc.line;if(Buffer.isBuffer(v)||/[\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007]/.test(v)){$+="\n(Source code omitted for this binary file)"}else{const E=v.split(/\r?\n/);const P=Math.max(0,q-3);const R=E.slice(P,q-1);const N=E[q-1];const L=E.slice(q,q+2);$+=R.map((v=>`\n| ${v}`)).join("")+`\n> ${N}`+L.map((v=>`\n| ${v}`)).join("")}L={start:E.loc}}else if(E&&E.stack){$+="\n"+E.stack}super($);this.name="ModuleParseError";this.loc=L;this.error=E}serialize(v){const{write:E}=v;E(this.error);super.serialize(v)}deserialize(v){const{read:E}=v;this.error=E();super.deserialize(v)}}$(ModuleParseError,"webpack/lib/ModuleParseError");v.exports=ModuleParseError},84067:function(v){"use strict";class ModuleProfile{constructor(){this.startTime=Date.now();this.factoryStartTime=0;this.factoryEndTime=0;this.factory=0;this.factoryParallelismFactor=0;this.restoringStartTime=0;this.restoringEndTime=0;this.restoring=0;this.restoringParallelismFactor=0;this.integrationStartTime=0;this.integrationEndTime=0;this.integration=0;this.integrationParallelismFactor=0;this.buildingStartTime=0;this.buildingEndTime=0;this.building=0;this.buildingParallelismFactor=0;this.storingStartTime=0;this.storingEndTime=0;this.storing=0;this.storingParallelismFactor=0;this.additionalFactoryTimes=undefined;this.additionalFactories=0;this.additionalFactoriesParallelismFactor=0;this.additionalIntegration=0}markFactoryStart(){this.factoryStartTime=Date.now()}markFactoryEnd(){this.factoryEndTime=Date.now();this.factory=this.factoryEndTime-this.factoryStartTime}markRestoringStart(){this.restoringStartTime=Date.now()}markRestoringEnd(){this.restoringEndTime=Date.now();this.restoring=this.restoringEndTime-this.restoringStartTime}markIntegrationStart(){this.integrationStartTime=Date.now()}markIntegrationEnd(){this.integrationEndTime=Date.now();this.integration=this.integrationEndTime-this.integrationStartTime}markBuildingStart(){this.buildingStartTime=Date.now()}markBuildingEnd(){this.buildingEndTime=Date.now();this.building=this.buildingEndTime-this.buildingStartTime}markStoringStart(){this.storingStartTime=Date.now()}markStoringEnd(){this.storingEndTime=Date.now();this.storing=this.storingEndTime-this.storingStartTime}mergeInto(v){v.additionalFactories=this.factory;(v.additionalFactoryTimes=v.additionalFactoryTimes||[]).push({start:this.factoryStartTime,end:this.factoryEndTime})}}v.exports=ModuleProfile},6779:function(v,E,P){"use strict";const R=P(45425);class ModuleRestoreError extends R{constructor(v,E){let P="Module restore failed: ";let R=undefined;if(E!==null&&typeof E==="object"){if(typeof E.stack==="string"&&E.stack){const v=E.stack;P+=v}else if(typeof E.message==="string"&&E.message){P+=E.message}else{P+=E}}else{P+=String(E)}super(P);this.name="ModuleRestoreError";this.details=R;this.module=v;this.error=E}}v.exports=ModuleRestoreError},92405:function(v,E,P){"use strict";const R=P(45425);class ModuleStoreError extends R{constructor(v,E){let P="Module storing failed: ";let R=undefined;if(E!==null&&typeof E==="object"){if(typeof E.stack==="string"&&E.stack){const v=E.stack;P+=v}else if(typeof E.message==="string"&&E.message){P+=E.message}else{P+=E}}else{P+=String(E)}super(P);this.name="ModuleStoreError";this.details=R;this.module=v;this.error=E}}v.exports=ModuleStoreError},22928:function(v,E,P){"use strict";const R=P(73837);const $=P(49584);const N=$((()=>P(87885)));class ModuleTemplate{constructor(v,E){this._runtimeTemplate=v;this.type="javascript";this.hooks=Object.freeze({content:{tap:R.deprecate(((v,P)=>{N().getCompilationHooks(E).renderModuleContent.tap(v,((v,E,R)=>P(v,E,R,R.dependencyTemplates)))}),"ModuleTemplate.hooks.content is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderModuleContent instead)","DEP_MODULE_TEMPLATE_CONTENT")},module:{tap:R.deprecate(((v,P)=>{N().getCompilationHooks(E).renderModuleContent.tap(v,((v,E,R)=>P(v,E,R,R.dependencyTemplates)))}),"ModuleTemplate.hooks.module is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderModuleContent instead)","DEP_MODULE_TEMPLATE_MODULE")},render:{tap:R.deprecate(((v,P)=>{N().getCompilationHooks(E).renderModuleContainer.tap(v,((v,E,R)=>P(v,E,R,R.dependencyTemplates)))}),"ModuleTemplate.hooks.render is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderModuleContainer instead)","DEP_MODULE_TEMPLATE_RENDER")},package:{tap:R.deprecate(((v,P)=>{N().getCompilationHooks(E).renderModulePackage.tap(v,((v,E,R)=>P(v,E,R,R.dependencyTemplates)))}),"ModuleTemplate.hooks.package is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderModulePackage instead)","DEP_MODULE_TEMPLATE_PACKAGE")},hash:{tap:R.deprecate(((v,P)=>{E.hooks.fullHash.tap(v,P)}),"ModuleTemplate.hooks.hash is deprecated (use Compilation.hooks.fullHash instead)","DEP_MODULE_TEMPLATE_HASH")}})}}Object.defineProperty(ModuleTemplate.prototype,"runtimeTemplate",{get:R.deprecate((function(){return this._runtimeTemplate}),"ModuleTemplate.runtimeTemplate is deprecated (use Compilation.runtimeTemplate instead)","DEP_WEBPACK_CHUNK_TEMPLATE_OUTPUT_OPTIONS")});v.exports=ModuleTemplate},98791:function(v,E){"use strict";const P="javascript/auto";const R="javascript/dynamic";const $="javascript/esm";const N="json";const L="webassembly/async";const q="webassembly/sync";const K="css";const ae="css/global";const ge="css/module";const be="css/auto";const xe="asset";const ve="asset/inline";const Ae="asset/resource";const Ie="asset/source";const He="asset/raw-data-url";const Qe="runtime";const Je="fallback-module";const Ve="remote-module";const Ke="provide-module";const Ye="consume-shared-module";const Xe="lazy-compilation-proxy";E.ASSET_MODULE_TYPE=xe;E.ASSET_MODULE_TYPE_RAW_DATA_URL=He;E.ASSET_MODULE_TYPE_SOURCE=Ie;E.ASSET_MODULE_TYPE_RESOURCE=Ae;E.ASSET_MODULE_TYPE_INLINE=ve;E.JAVASCRIPT_MODULE_TYPE_AUTO=P;E.JAVASCRIPT_MODULE_TYPE_DYNAMIC=R;E.JAVASCRIPT_MODULE_TYPE_ESM=$;E.JSON_MODULE_TYPE=N;E.WEBASSEMBLY_MODULE_TYPE_ASYNC=L;E.WEBASSEMBLY_MODULE_TYPE_SYNC=q;E.CSS_MODULE_TYPE=K;E.CSS_MODULE_TYPE_GLOBAL=ae;E.CSS_MODULE_TYPE_MODULE=ge;E.CSS_MODULE_TYPE_AUTO=be;E.WEBPACK_MODULE_TYPE_RUNTIME=Qe;E.WEBPACK_MODULE_TYPE_FALLBACK=Je;E.WEBPACK_MODULE_TYPE_REMOTE=Ve;E.WEBPACK_MODULE_TYPE_PROVIDE=Ke;E.WEBPACK_MODULE_TYPE_CONSUME_SHARED_MODULE=Ye;E.WEBPACK_MODULE_TYPE_LAZY_COMPILATION_PROXY=Xe},76747:function(v,E,P){"use strict";const{cleanUp:R}=P(5636);const $=P(45425);const N=P(74364);class ModuleWarning extends ${constructor(v,{from:E=null}={}){let P="Module Warning";if(E){P+=` (from ${E}):\n`}else{P+=": "}if(v&&typeof v==="object"&&v.message){P+=v.message}else if(v){P+=String(v)}super(P);this.name="ModuleWarning";this.warning=v;this.details=v&&typeof v==="object"&&v.stack?R(v.stack,this.message):undefined}serialize(v){const{write:E}=v;E(this.warning);super.serialize(v)}deserialize(v){const{read:E}=v;this.warning=E();super.deserialize(v)}}N(ModuleWarning,"webpack/lib/ModuleWarning");v.exports=ModuleWarning},57828:function(v,E,P){"use strict";const R=P(78175);const{SyncHook:$,MultiHook:N}=P(79846);const L=P(89027);const q=P(60872);const K=P(82087);const ae=P(88622);v.exports=class MultiCompiler{constructor(v,E){if(!Array.isArray(v)){v=Object.keys(v).map((E=>{v[E].name=E;return v[E]}))}this.hooks=Object.freeze({done:new $(["stats"]),invalid:new N(v.map((v=>v.hooks.invalid))),run:new N(v.map((v=>v.hooks.run))),watchClose:new $([]),watchRun:new N(v.map((v=>v.hooks.watchRun))),infrastructureLog:new N(v.map((v=>v.hooks.infrastructureLog)))});this.compilers=v;this._options={parallelism:E.parallelism||Infinity};this.dependencies=new WeakMap;this.running=false;const P=this.compilers.map((()=>null));let R=0;for(let v=0;v{if(!N){N=true;R++}P[$]=v;if(R===this.compilers.length){this.hooks.done.call(new q(P))}}));E.hooks.invalid.tap("MultiCompiler",(()=>{if(N){N=false;R--}}))}}get options(){return Object.assign(this.compilers.map((v=>v.options)),this._options)}get outputPath(){let v=this.compilers[0].outputPath;for(const E of this.compilers){while(E.outputPath.indexOf(v)!==0&&/[/\\]/.test(v)){v=v.replace(/[/\\][^/\\]*$/,"")}}if(!v&&this.compilers[0].outputPath[0]==="/")return"/";return v}get inputFileSystem(){throw new Error("Cannot read inputFileSystem of a MultiCompiler")}get outputFileSystem(){throw new Error("Cannot read outputFileSystem of a MultiCompiler")}get watchFileSystem(){throw new Error("Cannot read watchFileSystem of a MultiCompiler")}get intermediateFileSystem(){throw new Error("Cannot read outputFileSystem of a MultiCompiler")}set inputFileSystem(v){for(const E of this.compilers){E.inputFileSystem=v}}set outputFileSystem(v){for(const E of this.compilers){E.outputFileSystem=v}}set watchFileSystem(v){for(const E of this.compilers){E.watchFileSystem=v}}set intermediateFileSystem(v){for(const E of this.compilers){E.intermediateFileSystem=v}}getInfrastructureLogger(v){return this.compilers[0].getInfrastructureLogger(v)}setDependencies(v,E){this.dependencies.set(v,E)}validateDependencies(v){const E=new Set;const P=[];const targetFound=v=>{for(const P of E){if(P.target===v){return true}}return false};const sortEdges=(v,E)=>v.source.name.localeCompare(E.source.name)||v.target.name.localeCompare(E.target.name);for(const v of this.compilers){const R=this.dependencies.get(v);if(R){for(const $ of R){const R=this.compilers.find((v=>v.name===$));if(!R){P.push($)}else{E.add({source:v,target:R})}}}}const R=P.map((v=>`Compiler dependency \`${v}\` not found.`));const $=this.compilers.filter((v=>!targetFound(v)));while($.length>0){const v=$.pop();for(const P of E){if(P.source===v){E.delete(P);const v=P.target;if(!targetFound(v)){$.push(v)}}}}if(E.size>0){const v=Array.from(E).sort(sortEdges).map((v=>`${v.source.name} -> ${v.target.name}`));v.unshift("Circular dependency found in compiler dependencies.");R.unshift(v.join("\n"))}if(R.length>0){const E=R.join("\n");v(new Error(E));return false}return true}runWithDependencies(v,E,P){const $=new Set;let N=v;const isDependencyFulfilled=v=>$.has(v);const getReadyCompilers=()=>{let v=[];let E=N;N=[];for(const P of E){const E=this.dependencies.get(P);const R=!E||E.every(isDependencyFulfilled);if(R){v.push(P)}else{N.push(P)}}return v};const runCompilers=v=>{if(N.length===0)return v();R.map(getReadyCompilers(),((v,P)=>{E(v,(E=>{if(E)return P(E);$.add(v.name);runCompilers(P)}))}),v)};runCompilers(P)}_runGraph(v,E,P){const $=this.compilers.map((v=>({compiler:v,setupResult:undefined,result:undefined,state:"blocked",children:[],parents:[]})));const N=new Map;for(const v of $)N.set(v.compiler.name,v);for(const v of $){const E=this.dependencies.get(v.compiler);if(!E)continue;for(const P of E){const E=N.get(P);v.parents.push(E);E.children.push(v)}}const L=new ae;for(const v of $){if(v.parents.length===0){v.state="queued";L.enqueue(v)}}let K=false;let ge=0;const be=this._options.parallelism;const nodeDone=(v,E,N)=>{if(K)return;if(E){K=true;return R.each($,((v,E)=>{if(v.compiler.watching){v.compiler.watching.close(E)}else{E()}}),(()=>P(E)))}v.result=N;ge--;if(v.state==="running"){v.state="done";for(const E of v.children){if(E.state==="blocked")L.enqueue(E)}}else if(v.state==="running-outdated"){v.state="blocked";L.enqueue(v)}processQueue()};const nodeInvalidFromParent=v=>{if(v.state==="done"){v.state="blocked"}else if(v.state==="running"){v.state="running-outdated"}for(const E of v.children){nodeInvalidFromParent(E)}};const nodeInvalid=v=>{if(v.state==="done"){v.state="pending"}else if(v.state==="running"){v.state="running-outdated"}for(const E of v.children){nodeInvalidFromParent(E)}};const nodeChange=v=>{nodeInvalid(v);if(v.state==="pending"){v.state="blocked"}if(v.state==="blocked"){L.enqueue(v);processQueue()}};const xe=[];$.forEach(((E,P)=>{xe.push(E.setupResult=v(E.compiler,P,nodeDone.bind(null,E),(()=>E.state!=="starting"&&E.state!=="running"),(()=>nodeChange(E)),(()=>nodeInvalid(E))))}));let ve=true;const processQueue=()=>{if(ve)return;ve=true;process.nextTick(processQueueWorker)};const processQueueWorker=()=>{while(ge0&&!K){const v=L.dequeue();if(v.state==="queued"||v.state==="blocked"&&v.parents.every((v=>v.state==="done"))){ge++;v.state="starting";E(v.compiler,v.setupResult,nodeDone.bind(null,v));v.state="running"}}ve=false;if(!K&&ge===0&&$.every((v=>v.state==="done"))){const v=[];for(const E of $){const P=E.result;if(P){E.result=undefined;v.push(P)}}if(v.length>0){P(null,new q(v))}}};processQueueWorker();return xe}watch(v,E){if(this.running){return E(new L)}this.running=true;if(this.validateDependencies(E)){const P=this._runGraph(((E,P,R,$,N,L)=>{const q=E.watch(Array.isArray(v)?v[P]:v,R);if(q){q._onInvalid=L;q._onChange=N;q._isBlocked=$}return q}),((v,E,P)=>{if(v.watching!==E)return;if(!E.running)E.invalidate()}),E);return new K(P,this)}return new K([],this)}run(v){if(this.running){return v(new L)}this.running=true;if(this.validateDependencies(v)){this._runGraph((()=>{}),((v,E,P)=>v.run(P)),((E,P)=>{this.running=false;if(v!==undefined){return v(E,P)}}))}}purgeInputFileSystem(){for(const v of this.compilers){if(v.inputFileSystem&&v.inputFileSystem.purge){v.inputFileSystem.purge()}}}close(v){R.each(this.compilers,((v,E)=>{v.close(E)}),v)}}},60872:function(v,E,P){"use strict";const R=P(94778);const indent=(v,E)=>{const P=v.replace(/\n([^\n])/g,"\n"+E+"$1");return E+P};class MultiStats{constructor(v){this.stats=v}get hash(){return this.stats.map((v=>v.hash)).join("")}hasErrors(){return this.stats.some((v=>v.hasErrors()))}hasWarnings(){return this.stats.some((v=>v.hasWarnings()))}_createChildOptions(v,E){if(!v){v={}}const{children:P=undefined,...R}=typeof v==="string"?{preset:v}:v;const $=this.stats.map(((v,$)=>{const N=Array.isArray(P)?P[$]:P;return v.compilation.createStatsOptions({...R,...typeof N==="string"?{preset:N}:N&&typeof N==="object"?N:undefined},E)}));return{version:$.every((v=>v.version)),hash:$.every((v=>v.hash)),errorsCount:$.every((v=>v.errorsCount)),warningsCount:$.every((v=>v.warningsCount)),errors:$.every((v=>v.errors)),warnings:$.every((v=>v.warnings)),children:$}}toJson(v){v=this._createChildOptions(v,{forToString:false});const E={};E.children=this.stats.map(((E,P)=>{const $=E.toJson(v.children[P]);const N=E.compilation.name;const L=N&&R.makePathsRelative(v.context,N,E.compilation.compiler.root);$.name=L;return $}));if(v.version){E.version=E.children[0].version}if(v.hash){E.hash=E.children.map((v=>v.hash)).join("")}const mapError=(v,E)=>({...E,compilerPath:E.compilerPath?`${v.name}.${E.compilerPath}`:v.name});if(v.errors){E.errors=[];for(const v of E.children){for(const P of v.errors){E.errors.push(mapError(v,P))}}}if(v.warnings){E.warnings=[];for(const v of E.children){for(const P of v.warnings){E.warnings.push(mapError(v,P))}}}if(v.errorsCount){E.errorsCount=0;for(const v of E.children){E.errorsCount+=v.errorsCount}}if(v.warningsCount){E.warningsCount=0;for(const v of E.children){E.warningsCount+=v.warningsCount}}return E}toString(v){v=this._createChildOptions(v,{forToString:true});const E=this.stats.map(((E,P)=>{const $=E.toString(v.children[P]);const N=E.compilation.name;const L=N&&R.makePathsRelative(v.context,N,E.compilation.compiler.root).replace(/\|/g," ");if(!$)return $;return L?`${L}:\n${indent($," ")}`:$}));return E.filter(Boolean).join("\n\n")}}v.exports=MultiStats},82087:function(v,E,P){"use strict";const R=P(78175);class MultiWatching{constructor(v,E){this.watchings=v;this.compiler=E}invalidate(v){if(v){R.each(this.watchings,((v,E)=>v.invalidate(E)),v)}else{for(const v of this.watchings){v.invalidate()}}}suspend(){for(const v of this.watchings){v.suspend()}}resume(){for(const v of this.watchings){v.resume()}}close(v){R.forEach(this.watchings,((v,E)=>{v.close(E)}),(E=>{this.compiler.hooks.watchClose.call();if(typeof v==="function"){this.compiler.running=false;v(E)}}))}}v.exports=MultiWatching},85793:function(v){"use strict";class NoEmitOnErrorsPlugin{apply(v){v.hooks.shouldEmit.tap("NoEmitOnErrorsPlugin",(v=>{if(v.getStats().hasErrors())return false}));v.hooks.compilation.tap("NoEmitOnErrorsPlugin",(v=>{v.hooks.shouldRecord.tap("NoEmitOnErrorsPlugin",(()=>{if(v.getStats().hasErrors())return false}))}))}}v.exports=NoEmitOnErrorsPlugin},57941:function(v,E,P){"use strict";const R=P(45425);v.exports=class NoModeWarning extends R{constructor(){super();this.name="NoModeWarning";this.message="configuration\n"+"The 'mode' option has not been set, webpack will fallback to 'production' for this value.\n"+"Set 'mode' option to 'development' or 'production' to enable defaults for each environment.\n"+"You can also set it to 'none' to disable any default behavior. "+"Learn more: https://webpack.js.org/configuration/mode/"}}},3044:function(v,E,P){"use strict";const R=P(45425);const $=P(74364);class NodeStuffInWebError extends R{constructor(v,E,P){super(`${JSON.stringify(E)} has been used, it will be undefined in next major version.\n${P}`);this.name="NodeStuffInWebError";this.loc=v}}$(NodeStuffInWebError,"webpack/lib/NodeStuffInWebError");v.exports=NodeStuffInWebError},47911:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$}=P(98791);const N=P(3044);const L=P(75189);const q=P(76092);const K=P(52540);const ae=P(92449);const{evaluateToString:ge,expressionIsUnsupported:be}=P(31445);const{relative:xe}=P(23763);const{parseResource:ve}=P(94778);const Ae="NodeStuffPlugin";class NodeStuffPlugin{constructor(v){this.options=v}apply(v){const E=this.options;v.hooks.compilation.tap(Ae,((P,{normalModuleFactory:Ie})=>{P.dependencyTemplates.set(ae,new ae.Template);const handler=(P,R)=>{if(R.node===false)return;let $=E;if(R.node){$={...$,...R.node}}if($.global!==false){const v=$.global==="warn";P.hooks.expression.for("global").tap(Ae,(E=>{const R=new K(L.global,E.range,[L.global]);R.loc=E.loc;P.state.module.addPresentationalDependency(R);if(v){P.state.module.addWarning(new N(R.loc,"global","The global namespace object is a Node.js feature and isn't available in browsers."))}}));P.hooks.rename.for("global").tap(Ae,(v=>{const E=new K(L.global,v.range,[L.global]);E.loc=v.loc;P.state.module.addPresentationalDependency(E);return false}))}const setModuleConstant=(v,E,R)=>{P.hooks.expression.for(v).tap(Ae,($=>{const L=new q(JSON.stringify(E(P.state.module)),$.range,v);L.loc=$.loc;P.state.module.addPresentationalDependency(L);if(R){P.state.module.addWarning(new N(L.loc,v,R))}return true}))};const setUrlModuleConstant=(v,E)=>{P.hooks.expression.for(v).tap(Ae,(R=>{const $=new ae("url",[{name:"fileURLToPath",value:"__webpack_fileURLToPath__"}],undefined,E("__webpack_fileURLToPath__"),R.range,v);$.loc=R.loc;P.state.module.addPresentationalDependency($);return true}))};const setConstant=(v,E,P)=>setModuleConstant(v,(()=>E),P);const Ie=v.context;if($.__filename){switch($.__filename){case"mock":setConstant("__filename","/index.js");break;case"warn-mock":setConstant("__filename","/index.js","__filename is a Node.js feature and isn't available in browsers.");break;case"node-module":setUrlModuleConstant("__filename",(v=>`${v}(import.meta.url)`));break;case true:setModuleConstant("__filename",(E=>xe(v.inputFileSystem,Ie,E.resource)));break}P.hooks.evaluateIdentifier.for("__filename").tap(Ae,(v=>{if(!P.state.module)return;const E=ve(P.state.module.resource);return ge(E.path)(v)}))}if($.__dirname){switch($.__dirname){case"mock":setConstant("__dirname","/");break;case"warn-mock":setConstant("__dirname","/","__dirname is a Node.js feature and isn't available in browsers.");break;case"node-module":setUrlModuleConstant("__dirname",(v=>`${v}(import.meta.url + "/..").slice(0, -1)`));break;case true:setModuleConstant("__dirname",(E=>xe(v.inputFileSystem,Ie,E.context)));break}P.hooks.evaluateIdentifier.for("__dirname").tap(Ae,(v=>{if(!P.state.module)return;return ge(P.state.module.context)(v)}))}P.hooks.expression.for("require.extensions").tap(Ae,be(P,"require.extensions is not supported by webpack. Use a loader instead."))};Ie.hooks.parser.for(R).tap(Ae,handler);Ie.hooks.parser.for($).tap(Ae,handler)}))}}v.exports=NodeStuffPlugin},44208:function(v,E,P){"use strict";const R=P(54650);const{getContext:$,runLoaders:N}=P(22955);const L=P(63477);const{HookMap:q,SyncHook:K,AsyncSeriesBailHook:ae}=P(79846);const{CachedSource:ge,OriginalSource:be,RawSource:xe,SourceMapSource:ve}=P(51255);const Ae=P(92150);const Ie=P(76498);const He=P(82919);const Qe=P(41450);const Je=P(75830);const Ve=P(76361);const Ke=P(78314);const{JAVASCRIPT_MODULE_TYPE_AUTO:Ye}=P(98791);const Xe=P(76747);const Ze=P(75189);const et=P(67815);const tt=P(45425);const nt=P(14703);const st=P(95259);const{isSubset:rt}=P(57167);const{getScheme:ot}=P(66859);const{compareLocations:it,concatComparators:at,compareSelect:ct,keepOriginalOrder:lt}=P(80754);const ut=P(1558);const{createFakeHook:pt}=P(74962);const{join:dt}=P(23763);const{contextify:ft,absolutify:ht,makePathsRelative:mt}=P(94778);const gt=P(74364);const yt=P(49584);const bt=yt((()=>P(57836)));const xt=yt((()=>P(38476).validate));const kt=/^([a-zA-Z]:\\|\\\\|\/)/;const contextifySourceUrl=(v,E,P)=>{if(E.startsWith("webpack://"))return E;return`webpack://${mt(v,E,P)}`};const contextifySourceMap=(v,E,P)=>{if(!Array.isArray(E.sources))return E;const{sourceRoot:R}=E;const $=!R?v=>v:R.endsWith("/")?v=>v.startsWith("/")?`${R.slice(0,-1)}${v}`:`${R}${v}`:v=>v.startsWith("/")?`${R}${v}`:`${R}/${v}`;const N=E.sources.map((E=>contextifySourceUrl(v,$(E),P)));return{...E,file:"x",sourceRoot:undefined,sources:N}};const asString=v=>{if(Buffer.isBuffer(v)){return v.toString("utf-8")}return v};const asBuffer=v=>{if(!Buffer.isBuffer(v)){return Buffer.from(v,"utf-8")}return v};class NonErrorEmittedError extends tt{constructor(v){super();this.name="NonErrorEmittedError";this.message="(Emitted value instead of an instance of Error) "+v}}gt(NonErrorEmittedError,"webpack/lib/NormalModule","NonErrorEmittedError");const vt=new WeakMap;class NormalModule extends He{static getCompilationHooks(v){if(!(v instanceof Ae)){throw new TypeError("The 'compilation' argument must be an instance of Compilation")}let E=vt.get(v);if(E===undefined){E={loader:new K(["loaderContext","module"]),beforeLoaders:new K(["loaders","module","loaderContext"]),beforeParse:new K(["module"]),beforeSnapshot:new K(["module"]),readResourceForScheme:new q((v=>{const P=E.readResource.for(v);return pt({tap:(v,E)=>P.tap(v,(v=>E(v.resource,v._module))),tapAsync:(v,E)=>P.tapAsync(v,((v,P)=>E(v.resource,v._module,P))),tapPromise:(v,E)=>P.tapPromise(v,(v=>E(v.resource,v._module)))})})),readResource:new q((()=>new ae(["loaderContext"]))),needBuild:new ae(["module","context"])};vt.set(v,E)}return E}constructor({layer:v,type:E,request:P,userRequest:R,rawRequest:N,loaders:L,resource:q,resourceResolveData:K,context:ae,matchResource:ge,parser:be,parserOptions:xe,generator:ve,generatorOptions:Ae,resolveOptions:Ie}){super(E,ae||$(q),v);this.request=P;this.userRequest=R;this.rawRequest=N;this.binary=/^(asset|webassembly)\b/.test(E);this.parser=be;this.parserOptions=xe;this.generator=ve;this.generatorOptions=Ae;this.resource=q;this.resourceResolveData=K;this.matchResource=ge;this.loaders=L;if(Ie!==undefined){this.resolveOptions=Ie}this.error=null;this._source=null;this._sourceSizes=undefined;this._sourceTypes=undefined;this._lastSuccessfulBuildMeta={};this._forceBuild=true;this._isEvaluatingSideEffects=false;this._addedSideEffectsBailout=undefined;this._codeGeneratorData=new Map}identifier(){if(this.layer===null){if(this.type===Ye){return this.request}else{return`${this.type}|${this.request}`}}else{return`${this.type}|${this.request}|${this.layer}`}}readableIdentifier(v){return v.shorten(this.userRequest)}libIdent(v){let E=ft(v.context,this.userRequest,v.associatedObjectForCache);if(this.layer)E=`(${this.layer})/${E}`;return E}nameForCondition(){const v=this.matchResource||this.resource;const E=v.indexOf("?");if(E>=0)return v.slice(0,E);return v}updateCacheModule(v){super.updateCacheModule(v);const E=v;this.binary=E.binary;this.request=E.request;this.userRequest=E.userRequest;this.rawRequest=E.rawRequest;this.parser=E.parser;this.parserOptions=E.parserOptions;this.generator=E.generator;this.generatorOptions=E.generatorOptions;this.resource=E.resource;this.resourceResolveData=E.resourceResolveData;this.context=E.context;this.matchResource=E.matchResource;this.loaders=E.loaders}cleanupForCache(){if(this.buildInfo){if(this._sourceTypes===undefined)this.getSourceTypes();for(const v of this._sourceTypes){this.size(v)}}super.cleanupForCache();this.parser=undefined;this.parserOptions=undefined;this.generator=undefined;this.generatorOptions=undefined}getUnsafeCacheData(){const v=super.getUnsafeCacheData();v.parserOptions=this.parserOptions;v.generatorOptions=this.generatorOptions;return v}restoreFromUnsafeCache(v,E){this._restoreFromUnsafeCache(v,E)}_restoreFromUnsafeCache(v,E){super._restoreFromUnsafeCache(v,E);this.parserOptions=v.parserOptions;this.parser=E.getParser(this.type,this.parserOptions);this.generatorOptions=v.generatorOptions;this.generator=E.getGenerator(this.type,this.generatorOptions)}createSourceForAsset(v,E,P,R,$){if(R){if(typeof R==="string"&&(this.useSourceMap||this.useSimpleSourceMap)){return new be(P,contextifySourceUrl(v,R,$))}if(this.useSourceMap){return new ve(P,E,contextifySourceMap(v,R,$))}}return new xe(P)}_createLoaderContext(v,E,P,$,N){const{requestShortener:q}=P.runtimeTemplate;const getCurrentLoaderName=()=>{const v=this.getCurrentLoader(ve);if(!v)return"(not in loader scope)";return q.shorten(v.loader)};const getResolveContext=()=>({fileDependencies:{add:v=>ve.addDependency(v)},contextDependencies:{add:v=>ve.addContextDependency(v)},missingDependencies:{add:v=>ve.addMissingDependency(v)}});const K=yt((()=>ht.bindCache(P.compiler.root)));const ae=yt((()=>ht.bindContextCache(this.context,P.compiler.root)));const ge=yt((()=>ft.bindCache(P.compiler.root)));const be=yt((()=>ft.bindContextCache(this.context,P.compiler.root)));const xe={absolutify:(v,E)=>v===this.context?ae()(E):K()(v,E),contextify:(v,E)=>v===this.context?be()(E):ge()(v,E),createHash:v=>ut(v||P.outputOptions.hashFunction)};const ve={version:2,getOptions:v=>{const E=this.getCurrentLoader(ve);let{options:P}=E;if(typeof P==="string"){if(P.startsWith("{")&&P.endsWith("}")){try{P=R(P)}catch(v){throw new Error(`Cannot parse string options: ${v.message}`)}}else{P=L.parse(P,"&","=",{maxKeys:0})}}if(P===null||P===undefined){P={}}if(v){let E="Loader";let R="options";let $;if(v.title&&($=/^(.+) (.+)$/.exec(v.title))){[,E,R]=$}xt()(v,P,{name:E,baseDataPath:R})}return P},emitWarning:v=>{if(!(v instanceof Error)){v=new NonErrorEmittedError(v)}this.addWarning(new Xe(v,{from:getCurrentLoaderName()}))},emitError:v=>{if(!(v instanceof Error)){v=new NonErrorEmittedError(v)}this.addError(new Je(v,{from:getCurrentLoaderName()}))},getLogger:v=>{const E=this.getCurrentLoader(ve);return P.getLogger((()=>[E&&E.loader,v,this.identifier()].filter(Boolean).join("|")))},resolve(E,P,R){v.resolve({},E,P,getResolveContext(),R)},getResolve(E){const P=E?v.withOptions(E):v;return(v,E,R)=>{if(R){P.resolve({},v,E,getResolveContext(),R)}else{return new Promise(((R,$)=>{P.resolve({},v,E,getResolveContext(),((v,E)=>{if(v)$(v);else R(E)}))}))}}},emitFile:(v,R,$,N)=>{if(!this.buildInfo.assets){this.buildInfo.assets=Object.create(null);this.buildInfo.assetsInfo=new Map}this.buildInfo.assets[v]=this.createSourceForAsset(E.context,v,R,$,P.compiler.root);this.buildInfo.assetsInfo.set(v,N)},addBuildDependency:v=>{if(this.buildInfo.buildDependencies===undefined){this.buildInfo.buildDependencies=new st}this.buildInfo.buildDependencies.add(v)},utils:xe,rootContext:E.context,webpack:true,sourceMap:!!this.useSourceMap,mode:E.mode||"production",_module:this,_compilation:P,_compiler:P.compiler,fs:$};Object.assign(ve,E.loader);N.loader.call(ve,this);return ve}getCurrentLoader(v,E=v.loaderIndex){if(this.loaders&&this.loaders.length&&E=0&&this.loaders[E]){return this.loaders[E]}return null}createSource(v,E,P,R){if(Buffer.isBuffer(E)){return new xe(E)}if(!this.identifier){return new xe(E)}const $=this.identifier();if(this.useSourceMap&&P){return new ve(E,contextifySourceUrl(v,$,R),contextifySourceMap(v,P,R))}if(this.useSourceMap||this.useSimpleSourceMap){return new be(E,contextifySourceUrl(v,$,R))}return new xe(E)}_doBuild(v,E,P,R,$,L){const q=this._createLoaderContext(P,v,E,R,$);const processResult=(P,R)=>{if(P){if(!(P instanceof Error)){P=new NonErrorEmittedError(P)}const v=this.getCurrentLoader(q);const R=new Qe(P,{from:v&&E.runtimeTemplate.requestShortener.shorten(v.loader)});return L(R)}const $=R[0];const N=R.length>=1?R[1]:null;const K=R.length>=2?R[2]:null;if(!Buffer.isBuffer($)&&typeof $!=="string"){const v=this.getCurrentLoader(q,0);const P=new Error(`Final loader (${v?E.runtimeTemplate.requestShortener.shorten(v.loader):"unknown"}) didn't return a Buffer or String`);const R=new Qe(P);return L(R)}this._source=this.createSource(v.context,this.binary?asBuffer($):asString($),N,E.compiler.root);if(this._sourceSizes!==undefined)this._sourceSizes.clear();this._ast=typeof K==="object"&&K!==null&&K.webpackAST!==undefined?K.webpackAST:null;return L()};this.buildInfo.fileDependencies=new st;this.buildInfo.contextDependencies=new st;this.buildInfo.missingDependencies=new st;this.buildInfo.cacheable=true;try{$.beforeLoaders.call(this.loaders,this,q)}catch(v){processResult(v);return}if(this.loaders.length>0){this.buildInfo.buildDependencies=new st}N({resource:this.resource,loaders:this.loaders,context:q,processResource:(v,E,P)=>{const R=v.resource;const N=ot(R);$.readResource.for(N).callAsync(v,((v,E)=>{if(v)return P(v);if(typeof E!=="string"&&!E){return P(new et(N,R))}return P(null,E)}))}},((v,E)=>{q._compilation=q._compiler=q._module=q.fs=undefined;if(!E){this.buildInfo.cacheable=false;return processResult(v||new Error("No result from loader-runner processing"),null)}this.buildInfo.fileDependencies.addAll(E.fileDependencies);this.buildInfo.contextDependencies.addAll(E.contextDependencies);this.buildInfo.missingDependencies.addAll(E.missingDependencies);for(const v of this.loaders){this.buildInfo.buildDependencies.add(v.loader)}this.buildInfo.cacheable=this.buildInfo.cacheable&&E.cacheable;processResult(v,E.result)}))}markModuleAsErrored(v){this.buildMeta={...this._lastSuccessfulBuildMeta};this.error=v;this.addError(v)}applyNoParseRule(v,E){if(typeof v==="string"){return E.startsWith(v)}if(typeof v==="function"){return v(E)}return v.test(E)}shouldPreventParsing(v,E){if(!v){return false}if(!Array.isArray(v)){return this.applyNoParseRule(v,E)}for(let P=0;P{if(P){this.markModuleAsErrored(P);this._initBuildHash(E);return $()}const handleParseError=P=>{const R=this._source.source();const N=this.loaders.map((P=>ft(v.context,P.loader,E.compiler.root)));const L=new Ke(R,P,N,this.type);this.markModuleAsErrored(L);this._initBuildHash(E);return $()};const handleParseResult=v=>{this.dependencies.sort(at(ct((v=>v.loc),it),lt(this.dependencies)));this._initBuildHash(E);this._lastSuccessfulBuildMeta=this.buildMeta;return handleBuildDone()};const handleBuildDone=()=>{try{L.beforeSnapshot.call(this)}catch(v){this.markModuleAsErrored(v);return $()}const v=E.options.snapshot.module;if(!this.buildInfo.cacheable||!v){return $()}let P=undefined;const checkDependencies=v=>{for(const R of v){if(!kt.test(R)){if(P===undefined)P=new Set;P.add(R);v.delete(R);try{const P=R.replace(/[\\/]?\*.*$/,"");const $=dt(E.fileSystemInfo.fs,this.context,P);if($!==R&&kt.test($)){(P!==R?this.buildInfo.contextDependencies:v).add($)}}catch(v){}}}};checkDependencies(this.buildInfo.fileDependencies);checkDependencies(this.buildInfo.missingDependencies);checkDependencies(this.buildInfo.contextDependencies);if(P!==undefined){const v=bt();this.addWarning(new v(this,P))}E.fileSystemInfo.createSnapshot(N,this.buildInfo.fileDependencies,this.buildInfo.contextDependencies,this.buildInfo.missingDependencies,v,((v,E)=>{if(v){this.markModuleAsErrored(v);return}this.buildInfo.fileDependencies=undefined;this.buildInfo.contextDependencies=undefined;this.buildInfo.missingDependencies=undefined;this.buildInfo.snapshot=E;return $()}))};try{L.beforeParse.call(this)}catch(P){this.markModuleAsErrored(P);this._initBuildHash(E);return $()}const R=v.module&&v.module.noParse;if(this.shouldPreventParsing(R,this.request)){this.buildInfo.parsed=false;this._initBuildHash(E);return handleBuildDone()}let q;try{const P=this._source.source();q=this.parser.parse(this._ast||P,{source:P,current:this,module:this,compilation:E,options:v})}catch(v){handleParseError(v);return}handleParseResult(q)}))}getConcatenationBailoutReason(v){return this.generator.getConcatenationBailoutReason(this,v)}getSideEffectsConnectionState(v){if(this.factoryMeta!==undefined){if(this.factoryMeta.sideEffectFree)return false;if(this.factoryMeta.sideEffectFree===false)return true}if(this.buildMeta!==undefined&&this.buildMeta.sideEffectFree){if(this._isEvaluatingSideEffects)return Ve.CIRCULAR_CONNECTION;this._isEvaluatingSideEffects=true;let E=false;for(const P of this.dependencies){const R=P.getModuleEvaluationSideEffectsState(v);if(R===true){if(this._addedSideEffectsBailout===undefined?(this._addedSideEffectsBailout=new WeakSet,true):!this._addedSideEffectsBailout.has(v)){this._addedSideEffectsBailout.add(v);v.getOptimizationBailout(this).push((()=>`Dependency (${P.type}) with side effects at ${nt(P.loc)}`))}this._isEvaluatingSideEffects=false;return true}else if(R!==Ve.CIRCULAR_CONNECTION){E=Ve.addConnectionStates(E,R)}}this._isEvaluatingSideEffects=false;return E}else{return true}}getSourceTypes(){if(this._sourceTypes===undefined){this._sourceTypes=this.generator.getTypes(this)}return this._sourceTypes}codeGeneration({dependencyTemplates:v,runtimeTemplate:E,moduleGraph:P,chunkGraph:R,runtime:$,runtimes:N,concatenationScope:L,codeGenerationResults:q,sourceTypes:K}){const ae=new Set;if(!this.buildInfo.parsed){ae.add(Ze.module);ae.add(Ze.exports);ae.add(Ze.thisAsExports)}const getData=()=>this._codeGeneratorData;const be=new Map;for(const ve of K||R.getModuleSourceTypes(this)){const K=this.error?new xe("throw new Error("+JSON.stringify(this.error.message)+");"):this.generator.generate(this,{dependencyTemplates:v,runtimeTemplate:E,moduleGraph:P,chunkGraph:R,runtimeRequirements:ae,runtime:$,runtimes:N,concatenationScope:L,codeGenerationResults:q,getData:getData,type:ve});if(K){be.set(ve,new ge(K))}}const ve={sources:be,runtimeRequirements:ae,data:this._codeGeneratorData};return ve}originalSource(){return this._source}invalidateBuild(){this._forceBuild=true}needBuild(v,E){const{fileSystemInfo:P,compilation:R,valueCacheVersions:$}=v;if(this._forceBuild)return E(null,true);if(this.error)return E(null,true);if(!this.buildInfo.cacheable)return E(null,true);if(!this.buildInfo.snapshot)return E(null,true);const N=this.buildInfo.valueDependencies;if(N){if(!$)return E(null,true);for(const[v,P]of N){if(P===undefined)return E(null,true);const R=$.get(v);if(P!==R&&(typeof P==="string"||typeof R==="string"||R===undefined||!rt(P,R))){return E(null,true)}}}P.checkSnapshotValid(this.buildInfo.snapshot,((P,$)=>{if(P)return E(P);if(!$)return E(null,true);const N=NormalModule.getCompilationHooks(R);N.needBuild.callAsync(this,v,((v,P)=>{if(v){return E(Ie.makeWebpackError(v,"NormalModule.getCompilationHooks().needBuild"))}E(null,!!P)}))}))}size(v){const E=this._sourceSizes===undefined?undefined:this._sourceSizes.get(v);if(E!==undefined){return E}const P=Math.max(1,this.generator.getSize(this,v));if(this._sourceSizes===undefined){this._sourceSizes=new Map}this._sourceSizes.set(v,P);return P}addCacheDependencies(v,E,P,R){const{snapshot:$,buildDependencies:N}=this.buildInfo;if($){v.addAll($.getFileIterable());E.addAll($.getContextIterable());P.addAll($.getMissingIterable())}else{const{fileDependencies:R,contextDependencies:$,missingDependencies:N}=this.buildInfo;if(R!==undefined)v.addAll(R);if($!==undefined)E.addAll($);if(N!==undefined)P.addAll(N)}if(N!==undefined){R.addAll(N)}}updateHash(v,E){v.update(this.buildInfo.hash);this.generator.updateHash(v,{module:this,...E});super.updateHash(v,E)}serialize(v){const{write:E}=v;E(this._source);E(this.error);E(this._lastSuccessfulBuildMeta);E(this._forceBuild);E(this._codeGeneratorData);super.serialize(v)}static deserialize(v){const E=new NormalModule({layer:null,type:"",resource:"",context:"",request:null,userRequest:null,rawRequest:null,loaders:null,matchResource:null,parser:null,parserOptions:null,generator:null,generatorOptions:null,resolveOptions:null});E.deserialize(v);return E}deserialize(v){const{read:E}=v;this._source=E();this.error=E();this._lastSuccessfulBuildMeta=E();this._forceBuild=E();this._codeGeneratorData=E();super.deserialize(v)}}gt(NormalModule,"webpack/lib/NormalModule");v.exports=NormalModule},32296:function(v,E,P){"use strict";const{getContext:R}=P(22955);const $=P(78175);const{AsyncSeriesBailHook:N,SyncWaterfallHook:L,SyncBailHook:q,SyncHook:K,HookMap:ae}=P(79846);const ge=P(33422);const be=P(82919);const xe=P(18769);const ve=P(22425);const{JAVASCRIPT_MODULE_TYPE_AUTO:Ae}=P(98791);const Ie=P(44208);const He=P(82569);const Qe=P(51078);const Je=P(36277);const Ve=P(85286);const Ke=P(22163);const Ye=P(95259);const{getScheme:Xe}=P(66859);const{cachedCleverMerge:Ze,cachedSetProperty:et}=P(34218);const{join:tt}=P(23763);const{parseResource:nt,parseResourceWithoutFragment:st}=P(94778);const rt={};const ot={};const it={};const at=[];const ct=/^([^!]+)!=!/;const lt=/^[^.]/;const loaderToIdent=v=>{if(!v.options){return v.loader}if(typeof v.options==="string"){return v.loader+"?"+v.options}if(typeof v.options!=="object"){throw new Error("loader options must be string or object")}if(v.ident){return v.loader+"??"+v.ident}return v.loader+"?"+JSON.stringify(v.options)};const stringifyLoadersAndResource=(v,E)=>{let P="";for(const E of v){P+=loaderToIdent(E)+"!"}return P+E};const needCalls=(v,E)=>P=>{if(--v===0){return E(P)}if(P&&v>0){v=NaN;return E(P)}};const mergeGlobalOptions=(v,E,P)=>{const R=E.split("/");let $;let N="";for(const E of R){N=N?`${N}/${E}`:E;const P=v[N];if(typeof P==="object"){if($===undefined){$=P}else{$=Ze($,P)}}}if($===undefined){return P}else{return Ze($,P)}};const deprecationChangedHookMessage=(v,E)=>{const P=E.taps.map((v=>v.name)).join(", ");return`NormalModuleFactory.${v} (${P}) is no longer a waterfall hook, but a bailing hook instead. `+"Do not return the passed object, but modify it instead. "+"Returning false will ignore the request and results in no module created."};const ut=new Ve([new Qe("test","resource"),new Qe("scheme"),new Qe("mimetype"),new Qe("dependency"),new Qe("include","resource"),new Qe("exclude","resource",true),new Qe("resource"),new Qe("resourceQuery"),new Qe("resourceFragment"),new Qe("realResource"),new Qe("issuer"),new Qe("compiler"),new Qe("issuerLayer"),new Je("assert","assertions"),new Je("descriptionData"),new He("type"),new He("sideEffects"),new He("parser"),new He("resolve"),new He("generator"),new He("layer"),new Ke]);class NormalModuleFactory extends xe{constructor({context:v,fs:E,resolverFactory:P,options:$,associatedObjectForCache:ge,layers:xe=false}){super();this.hooks=Object.freeze({resolve:new N(["resolveData"]),resolveForScheme:new ae((()=>new N(["resourceData","resolveData"]))),resolveInScheme:new ae((()=>new N(["resourceData","resolveData"]))),factorize:new N(["resolveData"]),beforeResolve:new N(["resolveData"]),afterResolve:new N(["resolveData"]),createModule:new N(["createData","resolveData"]),module:new L(["module","createData","resolveData"]),createParser:new ae((()=>new q(["parserOptions"]))),parser:new ae((()=>new K(["parser","parserOptions"]))),createGenerator:new ae((()=>new q(["generatorOptions"]))),generator:new ae((()=>new K(["generator","generatorOptions"]))),createModuleClass:new ae((()=>new q(["createData","resolveData"])))});this.resolverFactory=P;this.ruleSet=ut.compile([{rules:$.defaultRules},{rules:$.rules}]);this.context=v||"";this.fs=E;this._globalParserOptions=$.parser;this._globalGeneratorOptions=$.generator;this.parserCache=new Map;this.generatorCache=new Map;this._restoredUnsafeCacheEntries=new Set;const ve=nt.bindCache(ge);const He=st.bindCache(ge);this._parseResourceWithoutFragment=He;this.hooks.factorize.tapAsync({name:"NormalModuleFactory",stage:100},((v,E)=>{this.hooks.resolve.callAsync(v,((P,R)=>{if(P)return E(P);if(R===false)return E();if(R instanceof be)return E(null,R);if(typeof R==="object")throw new Error(deprecationChangedHookMessage("resolve",this.hooks.resolve)+" Returning a Module object will result in this module used as result.");this.hooks.afterResolve.callAsync(v,((P,R)=>{if(P)return E(P);if(typeof R==="object")throw new Error(deprecationChangedHookMessage("afterResolve",this.hooks.afterResolve));if(R===false)return E();const $=v.createData;this.hooks.createModule.callAsync($,v,((P,R)=>{if(!R){if(!v.request){return E(new Error("Empty dependency (no request)"))}R=this.hooks.createModuleClass.for($.settings.type).call($,v);if(!R){R=new Ie($)}}R=this.hooks.module.call(R,$,v);return E(null,R)}))}))}))}));this.hooks.resolve.tapAsync({name:"NormalModuleFactory",stage:100},((v,E)=>{const{contextInfo:P,context:$,dependencies:N,dependencyType:L,request:q,assertions:K,resolveOptions:ae,fileDependencies:ge,missingDependencies:be,contextDependencies:Ie}=v;const Qe=this.getResolver("loader");let Je=undefined;let Ve;let Ke;let Ye=false;let nt=false;let st=false;const ot=Xe($);let it=Xe(q);if(!it){let v=q;const E=ct.exec(q);if(E){let P=E[1];if(P.charCodeAt(0)===46){const v=P.charCodeAt(1);if(v===47||v===46&&P.charCodeAt(2)===47){P=tt(this.fs,$,P)}}Je={resource:P,...ve(P)};v=q.slice(E[0].length)}it=Xe(v);if(!it&&!ot){const E=v.charCodeAt(0);const P=v.charCodeAt(1);Ye=E===45&&P===33;nt=Ye||E===33;st=E===33&&P===33;const R=v.slice(Ye||st?2:nt?1:0).split(/!+/);Ve=R.pop();Ke=R.map((v=>{const{path:E,query:P}=He(v);return{loader:E,options:P?P.slice(1):undefined}}));it=Xe(Ve)}else{Ve=v;Ke=at}}else{Ve=q;Ke=at}const lt={fileDependencies:ge,missingDependencies:be,contextDependencies:Ie};let ut;let pt;const dt=needCalls(2,(ae=>{if(ae)return E(ae);try{for(const v of pt){if(typeof v.options==="string"&&v.options[0]==="?"){const E=v.options.slice(1);if(E==="[[missing ident]]"){throw new Error("No ident is provided by referenced loader. "+"When using a function for Rule.use in config you need to "+"provide an 'ident' property for referenced loader options.")}v.options=this.ruleSet.references.get(E);if(v.options===undefined){throw new Error("Invalid ident is provided by referenced loader")}v.ident=E}}}catch(v){return E(v)}if(!ut){return E(null,N[0].createIgnoredModule($))}const ge=(Je!==undefined?`${Je.resource}!=!`:"")+stringifyLoadersAndResource(pt,ut.resource);const be={};const ve=[];const Ie=[];const He=[];let Ve;let Ke;if(Je&&typeof(Ve=Je.resource)==="string"&&(Ke=/\.webpack\[([^\]]+)\]$/.exec(Ve))){be.type=Ke[1];Je.resource=Je.resource.slice(0,-be.type.length-10)}else{be.type=Ae;const v=Je||ut;const E=this.ruleSet.exec({resource:v.path,realResource:ut.path,resourceQuery:v.query,resourceFragment:v.fragment,scheme:it,assertions:K,mimetype:Je?"":ut.data.mimetype||"",dependency:L,descriptionData:Je?undefined:ut.data.descriptionFileData,issuer:P.issuer,compiler:P.compiler,issuerLayer:P.issuerLayer||""});for(const v of E){if(v.type==="type"&&st){continue}if(v.type==="use"){if(!nt&&!st){Ie.push(v.value)}}else if(v.type==="use-post"){if(!st){ve.push(v.value)}}else if(v.type==="use-pre"){if(!Ye&&!st){He.push(v.value)}}else if(typeof v.value==="object"&&v.value!==null&&typeof be[v.type]==="object"&&be[v.type]!==null){be[v.type]=Ze(be[v.type],v.value)}else{be[v.type]=v.value}}}let Xe,et,tt;const rt=needCalls(3,($=>{if($){return E($)}const N=Xe;if(Je===undefined){for(const v of pt)N.push(v);for(const v of et)N.push(v)}else{for(const v of et)N.push(v);for(const v of pt)N.push(v)}for(const v of tt)N.push(v);let L=be.type;const K=be.resolve;const ae=be.layer;if(ae!==undefined&&!xe){return E(new Error("'Rule.layer' is only allowed when 'experiments.layers' is enabled"))}try{Object.assign(v.createData,{layer:ae===undefined?P.issuerLayer||null:ae,request:stringifyLoadersAndResource(N,ut.resource),userRequest:ge,rawRequest:q,loaders:N,resource:ut.resource,context:ut.context||R(ut.resource),matchResource:Je?Je.resource:undefined,resourceResolveData:ut.data,settings:be,type:L,parser:this.getParser(L,be.parser),parserOptions:be.parser,generator:this.getGenerator(L,be.generator),generatorOptions:be.generator,resolveOptions:K})}catch(v){return E(v)}E()}));this.resolveRequestArray(P,this.context,ve,Qe,lt,((v,E)=>{Xe=E;rt(v)}));this.resolveRequestArray(P,this.context,Ie,Qe,lt,((v,E)=>{et=E;rt(v)}));this.resolveRequestArray(P,this.context,He,Qe,lt,((v,E)=>{tt=E;rt(v)}))}));this.resolveRequestArray(P,ot?this.context:$,Ke,Qe,lt,((v,E)=>{if(v)return dt(v);pt=E;dt()}));const defaultResolve=v=>{if(/^($|\?)/.test(Ve)){ut={resource:Ve,data:{},...ve(Ve)};dt()}else{const E=this.getResolver("normal",L?et(ae||rt,"dependencyType",L):ae);this.resolveResource(P,v,Ve,E,lt,((v,E,P)=>{if(v)return dt(v);if(E!==false){ut={resource:E,data:P,...ve(E)}}dt()}))}};if(it){ut={resource:Ve,data:{},path:undefined,query:undefined,fragment:undefined,context:undefined};this.hooks.resolveForScheme.for(it).callAsync(ut,v,(v=>{if(v)return dt(v);dt()}))}else if(ot){ut={resource:Ve,data:{},path:undefined,query:undefined,fragment:undefined,context:undefined};this.hooks.resolveInScheme.for(ot).callAsync(ut,v,((v,E)=>{if(v)return dt(v);if(!E)return defaultResolve(this.context);dt()}))}else defaultResolve($)}))}cleanupForCache(){for(const v of this._restoredUnsafeCacheEntries){ge.clearChunkGraphForModule(v);ve.clearModuleGraphForModule(v);v.cleanupForCache()}}create(v,E){const P=v.dependencies;const R=v.context||this.context;const $=v.resolveOptions||rt;const N=P[0];const L=N.request;const q=N.assertions;const K=v.contextInfo;const ae=new Ye;const ge=new Ye;const be=new Ye;const xe=P.length>0&&P[0].category||"";const ve={contextInfo:K,resolveOptions:$,context:R,request:L,assertions:q,dependencies:P,dependencyType:xe,fileDependencies:ae,missingDependencies:ge,contextDependencies:be,createData:{},cacheable:true};this.hooks.beforeResolve.callAsync(ve,((v,P)=>{if(v){return E(v,{fileDependencies:ae,missingDependencies:ge,contextDependencies:be,cacheable:false})}if(P===false){return E(null,{fileDependencies:ae,missingDependencies:ge,contextDependencies:be,cacheable:ve.cacheable})}if(typeof P==="object")throw new Error(deprecationChangedHookMessage("beforeResolve",this.hooks.beforeResolve));this.hooks.factorize.callAsync(ve,((v,P)=>{if(v){return E(v,{fileDependencies:ae,missingDependencies:ge,contextDependencies:be,cacheable:false})}const R={module:P,fileDependencies:ae,missingDependencies:ge,contextDependencies:be,cacheable:ve.cacheable};E(null,R)}))}))}resolveResource(v,E,P,R,$,N){R.resolve(v,E,P,$,((L,q,K)=>{if(L){return this._resolveResourceErrorHints(L,v,E,P,R,$,((v,E)=>{if(v){L.message+=`\nA fatal error happened during resolving additional hints for this error: ${v.message}`;L.stack+=`\n\nA fatal error happened during resolving additional hints for this error:\n${v.stack}`;return N(L)}if(E&&E.length>0){L.message+=`\n${E.join("\n\n")}`}let P=false;const $=Array.from(R.options.extensions);const q=$.map((v=>{if(lt.test(v)){P=true;return`.${v}`}return v}));if(P){L.message+=`\nDid you miss the leading dot in 'resolve.extensions'? Did you mean '${JSON.stringify(q)}' instead of '${JSON.stringify($)}'?`}N(L)}))}N(L,q,K)}))}_resolveResourceErrorHints(v,E,P,R,N,L,q){$.parallel([v=>{if(!N.options.fullySpecified)return v();N.withOptions({fullySpecified:false}).resolve(E,P,R,L,((E,P)=>{if(!E&&P){const E=nt(P).path.replace(/^.*[\\/]/,"");return v(null,`Did you mean '${E}'?\nBREAKING CHANGE: The request '${R}' failed to resolve only because it was resolved as fully specified\n(probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"').\nThe extension in the request is mandatory for it to be fully specified.\nAdd the extension to the request.`)}v()}))},v=>{if(!N.options.enforceExtension)return v();N.withOptions({enforceExtension:false,extensions:[]}).resolve(E,P,R,L,((E,P)=>{if(!E&&P){let E="";const P=/(\.[^.]+)(\?|$)/.exec(R);if(P){const v=R.replace(/(\.[^.]+)(\?|$)/,"$2");if(N.options.extensions.has(P[1])){E=`Did you mean '${v}'?`}else{E=`Did you mean '${v}'? Also note that '${P[1]}' is not in 'resolve.extensions' yet and need to be added for this to work?`}}else{E=`Did you mean to omit the extension or to remove 'resolve.enforceExtension'?`}return v(null,`The request '${R}' failed to resolve only because 'resolve.enforceExtension' was specified.\n${E}\nIncluding the extension in the request is no longer possible. Did you mean to enforce including the extension in requests with 'resolve.extensions: []' instead?`)}v()}))},v=>{if(/^\.\.?\//.test(R)||N.options.preferRelative){return v()}N.resolve(E,P,`./${R}`,L,((E,P)=>{if(E||!P)return v();const $=N.options.modules.map((v=>Array.isArray(v)?v.join(", "):v)).join(", ");v(null,`Did you mean './${R}'?\nRequests that should resolve in the current directory need to start with './'.\nRequests that start with a name are treated as module requests and resolve within module directories (${$}).\nIf changing the source code is not an option there is also a resolve options called 'preferRelative' which tries to resolve these kind of requests in the current directory too.`)}))}],((v,E)=>{if(v)return q(v);q(null,E.filter(Boolean))}))}resolveRequestArray(v,E,P,R,N,L){if(P.length===0)return L(null,P);$.map(P,((P,$)=>{R.resolve(v,E,P.loader,N,((L,q,K)=>{if(L&&/^[^/]*$/.test(P.loader)&&!/-loader$/.test(P.loader)){return R.resolve(v,E,P.loader+"-loader",N,(v=>{if(!v){L.message=L.message+"\n"+"BREAKING CHANGE: It's no longer allowed to omit the '-loader' suffix when using loaders.\n"+` You need to specify '${P.loader}-loader' instead of '${P.loader}',\n`+" see https://webpack.js.org/migrate/3/#automatic-loader-module-name-extension-removed"}$(L)}))}if(L)return $(L);const ae=this._parseResourceWithoutFragment(q);const ge=/\.mjs$/i.test(ae.path)?"module":/\.cjs$/i.test(ae.path)?"commonjs":K.descriptionFileData===undefined?undefined:K.descriptionFileData.type;const be={loader:ae.path,type:ge,options:P.options===undefined?ae.query?ae.query.slice(1):undefined:P.options,ident:P.options===undefined?undefined:P.ident};return $(null,be)}))}),L)}getParser(v,E=ot){let P=this.parserCache.get(v);if(P===undefined){P=new WeakMap;this.parserCache.set(v,P)}let R=P.get(E);if(R===undefined){R=this.createParser(v,E);P.set(E,R)}return R}createParser(v,E={}){E=mergeGlobalOptions(this._globalParserOptions,v,E);const P=this.hooks.createParser.for(v).call(E);if(!P){throw new Error(`No parser registered for ${v}`)}this.hooks.parser.for(v).call(P,E);return P}getGenerator(v,E=it){let P=this.generatorCache.get(v);if(P===undefined){P=new WeakMap;this.generatorCache.set(v,P)}let R=P.get(E);if(R===undefined){R=this.createGenerator(v,E);P.set(E,R)}return R}createGenerator(v,E={}){E=mergeGlobalOptions(this._globalGeneratorOptions,v,E);const P=this.hooks.createGenerator.for(v).call(E);if(!P){throw new Error(`No generator registered for ${v}`)}this.hooks.generator.for(v).call(P,E);return P}getResolver(v,E){return this.resolverFactory.get(v,E)}}v.exports=NormalModuleFactory},47266:function(v,E,P){"use strict";const{join:R,dirname:$}=P(23763);class NormalModuleReplacementPlugin{constructor(v,E){this.resourceRegExp=v;this.newResource=E}apply(v){const E=this.resourceRegExp;const P=this.newResource;v.hooks.normalModuleFactory.tap("NormalModuleReplacementPlugin",(N=>{N.hooks.beforeResolve.tap("NormalModuleReplacementPlugin",(v=>{if(E.test(v.request)){if(typeof P==="function"){P(v)}else{v.request=P}}}));N.hooks.afterResolve.tap("NormalModuleReplacementPlugin",(N=>{const L=N.createData;if(E.test(L.resource)){if(typeof P==="function"){P(N)}else{const E=v.inputFileSystem;if(P.startsWith("/")||P.length>1&&P[1]===":"){L.resource=P}else{L.resource=R(E,$(E,L.resource),P)}}}}))}))}}v.exports=NormalModuleReplacementPlugin},66480:function(v,E){"use strict";E.STAGE_BASIC=-10;E.STAGE_DEFAULT=0;E.STAGE_ADVANCED=10},32121:function(v){"use strict";class OptionsApply{process(v,E){}}v.exports=OptionsApply},40766:function(v,E,P){"use strict";class Parser{parse(v,E){const R=P(86478);throw new R}}v.exports=Parser},97162:function(v,E,P){"use strict";const R=P(47516);class PrefetchPlugin{constructor(v,E){if(E){this.context=v;this.request=E}else{this.context=null;this.request=v}}apply(v){v.hooks.compilation.tap("PrefetchPlugin",((v,{normalModuleFactory:E})=>{v.dependencyFactories.set(R,E)}));v.hooks.make.tapAsync("PrefetchPlugin",((E,P)=>{E.addModuleChain(this.context||v.context,new R(this.request),(v=>{P(v)}))}))}}v.exports=PrefetchPlugin},97924:function(v,E,P){"use strict";const R=P(54445);const $=P(57828);const N=P(44208);const L=P(86278);const{contextify:q}=P(94778);const K=L(P(6299),(()=>P(74200)),{name:"Progress Plugin",baseDataPath:"options"});const median3=(v,E,P)=>v+E+P-Math.max(v,E,P)-Math.min(v,E,P);const createDefaultHandler=(v,E)=>{const P=[];const defaultHandler=(R,$,...N)=>{if(v){if(R===0){P.length=0}const v=[$,...N];const L=v.map((v=>v.replace(/\d+\/\d+ /g,"")));const q=Date.now();const K=Math.max(L.length,P.length);for(let v=K;v>=0;v--){const R=v0){R=P[v-1].value+" > "+R}const L=`${" | ".repeat(v)}${N} ms ${R}`;const q=N;{if(q>1e4){E.error(L)}else if(q>1e3){E.warn(L)}else if(q>10){E.info(L)}else if(q>5){E.log(L)}else{E.debug(L)}}}if(R===undefined){P.length=v}else{$.value=R;$.time=q;P.length=v+1}}}else{P[v]={value:R,time:q}}}}E.status(`${Math.floor(R*100)}%`,$,...N);if(R===1||!$&&N.length===0)E.status()};return defaultHandler};const ae=new WeakMap;class ProgressPlugin{static getReporter(v){return ae.get(v)}constructor(v={}){if(typeof v==="function"){v={handler:v}}K(v);v={...ProgressPlugin.defaultOptions,...v};this.profile=v.profile;this.handler=v.handler;this.modulesCount=v.modulesCount;this.dependenciesCount=v.dependenciesCount;this.showEntries=v.entries;this.showModules=v.modules;this.showDependencies=v.dependencies;this.showActiveModules=v.activeModules;this.percentBy=v.percentBy}apply(v){const E=this.handler||createDefaultHandler(this.profile,v.getInfrastructureLogger("webpack.Progress"));if(v instanceof $){this._applyOnMultiCompiler(v,E)}else if(v instanceof R){this._applyOnCompiler(v,E)}}_applyOnMultiCompiler(v,E){const P=v.compilers.map((()=>[0]));v.compilers.forEach(((v,R)=>{new ProgressPlugin(((v,$,...N)=>{P[R]=[v,$,...N];let L=0;for(const[v]of P)L+=v;E(L/P.length,`[${R}] ${$}`,...N)})).apply(v)}))}_applyOnCompiler(v,E){const P=this.showEntries;const R=this.showModules;const $=this.showDependencies;const N=this.showActiveModules;let L="";let K="";let ge=0;let be=0;let xe=0;let ve=0;let Ae=0;let Ie=1;let He=0;let Qe=0;let Je=0;const Ve=new Set;let Ke=0;const updateThrottled=()=>{if(Ke+500{const ae=[];const Ye=He/Math.max(ge||this.modulesCount||1,ve);const Xe=Je/Math.max(xe||this.dependenciesCount||1,Ie);const Ze=Qe/Math.max(be||1,Ae);let et;switch(this.percentBy){case"entries":et=Xe;break;case"dependencies":et=Ze;break;case"modules":et=Ye;break;default:et=median3(Ye,Xe,Ze)}const tt=.1+et*.55;if(K){ae.push(`import loader ${q(v.context,K,v.root)}`)}else{const v=[];if(P){v.push(`${Je}/${Ie} entries`)}if($){v.push(`${Qe}/${Ae} dependencies`)}if(R){v.push(`${He}/${ve} modules`)}if(N){v.push(`${Ve.size} active`)}if(v.length>0){ae.push(v.join(" "))}if(N){ae.push(L)}}E(tt,"building",...ae);Ke=Date.now()};const factorizeAdd=()=>{Ae++;if(Ae<50||Ae%100===0)updateThrottled()};const factorizeDone=()=>{Qe++;if(Qe<50||Qe%100===0)updateThrottled()};const moduleAdd=()=>{ve++;if(ve<50||ve%100===0)updateThrottled()};const moduleBuild=v=>{const E=v.identifier();if(E){Ve.add(E);L=E;update()}};const entryAdd=(v,E)=>{Ie++;if(Ie<5||Ie%10===0)updateThrottled()};const moduleDone=v=>{He++;if(N){const E=v.identifier();if(E){Ve.delete(E);if(L===E){L="";for(const v of Ve){L=v}update();return}}}if(He<50||He%100===0)updateThrottled()};const entryDone=(v,E)=>{Je++;update()};const Ye=v.getCache("ProgressPlugin").getItemCache("counts",null);let Xe;v.hooks.beforeCompile.tap("ProgressPlugin",(()=>{if(!Xe){Xe=Ye.getPromise().then((v=>{if(v){ge=ge||v.modulesCount;be=be||v.dependenciesCount}return v}),(v=>{}))}}));v.hooks.afterCompile.tapPromise("ProgressPlugin",(v=>{if(v.compiler.isChild())return Promise.resolve();return Xe.then((async v=>{if(!v||v.modulesCount!==ve||v.dependenciesCount!==Ae){await Ye.storePromise({modulesCount:ve,dependenciesCount:Ae})}}))}));v.hooks.compilation.tap("ProgressPlugin",(P=>{if(P.compiler.isChild())return;ge=ve;xe=Ie;be=Ae;ve=Ae=Ie=0;He=Qe=Je=0;P.factorizeQueue.hooks.added.tap("ProgressPlugin",factorizeAdd);P.factorizeQueue.hooks.result.tap("ProgressPlugin",factorizeDone);P.addModuleQueue.hooks.added.tap("ProgressPlugin",moduleAdd);P.processDependenciesQueue.hooks.result.tap("ProgressPlugin",moduleDone);if(N){P.hooks.buildModule.tap("ProgressPlugin",moduleBuild)}P.hooks.addEntry.tap("ProgressPlugin",entryAdd);P.hooks.failedEntry.tap("ProgressPlugin",entryDone);P.hooks.succeedEntry.tap("ProgressPlugin",entryDone);if(false){}const R={finishModules:"finish module graph",seal:"plugins",optimizeDependencies:"dependencies optimization",afterOptimizeDependencies:"after dependencies optimization",beforeChunks:"chunk graph",afterChunks:"after chunk graph",optimize:"optimizing",optimizeModules:"module optimization",afterOptimizeModules:"after module optimization",optimizeChunks:"chunk optimization",afterOptimizeChunks:"after chunk optimization",optimizeTree:"module and chunk tree optimization",afterOptimizeTree:"after module and chunk tree optimization",optimizeChunkModules:"chunk modules optimization",afterOptimizeChunkModules:"after chunk modules optimization",reviveModules:"module reviving",beforeModuleIds:"before module ids",moduleIds:"module ids",optimizeModuleIds:"module id optimization",afterOptimizeModuleIds:"module id optimization",reviveChunks:"chunk reviving",beforeChunkIds:"before chunk ids",chunkIds:"chunk ids",optimizeChunkIds:"chunk id optimization",afterOptimizeChunkIds:"after chunk id optimization",recordModules:"record modules",recordChunks:"record chunks",beforeModuleHash:"module hashing",beforeCodeGeneration:"code generation",beforeRuntimeRequirements:"runtime requirements",beforeHash:"hashing",afterHash:"after hashing",recordHash:"record hash",beforeModuleAssets:"module assets processing",beforeChunkAssets:"chunk assets processing",processAssets:"asset processing",afterProcessAssets:"after asset optimization",record:"recording",afterSeal:"after seal"};const $=Object.keys(R).length;Object.keys(R).forEach(((N,L)=>{const q=R[N];const K=L/$*.25+.7;P.hooks[N].intercept({name:"ProgressPlugin",call(){E(K,"sealing",q)},done(){ae.set(v,undefined);E(K,"sealing",q)},result(){E(K,"sealing",q)},error(){E(K,"sealing",q)},tap(v){ae.set(P.compiler,((P,...R)=>{E(K,"sealing",q,v.name,...R)}));E(K,"sealing",q,v.name)}})}))}));v.hooks.make.intercept({name:"ProgressPlugin",call(){E(.1,"building")},done(){E(.65,"building")}});const interceptHook=(P,R,$,N)=>{P.intercept({name:"ProgressPlugin",call(){E(R,$,N)},done(){ae.set(v,undefined);E(R,$,N)},result(){E(R,$,N)},error(){E(R,$,N)},tap(P){ae.set(v,((v,...L)=>{E(R,$,N,P.name,...L)}));E(R,$,N,P.name)}})};v.cache.hooks.endIdle.intercept({name:"ProgressPlugin",call(){E(0,"")}});interceptHook(v.cache.hooks.endIdle,.01,"cache","end idle");v.hooks.beforeRun.intercept({name:"ProgressPlugin",call(){E(0,"")}});interceptHook(v.hooks.beforeRun,.01,"setup","before run");interceptHook(v.hooks.run,.02,"setup","run");interceptHook(v.hooks.watchRun,.03,"setup","watch run");interceptHook(v.hooks.normalModuleFactory,.04,"setup","normal module factory");interceptHook(v.hooks.contextModuleFactory,.05,"setup","context module factory");interceptHook(v.hooks.beforeCompile,.06,"setup","before compile");interceptHook(v.hooks.compile,.07,"setup","compile");interceptHook(v.hooks.thisCompilation,.08,"setup","compilation");interceptHook(v.hooks.compilation,.09,"setup","compilation");interceptHook(v.hooks.finishMake,.69,"building","finish");interceptHook(v.hooks.emit,.95,"emitting","emit");interceptHook(v.hooks.afterEmit,.98,"emitting","after emit");interceptHook(v.hooks.done,.99,"done","plugins");v.hooks.done.intercept({name:"ProgressPlugin",done(){E(.99,"")}});interceptHook(v.cache.hooks.storeBuildDependencies,.99,"cache","store build dependencies");interceptHook(v.cache.hooks.shutdown,.99,"cache","shutdown");interceptHook(v.cache.hooks.beginIdle,.99,"cache","begin idle");interceptHook(v.hooks.watchClose,.99,"end","closing watch compilation");v.cache.hooks.beginIdle.intercept({name:"ProgressPlugin",done(){E(1,"")}});v.cache.hooks.shutdown.intercept({name:"ProgressPlugin",done(){E(1,"")}})}}ProgressPlugin.defaultOptions={profile:false,modulesCount:5e3,dependenciesCount:1e4,modules:true,dependencies:true,activeModules:false,entries:true};ProgressPlugin.createDefaultHandler=createDefaultHandler;v.exports=ProgressPlugin},9869:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$,JAVASCRIPT_MODULE_TYPE_ESM:N}=P(98791);const L=P(52540);const q=P(74057);const{approve:K}=P(31445);const ae="ProvidePlugin";class ProvidePlugin{constructor(v){this.definitions=v}apply(v){const E=this.definitions;v.hooks.compilation.tap(ae,((v,{normalModuleFactory:P})=>{v.dependencyTemplates.set(L,new L.Template);v.dependencyFactories.set(q,P);v.dependencyTemplates.set(q,new q.Template);const handler=(v,P)=>{Object.keys(E).forEach((P=>{const R=[].concat(E[P]);const $=P.split(".");if($.length>0){$.slice(1).forEach(((E,P)=>{const R=$.slice(0,P+1).join(".");v.hooks.canRename.for(R).tap(ae,K)}))}v.hooks.expression.for(P).tap(ae,(E=>{const $=P.includes(".")?`__webpack_provided_${P.replace(/\./g,"_dot_")}`:P;const N=new q(R[0],$,R.slice(1),E.range);N.loc=E.loc;v.state.module.addDependency(N);return true}));v.hooks.call.for(P).tap(ae,(E=>{const $=P.includes(".")?`__webpack_provided_${P.replace(/\./g,"_dot_")}`:P;const N=new q(R[0],$,R.slice(1),E.callee.range);N.loc=E.callee.loc;v.state.module.addDependency(N);v.walkExpressions(E.arguments);return true}))}))};P.hooks.parser.for(R).tap(ae,handler);P.hooks.parser.for($).tap(ae,handler);P.hooks.parser.for(N).tap(ae,handler)}))}}v.exports=ProvidePlugin},87122:function(v,E,P){"use strict";const{OriginalSource:R,RawSource:$}=P(51255);const N=P(82919);const{JAVASCRIPT_MODULE_TYPE_DYNAMIC:L}=P(98791);const q=P(74364);const K=new Set(["javascript"]);class RawModule extends N{constructor(v,E,P,R){super(L,null);this.sourceStr=v;this.identifierStr=E||this.sourceStr;this.readableIdentifierStr=P||this.identifierStr;this.runtimeRequirements=R||null}getSourceTypes(){return K}identifier(){return this.identifierStr}size(v){return Math.max(1,this.sourceStr.length)}readableIdentifier(v){return v.shorten(this.readableIdentifierStr)}needBuild(v,E){return E(null,!this.buildMeta)}build(v,E,P,R,$){this.buildMeta={};this.buildInfo={cacheable:true};$()}codeGeneration(v){const E=new Map;if(this.useSourceMap||this.useSimpleSourceMap){E.set("javascript",new R(this.sourceStr,this.identifier()))}else{E.set("javascript",new $(this.sourceStr))}return{sources:E,runtimeRequirements:this.runtimeRequirements}}updateHash(v,E){v.update(this.sourceStr);super.updateHash(v,E)}serialize(v){const{write:E}=v;E(this.sourceStr);E(this.identifierStr);E(this.readableIdentifierStr);E(this.runtimeRequirements);super.serialize(v)}deserialize(v){const{read:E}=v;this.sourceStr=E();this.identifierStr=E();this.readableIdentifierStr=E();this.runtimeRequirements=E();super.deserialize(v)}}q(RawModule,"webpack/lib/RawModule");v.exports=RawModule},15334:function(v,E,P){"use strict";const{compareNumbers:R}=P(80754);const $=P(94778);class RecordIdsPlugin{constructor(v){this.options=v||{}}apply(v){const E=this.options.portableIds;const P=$.makePathsRelative.bindContextCache(v.context,v.root);const getModuleIdentifier=v=>{if(E){return P(v.identifier())}return v.identifier()};v.hooks.compilation.tap("RecordIdsPlugin",(v=>{v.hooks.recordModules.tap("RecordIdsPlugin",((E,P)=>{const $=v.chunkGraph;if(!P.modules)P.modules={};if(!P.modules.byIdentifier)P.modules.byIdentifier={};const N=new Set;for(const v of E){const E=$.getModuleId(v);if(typeof E!=="number")continue;const R=getModuleIdentifier(v);P.modules.byIdentifier[R]=E;N.add(E)}P.modules.usedIds=Array.from(N).sort(R)}));v.hooks.reviveModules.tap("RecordIdsPlugin",((E,P)=>{if(!P.modules)return;if(P.modules.byIdentifier){const R=v.chunkGraph;const $=new Set;for(const v of E){const E=R.getModuleId(v);if(E!==null)continue;const N=getModuleIdentifier(v);const L=P.modules.byIdentifier[N];if(L===undefined)continue;if($.has(L))continue;$.add(L);R.setModuleId(v,L)}}if(Array.isArray(P.modules.usedIds)){v.usedModuleIds=new Set(P.modules.usedIds)}}));const getChunkSources=v=>{const E=[];for(const P of v.groupsIterable){const R=P.chunks.indexOf(v);if(P.name){E.push(`${R} ${P.name}`)}else{for(const v of P.origins){if(v.module){if(v.request){E.push(`${R} ${getModuleIdentifier(v.module)} ${v.request}`)}else if(typeof v.loc==="string"){E.push(`${R} ${getModuleIdentifier(v.module)} ${v.loc}`)}else if(v.loc&&typeof v.loc==="object"&&"start"in v.loc){E.push(`${R} ${getModuleIdentifier(v.module)} ${JSON.stringify(v.loc.start)}`)}}}}}return E};v.hooks.recordChunks.tap("RecordIdsPlugin",((v,E)=>{if(!E.chunks)E.chunks={};if(!E.chunks.byName)E.chunks.byName={};if(!E.chunks.bySource)E.chunks.bySource={};const P=new Set;for(const R of v){if(typeof R.id!=="number")continue;const v=R.name;if(v)E.chunks.byName[v]=R.id;const $=getChunkSources(R);for(const v of $){E.chunks.bySource[v]=R.id}P.add(R.id)}E.chunks.usedIds=Array.from(P).sort(R)}));v.hooks.reviveChunks.tap("RecordIdsPlugin",((E,P)=>{if(!P.chunks)return;const R=new Set;if(P.chunks.byName){for(const v of E){if(v.id!==null)continue;if(!v.name)continue;const E=P.chunks.byName[v.name];if(E===undefined)continue;if(R.has(E))continue;R.add(E);v.id=E;v.ids=[E]}}if(P.chunks.bySource){for(const v of E){if(v.id!==null)continue;const E=getChunkSources(v);for(const $ of E){const E=P.chunks.bySource[$];if(E===undefined)continue;if(R.has(E))continue;R.add(E);v.id=E;v.ids=[E];break}}}if(Array.isArray(P.chunks.usedIds)){v.usedChunkIds=new Set(P.chunks.usedIds)}}))}))}}v.exports=RecordIdsPlugin},73276:function(v,E,P){"use strict";const{contextify:R}=P(94778);class RequestShortener{constructor(v,E){this.contextify=R.bindContextCache(v,E)}shorten(v){if(!v){return v}return this.contextify(v)}}v.exports=RequestShortener},16839:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$}=P(98791);const N=P(75189);const L=P(52540);const{toConstantDependency:q}=P(31445);const K="RequireJsStuffPlugin";v.exports=class RequireJsStuffPlugin{apply(v){v.hooks.compilation.tap(K,((v,{normalModuleFactory:E})=>{v.dependencyTemplates.set(L,new L.Template);const handler=(v,E)=>{if(E.requireJs===undefined||!E.requireJs){return}v.hooks.call.for("require.config").tap(K,q(v,"undefined"));v.hooks.call.for("requirejs.config").tap(K,q(v,"undefined"));v.hooks.expression.for("require.version").tap(K,q(v,JSON.stringify("0.0.0")));v.hooks.expression.for("requirejs.onError").tap(K,q(v,N.uncaughtErrorHandler,[N.uncaughtErrorHandler]))};E.hooks.parser.for(R).tap(K,handler);E.hooks.parser.for($).tap(K,handler)}))}}},59561:function(v,E,P){"use strict";const R=P(32613).ResolverFactory;const{HookMap:$,SyncHook:N,SyncWaterfallHook:L}=P(79846);const{cachedCleverMerge:q,removeOperations:K,resolveByProperty:ae}=P(34218);const ge={};const convertToResolveOptions=v=>{const{dependencyType:E,plugins:P,...R}=v;const $={...R,plugins:P&&P.filter((v=>v!=="..."))};if(!$.fileSystem){throw new Error("fileSystem is missing in resolveOptions, but it's required for enhanced-resolve")}const N=$;return K(ae(N,"byDependency",E))};v.exports=class ResolverFactory{constructor(){this.hooks=Object.freeze({resolveOptions:new $((()=>new L(["resolveOptions"]))),resolver:new $((()=>new N(["resolver","resolveOptions","userResolveOptions"])))});this.cache=new Map}get(v,E=ge){let P=this.cache.get(v);if(!P){P={direct:new WeakMap,stringified:new Map};this.cache.set(v,P)}const R=P.direct.get(E);if(R){return R}const $=JSON.stringify(E);const N=P.stringified.get($);if(N){P.direct.set(E,N);return N}const L=this._create(v,E);P.direct.set(E,L);P.stringified.set($,L);return L}_create(v,E){const P={...E};const $=convertToResolveOptions(this.hooks.resolveOptions.for(v).call(E));const N=R.createResolver($);if(!N){throw new Error("No resolver created")}const L=new WeakMap;N.withOptions=E=>{const R=L.get(E);if(R!==undefined)return R;const $=q(P,E);const N=this.get(v,$);L.set(E,N);return N};this.hooks.resolver.for(v).call(N,$,P);return N}}},75189:function(v,E){"use strict";E.require="__webpack_require__";E.requireScope="__webpack_require__.*";E.exports="__webpack_exports__";E.thisAsExports="top-level-this-exports";E.returnExportsFromRuntime="return-exports-from-runtime";E.module="module";E.moduleId="module.id";E.moduleLoaded="module.loaded";E.publicPath="__webpack_require__.p";E.entryModuleId="__webpack_require__.s";E.moduleCache="__webpack_require__.c";E.moduleFactories="__webpack_require__.m";E.moduleFactoriesAddOnly="__webpack_require__.m (add only)";E.ensureChunk="__webpack_require__.e";E.ensureChunkHandlers="__webpack_require__.f";E.ensureChunkIncludeEntries="__webpack_require__.f (include entries)";E.prefetchChunk="__webpack_require__.E";E.prefetchChunkHandlers="__webpack_require__.F";E.preloadChunk="__webpack_require__.G";E.preloadChunkHandlers="__webpack_require__.H";E.definePropertyGetters="__webpack_require__.d";E.makeNamespaceObject="__webpack_require__.r";E.createFakeNamespaceObject="__webpack_require__.t";E.compatGetDefaultExport="__webpack_require__.n";E.harmonyModuleDecorator="__webpack_require__.hmd";E.nodeModuleDecorator="__webpack_require__.nmd";E.getFullHash="__webpack_require__.h";E.wasmInstances="__webpack_require__.w";E.instantiateWasm="__webpack_require__.v";E.uncaughtErrorHandler="__webpack_require__.oe";E.scriptNonce="__webpack_require__.nc";E.loadScript="__webpack_require__.l";E.createScript="__webpack_require__.ts";E.createScriptUrl="__webpack_require__.tu";E.getTrustedTypesPolicy="__webpack_require__.tt";E.hasFetchPriority="has fetch priority";E.chunkName="__webpack_require__.cn";E.runtimeId="__webpack_require__.j";E.getChunkScriptFilename="__webpack_require__.u";E.getChunkCssFilename="__webpack_require__.k";E.hasCssModules="has css modules";E.getChunkUpdateScriptFilename="__webpack_require__.hu";E.getChunkUpdateCssFilename="__webpack_require__.hk";E.startup="__webpack_require__.x";E.startupNoDefault="__webpack_require__.x (no default handler)";E.startupOnlyAfter="__webpack_require__.x (only after)";E.startupOnlyBefore="__webpack_require__.x (only before)";E.chunkCallback="webpackChunk";E.startupEntrypoint="__webpack_require__.X";E.onChunksLoaded="__webpack_require__.O";E.externalInstallChunk="__webpack_require__.C";E.interceptModuleExecution="__webpack_require__.i";E.global="__webpack_require__.g";E.shareScopeMap="__webpack_require__.S";E.initializeSharing="__webpack_require__.I";E.currentRemoteGetScope="__webpack_require__.R";E.getUpdateManifestFilename="__webpack_require__.hmrF";E.hmrDownloadManifest="__webpack_require__.hmrM";E.hmrDownloadUpdateHandlers="__webpack_require__.hmrC";E.hmrModuleData="__webpack_require__.hmrD";E.hmrInvalidateModuleHandlers="__webpack_require__.hmrI";E.hmrRuntimeStatePrefix="__webpack_require__.hmrS";E.amdDefine="__webpack_require__.amdD";E.amdOptions="__webpack_require__.amdO";E.system="__webpack_require__.System";E.hasOwnProperty="__webpack_require__.o";E.systemContext="__webpack_require__.y";E.baseURI="__webpack_require__.b";E.relativeUrl="__webpack_require__.U";E.asyncModule="__webpack_require__.a"},62970:function(v,E,P){"use strict";const{RawSource:R}=P(51255);const $=P(51255).OriginalSource;const N=P(82919);const{WEBPACK_MODULE_TYPE_RUNTIME:L}=P(98791);const q=new Set([L]);class RuntimeModule extends N{constructor(v,E=0){super(L);this.name=v;this.stage=E;this.buildMeta={};this.buildInfo={};this.compilation=undefined;this.chunk=undefined;this.chunkGraph=undefined;this.fullHash=false;this.dependentHash=false;this._cachedGeneratedCode=undefined}attach(v,E,P=v.chunkGraph){this.compilation=v;this.chunk=E;this.chunkGraph=P}identifier(){return`webpack/runtime/${this.name}`}readableIdentifier(v){return`webpack/runtime/${this.name}`}needBuild(v,E){return E(null,false)}build(v,E,P,R,$){$()}updateHash(v,E){v.update(this.name);v.update(`${this.stage}`);try{if(this.fullHash||this.dependentHash){v.update(this.generate())}else{v.update(this.getGeneratedCode())}}catch(E){v.update(E.message)}super.updateHash(v,E)}getSourceTypes(){return q}codeGeneration(v){const E=new Map;const P=this.getGeneratedCode();if(P){E.set(L,this.useSourceMap||this.useSimpleSourceMap?new $(P,this.identifier()):new R(P))}return{sources:E,runtimeRequirements:null}}size(v){try{const v=this.getGeneratedCode();return v?v.length:0}catch(v){return 0}}generate(){const v=P(86478);throw new v}getGeneratedCode(){if(this._cachedGeneratedCode){return this._cachedGeneratedCode}return this._cachedGeneratedCode=this.generate()}shouldIsolate(){return true}}RuntimeModule.STAGE_NORMAL=0;RuntimeModule.STAGE_BASIC=5;RuntimeModule.STAGE_ATTACH=10;RuntimeModule.STAGE_TRIGGER=20;v.exports=RuntimeModule},78991:function(v,E,P){"use strict";const R=P(75189);const{getChunkFilenameTemplate:$}=P(69527);const N=P(44870);const L=P(87885);const q=P(82290);const K=P(51391);const ae=P(57812);const ge=P(13248);const be=P(3718);const xe=P(49320);const ve=P(96105);const Ae=P(68916);const Ie=P(89284);const He=P(68395);const Qe=P(92854);const Je=P(73322);const Ve=P(40354);const Ke=P(60007);const Ye=P(13452);const Xe=P(80431);const Ze=P(95718);const et=P(28354);const tt=P(41539);const nt=P(6122);const st=P(16700);const rt=P(23533);const ot=P(3015);const it=P(17416);const at=P(34325);const ct=[R.chunkName,R.runtimeId,R.compatGetDefaultExport,R.createFakeNamespaceObject,R.createScript,R.createScriptUrl,R.getTrustedTypesPolicy,R.definePropertyGetters,R.ensureChunk,R.entryModuleId,R.getFullHash,R.global,R.makeNamespaceObject,R.moduleCache,R.moduleFactories,R.moduleFactoriesAddOnly,R.interceptModuleExecution,R.publicPath,R.baseURI,R.relativeUrl,R.scriptNonce,R.uncaughtErrorHandler,R.asyncModule,R.wasmInstances,R.instantiateWasm,R.shareScopeMap,R.initializeSharing,R.loadScript,R.systemContext,R.onChunksLoaded];const lt={[R.moduleLoaded]:[R.module],[R.moduleId]:[R.module]};const ut={[R.definePropertyGetters]:[R.hasOwnProperty],[R.compatGetDefaultExport]:[R.definePropertyGetters],[R.createFakeNamespaceObject]:[R.definePropertyGetters,R.makeNamespaceObject,R.require],[R.initializeSharing]:[R.shareScopeMap],[R.shareScopeMap]:[R.hasOwnProperty]};class RuntimePlugin{apply(v){v.hooks.compilation.tap("RuntimePlugin",(v=>{const E=v.outputOptions.chunkLoading;const isChunkLoadingDisabledForChunk=v=>{const P=v.getEntryOptions();const R=P&&P.chunkLoading!==undefined?P.chunkLoading:E;return R===false};v.dependencyTemplates.set(N,new N.Template);for(const E of ct){v.hooks.runtimeRequirementInModule.for(E).tap("RuntimePlugin",((v,E)=>{E.add(R.requireScope)}));v.hooks.runtimeRequirementInTree.for(E).tap("RuntimePlugin",((v,E)=>{E.add(R.requireScope)}))}for(const E of Object.keys(ut)){const P=ut[E];v.hooks.runtimeRequirementInTree.for(E).tap("RuntimePlugin",((v,E)=>{for(const v of P)E.add(v)}))}for(const E of Object.keys(lt)){const P=lt[E];v.hooks.runtimeRequirementInModule.for(E).tap("RuntimePlugin",((v,E)=>{for(const v of P)E.add(v)}))}v.hooks.runtimeRequirementInTree.for(R.definePropertyGetters).tap("RuntimePlugin",(E=>{v.addRuntimeModule(E,new Ie);return true}));v.hooks.runtimeRequirementInTree.for(R.makeNamespaceObject).tap("RuntimePlugin",(E=>{v.addRuntimeModule(E,new Ze);return true}));v.hooks.runtimeRequirementInTree.for(R.createFakeNamespaceObject).tap("RuntimePlugin",(E=>{v.addRuntimeModule(E,new xe);return true}));v.hooks.runtimeRequirementInTree.for(R.hasOwnProperty).tap("RuntimePlugin",(E=>{v.addRuntimeModule(E,new Ye);return true}));v.hooks.runtimeRequirementInTree.for(R.compatGetDefaultExport).tap("RuntimePlugin",(E=>{v.addRuntimeModule(E,new ge);return true}));v.hooks.runtimeRequirementInTree.for(R.runtimeId).tap("RuntimePlugin",(E=>{v.addRuntimeModule(E,new rt);return true}));v.hooks.runtimeRequirementInTree.for(R.publicPath).tap("RuntimePlugin",((E,P)=>{const{outputOptions:$}=v;const{publicPath:N,scriptType:L}=$;const q=E.getEntryOptions();const ae=q&&q.publicPath!==undefined?q.publicPath:N;if(ae==="auto"){const $=new K;if(L!=="module")P.add(R.global);v.addRuntimeModule(E,$)}else{const P=new nt(ae);if(typeof ae!=="string"||/\[(full)?hash\]/.test(ae)){P.fullHash=true}v.addRuntimeModule(E,P)}return true}));v.hooks.runtimeRequirementInTree.for(R.global).tap("RuntimePlugin",(E=>{v.addRuntimeModule(E,new Ke);return true}));v.hooks.runtimeRequirementInTree.for(R.asyncModule).tap("RuntimePlugin",(E=>{v.addRuntimeModule(E,new q);return true}));v.hooks.runtimeRequirementInTree.for(R.systemContext).tap("RuntimePlugin",(E=>{const{outputOptions:P}=v;const{library:R}=P;const $=E.getEntryOptions();const N=$&&$.library!==undefined?$.library.type:R.type;if(N==="system"){v.addRuntimeModule(E,new ot)}return true}));v.hooks.runtimeRequirementInTree.for(R.getChunkScriptFilename).tap("RuntimePlugin",((E,P)=>{if(typeof v.outputOptions.chunkFilename==="string"&&/\[(full)?hash(:\d+)?\]/.test(v.outputOptions.chunkFilename)){P.add(R.getFullHash)}v.addRuntimeModule(E,new Qe("javascript","javascript",R.getChunkScriptFilename,(E=>E.filenameTemplate||(E.canBeInitial()?v.outputOptions.filename:v.outputOptions.chunkFilename)),false));return true}));v.hooks.runtimeRequirementInTree.for(R.getChunkCssFilename).tap("RuntimePlugin",((E,P)=>{if(typeof v.outputOptions.cssChunkFilename==="string"&&/\[(full)?hash(:\d+)?\]/.test(v.outputOptions.cssChunkFilename)){P.add(R.getFullHash)}v.addRuntimeModule(E,new Qe("css","css",R.getChunkCssFilename,(E=>$(E,v.outputOptions)),P.has(R.hmrDownloadUpdateHandlers)));return true}));v.hooks.runtimeRequirementInTree.for(R.getChunkUpdateScriptFilename).tap("RuntimePlugin",((E,P)=>{if(/\[(full)?hash(:\d+)?\]/.test(v.outputOptions.hotUpdateChunkFilename))P.add(R.getFullHash);v.addRuntimeModule(E,new Qe("javascript","javascript update",R.getChunkUpdateScriptFilename,(E=>v.outputOptions.hotUpdateChunkFilename),true));return true}));v.hooks.runtimeRequirementInTree.for(R.getUpdateManifestFilename).tap("RuntimePlugin",((E,P)=>{if(/\[(full)?hash(:\d+)?\]/.test(v.outputOptions.hotUpdateMainFilename)){P.add(R.getFullHash)}v.addRuntimeModule(E,new Je("update manifest",R.getUpdateManifestFilename,v.outputOptions.hotUpdateMainFilename));return true}));v.hooks.runtimeRequirementInTree.for(R.ensureChunk).tap("RuntimePlugin",((E,P)=>{const $=E.hasAsyncChunks();if($){P.add(R.ensureChunkHandlers)}v.addRuntimeModule(E,new He(P));return true}));v.hooks.runtimeRequirementInTree.for(R.ensureChunkIncludeEntries).tap("RuntimePlugin",((v,E)=>{E.add(R.ensureChunkHandlers)}));v.hooks.runtimeRequirementInTree.for(R.shareScopeMap).tap("RuntimePlugin",((E,P)=>{v.addRuntimeModule(E,new it);return true}));v.hooks.runtimeRequirementInTree.for(R.loadScript).tap("RuntimePlugin",((E,P)=>{const $=!!v.outputOptions.trustedTypes;if($){P.add(R.createScriptUrl)}const N=P.has(R.hasFetchPriority);v.addRuntimeModule(E,new Xe($,N));return true}));v.hooks.runtimeRequirementInTree.for(R.createScript).tap("RuntimePlugin",((E,P)=>{if(v.outputOptions.trustedTypes){P.add(R.getTrustedTypesPolicy)}v.addRuntimeModule(E,new ve);return true}));v.hooks.runtimeRequirementInTree.for(R.createScriptUrl).tap("RuntimePlugin",((E,P)=>{if(v.outputOptions.trustedTypes){P.add(R.getTrustedTypesPolicy)}v.addRuntimeModule(E,new Ae);return true}));v.hooks.runtimeRequirementInTree.for(R.getTrustedTypesPolicy).tap("RuntimePlugin",((E,P)=>{v.addRuntimeModule(E,new Ve(P));return true}));v.hooks.runtimeRequirementInTree.for(R.relativeUrl).tap("RuntimePlugin",((E,P)=>{v.addRuntimeModule(E,new st);return true}));v.hooks.runtimeRequirementInTree.for(R.onChunksLoaded).tap("RuntimePlugin",((E,P)=>{v.addRuntimeModule(E,new tt);return true}));v.hooks.runtimeRequirementInTree.for(R.baseURI).tap("RuntimePlugin",(E=>{if(isChunkLoadingDisabledForChunk(E)){v.addRuntimeModule(E,new ae);return true}}));v.hooks.runtimeRequirementInTree.for(R.scriptNonce).tap("RuntimePlugin",(E=>{v.addRuntimeModule(E,new et);return true}));v.hooks.additionalTreeRuntimeRequirements.tap("RuntimePlugin",((E,P)=>{const{mainTemplate:R}=v;if(R.hooks.bootstrap.isUsed()||R.hooks.localVars.isUsed()||R.hooks.requireEnsure.isUsed()||R.hooks.requireExtensions.isUsed()){v.addRuntimeModule(E,new be)}}));L.getCompilationHooks(v).chunkHash.tap("RuntimePlugin",((v,E,{chunkGraph:P})=>{const R=new at;for(const E of P.getChunkRuntimeModulesIterable(v)){R.add(P.getModuleHash(E,v.runtime))}R.updateHash(E)}))}))}}v.exports=RuntimePlugin},51747:function(v,E,P){"use strict";const R=P(94252);const $=P(75189);const N=P(35600);const{equals:L}=P(98734);const q=P(41516);const K=P(53914);const{forEachRuntime:ae,subtractRuntime:ge}=P(32681);const noModuleIdErrorMessage=(v,E)=>`Module ${v.identifier()} has no id assigned.\nThis should not happen.\nIt's in these chunks: ${Array.from(E.getModuleChunksIterable(v),(v=>v.name||v.id||v.debugId)).join(", ")||"none"} (If module is in no chunk this indicates a bug in some chunk/module optimization logic)\nModule has these incoming connections: ${Array.from(E.moduleGraph.getIncomingConnections(v),(v=>`\n - ${v.originModule&&v.originModule.identifier()} ${v.dependency&&v.dependency.type} ${v.explanations&&Array.from(v.explanations).join(", ")||""}`)).join("")}`;function getGlobalObject(v){if(!v)return v;const E=v.trim();if(E.match(/^[_\p{L}][_0-9\p{L}]*$/iu)||E.match(/^([_\p{L}][_0-9\p{L}]*)?\(.*\)$/iu))return E;return`Object(${E})`}class RuntimeTemplate{constructor(v,E,P){this.compilation=v;this.outputOptions=E||{};this.requestShortener=P;this.globalObject=getGlobalObject(E.globalObject);this.contentHashReplacement="X".repeat(E.hashDigestLength)}isIIFE(){return this.outputOptions.iife}isModule(){return this.outputOptions.module}supportsConst(){return this.outputOptions.environment.const}supportsArrowFunction(){return this.outputOptions.environment.arrowFunction}supportsAsyncFunction(){return this.outputOptions.environment.asyncFunction}supportsOptionalChaining(){return this.outputOptions.environment.optionalChaining}supportsForOf(){return this.outputOptions.environment.forOf}supportsDestructuring(){return this.outputOptions.environment.destructuring}supportsBigIntLiteral(){return this.outputOptions.environment.bigIntLiteral}supportsDynamicImport(){return this.outputOptions.environment.dynamicImport}supportsEcmaScriptModuleSyntax(){return this.outputOptions.environment.module}supportTemplateLiteral(){return this.outputOptions.environment.templateLiteral}returningFunction(v,E=""){return this.supportsArrowFunction()?`(${E}) => (${v})`:`function(${E}) { return ${v}; }`}basicFunction(v,E){return this.supportsArrowFunction()?`(${v}) => {\n${N.indent(E)}\n}`:`function(${v}) {\n${N.indent(E)}\n}`}concatenation(...v){const E=v.length;if(E===2)return this._es5Concatenation(v);if(E===0)return'""';if(E===1){return typeof v[0]==="string"?JSON.stringify(v[0]):`"" + ${v[0].expr}`}if(!this.supportTemplateLiteral())return this._es5Concatenation(v);let P=0;let R=0;let $=false;for(const E of v){const v=typeof E!=="string";if(v){P+=3;R+=$?1:4}$=v}if($)R-=3;if(typeof v[0]!=="string"&&typeof v[1]==="string")R-=3;if(R<=P)return this._es5Concatenation(v);return`\`${v.map((v=>typeof v==="string"?v:`\${${v.expr}}`)).join("")}\``}_es5Concatenation(v){const E=v.map((v=>typeof v==="string"?JSON.stringify(v):v.expr)).join(" + ");return typeof v[0]!=="string"&&typeof v[1]!=="string"?`"" + ${E}`:E}expressionFunction(v,E=""){return this.supportsArrowFunction()?`(${E}) => (${v})`:`function(${E}) { ${v}; }`}emptyFunction(){return this.supportsArrowFunction()?"x => {}":"function() {}"}destructureArray(v,E){return this.supportsDestructuring()?`var [${v.join(", ")}] = ${E};`:N.asString(v.map(((v,P)=>`var ${v} = ${E}[${P}];`)))}destructureObject(v,E){return this.supportsDestructuring()?`var {${v.join(", ")}} = ${E};`:N.asString(v.map((v=>`var ${v} = ${E}${K([v])};`)))}iife(v,E){return`(${this.basicFunction(v,E)})()`}forEach(v,E,P){return this.supportsForOf()?`for(const ${v} of ${E}) {\n${N.indent(P)}\n}`:`${E}.forEach(function(${v}) {\n${N.indent(P)}\n});`}comment({request:v,chunkName:E,chunkReason:P,message:R,exportName:$}){let L;if(this.outputOptions.pathinfo){L=[R,v,E,P].filter(Boolean).map((v=>this.requestShortener.shorten(v))).join(" | ")}else{L=[R,E,P].filter(Boolean).map((v=>this.requestShortener.shorten(v))).join(" | ")}if(!L)return"";if(this.outputOptions.pathinfo){return N.toComment(L)+" "}else{return N.toNormalComment(L)+" "}}throwMissingModuleErrorBlock({request:v}){const E=`Cannot find module '${v}'`;return`var e = new Error(${JSON.stringify(E)}); e.code = 'MODULE_NOT_FOUND'; throw e;`}throwMissingModuleErrorFunction({request:v}){return`function webpackMissingModule() { ${this.throwMissingModuleErrorBlock({request:v})} }`}missingModule({request:v}){return`Object(${this.throwMissingModuleErrorFunction({request:v})}())`}missingModuleStatement({request:v}){return`${this.missingModule({request:v})};\n`}missingModulePromise({request:v}){return`Promise.resolve().then(${this.throwMissingModuleErrorFunction({request:v})})`}weakError({module:v,chunkGraph:E,request:P,idExpr:R,type:$}){const L=E.getModuleId(v);const q=L===null?JSON.stringify("Module is not available (weak dependency)"):R?`"Module '" + ${R} + "' is not available (weak dependency)"`:JSON.stringify(`Module '${L}' is not available (weak dependency)`);const K=P?N.toNormalComment(P)+" ":"";const ae=`var e = new Error(${q}); `+K+"e.code = 'MODULE_NOT_FOUND'; throw e;";switch($){case"statements":return ae;case"promise":return`Promise.resolve().then(${this.basicFunction("",ae)})`;case"expression":return this.iife("",ae)}}moduleId({module:v,chunkGraph:E,request:P,weak:R}){if(!v){return this.missingModule({request:P})}const $=E.getModuleId(v);if($===null){if(R){return"null /* weak dependency, without id */"}throw new Error(`RuntimeTemplate.moduleId(): ${noModuleIdErrorMessage(v,E)}`)}return`${this.comment({request:P})}${JSON.stringify($)}`}moduleRaw({module:v,chunkGraph:E,request:P,weak:R,runtimeRequirements:N}){if(!v){return this.missingModule({request:P})}const L=E.getModuleId(v);if(L===null){if(R){return this.weakError({module:v,chunkGraph:E,request:P,type:"expression"})}throw new Error(`RuntimeTemplate.moduleId(): ${noModuleIdErrorMessage(v,E)}`)}N.add($.require);return`${$.require}(${this.moduleId({module:v,chunkGraph:E,request:P,weak:R})})`}moduleExports({module:v,chunkGraph:E,request:P,weak:R,runtimeRequirements:$}){return this.moduleRaw({module:v,chunkGraph:E,request:P,weak:R,runtimeRequirements:$})}moduleNamespace({module:v,chunkGraph:E,request:P,strict:R,weak:N,runtimeRequirements:L}){if(!v){return this.missingModule({request:P})}if(E.getModuleId(v)===null){if(N){return this.weakError({module:v,chunkGraph:E,request:P,type:"expression"})}throw new Error(`RuntimeTemplate.moduleNamespace(): ${noModuleIdErrorMessage(v,E)}`)}const q=this.moduleId({module:v,chunkGraph:E,request:P,weak:N});const K=v.getExportsType(E.moduleGraph,R);switch(K){case"namespace":return this.moduleRaw({module:v,chunkGraph:E,request:P,weak:N,runtimeRequirements:L});case"default-with-named":L.add($.createFakeNamespaceObject);return`${$.createFakeNamespaceObject}(${q}, 3)`;case"default-only":L.add($.createFakeNamespaceObject);return`${$.createFakeNamespaceObject}(${q}, 1)`;case"dynamic":L.add($.createFakeNamespaceObject);return`${$.createFakeNamespaceObject}(${q}, 7)`}}moduleNamespacePromise({chunkGraph:v,block:E,module:P,request:R,message:N,strict:L,weak:q,runtimeRequirements:K}){if(!P){return this.missingModulePromise({request:R})}const ae=v.getModuleId(P);if(ae===null){if(q){return this.weakError({module:P,chunkGraph:v,request:R,type:"promise"})}throw new Error(`RuntimeTemplate.moduleNamespacePromise(): ${noModuleIdErrorMessage(P,v)}`)}const ge=this.blockPromise({chunkGraph:v,block:E,message:N,runtimeRequirements:K});let be;let xe=JSON.stringify(v.getModuleId(P));const ve=this.comment({request:R});let Ae="";if(q){if(xe.length>8){Ae+=`var id = ${xe}; `;xe="id"}K.add($.moduleFactories);Ae+=`if(!${$.moduleFactories}[${xe}]) { ${this.weakError({module:P,chunkGraph:v,request:R,idExpr:xe,type:"statements"})} } `}const Ie=this.moduleId({module:P,chunkGraph:v,request:R,weak:q});const He=P.getExportsType(v.moduleGraph,L);let Qe=16;switch(He){case"namespace":if(Ae){const E=this.moduleRaw({module:P,chunkGraph:v,request:R,weak:q,runtimeRequirements:K});be=`.then(${this.basicFunction("",`${Ae}return ${E};`)})`}else{K.add($.require);be=`.then(${$.require}.bind(${$.require}, ${ve}${xe}))`}break;case"dynamic":Qe|=4;case"default-with-named":Qe|=2;case"default-only":K.add($.createFakeNamespaceObject);if(v.moduleGraph.isAsync(P)){if(Ae){const E=this.moduleRaw({module:P,chunkGraph:v,request:R,weak:q,runtimeRequirements:K});be=`.then(${this.basicFunction("",`${Ae}return ${E};`)})`}else{K.add($.require);be=`.then(${$.require}.bind(${$.require}, ${ve}${xe}))`}be+=`.then(${this.returningFunction(`${$.createFakeNamespaceObject}(m, ${Qe})`,"m")})`}else{Qe|=1;if(Ae){const v=`${$.createFakeNamespaceObject}(${Ie}, ${Qe})`;be=`.then(${this.basicFunction("",`${Ae}return ${v};`)})`}else{be=`.then(${$.createFakeNamespaceObject}.bind(${$.require}, ${ve}${xe}, ${Qe}))`}}break}return`${ge||"Promise.resolve()"}${be}`}runtimeConditionExpression({chunkGraph:v,runtimeCondition:E,runtime:P,runtimeRequirements:R}){if(E===undefined)return"true";if(typeof E==="boolean")return`${E}`;const N=new Set;ae(E,(E=>N.add(`${v.getRuntimeId(E)}`)));const L=new Set;ae(ge(P,E),(E=>L.add(`${v.getRuntimeId(E)}`)));R.add($.runtimeId);return q.fromLists(Array.from(N),Array.from(L))($.runtimeId)}importStatement({update:v,module:E,chunkGraph:P,request:R,importVar:N,originModule:L,weak:q,runtimeRequirements:K}){if(!E){return[this.missingModuleStatement({request:R}),""]}if(P.getModuleId(E)===null){if(q){return[this.weakError({module:E,chunkGraph:P,request:R,type:"statements"}),""]}throw new Error(`RuntimeTemplate.importStatement(): ${noModuleIdErrorMessage(E,P)}`)}const ae=this.moduleId({module:E,chunkGraph:P,request:R,weak:q});const ge=v?"":"var ";const be=E.getExportsType(P.moduleGraph,L.buildMeta.strictHarmonyModule);K.add($.require);const xe=`/* harmony import */ ${ge}${N} = ${$.require}(${ae});\n`;if(be==="dynamic"){K.add($.compatGetDefaultExport);return[xe,`/* harmony import */ ${ge}${N}_default = /*#__PURE__*/${$.compatGetDefaultExport}(${N});\n`]}return[xe,""]}exportFromImport({moduleGraph:v,module:E,request:P,exportName:q,originModule:ae,asiSafe:ge,isCall:be,callContext:xe,defaultInterop:ve,importVar:Ae,initFragments:Ie,runtime:He,runtimeRequirements:Qe}){if(!E){return this.missingModule({request:P})}if(!Array.isArray(q)){q=q?[q]:[]}const Je=E.getExportsType(v,ae.buildMeta.strictHarmonyModule);if(ve){if(q.length>0&&q[0]==="default"){switch(Je){case"dynamic":if(be){return`${Ae}_default()${K(q,1)}`}else{return ge?`(${Ae}_default()${K(q,1)})`:ge===false?`;(${Ae}_default()${K(q,1)})`:`${Ae}_default.a${K(q,1)}`}case"default-only":case"default-with-named":q=q.slice(1);break}}else if(q.length>0){if(Je==="default-only"){return"/* non-default import from non-esm module */undefined"+K(q,1)}else if(Je!=="namespace"&&q[0]==="__esModule"){return"/* __esModule */true"}}else if(Je==="default-only"||Je==="default-with-named"){Qe.add($.createFakeNamespaceObject);Ie.push(new R(`var ${Ae}_namespace_cache;\n`,R.STAGE_CONSTANTS,-1,`${Ae}_namespace_cache`));return`/*#__PURE__*/ ${ge?"":ge===false?";":"Object"}(${Ae}_namespace_cache || (${Ae}_namespace_cache = ${$.createFakeNamespaceObject}(${Ae}${Je==="default-only"?"":", 2"})))`}}if(q.length>0){const P=v.getExportsInfo(E);const R=P.getUsedName(q,He);if(!R){const v=N.toNormalComment(`unused export ${K(q)}`);return`${v} undefined`}const $=L(R,q)?"":N.toNormalComment(K(q))+" ";const ae=`${Ae}${$}${K(R)}`;if(be&&xe===false){return ge?`(0,${ae})`:ge===false?`;(0,${ae})`:`/*#__PURE__*/Object(${ae})`}return ae}else{return Ae}}blockPromise({block:v,message:E,chunkGraph:P,runtimeRequirements:R}){if(!v){const v=this.comment({message:E});return`Promise.resolve(${v.trim()})`}const N=P.getBlockChunkGroup(v);if(!N||N.chunks.length===0){const v=this.comment({message:E});return`Promise.resolve(${v.trim()})`}const L=N.chunks.filter((v=>!v.hasRuntime()&&v.id!==null));const q=this.comment({message:E,chunkName:v.chunkName});if(L.length===1){const v=JSON.stringify(L[0].id);R.add($.ensureChunk);const E=N.options.fetchPriority;if(E){R.add($.hasFetchPriority)}return`${$.ensureChunk}(${q}${v}${E?`, ${JSON.stringify(E)}`:""})`}else if(L.length>0){R.add($.ensureChunk);const v=N.options.fetchPriority;if(v){R.add($.hasFetchPriority)}const requireChunkId=E=>`${$.ensureChunk}(${JSON.stringify(E.id)}${v?`, ${JSON.stringify(v)}`:""})`;return`Promise.all(${q.trim()}[${L.map(requireChunkId).join(", ")}])`}else{return`Promise.resolve(${q.trim()})`}}asyncModuleFactory({block:v,chunkGraph:E,runtimeRequirements:P,request:R}){const $=v.dependencies[0];const N=E.moduleGraph.getModule($);const L=this.blockPromise({block:v,message:"",chunkGraph:E,runtimeRequirements:P});const q=this.returningFunction(this.moduleRaw({module:N,chunkGraph:E,request:R,runtimeRequirements:P}));return this.returningFunction(L.startsWith("Promise.resolve(")?`${q}`:`${L}.then(${this.returningFunction(q)})`)}syncModuleFactory({dependency:v,chunkGraph:E,runtimeRequirements:P,request:R}){const $=E.moduleGraph.getModule(v);const N=this.returningFunction(this.moduleRaw({module:$,chunkGraph:E,request:R,runtimeRequirements:P}));return this.returningFunction(N)}defineEsModuleFlagStatement({exportsArgument:v,runtimeRequirements:E}){E.add($.makeNamespaceObject);E.add($.exports);return`${$.makeNamespaceObject}(${v});\n`}assetUrl({publicPath:v,runtime:E,module:P,codeGenerationResults:R}){if(!P){return"data:,"}const $=R.get(P,E);const{data:N}=$;const L=N.get("url");if(L)return L.toString();const q=N.get("filename");return v+q}}v.exports=RuntimeTemplate},78354:function(v){"use strict";class SelfModuleFactory{constructor(v){this.moduleGraph=v}create(v,E){const P=this.moduleGraph.getParentModule(v.dependencies[0]);E(null,{module:P})}}v.exports=SelfModuleFactory},66394:function(v,E,P){"use strict";v.exports=P(21049)},54172:function(v,E){"use strict";E.formatSize=v=>{if(typeof v!=="number"||Number.isNaN(v)===true){return"unknown size"}if(v<=0){return"0 bytes"}const E=["bytes","KiB","MiB","GiB"];const P=Math.floor(Math.log(v)/Math.log(1024));return`${+(v/Math.pow(1024,P)).toPrecision(3)} ${E[P]}`}},67150:function(v,E,P){"use strict";const R=P(87885);class SourceMapDevToolModuleOptionsPlugin{constructor(v){this.options=v}apply(v){const E=this.options;if(E.module!==false){v.hooks.buildModule.tap("SourceMapDevToolModuleOptionsPlugin",(v=>{v.useSourceMap=true}));v.hooks.runtimeModule.tap("SourceMapDevToolModuleOptionsPlugin",(v=>{v.useSourceMap=true}))}else{v.hooks.buildModule.tap("SourceMapDevToolModuleOptionsPlugin",(v=>{v.useSimpleSourceMap=true}));v.hooks.runtimeModule.tap("SourceMapDevToolModuleOptionsPlugin",(v=>{v.useSimpleSourceMap=true}))}R.getCompilationHooks(v).useSourceMap.tap("SourceMapDevToolModuleOptionsPlugin",(()=>true))}}v.exports=SourceMapDevToolModuleOptionsPlugin},452:function(v,E,P){"use strict";const R=P(78175);const{ConcatSource:$,RawSource:N}=P(51255);const L=P(92150);const q=P(13745);const K=P(97924);const ae=P(67150);const ge=P(86278);const be=P(1558);const{relative:xe,dirname:ve}=P(23763);const{makePathsAbsolute:Ae}=P(94778);const Ie=ge(P(41499),(()=>P(4469)),{name:"SourceMap DevTool Plugin",baseDataPath:"options"});const He=/[-[\]\\/{}()*+?.^$|]/g;const Qe=/\[contenthash(:\w+)?\]/;const Je=/\.((c|m)?js|css)($|\?)/i;const Ve=/\.css($|\?)/i;const Ke=/\[map\]/g;const Ye=/\[url\]/g;const Xe=/^\n\/\/(.*)$/;const resetRegexpState=v=>{v.lastIndex=-1};const quoteMeta=v=>v.replace(He,"\\$&");const getTaskForFile=(v,E,P,R,$,N)=>{let L;let q;if(E.sourceAndMap){const v=E.sourceAndMap(R);q=v.map;L=v.source}else{q=E.map(R);L=E.source()}if(!q||typeof L!=="string")return;const K=$.options.context;const ae=$.compiler.root;const ge=Ae.bindContextCache(K,ae);const be=q.sources.map((v=>{if(!v.startsWith("webpack://"))return v;v=ge(v.slice(10));const E=$.findModule(v);return E||v}));return{file:v,asset:E,source:L,assetInfo:P,sourceMap:q,modules:be,cacheItem:N}};class SourceMapDevToolPlugin{constructor(v={}){Ie(v);this.sourceMapFilename=v.filename;this.sourceMappingURLComment=v.append===false?false:v.append||"\n//# source"+"MappingURL=[url]";this.moduleFilenameTemplate=v.moduleFilenameTemplate||"webpack://[namespace]/[resourcePath]";this.fallbackModuleFilenameTemplate=v.fallbackModuleFilenameTemplate||"webpack://[namespace]/[resourcePath]?[hash]";this.namespace=v.namespace||"";this.options=v}apply(v){const E=v.outputFileSystem;const P=this.sourceMapFilename;const ge=this.sourceMappingURLComment;const Ae=this.moduleFilenameTemplate;const Ie=this.namespace;const He=this.fallbackModuleFilenameTemplate;const Ze=v.requestShortener;const et=this.options;et.test=et.test||Je;const tt=q.matchObject.bind(undefined,et);v.hooks.compilation.tap("SourceMapDevToolPlugin",(v=>{new ae(et).apply(v);v.hooks.processAssets.tapAsync({name:"SourceMapDevToolPlugin",stage:L.PROCESS_ASSETS_STAGE_DEV_TOOLING,additionalAssets:true},((L,ae)=>{const Je=v.chunkGraph;const nt=v.getCache("SourceMapDevToolPlugin");const st=new Map;const rt=K.getReporter(v.compiler)||(()=>{});const ot=new Map;for(const E of v.chunks){for(const v of E.files){ot.set(v,E)}for(const v of E.auxiliaryFiles){ot.set(v,E)}}const it=[];for(const v of Object.keys(L)){if(tt(v)){it.push(v)}}rt(0);const at=[];let ct=0;R.each(it,((E,P)=>{const R=v.getAsset(E);if(R.info.related&&R.info.related.sourceMap){ct++;return P()}const $=nt.getItemCache(E,nt.mergeEtags(nt.getLazyHashedEtag(R.source),Ie));$.get(((N,L)=>{if(N){return P(N)}if(L){const{assets:R,assetsInfo:$}=L;for(const P of Object.keys(R)){if(P===E){v.updateAsset(P,R[P],$[P])}else{v.emitAsset(P,R[P],$[P])}if(P!==E){const v=ot.get(E);if(v!==undefined)v.auxiliaryFiles.add(P)}}rt(.5*++ct/it.length,E,"restored cached SourceMap");return P()}rt(.5*ct/it.length,E,"generate SourceMap");const K=getTaskForFile(E,R.source,R.info,{module:et.module,columns:et.columns},v,$);if(K){const E=K.modules;for(let P=0;P{if(L){return ae(L)}rt(.5,"resolve sources");const K=new Set(st.values());const Ae=new Set;const tt=Array.from(st.keys()).sort(((v,E)=>{const P=typeof v==="string"?v:v.identifier();const R=typeof E==="string"?E:E.identifier();return P.length-R.length}));for(let E=0;E{const q=Object.create(null);const K=Object.create(null);const ae=R.file;const Ae=ot.get(ae);const Ie=R.sourceMap;const He=R.source;const Je=R.modules;rt(.5+.5*nt/at.length,ae,"attach SourceMap");const Ze=Je.map((v=>st.get(v)));Ie.sources=Ze;if(et.noSources){Ie.sourcesContent=undefined}Ie.sourceRoot=et.sourceRoot||"";Ie.file=ae;const tt=P&&Qe.test(P);resetRegexpState(Qe);if(tt&&R.assetInfo.contenthash){const v=R.assetInfo.contenthash;let E;if(Array.isArray(v)){E=v.map(quoteMeta).join("|")}else{E=quoteMeta(v)}Ie.file=Ie.file.replace(new RegExp(E,"g"),(v=>"x".repeat(v.length)))}let it=ge;let ct=Ve.test(ae);resetRegexpState(Ve);if(it!==false&&typeof it!=="function"&&ct){it=it.replace(Xe,"\n/*$1*/")}const lt=JSON.stringify(Ie);if(P){let R=ae;const L=tt&&be(v.outputOptions.hashFunction).update(lt).digest("hex");const ge={chunk:Ae,filename:et.fileContext?xe(E,`/${et.fileContext}`,`/${R}`):R,contentHash:L};const{path:Ie,info:Qe}=v.getPathWithInfo(P,ge);const Je=et.publicPath?et.publicPath+Ie:xe(E,ve(E,`/${ae}`),`/${Ie}`);let Ve=new N(He);if(it!==false){Ve=new $(Ve,v.getPath(it,Object.assign({url:Je},ge)))}const Ke={related:{sourceMap:Ie}};q[ae]=Ve;K[ae]=Ke;v.updateAsset(ae,Ve,Ke);const Ye=new N(lt);const Xe={...Qe,development:true};q[Ie]=Ye;K[Ie]=Xe;v.emitAsset(Ie,Ye,Xe);if(Ae!==undefined)Ae.auxiliaryFiles.add(Ie)}else{if(it===false){throw new Error("SourceMapDevToolPlugin: append can't be false when no filename is provided")}if(typeof it==="function"){throw new Error("SourceMapDevToolPlugin: append can't be a function when no filename is provided")}const E=new $(new N(He),it.replace(Ke,(()=>lt)).replace(Ye,(()=>`data:application/json;charset=utf-8;base64,${Buffer.from(lt,"utf-8").toString("base64")}`)));q[ae]=E;K[ae]=undefined;v.updateAsset(ae,E)}R.cacheItem.store({assets:q,assetsInfo:K},(v=>{rt(.5+.5*++nt/at.length,R.file,"attached SourceMap");if(v){return L(v)}L()}))}),(v=>{rt(1);ae(v)}))}))}))}))}}v.exports=SourceMapDevToolPlugin},32110:function(v){"use strict";class Stats{constructor(v){this.compilation=v}get hash(){return this.compilation.hash}get startTime(){return this.compilation.startTime}get endTime(){return this.compilation.endTime}hasWarnings(){return this.compilation.warnings.length>0||this.compilation.children.some((v=>v.getStats().hasWarnings()))}hasErrors(){return this.compilation.errors.length>0||this.compilation.children.some((v=>v.getStats().hasErrors()))}toJson(v){v=this.compilation.createStatsOptions(v,{forToString:false});const E=this.compilation.createStatsFactory(v);return E.create("compilation",this.compilation,{compilation:this.compilation})}toString(v){v=this.compilation.createStatsOptions(v,{forToString:true});const E=this.compilation.createStatsFactory(v);const P=this.compilation.createStatsPrinter(v);const R=E.create("compilation",this.compilation,{compilation:this.compilation});const $=P.print("compilation",R);return $===undefined?"":$}}v.exports=Stats},35600:function(v,E,P){"use strict";const{ConcatSource:R,PrefixSource:$}=P(51255);const{WEBPACK_MODULE_TYPE_RUNTIME:N}=P(98791);const L=P(75189);const q="a".charCodeAt(0);const K="A".charCodeAt(0);const ae="z".charCodeAt(0)-q+1;const ge=ae*2+2;const be=ge+10;const xe=/^function\s?\(\)\s?\{\r?\n?|\r?\n?\}$/g;const ve=/^\t/gm;const Ae=/\r?\n/g;const Ie=/^([^a-zA-Z$_])/;const He=/[^a-zA-Z0-9$]+/g;const Qe=/\*\//g;const Je=/[^a-zA-Z0-9_!§$()=\-^°]+/g;const Ve=/^-|-$/g;class Template{static getFunctionContent(v){return v.toString().replace(xe,"").replace(ve,"").replace(Ae,"\n")}static toIdentifier(v){if(typeof v!=="string")return"";return v.replace(Ie,"_$1").replace(He,"_")}static toComment(v){if(!v)return"";return`/*! ${v.replace(Qe,"* /")} */`}static toNormalComment(v){if(!v)return"";return`/* ${v.replace(Qe,"* /")} */`}static toPath(v){if(typeof v!=="string")return"";return v.replace(Je,"-").replace(Ve,"")}static numberToIdentifier(v){if(v>=ge){return Template.numberToIdentifier(v%ge)+Template.numberToIdentifierContinuation(Math.floor(v/ge))}if(v=be){return Template.numberToIdentifierContinuation(v%be)+Template.numberToIdentifierContinuation(Math.floor(v/be))}if(vv)P=v}if(P<16+(""+P).length){P=0}let R=-1;for(const E of v){R+=`${E.id}`.length+2}const $=P===0?E:16+`${P}`.length+E;return $({id:N.getModuleId(v),source:P(v)||"false"})));const K=Template.getModulesArrayBounds(q);if(K){const v=K[0];const E=K[1];if(v!==0){L.add(`Array(${v}).concat(`)}L.add("[\n");const P=new Map;for(const v of q){P.set(v.id,v)}for(let R=v;R<=E;R++){const E=P.get(R);if(R!==v){L.add(",\n")}L.add(`/* ${R} */`);if(E){L.add("\n");L.add(E.source)}}L.add("\n"+$+"]");if(v!==0){L.add(")")}}else{L.add("{\n");for(let v=0;v {\n");P.add(new $("\t",L));P.add("\n})();\n\n")}else{P.add("!function() {\n");P.add(new $("\t",L));P.add("\n}();\n\n")}}}return P}static renderChunkRuntimeModules(v,E){return new $("/******/ ",new R(`function(${L.require}) { // webpackRuntimeModules\n`,this.renderRuntimeModules(v,E),"}\n"))}}v.exports=Template;v.exports.NUMBER_OF_IDENTIFIER_START_CHARS=ge;v.exports.NUMBER_OF_IDENTIFIER_CONTINUATION_CHARS=be},4543:function(v,E,P){"use strict";const R=P(24230);const{basename:$,extname:N}=P(71017);const L=P(73837);const q=P(13537);const K=P(82919);const{parseResource:ae}=P(94778);const ge=/\[\\*([\w:]+)\\*\]/gi;const prepareId=v=>{if(typeof v!=="string")return v;if(/^"\s\+*.*\+\s*"$/.test(v)){const E=/^"\s\+*\s*(.*)\s*\+\s*"$/.exec(v);return`" + (${E[1]} + "").replace(/(^[.-]|[^a-zA-Z0-9_-])+/g, "_") + "`}return v.replace(/(^[.-]|[^a-zA-Z0-9_-])+/g,"_")};const hashLength=(v,E,P,R)=>{const fn=($,N,L)=>{let q;const K=N&&parseInt(N,10);if(K&&E){q=E(K)}else{const E=v($,N,L);q=K?E.slice(0,K):E}if(P){P.immutable=true;if(Array.isArray(P[R])){P[R]=[...P[R],q]}else if(P[R]){P[R]=[P[R],q]}else{P[R]=q}}return q};return fn};const replacer=(v,E)=>{const fn=(P,R,$)=>{if(typeof v==="function"){v=v()}if(v===null||v===undefined){if(!E){throw new Error(`Path variable ${P} not implemented in this context: ${$}`)}return""}else{return`${v}`}};return fn};const be=new Map;const xe=(()=>()=>{})();const deprecated=(v,E,P)=>{let R=be.get(E);if(R===undefined){R=L.deprecate(xe,E,P);be.set(E,R)}return(...E)=>{R();return v(...E)}};const replacePathVariables=(v,E,P)=>{const L=E.chunkGraph;const be=new Map;if(typeof E.filename==="string"){let v=E.filename.match(/^data:([^;,]+)/);if(v){const E=R.extension(v[1]);const P=replacer("",true);be.set("file",P);be.set("query",P);be.set("fragment",P);be.set("path",P);be.set("base",P);be.set("name",P);be.set("ext",replacer(E?`.${E}`:"",true));be.set("filebase",deprecated(P,"[filebase] is now [base]","DEP_WEBPACK_TEMPLATE_PATH_PLUGIN_REPLACE_PATH_VARIABLES_FILENAME"))}else{const{path:v,query:P,fragment:R}=ae(E.filename);const L=N(v);const q=$(v);const K=q.slice(0,q.length-L.length);const ge=v.slice(0,v.length-q.length);be.set("file",replacer(v));be.set("query",replacer(P,true));be.set("fragment",replacer(R,true));be.set("path",replacer(ge,true));be.set("base",replacer(q));be.set("name",replacer(K));be.set("ext",replacer(L,true));be.set("filebase",deprecated(replacer(q),"[filebase] is now [base]","DEP_WEBPACK_TEMPLATE_PATH_PLUGIN_REPLACE_PATH_VARIABLES_FILENAME"))}}if(E.hash){const v=hashLength(replacer(E.hash),E.hashWithLength,P,"fullhash");be.set("fullhash",v);be.set("hash",deprecated(v,"[hash] is now [fullhash] (also consider using [chunkhash] or [contenthash], see documentation for details)","DEP_WEBPACK_TEMPLATE_PATH_PLUGIN_REPLACE_PATH_VARIABLES_HASH"))}if(E.chunk){const v=E.chunk;const R=E.contentHashType;const $=replacer(v.id);const N=replacer(v.name||v.id);const L=hashLength(replacer(v instanceof q?v.renderedHash:v.hash),"hashWithLength"in v?v.hashWithLength:undefined,P,"chunkhash");const K=hashLength(replacer(E.contentHash||R&&v.contentHash&&v.contentHash[R]),E.contentHashWithLength||("contentHashWithLength"in v&&v.contentHashWithLength?v.contentHashWithLength[R]:undefined),P,"contenthash");be.set("id",$);be.set("name",N);be.set("chunkhash",L);be.set("contenthash",K)}if(E.module){const v=E.module;const R=replacer((()=>prepareId(v instanceof K?L.getModuleId(v):v.id)));const $=hashLength(replacer((()=>v instanceof K?L.getRenderedModuleHash(v,E.runtime):v.hash)),"hashWithLength"in v?v.hashWithLength:undefined,P,"modulehash");const N=hashLength(replacer(E.contentHash),undefined,P,"contenthash");be.set("id",R);be.set("modulehash",$);be.set("contenthash",N);be.set("hash",E.contentHash?N:$);be.set("moduleid",deprecated(R,"[moduleid] is now [id]","DEP_WEBPACK_TEMPLATE_PATH_PLUGIN_REPLACE_PATH_VARIABLES_MODULE_ID"))}if(E.url){be.set("url",replacer(E.url))}if(typeof E.runtime==="string"){be.set("runtime",replacer((()=>prepareId(E.runtime))))}else{be.set("runtime",replacer("_"))}if(typeof v==="function"){v=v(E,P)}v=v.replace(ge,((E,P)=>{if(P.length+2===E.length){const R=/^(\w+)(?::(\w+))?$/.exec(P);if(!R)return E;const[,$,N]=R;const L=be.get($);if(L!==undefined){return L(E,N,v)}}else if(E.startsWith("[\\")&&E.endsWith("\\]")){return`[${E.slice(2,-2)}]`}return E}));return v};const ve="TemplatedPathPlugin";class TemplatedPathPlugin{apply(v){v.hooks.compilation.tap(ve,(v=>{v.hooks.assetPath.tap(ve,replacePathVariables)}))}}v.exports=TemplatedPathPlugin},67815:function(v,E,P){"use strict";const R=P(45425);const $=P(74364);class UnhandledSchemeError extends R{constructor(v,E){super(`Reading from "${E}" is not handled by plugins (Unhandled scheme).`+'\nWebpack supports "data:" and "file:" URIs by default.'+`\nYou may need an additional plugin to handle "${v}:" URIs.`);this.file=E;this.name="UnhandledSchemeError"}}$(UnhandledSchemeError,"webpack/lib/UnhandledSchemeError","UnhandledSchemeError");v.exports=UnhandledSchemeError},31524:function(v,E,P){"use strict";const R=P(45425);const $=P(74364);class UnsupportedFeatureWarning extends R{constructor(v,E){super(v);this.name="UnsupportedFeatureWarning";this.loc=E;this.hideStack=true}}$(UnsupportedFeatureWarning,"webpack/lib/UnsupportedFeatureWarning");v.exports=UnsupportedFeatureWarning},1843:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$,JAVASCRIPT_MODULE_TYPE_ESM:N}=P(98791);const L=P(52540);const q="UseStrictPlugin";class UseStrictPlugin{apply(v){v.hooks.compilation.tap(q,((v,{normalModuleFactory:E})=>{const handler=v=>{v.hooks.program.tap(q,(E=>{const P=E.body[0];if(P&&P.type==="ExpressionStatement"&&P.expression.type==="Literal"&&P.expression.value==="use strict"){const E=new L("",P.range);E.loc=P.loc;v.state.module.addPresentationalDependency(E);v.state.module.buildInfo.strict=true}}))};E.hooks.parser.for(R).tap(q,handler);E.hooks.parser.for($).tap(q,handler);E.hooks.parser.for(N).tap(q,handler)}))}}v.exports=UseStrictPlugin},83104:function(v,E,P){"use strict";const R=P(94375);class WarnCaseSensitiveModulesPlugin{apply(v){v.hooks.compilation.tap("WarnCaseSensitiveModulesPlugin",(v=>{v.hooks.seal.tap("WarnCaseSensitiveModulesPlugin",(()=>{const E=new Map;for(const P of v.modules){const v=P.identifier();if(P.resourceResolveData!==undefined&&P.resourceResolveData.encodedContent!==undefined){continue}const R=v.toLowerCase();let $=E.get(R);if($===undefined){$=new Map;E.set(R,$)}$.set(v,P)}for(const P of E){const E=P[1];if(E.size>1){v.warnings.push(new R(E.values(),v.moduleGraph))}}}))}))}}v.exports=WarnCaseSensitiveModulesPlugin},71257:function(v,E,P){"use strict";const R=P(45425);class WarnDeprecatedOptionPlugin{constructor(v,E,P){this.option=v;this.value=E;this.suggestion=P}apply(v){v.hooks.thisCompilation.tap("WarnDeprecatedOptionPlugin",(v=>{v.warnings.push(new DeprecatedOptionWarning(this.option,this.value,this.suggestion))}))}}class DeprecatedOptionWarning extends R{constructor(v,E,P){super();this.name="DeprecatedOptionWarning";this.message="configuration\n"+`The value '${E}' for option '${v}' is deprecated. `+`Use '${P}' instead.`}}v.exports=WarnDeprecatedOptionPlugin},37778:function(v,E,P){"use strict";const R=P(57941);class WarnNoModeSetPlugin{apply(v){v.hooks.thisCompilation.tap("WarnNoModeSetPlugin",(v=>{v.warnings.push(new R)}))}}v.exports=WarnNoModeSetPlugin},15275:function(v,E,P){"use strict";const{groupBy:R}=P(98734);const $=P(86278);const N=$(P(29800),(()=>P(1561)),{name:"Watch Ignore Plugin",baseDataPath:"options"});const L="ignore";class IgnoringWatchFileSystem{constructor(v,E){this.wfs=v;this.paths=E}watch(v,E,P,$,N,q,K){v=Array.from(v);E=Array.from(E);const ignored=v=>this.paths.some((E=>E instanceof RegExp?E.test(v):v.indexOf(E)===0));const[ae,ge]=R(v,ignored);const[be,xe]=R(E,ignored);const ve=this.wfs.watch(ge,xe,P,$,N,((v,E,P,R,$)=>{if(v)return q(v);for(const v of ae){E.set(v,L)}for(const v of be){P.set(v,L)}q(v,E,P,R,$)}),K);return{close:()=>ve.close(),pause:()=>ve.pause(),getContextTimeInfoEntries:()=>{const v=ve.getContextTimeInfoEntries();for(const E of be){v.set(E,L)}return v},getFileTimeInfoEntries:()=>{const v=ve.getFileTimeInfoEntries();for(const E of ae){v.set(E,L)}return v},getInfo:ve.getInfo&&(()=>{const v=ve.getInfo();const{fileTimeInfoEntries:E,contextTimeInfoEntries:P}=v;for(const v of ae){E.set(v,L)}for(const v of be){P.set(v,L)}return v})}}}class WatchIgnorePlugin{constructor(v){N(v);this.paths=v.paths}apply(v){v.hooks.afterEnvironment.tap("WatchIgnorePlugin",(()=>{v.watchFileSystem=new IgnoringWatchFileSystem(v.watchFileSystem,this.paths)}))}}v.exports=WatchIgnorePlugin},76349:function(v,E,P){"use strict";const R=P(32110);class Watching{constructor(v,E,P){this.startTime=null;this.invalid=false;this.handler=P;this.callbacks=[];this._closeCallbacks=undefined;this.closed=false;this.suspended=false;this.blocked=false;this._isBlocked=()=>false;this._onChange=()=>{};this._onInvalid=()=>{};if(typeof E==="number"){this.watchOptions={aggregateTimeout:E}}else if(E&&typeof E==="object"){this.watchOptions={...E}}else{this.watchOptions={}}if(typeof this.watchOptions.aggregateTimeout!=="number"){this.watchOptions.aggregateTimeout=20}this.compiler=v;this.running=false;this._initial=true;this._invalidReported=true;this._needRecords=true;this.watcher=undefined;this.pausedWatcher=undefined;this._collectedChangedFiles=undefined;this._collectedRemovedFiles=undefined;this._done=this._done.bind(this);process.nextTick((()=>{if(this._initial)this._invalidate()}))}_mergeWithCollected(v,E){if(!v)return;if(!this._collectedChangedFiles){this._collectedChangedFiles=new Set(v);this._collectedRemovedFiles=new Set(E)}else{for(const E of v){this._collectedChangedFiles.add(E);this._collectedRemovedFiles.delete(E)}for(const v of E){this._collectedChangedFiles.delete(v);this._collectedRemovedFiles.add(v)}}}_go(v,E,P,$){this._initial=false;if(this.startTime===null)this.startTime=Date.now();this.running=true;if(this.watcher){this.pausedWatcher=this.watcher;this.lastWatcherStartTime=Date.now();this.watcher.pause();this.watcher=null}else if(!this.lastWatcherStartTime){this.lastWatcherStartTime=Date.now()}this.compiler.fsStartTime=Date.now();if(P&&$&&v&&E){this._mergeWithCollected(P,$);this.compiler.fileTimestamps=v;this.compiler.contextTimestamps=E}else if(this.pausedWatcher){if(this.pausedWatcher.getInfo){const{changes:v,removals:E,fileTimeInfoEntries:P,contextTimeInfoEntries:R}=this.pausedWatcher.getInfo();this._mergeWithCollected(v,E);this.compiler.fileTimestamps=P;this.compiler.contextTimestamps=R}else{this._mergeWithCollected(this.pausedWatcher.getAggregatedChanges&&this.pausedWatcher.getAggregatedChanges(),this.pausedWatcher.getAggregatedRemovals&&this.pausedWatcher.getAggregatedRemovals());this.compiler.fileTimestamps=this.pausedWatcher.getFileTimeInfoEntries();this.compiler.contextTimestamps=this.pausedWatcher.getContextTimeInfoEntries()}}this.compiler.modifiedFiles=this._collectedChangedFiles;this._collectedChangedFiles=undefined;this.compiler.removedFiles=this._collectedRemovedFiles;this._collectedRemovedFiles=undefined;const run=()=>{if(this.compiler.idle){return this.compiler.cache.endIdle((v=>{if(v)return this._done(v);this.compiler.idle=false;run()}))}if(this._needRecords){return this.compiler.readRecords((v=>{if(v)return this._done(v);this._needRecords=false;run()}))}this.invalid=false;this._invalidReported=false;this.compiler.hooks.watchRun.callAsync(this.compiler,(v=>{if(v)return this._done(v);const onCompiled=(v,E)=>{if(v)return this._done(v,E);if(this.invalid)return this._done(null,E);if(this.compiler.hooks.shouldEmit.call(E)===false){return this._done(null,E)}process.nextTick((()=>{const v=E.getLogger("webpack.Compiler");v.time("emitAssets");this.compiler.emitAssets(E,(P=>{v.timeEnd("emitAssets");if(P)return this._done(P,E);if(this.invalid)return this._done(null,E);v.time("emitRecords");this.compiler.emitRecords((P=>{v.timeEnd("emitRecords");if(P)return this._done(P,E);if(E.hooks.needAdditionalPass.call()){E.needAdditionalPass=true;E.startTime=this.startTime;E.endTime=Date.now();v.time("done hook");const P=new R(E);this.compiler.hooks.done.callAsync(P,(P=>{v.timeEnd("done hook");if(P)return this._done(P,E);this.compiler.hooks.additionalPass.callAsync((v=>{if(v)return this._done(v,E);this.compiler.compile(onCompiled)}))}));return}return this._done(null,E)}))}))}))};this.compiler.compile(onCompiled)}))};run()}_getStats(v){const E=new R(v);return E}_done(v,E){this.running=false;const P=E&&E.getLogger("webpack.Watching");let $=null;const handleError=(v,E)=>{this.compiler.hooks.failed.call(v);this.compiler.cache.beginIdle();this.compiler.idle=true;this.handler(v,$);if(!E){E=this.callbacks;this.callbacks=[]}for(const P of E)P(v)};if(this.invalid&&!this.suspended&&!this.blocked&&!(this._isBlocked()&&(this.blocked=true))){if(E){P.time("storeBuildDependencies");this.compiler.cache.storeBuildDependencies(E.buildDependencies,(v=>{P.timeEnd("storeBuildDependencies");if(v)return handleError(v);this._go()}))}else{this._go()}return}if(E){E.startTime=this.startTime;E.endTime=Date.now();$=new R(E)}this.startTime=null;if(v)return handleError(v);const N=this.callbacks;this.callbacks=[];P.time("done hook");this.compiler.hooks.done.callAsync($,(v=>{P.timeEnd("done hook");if(v)return handleError(v,N);this.handler(null,$);P.time("storeBuildDependencies");this.compiler.cache.storeBuildDependencies(E.buildDependencies,(v=>{P.timeEnd("storeBuildDependencies");if(v)return handleError(v,N);P.time("beginIdle");this.compiler.cache.beginIdle();this.compiler.idle=true;P.timeEnd("beginIdle");process.nextTick((()=>{if(!this.closed){this.watch(E.fileDependencies,E.contextDependencies,E.missingDependencies)}}));for(const v of N)v(null);this.compiler.hooks.afterDone.call($)}))}))}watch(v,E,P){this.pausedWatcher=null;this.watcher=this.compiler.watchFileSystem.watch(v,E,P,this.lastWatcherStartTime,this.watchOptions,((v,E,P,R,$)=>{if(v){this.compiler.modifiedFiles=undefined;this.compiler.removedFiles=undefined;this.compiler.fileTimestamps=undefined;this.compiler.contextTimestamps=undefined;this.compiler.fsStartTime=undefined;return this.handler(v)}this._invalidate(E,P,R,$);this._onChange()}),((v,E)=>{if(!this._invalidReported){this._invalidReported=true;this.compiler.hooks.invalid.call(v,E)}this._onInvalid()}))}invalidate(v){if(v){this.callbacks.push(v)}if(!this._invalidReported){this._invalidReported=true;this.compiler.hooks.invalid.call(null,Date.now())}this._onChange();this._invalidate()}_invalidate(v,E,P,R){if(this.suspended||this._isBlocked()&&(this.blocked=true)){this._mergeWithCollected(P,R);return}if(this.running){this._mergeWithCollected(P,R);this.invalid=true}else{this._go(v,E,P,R)}}suspend(){this.suspended=true}resume(){if(this.suspended){this.suspended=false;this._invalidate()}}close(v){if(this._closeCallbacks){if(v){this._closeCallbacks.push(v)}return}const finalCallback=(v,E)=>{this.running=false;this.compiler.running=false;this.compiler.watching=undefined;this.compiler.watchMode=false;this.compiler.modifiedFiles=undefined;this.compiler.removedFiles=undefined;this.compiler.fileTimestamps=undefined;this.compiler.contextTimestamps=undefined;this.compiler.fsStartTime=undefined;const shutdown=v=>{this.compiler.hooks.watchClose.call();const E=this._closeCallbacks;this._closeCallbacks=undefined;for(const P of E)P(v)};if(E){const P=E.getLogger("webpack.Watching");P.time("storeBuildDependencies");this.compiler.cache.storeBuildDependencies(E.buildDependencies,(E=>{P.timeEnd("storeBuildDependencies");shutdown(v||E)}))}else{shutdown(v)}};this.closed=true;if(this.watcher){this.watcher.close();this.watcher=null}if(this.pausedWatcher){this.pausedWatcher.close();this.pausedWatcher=null}this._closeCallbacks=[];if(v){this._closeCallbacks.push(v)}if(this.running){this.invalid=true;this._done=finalCallback}else{finalCallback()}}}v.exports=Watching},45425:function(v,E,P){"use strict";const R=P(73837).inspect.custom;const $=P(74364);class WebpackError extends Error{constructor(v){super(v);this.details=undefined;this.module=undefined;this.loc=undefined;this.hideStack=undefined;this.chunk=undefined;this.file=undefined}[R](){return this.stack+(this.details?`\n${this.details}`:"")}serialize({write:v}){v(this.name);v(this.message);v(this.stack);v(this.details);v(this.loc);v(this.hideStack)}deserialize({read:v}){this.name=v();this.message=v();this.stack=v();this.details=v();this.loc=v();this.hideStack=v()}}$(WebpackError,"webpack/lib/WebpackError");v.exports=WebpackError},1292:function(v,E,P){"use strict";const R=P(11779);const{JAVASCRIPT_MODULE_TYPE_AUTO:$,JAVASCRIPT_MODULE_TYPE_DYNAMIC:N,JAVASCRIPT_MODULE_TYPE_ESM:L}=P(98791);const q=P(56868);const{toConstantDependency:K}=P(31445);const ae="WebpackIsIncludedPlugin";class WebpackIsIncludedPlugin{apply(v){v.hooks.compilation.tap(ae,((v,{normalModuleFactory:E})=>{v.dependencyFactories.set(q,new R(E));v.dependencyTemplates.set(q,new q.Template);const handler=v=>{v.hooks.call.for("__webpack_is_included__").tap(ae,(E=>{if(E.type!=="CallExpression"||E.arguments.length!==1||E.arguments[0].type==="SpreadElement")return;const P=v.evaluateExpression(E.arguments[0]);if(!P.isString())return;const R=new q(P.string,E.range);R.loc=E.loc;v.state.module.addDependency(R);return true}));v.hooks.typeof.for("__webpack_is_included__").tap(ae,K(v,JSON.stringify("function")))};E.hooks.parser.for($).tap(ae,handler);E.hooks.parser.for(N).tap(ae,handler);E.hooks.parser.for(L).tap(ae,handler)}))}}v.exports=WebpackIsIncludedPlugin},62805:function(v,E,P){"use strict";const R=P(32121);const $=P(91528);const N=P(87885);const L=P(95962);const q=P(55787);const K=P(31453);const ae=P(15334);const ge=P(78991);const be=P(72432);const xe=P(44525);const ve=P(43504);const Ae=P(68085);const Ie=P(1292);const He=P(4543);const Qe=P(1843);const Je=P(83104);const Ve=P(84669);const Ke=P(98536);const Ye=P(87654);const Xe=P(70074);const Ze=P(54626);const et=P(83020);const tt=P(74304);const nt=P(7791);const st=P(23266);const rt=P(5156);const ot=P(58127);const it=P(13547);const at=P(98786);const ct=P(44140);const lt=P(19461);const ut=P(74597);const pt=P(9653);const dt=P(71795);const ft=P(896);const ht=P(40990);const{cleverMerge:mt}=P(34218);class WebpackOptionsApply extends R{constructor(){super()}process(v,E){E.outputPath=v.output.path;E.recordsInputPath=v.recordsInputPath||null;E.recordsOutputPath=v.recordsOutputPath||null;E.name=v.name;if(v.externals){const R=P(24752);new R(v.externalsType,v.externals).apply(E)}if(v.externalsPresets.node){const v=P(29541);(new v).apply(E)}if(v.externalsPresets.electronMain){const v=P(44578);new v("main").apply(E)}if(v.externalsPresets.electronPreload){const v=P(44578);new v("preload").apply(E)}if(v.externalsPresets.electronRenderer){const v=P(44578);new v("renderer").apply(E)}if(v.externalsPresets.electron&&!v.externalsPresets.electronMain&&!v.externalsPresets.electronPreload&&!v.externalsPresets.electronRenderer){const v=P(44578);(new v).apply(E)}if(v.externalsPresets.nwjs){const v=P(24752);new v("node-commonjs","nw.gui").apply(E)}if(v.externalsPresets.webAsync){const R=P(24752);new R("import",(({request:E,dependencyType:P},R)=>{if(P==="url"){if(/^(\/\/|https?:\/\/|#)/.test(E))return R(null,`asset ${E}`)}else if(v.experiments.css&&P==="css-import"){if(/^(\/\/|https?:\/\/|#)/.test(E))return R(null,`css-import ${E}`)}else if(v.experiments.css&&/^(\/\/|https?:\/\/|std:)/.test(E)){if(/^\.css(\?|$)/.test(E))return R(null,`css-import ${E}`);return R(null,`import ${E}`)}R()})).apply(E)}else if(v.externalsPresets.web){const R=P(24752);new R("module",(({request:E,dependencyType:P},R)=>{if(P==="url"){if(/^(\/\/|https?:\/\/|#)/.test(E))return R(null,`asset ${E}`)}else if(v.experiments.css&&P==="css-import"){if(/^(\/\/|https?:\/\/|#)/.test(E))return R(null,`css-import ${E}`)}else if(/^(\/\/|https?:\/\/|std:)/.test(E)){if(v.experiments.css&&/^\.css((\?)|$)/.test(E))return R(null,`css-import ${E}`);return R(null,`module ${E}`)}R()})).apply(E)}else if(v.externalsPresets.node){if(v.experiments.css){const v=P(24752);new v("module",(({request:v,dependencyType:E},P)=>{if(E==="url"){if(/^(\/\/|https?:\/\/|#)/.test(v))return P(null,`asset ${v}`)}else if(E==="css-import"){if(/^(\/\/|https?:\/\/|#)/.test(v))return P(null,`css-import ${v}`)}else if(/^(\/\/|https?:\/\/|std:)/.test(v)){if(/^\.css(\?|$)/.test(v))return P(null,`css-import ${v}`);return P(null,`module ${v}`)}P()})).apply(E)}}(new q).apply(E);if(typeof v.output.chunkFormat==="string"){switch(v.output.chunkFormat){case"array-push":{const v=P(29341);(new v).apply(E);break}case"commonjs":{const v=P(21292);(new v).apply(E);break}case"module":{const v=P(77152);(new v).apply(E);break}default:throw new Error("Unsupported chunk format '"+v.output.chunkFormat+"'.")}}if(v.output.enabledChunkLoadingTypes.length>0){for(const R of v.output.enabledChunkLoadingTypes){const v=P(87942);new v(R).apply(E)}}if(v.output.enabledWasmLoadingTypes.length>0){for(const R of v.output.enabledWasmLoadingTypes){const v=P(21882);new v(R).apply(E)}}if(v.output.enabledLibraryTypes.length>0){for(const R of v.output.enabledLibraryTypes){const v=P(15267);new v(R).apply(E)}}if(v.output.pathinfo){const R=P(52143);new R(v.output.pathinfo!==true).apply(E)}if(v.output.clean){const R=P(76765);new R(v.output.clean===true?{}:v.output.clean).apply(E)}if(v.devtool){if(v.devtool.includes("source-map")){const R=v.devtool.includes("hidden");const $=v.devtool.includes("inline");const N=v.devtool.includes("eval");const L=v.devtool.includes("cheap");const q=v.devtool.includes("module");const K=v.devtool.includes("nosources");const ae=N?P(31902):P(452);new ae({filename:$?null:v.output.sourceMapFilename,moduleFilenameTemplate:v.output.devtoolModuleFilenameTemplate,fallbackModuleFilenameTemplate:v.output.devtoolFallbackModuleFilenameTemplate,append:R?false:undefined,module:q?true:L?false:true,columns:L?false:true,noSources:K,namespace:v.output.devtoolNamespace}).apply(E)}else if(v.devtool.includes("eval")){const R=P(3635);new R({moduleFilenameTemplate:v.output.devtoolModuleFilenameTemplate,namespace:v.output.devtoolNamespace}).apply(E)}}(new N).apply(E);(new L).apply(E);(new $).apply(E);if(!v.experiments.outputModule){if(v.output.module){throw new Error("'output.module: true' is only allowed when 'experiments.outputModule' is enabled")}if(v.output.enabledLibraryTypes.includes("module")){throw new Error("library type \"module\" is only allowed when 'experiments.outputModule' is enabled")}if(v.externalsType==="module"){throw new Error("'externalsType: \"module\"' is only allowed when 'experiments.outputModule' is enabled")}}if(v.experiments.syncWebAssembly){const R=P(35001);new R({mangleImports:v.optimization.mangleWasmImports}).apply(E)}if(v.experiments.asyncWebAssembly){const R=P(30802);new R({mangleImports:v.optimization.mangleWasmImports}).apply(E)}if(v.experiments.css){const v=P(69527);(new v).apply(E)}if(v.experiments.lazyCompilation){const R=P(77842);const $=typeof v.experiments.lazyCompilation==="object"?v.experiments.lazyCompilation:null;new R({backend:typeof $.backend==="function"?$.backend:P(63161)({...$.backend,client:$.backend&&$.backend.client||v.externalsPresets.node?P.ab+"lazy-compilation-node.js":P.ab+"lazy-compilation-web.js"}),entries:!$||$.entries!==false,imports:!$||$.imports!==false,test:$&&$.test||undefined}).apply(E)}if(v.experiments.buildHttp){const R=P(2484);const $=v.experiments.buildHttp;new R($).apply(E)}(new K).apply(E);E.hooks.entryOption.call(v.context,v.entry);(new ge).apply(E);(new ut).apply(E);(new Ve).apply(E);(new Ke).apply(E);(new xe).apply(E);new Ze({topLevelAwait:v.experiments.topLevelAwait}).apply(E);if(v.amd!==false){const R=P(87890);const $=P(16839);new R(v.amd||{}).apply(E);(new $).apply(E)}(new Xe).apply(E);new st({}).apply(E);if(v.node!==false){const R=P(47911);new R(v.node).apply(E)}new be({module:v.output.module}).apply(E);(new Ae).apply(E);(new Ie).apply(E);(new ve).apply(E);(new Qe).apply(E);(new it).apply(E);(new ot).apply(E);(new rt).apply(E);(new nt).apply(E);(new et).apply(E);(new at).apply(E);(new tt).apply(E);(new ct).apply(E);new lt(v.output.workerChunkLoading,v.output.workerWasmLoading,v.output.module,v.output.workerPublicPath).apply(E);(new dt).apply(E);(new ft).apply(E);(new ht).apply(E);(new pt).apply(E);if(typeof v.mode!=="string"){const v=P(37778);(new v).apply(E)}const R=P(17070);(new R).apply(E);if(v.optimization.removeAvailableModules){const v=P(77381);(new v).apply(E)}if(v.optimization.removeEmptyChunks){const v=P(71418);(new v).apply(E)}if(v.optimization.mergeDuplicateChunks){const v=P(75666);(new v).apply(E)}if(v.optimization.flagIncludedChunks){const v=P(98080);(new v).apply(E)}if(v.optimization.sideEffects){const R=P(22393);new R(v.optimization.sideEffects===true).apply(E)}if(v.optimization.providedExports){const v=P(86581);(new v).apply(E)}if(v.optimization.usedExports){const R=P(56390);new R(v.optimization.usedExports==="global").apply(E)}if(v.optimization.innerGraph){const v=P(34925);(new v).apply(E)}if(v.optimization.mangleExports){const R=P(56153);new R(v.optimization.mangleExports!=="size").apply(E)}if(v.optimization.concatenateModules){const v=P(6864);(new v).apply(E)}if(v.optimization.splitChunks){const R=P(52532);new R(v.optimization.splitChunks).apply(E)}if(v.optimization.runtimeChunk){const R=P(74831);new R(v.optimization.runtimeChunk).apply(E)}if(!v.optimization.emitOnErrors){const v=P(85793);(new v).apply(E)}if(v.optimization.realContentHash){const R=P(58097);new R({hashFunction:v.output.hashFunction,hashDigest:v.output.hashDigest}).apply(E)}if(v.optimization.checkWasmTypes){const v=P(82026);(new v).apply(E)}const gt=v.optimization.moduleIds;if(gt){switch(gt){case"natural":{const v=P(7643);(new v).apply(E);break}case"named":{const v=P(39244);(new v).apply(E);break}case"hashed":{const R=P(71257);const $=P(26358);new R("optimization.moduleIds","hashed","deterministic").apply(E);new $({hashFunction:v.output.hashFunction}).apply(E);break}case"deterministic":{const v=P(13489);(new v).apply(E);break}case"size":{const v=P(71486);new v({prioritiseInitial:true}).apply(E);break}default:throw new Error(`webpack bug: moduleIds: ${gt} is not implemented`)}}const yt=v.optimization.chunkIds;if(yt){switch(yt){case"natural":{const v=P(27384);(new v).apply(E);break}case"named":{const v=P(67590);(new v).apply(E);break}case"deterministic":{const v=P(14962);(new v).apply(E);break}case"size":{const v=P(40412);new v({prioritiseInitial:true}).apply(E);break}case"total-size":{const v=P(40412);new v({prioritiseInitial:false}).apply(E);break}default:throw new Error(`webpack bug: chunkIds: ${yt} is not implemented`)}}if(v.optimization.nodeEnv){const R=P(68934);new R({"process.env.NODE_ENV":JSON.stringify(v.optimization.nodeEnv)}).apply(E)}if(v.optimization.minimize){for(const P of v.optimization.minimizer){if(typeof P==="function"){P.call(E,E)}else if(P!=="..."&&P){P.apply(E)}}}if(v.performance){const R=P(19253);new R(v.performance).apply(E)}(new He).apply(E);new ae({portableIds:v.optimization.portableRecords}).apply(E);(new Je).apply(E);const bt=P(31798);new bt(v.snapshot.managedPaths,v.snapshot.immutablePaths,v.snapshot.unmanagedPaths).apply(E);if(v.cache&&typeof v.cache==="object"){const R=v.cache;switch(R.type){case"memory":{if(isFinite(R.maxGenerations)){const v=P(81681);new v({maxGenerations:R.maxGenerations}).apply(E)}else{const v=P(85656);(new v).apply(E)}if(R.cacheUnaffected){if(!v.experiments.cacheUnaffected){throw new Error("'cache.cacheUnaffected: true' is only allowed when 'experiments.cacheUnaffected' is enabled")}E.moduleMemCaches=new Map}break}case"filesystem":{const $=P(95163);for(const v in R.buildDependencies){const P=R.buildDependencies[v];new $(P).apply(E)}if(!isFinite(R.maxMemoryGenerations)){const v=P(85656);(new v).apply(E)}else if(R.maxMemoryGenerations!==0){const v=P(81681);new v({maxGenerations:R.maxMemoryGenerations}).apply(E)}if(R.memoryCacheUnaffected){if(!v.experiments.cacheUnaffected){throw new Error("'cache.memoryCacheUnaffected: true' is only allowed when 'experiments.cacheUnaffected' is enabled")}E.moduleMemCaches=new Map}switch(R.store){case"pack":{const $=P(95101);const N=P(25762);new $(new N({compiler:E,fs:E.intermediateFileSystem,context:v.context,cacheLocation:R.cacheLocation,version:R.version,logger:E.getInfrastructureLogger("webpack.cache.PackFileCacheStrategy"),snapshot:v.snapshot,maxAge:R.maxAge,profile:R.profile,allowCollectingMemory:R.allowCollectingMemory,compression:R.compression,readonly:R.readonly}),R.idleTimeout,R.idleTimeoutForInitialStore,R.idleTimeoutAfterLargeChanges).apply(E);break}default:throw new Error("Unhandled value for cache.store")}break}default:throw new Error(`Unknown cache type ${R.type}`)}}(new Ye).apply(E);if(v.ignoreWarnings&&v.ignoreWarnings.length>0){const R=P(36595);new R(v.ignoreWarnings).apply(E)}E.hooks.afterPlugins.call(E);if(!E.inputFileSystem){throw new Error("No input filesystem provided")}E.resolverFactory.hooks.resolveOptions.for("normal").tap("WebpackOptionsApply",(P=>{P=mt(v.resolve,P);P.fileSystem=E.inputFileSystem;return P}));E.resolverFactory.hooks.resolveOptions.for("context").tap("WebpackOptionsApply",(P=>{P=mt(v.resolve,P);P.fileSystem=E.inputFileSystem;P.resolveToContext=true;return P}));E.resolverFactory.hooks.resolveOptions.for("loader").tap("WebpackOptionsApply",(P=>{P=mt(v.resolveLoader,P);P.fileSystem=E.inputFileSystem;return P}));E.hooks.afterResolvers.call(E);return v}}v.exports=WebpackOptionsApply},14602:function(v,E,P){"use strict";const{applyWebpackOptionsDefaults:R}=P(28480);const{getNormalizedWebpackOptions:$}=P(35440);class WebpackOptionsDefaulter{process(v){const E=$(v);R(E);return E}}v.exports=WebpackOptionsDefaulter},70125:function(v,E,P){"use strict";const R=P(24230);const $=P(71017);const{RawSource:N}=P(51255);const L=P(79421);const q=P(91611);const{ASSET_MODULE_TYPE:K}=P(98791);const ae=P(75189);const ge=P(1558);const{makePathsRelative:be}=P(94778);const xe=P(54411);const mergeMaybeArrays=(v,E)=>{const P=new Set;if(Array.isArray(v))for(const E of v)P.add(E);else P.add(v);if(Array.isArray(E))for(const v of E)P.add(v);else P.add(E);return Array.from(P)};const mergeAssetInfo=(v,E)=>{const P={...v,...E};for(const R of Object.keys(v)){if(R in E){if(v[R]===E[R])continue;switch(R){case"fullhash":case"chunkhash":case"modulehash":case"contenthash":P[R]=mergeMaybeArrays(v[R],E[R]);break;case"immutable":case"development":case"hotModuleReplacement":case"javascriptModule":P[R]=v[R]||E[R];break;case"related":P[R]=mergeRelatedInfo(v[R],E[R]);break;default:throw new Error(`Can't handle conflicting asset info for ${R}`)}}}return P};const mergeRelatedInfo=(v,E)=>{const P={...v,...E};for(const R of Object.keys(v)){if(R in E){if(v[R]===E[R])continue;P[R]=mergeMaybeArrays(v[R],E[R])}}return P};const encodeDataUri=(v,E)=>{let P;switch(v){case"base64":{P=E.buffer().toString("base64");break}case false:{const v=E.source();if(typeof v!=="string"){P=v.toString("utf-8")}P=encodeURIComponent(P).replace(/[!'()*]/g,(v=>"%"+v.codePointAt(0).toString(16)));break}default:throw new Error(`Unsupported encoding '${v}'`)}return P};const decodeDataUriContent=(v,E)=>{const P=v==="base64";if(P){return Buffer.from(E,"base64")}try{return Buffer.from(decodeURIComponent(E),"ascii")}catch(v){return Buffer.from(E,"ascii")}};const ve=new Set(["javascript"]);const Ae=new Set(["javascript",K]);const Ie="base64";class AssetGenerator extends q{constructor(v,E,P,R,$){super();this.dataUrlOptions=v;this.filename=E;this.publicPath=P;this.outputPath=R;this.emit=$}getSourceFileName(v,E){return be(E.compilation.compiler.context,v.matchResource||v.resource,E.compilation.compiler.root).replace(/^\.\//,"")}getConcatenationBailoutReason(v,E){return undefined}getMimeType(v){if(typeof this.dataUrlOptions==="function"){throw new Error("This method must not be called when dataUrlOptions is a function")}let E=this.dataUrlOptions.mimetype;if(E===undefined){const P=$.extname(v.nameForCondition());if(v.resourceResolveData&&v.resourceResolveData.mimetype!==undefined){E=v.resourceResolveData.mimetype+v.resourceResolveData.parameters}else if(P){E=R.lookup(P);if(typeof E!=="string"){throw new Error("DataUrl can't be generated automatically, "+`because there is no mimetype for "${P}" in mimetype database. `+'Either pass a mimetype via "generator.mimetype" or '+'use type: "asset/resource" to create a resource file instead of a DataUrl')}}}if(typeof E!=="string"){throw new Error("DataUrl can't be generated automatically. "+'Either pass a mimetype via "generator.mimetype" or '+'use type: "asset/resource" to create a resource file instead of a DataUrl')}return E}generate(v,{runtime:E,concatenationScope:P,chunkGraph:R,runtimeTemplate:q,runtimeRequirements:be,type:ve,getData:Ae}){switch(ve){case K:return v.originalSource();default:{let K;const ve=v.originalSource();if(v.buildInfo.dataUrl){let E;if(typeof this.dataUrlOptions==="function"){E=this.dataUrlOptions.call(null,ve.source(),{filename:v.matchResource||v.resource,module:v})}else{let P=this.dataUrlOptions.encoding;if(P===undefined){if(v.resourceResolveData&&v.resourceResolveData.encoding!==undefined){P=v.resourceResolveData.encoding}}if(P===undefined){P=Ie}const R=this.getMimeType(v);let $;if(v.resourceResolveData&&v.resourceResolveData.encoding===P&&decodeDataUriContent(v.resourceResolveData.encoding,v.resourceResolveData.encodedContent).equals(ve.buffer())){$=v.resourceResolveData.encodedContent}else{$=encodeDataUri(P,ve)}E=`data:${R}${P?`;${P}`:""},${$}`}const P=Ae();P.set("url",Buffer.from(E));K=JSON.stringify(E)}else{const P=this.filename||q.outputOptions.assetModuleFilename;const N=ge(q.outputOptions.hashFunction);if(q.outputOptions.hashSalt){N.update(q.outputOptions.hashSalt)}N.update(ve.buffer());const L=N.digest(q.outputOptions.hashDigest);const Ie=xe(L,q.outputOptions.hashDigestLength);v.buildInfo.fullContentHash=L;const He=this.getSourceFileName(v,q);let{path:Qe,info:Je}=q.compilation.getAssetPathWithInfo(P,{module:v,runtime:E,filename:He,chunkGraph:R,contentHash:Ie});let Ve;if(this.publicPath!==undefined){const{path:P,info:$}=q.compilation.getAssetPathWithInfo(this.publicPath,{module:v,runtime:E,filename:He,chunkGraph:R,contentHash:Ie});Je=mergeAssetInfo(Je,$);Ve=JSON.stringify(P+Qe)}else{be.add(ae.publicPath);Ve=q.concatenation({expr:ae.publicPath},Qe)}Je={sourceFilename:He,...Je};if(this.outputPath){const{path:P,info:N}=q.compilation.getAssetPathWithInfo(this.outputPath,{module:v,runtime:E,filename:He,chunkGraph:R,contentHash:Ie});Je=mergeAssetInfo(Je,N);Qe=$.posix.join(P,Qe)}v.buildInfo.filename=Qe;v.buildInfo.assetInfo=Je;if(Ae){const v=Ae();v.set("fullContentHash",L);v.set("filename",Qe);v.set("assetInfo",Je)}K=Ve}if(P){P.registerNamespaceExport(L.NAMESPACE_OBJECT_EXPORT);return new N(`${q.supportsConst()?"const":"var"} ${L.NAMESPACE_OBJECT_EXPORT} = ${K};`)}else{be.add(ae.module);return new N(`${ae.module}.exports = ${K};`)}}}}getTypes(v){if(v.buildInfo&&v.buildInfo.dataUrl||this.emit===false){return ve}else{return Ae}}getSize(v,E){switch(E){case K:{const E=v.originalSource();if(!E){return 0}return E.size()}default:if(v.buildInfo&&v.buildInfo.dataUrl){const E=v.originalSource();if(!E){return 0}return E.size()*1.34+36}else{return 42}}}updateHash(v,{module:E,runtime:P,runtimeTemplate:R,chunkGraph:$}){if(E.buildInfo.dataUrl){v.update("data-url");if(typeof this.dataUrlOptions==="function"){const E=this.dataUrlOptions.ident;if(E)v.update(E)}else{if(this.dataUrlOptions.encoding&&this.dataUrlOptions.encoding!==Ie){v.update(this.dataUrlOptions.encoding)}if(this.dataUrlOptions.mimetype)v.update(this.dataUrlOptions.mimetype)}}else{v.update("resource");const N={module:E,runtime:P,filename:this.getSourceFileName(E,R),chunkGraph:$,contentHash:R.contentHashReplacement};if(typeof this.publicPath==="function"){v.update("path");const E={};v.update(this.publicPath(N,E));v.update(JSON.stringify(E))}else if(this.publicPath){v.update("path");v.update(this.publicPath)}else{v.update("no-path")}const L=this.filename||R.outputOptions.assetModuleFilename;const{path:q,info:K}=R.compilation.getAssetPathWithInfo(L,N);v.update(q);v.update(JSON.stringify(K))}}}v.exports=AssetGenerator},91528:function(v,E,P){"use strict";const{ASSET_MODULE_TYPE_RESOURCE:R,ASSET_MODULE_TYPE_INLINE:$,ASSET_MODULE_TYPE:N,ASSET_MODULE_TYPE_SOURCE:L}=P(98791);const{cleverMerge:q}=P(34218);const{compareModulesByIdentifier:K}=P(80754);const ae=P(86278);const ge=P(49584);const getSchema=v=>{const{definitions:E}=P(6497);return{definitions:E,oneOf:[{$ref:`#/definitions/${v}`}]}};const be={name:"Asset Modules Plugin",baseDataPath:"generator"};const xe={asset:ae(P(74054),(()=>getSchema("AssetGeneratorOptions")),be),"asset/resource":ae(P(40713),(()=>getSchema("AssetResourceGeneratorOptions")),be),"asset/inline":ae(P(98671),(()=>getSchema("AssetInlineGeneratorOptions")),be)};const ve=ae(P(5913),(()=>getSchema("AssetParserOptions")),{name:"Asset Modules Plugin",baseDataPath:"parser"});const Ae=ge((()=>P(70125)));const Ie=ge((()=>P(7105)));const He=ge((()=>P(28965)));const Qe=ge((()=>P(11680)));const Je=N;const Ve="AssetModulesPlugin";class AssetModulesPlugin{apply(v){v.hooks.compilation.tap(Ve,((E,{normalModuleFactory:P})=>{P.hooks.createParser.for(N).tap(Ve,(E=>{ve(E);E=q(v.options.module.parser.asset,E);let P=E.dataUrlCondition;if(!P||typeof P==="object"){P={maxSize:8096,...P}}const R=Ie();return new R(P)}));P.hooks.createParser.for($).tap(Ve,(v=>{const E=Ie();return new E(true)}));P.hooks.createParser.for(R).tap(Ve,(v=>{const E=Ie();return new E(false)}));P.hooks.createParser.for(L).tap(Ve,(v=>{const E=He();return new E}));for(const v of[N,$,R]){P.hooks.createGenerator.for(v).tap(Ve,(E=>{xe[v](E);let P=undefined;if(v!==R){P=E.dataUrl;if(!P||typeof P==="object"){P={encoding:undefined,mimetype:undefined,...P}}}let N=undefined;let L=undefined;let q=undefined;if(v!==$){N=E.filename;L=E.publicPath;q=E.outputPath}const K=Ae();return new K(P,N,L,q,E.emit!==false)}))}P.hooks.createGenerator.for(L).tap(Ve,(()=>{const v=Qe();return new v}));E.hooks.renderManifest.tap(Ve,((v,P)=>{const{chunkGraph:R}=E;const{chunk:$,codeGenerationResults:L}=P;const q=R.getOrderedChunkModulesIterableBySourceType($,N,K);if(q){for(const E of q){try{const P=L.get(E,$.runtime);v.push({render:()=>P.sources.get(Je),filename:E.buildInfo.filename||P.data.get("filename"),info:E.buildInfo.assetInfo||P.data.get("assetInfo"),auxiliary:true,identifier:`assetModule${R.getModuleId(E)}`,hash:E.buildInfo.fullContentHash||P.data.get("fullContentHash")})}catch(v){v.message+=`\nduring rendering of asset ${E.identifier()}`;throw v}}}return v}));E.hooks.prepareModuleExecution.tap("AssetModulesPlugin",((v,E)=>{const{codeGenerationResult:P}=v;const R=P.sources.get(N);if(R===undefined)return;E.assets.set(P.data.get("filename"),{source:R,info:P.data.get("assetInfo")})}))}))}}v.exports=AssetModulesPlugin},7105:function(v,E,P){"use strict";const R=P(40766);class AssetParser extends R{constructor(v){super();this.dataUrlCondition=v}parse(v,E){if(typeof v==="object"&&!Buffer.isBuffer(v)){throw new Error("AssetParser doesn't accept preparsed AST")}const P=E.module.buildInfo;P.strict=true;const R=E.module.buildMeta;R.exportsType="default";R.defaultObject=false;if(typeof this.dataUrlCondition==="function"){P.dataUrl=this.dataUrlCondition(v,{filename:E.module.matchResource||E.module.resource,module:E.module})}else if(typeof this.dataUrlCondition==="boolean"){P.dataUrl=this.dataUrlCondition}else if(this.dataUrlCondition&&typeof this.dataUrlCondition==="object"){P.dataUrl=Buffer.byteLength(v)<=this.dataUrlCondition.maxSize}else{throw new Error("Unexpected dataUrlCondition type")}return E}}v.exports=AssetParser},11680:function(v,E,P){"use strict";const{RawSource:R}=P(51255);const $=P(79421);const N=P(91611);const L=P(75189);const q=new Set(["javascript"]);class AssetSourceGenerator extends N{generate(v,{concatenationScope:E,chunkGraph:P,runtimeTemplate:N,runtimeRequirements:q}){const K=v.originalSource();if(!K){return new R("")}const ae=K.source();let ge;if(typeof ae==="string"){ge=ae}else{ge=ae.toString("utf-8")}let be;if(E){E.registerNamespaceExport($.NAMESPACE_OBJECT_EXPORT);be=`${N.supportsConst()?"const":"var"} ${$.NAMESPACE_OBJECT_EXPORT} = ${JSON.stringify(ge)};`}else{q.add(L.module);be=`${L.module}.exports = ${JSON.stringify(ge)};`}return new R(be)}getConcatenationBailoutReason(v,E){return undefined}getTypes(v){return q}getSize(v,E){const P=v.originalSource();if(!P){return 0}return P.size()+12}}v.exports=AssetSourceGenerator},28965:function(v,E,P){"use strict";const R=P(40766);class AssetSourceParser extends R{parse(v,E){if(typeof v==="object"&&!Buffer.isBuffer(v)){throw new Error("AssetSourceParser doesn't accept preparsed AST")}const{module:P}=E;P.buildInfo.strict=true;P.buildMeta.exportsType="default";E.module.buildMeta.defaultObject=false;return E}}v.exports=AssetSourceParser},85808:function(v,E,P){"use strict";const{RawSource:R}=P(51255);const $=P(82919);const{ASSET_MODULE_TYPE_RAW_DATA_URL:N}=P(98791);const L=P(75189);const q=P(74364);const K=new Set(["javascript"]);class RawDataUrlModule extends ${constructor(v,E,P){super(N,null);this.url=v;this.urlBuffer=v?Buffer.from(v):undefined;this.identifierStr=E||this.url;this.readableIdentifierStr=P||this.identifierStr}getSourceTypes(){return K}identifier(){return this.identifierStr}size(v){if(this.url===undefined)this.url=this.urlBuffer.toString();return Math.max(1,this.url.length)}readableIdentifier(v){return v.shorten(this.readableIdentifierStr)}needBuild(v,E){return E(null,!this.buildMeta)}build(v,E,P,R,$){this.buildMeta={};this.buildInfo={cacheable:true};$()}codeGeneration(v){if(this.url===undefined)this.url=this.urlBuffer.toString();const E=new Map;E.set("javascript",new R(`module.exports = ${JSON.stringify(this.url)};`));const P=new Map;P.set("url",this.urlBuffer);const $=new Set;$.add(L.module);return{sources:E,runtimeRequirements:$,data:P}}updateHash(v,E){v.update(this.urlBuffer);super.updateHash(v,E)}serialize(v){const{write:E}=v;E(this.urlBuffer);E(this.identifierStr);E(this.readableIdentifierStr);super.serialize(v)}deserialize(v){const{read:E}=v;this.urlBuffer=E();this.identifierStr=E();this.readableIdentifierStr=E();super.deserialize(v)}}q(RawDataUrlModule,"webpack/lib/asset/RawDataUrlModule");v.exports=RawDataUrlModule},54146:function(v,E,P){"use strict";const R=P(94252);const $=P(75189);const N=P(35600);class AwaitDependenciesInitFragment extends R{constructor(v){super(undefined,R.STAGE_ASYNC_DEPENDENCIES,0,"await-dependencies");this.promises=v}merge(v){const E=new Set(v.promises);for(const v of this.promises){E.add(v)}return new AwaitDependenciesInitFragment(E)}getContent({runtimeRequirements:v}){v.add($.module);const E=this.promises;if(E.size===0){return""}if(E.size===1){for(const v of E){return N.asString([`var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([${v}]);`,`${v} = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];`,""])}}const P=Array.from(E).join(", ");return N.asString([`var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([${P}]);`,`([${P}] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);`,""])}}v.exports=AwaitDependenciesInitFragment},74597:function(v,E,P){"use strict";const R=P(27601);class InferAsyncModulesPlugin{apply(v){v.hooks.compilation.tap("InferAsyncModulesPlugin",(v=>{const{moduleGraph:E}=v;v.hooks.finishModules.tap("InferAsyncModulesPlugin",(v=>{const P=new Set;for(const E of v){if(E.buildMeta&&E.buildMeta.async){P.add(E)}}for(const v of P){E.setAsync(v);for(const[$,N]of E.getIncomingConnectionsByOriginModule(v)){if(N.some((v=>v.dependency instanceof R&&v.isTargetActive(undefined)))){P.add($)}}}}))}))}}v.exports=InferAsyncModulesPlugin},12369:function(v,E,P){"use strict";const R=P(22609);const{connectChunkGroupParentAndChild:$}=P(85710);const N=P(76361);const{getEntryRuntime:L,mergeRuntime:q}=P(32681);const K=new Set;K.plus=K;const bySetSize=(v,E)=>E.size+E.plus.size-v.size-v.plus.size;const extractBlockModules=(v,E,P,R)=>{let $;let L;const q=[];const K=[v];while(K.length>0){const v=K.pop();const E=[];q.push(E);R.set(v,E);for(const E of v.blocks){K.push(E)}}for(const N of E.getOutgoingConnections(v)){const v=N.dependency;if(!v)continue;const q=N.module;if(!q)continue;if(N.weak)continue;const K=N.getActiveState(P);if(K===false)continue;const ae=E.getParentBlock(v);let ge=E.getParentBlockIndex(v);if(ge<0){ge=ae.dependencies.indexOf(v)}if($!==ae){L=R.get($=ae)}const be=ge<<2;L[be]=q;L[be+1]=K}for(const v of q){if(v.length===0)continue;let E;let P=0;e:for(let R=0;R30){E=new Map;for(let R=0;R{const{moduleGraph:be,chunkGraph:xe,moduleMemCaches:ve}=E;const Ae=new Map;let Ie=false;let He;const getBlockModules=(E,P)=>{if(Ie!==P){He=Ae.get(P);if(He===undefined){He=new Map;Ae.set(P,He)}}let R=He.get(E);if(R!==undefined)return R;const $=E.getRootBlock();const N=ve&&ve.get($);if(N!==undefined){const R=N.provide("bundleChunkGraph.blockModules",P,(()=>{v.time("visitModules: prepare");const E=new Map;extractBlockModules($,be,P,E);v.timeAggregate("visitModules: prepare");return E}));for(const[v,E]of R)He.set(v,E);return R.get(E)}else{v.time("visitModules: prepare");extractBlockModules($,be,P,He);R=He.get(E);v.timeAggregate("visitModules: prepare");return R}};let Qe=0;let Je=0;let Ve=0;let Ke=0;let Ye=0;let Xe=0;let Ze=0;let et=0;let tt=0;let nt=0;let st=0;let rt=0;let ot=0;let it=0;let at=0;let ct=0;const lt=new Map;const ut=new Map;const pt=new Map;const dt=0;const ft=1;const ht=2;const mt=3;const gt=4;const yt=5;let bt=[];const xt=new Map;const kt=new Set;for(const[v,R]of P){const P=L(E,v.name,v.options);const N={chunkGroup:v,runtime:P,minAvailableModules:undefined,minAvailableModulesOwned:false,availableModulesToBeMerged:[],skippedItems:undefined,resultingAvailableModules:undefined,children:undefined,availableSources:undefined,availableChildren:undefined,preOrderIndex:0,postOrderIndex:0,chunkLoading:v.options.chunkLoading!==undefined?v.options.chunkLoading!==false:E.outputOptions.chunkLoading!==false,asyncChunks:v.options.asyncChunks!==undefined?v.options.asyncChunks:E.outputOptions.asyncChunks!==false};v.index=it++;if(v.getNumberOfParents()>0){const v=new Set;for(const E of R){v.add(E)}N.skippedItems=v;kt.add(N)}else{N.minAvailableModules=K;const E=v.getEntrypointChunk();for(const P of R){bt.push({action:ft,block:P,module:P,chunk:E,chunkGroup:v,chunkGroupInfo:N})}}$.set(v,N);if(v.name){ut.set(v.name,N)}}for(const v of kt){const{chunkGroup:E}=v;v.availableSources=new Set;for(const P of E.parentsIterable){const E=$.get(P);v.availableSources.add(E);if(E.availableChildren===undefined){E.availableChildren=new Set}E.availableChildren.add(v)}}bt.reverse();const vt=new Set;const wt=new Set;let Et=[];const At=[];const Ct=[];const St=[];let _t;let Pt;let Mt;let It;let Ot;const iteratorBlock=v=>{let P=lt.get(v);let L;let q;const ae=v.groupOptions&&v.groupOptions.entryOptions;if(P===undefined){const be=v.groupOptions&&v.groupOptions.name||v.chunkName;if(ae){P=pt.get(be);if(!P){q=E.addAsyncEntrypoint(ae,_t,v.loc,v.request);q.index=it++;P={chunkGroup:q,runtime:q.options.runtime||q.name,minAvailableModules:K,minAvailableModulesOwned:false,availableModulesToBeMerged:[],skippedItems:undefined,resultingAvailableModules:undefined,children:undefined,availableSources:undefined,availableChildren:undefined,preOrderIndex:0,postOrderIndex:0,chunkLoading:ae.chunkLoading!==undefined?ae.chunkLoading!==false:Ot.chunkLoading,asyncChunks:ae.asyncChunks!==undefined?ae.asyncChunks:Ot.asyncChunks};$.set(q,P);xe.connectBlockAndChunkGroup(v,q);if(be){pt.set(be,P)}}else{q=P.chunkGroup;q.addOrigin(_t,v.loc,v.request);xe.connectBlockAndChunkGroup(v,q)}Et.push({action:gt,block:v,module:_t,chunk:q.chunks[0],chunkGroup:q,chunkGroupInfo:P})}else if(!Ot.asyncChunks||!Ot.chunkLoading){bt.push({action:mt,block:v,module:_t,chunk:Pt,chunkGroup:Mt,chunkGroupInfo:Ot})}else{P=be&&ut.get(be);if(!P){L=E.addChunkInGroup(v.groupOptions||v.chunkName,_t,v.loc,v.request);L.index=it++;P={chunkGroup:L,runtime:Ot.runtime,minAvailableModules:undefined,minAvailableModulesOwned:undefined,availableModulesToBeMerged:[],skippedItems:undefined,resultingAvailableModules:undefined,children:undefined,availableSources:undefined,availableChildren:undefined,preOrderIndex:0,postOrderIndex:0,chunkLoading:Ot.chunkLoading,asyncChunks:Ot.asyncChunks};ge.add(L);$.set(L,P);if(be){ut.set(be,P)}}else{L=P.chunkGroup;if(L.isInitial()){E.errors.push(new R(be,_t,v.loc));L=Mt}else{L.addOptions(v.groupOptions)}L.addOrigin(_t,v.loc,v.request)}N.set(v,[])}lt.set(v,P)}else if(ae){q=P.chunkGroup}else{L=P.chunkGroup}if(L!==undefined){N.get(v).push({originChunkGroupInfo:Ot,chunkGroup:L});let E=xt.get(Ot);if(E===undefined){E=new Set;xt.set(Ot,E)}E.add(P);Et.push({action:mt,block:v,module:_t,chunk:L.chunks[0],chunkGroup:L,chunkGroupInfo:P})}else if(q!==undefined){Ot.chunkGroup.addAsyncEntrypoint(q)}};const processBlock=v=>{Je++;const E=getBlockModules(v,Ot.runtime);if(E!==undefined){const{minAvailableModules:v}=Ot;for(let P=0;P0){let{skippedModuleConnections:v}=Ot;if(v===undefined){Ot.skippedModuleConnections=v=new Set}for(let E=At.length-1;E>=0;E--){v.add(At[E])}At.length=0}if(Ct.length>0){let{skippedItems:v}=Ot;if(v===undefined){Ot.skippedItems=v=new Set}for(let E=Ct.length-1;E>=0;E--){v.add(Ct[E])}Ct.length=0}if(St.length>0){for(let v=St.length-1;v>=0;v--){bt.push(St[v])}St.length=0}}for(const E of v.blocks){iteratorBlock(E)}if(v.blocks.length>0&&_t!==v){ae.add(v)}};const processEntryBlock=v=>{Je++;const E=getBlockModules(v,Ot.runtime);if(E!==undefined){for(let v=0;v0){for(let v=St.length-1;v>=0;v--){bt.push(St[v])}St.length=0}}for(const E of v.blocks){iteratorBlock(E)}if(v.blocks.length>0&&_t!==v){ae.add(v)}};const processQueue=()=>{while(bt.length){Qe++;const v=bt.pop();_t=v.module;It=v.block;Pt=v.chunk;Mt=v.chunkGroup;Ot=v.chunkGroupInfo;switch(v.action){case dt:xe.connectChunkAndEntryModule(Pt,_t,Mt);case ft:{if(xe.isModuleInChunk(_t,Pt)){break}xe.connectChunkAndModule(Pt,_t)}case ht:{const E=Mt.getModulePreOrderIndex(_t);if(E===undefined){Mt.setModulePreOrderIndex(_t,Ot.preOrderIndex++)}if(be.setPreOrderIndexIfUnset(_t,at)){at++}v.action=yt;bt.push(v)}case mt:{processBlock(It);break}case gt:{processEntryBlock(It);break}case yt:{const v=Mt.getModulePostOrderIndex(_t);if(v===undefined){Mt.setModulePostOrderIndex(_t,Ot.postOrderIndex++)}if(be.setPostOrderIndexIfUnset(_t,ct)){ct++}break}}}};const calculateResultingAvailableModules=v=>{if(v.resultingAvailableModules)return v.resultingAvailableModules;const E=v.minAvailableModules;let P;if(E.size>E.plus.size){P=new Set;for(const v of E.plus)E.add(v);E.plus=K;P.plus=E;v.minAvailableModulesOwned=false}else{P=new Set(E);P.plus=E.plus}for(const E of v.chunkGroup.chunks){for(const v of xe.getChunkModulesIterable(E)){P.add(v)}}return v.resultingAvailableModules=P};const processConnectQueue=()=>{for(const[v,E]of xt){if(v.children===undefined){v.children=E}else{for(const P of E){v.children.add(P)}}const P=calculateResultingAvailableModules(v);const R=v.runtime;for(const v of E){v.availableModulesToBeMerged.push(P);wt.add(v);const E=v.runtime;const $=q(E,R);if(E!==$){v.runtime=$;vt.add(v)}}Ve+=E.size}xt.clear()};const processChunkGroupsForMerging=()=>{Ke+=wt.size;for(const v of wt){const E=v.availableModulesToBeMerged;let P=v.minAvailableModules;Ye+=E.length;if(E.length>1){E.sort(bySetSize)}let R=false;e:for(const $ of E){if(P===undefined){P=$;v.minAvailableModules=P;v.minAvailableModulesOwned=false;R=true}else{if(v.minAvailableModulesOwned){if(P.plus===$.plus){for(const v of P){if(!$.has(v)){P.delete(v);R=true}}}else{for(const v of P){if(!$.has(v)&&!$.plus.has(v)){P.delete(v);R=true}}for(const v of P.plus){if(!$.has(v)&&!$.plus.has(v)){const E=P.plus[Symbol.iterator]();let N;while(!(N=E.next()).done){const E=N.value;if(E===v)break;P.add(E)}while(!(N=E.next()).done){const v=N.value;if($.has(v)||$.plus.has(v)){P.add(v)}}P.plus=K;R=true;continue e}}}}else if(P.plus===$.plus){if($.size{for(const v of kt){for(const E of v.availableSources){if(!E.minAvailableModules){kt.delete(v);break}}}for(const v of kt){const E=new Set;E.plus=K;const mergeSet=v=>{if(v.size>E.plus.size){for(const v of E.plus)E.add(v);E.plus=v}else{for(const P of v)E.add(P)}};for(const E of v.availableSources){const v=calculateResultingAvailableModules(E);mergeSet(v);mergeSet(v.plus)}v.minAvailableModules=E;v.minAvailableModulesOwned=false;v.resultingAvailableModules=undefined;vt.add(v)}kt.clear()};const processOutdatedChunkGroupInfo=()=>{rt+=vt.size;for(const v of vt){if(v.skippedItems!==undefined){const E=v.minAvailableModules;for(const P of v.skippedItems){if(!E.has(P)&&!E.plus.has(P)){bt.push({action:ft,block:P,module:P,chunk:v.chunkGroup.chunks[0],chunkGroup:v.chunkGroup,chunkGroupInfo:v});v.skippedItems.delete(P)}}}if(v.skippedModuleConnections!==undefined){const E=v.minAvailableModules;for(const P of v.skippedModuleConnections){const[R,$]=P;if($===false)continue;if($===true){v.skippedModuleConnections.delete(P)}if($===true&&(E.has(R)||E.plus.has(R))){v.skippedItems.add(R);continue}bt.push({action:$===true?ft:mt,block:R,module:R,chunk:v.chunkGroup.chunks[0],chunkGroup:v.chunkGroup,chunkGroupInfo:v})}}if(v.children!==undefined){ot+=v.children.size;for(const E of v.children){let P=xt.get(v);if(P===undefined){P=new Set;xt.set(v,P)}P.add(E)}}if(v.availableChildren!==undefined){for(const E of v.availableChildren){kt.add(E)}}}vt.clear()};while(bt.length||xt.size){v.time("visitModules: visiting");processQueue();v.timeAggregateEnd("visitModules: prepare");v.timeEnd("visitModules: visiting");if(kt.size>0){v.time("visitModules: combine available modules");processChunkGroupsForCombining();v.timeEnd("visitModules: combine available modules")}if(xt.size>0){v.time("visitModules: calculating available modules");processConnectQueue();v.timeEnd("visitModules: calculating available modules");if(wt.size>0){v.time("visitModules: merging available modules");processChunkGroupsForMerging();v.timeEnd("visitModules: merging available modules")}}if(vt.size>0){v.time("visitModules: check modules for revisit");processOutdatedChunkGroupInfo();v.timeEnd("visitModules: check modules for revisit")}if(bt.length===0){const v=bt;bt=Et.reverse();Et=v}}v.log(`${Qe} queue items processed (${Je} blocks)`);v.log(`${Ve} chunk groups connected`);v.log(`${Ke} chunk groups processed for merging (${Ye} module sets, ${Xe} forked, ${Ze} + ${et} modules forked, ${tt} + ${nt} modules merged into fork, ${st} resulting modules)`);v.log(`${rt} chunk group info updated (${ot} already connected chunk groups reconnected)`)};const connectChunkGroups=(v,E,P,R)=>{const{chunkGraph:N}=v;const areModulesAvailable=(v,E)=>{for(const P of v.chunks){for(const v of N.getChunkModulesIterable(P)){if(!E.has(v)&&!E.plus.has(v))return false}}return true};for(const[v,R]of P){if(!E.has(v)&&R.every((({chunkGroup:v,originChunkGroupInfo:E})=>areModulesAvailable(v,E.resultingAvailableModules)))){continue}for(let E=0;E{const{chunkGraph:P}=v;for(const R of E){if(R.getNumberOfParents()===0){for(const E of R.chunks){v.chunks.delete(E);P.disconnectChunk(E)}P.disconnectChunkGroup(R);R.remove()}}};const buildChunkGraph=(v,E)=>{const P=v.getLogger("webpack.buildChunkGraph");const R=new Map;const $=new Set;const N=new Map;const L=new Set;P.time("visitModules");visitModules(P,v,E,N,R,L,$);P.timeEnd("visitModules");P.time("connectChunkGroups");connectChunkGroups(v,L,R,N);P.timeEnd("connectChunkGroups");for(const[v,E]of N){for(const P of v.chunks)P.runtime=q(P.runtime,E.runtime)}P.time("cleanup");cleanupUnconnectedGroups(v,$);P.timeEnd("cleanup")};v.exports=buildChunkGraph},95163:function(v){"use strict";class AddBuildDependenciesPlugin{constructor(v){this.buildDependencies=new Set(v)}apply(v){v.hooks.compilation.tap("AddBuildDependenciesPlugin",(v=>{v.buildDependencies.addAll(this.buildDependencies)}))}}v.exports=AddBuildDependenciesPlugin},31798:function(v){"use strict";class AddManagedPathsPlugin{constructor(v,E,P){this.managedPaths=new Set(v);this.immutablePaths=new Set(E);this.unmanagedPaths=new Set(P)}apply(v){for(const E of this.managedPaths){v.managedPaths.add(E)}for(const E of this.immutablePaths){v.immutablePaths.add(E)}for(const E of this.unmanagedPaths){v.unmanagedPaths.add(E)}}}v.exports=AddManagedPathsPlugin},95101:function(v,E,P){"use strict";const R=P(14893);const $=P(97924);const N=Symbol();class IdleFileCachePlugin{constructor(v,E,P,R){this.strategy=v;this.idleTimeout=E;this.idleTimeoutForInitialStore=P;this.idleTimeoutAfterLargeChanges=R}apply(v){let E=this.strategy;const P=this.idleTimeout;const L=Math.min(P,this.idleTimeoutForInitialStore);const q=this.idleTimeoutAfterLargeChanges;const K=Promise.resolve();let ae=0;let ge=0;let be=0;const xe=new Map;v.cache.hooks.store.tap({name:"IdleFileCachePlugin",stage:R.STAGE_DISK},((v,P,R)=>{xe.set(v,(()=>E.store(v,P,R)))}));v.cache.hooks.get.tapPromise({name:"IdleFileCachePlugin",stage:R.STAGE_DISK},((v,P,R)=>{const restore=()=>E.restore(v,P).then(($=>{if($===undefined){R.push(((R,$)=>{if(R!==undefined){xe.set(v,(()=>E.store(v,P,R)))}$()}))}else{return $}}));const $=xe.get(v);if($!==undefined){xe.delete(v);return $().then(restore)}return restore()}));v.cache.hooks.storeBuildDependencies.tap({name:"IdleFileCachePlugin",stage:R.STAGE_DISK},(v=>{xe.set(N,(()=>E.storeBuildDependencies(v)))}));v.cache.hooks.shutdown.tapPromise({name:"IdleFileCachePlugin",stage:R.STAGE_DISK},(()=>{if(He){clearTimeout(He);He=undefined}Ae=false;const P=$.getReporter(v);const R=Array.from(xe.values());if(P)P(0,"process pending cache items");const N=R.map((v=>v()));xe.clear();N.push(ve);const L=Promise.all(N);ve=L.then((()=>E.afterAllStored()));if(P){ve=ve.then((()=>{P(1,`stored`)}))}return ve.then((()=>{if(E.clear)E.clear()}))}));let ve=K;let Ae=false;let Ie=true;const processIdleTasks=()=>{if(Ae){const P=Date.now();if(xe.size>0){const v=[ve];const E=P+100;let R=100;for(const[P,$]of xe){xe.delete(P);v.push($());if(R--<=0||Date.now()>E)break}ve=Promise.all(v);ve.then((()=>{ge+=Date.now()-P;He=setTimeout(processIdleTasks,0);He.unref()}));return}ve=ve.then((async()=>{await E.afterAllStored();ge+=Date.now()-P;be=Math.max(be,ge)*.9+ge*.1;ge=0;ae=0})).catch((E=>{const P=v.getInfrastructureLogger("IdleFileCachePlugin");P.warn(`Background tasks during idle failed: ${E.message}`);P.debug(E.stack)}));Ie=false}};let He=undefined;v.cache.hooks.beginIdle.tap({name:"IdleFileCachePlugin",stage:R.STAGE_DISK},(()=>{const E=ae>be*2;if(Ie&&L{He=undefined;Ae=true;K.then(processIdleTasks)}),Math.min(Ie?L:Infinity,E?q:Infinity,P));He.unref()}));v.cache.hooks.endIdle.tap({name:"IdleFileCachePlugin",stage:R.STAGE_DISK},(()=>{if(He){clearTimeout(He);He=undefined}Ae=false}));v.hooks.done.tap("IdleFileCachePlugin",(v=>{ae*=.9;ae+=v.endTime-v.startTime}))}}v.exports=IdleFileCachePlugin},85656:function(v,E,P){"use strict";const R=P(14893);class MemoryCachePlugin{apply(v){const E=new Map;v.cache.hooks.store.tap({name:"MemoryCachePlugin",stage:R.STAGE_MEMORY},((v,P,R)=>{E.set(v,{etag:P,data:R})}));v.cache.hooks.get.tap({name:"MemoryCachePlugin",stage:R.STAGE_MEMORY},((v,P,R)=>{const $=E.get(v);if($===null){return null}else if($!==undefined){return $.etag===P?$.data:null}R.push(((R,$)=>{if(R===undefined){E.set(v,null)}else{E.set(v,{etag:P,data:R})}return $()}))}));v.cache.hooks.shutdown.tap({name:"MemoryCachePlugin",stage:R.STAGE_MEMORY},(()=>{E.clear()}))}}v.exports=MemoryCachePlugin},81681:function(v,E,P){"use strict";const R=P(14893);class MemoryWithGcCachePlugin{constructor({maxGenerations:v}){this._maxGenerations=v}apply(v){const E=this._maxGenerations;const P=new Map;const $=new Map;let N=0;let L=0;const q=v.getInfrastructureLogger("MemoryWithGcCachePlugin");v.hooks.afterDone.tap("MemoryWithGcCachePlugin",(()=>{N++;let v=0;let R;for(const[E,L]of $){if(L.until>N)break;$.delete(E);if(P.get(E)===undefined){P.delete(E);v++;R=E}}if(v>0||$.size>0){q.log(`${P.size-$.size} active entries, ${$.size} recently unused cached entries${v>0?`, ${v} old unused cache entries removed e. g. ${R}`:""}`)}let K=P.size/E|0;let ae=L>=P.size?0:L;L=ae+K;for(const[v,R]of P){if(ae!==0){ae--;continue}if(R!==undefined){P.set(v,undefined);$.delete(v);$.set(v,{entry:R,until:N+E});if(K--===0)break}}}));v.cache.hooks.store.tap({name:"MemoryWithGcCachePlugin",stage:R.STAGE_MEMORY},((v,E,R)=>{P.set(v,{etag:E,data:R})}));v.cache.hooks.get.tap({name:"MemoryWithGcCachePlugin",stage:R.STAGE_MEMORY},((v,E,R)=>{const N=P.get(v);if(N===null){return null}else if(N!==undefined){return N.etag===E?N.data:null}const L=$.get(v);if(L!==undefined){const R=L.entry;if(R===null){$.delete(v);P.set(v,R);return null}else{if(R.etag!==E)return null;$.delete(v);P.set(v,R);return R.data}}R.push(((R,$)=>{if(R===undefined){P.set(v,null)}else{P.set(v,{etag:E,data:R})}return $()}))}));v.cache.hooks.shutdown.tap({name:"MemoryWithGcCachePlugin",stage:R.STAGE_MEMORY},(()=>{P.clear();$.clear()}))}}v.exports=MemoryWithGcCachePlugin},25762:function(v,E,P){"use strict";const R=P(62304);const $=P(97924);const{formatSize:N}=P(54172);const L=P(65437);const q=P(95259);const K=P(74364);const ae=P(49584);const{createFileSerializer:ge,NOT_SERIALIZABLE:be}=P(56944);class PackContainer{constructor(v,E,P,R,$,N){this.data=v;this.version=E;this.buildSnapshot=P;this.buildDependencies=R;this.resolveResults=$;this.resolveBuildDependenciesSnapshot=N}serialize({write:v,writeLazy:E}){v(this.version);v(this.buildSnapshot);v(this.buildDependencies);v(this.resolveResults);v(this.resolveBuildDependenciesSnapshot);E(this.data)}deserialize({read:v}){this.version=v();this.buildSnapshot=v();this.buildDependencies=v();this.resolveResults=v();this.resolveBuildDependenciesSnapshot=v();this.data=v()}}K(PackContainer,"webpack/lib/cache/PackFileCacheStrategy","PackContainer");const xe=1024*1024;const ve=10;const Ae=100;const Ie=5e4;const He=1*60*1e3;class PackItemInfo{constructor(v,E,P){this.identifier=v;this.etag=E;this.location=-1;this.lastAccess=Date.now();this.freshValue=P}}class Pack{constructor(v,E){this.itemInfo=new Map;this.requests=[];this.requestsTimeout=undefined;this.freshContent=new Map;this.content=[];this.invalid=false;this.logger=v;this.maxAge=E}_addRequest(v){this.requests.push(v);if(this.requestsTimeout===undefined){this.requestsTimeout=setTimeout((()=>{this.requests.push(undefined);this.requestsTimeout=undefined}),He);if(this.requestsTimeout.unref)this.requestsTimeout.unref()}}stopCapturingRequests(){if(this.requestsTimeout!==undefined){clearTimeout(this.requestsTimeout);this.requestsTimeout=undefined}}get(v,E){const P=this.itemInfo.get(v);this._addRequest(v);if(P===undefined){return undefined}if(P.etag!==E)return null;P.lastAccess=Date.now();const R=P.location;if(R===-1){return P.freshValue}else{if(!this.content[R]){return undefined}return this.content[R].get(v)}}set(v,E,P){if(!this.invalid){this.invalid=true;this.logger.log(`Pack got invalid because of write to: ${v}`)}const R=this.itemInfo.get(v);if(R===undefined){const R=new PackItemInfo(v,E,P);this.itemInfo.set(v,R);this._addRequest(v);this.freshContent.set(v,R)}else{const $=R.location;if($>=0){this._addRequest(v);this.freshContent.set(v,R);const E=this.content[$];E.delete(v);if(E.items.size===0){this.content[$]=undefined;this.logger.debug("Pack %d got empty and is removed",$)}}R.freshValue=P;R.lastAccess=Date.now();R.etag=E;R.location=-1}}getContentStats(){let v=0;let E=0;for(const P of this.content){if(P!==undefined){v++;const R=P.getSize();if(R>0){E+=R}}}return{count:v,size:E}}_findLocation(){let v;for(v=0;vthis.maxAge){this.itemInfo.delete(L);v.delete(L);E.delete(L);R++;$=L}else{q.location=P}}if(R>0){this.logger.log("Garbage Collected %d old items at pack %d (%d items remaining) e. g. %s",R,P,v.size,$)}}_persistFreshContent(){const v=this.freshContent.size;if(v>0){const E=Math.ceil(v/Ie);const P=Math.ceil(v/E);const R=[];let $=0;let N=false;const createNextPack=()=>{const v=this._findLocation();this.content[v]=null;const E={items:new Set,map:new Map,loc:v};R.push(E);return E};let L=createNextPack();if(this.requestsTimeout!==undefined)clearTimeout(this.requestsTimeout);for(const v of this.requests){if(v===undefined){if(N){N=false}else if(L.items.size>=Ae){$=0;L=createNextPack()}continue}const E=this.freshContent.get(v);if(E===undefined)continue;L.items.add(v);L.map.set(v,E.freshValue);E.location=L.loc;E.freshValue=undefined;this.freshContent.delete(v);if(++$>P){$=0;L=createNextPack();N=true}}this.requests.length=0;for(const v of R){this.content[v.loc]=new PackContent(v.items,new Set(v.items),new PackContentItems(v.map))}this.logger.log(`${v} fresh items in cache put into pack ${R.length>1?R.map((v=>`${v.loc} (${v.items.size} items)`)).join(", "):R[0].loc}`)}}_optimizeSmallContent(){const v=[];let E=0;const P=[];let R=0;for(let $=0;$xe)continue;if(N.used.size>0){v.push($);E+=L}else{P.push($);R+=L}}let $;if(v.length>=ve||E>xe){$=v}else if(P.length>=ve||R>xe){$=P}else return;const N=[];for(const v of $){N.push(this.content[v]);this.content[v]=undefined}const L=new Set;const q=new Set;const K=[];for(const v of N){for(const E of v.items){L.add(E)}for(const E of v.used){q.add(E)}K.push((async E=>{await v.unpack("it should be merged with other small pack contents");for(const[P,R]of v.content){E.set(P,R)}}))}const ge=this._findLocation();this._gcAndUpdateLocation(L,q,ge);if(L.size>0){this.content[ge]=new PackContent(L,q,ae((async()=>{const v=new Map;await Promise.all(K.map((E=>E(v))));return new PackContentItems(v)})));this.logger.log("Merged %d small files with %d cache items into pack %d",N.length,L.size,ge)}}_optimizeUnusedContent(){for(let v=0;v0&&R<$){this.content[v]=undefined;const P=new Set(E.used);const R=this._findLocation();this._gcAndUpdateLocation(P,P,R);if(P.size>0){this.content[R]=new PackContent(P,new Set(P),(async()=>{await E.unpack("it should be splitted into used and unused items");const v=new Map;for(const R of P){v.set(R,E.content.get(R))}return new PackContentItems(v)}))}const $=new Set(E.items);const N=new Set;for(const v of P){$.delete(v)}const L=this._findLocation();this._gcAndUpdateLocation($,N,L);if($.size>0){this.content[L]=new PackContent($,N,(async()=>{await E.unpack("it should be splitted into used and unused items");const v=new Map;for(const P of $){v.set(P,E.content.get(P))}return new PackContentItems(v)}))}this.logger.log("Split pack %d into pack %d with %d used items and pack %d with %d unused items",v,R,P.size,L,$.size);return}}}_gcOldestContent(){let v=undefined;for(const E of this.itemInfo.values()){if(v===undefined||E.lastAccessthis.maxAge){const E=v.location;if(E<0)return;const P=this.content[E];const R=new Set(P.items);const $=new Set(P.used);this._gcAndUpdateLocation(R,$,E);this.content[E]=R.size>0?new PackContent(R,$,(async()=>{await P.unpack("it contains old items that should be garbage collected");const v=new Map;for(const E of R){v.set(E,P.content.get(E))}return new PackContentItems(v)})):undefined}}serialize({write:v,writeSeparate:E}){this._persistFreshContent();this._optimizeSmallContent();this._optimizeUnusedContent();this._gcOldestContent();for(const E of this.itemInfo.keys()){v(E)}v(null);for(const E of this.itemInfo.values()){v(E.etag)}for(const E of this.itemInfo.values()){v(E.lastAccess)}for(let P=0;PE(v,{name:`${P}`})))}else{v(undefined)}}v(null)}deserialize({read:v,logger:E}){this.logger=E;{const E=[];let P=v();while(P!==null){E.push(P);P=v()}this.itemInfo.clear();const R=E.map((v=>{const E=new PackItemInfo(v,undefined,undefined);this.itemInfo.set(v,E);return E}));for(const E of R){E.etag=v()}for(const E of R){E.lastAccess=v()}}this.content.length=0;let P=v();while(P!==null){if(P===undefined){this.content.push(P)}else{const R=this.content.length;const $=v();this.content.push(new PackContent(P,new Set,$,E,`${this.content.length}`));for(const v of P){this.itemInfo.get(v).location=R}}P=v()}}}K(Pack,"webpack/lib/cache/PackFileCacheStrategy","Pack");class PackContentItems{constructor(v){this.map=v}serialize({write:v,snapshot:E,rollback:P,logger:R,profile:$}){if($){v(false);for(const[$,N]of this.map){const L=E();try{v($);const E=process.hrtime();v(N);const P=process.hrtime(E);const L=P[0]*1e3+P[1]/1e6;if(L>1){if(L>500)R.error(`Serialization of '${$}': ${L} ms`);else if(L>50)R.warn(`Serialization of '${$}': ${L} ms`);else if(L>10)R.info(`Serialization of '${$}': ${L} ms`);else if(L>5)R.log(`Serialization of '${$}': ${L} ms`);else R.debug(`Serialization of '${$}': ${L} ms`)}}catch(v){P(L);if(v===be)continue;const E="Skipped not serializable cache item";if(v.message.includes("ModuleBuildError")){R.log(`${E} (in build error): ${v.message}`);R.debug(`${E} '${$}' (in build error): ${v.stack}`)}else{R.warn(`${E}: ${v.message}`);R.debug(`${E} '${$}': ${v.stack}`)}}}v(null);return}const N=E();try{v(true);v(this.map)}catch($){P(N);v(false);for(const[$,N]of this.map){const L=E();try{v($);v(N)}catch(v){P(L);if(v===be)continue;R.warn(`Skipped not serializable cache item '${$}': ${v.message}`);R.debug(v.stack)}}v(null)}}deserialize({read:v,logger:E,profile:P}){if(v()){this.map=v()}else if(P){const P=new Map;let R=v();while(R!==null){const $=process.hrtime();const N=v();const L=process.hrtime($);const q=L[0]*1e3+L[1]/1e6;if(q>1){if(q>100)E.error(`Deserialization of '${R}': ${q} ms`);else if(q>20)E.warn(`Deserialization of '${R}': ${q} ms`);else if(q>5)E.info(`Deserialization of '${R}': ${q} ms`);else if(q>2)E.log(`Deserialization of '${R}': ${q} ms`);else E.debug(`Deserialization of '${R}': ${q} ms`)}P.set(R,N);R=v()}this.map=P}else{const E=new Map;let P=v();while(P!==null){E.set(P,v());P=v()}this.map=E}}}K(PackContentItems,"webpack/lib/cache/PackFileCacheStrategy","PackContentItems");class PackContent{constructor(v,E,P,R,$){this.items=v;this.lazy=typeof P==="function"?P:undefined;this.content=typeof P==="function"?undefined:P.map;this.outdated=false;this.used=E;this.logger=R;this.lazyName=$}get(v){this.used.add(v);if(this.content){return this.content.get(v)}const{lazyName:E}=this;let P;if(E){this.lazyName=undefined;P=`restore cache content ${E} (${N(this.getSize())})`;this.logger.log(`starting to restore cache content ${E} (${N(this.getSize())}) because of request to: ${v}`);this.logger.time(P)}const R=this.lazy();if("then"in R){return R.then((E=>{const R=E.map;if(P){this.logger.timeEnd(P)}this.content=R;this.lazy=L.unMemoizeLazy(this.lazy);return R.get(v)}))}else{const E=R.map;if(P){this.logger.timeEnd(P)}this.content=E;this.lazy=L.unMemoizeLazy(this.lazy);return E.get(v)}}unpack(v){if(this.content)return;if(this.lazy){const{lazyName:E}=this;let P;if(E){this.lazyName=undefined;P=`unpack cache content ${E} (${N(this.getSize())})`;this.logger.log(`starting to unpack cache content ${E} (${N(this.getSize())}) because ${v}`);this.logger.time(P)}const R=this.lazy();if("then"in R){return R.then((v=>{if(P){this.logger.timeEnd(P)}this.content=v.map}))}else{if(P){this.logger.timeEnd(P)}this.content=R.map}}}getSize(){if(!this.lazy)return-1;const v=this.lazy.options;if(!v)return-1;const E=v.size;if(typeof E!=="number")return-1;return E}delete(v){this.items.delete(v);this.used.delete(v);this.outdated=true}writeLazy(v){if(!this.outdated&&this.lazy){v(this.lazy);return}if(!this.outdated&&this.content){const E=new Map(this.content);this.lazy=L.unMemoizeLazy(v((()=>new PackContentItems(E))));return}if(this.content){const E=new Map;for(const v of this.items){E.set(v,this.content.get(v))}this.outdated=false;this.content=E;this.lazy=L.unMemoizeLazy(v((()=>new PackContentItems(E))));return}const{lazyName:E}=this;let P;if(E){this.lazyName=undefined;P=`unpack cache content ${E} (${N(this.getSize())})`;this.logger.log(`starting to unpack cache content ${E} (${N(this.getSize())}) because it's outdated and need to be serialized`);this.logger.time(P)}const R=this.lazy();this.outdated=false;if("then"in R){this.lazy=v((()=>R.then((v=>{if(P){this.logger.timeEnd(P)}const E=v.map;const R=new Map;for(const v of this.items){R.set(v,E.get(v))}this.content=R;this.lazy=L.unMemoizeLazy(this.lazy);return new PackContentItems(R)}))))}else{if(P){this.logger.timeEnd(P)}const E=R.map;const $=new Map;for(const v of this.items){$.set(v,E.get(v))}this.content=$;this.lazy=v((()=>new PackContentItems($)))}}}const allowCollectingMemory=v=>{const E=v.buffer.byteLength-v.byteLength;if(E>8192&&(E>1048576||E>v.byteLength)){return Buffer.from(v)}return v};class PackFileCacheStrategy{constructor({compiler:v,fs:E,context:P,cacheLocation:$,version:N,logger:L,snapshot:K,maxAge:ae,profile:be,allowCollectingMemory:xe,compression:ve,readonly:Ae}){this.fileSerializer=ge(E,v.options.output.hashFunction);this.fileSystemInfo=new R(E,{managedPaths:K.managedPaths,immutablePaths:K.immutablePaths,logger:L.getChildLogger("webpack.FileSystemInfo"),hashFunction:v.options.output.hashFunction});this.compiler=v;this.context=P;this.cacheLocation=$;this.version=N;this.logger=L;this.maxAge=ae;this.profile=be;this.readonly=Ae;this.allowCollectingMemory=xe;this.compression=ve;this._extension=ve==="brotli"?".pack.br":ve==="gzip"?".pack.gz":".pack";this.snapshot=K;this.buildDependencies=new Set;this.newBuildDependencies=new q;this.resolveBuildDependenciesSnapshot=undefined;this.resolveResults=undefined;this.buildSnapshot=undefined;this.packPromise=this._openPack();this.storePromise=Promise.resolve()}_getPack(){if(this.packPromise===undefined){this.packPromise=this.storePromise.then((()=>this._openPack()))}return this.packPromise}_openPack(){const{logger:v,profile:E,cacheLocation:P,version:R}=this;let $;let N;let L;let q;let K;v.time("restore cache container");return this.fileSerializer.deserialize(null,{filename:`${P}/index${this._extension}`,extension:`${this._extension}`,logger:v,profile:E,retainedBuffer:this.allowCollectingMemory?allowCollectingMemory:undefined}).catch((E=>{if(E.code!=="ENOENT"){v.warn(`Restoring pack failed from ${P}${this._extension}: ${E}`);v.debug(E.stack)}else{v.debug(`No pack exists at ${P}${this._extension}: ${E}`)}return undefined})).then((E=>{v.timeEnd("restore cache container");if(!E)return undefined;if(!(E instanceof PackContainer)){v.warn(`Restored pack from ${P}${this._extension}, but contained content is unexpected.`,E);return undefined}if(E.version!==R){v.log(`Restored pack from ${P}${this._extension}, but version doesn't match.`);return undefined}v.time("check build dependencies");return Promise.all([new Promise(((R,N)=>{this.fileSystemInfo.checkSnapshotValid(E.buildSnapshot,((N,L)=>{if(N){v.log(`Restored pack from ${P}${this._extension}, but checking snapshot of build dependencies errored: ${N}.`);v.debug(N.stack);return R(false)}if(!L){v.log(`Restored pack from ${P}${this._extension}, but build dependencies have changed.`);return R(false)}$=E.buildSnapshot;return R(true)}))})),new Promise(((R,$)=>{this.fileSystemInfo.checkSnapshotValid(E.resolveBuildDependenciesSnapshot,(($,ae)=>{if($){v.log(`Restored pack from ${P}${this._extension}, but checking snapshot of resolving of build dependencies errored: ${$}.`);v.debug($.stack);return R(false)}if(ae){q=E.resolveBuildDependenciesSnapshot;N=E.buildDependencies;K=E.resolveResults;return R(true)}v.log("resolving of build dependencies is invalid, will re-resolve build dependencies");this.fileSystemInfo.checkResolveResultsValid(E.resolveResults,(($,N)=>{if($){v.log(`Restored pack from ${P}${this._extension}, but resolving of build dependencies errored: ${$}.`);v.debug($.stack);return R(false)}if(N){L=E.buildDependencies;K=E.resolveResults;return R(true)}v.log(`Restored pack from ${P}${this._extension}, but build dependencies resolve to different locations.`);return R(false)}))}))}))]).catch((E=>{v.timeEnd("check build dependencies");throw E})).then((([P,R])=>{v.timeEnd("check build dependencies");if(P&&R){v.time("restore cache content metadata");const P=E.data();v.timeEnd("restore cache content metadata");return P}return undefined}))})).then((E=>{if(E){E.maxAge=this.maxAge;this.buildSnapshot=$;if(N)this.buildDependencies=N;if(L)this.newBuildDependencies.addAll(L);this.resolveResults=K;this.resolveBuildDependenciesSnapshot=q;return E}return new Pack(v,this.maxAge)})).catch((E=>{this.logger.warn(`Restoring pack from ${P}${this._extension} failed: ${E}`);this.logger.debug(E.stack);return new Pack(v,this.maxAge)}))}store(v,E,P){if(this.readonly)return Promise.resolve();return this._getPack().then((R=>{R.set(v,E===null?null:E.toString(),P)}))}restore(v,E){return this._getPack().then((P=>P.get(v,E===null?null:E.toString()))).catch((E=>{if(E&&E.code!=="ENOENT"){this.logger.warn(`Restoring failed for ${v} from pack: ${E}`);this.logger.debug(E.stack)}}))}storeBuildDependencies(v){if(this.readonly)return;this.newBuildDependencies.addAll(v)}afterAllStored(){const v=this.packPromise;if(v===undefined)return Promise.resolve();const E=$.getReporter(this.compiler);return this.storePromise=v.then((v=>{v.stopCapturingRequests();if(!v.invalid)return;this.packPromise=undefined;this.logger.log(`Storing pack...`);let P;const R=new Set;for(const v of this.newBuildDependencies){if(!this.buildDependencies.has(v)){R.add(v)}}if(R.size>0||!this.buildSnapshot){if(E)E(.5,"resolve build dependencies");this.logger.debug(`Capturing build dependencies... (${Array.from(R).join(", ")})`);P=new Promise(((v,P)=>{this.logger.time("resolve build dependencies");this.fileSystemInfo.resolveBuildDependencies(this.context,R,((R,$)=>{this.logger.timeEnd("resolve build dependencies");if(R)return P(R);this.logger.time("snapshot build dependencies");const{files:N,directories:L,missing:q,resolveResults:K,resolveDependencies:ae}=$;if(this.resolveResults){for(const[v,E]of K){this.resolveResults.set(v,E)}}else{this.resolveResults=K}if(E){E(.6,"snapshot build dependencies","resolving")}this.fileSystemInfo.createSnapshot(undefined,ae.files,ae.directories,ae.missing,this.snapshot.resolveBuildDependencies,((R,$)=>{if(R){this.logger.timeEnd("snapshot build dependencies");return P(R)}if(!$){this.logger.timeEnd("snapshot build dependencies");return P(new Error("Unable to snapshot resolve dependencies"))}if(this.resolveBuildDependenciesSnapshot){this.resolveBuildDependenciesSnapshot=this.fileSystemInfo.mergeSnapshots(this.resolveBuildDependenciesSnapshot,$)}else{this.resolveBuildDependenciesSnapshot=$}if(E){E(.7,"snapshot build dependencies","modules")}this.fileSystemInfo.createSnapshot(undefined,N,L,q,this.snapshot.buildDependencies,((E,R)=>{this.logger.timeEnd("snapshot build dependencies");if(E)return P(E);if(!R){return P(new Error("Unable to snapshot build dependencies"))}this.logger.debug("Captured build dependencies");if(this.buildSnapshot){this.buildSnapshot=this.fileSystemInfo.mergeSnapshots(this.buildSnapshot,R)}else{this.buildSnapshot=R}v()}))}))}))}))}else{P=Promise.resolve()}return P.then((()=>{if(E)E(.8,"serialize pack");this.logger.time(`store pack`);const P=new Set(this.buildDependencies);for(const v of R){P.add(v)}const $=new PackContainer(v,this.version,this.buildSnapshot,P,this.resolveResults,this.resolveBuildDependenciesSnapshot);return this.fileSerializer.serialize($,{filename:`${this.cacheLocation}/index${this._extension}`,extension:`${this._extension}`,logger:this.logger,profile:this.profile}).then((()=>{for(const v of R){this.buildDependencies.add(v)}this.newBuildDependencies.clear();this.logger.timeEnd(`store pack`);const E=v.getContentStats();this.logger.log("Stored pack (%d items, %d files, %d MiB)",v.itemInfo.size,E.count,Math.round(E.size/1024/1024))})).catch((v=>{this.logger.timeEnd(`store pack`);this.logger.warn(`Caching failed for pack: ${v}`);this.logger.debug(v.stack)}))}))})).catch((v=>{this.logger.warn(`Caching failed for pack: ${v}`);this.logger.debug(v.stack)}))}clear(){this.fileSystemInfo.clear();this.buildDependencies.clear();this.newBuildDependencies.clear();this.resolveBuildDependenciesSnapshot=undefined;this.resolveResults=undefined;this.buildSnapshot=undefined;this.packPromise=undefined}}v.exports=PackFileCacheStrategy},87654:function(v,E,P){"use strict";const R=P(95259);const $=P(74364);class CacheEntry{constructor(v,E){this.result=v;this.snapshot=E}serialize({write:v}){v(this.result);v(this.snapshot)}deserialize({read:v}){this.result=v();this.snapshot=v()}}$(CacheEntry,"webpack/lib/cache/ResolverCachePlugin");const addAllToSet=(v,E)=>{if(v instanceof R){v.addAll(E)}else{for(const P of E){v.add(P)}}};const objectToString=(v,E)=>{let P="";for(const R in v){if(E&&R==="context")continue;const $=v[R];if(typeof $==="object"&&$!==null){P+=`|${R}=[${objectToString($,false)}|]`}else{P+=`|${R}=|${$}`}}return P};class ResolverCachePlugin{apply(v){const E=v.getCache("ResolverCachePlugin");let P;let $;let N=0;let L=0;let q=0;let K=0;v.hooks.thisCompilation.tap("ResolverCachePlugin",(v=>{$=v.options.snapshot.resolve;P=v.fileSystemInfo;v.hooks.finishModules.tap("ResolverCachePlugin",(()=>{if(N+L>0){const E=v.getLogger("webpack.ResolverCachePlugin");E.log(`${Math.round(100*N/(N+L))}% really resolved (${N} real resolves with ${q} cached but invalid, ${L} cached valid, ${K} concurrent)`);N=0;L=0;q=0;K=0}}))}));const doRealResolve=(v,E,L,q,K)=>{N++;const ae={_ResolverCachePluginCacheMiss:true,...q};const ge={...L,stack:new Set,missingDependencies:new R,fileDependencies:new R,contextDependencies:new R};let be;let xe=false;if(typeof ge.yield==="function"){be=[];xe=true;ge.yield=v=>be.push(v)}const propagate=v=>{if(L[v]){addAllToSet(L[v],ge[v])}};const ve=Date.now();E.doResolve(E.hooks.resolve,ae,"Cache miss",ge,((E,R)=>{propagate("fileDependencies");propagate("contextDependencies");propagate("missingDependencies");if(E)return K(E);const N=ge.fileDependencies;const L=ge.contextDependencies;const q=ge.missingDependencies;P.createSnapshot(ve,N,L,q,$,((E,P)=>{if(E)return K(E);const $=xe?be:R;if(xe&&R)be.push(R);if(!P){if($)return K(null,$);return K()}v.store(new CacheEntry($,P),(v=>{if(v)return K(v);if($)return K(null,$);K()}))}))}))};v.resolverFactory.hooks.resolver.intercept({factory(v,R){const $=new Map;const N=new Map;R.tap("ResolverCachePlugin",((R,K,ae)=>{if(K.cache!==true)return;const ge=objectToString(ae,false);const be=K.cacheWithContext!==undefined?K.cacheWithContext:false;R.hooks.resolve.tapAsync({name:"ResolverCachePlugin",stage:-100},((K,ae,xe)=>{if(K._ResolverCachePluginCacheMiss||!P){return xe()}const ve=typeof ae.yield==="function";const Ae=`${v}${ve?"|yield":"|default"}${ge}${objectToString(K,!be)}`;if(ve){const v=N.get(Ae);if(v){v[0].push(xe);v[1].push(ae.yield);return}}else{const v=$.get(Ae);if(v){v.push(xe);return}}const Ie=E.getItemCache(Ae,null);let He,Qe;const Je=ve?(v,E)=>{if(He===undefined){if(v){xe(v)}else{if(E)for(const v of E)ae.yield(v);xe(null,null)}Qe=undefined;He=false}else{if(v){for(const E of He)E(v)}else{for(let v=0;v{if(He===undefined){xe(v,E);He=false}else{for(const P of He){P(v,E)}$.delete(Ae);He=false}};const processCacheResult=(v,E)=>{if(v)return Je(v);if(E){const{snapshot:v,result:$}=E;P.checkSnapshotValid(v,((E,P)=>{if(E||!P){q++;return doRealResolve(Ie,R,ae,K,Je)}L++;if(ae.missingDependencies){addAllToSet(ae.missingDependencies,v.getMissingIterable())}if(ae.fileDependencies){addAllToSet(ae.fileDependencies,v.getFileIterable())}if(ae.contextDependencies){addAllToSet(ae.contextDependencies,v.getContextIterable())}Je(null,$)}))}else{doRealResolve(Ie,R,ae,K,Je)}};Ie.get(processCacheResult);if(ve&&He===undefined){He=[xe];Qe=[ae.yield];N.set(Ae,[He,Qe])}else if(He===undefined){He=[xe];$.set(Ae,He)}}))}));return R}})}}v.exports=ResolverCachePlugin},2773:function(v,E,P){"use strict";const R=P(1558);class LazyHashedEtag{constructor(v,E="md4"){this._obj=v;this._hash=undefined;this._hashFunction=E}toString(){if(this._hash===undefined){const v=R(this._hashFunction);this._obj.updateHash(v);this._hash=v.digest("base64")}return this._hash}}const $=new Map;const N=new WeakMap;const getter=(v,E="md4")=>{let P;if(typeof E==="string"){P=$.get(E);if(P===undefined){const R=new LazyHashedEtag(v,E);P=new WeakMap;P.set(v,R);$.set(E,P);return R}}else{P=N.get(E);if(P===undefined){const R=new LazyHashedEtag(v,E);P=new WeakMap;P.set(v,R);N.set(E,P);return R}}const R=P.get(v);if(R!==undefined)return R;const L=new LazyHashedEtag(v,E);P.set(v,L);return L};v.exports=getter},90084:function(v){"use strict";class MergedEtag{constructor(v,E){this.a=v;this.b=E}toString(){return`${this.a.toString()}|${this.b.toString()}`}}const E=new WeakMap;const P=new WeakMap;const mergeEtags=(v,R)=>{if(typeof v==="string"){if(typeof R==="string"){return`${v}|${R}`}else{const E=R;R=v;v=E}}else{if(typeof R!=="string"){let P=E.get(v);if(P===undefined){E.set(v,P=new WeakMap)}const $=P.get(R);if($===undefined){const E=new MergedEtag(v,R);P.set(R,E);return E}else{return $}}}let $=P.get(v);if($===undefined){P.set(v,$=new Map)}const N=$.get(R);if(N===undefined){const E=new MergedEtag(v,R);$.set(R,E);return E}else{return N}};v.exports=mergeEtags},23986:function(v,E,P){"use strict";const R=P(71017);const $=P(6497);const getArguments=(v=$)=>{const E={};const pathToArgumentName=v=>v.replace(/\./g,"-").replace(/\[\]/g,"").replace(/(\p{Uppercase_Letter}+|\p{Lowercase_Letter}|\d)(\p{Uppercase_Letter}+)/gu,"$1-$2").replace(/-?[^\p{Uppercase_Letter}\p{Lowercase_Letter}\d]+/gu,"-").toLowerCase();const getSchemaPart=E=>{const P=E.split("/");let R=v;for(let v=1;v{for(const{schema:E}of v){if(E.cli){if(E.cli.helper)continue;if(E.cli.description)return E.cli.description}if(E.description)return E.description}};const getNegatedDescription=v=>{for(const{schema:E}of v){if(E.cli){if(E.cli.helper)continue;if(E.cli.negatedDescription)return E.cli.negatedDescription}}};const getResetDescription=v=>{for(const{schema:E}of v){if(E.cli){if(E.cli.helper)continue;if(E.cli.resetDescription)return E.cli.resetDescription}}};const schemaToArgumentConfig=v=>{if(v.enum){return{type:"enum",values:v.enum}}switch(v.type){case"number":return{type:"number"};case"string":return{type:v.absolutePath?"path":"string"};case"boolean":return{type:"boolean"}}if(v.instanceof==="RegExp"){return{type:"RegExp"}}return undefined};const addResetFlag=v=>{const P=v[0].path;const R=pathToArgumentName(`${P}.reset`);const $=getResetDescription(v)||`Clear all items provided in '${P}' configuration. ${getDescription(v)}`;E[R]={configs:[{type:"reset",multiple:false,description:$,path:P}],description:undefined,simpleType:undefined,multiple:undefined}};const addFlag=(v,P)=>{const R=schemaToArgumentConfig(v[0].schema);if(!R)return 0;const $=getNegatedDescription(v);const N=pathToArgumentName(v[0].path);const L={...R,multiple:P,description:getDescription(v),path:v[0].path};if($){L.negatedDescription=$}if(!E[N]){E[N]={configs:[],description:undefined,simpleType:undefined,multiple:undefined}}if(E[N].configs.some((v=>JSON.stringify(v)===JSON.stringify(L)))){return 0}if(E[N].configs.some((v=>v.type===L.type&&v.multiple!==P))){if(P){throw new Error(`Conflicting schema for ${v[0].path} with ${L.type} type (array type must be before single item type)`)}return 0}E[N].configs.push(L);return 1};const traverse=(v,E="",P=[],R=null)=>{while(v.$ref){v=getSchemaPart(v.$ref)}const $=P.filter((({schema:E})=>E===v));if($.length>=2||$.some((({path:v})=>v===E))){return 0}if(v.cli&&v.cli.exclude)return 0;const N=[{schema:v,path:E},...P];let L=0;L+=addFlag(N,!!R);if(v.type==="object"){if(v.properties){for(const P of Object.keys(v.properties)){L+=traverse(v.properties[P],E?`${E}.${P}`:P,N,R)}}return L}if(v.type==="array"){if(R){return 0}if(Array.isArray(v.items)){let P=0;for(const R of v.items){L+=traverse(R,`${E}.${P}`,N,E)}return L}L+=traverse(v.items,`${E}[]`,N,E);if(L>0){addResetFlag(N);L++}return L}const q=v.oneOf||v.anyOf||v.allOf;if(q){const v=q;for(let P=0;P{if(!v)return E;if(!E)return v;if(v.includes(E))return v;return`${v} ${E}`}),undefined);P.simpleType=P.configs.reduce(((v,E)=>{let P="string";switch(E.type){case"number":P="number";break;case"reset":case"boolean":P="boolean";break;case"enum":if(E.values.every((v=>typeof v==="boolean")))P="boolean";if(E.values.every((v=>typeof v==="number")))P="number";break}if(v===undefined)return P;return v===P?v:"string"}),undefined);P.multiple=P.configs.some((v=>v.multiple))}return E};const N=new WeakMap;const getObjectAndProperty=(v,E,P=0)=>{if(!E)return{value:v};const R=E.split(".");let $=R.pop();let L=v;let q=0;for(const v of R){const E=v.endsWith("[]");const $=E?v.slice(0,-2):v;let K=L[$];if(E){if(K===undefined){K={};L[$]=[...Array.from({length:P}),K];N.set(L[$],P+1)}else if(!Array.isArray(K)){return{problem:{type:"unexpected-non-array-in-path",path:R.slice(0,q).join(".")}}}else{let v=N.get(K)||0;while(v<=P){K.push(undefined);v++}N.set(K,v);const E=K.length-v+P;if(K[E]===undefined){K[E]={}}else if(K[E]===null||typeof K[E]!=="object"){return{problem:{type:"unexpected-non-object-in-path",path:R.slice(0,q).join(".")}}}K=K[E]}}else{if(K===undefined){K=L[$]={}}else if(K===null||typeof K!=="object"){return{problem:{type:"unexpected-non-object-in-path",path:R.slice(0,q).join(".")}}}}L=K;q++}let K=L[$];if($.endsWith("[]")){const v=$.slice(0,-2);const R=L[v];if(R===undefined){L[v]=[...Array.from({length:P}),undefined];N.set(L[v],P+1);return{object:L[v],property:P,value:undefined}}else if(!Array.isArray(R)){L[v]=[R,...Array.from({length:P}),undefined];N.set(L[v],P+1);return{object:L[v],property:P+1,value:undefined}}else{let v=N.get(R)||0;while(v<=P){R.push(undefined);v++}N.set(R,v);const $=R.length-v+P;if(R[$]===undefined){R[$]={}}else if(R[$]===null||typeof R[$]!=="object"){return{problem:{type:"unexpected-non-object-in-path",path:E}}}return{object:R,property:$,value:R[$]}}}return{object:L,property:$,value:K}};const setValue=(v,E,P,R)=>{const{problem:$,object:N,property:L}=getObjectAndProperty(v,E,R);if($)return $;N[L]=P;return null};const processArgumentConfig=(v,E,P,R)=>{if(R!==undefined&&!v.multiple){return{type:"multiple-values-unexpected",path:v.path}}const $=parseValueForArgumentConfig(v,P);if($===undefined){return{type:"invalid-value",path:v.path,expected:getExpectedValue(v)}}const N=setValue(E,v.path,$,R);if(N)return N;return null};const getExpectedValue=v=>{switch(v.type){default:return v.type;case"boolean":return"true | false";case"RegExp":return"regular expression (example: /ab?c*/)";case"enum":return v.values.map((v=>`${v}`)).join(" | ");case"reset":return"true (will reset the previous value to an empty array)"}};const parseValueForArgumentConfig=(v,E)=>{switch(v.type){case"string":if(typeof E==="string"){return E}break;case"path":if(typeof E==="string"){return R.resolve(E)}break;case"number":if(typeof E==="number")return E;if(typeof E==="string"&&/^[+-]?\d*(\.\d*)[eE]\d+$/){const v=+E;if(!isNaN(v))return v}break;case"boolean":if(typeof E==="boolean")return E;if(E==="true")return true;if(E==="false")return false;break;case"RegExp":if(E instanceof RegExp)return E;if(typeof E==="string"){const v=/^\/(.*)\/([yugi]*)$/.exec(E);if(v&&!/[^\\]\//.test(v[1]))return new RegExp(v[1],v[2])}break;case"enum":if(v.values.includes(E))return E;for(const P of v.values){if(`${P}`===E)return P}break;case"reset":if(E===true)return[];break}};const processArguments=(v,E,P)=>{const R=[];for(const $ of Object.keys(P)){const N=v[$];if(!N){R.push({type:"unknown-argument",path:"",argument:$});continue}const processValue=(v,P)=>{const L=[];for(const R of N.configs){const N=processArgumentConfig(R,E,v,P);if(!N){return}L.push({...N,argument:$,value:v,index:P})}R.push(...L)};let L=P[$];if(Array.isArray(L)){for(let v=0;v{if(!v){return{}}if($.isAbsolute(v)){const[,E,P]=N.exec(v)||[];return{configPath:E,env:P}}const P=R.findConfig(E);if(P&&Object.keys(P).includes(v)){return{env:v}}return{query:v}};const load=(v,E)=>{const{configPath:P,env:$,query:N}=parse(v,E);const L=N?N:P?R.loadConfig({config:P,env:$}):R.loadConfig({path:E,env:$});if(!L)return;return R(L)};const resolve=v=>{const rawChecker=E=>v.every((v=>{const[P,R]=v.split(" ");if(!P)return false;const $=E[P];if(!$)return false;const[N,L]=R==="TP"?[Infinity,Infinity]:R.split(".");if(typeof $==="number"){return+N>=$}return $[0]===+N?+L>=$[1]:+N>$[0]}));const E=v.some((v=>/^node /.test(v)));const P=v.some((v=>/^(?!node)/.test(v)));const R=!P?false:E?null:true;const $=!E?false:P?null:true;const N=rawChecker({chrome:63,and_chr:63,edge:79,firefox:67,and_ff:67,opera:50,op_mob:46,safari:[11,1],ios_saf:[11,3],samsung:[8,2],android:63,and_qq:[10,4],kaios:[3,0],node:[12,17]});return{const:rawChecker({chrome:49,and_chr:49,edge:12,firefox:36,and_ff:36,opera:36,op_mob:36,safari:[10,0],ios_saf:[10,0],samsung:[5,0],android:37,and_qq:[10,4],and_uc:[12,12],kaios:[2,5],node:[6,0]}),arrowFunction:rawChecker({chrome:45,and_chr:45,edge:12,firefox:39,and_ff:39,opera:32,op_mob:32,safari:10,ios_saf:10,samsung:[5,0],android:45,and_qq:[10,4],baidu:[7,12],and_uc:[12,12],kaios:[2,5],node:[6,0]}),forOf:rawChecker({chrome:38,and_chr:38,edge:12,firefox:51,and_ff:51,opera:25,op_mob:25,safari:7,ios_saf:7,samsung:[3,0],android:38,kaios:[3,0],node:[0,12]}),destructuring:rawChecker({chrome:49,and_chr:49,edge:14,firefox:41,and_ff:41,opera:36,op_mob:36,safari:8,ios_saf:8,samsung:[5,0],android:49,kaios:[2,5],node:[6,0]}),bigIntLiteral:rawChecker({chrome:67,and_chr:67,edge:79,firefox:68,and_ff:68,opera:54,op_mob:48,safari:14,ios_saf:14,samsung:[9,2],android:67,kaios:[3,0],node:[10,4]}),module:rawChecker({chrome:61,and_chr:61,edge:16,firefox:60,and_ff:60,opera:48,op_mob:45,safari:[10,1],ios_saf:[10,3],samsung:[8,0],android:61,and_qq:[10,4],kaios:[3,0],node:[12,17]}),dynamicImport:N,dynamicImportInWorker:N&&!E,globalThis:rawChecker({chrome:71,and_chr:71,edge:79,firefox:65,and_ff:65,opera:58,op_mob:50,safari:[12,1],ios_saf:[12,2],samsung:[10,1],android:71,kaios:[3,0],node:12}),optionalChaining:rawChecker({chrome:80,and_chr:80,edge:80,firefox:74,and_ff:79,opera:67,op_mob:64,safari:[13,1],ios_saf:[13,4],samsung:13,android:80,kaios:[3,0],node:14}),templateLiteral:rawChecker({chrome:41,and_chr:41,edge:13,firefox:34,and_ff:34,opera:29,op_mob:64,safari:[9,1],ios_saf:9,samsung:4,android:41,and_qq:[10,4],baidu:[7,12],and_uc:[12,12],kaios:[2,5],node:4}),asyncFunction:rawChecker({chrome:55,and_chr:55,edge:15,firefox:52,and_ff:52,opera:42,op_mob:42,safari:[10,1],ios_saf:[10,3],samsung:6,android:55,node:[7,6]}),browser:R,electron:false,node:$,nwjs:false,web:R,webworker:false,document:R,fetchWasm:R,global:$,importScripts:false,importScriptsInWorker:true,nodeBuiltins:$,require:$}};v.exports={resolve:resolve,load:load}},28480:function(v,E,P){"use strict";const R=P(57147);const $=P(71017);const{JAVASCRIPT_MODULE_TYPE_AUTO:N,JSON_MODULE_TYPE:L,WEBASSEMBLY_MODULE_TYPE_ASYNC:q,JAVASCRIPT_MODULE_TYPE_ESM:K,JAVASCRIPT_MODULE_TYPE_DYNAMIC:ae,WEBASSEMBLY_MODULE_TYPE_SYNC:ge,ASSET_MODULE_TYPE:be,CSS_MODULE_TYPE_AUTO:xe,CSS_MODULE_TYPE:ve,CSS_MODULE_TYPE_MODULE:Ae}=P(98791);const Ie=P(35600);const{cleverMerge:He}=P(34218);const{getTargetsProperties:Qe,getTargetProperties:Je,getDefaultTarget:Ve}=P(92705);const Ke=/[\\/]node_modules[\\/]/i;const D=(v,E,P)=>{if(v[E]===undefined){v[E]=P}};const F=(v,E,P)=>{if(v[E]===undefined){v[E]=P()}};const A=(v,E,P)=>{const R=v[E];if(R===undefined){v[E]=P()}else if(Array.isArray(R)){let $=undefined;for(let N=0;N{F(v,"context",(()=>process.cwd()));applyInfrastructureLoggingDefaults(v.infrastructureLogging)};const applyWebpackOptionsDefaults=v=>{F(v,"context",(()=>process.cwd()));F(v,"target",(()=>Ve(v.context)));const{mode:E,name:R,target:$}=v;let N=$===false?false:typeof $==="string"?Je($,v.context):Qe($,v.context);const L=E==="development";const q=E==="production"||!E;if(typeof v.entry!=="function"){for(const E of Object.keys(v.entry)){F(v.entry[E],"import",(()=>["./src"]))}}F(v,"devtool",(()=>L?"eval":false));D(v,"watch",false);D(v,"profile",false);D(v,"parallelism",100);D(v,"recordsInputPath",false);D(v,"recordsOutputPath",false);applyExperimentsDefaults(v.experiments,{production:q,development:L,targetProperties:N});const K=v.experiments.futureDefaults;F(v,"cache",(()=>L?{type:"memory"}:false));applyCacheDefaults(v.cache,{name:R||"default",mode:E||"production",development:L,cacheUnaffected:v.experiments.cacheUnaffected});const ae=!!v.cache;applySnapshotDefaults(v.snapshot,{production:q,futureDefaults:K});applyModuleDefaults(v.module,{cache:ae,syncWebAssembly:v.experiments.syncWebAssembly,asyncWebAssembly:v.experiments.asyncWebAssembly,css:v.experiments.css,futureDefaults:K,isNode:N&&N.node===true,targetProperties:N});applyOutputDefaults(v.output,{context:v.context,targetProperties:N,isAffectedByBrowserslist:$===undefined||typeof $==="string"&&$.startsWith("browserslist")||Array.isArray($)&&$.some((v=>v.startsWith("browserslist"))),outputModule:v.experiments.outputModule,development:L,entry:v.entry,module:v.module,futureDefaults:K});applyExternalsPresetsDefaults(v.externalsPresets,{targetProperties:N,buildHttp:!!v.experiments.buildHttp});applyLoaderDefaults(v.loader,{targetProperties:N,environment:v.output.environment});F(v,"externalsType",(()=>{const E=P(6497).definitions.ExternalsType["enum"];return v.output.library&&E.includes(v.output.library.type)?v.output.library.type:v.output.module?"module":"var"}));applyNodeDefaults(v.node,{futureDefaults:v.experiments.futureDefaults,outputModule:v.output.module,targetProperties:N});F(v,"performance",(()=>q&&N&&(N.browser||N.browser===null)?{}:false));applyPerformanceDefaults(v.performance,{production:q});applyOptimizationDefaults(v.optimization,{development:L,production:q,css:v.experiments.css,records:!!(v.recordsInputPath||v.recordsOutputPath)});v.resolve=He(getResolveDefaults({cache:ae,context:v.context,targetProperties:N,mode:v.mode,css:v.experiments.css}),v.resolve);v.resolveLoader=He(getResolveLoaderDefaults({cache:ae}),v.resolveLoader)};const applyExperimentsDefaults=(v,{production:E,development:P,targetProperties:R})=>{D(v,"futureDefaults",false);D(v,"backCompat",!v.futureDefaults);D(v,"syncWebAssembly",false);D(v,"asyncWebAssembly",v.futureDefaults);D(v,"outputModule",false);D(v,"layers",false);D(v,"lazyCompilation",undefined);D(v,"buildHttp",undefined);D(v,"cacheUnaffected",v.futureDefaults);F(v,"css",(()=>v.futureDefaults?true:undefined));let $=true;if(typeof v.topLevelAwait==="boolean"){$=v.topLevelAwait}D(v,"topLevelAwait",$);if(typeof v.buildHttp==="object"){D(v.buildHttp,"frozen",E);D(v.buildHttp,"upgrade",false)}};const applyCacheDefaults=(v,{name:E,mode:P,development:N,cacheUnaffected:L})=>{if(v===false)return;switch(v.type){case"filesystem":F(v,"name",(()=>E+"-"+P));D(v,"version","");F(v,"cacheDirectory",(()=>{const v=process.cwd();let E=v;for(;;){try{if(R.statSync($.join(E,"package.json")).isFile())break}catch(v){}const v=$.dirname(E);if(E===v){E=undefined;break}E=v}if(!E){return $.resolve(v,".cache/webpack")}else if(process.versions.pnp==="1"){return $.resolve(E,".pnp/.cache/webpack")}else if(process.versions.pnp==="3"){return $.resolve(E,".yarn/.cache/webpack")}else{return $.resolve(E,"node_modules/.cache/webpack")}}));F(v,"cacheLocation",(()=>$.resolve(v.cacheDirectory,v.name)));D(v,"hashAlgorithm","md4");D(v,"store","pack");D(v,"compression",false);D(v,"profile",false);D(v,"idleTimeout",6e4);D(v,"idleTimeoutForInitialStore",5e3);D(v,"idleTimeoutAfterLargeChanges",1e3);D(v,"maxMemoryGenerations",N?5:Infinity);D(v,"maxAge",1e3*60*60*24*60);D(v,"allowCollectingMemory",N);D(v,"memoryCacheUnaffected",N&&L);D(v,"readonly",false);D(v.buildDependencies,"defaultWebpack",[$.resolve(__dirname,"..")+$.sep]);break;case"memory":D(v,"maxGenerations",Infinity);D(v,"cacheUnaffected",N&&L);break}};const applySnapshotDefaults=(v,{production:E,futureDefaults:P})=>{if(P){F(v,"managedPaths",(()=>process.versions.pnp==="3"?[/^(.+?(?:[\\/]\.yarn[\\/]unplugged[\\/][^\\/]+)?[\\/]node_modules[\\/])/]:[/^(.+?[\\/]node_modules[\\/])/]));F(v,"immutablePaths",(()=>process.versions.pnp==="3"?[/^(.+?[\\/]cache[\\/][^\\/]+\.zip[\\/]node_modules[\\/])/]:[]))}else{A(v,"managedPaths",(()=>{if(process.versions.pnp==="3"){const v=/^(.+?)[\\/]cache[\\/]watchpack-npm-[^\\/]+\.zip[\\/]node_modules[\\/]/.exec(36871);if(v){return[$.resolve(v[1],"unplugged")]}}else{const v=/^(.+?[\\/]node_modules[\\/])/.exec(36871);if(v){return[v[1]]}}return[]}));A(v,"immutablePaths",(()=>{if(process.versions.pnp==="1"){const v=/^(.+?[\\/]v4)[\\/]npm-watchpack-[^\\/]+-[\da-f]{40}[\\/]node_modules[\\/]/.exec(36871);if(v){return[v[1]]}}else if(process.versions.pnp==="3"){const v=/^(.+?)[\\/]watchpack-npm-[^\\/]+\.zip[\\/]node_modules[\\/]/.exec(36871);if(v){return[v[1]]}}return[]}))}F(v,"resolveBuildDependencies",(()=>({timestamp:true,hash:true})));F(v,"buildDependencies",(()=>({timestamp:true,hash:true})));F(v,"module",(()=>E?{timestamp:true,hash:true}:{timestamp:true}));F(v,"resolve",(()=>E?{timestamp:true,hash:true}:{timestamp:true}))};const applyJavascriptParserOptionsDefaults=(v,{futureDefaults:E,isNode:P})=>{D(v,"unknownContextRequest",".");D(v,"unknownContextRegExp",false);D(v,"unknownContextRecursive",true);D(v,"unknownContextCritical",true);D(v,"exprContextRequest",".");D(v,"exprContextRegExp",false);D(v,"exprContextRecursive",true);D(v,"exprContextCritical",true);D(v,"wrappedContextRegExp",/.*/);D(v,"wrappedContextRecursive",true);D(v,"wrappedContextCritical",false);D(v,"strictThisContextOnImports",false);D(v,"importMeta",true);D(v,"dynamicImportMode","lazy");D(v,"dynamicImportPrefetch",false);D(v,"dynamicImportPreload",false);D(v,"dynamicImportFetchPriority",false);D(v,"createRequire",P);if(E)D(v,"exportsPresence","error")};const applyCssGeneratorOptionsDefaults=(v,{targetProperties:E})=>{D(v,"exportsOnly",!E||!E.document)};const applyModuleDefaults=(v,{cache:E,syncWebAssembly:P,asyncWebAssembly:R,css:$,futureDefaults:Ie,isNode:He,targetProperties:Qe})=>{if(E){D(v,"unsafeCache",(v=>{const E=v.nameForCondition();return E&&Ke.test(E)}))}else{D(v,"unsafeCache",false)}F(v.parser,be,(()=>({})));F(v.parser.asset,"dataUrlCondition",(()=>({})));if(typeof v.parser.asset.dataUrlCondition==="object"){D(v.parser.asset.dataUrlCondition,"maxSize",8096)}F(v.parser,"javascript",(()=>({})));applyJavascriptParserOptionsDefaults(v.parser.javascript,{futureDefaults:Ie,isNode:He});if($){F(v.parser,"css",(()=>({})));D(v.parser.css,"namedExports",true);F(v.generator,"css",(()=>({})));applyCssGeneratorOptionsDefaults(v.generator.css,{targetProperties:Qe})}A(v,"defaultRules",(()=>{const v={type:K,resolve:{byDependency:{esm:{fullySpecified:true}}}};const E={type:ae};const be=[{mimetype:"application/node",type:N},{test:/\.json$/i,type:L},{mimetype:"application/json",type:L},{test:/\.mjs$/i,...v},{test:/\.js$/i,descriptionData:{type:"module"},...v},{test:/\.cjs$/i,...E},{test:/\.js$/i,descriptionData:{type:"commonjs"},...E},{mimetype:{or:["text/javascript","application/javascript"]},...v}];if(R){const v={type:q,rules:[{descriptionData:{type:"module"},resolve:{fullySpecified:true}}]};be.push({test:/\.wasm$/i,...v});be.push({mimetype:"application/wasm",...v})}else if(P){const v={type:ge,rules:[{descriptionData:{type:"module"},resolve:{fullySpecified:true}}]};be.push({test:/\.wasm$/i,...v});be.push({mimetype:"application/wasm",...v})}if($){const v={fullySpecified:true,preferRelative:true};be.push({test:/\.css$/i,type:xe,resolve:v});be.push({mimetype:"text/css+module",type:Ae,resolve:v});be.push({mimetype:"text/css",type:ve,resolve:v})}be.push({dependency:"url",oneOf:[{scheme:/^data$/,type:"asset/inline"},{type:"asset/resource"}]},{assert:{type:"json"},type:L});return be}))};const applyOutputDefaults=(v,{context:E,targetProperties:P,isAffectedByBrowserslist:N,outputModule:L,development:q,entry:K,module:ae,futureDefaults:ge})=>{const getLibraryName=v=>{const E=typeof v==="object"&&v&&!Array.isArray(v)&&"type"in v?v.name:v;if(Array.isArray(E)){return E.join(".")}else if(typeof E==="object"){return getLibraryName(E.root)}else if(typeof E==="string"){return E}return""};F(v,"uniqueName",(()=>{const P=getLibraryName(v.library).replace(/^\[(\\*[\w:]+\\*)\](\.)|(\.)\[(\\*[\w:]+\\*)\](?=\.|$)|\[(\\*[\w:]+\\*)\]/g,((v,E,P,R,$,N)=>{const L=E||$||N;return L.startsWith("\\")&&L.endsWith("\\")?`${R||""}[${L.slice(1,-1)}]${P||""}`:""}));if(P)return P;const N=$.resolve(E,"package.json");try{const v=JSON.parse(R.readFileSync(N,"utf-8"));return v.name||""}catch(v){if(v.code!=="ENOENT"){v.message+=`\nwhile determining default 'output.uniqueName' from 'name' in ${N}`;throw v}return""}}));F(v,"module",(()=>!!L));D(v,"filename",v.module?"[name].mjs":"[name].js");F(v,"iife",(()=>!v.module));D(v,"importFunctionName","import");D(v,"importMetaName","import.meta");F(v,"chunkFilename",(()=>{const E=v.filename;if(typeof E!=="function"){const v=E.includes("[name]");const P=E.includes("[id]");const R=E.includes("[chunkhash]");const $=E.includes("[contenthash]");if(R||$||v||P)return E;return E.replace(/(^|\/)([^/]*(?:\?|$))/,"$1[id].$2")}return v.module?"[id].mjs":"[id].js"}));F(v,"cssFilename",(()=>{const E=v.filename;if(typeof E!=="function"){return E.replace(/\.[mc]?js(\?|$)/,".css$1")}return"[id].css"}));F(v,"cssChunkFilename",(()=>{const E=v.chunkFilename;if(typeof E!=="function"){return E.replace(/\.[mc]?js(\?|$)/,".css$1")}return"[id].css"}));D(v,"assetModuleFilename","[hash][ext][query]");D(v,"webassemblyModuleFilename","[hash].module.wasm");D(v,"compareBeforeEmit",true);D(v,"charset",true);const be=Ie.toIdentifier(v.uniqueName);F(v,"hotUpdateGlobal",(()=>"webpackHotUpdate"+be));F(v,"chunkLoadingGlobal",(()=>"webpackChunk"+be));F(v,"globalObject",(()=>{if(P){if(P.global)return"global";if(P.globalThis)return"globalThis"}return"self"}));F(v,"chunkFormat",(()=>{if(P){const E=N?"Make sure that your 'browserslist' includes only platforms that support these features or select an appropriate 'target' to allow selecting a chunk format by default. Alternatively specify the 'output.chunkFormat' directly.":"Select an appropriate 'target' to allow selecting one by default, or specify the 'output.chunkFormat' directly.";if(v.module){if(P.dynamicImport)return"module";if(P.document)return"array-push";throw new Error("For the selected environment is no default ESM chunk format available:\n"+"ESM exports can be chosen when 'import()' is available.\n"+"JSONP Array push can be chosen when 'document' is available.\n"+E)}else{if(P.document)return"array-push";if(P.require)return"commonjs";if(P.nodeBuiltins)return"commonjs";if(P.importScripts)return"array-push";throw new Error("For the selected environment is no default script chunk format available:\n"+"JSONP Array push can be chosen when 'document' or 'importScripts' is available.\n"+"CommonJs exports can be chosen when 'require' or node builtins are available.\n"+E)}}throw new Error("Chunk format can't be selected by default when no target is specified")}));D(v,"asyncChunks",true);F(v,"chunkLoading",(()=>{if(P){switch(v.chunkFormat){case"array-push":if(P.document)return"jsonp";if(P.importScripts)return"import-scripts";break;case"commonjs":if(P.require)return"require";if(P.nodeBuiltins)return"async-node";break;case"module":if(P.dynamicImport)return"import";break}if(P.require===null||P.nodeBuiltins===null||P.document===null||P.importScripts===null){return"universal"}}return false}));F(v,"workerChunkLoading",(()=>{if(P){switch(v.chunkFormat){case"array-push":if(P.importScriptsInWorker)return"import-scripts";break;case"commonjs":if(P.require)return"require";if(P.nodeBuiltins)return"async-node";break;case"module":if(P.dynamicImportInWorker)return"import";break}if(P.require===null||P.nodeBuiltins===null||P.importScriptsInWorker===null){return"universal"}}return false}));F(v,"wasmLoading",(()=>{if(P){if(P.fetchWasm)return"fetch";if(P.nodeBuiltins)return v.module?"async-node-module":"async-node";if(P.nodeBuiltins===null||P.fetchWasm===null){return"universal"}}return false}));F(v,"workerWasmLoading",(()=>v.wasmLoading));F(v,"devtoolNamespace",(()=>v.uniqueName));if(v.library){F(v.library,"type",(()=>v.module?"module":"var"))}F(v,"path",(()=>$.join(process.cwd(),"dist")));F(v,"pathinfo",(()=>q));D(v,"sourceMapFilename","[file].map[query]");D(v,"hotUpdateChunkFilename",`[id].[fullhash].hot-update.${v.module?"mjs":"js"}`);D(v,"hotUpdateMainFilename","[runtime].[fullhash].hot-update.json");D(v,"crossOriginLoading",false);F(v,"scriptType",(()=>v.module?"module":false));D(v,"publicPath",P&&(P.document||P.importScripts)||v.scriptType==="module"?"auto":"");D(v,"workerPublicPath","");D(v,"chunkLoadTimeout",12e4);D(v,"hashFunction",ge?"xxhash64":"md4");D(v,"hashDigest","hex");D(v,"hashDigestLength",ge?16:20);D(v,"strictModuleErrorHandling",false);D(v,"strictModuleExceptionHandling",false);const xe=v.environment;const optimistic=v=>v||v===undefined;const conditionallyOptimistic=(v,E)=>v===undefined&&E||v;F(xe,"globalThis",(()=>P&&P.globalThis));F(xe,"bigIntLiteral",(()=>P&&P.bigIntLiteral));F(xe,"const",(()=>P&&optimistic(P.const)));F(xe,"arrowFunction",(()=>P&&optimistic(P.arrowFunction)));F(xe,"asyncFunction",(()=>P&&optimistic(P.asyncFunction)));F(xe,"forOf",(()=>P&&optimistic(P.forOf)));F(xe,"destructuring",(()=>P&&optimistic(P.destructuring)));F(xe,"optionalChaining",(()=>P&&optimistic(P.optionalChaining)));F(xe,"templateLiteral",(()=>P&&optimistic(P.templateLiteral)));F(xe,"dynamicImport",(()=>conditionallyOptimistic(P&&P.dynamicImport,v.module)));F(xe,"dynamicImportInWorker",(()=>conditionallyOptimistic(P&&P.dynamicImportInWorker,v.module)));F(xe,"module",(()=>conditionallyOptimistic(P&&P.module,v.module)));const{trustedTypes:ve}=v;if(ve){F(ve,"policyName",(()=>v.uniqueName.replace(/[^a-zA-Z0-9\-#=_/@.%]+/g,"_")||"webpack"));D(ve,"onPolicyCreationFailure","stop")}const forEachEntry=v=>{for(const E of Object.keys(K)){v(K[E])}};A(v,"enabledLibraryTypes",(()=>{const E=[];if(v.library){E.push(v.library.type)}forEachEntry((v=>{if(v.library){E.push(v.library.type)}}));return E}));A(v,"enabledChunkLoadingTypes",(()=>{const E=new Set;if(v.chunkLoading){E.add(v.chunkLoading)}if(v.workerChunkLoading){E.add(v.workerChunkLoading)}forEachEntry((v=>{if(v.chunkLoading){E.add(v.chunkLoading)}}));return Array.from(E)}));A(v,"enabledWasmLoadingTypes",(()=>{const E=new Set;if(v.wasmLoading){E.add(v.wasmLoading)}if(v.workerWasmLoading){E.add(v.workerWasmLoading)}forEachEntry((v=>{if(v.wasmLoading){E.add(v.wasmLoading)}}));return Array.from(E)}))};const applyExternalsPresetsDefaults=(v,{targetProperties:E,buildHttp:P})=>{D(v,"web",!P&&E&&E.web);D(v,"node",E&&E.node);D(v,"nwjs",E&&E.nwjs);D(v,"electron",E&&E.electron);D(v,"electronMain",E&&E.electron&&E.electronMain);D(v,"electronPreload",E&&E.electron&&E.electronPreload);D(v,"electronRenderer",E&&E.electron&&E.electronRenderer)};const applyLoaderDefaults=(v,{targetProperties:E,environment:P})=>{F(v,"target",(()=>{if(E){if(E.electron){if(E.electronMain)return"electron-main";if(E.electronPreload)return"electron-preload";if(E.electronRenderer)return"electron-renderer";return"electron"}if(E.nwjs)return"nwjs";if(E.node)return"node";if(E.web)return"web"}}));D(v,"environment",P)};const applyNodeDefaults=(v,{futureDefaults:E,outputModule:P,targetProperties:R})=>{if(v===false)return;F(v,"global",(()=>{if(R&&R.global)return false;return E?"warn":true}));const handlerForNames=()=>{if(R&&R.node)return P?"node-module":"eval-only";return E?"warn-mock":"mock"};F(v,"__filename",handlerForNames);F(v,"__dirname",handlerForNames)};const applyPerformanceDefaults=(v,{production:E})=>{if(v===false)return;D(v,"maxAssetSize",25e4);D(v,"maxEntrypointSize",25e4);F(v,"hints",(()=>E?"warning":false))};const applyOptimizationDefaults=(v,{production:E,development:R,css:$,records:N})=>{D(v,"removeAvailableModules",false);D(v,"removeEmptyChunks",true);D(v,"mergeDuplicateChunks",true);D(v,"flagIncludedChunks",E);F(v,"moduleIds",(()=>{if(E)return"deterministic";if(R)return"named";return"natural"}));F(v,"chunkIds",(()=>{if(E)return"deterministic";if(R)return"named";return"natural"}));F(v,"sideEffects",(()=>E?true:"flag"));D(v,"providedExports",true);D(v,"usedExports",E);D(v,"innerGraph",E);D(v,"mangleExports",E);D(v,"concatenateModules",E);D(v,"runtimeChunk",false);D(v,"emitOnErrors",!E);D(v,"checkWasmTypes",E);D(v,"mangleWasmImports",false);D(v,"portableRecords",N);D(v,"realContentHash",E);D(v,"minimize",E);A(v,"minimizer",(()=>[{apply:v=>{const E=P(38107);new E({terserOptions:{compress:{passes:2}}}).apply(v)}}]));F(v,"nodeEnv",(()=>{if(E)return"production";if(R)return"development";return false}));const{splitChunks:L}=v;if(L){A(L,"defaultSizeTypes",(()=>$?["javascript","css","unknown"]:["javascript","unknown"]));D(L,"hidePathInfo",E);D(L,"chunks","async");D(L,"usedExports",v.usedExports===true);D(L,"minChunks",1);F(L,"minSize",(()=>E?2e4:1e4));F(L,"minRemainingSize",(()=>R?0:undefined));F(L,"enforceSizeThreshold",(()=>E?5e4:3e4));F(L,"maxAsyncRequests",(()=>E?30:Infinity));F(L,"maxInitialRequests",(()=>E?30:Infinity));D(L,"automaticNameDelimiter","-");const P=L.cacheGroups;F(P,"default",(()=>({idHint:"",reuseExistingChunk:true,minChunks:2,priority:-20})));F(P,"defaultVendors",(()=>({idHint:"vendors",reuseExistingChunk:true,test:Ke,priority:-10})))}};const getResolveDefaults=({cache:v,context:E,targetProperties:P,mode:R,css:$})=>{const N=["webpack"];N.push(R==="development"?"development":"production");if(P){if(P.webworker)N.push("worker");if(P.node)N.push("node");if(P.web)N.push("browser");if(P.electron)N.push("electron");if(P.nwjs)N.push("nwjs")}const L=[".js",".json",".wasm"];const q=P;const K=q&&q.web&&(!q.node||q.electron&&q.electronRenderer);const cjsDeps=()=>({aliasFields:K?["browser"]:[],mainFields:K?["browser","module","..."]:["module","..."],conditionNames:["require","module","..."],extensions:[...L]});const esmDeps=()=>({aliasFields:K?["browser"]:[],mainFields:K?["browser","module","..."]:["module","..."],conditionNames:["import","module","..."],extensions:[...L]});const ae={cache:v,modules:["node_modules"],conditionNames:N,mainFiles:["index"],extensions:[],aliasFields:[],exportsFields:["exports"],roots:[E],mainFields:["main"],byDependency:{wasm:esmDeps(),esm:esmDeps(),loaderImport:esmDeps(),url:{preferRelative:true},worker:{...esmDeps(),preferRelative:true},commonjs:cjsDeps(),amd:cjsDeps(),loader:cjsDeps(),unknown:cjsDeps(),undefined:cjsDeps()}};if($){const v=[];v.push("webpack");v.push(R==="development"?"development":"production");v.push("style");ae.byDependency["css-import"]={mainFiles:[],mainFields:["style","..."],conditionNames:v,extensions:[".css"],preferRelative:true}}return ae};const getResolveLoaderDefaults=({cache:v})=>{const E={cache:v,conditionNames:["loader","require","node"],exportsFields:["exports"],mainFields:["loader","main"],extensions:[".js"],mainFiles:["index"]};return E};const applyInfrastructureLoggingDefaults=v=>{F(v,"stream",(()=>process.stderr));const E=v.stream.isTTY&&process.env.TERM!=="dumb";D(v,"level","info");D(v,"debug",false);D(v,"colors",E);D(v,"appendOnly",!E)};E.applyWebpackOptionsBaseDefaults=applyWebpackOptionsBaseDefaults;E.applyWebpackOptionsDefaults=applyWebpackOptionsDefaults},35440:function(v,E,P){"use strict";const R=P(73837);const $=R.deprecate(((v,E)=>{if(E!==undefined&&!v===!E){throw new Error("Conflicting use of 'optimization.noEmitOnErrors' and 'optimization.emitOnErrors'. Remove deprecated 'optimization.noEmitOnErrors' from config.")}return!v}),"optimization.noEmitOnErrors is deprecated in favor of optimization.emitOnErrors","DEP_WEBPACK_CONFIGURATION_OPTIMIZATION_NO_EMIT_ON_ERRORS");const nestedConfig=(v,E)=>v===undefined?E({}):E(v);const cloneObject=v=>({...v});const optionalNestedConfig=(v,E)=>v===undefined?undefined:E(v);const nestedArray=(v,E)=>Array.isArray(v)?E(v):E([]);const optionalNestedArray=(v,E)=>Array.isArray(v)?E(v):undefined;const keyedNestedConfig=(v,E,P)=>{const R=v===undefined?{}:Object.keys(v).reduce(((R,$)=>(R[$]=(P&&$ in P?P[$]:E)(v[$]),R)),{});if(P){for(const v of Object.keys(P)){if(!(v in R)){R[v]=P[v]({})}}}return R};const getNormalizedWebpackOptions=v=>({amd:v.amd,bail:v.bail,cache:optionalNestedConfig(v.cache,(v=>{if(v===false)return false;if(v===true){return{type:"memory",maxGenerations:undefined}}switch(v.type){case"filesystem":return{type:"filesystem",allowCollectingMemory:v.allowCollectingMemory,maxMemoryGenerations:v.maxMemoryGenerations,maxAge:v.maxAge,profile:v.profile,buildDependencies:cloneObject(v.buildDependencies),cacheDirectory:v.cacheDirectory,cacheLocation:v.cacheLocation,hashAlgorithm:v.hashAlgorithm,compression:v.compression,idleTimeout:v.idleTimeout,idleTimeoutForInitialStore:v.idleTimeoutForInitialStore,idleTimeoutAfterLargeChanges:v.idleTimeoutAfterLargeChanges,name:v.name,store:v.store,version:v.version,readonly:v.readonly};case undefined:case"memory":return{type:"memory",maxGenerations:v.maxGenerations};default:throw new Error(`Not implemented cache.type ${v.type}`)}})),context:v.context,dependencies:v.dependencies,devServer:optionalNestedConfig(v.devServer,(v=>{if(v===false)return false;return{...v}})),devtool:v.devtool,entry:v.entry===undefined?{main:{}}:typeof v.entry==="function"?(v=>()=>Promise.resolve().then(v).then(getNormalizedEntryStatic))(v.entry):getNormalizedEntryStatic(v.entry),experiments:nestedConfig(v.experiments,(v=>({...v,buildHttp:optionalNestedConfig(v.buildHttp,(v=>Array.isArray(v)?{allowedUris:v}:v)),lazyCompilation:optionalNestedConfig(v.lazyCompilation,(v=>v===true?{}:v))}))),externals:v.externals,externalsPresets:cloneObject(v.externalsPresets),externalsType:v.externalsType,ignoreWarnings:v.ignoreWarnings?v.ignoreWarnings.map((v=>{if(typeof v==="function")return v;const E=v instanceof RegExp?{message:v}:v;return(v,{requestShortener:P})=>{if(!E.message&&!E.module&&!E.file)return false;if(E.message&&!E.message.test(v.message)){return false}if(E.module&&(!v.module||!E.module.test(v.module.readableIdentifier(P)))){return false}if(E.file&&(!v.file||!E.file.test(v.file))){return false}return true}})):undefined,infrastructureLogging:cloneObject(v.infrastructureLogging),loader:cloneObject(v.loader),mode:v.mode,module:nestedConfig(v.module,(v=>({noParse:v.noParse,unsafeCache:v.unsafeCache,parser:keyedNestedConfig(v.parser,cloneObject,{javascript:E=>({unknownContextRequest:v.unknownContextRequest,unknownContextRegExp:v.unknownContextRegExp,unknownContextRecursive:v.unknownContextRecursive,unknownContextCritical:v.unknownContextCritical,exprContextRequest:v.exprContextRequest,exprContextRegExp:v.exprContextRegExp,exprContextRecursive:v.exprContextRecursive,exprContextCritical:v.exprContextCritical,wrappedContextRegExp:v.wrappedContextRegExp,wrappedContextRecursive:v.wrappedContextRecursive,wrappedContextCritical:v.wrappedContextCritical,strictExportPresence:v.strictExportPresence,strictThisContextOnImports:v.strictThisContextOnImports,...E})}),generator:cloneObject(v.generator),defaultRules:optionalNestedArray(v.defaultRules,(v=>[...v])),rules:nestedArray(v.rules,(v=>[...v]))}))),name:v.name,node:nestedConfig(v.node,(v=>v&&{...v})),optimization:nestedConfig(v.optimization,(v=>({...v,runtimeChunk:getNormalizedOptimizationRuntimeChunk(v.runtimeChunk),splitChunks:nestedConfig(v.splitChunks,(v=>v&&{...v,defaultSizeTypes:v.defaultSizeTypes?[...v.defaultSizeTypes]:["..."],cacheGroups:cloneObject(v.cacheGroups)})),emitOnErrors:v.noEmitOnErrors!==undefined?$(v.noEmitOnErrors,v.emitOnErrors):v.emitOnErrors}))),output:nestedConfig(v.output,(v=>{const{library:E}=v;const P=E;const R=typeof E==="object"&&E&&!Array.isArray(E)&&"type"in E?E:P||v.libraryTarget?{name:P}:undefined;const $={assetModuleFilename:v.assetModuleFilename,asyncChunks:v.asyncChunks,charset:v.charset,chunkFilename:v.chunkFilename,chunkFormat:v.chunkFormat,chunkLoading:v.chunkLoading,chunkLoadingGlobal:v.chunkLoadingGlobal,chunkLoadTimeout:v.chunkLoadTimeout,cssFilename:v.cssFilename,cssChunkFilename:v.cssChunkFilename,clean:v.clean,compareBeforeEmit:v.compareBeforeEmit,crossOriginLoading:v.crossOriginLoading,devtoolFallbackModuleFilenameTemplate:v.devtoolFallbackModuleFilenameTemplate,devtoolModuleFilenameTemplate:v.devtoolModuleFilenameTemplate,devtoolNamespace:v.devtoolNamespace,environment:cloneObject(v.environment),enabledChunkLoadingTypes:v.enabledChunkLoadingTypes?[...v.enabledChunkLoadingTypes]:["..."],enabledLibraryTypes:v.enabledLibraryTypes?[...v.enabledLibraryTypes]:["..."],enabledWasmLoadingTypes:v.enabledWasmLoadingTypes?[...v.enabledWasmLoadingTypes]:["..."],filename:v.filename,globalObject:v.globalObject,hashDigest:v.hashDigest,hashDigestLength:v.hashDigestLength,hashFunction:v.hashFunction,hashSalt:v.hashSalt,hotUpdateChunkFilename:v.hotUpdateChunkFilename,hotUpdateGlobal:v.hotUpdateGlobal,hotUpdateMainFilename:v.hotUpdateMainFilename,ignoreBrowserWarnings:v.ignoreBrowserWarnings,iife:v.iife,importFunctionName:v.importFunctionName,importMetaName:v.importMetaName,scriptType:v.scriptType,library:R&&{type:v.libraryTarget!==undefined?v.libraryTarget:R.type,auxiliaryComment:v.auxiliaryComment!==undefined?v.auxiliaryComment:R.auxiliaryComment,amdContainer:v.amdContainer!==undefined?v.amdContainer:R.amdContainer,export:v.libraryExport!==undefined?v.libraryExport:R.export,name:R.name,umdNamedDefine:v.umdNamedDefine!==undefined?v.umdNamedDefine:R.umdNamedDefine},module:v.module,path:v.path,pathinfo:v.pathinfo,publicPath:v.publicPath,sourceMapFilename:v.sourceMapFilename,sourcePrefix:v.sourcePrefix,strictModuleErrorHandling:v.strictModuleErrorHandling,strictModuleExceptionHandling:v.strictModuleExceptionHandling,trustedTypes:optionalNestedConfig(v.trustedTypes,(v=>{if(v===true)return{};if(typeof v==="string")return{policyName:v};return{...v}})),uniqueName:v.uniqueName,wasmLoading:v.wasmLoading,webassemblyModuleFilename:v.webassemblyModuleFilename,workerPublicPath:v.workerPublicPath,workerChunkLoading:v.workerChunkLoading,workerWasmLoading:v.workerWasmLoading};return $})),parallelism:v.parallelism,performance:optionalNestedConfig(v.performance,(v=>{if(v===false)return false;return{...v}})),plugins:nestedArray(v.plugins,(v=>[...v])),profile:v.profile,recordsInputPath:v.recordsInputPath!==undefined?v.recordsInputPath:v.recordsPath,recordsOutputPath:v.recordsOutputPath!==undefined?v.recordsOutputPath:v.recordsPath,resolve:nestedConfig(v.resolve,(v=>({...v,byDependency:keyedNestedConfig(v.byDependency,cloneObject)}))),resolveLoader:cloneObject(v.resolveLoader),snapshot:nestedConfig(v.snapshot,(v=>({resolveBuildDependencies:optionalNestedConfig(v.resolveBuildDependencies,(v=>({timestamp:v.timestamp,hash:v.hash}))),buildDependencies:optionalNestedConfig(v.buildDependencies,(v=>({timestamp:v.timestamp,hash:v.hash}))),resolve:optionalNestedConfig(v.resolve,(v=>({timestamp:v.timestamp,hash:v.hash}))),module:optionalNestedConfig(v.module,(v=>({timestamp:v.timestamp,hash:v.hash}))),immutablePaths:optionalNestedArray(v.immutablePaths,(v=>[...v])),managedPaths:optionalNestedArray(v.managedPaths,(v=>[...v]))}))),stats:nestedConfig(v.stats,(v=>{if(v===false){return{preset:"none"}}if(v===true){return{preset:"normal"}}if(typeof v==="string"){return{preset:v}}return{...v}})),target:v.target,watch:v.watch,watchOptions:cloneObject(v.watchOptions)});const getNormalizedEntryStatic=v=>{if(typeof v==="string"){return{main:{import:[v]}}}if(Array.isArray(v)){return{main:{import:v}}}const E={};for(const P of Object.keys(v)){const R=v[P];if(typeof R==="string"){E[P]={import:[R]}}else if(Array.isArray(R)){E[P]={import:R}}else{E[P]={import:R.import&&(Array.isArray(R.import)?R.import:[R.import]),filename:R.filename,layer:R.layer,runtime:R.runtime,baseUri:R.baseUri,publicPath:R.publicPath,chunkLoading:R.chunkLoading,asyncChunks:R.asyncChunks,wasmLoading:R.wasmLoading,dependOn:R.dependOn&&(Array.isArray(R.dependOn)?R.dependOn:[R.dependOn]),library:R.library}}}return E};const getNormalizedOptimizationRuntimeChunk=v=>{if(v===undefined)return undefined;if(v===false)return false;if(v==="single"){return{name:()=>"runtime"}}if(v===true||v==="multiple"){return{name:v=>`runtime~${v.name}`}}const{name:E}=v;return{name:typeof E==="function"?E:()=>E}};E.getNormalizedWebpackOptions=getNormalizedWebpackOptions},92705:function(v,E,P){"use strict";const R=P(49584);const $=R((()=>P(98588)));const getDefaultTarget=v=>{const E=$().load(null,v);return E?"browserslist":"web"};const versionDependent=(v,E)=>{if(!v){return()=>undefined}const P=+v;const R=E?+E:0;return(v,E=0)=>P>v||P===v&&R>=E};const N=[["browserslist / browserslist:env / browserslist:query / browserslist:path-to-config / browserslist:path-to-config:env","Resolve features from browserslist. Will resolve browserslist config automatically. Only browser or node queries are supported (electron is not supported). Examples: 'browserslist:modern' to use 'modern' environment from browserslist config",/^browserslist(?::(.+))?$/,(v,E)=>{const P=$();const R=P.load(v?v.trim():null,E);if(!R){throw new Error(`No browserslist config found to handle the 'browserslist' target.\nSee https://github.com/browserslist/browserslist#queries for possible ways to provide a config.\nThe recommended way is to add a 'browserslist' key to your package.json and list supported browsers (resp. node.js versions).\nYou can also more options via the 'target' option: 'browserslist' / 'browserslist:env' / 'browserslist:query' / 'browserslist:path-to-config' / 'browserslist:path-to-config:env'`)}return P.resolve(R)}],["web","Web browser.",/^web$/,()=>({web:true,browser:true,webworker:null,node:false,electron:false,nwjs:false,document:true,importScriptsInWorker:true,fetchWasm:true,nodeBuiltins:false,importScripts:false,require:false,global:false})],["webworker","Web Worker, SharedWorker or Service Worker.",/^webworker$/,()=>({web:true,browser:true,webworker:true,node:false,electron:false,nwjs:false,importScripts:true,importScriptsInWorker:true,fetchWasm:true,nodeBuiltins:false,require:false,document:false,global:false})],["[async-]node[X[.Y]]","Node.js in version X.Y. The 'async-' prefix will load chunks asynchronously via 'fs' and 'vm' instead of 'require()'. Examples: node14.5, async-node10.",/^(async-)?node(\d+(?:\.(\d+))?)?$/,(v,E,P)=>{const R=versionDependent(E,P);return{node:true,electron:false,nwjs:false,web:false,webworker:false,browser:false,require:!v,nodeBuiltins:true,global:true,document:false,fetchWasm:false,importScripts:false,importScriptsInWorker:false,globalThis:R(12),const:R(6),templateLiteral:R(4),optionalChaining:R(14),arrowFunction:R(6),asyncFunction:R(7,6),forOf:R(5),destructuring:R(6),bigIntLiteral:R(10,4),dynamicImport:R(12,17),dynamicImportInWorker:E?false:undefined,module:R(12,17)}}],["electron[X[.Y]]-main/preload/renderer","Electron in version X.Y. Script is running in main, preload resp. renderer context.",/^electron(\d+(?:\.(\d+))?)?-(main|preload|renderer)$/,(v,E,P)=>{const R=versionDependent(v,E);return{node:true,electron:true,web:P!=="main",webworker:false,browser:false,nwjs:false,electronMain:P==="main",electronPreload:P==="preload",electronRenderer:P==="renderer",global:true,nodeBuiltins:true,require:true,document:P==="renderer",fetchWasm:P==="renderer",importScripts:false,importScriptsInWorker:true,globalThis:R(5),const:R(1,1),templateLiteral:R(1,1),optionalChaining:R(8),arrowFunction:R(1,1),asyncFunction:R(1,7),forOf:R(0,36),destructuring:R(1,1),bigIntLiteral:R(4),dynamicImport:R(11),dynamicImportInWorker:v?false:undefined,module:R(11)}}],["nwjs[X[.Y]] / node-webkit[X[.Y]]","NW.js in version X.Y.",/^(?:nwjs|node-webkit)(\d+(?:\.(\d+))?)?$/,(v,E)=>{const P=versionDependent(v,E);return{node:true,web:true,nwjs:true,webworker:null,browser:false,electron:false,global:true,nodeBuiltins:true,document:false,importScriptsInWorker:false,fetchWasm:false,importScripts:false,require:false,globalThis:P(0,43),const:P(0,15),templateLiteral:P(0,13),optionalChaining:P(0,44),arrowFunction:P(0,15),asyncFunction:P(0,21),forOf:P(0,13),destructuring:P(0,15),bigIntLiteral:P(0,32),dynamicImport:P(0,43),dynamicImportInWorker:v?false:undefined,module:P(0,43)}}],["esX","EcmaScript in this version. Examples: es2020, es5.",/^es(\d+)$/,v=>{let E=+v;if(E<1e3)E=E+2009;return{const:E>=2015,templateLiteral:E>=2015,optionalChaining:E>=2020,arrowFunction:E>=2015,forOf:E>=2015,destructuring:E>=2015,module:E>=2015,asyncFunction:E>=2017,globalThis:E>=2020,bigIntLiteral:E>=2020,dynamicImport:E>=2020,dynamicImportInWorker:E>=2020}}]];const getTargetProperties=(v,E)=>{for(const[,,P,R]of N){const $=P.exec(v);if($){const[,...v]=$;const P=R(...v,E);if(P)return P}}throw new Error(`Unknown target '${v}'. The following targets are supported:\n${N.map((([v,E])=>`* ${v}: ${E}`)).join("\n")}`)};const mergeTargetProperties=v=>{const E=new Set;for(const P of v){for(const v of Object.keys(P)){E.add(v)}}const P={};for(const R of E){let E=false;let $=false;for(const P of v){const v=P[R];switch(v){case true:E=true;break;case false:$=true;break}}if(E||$)P[R]=$&&E?null:E?true:false}return P};const getTargetsProperties=(v,E)=>mergeTargetProperties(v.map((v=>getTargetProperties(v,E))));E.getDefaultTarget=getDefaultTarget;E.getTargetProperties=getTargetProperties;E.getTargetsProperties=getTargetsProperties},37242:function(v,E,P){"use strict";const R=P(61803);const $=P(74364);class ContainerEntryDependency extends R{constructor(v,E,P){super();this.name=v;this.exposes=E;this.shareScope=P}getResourceIdentifier(){return`container-entry-${this.name}`}get type(){return"container entry"}get category(){return"esm"}}$(ContainerEntryDependency,"webpack/lib/container/ContainerEntryDependency");v.exports=ContainerEntryDependency},75548:function(v,E,P){"use strict";const{OriginalSource:R,RawSource:$}=P(51255);const N=P(75165);const L=P(82919);const{JAVASCRIPT_MODULE_TYPE_DYNAMIC:q}=P(98791);const K=P(75189);const ae=P(35600);const ge=P(88929);const be=P(74364);const xe=P(70692);const ve=new Set(["javascript"]);class ContainerEntryModule extends L{constructor(v,E,P){super(q,null);this._name=v;this._exposes=E;this._shareScope=P}getSourceTypes(){return ve}identifier(){return`container entry (${this._shareScope}) ${JSON.stringify(this._exposes)}`}readableIdentifier(v){return`container entry`}libIdent(v){return`${this.layer?`(${this.layer})/`:""}webpack/container/entry/${this._name}`}needBuild(v,E){return E(null,!this.buildMeta)}build(v,E,P,R,$){this.buildMeta={};this.buildInfo={strict:true,topLevelDeclarations:new Set(["moduleMap","get","init"])};this.buildMeta.exportsType="namespace";this.clearDependenciesAndBlocks();for(const[v,E]of this._exposes){const P=new N({name:E.name},{name:v},E.import[E.import.length-1]);let R=0;for(const $ of E.import){const E=new xe(v,$);E.loc={name:v,index:R++};P.addDependency(E)}this.addBlock(P)}this.addDependency(new ge(["get","init"],false));$()}codeGeneration({moduleGraph:v,chunkGraph:E,runtimeTemplate:P}){const N=new Map;const L=new Set([K.definePropertyGetters,K.hasOwnProperty,K.exports]);const q=[];for(const R of this.blocks){const{dependencies:$}=R;const N=$.map((E=>{const P=E;return{name:P.exposedName,module:v.getModule(P),request:P.userRequest}}));let K;if(N.some((v=>!v.module))){K=P.throwMissingModuleErrorBlock({request:N.map((v=>v.request)).join(", ")})}else{K=`return ${P.blockPromise({block:R,message:"",chunkGraph:E,runtimeRequirements:L})}.then(${P.returningFunction(P.returningFunction(`(${N.map((({module:v,request:R})=>P.moduleRaw({module:v,chunkGraph:E,request:R,weak:false,runtimeRequirements:L}))).join(", ")})`))});`}q.push(`${JSON.stringify(N[0].name)}: ${P.basicFunction("",K)}`)}const ge=ae.asString([`var moduleMap = {`,ae.indent(q.join(",\n")),"};",`var get = ${P.basicFunction("module, getScope",[`${K.currentRemoteGetScope} = getScope;`,"getScope = (",ae.indent([`${K.hasOwnProperty}(moduleMap, module)`,ae.indent(["? moduleMap[module]()",`: Promise.resolve().then(${P.basicFunction("","throw new Error('Module \"' + module + '\" does not exist in container.');")})`])]),");",`${K.currentRemoteGetScope} = undefined;`,"return getScope;"])};`,`var init = ${P.basicFunction("shareScope, initScope",[`if (!${K.shareScopeMap}) return;`,`var name = ${JSON.stringify(this._shareScope)}`,`var oldScope = ${K.shareScopeMap}[name];`,`if(oldScope && oldScope !== shareScope) throw new Error("Container initialization failed as it has already been initialized with a different share scope");`,`${K.shareScopeMap}[name] = shareScope;`,`return ${K.initializeSharing}(name, initScope);`])};`,"","// This exports getters to disallow modifications",`${K.definePropertyGetters}(exports, {`,ae.indent([`get: ${P.returningFunction("get")},`,`init: ${P.returningFunction("init")}`]),"});"]);N.set("javascript",this.useSourceMap||this.useSimpleSourceMap?new R(ge,"webpack/container-entry"):new $(ge));return{sources:N,runtimeRequirements:L}}size(v){return 42}serialize(v){const{write:E}=v;E(this._name);E(this._exposes);E(this._shareScope);super.serialize(v)}static deserialize(v){const{read:E}=v;const P=new ContainerEntryModule(E(),E(),E());P.deserialize(v);return P}}be(ContainerEntryModule,"webpack/lib/container/ContainerEntryModule");v.exports=ContainerEntryModule},53514:function(v,E,P){"use strict";const R=P(18769);const $=P(75548);v.exports=class ContainerEntryModuleFactory extends R{create({dependencies:[v]},E){const P=v;E(null,{module:new $(P.name,P.exposes,P.shareScope)})}}},70692:function(v,E,P){"use strict";const R=P(52743);const $=P(74364);class ContainerExposedDependency extends R{constructor(v,E){super(E);this.exposedName=v}get type(){return"container exposed"}get category(){return"esm"}getResourceIdentifier(){return`exposed dependency ${this.exposedName}=${this.request}`}serialize(v){v.write(this.exposedName);super.serialize(v)}deserialize(v){this.exposedName=v.read();super.deserialize(v)}}$(ContainerExposedDependency,"webpack/lib/container/ContainerExposedDependency");v.exports=ContainerExposedDependency},60231:function(v,E,P){"use strict";const R=P(86278);const $=P(37242);const N=P(53514);const L=P(70692);const{parseOptions:q}=P(48029);const K=R(P(64163),(()=>P(54572)),{name:"Container Plugin",baseDataPath:"options"});const ae="ContainerPlugin";class ContainerPlugin{constructor(v){K(v);this._options={name:v.name,shareScope:v.shareScope||"default",library:v.library||{type:"var",name:v.name},runtime:v.runtime,filename:v.filename||undefined,exposes:q(v.exposes,(v=>({import:Array.isArray(v)?v:[v],name:undefined})),(v=>({import:Array.isArray(v.import)?v.import:[v.import],name:v.name||undefined})))}}apply(v){const{name:E,exposes:P,shareScope:R,filename:q,library:K,runtime:ge}=this._options;if(!v.options.output.enabledLibraryTypes.includes(K.type)){v.options.output.enabledLibraryTypes.push(K.type)}v.hooks.make.tapAsync(ae,((v,N)=>{const L=new $(E,P,R);L.loc={name:E};v.addEntry(v.options.context,L,{name:E,filename:q,runtime:ge,library:K},(v=>{if(v)return N(v);N()}))}));v.hooks.thisCompilation.tap(ae,((v,{normalModuleFactory:E})=>{v.dependencyFactories.set($,new N);v.dependencyFactories.set(L,E)}))}}v.exports=ContainerPlugin},90052:function(v,E,P){"use strict";const R=P(24752);const $=P(75189);const N=P(86278);const L=P(62664);const q=P(10431);const K=P(92432);const ae=P(1883);const ge=P(46701);const be=P(57268);const{parseOptions:xe}=P(48029);const ve=N(P(83491),(()=>P(59410)),{name:"Container Reference Plugin",baseDataPath:"options"});const Ae="/".charCodeAt(0);class ContainerReferencePlugin{constructor(v){ve(v);this._remoteType=v.remoteType;this._remotes=xe(v.remotes,(E=>({external:Array.isArray(E)?E:[E],shareScope:v.shareScope||"default"})),(E=>({external:Array.isArray(E.external)?E.external:[E.external],shareScope:E.shareScope||v.shareScope||"default"})))}apply(v){const{_remotes:E,_remoteType:P}=this;const N={};for(const[v,P]of E){let E=0;for(const R of P.external){if(R.startsWith("internal "))continue;N[`webpack/container/reference/${v}${E?`/fallback-${E}`:""}`]=R;E++}}new R(P,N).apply(v);v.hooks.compilation.tap("ContainerReferencePlugin",((v,{normalModuleFactory:P})=>{v.dependencyFactories.set(be,P);v.dependencyFactories.set(q,P);v.dependencyFactories.set(L,new K);P.hooks.factorize.tap("ContainerReferencePlugin",(v=>{if(!v.request.includes("!")){for(const[P,R]of E){if(v.request.startsWith(`${P}`)&&(v.request.length===P.length||v.request.charCodeAt(P.length)===Ae)){return new ae(v.request,R.external.map(((v,E)=>v.startsWith("internal ")?v.slice(9):`webpack/container/reference/${P}${E?`/fallback-${E}`:""}`)),`.${v.request.slice(P.length)}`,R.shareScope)}}}}));v.hooks.runtimeRequirementInTree.for($.ensureChunkHandlers).tap("ContainerReferencePlugin",((E,P)=>{P.add($.module);P.add($.moduleFactoriesAddOnly);P.add($.hasOwnProperty);P.add($.initializeSharing);P.add($.shareScopeMap);v.addRuntimeModule(E,new ge)}))}))}}v.exports=ContainerReferencePlugin},62664:function(v,E,P){"use strict";const R=P(61803);const $=P(74364);class FallbackDependency extends R{constructor(v){super();this.requests=v}getResourceIdentifier(){return`fallback ${this.requests.join(" ")}`}get type(){return"fallback"}get category(){return"esm"}serialize(v){const{write:E}=v;E(this.requests);super.serialize(v)}static deserialize(v){const{read:E}=v;const P=new FallbackDependency(E());P.deserialize(v);return P}}$(FallbackDependency,"webpack/lib/container/FallbackDependency");v.exports=FallbackDependency},10431:function(v,E,P){"use strict";const R=P(52743);const $=P(74364);class FallbackItemDependency extends R{constructor(v){super(v)}get type(){return"fallback item"}get category(){return"esm"}}$(FallbackItemDependency,"webpack/lib/container/FallbackItemDependency");v.exports=FallbackItemDependency},58791:function(v,E,P){"use strict";const{RawSource:R}=P(51255);const $=P(82919);const{WEBPACK_MODULE_TYPE_FALLBACK:N}=P(98791);const L=P(75189);const q=P(35600);const K=P(74364);const ae=P(10431);const ge=new Set(["javascript"]);const be=new Set([L.module]);class FallbackModule extends ${constructor(v){super(N);this.requests=v;this._identifier=`fallback ${this.requests.join(" ")}`}identifier(){return this._identifier}readableIdentifier(v){return this._identifier}libIdent(v){return`${this.layer?`(${this.layer})/`:""}webpack/container/fallback/${this.requests[0]}/and ${this.requests.length-1} more`}chunkCondition(v,{chunkGraph:E}){return E.getNumberOfEntryModules(v)>0}needBuild(v,E){E(null,!this.buildInfo)}build(v,E,P,R,$){this.buildMeta={};this.buildInfo={strict:true};this.clearDependenciesAndBlocks();for(const v of this.requests)this.addDependency(new ae(v));$()}size(v){return this.requests.length*5+42}getSourceTypes(){return ge}codeGeneration({runtimeTemplate:v,moduleGraph:E,chunkGraph:P}){const $=this.dependencies.map((v=>P.getModuleId(E.getModule(v))));const N=q.asString([`var ids = ${JSON.stringify($)};`,"var error, result, i = 0;",`var loop = ${v.basicFunction("next",["while(i < ids.length) {",q.indent([`try { next = ${L.require}(ids[i++]); } catch(e) { return handleError(e); }`,"if(next) return next.then ? next.then(handleResult, handleError) : handleResult(next);"]),"}","if(error) throw error;"])}`,`var handleResult = ${v.basicFunction("result",["if(result) return result;","return loop();"])};`,`var handleError = ${v.basicFunction("e",["error = e;","return loop();"])};`,"module.exports = loop();"]);const K=new Map;K.set("javascript",new R(N));return{sources:K,runtimeRequirements:be}}serialize(v){const{write:E}=v;E(this.requests);super.serialize(v)}static deserialize(v){const{read:E}=v;const P=new FallbackModule(E());P.deserialize(v);return P}}K(FallbackModule,"webpack/lib/container/FallbackModule");v.exports=FallbackModule},92432:function(v,E,P){"use strict";const R=P(18769);const $=P(58791);v.exports=class FallbackModuleFactory extends R{create({dependencies:[v]},E){const P=v;E(null,{module:new $(P.requests)})}}},11330:function(v,E,P){"use strict";const R=P(47163);const $=P(93414);const N=P(86278);const L=P(60231);const q=P(90052);const K=N(P(11545),(()=>P(34337)),{name:"Module Federation Plugin",baseDataPath:"options"});class ModuleFederationPlugin{constructor(v){K(v);this._options=v}apply(v){const{_options:E}=this;const P=E.library||{type:"var",name:E.name};const N=E.remoteType||(E.library&&R(E.library.type)?E.library.type:"script");if(P&&!v.options.output.enabledLibraryTypes.includes(P.type)){v.options.output.enabledLibraryTypes.push(P.type)}v.hooks.afterPlugins.tap("ModuleFederationPlugin",(()=>{if(E.exposes&&(Array.isArray(E.exposes)?E.exposes.length>0:Object.keys(E.exposes).length>0)){new L({name:E.name,library:P,filename:E.filename,runtime:E.runtime,shareScope:E.shareScope,exposes:E.exposes}).apply(v)}if(E.remotes&&(Array.isArray(E.remotes)?E.remotes.length>0:Object.keys(E.remotes).length>0)){new q({remoteType:N,shareScope:E.shareScope,remotes:E.remotes}).apply(v)}if(E.shared){new $({shared:E.shared,shareScope:E.shareScope}).apply(v)}}))}}v.exports=ModuleFederationPlugin},1883:function(v,E,P){"use strict";const{RawSource:R}=P(51255);const $=P(82919);const{WEBPACK_MODULE_TYPE_REMOTE:N}=P(98791);const L=P(75189);const q=P(74364);const K=P(62664);const ae=P(57268);const ge=new Set(["remote","share-init"]);const be=new Set([L.module]);class RemoteModule extends ${constructor(v,E,P,R){super(N);this.request=v;this.externalRequests=E;this.internalRequest=P;this.shareScope=R;this._identifier=`remote (${R}) ${this.externalRequests.join(" ")} ${this.internalRequest}`}identifier(){return this._identifier}readableIdentifier(v){return`remote ${this.request}`}libIdent(v){return`${this.layer?`(${this.layer})/`:""}webpack/container/remote/${this.request}`}needBuild(v,E){E(null,!this.buildInfo)}build(v,E,P,R,$){this.buildMeta={};this.buildInfo={strict:true};this.clearDependenciesAndBlocks();if(this.externalRequests.length===1){this.addDependency(new ae(this.externalRequests[0]))}else{this.addDependency(new K(this.externalRequests))}$()}size(v){return 6}getSourceTypes(){return ge}nameForCondition(){return this.request}codeGeneration({runtimeTemplate:v,moduleGraph:E,chunkGraph:P}){const $=E.getModule(this.dependencies[0]);const N=$&&P.getModuleId($);const L=new Map;L.set("remote",new R(""));const q=new Map;q.set("share-init",[{shareScope:this.shareScope,initStage:20,init:N===undefined?"":`initExternal(${JSON.stringify(N)});`}]);return{sources:L,data:q,runtimeRequirements:be}}serialize(v){const{write:E}=v;E(this.request);E(this.externalRequests);E(this.internalRequest);E(this.shareScope);super.serialize(v)}static deserialize(v){const{read:E}=v;const P=new RemoteModule(E(),E(),E(),E());P.deserialize(v);return P}}q(RemoteModule,"webpack/lib/container/RemoteModule");v.exports=RemoteModule},46701:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);const N=P(35600);class RemoteRuntimeModule extends ${constructor(){super("remotes loading")}generate(){const{compilation:v,chunkGraph:E}=this;const{runtimeTemplate:P,moduleGraph:$}=v;const L={};const q={};for(const v of this.chunk.getAllAsyncChunks()){const P=E.getChunkModulesIterableBySourceType(v,"remote");if(!P)continue;const R=L[v.id]=[];for(const v of P){const P=v;const N=P.internalRequest;const L=E.getModuleId(P);const K=P.shareScope;const ae=P.dependencies[0];const ge=$.getModule(ae);const be=ge&&E.getModuleId(ge);R.push(L);q[L]=[K,N,be]}}return N.asString([`var chunkMapping = ${JSON.stringify(L,null,"\t")};`,`var idToExternalAndNameMapping = ${JSON.stringify(q,null,"\t")};`,`${R.ensureChunkHandlers}.remotes = ${P.basicFunction("chunkId, promises",[`if(${R.hasOwnProperty}(chunkMapping, chunkId)) {`,N.indent([`chunkMapping[chunkId].forEach(${P.basicFunction("id",[`var getScope = ${R.currentRemoteGetScope};`,"if(!getScope) getScope = [];","var data = idToExternalAndNameMapping[id];","if(getScope.indexOf(data) >= 0) return;","getScope.push(data);",`if(data.p) return promises.push(data.p);`,`var onError = ${P.basicFunction("error",['if(!error) error = new Error("Container missing");','if(typeof error.message === "string")',N.indent(`error.message += '\\nwhile loading "' + data[1] + '" from ' + data[2];`),`${R.moduleFactories}[id] = ${P.basicFunction("",["throw error;"])}`,"data.p = 0;"])};`,`var handleFunction = ${P.basicFunction("fn, arg1, arg2, d, next, first",["try {",N.indent(["var promise = fn(arg1, arg2);","if(promise && promise.then) {",N.indent([`var p = promise.then(${P.returningFunction("next(result, d)","result")}, onError);`,`if(first) promises.push(data.p = p); else return p;`]),"} else {",N.indent(["return next(promise, d, first);"]),"}"]),"} catch(error) {",N.indent(["onError(error);"]),"}"])}`,`var onExternal = ${P.returningFunction(`external ? handleFunction(${R.initializeSharing}, data[0], 0, external, onInitialized, first) : onError()`,"external, _, first")};`,`var onInitialized = ${P.returningFunction(`handleFunction(external.get, data[1], getScope, 0, onFactory, first)`,"_, external, first")};`,`var onFactory = ${P.basicFunction("factory",["data.p = 1;",`${R.moduleFactories}[id] = ${P.basicFunction("module",["module.exports = factory();"])}`])};`,`handleFunction(${R.require}, data[2], 0, 0, onExternal, 1);`])});`]),"}"])}`])}}v.exports=RemoteRuntimeModule},57268:function(v,E,P){"use strict";const R=P(52743);const $=P(74364);class RemoteToExternalDependency extends R{constructor(v){super(v)}get type(){return"remote to external"}get category(){return"esm"}}$(RemoteToExternalDependency,"webpack/lib/container/RemoteToExternalDependency");v.exports=RemoteToExternalDependency},48029:function(v,E){"use strict";const process=(v,E,P,R)=>{const array=v=>{for(const P of v){if(typeof P==="string"){R(P,E(P,P))}else if(P&&typeof P==="object"){object(P)}else{throw new Error("Unexpected options format")}}};const object=v=>{for(const[$,N]of Object.entries(v)){if(typeof N==="string"||Array.isArray(N)){R($,E(N,$))}else{R($,P(N,$))}}};if(!v){return}else if(Array.isArray(v)){array(v)}else if(typeof v==="object"){object(v)}else{throw new Error("Unexpected options format")}};const parseOptions=(v,E,P)=>{const R=[];process(v,E,P,((v,E)=>{R.push([v,E])}));return R};const scope=(v,E)=>{const P={};process(E,(v=>v),(v=>v),((E,R)=>{P[E.startsWith("./")?`${v}${E.slice(1)}`:`${v}/${E}`]=R}));return P};E.parseOptions=parseOptions;E.scope=scope},5196:function(v,E,P){"use strict";const{ReplaceSource:R,RawSource:$,ConcatSource:N}=P(51255);const{UsageState:L}=P(32514);const q=P(91611);const K=P(75189);const ae=P(35600);const ge=new Set(["javascript"]);class CssExportsGenerator extends q{constructor(){super()}generate(v,E){const P=new R(new $(""));const q=[];const ge=new Map;E.runtimeRequirements.add(K.module);let be;const xe=new Set;const ve={runtimeTemplate:E.runtimeTemplate,dependencyTemplates:E.dependencyTemplates,moduleGraph:E.moduleGraph,chunkGraph:E.chunkGraph,module:v,runtime:E.runtime,runtimeRequirements:xe,concatenationScope:E.concatenationScope,codeGenerationResults:E.codeGenerationResults,initFragments:q,cssExports:ge,get chunkInitFragments(){if(!be){const v=E.getData();be=v.get("chunkInitFragments");if(!be){be=[];v.set("chunkInitFragments",be)}}return be}};const handleDependency=v=>{const R=v.constructor;const $=E.dependencyTemplates.get(R);if(!$){throw new Error("No template for dependency: "+v.constructor.name)}$.apply(v,P,ve)};v.dependencies.forEach(handleDependency);if(E.concatenationScope){const v=new N;const P=new Set;for(const[R,$]of ge){let N=ae.toIdentifier(R);let L=0;while(P.has(N)){N=ae.toIdentifier(R+L)}P.add(N);E.concatenationScope.registerExport(R,N);v.add(`${E.runtimeTemplate.supportsConst?"const":"var"} ${N} = ${JSON.stringify($)};\n`)}return v}else{const P=E.moduleGraph.getExportsInfo(v).otherExportsInfo.getUsed(E.runtime)!==L.Unused;if(P){E.runtimeRequirements.add(K.makeNamespaceObject)}return new $(`${P?`${K.makeNamespaceObject}(`:""}${v.moduleArgument}.exports = {\n${Array.from(ge,(([v,E])=>`\t${JSON.stringify(v)}: ${JSON.stringify(E)}`)).join(",\n")}\n}${P?")":""};`)}}getTypes(v){return ge}getSize(v,E){return 42}updateHash(v,{module:E}){}}v.exports=CssExportsGenerator},15005:function(v,E,P){"use strict";const{ReplaceSource:R}=P(51255);const $=P(91611);const N=P(94252);const L=P(75189);const q=new Set(["css"]);class CssGenerator extends ${constructor(){super()}generate(v,E){const P=v.originalSource();const $=new R(P);const q=[];const K=new Map;E.runtimeRequirements.add(L.hasCssModules);let ae;const ge={runtimeTemplate:E.runtimeTemplate,dependencyTemplates:E.dependencyTemplates,moduleGraph:E.moduleGraph,chunkGraph:E.chunkGraph,module:v,runtime:E.runtime,runtimeRequirements:E.runtimeRequirements,concatenationScope:E.concatenationScope,codeGenerationResults:E.codeGenerationResults,initFragments:q,cssExports:K,get chunkInitFragments(){if(!ae){const v=E.getData();ae=v.get("chunkInitFragments");if(!ae){ae=[];v.set("chunkInitFragments",ae)}}return ae}};const handleDependency=v=>{const P=v.constructor;const R=E.dependencyTemplates.get(P);if(!R){throw new Error("No template for dependency: "+v.constructor.name)}R.apply(v,$,ge)};v.dependencies.forEach(handleDependency);if(v.presentationalDependencies!==undefined)v.presentationalDependencies.forEach(handleDependency);if(K.size>0){const v=E.getData();v.set("css-exports",K)}return N.addToSource($,q,E)}getTypes(v){return q}getSize(v,E){const P=v.originalSource();if(!P){return 0}return P.size()}updateHash(v,{module:E}){}}v.exports=CssGenerator},87387:function(v,E,P){"use strict";const{SyncWaterfallHook:R}=P(79846);const $=P(92150);const N=P(75189);const L=P(62970);const q=P(35600);const K=P(41516);const{chunkHasCss:ae}=P(69527);const ge=new WeakMap;class CssLoadingRuntimeModule extends L{static getCompilationHooks(v){if(!(v instanceof $)){throw new TypeError("The 'compilation' argument must be an instance of Compilation")}let E=ge.get(v);if(E===undefined){E={createStylesheet:new R(["source","chunk"])};ge.set(v,E)}return E}constructor(v){super("css loading",10);this._runtimeRequirements=v}generate(){const{compilation:v,chunk:E,_runtimeRequirements:P}=this;const{chunkGraph:R,runtimeTemplate:$,outputOptions:{crossOriginLoading:L,uniqueName:ge,chunkLoadTimeout:be}}=v;const xe=N.ensureChunkHandlers;const ve=R.getChunkConditionMap(E,((v,E)=>!!E.getChunkModulesIterableBySourceType(v,"css")));const Ae=K(ve);const Ie=P.has(N.ensureChunkHandlers)&&Ae!==false;const He=P.has(N.hmrDownloadUpdateHandlers);const Qe=new Set;const Je=new Set;for(const v of E.getAllInitialChunks()){(ae(v,R)?Qe:Je).add(v.id)}if(!Ie&&!He&&Qe.size===0){return null}const{createStylesheet:Ve}=CssLoadingRuntimeModule.getCompilationHooks(v);const Ke=He?`${N.hmrRuntimeStatePrefix}_css`:undefined;const Ye=q.asString(["link = document.createElement('link');",ge?'link.setAttribute("data-webpack", uniqueName + ":" + key);':"","link.setAttribute(loadingAttribute, 1);",'link.rel = "stylesheet";',"link.href = url;",L?L==="use-credentials"?'link.crossOrigin = "use-credentials";':q.asString(["if (link.href.indexOf(window.location.origin + '/') !== 0) {",q.indent(`link.crossOrigin = ${JSON.stringify(L)};`),"}"]):""]);const cc=v=>v.charCodeAt(0);const Xe=ge?$.concatenation("--webpack-",{expr:"uniqueName"},"-",{expr:"chunkId"}):$.concatenation("--webpack-",{expr:"chunkId"});return q.asString(["// object to store loaded and loading chunks","// undefined = chunk not loaded, null = chunk preloaded/prefetched","// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded",`var installedChunks = ${Ke?`${Ke} = ${Ke} || `:""}{${Array.from(Je,(v=>`${JSON.stringify(v)}:0`)).join(",")}};`,"",ge?`var uniqueName = ${JSON.stringify($.outputOptions.uniqueName)};`:"// data-webpack is not used as build has no uniqueName",`var loadCssChunkData = ${$.basicFunction("target, link, chunkId",[`var data, token = "", token2, exports = {}, exportsWithId = [], exportsWithDashes = [], ${He?"moduleIds = [], ":""}name = ${Xe}, i = 0, cc = 1;`,"try {",q.indent(["if(!link) link = loadStylesheet(chunkId);","var cssRules = link.sheet.cssRules || link.sheet.rules;","var j = cssRules.length - 1;","while(j > -1 && !data) {",q.indent(["var style = cssRules[j--].style;","if(!style) continue;",`data = style.getPropertyValue(name);`]),"}"]),"}catch(e){}","if(!data) {",q.indent(["data = getComputedStyle(document.head).getPropertyValue(name);"]),"}","if(!data) return [];","for(; cc; i++) {",q.indent(["cc = data.charCodeAt(i);",`if(cc == ${cc("(")}) { token2 = token; token = ""; }`,`else if(cc == ${cc(")")}) { exports[token2.replace(/^_/, "")] = token.replace(/^_/, ""); token = ""; }`,`else if(cc == ${cc("/")} || cc == ${cc("%")}) { token = token.replace(/^_/, ""); exports[token] = token; exportsWithId.push(token); if(cc == ${cc("%")}) exportsWithDashes.push(token); token = ""; }`,`else if(!cc || cc == ${cc(",")}) { token = token.replace(/^_/, ""); exportsWithId.forEach(${$.expressionFunction(`exports[x] = ${ge?$.concatenation({expr:"uniqueName"},"-",{expr:"token"},"-",{expr:"exports[x]"}):$.concatenation({expr:"token"},"-",{expr:"exports[x]"})}`,"x")}); exportsWithDashes.forEach(${$.expressionFunction(`exports[x] = "--" + exports[x]`,"x")}); ${N.makeNamespaceObject}(exports); target[token] = (${$.basicFunction("exports, module",`module.exports = exports;`)}).bind(null, exports); ${He?"moduleIds.push(token); ":""}token = ""; exports = {}; exportsWithId.length = 0; }`,`else if(cc == ${cc("\\")}) { token += data[++i] }`,`else { token += data[i]; }`]),"}",`${He?`if(target == ${N.moduleFactories}) `:""}installedChunks[chunkId] = 0;`,He?"return moduleIds;":""])}`,'var loadingAttribute = "data-webpack-loading";',`var loadStylesheet = ${$.basicFunction("chunkId, url, done"+(He?", hmr":""),['var link, needAttach, key = "chunk-" + chunkId;',He?"if(!hmr) {":"",'var links = document.getElementsByTagName("link");',"for(var i = 0; i < links.length; i++) {",q.indent(["var l = links[i];",`if(l.rel == "stylesheet" && (${He?'l.href.startsWith(url) || l.getAttribute("href").startsWith(url)':'l.href == url || l.getAttribute("href") == url'}${ge?' || l.getAttribute("data-webpack") == uniqueName + ":" + key':""})) { link = l; break; }`]),"}","if(!done) return link;",He?"}":"","if(!link) {",q.indent(["needAttach = true;",Ve.call(Ye,this.chunk)]),"}",`var onLinkComplete = ${$.basicFunction("prev, event",q.asString(["link.onerror = link.onload = null;","link.removeAttribute(loadingAttribute);","clearTimeout(timeout);",'if(event && event.type != "load") link.parentNode.removeChild(link)',"done(event);","if(prev) return prev(event);"]))};`,"if(link.getAttribute(loadingAttribute)) {",q.indent([`var timeout = setTimeout(onLinkComplete.bind(null, undefined, { type: 'timeout', target: link }), ${be});`,"link.onerror = onLinkComplete.bind(null, link.onerror);","link.onload = onLinkComplete.bind(null, link.onload);"]),"} else onLinkComplete(undefined, { type: 'load', target: link });",He?"hmr ? document.head.insertBefore(link, hmr) :":"","needAttach && document.head.appendChild(link);","return link;"])};`,Qe.size>2?`${JSON.stringify(Array.from(Qe))}.forEach(loadCssChunkData.bind(null, ${N.moduleFactories}, 0));`:Qe.size>0?`${Array.from(Qe,(v=>`loadCssChunkData(${N.moduleFactories}, 0, ${JSON.stringify(v)});`)).join("")}`:"// no initial css","",Ie?q.asString([`${xe}.css = ${$.basicFunction("chunkId, promises",["// css chunk loading",`var installedChunkData = ${N.hasOwnProperty}(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;`,'if(installedChunkData !== 0) { // 0 means "already installed".',q.indent(["",'// a Promise means "currently loading".',"if(installedChunkData) {",q.indent(["promises.push(installedChunkData[2]);"]),"} else {",q.indent([Ae===true?"if(true) { // all chunks have CSS":`if(${Ae("chunkId")}) {`,q.indent(["// setup Promise in chunk cache",`var promise = new Promise(${$.expressionFunction(`installedChunkData = installedChunks[chunkId] = [resolve, reject]`,"resolve, reject")});`,"promises.push(installedChunkData[2] = promise);","","// start chunk loading",`var url = ${N.publicPath} + ${N.getChunkCssFilename}(chunkId);`,"// create error before stack unwound to get useful stacktrace later","var error = new Error();",`var loadingEnded = ${$.basicFunction("event",[`if(${N.hasOwnProperty}(installedChunks, chunkId)) {`,q.indent(["installedChunkData = installedChunks[chunkId];","if(installedChunkData !== 0) installedChunks[chunkId] = undefined;","if(installedChunkData) {",q.indent(['if(event.type !== "load") {',q.indent(["var errorType = event && event.type;","var realHref = event && event.target && event.target.href;","error.message = 'Loading css chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realHref + ')';","error.name = 'ChunkLoadError';","error.type = errorType;","error.request = realHref;","installedChunkData[1](error);"]),"} else {",q.indent([`loadCssChunkData(${N.moduleFactories}, link, chunkId);`,"installedChunkData[0]();"]),"}"]),"}"]),"}"])};`,"var link = loadStylesheet(chunkId, url, loadingEnded);"]),"} else installedChunks[chunkId] = 0;"]),"}"]),"}"])};`]):"// no chunk loading","",He?q.asString(["var oldTags = [];","var newTags = [];",`var applyHandler = ${$.basicFunction("options",[`return { dispose: ${$.basicFunction("",[])}, apply: ${$.basicFunction("",["var moduleIds = [];",`newTags.forEach(${$.expressionFunction("info[1].sheet.disabled = false","info")});`,"while(oldTags.length) {",q.indent(["var oldTag = oldTags.pop();","if(oldTag.parentNode) oldTag.parentNode.removeChild(oldTag);"]),"}","while(newTags.length) {",q.indent([`var info = newTags.pop();`,`var chunkModuleIds = loadCssChunkData(${N.moduleFactories}, info[1], info[0]);`,`chunkModuleIds.forEach(${$.expressionFunction("moduleIds.push(id)","id")});`]),"}","return moduleIds;"])} };`])}`,`var cssTextKey = ${$.returningFunction(`Array.from(link.sheet.cssRules, ${$.returningFunction("r.cssText","r")}).join()`,"link")}`,`${N.hmrDownloadUpdateHandlers}.css = ${$.basicFunction("chunkIds, removedChunks, removedModules, promises, applyHandlers, updatedModulesList",["applyHandlers.push(applyHandler);",`chunkIds.forEach(${$.basicFunction("chunkId",[`var filename = ${N.getChunkCssFilename}(chunkId);`,`var url = ${N.publicPath} + filename;`,"var oldTag = loadStylesheet(chunkId, url);","if(!oldTag) return;",`promises.push(new Promise(${$.basicFunction("resolve, reject",[`var link = loadStylesheet(chunkId, url + (url.indexOf("?") < 0 ? "?" : "&") + "hmr=" + Date.now(), ${$.basicFunction("event",['if(event.type !== "load") {',q.indent(["var errorType = event && event.type;","var realHref = event && event.target && event.target.href;","error.message = 'Loading css hot update chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realHref + ')';","error.name = 'ChunkLoadError';","error.type = errorType;","error.request = realHref;","reject(error);"]),"} else {",q.indent(["try { if(cssTextKey(oldTag) == cssTextKey(link)) { if(link.parentNode) link.parentNode.removeChild(link); return resolve(); } } catch(e) {}","var factories = {};","loadCssChunkData(factories, link, chunkId);",`Object.keys(factories).forEach(${$.expressionFunction("updatedModulesList.push(id)","id")})`,"link.sheet.disabled = true;","oldTags.push(oldTag);","newTags.push([chunkId, link]);","resolve();"]),"}"])}, oldTag);`])}));`])});`])}`]):"// no hmr"])}}v.exports=CssLoadingRuntimeModule},69527:function(v,E,P){"use strict";const{ConcatSource:R,PrefixSource:$}=P(51255);const N=P(58019);const L=P(19063);const{CSS_MODULE_TYPE:q,CSS_MODULE_TYPE_GLOBAL:K,CSS_MODULE_TYPE_MODULE:ae,CSS_MODULE_TYPE_AUTO:ge}=P(98791);const be=P(75189);const xe=P(78354);const ve=P(45425);const Ae=P(87923);const Ie=P(31563);const He=P(45949);const Qe=P(13267);const Je=P(99877);const Ve=P(88929);const{compareModulesByIdentifier:Ke}=P(80754);const Ye=P(86278);const Xe=P(1558);const Ze=P(49584);const et=P(54411);const tt=P(5196);const nt=P(15005);const st=P(17475);const rt=Ze((()=>P(87387)));const getSchema=v=>{const{definitions:E}=P(6497);return{definitions:E,oneOf:[{$ref:`#/definitions/${v}`}]}};const ot={name:"Css Modules Plugin",baseDataPath:"generator"};const it={css:Ye(P(90267),(()=>getSchema("CssGeneratorOptions")),ot),"css/auto":Ye(P(16627),(()=>getSchema("CssAutoGeneratorOptions")),ot),"css/module":Ye(P(98342),(()=>getSchema("CssModuleGeneratorOptions")),ot),"css/global":Ye(P(91570),(()=>getSchema("CssGlobalGeneratorOptions")),ot)};const at={name:"Css Modules Plugin",baseDataPath:"parser"};const ct={css:Ye(P(87197),(()=>getSchema("CssParserOptions")),at),"css/auto":Ye(P(19484),(()=>getSchema("CssAutoParserOptions")),at),"css/module":Ye(P(97766),(()=>getSchema("CssModuleParserOptions")),at),"css/global":Ye(P(90697),(()=>getSchema("CssGlobalParserOptions")),at)};const escapeCss=(v,E)=>{const P=`${v}`.replace(/[^a-zA-Z0-9_\u0081-\uffff-]/g,(v=>`\\${v}`));return!E&&/^(?!--)[0-9_-]/.test(P)?`_${P}`:P};const lt="CssModulesPlugin";class CssModulesPlugin{apply(v){v.hooks.compilation.tap(lt,((v,{normalModuleFactory:E})=>{const P=new xe(v.moduleGraph);v.dependencyFactories.set(Je,E);v.dependencyTemplates.set(Je,new Je.Template);v.dependencyTemplates.set(He,new He.Template);v.dependencyFactories.set(Qe,P);v.dependencyTemplates.set(Qe,new Qe.Template);v.dependencyTemplates.set(Ae,new Ae.Template);v.dependencyFactories.set(Ie,E);v.dependencyTemplates.set(Ie,new Ie.Template);v.dependencyTemplates.set(Ve,new Ve.Template);for(const P of[q,K,ae,ge]){E.hooks.createParser.for(P).tap(lt,(v=>{ct[P](v);const{namedExports:E}=v;switch(P){case q:case ge:return new st({namedExports:E});case K:return new st({allowModeSwitch:false,namedExports:E});case ae:return new st({defaultMode:"local",namedExports:E})}}));E.hooks.createGenerator.for(P).tap(lt,(v=>{it[P](v);return v.exportsOnly?new tt:new nt}));E.hooks.createModuleClass.for(P).tap(lt,((E,P)=>{if(P.dependencies.length>0){const R=P.dependencies[0];if(R instanceof Ie){const P=v.moduleGraph.getParentModule(R);if(P instanceof N){let v;if(P.cssLayer!==null&&P.cssLayer!==undefined||P.supports||P.media){if(!v){v=[]}v.push([P.cssLayer,P.supports,P.media])}if(P.inheritance){if(!v){v=[]}v.push(...P.inheritance)}return new N({...E,cssLayer:R.layer,supports:R.supports,media:R.media,inheritance:v})}return new N({...E,cssLayer:R.layer,supports:R.supports,media:R.media})}}return new N(E)}))}const R=new WeakMap;v.hooks.afterCodeGeneration.tap("CssModulesPlugin",(()=>{const{chunkGraph:E}=v;for(const P of v.chunks){if(CssModulesPlugin.chunkHasCss(P,E)){R.set(P,this.getOrderedChunkCssModules(P,E,v))}}}));v.hooks.contentHash.tap("CssModulesPlugin",(E=>{const{chunkGraph:P,outputOptions:{hashSalt:$,hashDigest:N,hashDigestLength:L,hashFunction:q}}=v;const K=R.get(E);if(K===undefined)return;const ae=Xe(q);if($)ae.update($);for(const v of K){ae.update(P.getModuleHash(v,E.runtime))}const ge=ae.digest(N);E.contentHash.css=et(ge,L)}));v.hooks.renderManifest.tap(lt,((E,P)=>{const{chunkGraph:$}=v;const{hash:N,chunk:q,codeGenerationResults:K}=P;if(q instanceof L)return E;const ae=R.get(q);if(ae!==undefined){E.push({render:()=>this.renderChunk({chunk:q,chunkGraph:$,codeGenerationResults:K,uniqueName:v.outputOptions.uniqueName,modules:ae}),filenameTemplate:CssModulesPlugin.getChunkFilenameTemplate(q,v.outputOptions),pathOptions:{hash:N,runtime:q.runtime,chunk:q,contentHashType:"css"},identifier:`css${q.id}`,hash:q.contentHash.css})}return E}));const $=v.outputOptions.chunkLoading;const isEnabledForChunk=v=>{const E=v.getEntryOptions();const P=E&&E.chunkLoading!==undefined?E.chunkLoading:$;return P==="jsonp"};const ve=new WeakSet;const handler=(E,P)=>{if(ve.has(E))return;ve.add(E);if(!isEnabledForChunk(E))return;P.add(be.publicPath);P.add(be.getChunkCssFilename);P.add(be.hasOwnProperty);P.add(be.moduleFactoriesAddOnly);P.add(be.makeNamespaceObject);const R=rt();v.addRuntimeModule(E,new R(P))};v.hooks.runtimeRequirementInTree.for(be.hasCssModules).tap(lt,handler);v.hooks.runtimeRequirementInTree.for(be.ensureChunkHandlers).tap(lt,handler);v.hooks.runtimeRequirementInTree.for(be.hmrDownloadUpdateHandlers).tap(lt,handler)}))}getModulesInOrder(v,E,P){if(!E)return[];const R=[...E];const $=Array.from(v.groupsIterable,(v=>{const E=R.map((E=>({module:E,index:v.getModulePostOrderIndex(E)}))).filter((v=>v.index!==undefined)).sort(((v,E)=>E.index-v.index)).map((v=>v.module));return{list:E,set:new Set(E)}}));if($.length===1)return $[0].list.reverse();const compareModuleLists=({list:v},{list:E})=>{if(v.length===0){return E.length===0?0:1}else{if(E.length===0)return-1;return Ke(v[v.length-1],E[E.length-1])}};$.sort(compareModuleLists);const N=[];for(;;){const E=new Set;const R=$[0].list;if(R.length===0){break}let L=R[R.length-1];let q=undefined;e:for(;;){for(const{list:v,set:P}of $){if(v.length===0)continue;const R=v[v.length-1];if(R===L)continue;if(!P.has(L))continue;E.add(L);if(E.has(R)){q=R;continue}L=R;q=false;continue e}break}if(q){if(P){P.warnings.push(new ve(`chunk ${v.name||v.id}\nConflicting order between ${q.readableIdentifier(P.requestShortener)} and ${L.readableIdentifier(P.requestShortener)}`))}L=q}N.push(L);for(const{list:v,set:E}of $){const P=v[v.length-1];if(P===L)v.pop();else if(q&&E.has(L)){const E=v.indexOf(L);if(E>=0)v.splice(E,1)}}$.sort(compareModuleLists)}return N}getOrderedChunkCssModules(v,E,P){return[...this.getModulesInOrder(v,E.getOrderedChunkModulesIterableBySourceType(v,"css-import",Ke),P),...this.getModulesInOrder(v,E.getOrderedChunkModulesIterableBySourceType(v,"css",Ke),P)]}renderChunk({uniqueName:v,chunk:E,chunkGraph:P,codeGenerationResults:N,modules:L}){const q=new R;const K=[];for(const ae of L){try{const L=N.get(ae,E.runtime);let ge=L.sources.get("css")||L.sources.get("css-import");let be=[[ae.cssLayer,ae.supports,ae.media]];if(ae.inheritance){be.push(...ae.inheritance)}for(let v=0;v{const R=`${v?v+"-":""}${ve}-${E}`;return P===R?`${escapeCss(E)}/`:P==="--"+R?`${escapeCss(E)}%`:`${escapeCss(E)}(${escapeCss(P)})`})).join(""):""}${escapeCss(ve)}`)}catch(v){v.message+=`\nduring rendering of css ${ae.identifier()}`;throw v}}q.add(`head{--webpack-${escapeCss((v?v+"-":"")+E.id,true)}:${K.join(",")};}`);return q}static getChunkFilenameTemplate(v,E){if(v.cssFilenameTemplate){return v.cssFilenameTemplate}else if(v.canBeInitial()){return E.cssFilename}else{return E.cssChunkFilename}}static chunkHasCss(v,E){return!!E.getChunkModulesIterableBySourceType(v,"css")||!!E.getChunkModulesIterableBySourceType(v,"css-import")}}v.exports=CssModulesPlugin},17475:function(v,E,P){"use strict";const R=P(68250);const{CSS_MODULE_TYPE_AUTO:$}=P(98791);const N=P(40766);const L=P(45425);const q=P(52540);const K=P(87923);const ae=P(31563);const ge=P(45949);const be=P(13267);const xe=P(99877);const ve=P(88929);const{parseResource:Ae}=P(94778);const Ie=P(42913);const He="{".charCodeAt(0);const Qe="}".charCodeAt(0);const Je=":".charCodeAt(0);const Ve="/".charCodeAt(0);const Ke=";".charCodeAt(0);const Ye=/\\[\n\r\f]/g;const Xe=/(^[ \t\n\r\f]*|[ \t\n\r\f]*$)/g;const Ze=/\\([0-9a-fA-F]{1,6}[ \t\n\r\f]?|[\s\S])/g;const et=/^(-\w+-)?image-set$/i;const tt=/^@(-\w+-)?keyframes$/;const nt=/^(-\w+-)?animation(-name)?$/i;const st=/\.module(s)?\.[^.]+$/i;const normalizeUrl=(v,E)=>{if(E){v=v.replace(Ye,"")}v=v.replace(Xe,"").replace(Ze,(v=>{if(v.length>2){return String.fromCharCode(parseInt(v.slice(1).trim(),16))}else{return v[1]}}));if(/^data:/i.test(v)){return v}if(v.includes("%")){try{v=decodeURIComponent(v)}catch(v){}}return v};class LocConverter{constructor(v){this._input=v;this.line=1;this.column=0;this.pos=0}get(v){if(this.pos!==v){if(this.pos0&&(P=E.lastIndexOf("\n",P-1))!==-1)this.line++}}else{let E=this._input.lastIndexOf("\n",this.pos);while(E>=v){this.line--;E=E>0?this._input.lastIndexOf("\n",E-1):-1}this.column=v-E}this.pos=v}return this}}const rt=0;const ot=1;const it=2;const at=3;const ct=4;class CssParser extends N{constructor({allowModeSwitch:v=true,defaultMode:E="global",namedExports:P=true}={}){super();this.allowModeSwitch=v;this.defaultMode=E;this.namedExports=P}_emitWarning(v,E,P,$,N){const{line:q,column:K}=P.get($);const{line:ae,column:ge}=P.get(N);v.current.addWarning(new R(v.module,new L(E),{start:{line:q,column:K},end:{line:ae,column:ge}}))}parse(v,E){if(Buffer.isBuffer(v)){v=v.toString("utf-8")}else if(typeof v==="object"){throw new Error("webpackAst is unexpected for the CssParser")}if(v[0]==="\ufeff"){v=v.slice(1)}const P=E.module;let R;if(P.type===$&&st.test(Ae(P.matchResource||P.resource).path)){R=this.defaultMode;this.defaultMode="local"}const N=new LocConverter(v);const L=new Set;let Ye=rt;let Xe=0;let Ze=true;let lt=undefined;let ut=undefined;let pt=[];let dt=undefined;let ft=false;let ht=true;const isNextNestedSyntax=(v,E)=>{E=Ie.eatWhitespaceAndComments(v,E);if(v[E]==="}"){return false}const P=Ie.isIdentStartCodePoint(v.charCodeAt(E));return!P};const isLocalMode=()=>lt==="local"||this.defaultMode==="local"&<===undefined;const eatUntil=v=>{const E=Array.from({length:v.length},((E,P)=>v.charCodeAt(P)));const P=Array.from({length:E.reduce(((v,E)=>Math.max(v,E)),0)+1},(()=>false));E.forEach((v=>P[v]=true));return(v,E)=>{for(;;){const R=v.charCodeAt(E);if(R{let R="";for(;;){if(v.charCodeAt(E)===Ve){const P=Ie.eatComments(v,E);if(E!==P){E=P;if(E===v.length)break}else{R+="/";E++;if(E===v.length)break}}const $=P(v,E);if(E!==$){R+=v.slice(E,$);E=$}else{break}if(E===v.length)break}return[E,R.trimEnd()]};const mt=eatUntil(":};/");const gt=eatUntil("};/");const parseExports=(v,R)=>{R=Ie.eatWhitespaceAndComments(v,R);const $=v.charCodeAt(R);if($!==He){this._emitWarning(E,`Unexpected '${v[R]}' at ${R} during parsing of ':export' (expected '{')`,N,R,R);return R}R++;R=Ie.eatWhitespaceAndComments(v,R);for(;;){if(v.charCodeAt(R)===Qe)break;R=Ie.eatWhitespaceAndComments(v,R);if(R===v.length)return R;let $=R;let L;[R,L]=eatText(v,R,mt);if(R===v.length)return R;if(v.charCodeAt(R)!==Je){this._emitWarning(E,`Unexpected '${v[R]}' at ${R} during parsing of export name in ':export' (expected ':')`,N,$,R);return R}R++;if(R===v.length)return R;R=Ie.eatWhitespaceAndComments(v,R);if(R===v.length)return R;let q;[R,q]=eatText(v,R,gt);if(R===v.length)return R;const ae=v.charCodeAt(R);if(ae===Ke){R++;if(R===v.length)return R;R=Ie.eatWhitespaceAndComments(v,R);if(R===v.length)return R}else if(ae!==Qe){this._emitWarning(E,`Unexpected '${v[R]}' at ${R} during parsing of export value in ':export' (expected ';' or '}')`,N,$,R);return R}const ge=new K(L,q);const{line:be,column:xe}=N.get($);const{line:ve,column:Ae}=N.get(R);ge.setLoc(be,xe,ve,Ae);P.addDependency(ge)}R++;if(R===v.length)return R;R=Ie.eatWhiteLine(v,R);return R};const yt=eatUntil(":{};");const processLocalDeclaration=(v,E,R)=>{lt=undefined;E=Ie.eatWhitespaceAndComments(v,E);const $=E;const[q,K]=eatText(v,E,yt);if(v.charCodeAt(q)!==Je)return R;E=q+1;if(K.startsWith("--")){const{line:v,column:E}=N.get($);const{line:R,column:ae}=N.get(q);const be=K.slice(2);const xe=new ge(be,[$,q],"--");xe.setLoc(v,E,R,ae);P.addDependency(xe);L.add(be)}else if(!K.startsWith("--")&&nt.test(K)){ft=true}return E};const processDeclarationValueDone=v=>{if(ft&&ut){const{line:E,column:R}=N.get(ut[0]);const{line:$,column:L}=N.get(ut[1]);const q=v.slice(ut[0],ut[1]);const K=new be(q,ut);K.setLoc(E,R,$,L);P.addDependency(K);ut=undefined}};const bt=eatUntil("{};/");const xt=eatUntil(",)};/");Ie(v,{isSelector:()=>ht,url:(v,R,$,L,q)=>{let K=normalizeUrl(v.slice(L,q),false);switch(Ye){case it:{if(dt.inSupports){break}if(dt.url){this._emitWarning(E,`Duplicate of 'url(...)' in '${v.slice(dt.start,$)}'`,N,R,$);break}dt.url=K;dt.urlStart=R;dt.urlEnd=$;break}case ct:case at:{break}case ot:{if(K.length===0){break}const v=new xe(K,[R,$],"url");const{line:E,column:L}=N.get(R);const{line:q,column:ae}=N.get($);v.setLoc(E,L,q,ae);P.addDependency(v);P.addCodeGenerationDependency(v);break}}return $},string:(v,R,$)=>{switch(Ye){case it:{const P=pt[pt.length-1]&&pt[pt.length-1][0]==="url";if(dt.inSupports||!P&&dt.url){break}if(P&&dt.url){this._emitWarning(E,`Duplicate of 'url(...)' in '${v.slice(dt.start,$)}'`,N,R,$);break}dt.url=normalizeUrl(v.slice(R+1,$-1),true);if(!P){dt.urlStart=R;dt.urlEnd=$}break}case ot:{const E=pt[pt.length-1];if(E&&(E[0].replace(/\\/g,"").toLowerCase()==="url"||et.test(E[0].replace(/\\/g,"")))){let L=normalizeUrl(v.slice(R+1,$-1),true);if(L.length===0){break}const q=E[0].replace(/\\/g,"").toLowerCase()==="url";const K=new xe(L,[R,$],q?"string":"url");const{line:ae,column:ge}=N.get(R);const{line:be,column:ve}=N.get($);K.setLoc(ae,ge,be,ve);P.addDependency(K);P.addCodeGenerationDependency(K)}}}return $},atKeyword:(v,R,$)=>{const q=v.slice(R,$).toLowerCase();if(q==="@namespace"){Ye=ct;this._emitWarning(E,"'@namespace' is not supported in bundled CSS",N,R,$);return $}else if(q==="@import"){if(!Ze){Ye=at;this._emitWarning(E,"Any '@import' rules must precede all other rules",N,R,$);return $}Ye=it;dt={start:R}}else if(this.allowModeSwitch&&tt.test(q)){let L=$;L=Ie.eatWhitespaceAndComments(v,L);if(L===v.length)return L;const[q,K]=eatText(v,L,bt);if(q===v.length)return q;if(v.charCodeAt(q)!==He){this._emitWarning(E,`Unexpected '${v[q]}' at ${q} during parsing of @keyframes (expected '{')`,N,R,$);return q}const{line:ae,column:be}=N.get(L);const{line:xe,column:ve}=N.get(q);const Ae=new ge(K,[L,q]);Ae.setLoc(ae,be,xe,ve);P.addDependency(Ae);L=q;return L+1}else if(this.allowModeSwitch&&q==="@property"){let q=$;q=Ie.eatWhitespaceAndComments(v,q);if(q===v.length)return q;const K=q;const[ae,be]=eatText(v,q,bt);if(ae===v.length)return ae;if(!be.startsWith("--"))return ae;if(v.charCodeAt(ae)!==He){this._emitWarning(E,`Unexpected '${v[ae]}' at ${ae} during parsing of @property (expected '{')`,N,R,$);return ae}const{line:xe,column:ve}=N.get(q);const{line:Ae,column:Qe}=N.get(ae);const Je=be.slice(2);const Ve=new ge(Je,[K,ae],"--");Ve.setLoc(xe,ve,Ae,Qe);P.addDependency(Ve);L.add(Je);q=ae;return q+1}else if(q==="@media"||q==="@supports"||q==="@layer"||q==="@container"){lt=isLocalMode()?"local":"global";ht=true;return $}else if(this.allowModeSwitch){lt="global";ht=false}return $},semicolon:(v,R,$)=>{switch(Ye){case it:{const{start:R}=dt;if(dt.url===undefined){this._emitWarning(E,`Expected URL in '${v.slice(R,$)}'`,N,R,$);dt=undefined;Ye=rt;return $}if(dt.urlStart>dt.layerStart||dt.urlStart>dt.supportsStart){this._emitWarning(E,`An URL in '${v.slice(R,$)}' should be before 'layer(...)' or 'supports(...)'`,N,R,$);dt=undefined;Ye=rt;return $}if(dt.layerStart>dt.supportsStart){this._emitWarning(E,`The 'layer(...)' in '${v.slice(R,$)}' should be before 'supports(...)'`,N,R,$);dt=undefined;Ye=rt;return $}const L=$;$=Ie.eatWhiteLine(v,$+1);const{line:K,column:ge}=N.get(R);const{line:be,column:xe}=N.get($);const ve=dt.supportsEnd||dt.layerEnd||dt.urlEnd||R;const Ae=Ie.eatWhitespaceAndComments(v,ve);if(Ae!==L-1){dt.media=v.slice(ve,L-1).trim()}const He=dt.url.trim();if(He.length===0){const v=new q("",[R,$]);P.addPresentationalDependency(v);v.setLoc(K,ge,be,xe)}else{const v=new ae(He,[R,$],dt.layer,dt.supports,dt.media&&dt.media.length>0?dt.media:undefined);v.setLoc(K,ge,be,xe);P.addDependency(v)}dt=undefined;Ye=rt;break}case at:case ct:{Ye=rt;break}case ot:{if(this.allowModeSwitch){processDeclarationValueDone(v);ft=false;ht=isNextNestedSyntax(v,$)}break}}return $},leftCurlyBracket:(v,E,P)=>{switch(Ye){case rt:{Ze=false;Ye=ot;Xe=1;if(this.allowModeSwitch){ht=isNextNestedSyntax(v,P)}break}case ot:{Xe++;if(this.allowModeSwitch){ht=isNextNestedSyntax(v,P)}break}}return P},rightCurlyBracket:(v,E,P)=>{switch(Ye){case ot:{if(isLocalMode()){processDeclarationValueDone(v);ft=false}if(--Xe===0){Ye=rt;if(this.allowModeSwitch){ht=true;lt=undefined}}else if(this.allowModeSwitch){ht=isNextNestedSyntax(v,P)}break}}return P},identifier:(v,E,P)=>{switch(Ye){case ot:{if(isLocalMode()){if(ft&&pt.length===0){ut=[E,P]}else{return processLocalDeclaration(v,E,P)}}break}case it:{if(v.slice(E,P).toLowerCase()==="layer"){dt.layer="";dt.layerStart=E;dt.layerEnd=P}break}}return P},class:(v,E,R)=>{if(isLocalMode()){const $=v.slice(E+1,R);const L=new ge($,[E+1,R]);const{line:q,column:K}=N.get(E);const{line:ae,column:be}=N.get(R);L.setLoc(q,K,ae,be);P.addDependency(L)}return R},id:(v,E,R)=>{if(isLocalMode()){const $=v.slice(E+1,R);const L=new ge($,[E+1,R]);const{line:q,column:K}=N.get(E);const{line:ae,column:be}=N.get(R);L.setLoc(q,K,ae,be);P.addDependency(L)}return R},function:(v,E,R)=>{let $=v.slice(E,R-1);pt.push([$,E,R]);if(Ye===it&&$.toLowerCase()==="supports"){dt.inSupports=true}if(isLocalMode()){$=$.toLowerCase();if(ft&&pt.length===1){ut=undefined}if($==="var"){let E=Ie.eatWhitespaceAndComments(v,R);if(E===v.length)return E;const[$,q]=eatText(v,E,xt);if(!q.startsWith("--"))return R;const{line:K,column:ae}=N.get(E);const{line:ge,column:xe}=N.get($);const ve=new be(q.slice(2),[E,$],"--",L);ve.setLoc(K,ae,ge,xe);P.addDependency(ve);return $}}return R},leftParenthesis:(v,E,P)=>{pt.push(["(",E,P]);return P},rightParenthesis:(v,E,R)=>{const $=pt[pt.length-1];const N=pt.pop();if(this.allowModeSwitch&&N&&(N[0]===":local"||N[0]===":global")){lt=pt[pt.length-1]?pt[pt.length-1][0]:undefined;const v=new q("",[E,R]);P.addPresentationalDependency(v);return R}switch(Ye){case it:{if($&&$[0]==="url"&&!dt.inSupports){dt.urlStart=$[1];dt.urlEnd=R}else if($&&$[0].toLowerCase()==="layer"&&!dt.inSupports){dt.layer=v.slice($[2],R-1).trim();dt.layerStart=$[1];dt.layerEnd=R}else if($&&$[0].toLowerCase()==="supports"){dt.supports=v.slice($[2],R-1).trim();dt.supportsStart=$[1];dt.supportsEnd=R;dt.inSupports=false}break}}return R},pseudoClass:(v,E,R)=>{if(this.allowModeSwitch){const $=v.slice(E,R).toLowerCase();if($===":global"){lt="global";R=Ie.eatWhitespace(v,R);const $=new q("",[E,R]);P.addPresentationalDependency($);return R}else if($===":local"){lt="local";R=Ie.eatWhitespace(v,R);const $=new q("",[E,R]);P.addPresentationalDependency($);return R}switch(Ye){case rt:{if($===":export"){const $=parseExports(v,R);const N=new q("",[E,$]);P.addPresentationalDependency(N);return $}break}}}return R},pseudoFunction:(v,E,R)=>{let $=v.slice(E,R-1);pt.push([$,E,R]);if(this.allowModeSwitch){$=$.toLowerCase();if($===":global"){lt="global";const v=new q("",[E,R]);P.addPresentationalDependency(v)}else if($===":local"){lt="local";const v=new q("",[E,R]);P.addPresentationalDependency(v)}}return R},comma:(v,E,P)=>{if(this.allowModeSwitch){lt=undefined;switch(Ye){case ot:{if(isLocalMode()){processDeclarationValueDone(v)}break}}}return P}});if(R){this.defaultMode=R}P.buildInfo.strict=true;P.buildMeta.exportsType=this.namedExports?"namespace":"default";P.addDependency(new ve([],true));return E}}v.exports=CssParser},42913:function(v){"use strict";const E="\n".charCodeAt(0);const P="\r".charCodeAt(0);const R="\f".charCodeAt(0);const $="\t".charCodeAt(0);const N=" ".charCodeAt(0);const L="/".charCodeAt(0);const q="\\".charCodeAt(0);const K="*".charCodeAt(0);const ae="(".charCodeAt(0);const ge=")".charCodeAt(0);const be="{".charCodeAt(0);const xe="}".charCodeAt(0);const ve="[".charCodeAt(0);const Ae="]".charCodeAt(0);const Ie='"'.charCodeAt(0);const He="'".charCodeAt(0);const Qe=".".charCodeAt(0);const Je=":".charCodeAt(0);const Ve=";".charCodeAt(0);const Ke=",".charCodeAt(0);const Ye="%".charCodeAt(0);const Xe="@".charCodeAt(0);const Ze="_".charCodeAt(0);const et="a".charCodeAt(0);const tt="u".charCodeAt(0);const nt="e".charCodeAt(0);const st="z".charCodeAt(0);const rt="A".charCodeAt(0);const ot="E".charCodeAt(0);const it="U".charCodeAt(0);const at="Z".charCodeAt(0);const ct="0".charCodeAt(0);const lt="9".charCodeAt(0);const ut="#".charCodeAt(0);const pt="+".charCodeAt(0);const dt="-".charCodeAt(0);const ft="<".charCodeAt(0);const ht=">".charCodeAt(0);const _isNewLine=v=>v===E||v===P||v===R;const consumeSpace=(v,E,P)=>{let R;do{E++;R=v.charCodeAt(E)}while(_isWhiteSpace(R));return E};const _isNewline=v=>v===E||v===P||v===R;const _isSpace=v=>v===$||v===N;const _isWhiteSpace=v=>_isNewline(v)||_isSpace(v);const isIdentStartCodePoint=v=>v>=et&&v<=st||v>=rt&&v<=at||v===Ze||v>=128;const consumeDelimToken=(v,E,P)=>E+1;const consumeComments=(v,E,P)=>{if(v.charCodeAt(E)===L&&v.charCodeAt(E+1)===K){E+=1;while(E(E,P,R)=>{const $=P;P=_consumeString(E,P,v);if(R.string!==undefined){P=R.string(E,$,P)}return P};const _consumeString=(v,E,P)=>{E++;for(;;){if(E===v.length)return E;const R=v.charCodeAt(E);if(R===P)return E+1;if(_isNewLine(R)){return E}if(R===q){E++;if(E===v.length)return E;E++}else{E++}}};const _isIdentifierStartCode=v=>v===Ze||v>=et&&v<=st||v>=rt&&v<=at||v>128;const _isTwoCodePointsAreValidEscape=(v,E)=>{if(v!==q)return false;if(_isNewLine(E))return false;return true};const _isDigit=v=>v>=ct&&v<=lt;const _startsIdentifier=(v,E)=>{const P=v.charCodeAt(E);if(P===dt){if(E===v.length)return false;const P=v.charCodeAt(E+1);if(P===dt)return true;if(P===q){const P=v.charCodeAt(E+2);return!_isNewLine(P)}return _isIdentifierStartCode(P)}if(P===q){const P=v.charCodeAt(E+1);return!_isNewLine(P)}return _isIdentifierStartCode(P)};const consumeNumberSign=(v,E,P)=>{const R=E;E++;if(E===v.length)return E;if(P.isSelector(v,E)&&_startsIdentifier(v,E)){E=_consumeIdentifier(v,E,P);if(P.id!==undefined){return P.id(v,R,E)}}return E};const consumeMinus=(v,E,P)=>{const R=E;E++;if(E===v.length)return E;const $=v.charCodeAt(E);if($===Qe||_isDigit($)){return consumeNumericToken(v,E,P)}else if($===dt){E++;if(E===v.length)return E;const $=v.charCodeAt(E);if($===ht){return E+1}else{E=_consumeIdentifier(v,E,P);if(P.identifier!==undefined){return P.identifier(v,R,E)}}}else if($===q){if(E+1===v.length)return E;const $=v.charCodeAt(E+1);if(_isNewLine($))return E;E=_consumeIdentifier(v,E,P);if(P.identifier!==undefined){return P.identifier(v,R,E)}}else if(_isIdentifierStartCode($)){E=consumeOtherIdentifier(v,E-1,P)}return E};const consumeDot=(v,E,P)=>{const R=E;E++;if(E===v.length)return E;const $=v.charCodeAt(E);if(_isDigit($))return consumeNumericToken(v,E-2,P);if(!P.isSelector(v,E)||!_startsIdentifier(v,E))return E;E=_consumeIdentifier(v,E,P);if(P.class!==undefined)return P.class(v,R,E);return E};const consumeNumericToken=(v,E,P)=>{E=_consumeNumber(v,E,P);if(E===v.length)return E;if(_startsIdentifier(v,E))return _consumeIdentifier(v,E,P);const R=v.charCodeAt(E);if(R===Ye)return E+1;return E};const consumeOtherIdentifier=(v,E,P)=>{const R=E;E=_consumeIdentifier(v,E,P);if(E!==v.length&&v.charCodeAt(E)===ae){E++;if(P.function!==undefined){return P.function(v,R,E)}}else{if(P.identifier!==undefined){return P.identifier(v,R,E)}}return E};const consumePotentialUrl=(v,E,P)=>{const R=E;E=_consumeIdentifier(v,E,P);const $=E+1;if(E===R+3&&v.slice(R,$).toLowerCase()==="url("){E++;let N=v.charCodeAt(E);while(_isWhiteSpace(N)){E++;if(E===v.length)return E;N=v.charCodeAt(E)}if(N===Ie||N===He){if(P.function!==undefined){return P.function(v,R,$)}return $}else{const $=E;let L;for(;;){if(N===q){E++;if(E===v.length)return E;E++}else if(_isWhiteSpace(N)){L=E;do{E++;if(E===v.length)return E;N=v.charCodeAt(E)}while(_isWhiteSpace(N));if(N!==ge)return E;E++;if(P.url!==undefined){return P.url(v,R,E,$,L)}return E}else if(N===ge){L=E;E++;if(P.url!==undefined){return P.url(v,R,E,$,L)}return E}else if(N===ae){return E}else{E++}if(E===v.length)return E;N=v.charCodeAt(E)}}}else{if(P.identifier!==undefined){return P.identifier(v,R,E)}return E}};const consumePotentialPseudo=(v,E,P)=>{const R=E;E++;if(!P.isSelector(v,E)||!_startsIdentifier(v,E))return E;E=_consumeIdentifier(v,E,P);let $=v.charCodeAt(E);if($===ae){E++;if(P.pseudoFunction!==undefined){return P.pseudoFunction(v,R,E)}return E}if(P.pseudoClass!==undefined){return P.pseudoClass(v,R,E)}return E};const consumeLeftParenthesis=(v,E,P)=>{E++;if(P.leftParenthesis!==undefined){return P.leftParenthesis(v,E-1,E)}return E};const consumeRightParenthesis=(v,E,P)=>{E++;if(P.rightParenthesis!==undefined){return P.rightParenthesis(v,E-1,E)}return E};const consumeLeftCurlyBracket=(v,E,P)=>{E++;if(P.leftCurlyBracket!==undefined){return P.leftCurlyBracket(v,E-1,E)}return E};const consumeRightCurlyBracket=(v,E,P)=>{E++;if(P.rightCurlyBracket!==undefined){return P.rightCurlyBracket(v,E-1,E)}return E};const consumeSemicolon=(v,E,P)=>{E++;if(P.semicolon!==undefined){return P.semicolon(v,E-1,E)}return E};const consumeComma=(v,E,P)=>{E++;if(P.comma!==undefined){return P.comma(v,E-1,E)}return E};const _consumeIdentifier=(v,E)=>{for(;;){const P=v.charCodeAt(E);if(P===q){E++;if(E===v.length)return E;E++}else if(_isIdentifierStartCode(P)||_isDigit(P)||P===dt){E++}else{return E}}};const _consumeNumber=(v,E)=>{E++;if(E===v.length)return E;let P=v.charCodeAt(E);while(_isDigit(P)){E++;if(E===v.length)return E;P=v.charCodeAt(E)}if(P===Qe&&E+1!==v.length){const R=v.charCodeAt(E+1);if(_isDigit(R)){E+=2;P=v.charCodeAt(E);while(_isDigit(P)){E++;if(E===v.length)return E;P=v.charCodeAt(E)}}}if(P===nt||P===ot){if(E+1!==v.length){const P=v.charCodeAt(E+2);if(_isDigit(P)){E+=2}else if((P===dt||P===pt)&&E+2!==v.length){const P=v.charCodeAt(E+2);if(_isDigit(P)){E+=3}else{return E}}else{return E}}}else{return E}P=v.charCodeAt(E);while(_isDigit(P)){E++;if(E===v.length)return E;P=v.charCodeAt(E)}return E};const consumeLessThan=(v,E,P)=>{if(v.slice(E+1,E+4)==="!--")return E+4;return E+1};const consumeAt=(v,E,P)=>{const R=E;E++;if(E===v.length)return E;if(_startsIdentifier(v,E)){E=_consumeIdentifier(v,E,P);if(P.atKeyword!==undefined){E=P.atKeyword(v,R,E)}}return E};const consumeReverseSolidus=(v,E,P)=>{const R=E;E++;if(E===v.length)return E;if(_isTwoCodePointsAreValidEscape(v.charCodeAt(R),v.charCodeAt(E))){return consumeOtherIdentifier(v,E-1,P)}return E};const mt=Array.from({length:128},((v,L)=>{switch(L){case E:case P:case R:case $:case N:return consumeSpace;case Ie:return consumeString(L);case ut:return consumeNumberSign;case He:return consumeString(L);case ae:return consumeLeftParenthesis;case ge:return consumeRightParenthesis;case pt:return consumeNumericToken;case Ke:return consumeComma;case dt:return consumeMinus;case Qe:return consumeDot;case Je:return consumePotentialPseudo;case Ve:return consumeSemicolon;case ft:return consumeLessThan;case Xe:return consumeAt;case ve:return consumeDelimToken;case q:return consumeReverseSolidus;case Ae:return consumeDelimToken;case be:return consumeLeftCurlyBracket;case xe:return consumeRightCurlyBracket;case tt:case it:return consumePotentialUrl;default:if(_isDigit(L))return consumeNumericToken;if(isIdentStartCodePoint(L)){return consumeOtherIdentifier}return consumeDelimToken}}));v.exports=(v,E)=>{let P=0;while(P{for(;;){let P=E;E=consumeComments(v,E,{});if(P===E){break}}return E};v.exports.eatWhitespace=(v,E)=>{while(_isWhiteSpace(v.charCodeAt(E))){E++}return E};v.exports.eatWhitespaceAndComments=(v,E)=>{for(;;){let P=E;E=consumeComments(v,E,{});while(_isWhiteSpace(v.charCodeAt(E))){E++}if(P===E){break}}return E};v.exports.eatWhiteLine=(v,R)=>{for(;;){const $=v.charCodeAt(R);if(_isSpace($)){R++;continue}if(_isNewLine($))R++;if($===P&&v.charCodeAt(R+1)===E)R++;break}return R}},97128:function(v,E,P){"use strict";const{Tracer:R}=P(86853);const{JAVASCRIPT_MODULE_TYPE_AUTO:$,JAVASCRIPT_MODULE_TYPE_DYNAMIC:N,JAVASCRIPT_MODULE_TYPE_ESM:L,WEBASSEMBLY_MODULE_TYPE_ASYNC:q,WEBASSEMBLY_MODULE_TYPE_SYNC:K,JSON_MODULE_TYPE:ae}=P(98791);const ge=P(86278);const{dirname:be,mkdirpSync:xe}=P(23763);const ve=ge(P(42771),(()=>P(78333)),{name:"Profiling Plugin",baseDataPath:"options"});let Ae=undefined;try{Ae=P(31405)}catch(v){console.log("Unable to CPU profile in < node 8.0")}class Profiler{constructor(v){this.session=undefined;this.inspector=v;this._startTime=0}hasSession(){return this.session!==undefined}startProfiling(){if(this.inspector===undefined){return Promise.resolve()}try{this.session=new Ae.Session;this.session.connect()}catch(v){this.session=undefined;return Promise.resolve()}const v=process.hrtime();this._startTime=v[0]*1e6+Math.round(v[1]/1e3);return Promise.all([this.sendCommand("Profiler.setSamplingInterval",{interval:100}),this.sendCommand("Profiler.enable"),this.sendCommand("Profiler.start")])}sendCommand(v,E){if(this.hasSession()){return new Promise(((P,R)=>this.session.post(v,E,((v,E)=>{if(v!==null){R(v)}else{P(E)}}))))}else{return Promise.resolve()}}destroy(){if(this.hasSession()){this.session.disconnect()}return Promise.resolve()}stopProfiling(){return this.sendCommand("Profiler.stop").then((({profile:v})=>{const E=process.hrtime();const P=E[0]*1e6+Math.round(E[1]/1e3);if(v.startTimeP){const E=v.endTime-v.startTime;const R=P-this._startTime;const $=Math.max(0,R-E);v.startTime=this._startTime+$/2;v.endTime=P-$/2}return{profile:v}}))}}const createTrace=(v,E)=>{const P=new R;const $=new Profiler(Ae);if(/\/|\\/.test(E)){const P=be(v,E);xe(v,P)}const N=v.createWriteStream(E);let L=0;P.pipe(N);P.instantEvent({name:"TracingStartedInPage",id:++L,cat:["disabled-by-default-devtools.timeline"],args:{data:{sessionId:"-1",page:"0xfff",frames:[{frame:"0xfff",url:"webpack",name:""}]}}});P.instantEvent({name:"TracingStartedInBrowser",id:++L,cat:["disabled-by-default-devtools.timeline"],args:{data:{sessionId:"-1"}}});return{trace:P,counter:L,profiler:$,end:v=>{P.push("]");N.on("close",(()=>{v()}));P.push(null)}}};const Ie="ProfilingPlugin";class ProfilingPlugin{constructor(v={}){ve(v);this.outputPath=v.outputPath||"events.json"}apply(v){const E=createTrace(v.intermediateFileSystem,this.outputPath);E.profiler.startProfiling();Object.keys(v.hooks).forEach((P=>{const R=v.hooks[P];if(R){R.intercept(makeInterceptorFor("Compiler",E)(P))}}));Object.keys(v.resolverFactory.hooks).forEach((P=>{const R=v.resolverFactory.hooks[P];if(R){R.intercept(makeInterceptorFor("Resolver",E)(P))}}));v.hooks.compilation.tap(Ie,((v,{normalModuleFactory:P,contextModuleFactory:R})=>{interceptAllHooksFor(v,E,"Compilation");interceptAllHooksFor(P,E,"Normal Module Factory");interceptAllHooksFor(R,E,"Context Module Factory");interceptAllParserHooks(P,E);interceptAllJavascriptModulesPluginHooks(v,E)}));v.hooks.done.tapAsync({name:Ie,stage:Infinity},((P,R)=>{if(v.watchMode)return R();E.profiler.stopProfiling().then((v=>{if(v===undefined){E.profiler.destroy();E.end(R);return}const P=v.profile.startTime;const $=v.profile.endTime;E.trace.completeEvent({name:"TaskQueueManager::ProcessTaskFromWorkQueue",id:++E.counter,cat:["toplevel"],ts:P,args:{src_file:"../../ipc/ipc_moji_bootstrap.cc",src_func:"Accept"}});E.trace.completeEvent({name:"EvaluateScript",id:++E.counter,cat:["devtools.timeline"],ts:P,dur:$-P,args:{data:{url:"webpack",lineNumber:1,columnNumber:1,frame:"0xFFF"}}});E.trace.instantEvent({name:"CpuProfile",id:++E.counter,cat:["disabled-by-default-devtools.timeline"],ts:$,args:{data:{cpuProfile:v.profile}}});E.profiler.destroy();E.end(R)}))}))}}const interceptAllHooksFor=(v,E,P)=>{if(Reflect.has(v,"hooks")){Object.keys(v.hooks).forEach((R=>{const $=v.hooks[R];if($&&!$._fakeHook){$.intercept(makeInterceptorFor(P,E)(R))}}))}};const interceptAllParserHooks=(v,E)=>{const P=[$,N,L,ae,q,K];P.forEach((P=>{v.hooks.parser.for(P).tap(Ie,((v,P)=>{interceptAllHooksFor(v,E,"Parser")}))}))};const interceptAllJavascriptModulesPluginHooks=(v,E)=>{interceptAllHooksFor({hooks:P(87885).getCompilationHooks(v)},E,"JavascriptModulesPlugin")};const makeInterceptorFor=(v,E)=>v=>({register:P=>{const{name:R,type:$,fn:N}=P;const L=R===Ie?N:makeNewProfiledTapFn(v,E,{name:R,type:$,fn:N});return{...P,fn:L}}});const makeNewProfiledTapFn=(v,E,{name:P,type:R,fn:$})=>{const N=["blink.user_timing"];switch(R){case"promise":return(...v)=>{const R=++E.counter;E.trace.begin({name:P,id:R,cat:N});const L=$(...v);return L.then((v=>{E.trace.end({name:P,id:R,cat:N});return v}))};case"async":return(...v)=>{const R=++E.counter;E.trace.begin({name:P,id:R,cat:N});const L=v.pop();$(...v,((...v)=>{E.trace.end({name:P,id:R,cat:N});L(...v)}))};case"sync":return(...v)=>{const R=++E.counter;if(P===Ie){return $(...v)}E.trace.begin({name:P,id:R,cat:N});let L;try{L=$(...v)}catch(v){E.trace.end({name:P,id:R,cat:N});throw v}E.trace.end({name:P,id:R,cat:N});return L};default:break}};v.exports=ProfilingPlugin;v.exports.Profiler=Profiler},98961:function(v,E,P){"use strict";const R=P(75189);const $=P(74364);const N=P(43301);const L={f:{definition:"var __WEBPACK_AMD_DEFINE_RESULT__;",content:`!(__WEBPACK_AMD_DEFINE_RESULT__ = (#).call(exports, ${R.require}, exports, module),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))`,requests:[R.require,R.exports,R.module]},o:{definition:"",content:"!(module.exports = #)",requests:[R.module]},of:{definition:"var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;",content:`!(__WEBPACK_AMD_DEFINE_FACTORY__ = (#),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, ${R.require}, exports, module)) :\n\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))`,requests:[R.require,R.exports,R.module]},af:{definition:"var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;",content:`!(__WEBPACK_AMD_DEFINE_ARRAY__ = #, __WEBPACK_AMD_DEFINE_RESULT__ = (#).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))`,requests:[R.exports,R.module]},ao:{definition:"",content:"!(#, module.exports = #)",requests:[R.module]},aof:{definition:"var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;",content:`!(__WEBPACK_AMD_DEFINE_ARRAY__ = #, __WEBPACK_AMD_DEFINE_FACTORY__ = (#),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))`,requests:[R.exports,R.module]},lf:{definition:"var XXX, XXXmodule;",content:`!(XXXmodule = { id: YYY, exports: {}, loaded: false }, XXX = (#).call(XXXmodule.exports, ${R.require}, XXXmodule.exports, XXXmodule), XXXmodule.loaded = true, XXX === undefined && (XXX = XXXmodule.exports))`,requests:[R.require,R.module]},lo:{definition:"var XXX;",content:"!(XXX = #)",requests:[]},lof:{definition:"var XXX, XXXfactory, XXXmodule;",content:`!(XXXfactory = (#), (typeof XXXfactory === 'function' ? ((XXXmodule = { id: YYY, exports: {}, loaded: false }), (XXX = XXXfactory.call(XXXmodule.exports, ${R.require}, XXXmodule.exports, XXXmodule)), (XXXmodule.loaded = true), XXX === undefined && (XXX = XXXmodule.exports)) : XXX = XXXfactory))`,requests:[R.require,R.module]},laf:{definition:"var __WEBPACK_AMD_DEFINE_ARRAY__, XXX, XXXexports;",content:"!(__WEBPACK_AMD_DEFINE_ARRAY__ = #, XXX = (#).apply(XXXexports = {}, __WEBPACK_AMD_DEFINE_ARRAY__), XXX === undefined && (XXX = XXXexports))",requests:[]},lao:{definition:"var XXX;",content:"!(#, XXX = #)",requests:[]},laof:{definition:"var XXXarray, XXXfactory, XXXexports, XXX;",content:`!(XXXarray = #, XXXfactory = (#),\n\t\t(typeof XXXfactory === 'function' ?\n\t\t\t((XXX = XXXfactory.apply(XXXexports = {}, XXXarray)), XXX === undefined && (XXX = XXXexports)) :\n\t\t\t(XXX = XXXfactory)\n\t\t))`,requests:[]}};class AMDDefineDependency extends N{constructor(v,E,P,R,$){super();this.range=v;this.arrayRange=E;this.functionRange=P;this.objectRange=R;this.namedModule=$;this.localModule=null}get type(){return"amd define"}serialize(v){const{write:E}=v;E(this.range);E(this.arrayRange);E(this.functionRange);E(this.objectRange);E(this.namedModule);E(this.localModule);super.serialize(v)}deserialize(v){const{read:E}=v;this.range=E();this.arrayRange=E();this.functionRange=E();this.objectRange=E();this.namedModule=E();this.localModule=E();super.deserialize(v)}}$(AMDDefineDependency,"webpack/lib/dependencies/AMDDefineDependency");AMDDefineDependency.Template=class AMDDefineDependencyTemplate extends N.Template{apply(v,E,{runtimeRequirements:P}){const R=v;const $=this.branch(R);const{definition:N,content:q,requests:K}=L[$];for(const v of K){P.add(v)}this.replace(R,E,N,q)}localModuleVar(v){return v.localModule&&v.localModule.used&&v.localModule.variableName()}branch(v){const E=this.localModuleVar(v)?"l":"";const P=v.arrayRange?"a":"";const R=v.objectRange?"o":"";const $=v.functionRange?"f":"";return E+P+R+$}replace(v,E,P,R){const $=this.localModuleVar(v);if($){R=R.replace(/XXX/g,$.replace(/\$/g,"$$$$"));P=P.replace(/XXX/g,$.replace(/\$/g,"$$$$"))}if(v.namedModule){R=R.replace(/YYY/g,JSON.stringify(v.namedModule))}const N=R.split("#");if(P)E.insert(0,P);let L=v.range[0];if(v.arrayRange){E.replace(L,v.arrayRange[0]-1,N.shift());L=v.arrayRange[1]}if(v.objectRange){E.replace(L,v.objectRange[0]-1,N.shift());L=v.objectRange[1]}else if(v.functionRange){E.replace(L,v.functionRange[0]-1,N.shift());L=v.functionRange[1]}E.replace(L,v.range[1]-1,N.shift());if(N.length>0)throw new Error("Implementation error")}};v.exports=AMDDefineDependency},75590:function(v,E,P){"use strict";const R=P(75189);const $=P(98961);const N=P(81951);const L=P(17450);const q=P(73457);const K=P(52540);const ae=P(33838);const ge=P(54788);const be=P(11961);const{addLocalModule:xe,getLocalModule:ve}=P(58975);const isBoundFunctionExpression=v=>{if(v.type!=="CallExpression")return false;if(v.callee.type!=="MemberExpression")return false;if(v.callee.computed)return false;if(v.callee.object.type!=="FunctionExpression")return false;if(v.callee.property.type!=="Identifier")return false;if(v.callee.property.name!=="bind")return false;return true};const isUnboundFunctionExpression=v=>{if(v.type==="FunctionExpression")return true;if(v.type==="ArrowFunctionExpression")return true;return false};const isCallable=v=>{if(isUnboundFunctionExpression(v))return true;if(isBoundFunctionExpression(v))return true;return false};class AMDDefineDependencyParserPlugin{constructor(v){this.options=v}apply(v){v.hooks.call.for("define").tap("AMDDefineDependencyParserPlugin",this.processCallDefine.bind(this,v))}processArray(v,E,P,$,N){if(P.isArray()){P.items.forEach(((P,R)=>{if(P.isString()&&["require","module","exports"].includes(P.string))$[R]=P.string;const L=this.processItem(v,E,P,N);if(L===undefined){this.processContext(v,E,P)}}));return true}else if(P.isConstArray()){const N=[];P.array.forEach(((P,L)=>{let q;let K;if(P==="require"){$[L]=P;q=R.require}else if(["exports","module"].includes(P)){$[L]=P;q=P}else if(K=ve(v.state,P)){K.flagUsed();q=new be(K,undefined,false);q.loc=E.loc;v.state.module.addPresentationalDependency(q)}else{q=this.newRequireItemDependency(P);q.loc=E.loc;q.optional=!!v.scope.inTry;v.state.current.addDependency(q)}N.push(q)}));const L=this.newRequireArrayDependency(N,P.range);L.loc=E.loc;L.optional=!!v.scope.inTry;v.state.module.addPresentationalDependency(L);return true}}processItem(v,E,P,$){if(P.isConditional()){P.options.forEach((P=>{const R=this.processItem(v,E,P);if(R===undefined){this.processContext(v,E,P)}}));return true}else if(P.isString()){let N,L;if(P.string==="require"){N=new K(R.require,P.range,[R.require])}else if(P.string==="exports"){N=new K("exports",P.range,[R.exports])}else if(P.string==="module"){N=new K("module",P.range,[R.module])}else if(L=ve(v.state,P.string,$)){L.flagUsed();N=new be(L,P.range,false)}else{N=this.newRequireItemDependency(P.string,P.range);N.optional=!!v.scope.inTry;v.state.current.addDependency(N);return true}N.loc=E.loc;v.state.module.addPresentationalDependency(N);return true}}processContext(v,E,P){const R=ae.create(L,P.range,P,E,this.options,{category:"amd"},v);if(!R)return;R.loc=E.loc;R.optional=!!v.scope.inTry;v.state.current.addDependency(R);return true}processCallDefine(v,E){let P,R,$,N;switch(E.arguments.length){case 1:if(isCallable(E.arguments[0])){R=E.arguments[0]}else if(E.arguments[0].type==="ObjectExpression"){$=E.arguments[0]}else{$=R=E.arguments[0]}break;case 2:if(E.arguments[0].type==="Literal"){N=E.arguments[0].value;if(isCallable(E.arguments[1])){R=E.arguments[1]}else if(E.arguments[1].type==="ObjectExpression"){$=E.arguments[1]}else{$=R=E.arguments[1]}}else{P=E.arguments[0];if(isCallable(E.arguments[1])){R=E.arguments[1]}else if(E.arguments[1].type==="ObjectExpression"){$=E.arguments[1]}else{$=R=E.arguments[1]}}break;case 3:N=E.arguments[0].value;P=E.arguments[1];if(isCallable(E.arguments[2])){R=E.arguments[2]}else if(E.arguments[2].type==="ObjectExpression"){$=E.arguments[2]}else{$=R=E.arguments[2]}break;default:return}ge.bailout(v.state);let L=null;let q=0;if(R){if(isUnboundFunctionExpression(R)){L=R.params}else if(isBoundFunctionExpression(R)){L=R.callee.object.params;q=R.arguments.length-1;if(q<0){q=0}}}let K=new Map;if(P){const R={};const $=v.evaluateExpression(P);const ae=this.processArray(v,E,$,R,N);if(!ae)return;if(L){L=L.slice(q).filter(((E,P)=>{if(R[P]){K.set(E.name,v.getVariableInfo(R[P]));return false}return true}))}}else{const E=["require","exports","module"];if(L){L=L.slice(q).filter(((P,R)=>{if(E[R]){K.set(P.name,v.getVariableInfo(E[R]));return false}return true}))}}let ae;if(R&&isUnboundFunctionExpression(R)){ae=v.scope.inTry;v.inScope(L,(()=>{for(const[E,P]of K){v.setVariable(E,P)}v.scope.inTry=ae;if(R.body.type==="BlockStatement"){v.detectMode(R.body.body);const E=v.prevStatement;v.preWalkStatement(R.body);v.prevStatement=E;v.walkStatement(R.body)}else{v.walkExpression(R.body)}}))}else if(R&&isBoundFunctionExpression(R)){ae=v.scope.inTry;v.inScope(R.callee.object.params.filter((v=>!["require","module","exports"].includes(v.name))),(()=>{for(const[E,P]of K){v.setVariable(E,P)}v.scope.inTry=ae;if(R.callee.object.body.type==="BlockStatement"){v.detectMode(R.callee.object.body.body);const E=v.prevStatement;v.preWalkStatement(R.callee.object.body);v.prevStatement=E;v.walkStatement(R.callee.object.body)}else{v.walkExpression(R.callee.object.body)}}));if(R.arguments){v.walkExpressions(R.arguments)}}else if(R||$){v.walkExpression(R||$)}const be=this.newDefineDependency(E.range,P?P.range:null,R?R.range:null,$?$.range:null,N?N:null);be.loc=E.loc;if(N){be.localModule=xe(v.state,N)}v.state.module.addPresentationalDependency(be);return true}newDefineDependency(v,E,P,R,N){return new $(v,E,P,R,N)}newRequireArrayDependency(v,E){return new N(v,E)}newRequireItemDependency(v,E){return new q(v,E)}}v.exports=AMDDefineDependencyParserPlugin},87890:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$}=P(98791);const N=P(75189);const{approve:L,evaluateToIdentifier:q,evaluateToString:K,toConstantDependency:ae}=P(31445);const ge=P(98961);const be=P(75590);const xe=P(81951);const ve=P(17450);const Ae=P(53408);const Ie=P(69005);const He=P(73457);const{AMDDefineRuntimeModule:Qe,AMDOptionsRuntimeModule:Je}=P(17729);const Ve=P(52540);const Ke=P(11961);const Ye=P(60461);const Xe="AMDPlugin";class AMDPlugin{constructor(v){this.amdOptions=v}apply(v){const E=this.amdOptions;v.hooks.compilation.tap(Xe,((v,{contextModuleFactory:P,normalModuleFactory:Ze})=>{v.dependencyTemplates.set(Ie,new Ie.Template);v.dependencyFactories.set(He,Ze);v.dependencyTemplates.set(He,new He.Template);v.dependencyTemplates.set(xe,new xe.Template);v.dependencyFactories.set(ve,P);v.dependencyTemplates.set(ve,new ve.Template);v.dependencyTemplates.set(ge,new ge.Template);v.dependencyTemplates.set(Ye,new Ye.Template);v.dependencyTemplates.set(Ke,new Ke.Template);v.hooks.runtimeRequirementInModule.for(N.amdDefine).tap(Xe,((v,E)=>{E.add(N.require)}));v.hooks.runtimeRequirementInModule.for(N.amdOptions).tap(Xe,((v,E)=>{E.add(N.requireScope)}));v.hooks.runtimeRequirementInTree.for(N.amdDefine).tap(Xe,((E,P)=>{v.addRuntimeModule(E,new Qe)}));v.hooks.runtimeRequirementInTree.for(N.amdOptions).tap(Xe,((P,R)=>{v.addRuntimeModule(P,new Je(E))}));const handler=(v,E)=>{if(E.amd!==undefined&&!E.amd)return;const tapOptionsHooks=(E,P,R)=>{v.hooks.expression.for(E).tap(Xe,ae(v,N.amdOptions,[N.amdOptions]));v.hooks.evaluateIdentifier.for(E).tap(Xe,q(E,P,R,true));v.hooks.evaluateTypeof.for(E).tap(Xe,K("object"));v.hooks.typeof.for(E).tap(Xe,ae(v,JSON.stringify("object")))};new Ae(E).apply(v);new be(E).apply(v);tapOptionsHooks("define.amd","define",(()=>"amd"));tapOptionsHooks("require.amd","require",(()=>["amd"]));tapOptionsHooks("__webpack_amd_options__","__webpack_amd_options__",(()=>[]));v.hooks.expression.for("define").tap(Xe,(E=>{const P=new Ve(N.amdDefine,E.range,[N.amdDefine]);P.loc=E.loc;v.state.module.addPresentationalDependency(P);return true}));v.hooks.typeof.for("define").tap(Xe,ae(v,JSON.stringify("function")));v.hooks.evaluateTypeof.for("define").tap(Xe,K("function"));v.hooks.canRename.for("define").tap(Xe,L);v.hooks.rename.for("define").tap(Xe,(E=>{const P=new Ve(N.amdDefine,E.range,[N.amdDefine]);P.loc=E.loc;v.state.module.addPresentationalDependency(P);return false}));v.hooks.typeof.for("require").tap(Xe,ae(v,JSON.stringify("function")));v.hooks.evaluateTypeof.for("require").tap(Xe,K("function"))};Ze.hooks.parser.for(R).tap(Xe,handler);Ze.hooks.parser.for($).tap(Xe,handler)}))}}v.exports=AMDPlugin},81951:function(v,E,P){"use strict";const R=P(35226);const $=P(74364);const N=P(43301);class AMDRequireArrayDependency extends N{constructor(v,E){super();this.depsArray=v;this.range=E}get type(){return"amd require array"}get category(){return"amd"}serialize(v){const{write:E}=v;E(this.depsArray);E(this.range);super.serialize(v)}deserialize(v){const{read:E}=v;this.depsArray=E();this.range=E();super.deserialize(v)}}$(AMDRequireArrayDependency,"webpack/lib/dependencies/AMDRequireArrayDependency");AMDRequireArrayDependency.Template=class AMDRequireArrayDependencyTemplate extends R{apply(v,E,P){const R=v;const $=this.getContent(R,P);E.replace(R.range[0],R.range[1]-1,$)}getContent(v,E){const P=v.depsArray.map((v=>this.contentForDependency(v,E)));return`[${P.join(", ")}]`}contentForDependency(v,{runtimeTemplate:E,moduleGraph:P,chunkGraph:R,runtimeRequirements:$}){if(typeof v==="string"){return v}if(v.localModule){return v.localModule.variableName()}else{return E.moduleExports({module:P.getModule(v),chunkGraph:R,request:v.request,runtimeRequirements:$})}}};v.exports=AMDRequireArrayDependency},17450:function(v,E,P){"use strict";const R=P(74364);const $=P(80070);class AMDRequireContextDependency extends ${constructor(v,E,P){super(v);this.range=E;this.valueRange=P}get type(){return"amd require context"}get category(){return"amd"}serialize(v){const{write:E}=v;E(this.range);E(this.valueRange);super.serialize(v)}deserialize(v){const{read:E}=v;this.range=E();this.valueRange=E();super.deserialize(v)}}R(AMDRequireContextDependency,"webpack/lib/dependencies/AMDRequireContextDependency");AMDRequireContextDependency.Template=P(44520);v.exports=AMDRequireContextDependency},36689:function(v,E,P){"use strict";const R=P(75165);const $=P(74364);class AMDRequireDependenciesBlock extends R{constructor(v,E){super(null,v,E)}}$(AMDRequireDependenciesBlock,"webpack/lib/dependencies/AMDRequireDependenciesBlock");v.exports=AMDRequireDependenciesBlock},53408:function(v,E,P){"use strict";const R=P(75189);const $=P(31524);const N=P(81951);const L=P(17450);const q=P(36689);const K=P(69005);const ae=P(73457);const ge=P(52540);const be=P(33838);const xe=P(11961);const{getLocalModule:ve}=P(58975);const Ae=P(60461);const Ie=P(43094);class AMDRequireDependenciesBlockParserPlugin{constructor(v){this.options=v}processFunctionArgument(v,E){let P=true;const R=Ie(E);if(R){v.inScope(R.fn.params.filter((v=>!["require","module","exports"].includes(v.name))),(()=>{if(R.fn.body.type==="BlockStatement"){v.walkStatement(R.fn.body)}else{v.walkExpression(R.fn.body)}}));v.walkExpressions(R.expressions);if(R.needThis===false){P=false}}else{v.walkExpression(E)}return P}apply(v){v.hooks.call.for("require").tap("AMDRequireDependenciesBlockParserPlugin",this.processCallRequire.bind(this,v))}processArray(v,E,P){if(P.isArray()){for(const R of P.items){const P=this.processItem(v,E,R);if(P===undefined){this.processContext(v,E,R)}}return true}else if(P.isConstArray()){const $=[];for(const N of P.array){let P,L;if(N==="require"){P=R.require}else if(["exports","module"].includes(N)){P=N}else if(L=ve(v.state,N)){L.flagUsed();P=new xe(L,undefined,false);P.loc=E.loc;v.state.module.addPresentationalDependency(P)}else{P=this.newRequireItemDependency(N);P.loc=E.loc;P.optional=!!v.scope.inTry;v.state.current.addDependency(P)}$.push(P)}const N=this.newRequireArrayDependency($,P.range);N.loc=E.loc;N.optional=!!v.scope.inTry;v.state.module.addPresentationalDependency(N);return true}}processItem(v,E,P){if(P.isConditional()){for(const R of P.options){const P=this.processItem(v,E,R);if(P===undefined){this.processContext(v,E,R)}}return true}else if(P.isString()){let $,N;if(P.string==="require"){$=new ge(R.require,P.string,[R.require])}else if(P.string==="module"){$=new ge(v.state.module.buildInfo.moduleArgument,P.range,[R.module])}else if(P.string==="exports"){$=new ge(v.state.module.buildInfo.exportsArgument,P.range,[R.exports])}else if(N=ve(v.state,P.string)){N.flagUsed();$=new xe(N,P.range,false)}else{$=this.newRequireItemDependency(P.string,P.range);$.loc=E.loc;$.optional=!!v.scope.inTry;v.state.current.addDependency($);return true}$.loc=E.loc;v.state.module.addPresentationalDependency($);return true}}processContext(v,E,P){const R=be.create(L,P.range,P,E,this.options,{category:"amd"},v);if(!R)return;R.loc=E.loc;R.optional=!!v.scope.inTry;v.state.current.addDependency(R);return true}processArrayForRequestString(v){if(v.isArray()){const E=v.items.map((v=>this.processItemForRequestString(v)));if(E.every(Boolean))return E.join(" ")}else if(v.isConstArray()){return v.array.join(" ")}}processItemForRequestString(v){if(v.isConditional()){const E=v.options.map((v=>this.processItemForRequestString(v)));if(E.every(Boolean))return E.join("|")}else if(v.isString()){return v.string}}processCallRequire(v,E){let P;let R;let N;let L;const q=v.state.current;if(E.arguments.length>=1){P=v.evaluateExpression(E.arguments[0]);R=this.newRequireDependenciesBlock(E.loc,this.processArrayForRequestString(P));N=this.newRequireDependency(E.range,P.range,E.arguments.length>1?E.arguments[1].range:null,E.arguments.length>2?E.arguments[2].range:null);N.loc=E.loc;R.addDependency(N);v.state.current=R}if(E.arguments.length===1){v.inScope([],(()=>{L=this.processArray(v,E,P)}));v.state.current=q;if(!L)return;v.state.current.addBlock(R);return true}if(E.arguments.length===2||E.arguments.length===3){try{v.inScope([],(()=>{L=this.processArray(v,E,P)}));if(!L){const P=new Ae("unsupported",E.range);q.addPresentationalDependency(P);if(v.state.module){v.state.module.addError(new $("Cannot statically analyse 'require(…, …)' in line "+E.loc.start.line,E.loc))}R=null;return true}N.functionBindThis=this.processFunctionArgument(v,E.arguments[1]);if(E.arguments.length===3){N.errorCallbackBindThis=this.processFunctionArgument(v,E.arguments[2])}}finally{v.state.current=q;if(R)v.state.current.addBlock(R)}return true}}newRequireDependenciesBlock(v,E){return new q(v,E)}newRequireDependency(v,E,P,R){return new K(v,E,P,R)}newRequireItemDependency(v,E){return new ae(v,E)}newRequireArrayDependency(v,E){return new N(v,E)}}v.exports=AMDRequireDependenciesBlockParserPlugin},69005:function(v,E,P){"use strict";const R=P(75189);const $=P(74364);const N=P(43301);class AMDRequireDependency extends N{constructor(v,E,P,R){super();this.outerRange=v;this.arrayRange=E;this.functionRange=P;this.errorCallbackRange=R;this.functionBindThis=false;this.errorCallbackBindThis=false}get category(){return"amd"}serialize(v){const{write:E}=v;E(this.outerRange);E(this.arrayRange);E(this.functionRange);E(this.errorCallbackRange);E(this.functionBindThis);E(this.errorCallbackBindThis);super.serialize(v)}deserialize(v){const{read:E}=v;this.outerRange=E();this.arrayRange=E();this.functionRange=E();this.errorCallbackRange=E();this.functionBindThis=E();this.errorCallbackBindThis=E();super.deserialize(v)}}$(AMDRequireDependency,"webpack/lib/dependencies/AMDRequireDependency");AMDRequireDependency.Template=class AMDRequireDependencyTemplate extends N.Template{apply(v,E,{runtimeTemplate:P,moduleGraph:$,chunkGraph:N,runtimeRequirements:L}){const q=v;const K=$.getParentBlock(q);const ae=P.blockPromise({chunkGraph:N,block:K,message:"AMD require",runtimeRequirements:L});if(q.arrayRange&&!q.functionRange){const v=`${ae}.then(function() {`;const P=`;})['catch'](${R.uncaughtErrorHandler})`;L.add(R.uncaughtErrorHandler);E.replace(q.outerRange[0],q.arrayRange[0]-1,v);E.replace(q.arrayRange[1],q.outerRange[1]-1,P);return}if(q.functionRange&&!q.arrayRange){const v=`${ae}.then((`;const P=`).bind(exports, ${R.require}, exports, module))['catch'](${R.uncaughtErrorHandler})`;L.add(R.uncaughtErrorHandler);E.replace(q.outerRange[0],q.functionRange[0]-1,v);E.replace(q.functionRange[1],q.outerRange[1]-1,P);return}if(q.arrayRange&&q.functionRange&&q.errorCallbackRange){const v=`${ae}.then(function() { `;const P=`}${q.functionBindThis?".bind(this)":""})['catch'](`;const R=`${q.errorCallbackBindThis?".bind(this)":""})`;E.replace(q.outerRange[0],q.arrayRange[0]-1,v);E.insert(q.arrayRange[0],"var __WEBPACK_AMD_REQUIRE_ARRAY__ = ");E.replace(q.arrayRange[1],q.functionRange[0]-1,"; (");E.insert(q.functionRange[1],").apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__);");E.replace(q.functionRange[1],q.errorCallbackRange[0]-1,P);E.replace(q.errorCallbackRange[1],q.outerRange[1]-1,R);return}if(q.arrayRange&&q.functionRange){const v=`${ae}.then(function() { `;const P=`}${q.functionBindThis?".bind(this)":""})['catch'](${R.uncaughtErrorHandler})`;L.add(R.uncaughtErrorHandler);E.replace(q.outerRange[0],q.arrayRange[0]-1,v);E.insert(q.arrayRange[0],"var __WEBPACK_AMD_REQUIRE_ARRAY__ = ");E.replace(q.arrayRange[1],q.functionRange[0]-1,"; (");E.insert(q.functionRange[1],").apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__);");E.replace(q.functionRange[1],q.outerRange[1]-1,P)}}};v.exports=AMDRequireDependency},73457:function(v,E,P){"use strict";const R=P(74364);const $=P(52743);const N=P(46619);class AMDRequireItemDependency extends ${constructor(v,E){super(v);this.range=E}get type(){return"amd require"}get category(){return"amd"}}R(AMDRequireItemDependency,"webpack/lib/dependencies/AMDRequireItemDependency");AMDRequireItemDependency.Template=N;v.exports=AMDRequireItemDependency},17729:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);const N=P(35600);class AMDDefineRuntimeModule extends ${constructor(){super("amd define")}generate(){return N.asString([`${R.amdDefine} = function () {`,N.indent("throw new Error('define cannot be used indirect');"),"};"])}}class AMDOptionsRuntimeModule extends ${constructor(v){super("amd options");this.options=v}generate(){return N.asString([`${R.amdOptions} = ${JSON.stringify(this.options)};`])}}E.AMDDefineRuntimeModule=AMDDefineRuntimeModule;E.AMDOptionsRuntimeModule=AMDOptionsRuntimeModule},76092:function(v,E,P){"use strict";const R=P(35226);const $=P(94252);const N=P(74364);const L=P(43301);class CachedConstDependency extends L{constructor(v,E,P){super();this.expression=v;this.range=E;this.identifier=P;this._hashUpdate=undefined}_createHashUpdate(){return`${this.identifier}${this.range}${this.expression}`}updateHash(v,E){if(this._hashUpdate===undefined)this._hashUpdate=this._createHashUpdate();v.update(this._hashUpdate)}serialize(v){const{write:E}=v;E(this.expression);E(this.range);E(this.identifier);super.serialize(v)}deserialize(v){const{read:E}=v;this.expression=E();this.range=E();this.identifier=E();super.deserialize(v)}}N(CachedConstDependency,"webpack/lib/dependencies/CachedConstDependency");CachedConstDependency.Template=class CachedConstDependencyTemplate extends R{apply(v,E,{runtimeTemplate:P,dependencyTemplates:R,initFragments:N}){const L=v;N.push(new $(`var ${L.identifier} = ${L.expression};\n`,$.STAGE_CONSTANTS,0,`const ${L.identifier}`));if(typeof L.range==="number"){E.insert(L.range,L.identifier);return}E.replace(L.range[0],L.range[1]-1,L.identifier)}};v.exports=CachedConstDependency},62044:function(v,E,P){"use strict";const R=P(75189);E.handleDependencyBase=(v,E,P)=>{let $=undefined;let N;switch(v){case"exports":P.add(R.exports);$=E.exportsArgument;N="expression";break;case"module.exports":P.add(R.module);$=`${E.moduleArgument}.exports`;N="expression";break;case"this":P.add(R.thisAsExports);$="this";N="expression";break;case"Object.defineProperty(exports)":P.add(R.exports);$=E.exportsArgument;N="Object.defineProperty";break;case"Object.defineProperty(module.exports)":P.add(R.module);$=`${E.moduleArgument}.exports`;N="Object.defineProperty";break;case"Object.defineProperty(this)":P.add(R.thisAsExports);$="this";N="Object.defineProperty";break;default:throw new Error(`Unsupported base ${v}`)}return[N,$]}},41161:function(v,E,P){"use strict";const R=P(61803);const{UsageState:$}=P(32514);const N=P(35600);const{equals:L}=P(98734);const q=P(74364);const K=P(53914);const{handleDependencyBase:ae}=P(62044);const ge=P(52743);const be=P(25158);const xe=Symbol("CommonJsExportRequireDependency.ids");const ve={};class CommonJsExportRequireDependency extends ge{constructor(v,E,P,R,$,N,L){super($);this.range=v;this.valueRange=E;this.base=P;this.names=R;this.ids=N;this.resultUsed=L;this.asiSafe=undefined}get type(){return"cjs export require"}couldAffectReferencingModule(){return R.TRANSITIVE}getIds(v){return v.getMeta(this)[xe]||this.ids}setIds(v,E){v.getMeta(this)[xe]=E}getReferencedExports(v,E){const P=this.getIds(v);const getFullResult=()=>{if(P.length===0){return R.EXPORTS_OBJECT_REFERENCED}else{return[{name:P,canMangle:false}]}};if(this.resultUsed)return getFullResult();let N=v.getExportsInfo(v.getParentModule(this));for(const v of this.names){const P=N.getReadOnlyExportInfo(v);const L=P.getUsed(E);if(L===$.Unused)return R.NO_EXPORTS_REFERENCED;if(L!==$.OnlyPropertiesUsed)return getFullResult();N=P.exportsInfo;if(!N)return getFullResult()}if(N.otherExportsInfo.getUsed(E)!==$.Unused){return getFullResult()}const L=[];for(const v of N.orderedExports){be(E,L,P.concat(v.name),v,false)}return L.map((v=>({name:v,canMangle:false})))}getExports(v){const E=this.getIds(v);if(this.names.length===1){const P=this.names[0];const R=v.getConnection(this);if(!R)return;return{exports:[{name:P,from:R,export:E.length===0?null:E,canMangle:!(P in ve)&&false}],dependencies:[R.module]}}else if(this.names.length>0){const v=this.names[0];return{exports:[{name:v,canMangle:!(v in ve)&&false}],dependencies:undefined}}else{const P=v.getConnection(this);if(!P)return;const R=this.getStarReexports(v,undefined,P.module);if(R){return{exports:Array.from(R.exports,(v=>({name:v,from:P,export:E.concat(v),canMangle:!(v in ve)&&false}))),dependencies:[P.module]}}else{return{exports:true,from:E.length===0?P:undefined,canMangle:false,dependencies:[P.module]}}}}getStarReexports(v,E,P=v.getModule(this)){let R=v.getExportsInfo(P);const N=this.getIds(v);if(N.length>0)R=R.getNestedExportsInfo(N);let L=v.getExportsInfo(v.getParentModule(this));if(this.names.length>0)L=L.getNestedExportsInfo(this.names);const q=R&&R.otherExportsInfo.provided===false;const K=L&&L.otherExportsInfo.getUsed(E)===$.Unused;if(!q&&!K){return}const ae=P.getExportsType(v,false)==="namespace";const ge=new Set;const be=new Set;if(K){for(const v of L.orderedExports){const P=v.name;if(v.getUsed(E)===$.Unused)continue;if(P==="__esModule"&&ae){ge.add(P)}else if(R){const v=R.getReadOnlyExportInfo(P);if(v.provided===false)continue;ge.add(P);if(v.provided===true)continue;be.add(P)}else{ge.add(P);be.add(P)}}}else if(q){for(const v of R.orderedExports){const P=v.name;if(v.provided===false)continue;if(L){const v=L.getReadOnlyExportInfo(P);if(v.getUsed(E)===$.Unused)continue}ge.add(P);if(v.provided===true)continue;be.add(P)}if(ae){ge.add("__esModule");be.delete("__esModule")}}return{exports:ge,checked:be}}serialize(v){const{write:E}=v;E(this.asiSafe);E(this.range);E(this.valueRange);E(this.base);E(this.names);E(this.ids);E(this.resultUsed);super.serialize(v)}deserialize(v){const{read:E}=v;this.asiSafe=E();this.range=E();this.valueRange=E();this.base=E();this.names=E();this.ids=E();this.resultUsed=E();super.deserialize(v)}}q(CommonJsExportRequireDependency,"webpack/lib/dependencies/CommonJsExportRequireDependency");CommonJsExportRequireDependency.Template=class CommonJsExportRequireDependencyTemplate extends ge.Template{apply(v,E,{module:P,runtimeTemplate:R,chunkGraph:$,moduleGraph:q,runtimeRequirements:ge,runtime:be}){const xe=v;const ve=q.getExportsInfo(P).getUsedName(xe.names,be);const[Ae,Ie]=ae(xe.base,P,ge);const He=q.getModule(xe);let Qe=R.moduleExports({module:He,chunkGraph:$,request:xe.request,weak:xe.weak,runtimeRequirements:ge});if(He){const v=xe.getIds(q);const E=q.getExportsInfo(He).getUsedName(v,be);if(E){const P=L(E,v)?"":N.toNormalComment(K(v))+" ";Qe+=`${P}${K(E)}`}}switch(Ae){case"expression":E.replace(xe.range[0],xe.range[1]-1,ve?`${Ie}${K(ve)} = ${Qe}`:`/* unused reexport */ ${Qe}`);return;case"Object.defineProperty":throw new Error("TODO");default:throw new Error("Unexpected type")}}};v.exports=CommonJsExportRequireDependency},53616:function(v,E,P){"use strict";const R=P(94252);const $=P(74364);const N=P(53914);const{handleDependencyBase:L}=P(62044);const q=P(43301);const K={};class CommonJsExportsDependency extends q{constructor(v,E,P,R){super();this.range=v;this.valueRange=E;this.base=P;this.names=R}get type(){return"cjs exports"}getExports(v){const E=this.names[0];return{exports:[{name:E,canMangle:!(E in K)}],dependencies:undefined}}serialize(v){const{write:E}=v;E(this.range);E(this.valueRange);E(this.base);E(this.names);super.serialize(v)}deserialize(v){const{read:E}=v;this.range=E();this.valueRange=E();this.base=E();this.names=E();super.deserialize(v)}}$(CommonJsExportsDependency,"webpack/lib/dependencies/CommonJsExportsDependency");CommonJsExportsDependency.Template=class CommonJsExportsDependencyTemplate extends q.Template{apply(v,E,{module:P,moduleGraph:$,initFragments:q,runtimeRequirements:K,runtime:ae}){const ge=v;const be=$.getExportsInfo(P).getUsedName(ge.names,ae);const[xe,ve]=L(ge.base,P,K);switch(xe){case"expression":if(!be){q.push(new R("var __webpack_unused_export__;\n",R.STAGE_CONSTANTS,0,"__webpack_unused_export__"));E.replace(ge.range[0],ge.range[1]-1,"__webpack_unused_export__");return}E.replace(ge.range[0],ge.range[1]-1,`${ve}${N(be)}`);return;case"Object.defineProperty":if(!be){q.push(new R("var __webpack_unused_export__;\n",R.STAGE_CONSTANTS,0,"__webpack_unused_export__"));E.replace(ge.range[0],ge.valueRange[0]-1,"__webpack_unused_export__ = (");E.replace(ge.valueRange[1],ge.range[1]-1,")");return}E.replace(ge.range[0],ge.valueRange[0]-1,`Object.defineProperty(${ve}${N(be.slice(0,-1))}, ${JSON.stringify(be[be.length-1])}, (`);E.replace(ge.valueRange[1],ge.range[1]-1,"))");return}}};v.exports=CommonJsExportsDependency},9890:function(v,E,P){"use strict";const R=P(75189);const $=P(14703);const{evaluateToString:N}=P(31445);const L=P(53914);const q=P(41161);const K=P(53616);const ae=P(12346);const ge=P(54788);const be=P(9023);const xe=P(16199);const getValueOfPropertyDescription=v=>{if(v.type!=="ObjectExpression")return;for(const E of v.properties){if(E.computed)continue;const v=E.key;if(v.type!=="Identifier"||v.name!=="value")continue;return E.value}};const isTruthyLiteral=v=>{switch(v.type){case"Literal":return!!v.value;case"UnaryExpression":if(v.operator==="!")return isFalsyLiteral(v.argument)}return false};const isFalsyLiteral=v=>{switch(v.type){case"Literal":return!v.value;case"UnaryExpression":if(v.operator==="!")return isTruthyLiteral(v.argument)}return false};const parseRequireCall=(v,E)=>{const P=[];while(E.type==="MemberExpression"){if(E.object.type==="Super")return;if(!E.property)return;const v=E.property;if(E.computed){if(v.type!=="Literal")return;P.push(`${v.value}`)}else{if(v.type!=="Identifier")return;P.push(v.name)}E=E.object}if(E.type!=="CallExpression"||E.arguments.length!==1)return;const R=E.callee;if(R.type!=="Identifier"||v.getVariableInfo(R.name)!=="require"){return}const $=E.arguments[0];if($.type==="SpreadElement")return;const N=v.evaluateExpression($);return{argument:N,ids:P.reverse()}};class CommonJsExportsParserPlugin{constructor(v){this.moduleGraph=v}apply(v){const enableStructuredExports=()=>{ge.enable(v.state)};const checkNamespace=(E,P,R)=>{if(!ge.isEnabled(v.state))return;if(P.length>0&&P[0]==="__esModule"){if(R&&isTruthyLiteral(R)&&E){ge.setFlagged(v.state)}else{ge.setDynamic(v.state)}}};const bailout=E=>{ge.bailout(v.state);if(E)bailoutHint(E)};const bailoutHint=E=>{this.moduleGraph.getOptimizationBailout(v.state.module).push(`CommonJS bailout: ${E}`)};v.hooks.evaluateTypeof.for("module").tap("CommonJsExportsParserPlugin",N("object"));v.hooks.evaluateTypeof.for("exports").tap("CommonJsPlugin",N("object"));const handleAssignExport=(E,P,R)=>{if(be.isEnabled(v.state))return;const $=parseRequireCall(v,E.right);if($&&$.argument.isString()&&(R.length===0||R[0]!=="__esModule")){enableStructuredExports();if(R.length===0)ge.setDynamic(v.state);const N=new q(E.range,null,P,R,$.argument.string,$.ids,!v.isStatementLevelExpression(E));N.loc=E.loc;N.optional=!!v.scope.inTry;v.state.module.addDependency(N);return true}if(R.length===0)return;enableStructuredExports();const N=R;checkNamespace(v.statementPath.length===1&&v.isStatementLevelExpression(E),N,E.right);const L=new K(E.left.range,null,P,N);L.loc=E.loc;v.state.module.addDependency(L);v.walkExpression(E.right);return true};v.hooks.assignMemberChain.for("exports").tap("CommonJsExportsParserPlugin",((v,E)=>handleAssignExport(v,"exports",E)));v.hooks.assignMemberChain.for("this").tap("CommonJsExportsParserPlugin",((E,P)=>{if(!v.scope.topLevelScope)return;return handleAssignExport(E,"this",P)}));v.hooks.assignMemberChain.for("module").tap("CommonJsExportsParserPlugin",((v,E)=>{if(E[0]!=="exports")return;return handleAssignExport(v,"module.exports",E.slice(1))}));v.hooks.call.for("Object.defineProperty").tap("CommonJsExportsParserPlugin",(E=>{const P=E;if(!v.isStatementLevelExpression(P))return;if(P.arguments.length!==3)return;if(P.arguments[0].type==="SpreadElement")return;if(P.arguments[1].type==="SpreadElement")return;if(P.arguments[2].type==="SpreadElement")return;const R=v.evaluateExpression(P.arguments[0]);if(!R.isIdentifier())return;if(R.identifier!=="exports"&&R.identifier!=="module.exports"&&(R.identifier!=="this"||!v.scope.topLevelScope)){return}const $=v.evaluateExpression(P.arguments[1]);const N=$.asString();if(typeof N!=="string")return;enableStructuredExports();const L=P.arguments[2];checkNamespace(v.statementPath.length===1,[N],getValueOfPropertyDescription(L));const q=new K(P.range,P.arguments[2].range,`Object.defineProperty(${R.identifier})`,[N]);q.loc=P.loc;v.state.module.addDependency(q);v.walkExpression(P.arguments[2]);return true}));const handleAccessExport=(E,P,R,N=undefined)=>{if(be.isEnabled(v.state))return;if(R.length===0){bailout(`${P} is used directly at ${$(E.loc)}`)}if(N&&R.length===1){bailoutHint(`${P}${L(R)}(...) prevents optimization as ${P} is passed as call context at ${$(E.loc)}`)}const q=new ae(E.range,P,R,!!N);q.loc=E.loc;v.state.module.addDependency(q);if(N){v.walkExpressions(N.arguments)}return true};v.hooks.callMemberChain.for("exports").tap("CommonJsExportsParserPlugin",((v,E)=>handleAccessExport(v.callee,"exports",E,v)));v.hooks.expressionMemberChain.for("exports").tap("CommonJsExportsParserPlugin",((v,E)=>handleAccessExport(v,"exports",E)));v.hooks.expression.for("exports").tap("CommonJsExportsParserPlugin",(v=>handleAccessExport(v,"exports",[])));v.hooks.callMemberChain.for("module").tap("CommonJsExportsParserPlugin",((v,E)=>{if(E[0]!=="exports")return;return handleAccessExport(v.callee,"module.exports",E.slice(1),v)}));v.hooks.expressionMemberChain.for("module").tap("CommonJsExportsParserPlugin",((v,E)=>{if(E[0]!=="exports")return;return handleAccessExport(v,"module.exports",E.slice(1))}));v.hooks.expression.for("module.exports").tap("CommonJsExportsParserPlugin",(v=>handleAccessExport(v,"module.exports",[])));v.hooks.callMemberChain.for("this").tap("CommonJsExportsParserPlugin",((E,P)=>{if(!v.scope.topLevelScope)return;return handleAccessExport(E.callee,"this",P,E)}));v.hooks.expressionMemberChain.for("this").tap("CommonJsExportsParserPlugin",((E,P)=>{if(!v.scope.topLevelScope)return;return handleAccessExport(E,"this",P)}));v.hooks.expression.for("this").tap("CommonJsExportsParserPlugin",(E=>{if(!v.scope.topLevelScope)return;return handleAccessExport(E,"this",[])}));v.hooks.expression.for("module").tap("CommonJsPlugin",(E=>{bailout();const P=be.isEnabled(v.state);const $=new xe(P?R.harmonyModuleDecorator:R.nodeModuleDecorator,!P);$.loc=E.loc;v.state.module.addDependency($);return true}))}}v.exports=CommonJsExportsParserPlugin},63532:function(v,E,P){"use strict";const R=P(35600);const{equals:$}=P(98734);const{getTrimmedIdsAndRange:N}=P(43134);const L=P(74364);const q=P(53914);const K=P(52743);class CommonJsFullRequireDependency extends K{constructor(v,E,P,R){super(v);this.range=E;this.names=P;this.idRanges=R;this.call=false;this.asiSafe=undefined}getReferencedExports(v,E){if(this.call){const E=v.getModule(this);if(!E||E.getExportsType(v,false)!=="namespace"){return[this.names.slice(0,-1)]}}return[this.names]}serialize(v){const{write:E}=v;E(this.names);E(this.idRanges);E(this.call);E(this.asiSafe);super.serialize(v)}deserialize(v){const{read:E}=v;this.names=E();this.idRanges=E();this.call=E();this.asiSafe=E();super.deserialize(v)}get type(){return"cjs full require"}get category(){return"commonjs"}}CommonJsFullRequireDependency.Template=class CommonJsFullRequireDependencyTemplate extends K.Template{apply(v,E,{module:P,runtimeTemplate:L,moduleGraph:K,chunkGraph:ae,runtimeRequirements:ge,runtime:be,initFragments:xe}){const ve=v;if(!ve.range)return;const Ae=K.getModule(ve);let Ie=L.moduleExports({module:Ae,chunkGraph:ae,request:ve.request,weak:ve.weak,runtimeRequirements:ge});const{trimmedRange:[He,Qe],trimmedIds:Je}=N(ve.names,ve.range,ve.idRanges,K,ve);if(Ae){const v=K.getExportsInfo(Ae).getUsedName(Je,be);if(v){const E=$(v,Je)?"":R.toNormalComment(q(Je))+" ";const P=`${E}${q(v)}`;Ie=ve.asiSafe===true?`(${Ie}${P})`:`${Ie}${P}`}}E.replace(He,Qe-1,Ie)}};L(CommonJsFullRequireDependency,"webpack/lib/dependencies/CommonJsFullRequireDependency");v.exports=CommonJsFullRequireDependency},64465:function(v,E,P){"use strict";const{fileURLToPath:R}=P(57310);const $=P(26596);const N=P(75189);const L=P(31524);const q=P(45425);const K=P(61122);const{evaluateToIdentifier:ae,evaluateToString:ge,expressionIsUnsupported:be,toConstantDependency:xe}=P(31445);const ve=P(63532);const Ae=P(67977);const Ie=P(60803);const He=P(52540);const Qe=P(33838);const Je=P(11961);const{getLocalModule:Ve}=P(58975);const Ke=P(15341);const Ye=P(42636);const Xe=P(98474);const Ze=P(79968);const et=Symbol("createRequire");const tt=Symbol("createRequire()");class CommonJsImportsParserPlugin{constructor(v){this.options=v}apply(v){const E=this.options;const getContext=()=>{if(v.currentTagData){const{context:E}=v.currentTagData;return E}};const tapRequireExpression=(E,P)=>{v.hooks.typeof.for(E).tap("CommonJsImportsParserPlugin",xe(v,JSON.stringify("function")));v.hooks.evaluateTypeof.for(E).tap("CommonJsImportsParserPlugin",ge("function"));v.hooks.evaluateIdentifier.for(E).tap("CommonJsImportsParserPlugin",ae(E,"require",P,true))};const tapRequireExpressionTag=E=>{v.hooks.typeof.for(E).tap("CommonJsImportsParserPlugin",xe(v,JSON.stringify("function")));v.hooks.evaluateTypeof.for(E).tap("CommonJsImportsParserPlugin",ge("function"))};tapRequireExpression("require",(()=>[]));tapRequireExpression("require.resolve",(()=>["resolve"]));tapRequireExpression("require.resolveWeak",(()=>["resolveWeak"]));v.hooks.assign.for("require").tap("CommonJsImportsParserPlugin",(E=>{const P=new He("var require;",0);P.loc=E.loc;v.state.module.addPresentationalDependency(P);return true}));v.hooks.expression.for("require.main").tap("CommonJsImportsParserPlugin",be(v,"require.main is not supported by webpack."));v.hooks.call.for("require.main.require").tap("CommonJsImportsParserPlugin",be(v,"require.main.require is not supported by webpack."));v.hooks.expression.for("module.parent.require").tap("CommonJsImportsParserPlugin",be(v,"module.parent.require is not supported by webpack."));v.hooks.call.for("module.parent.require").tap("CommonJsImportsParserPlugin",be(v,"module.parent.require is not supported by webpack."));const defineUndefined=E=>{const P=new He("undefined",E.range);P.loc=E.loc;v.state.module.addPresentationalDependency(P);return false};v.hooks.canRename.for("require").tap("CommonJsImportsParserPlugin",(()=>true));v.hooks.rename.for("require").tap("CommonJsImportsParserPlugin",defineUndefined);const P=xe(v,N.moduleCache,[N.moduleCache,N.moduleId,N.moduleLoaded]);v.hooks.expression.for("require.cache").tap("CommonJsImportsParserPlugin",P);const requireAsExpressionHandler=P=>{const R=new Ae({request:E.unknownContextRequest,recursive:E.unknownContextRecursive,regExp:E.unknownContextRegExp,mode:"sync"},P.range,undefined,v.scope.inShorthand,getContext());R.critical=E.unknownContextCritical&&"require function is used in a way in which dependencies cannot be statically extracted";R.loc=P.loc;R.optional=!!v.scope.inTry;v.state.current.addDependency(R);return true};v.hooks.expression.for("require").tap("CommonJsImportsParserPlugin",requireAsExpressionHandler);const processRequireItem=(E,P)=>{if(P.isString()){const R=new Ie(P.string,P.range,getContext());R.loc=E.loc;R.optional=!!v.scope.inTry;v.state.current.addDependency(R);return true}};const processRequireContext=(P,R)=>{const $=Qe.create(Ae,P.range,R,P,E,{category:"commonjs"},v,undefined,getContext());if(!$)return;$.loc=P.loc;$.optional=!!v.scope.inTry;v.state.current.addDependency($);return true};const createRequireHandler=P=>R=>{if(E.commonjsMagicComments){const{options:E,errors:P}=v.parseCommentOptions(R.range);if(P){for(const E of P){const{comment:P}=E;v.state.module.addWarning(new $(`Compilation error while processing magic comment(-s): /*${P.value}*/: ${E.message}`,P.loc))}}if(E){if(E.webpackIgnore!==undefined){if(typeof E.webpackIgnore!=="boolean"){v.state.module.addWarning(new L(`\`webpackIgnore\` expected a boolean, but received: ${E.webpackIgnore}.`,R.loc))}else{if(E.webpackIgnore){return true}}}}}if(R.arguments.length!==1)return;let N;const q=v.evaluateExpression(R.arguments[0]);if(q.isConditional()){let E=false;for(const v of q.options){const P=processRequireItem(R,v);if(P===undefined){E=true}}if(!E){const E=new Ke(R.callee.range);E.loc=R.loc;v.state.module.addPresentationalDependency(E);return true}}if(q.isString()&&(N=Ve(v.state,q.string))){N.flagUsed();const E=new Je(N,R.range,P);E.loc=R.loc;v.state.module.addPresentationalDependency(E);return true}else{const E=processRequireItem(R,q);if(E===undefined){processRequireContext(R,q)}else{const E=new Ke(R.callee.range);E.loc=R.loc;v.state.module.addPresentationalDependency(E)}return true}};v.hooks.call.for("require").tap("CommonJsImportsParserPlugin",createRequireHandler(false));v.hooks.new.for("require").tap("CommonJsImportsParserPlugin",createRequireHandler(true));v.hooks.call.for("module.require").tap("CommonJsImportsParserPlugin",createRequireHandler(false));v.hooks.new.for("module.require").tap("CommonJsImportsParserPlugin",createRequireHandler(true));const chainHandler=(E,P,R,$,N)=>{if(R.arguments.length!==1)return;const L=v.evaluateExpression(R.arguments[0]);if(L.isString()&&!Ve(v.state,L.string)){const P=new ve(L.string,E.range,$,N);P.asiSafe=!v.isAsiPosition(E.range[0]);P.optional=!!v.scope.inTry;P.loc=E.loc;v.state.current.addDependency(P);return true}};const callChainHandler=(E,P,R,$,N)=>{if(R.arguments.length!==1)return;const L=v.evaluateExpression(R.arguments[0]);if(L.isString()&&!Ve(v.state,L.string)){const P=new ve(L.string,E.callee.range,$,N);P.call=true;P.asiSafe=!v.isAsiPosition(E.range[0]);P.optional=!!v.scope.inTry;P.loc=E.callee.loc;v.state.current.addDependency(P);v.walkExpressions(E.arguments);return true}};v.hooks.memberChainOfCallMemberChain.for("require").tap("CommonJsImportsParserPlugin",chainHandler);v.hooks.memberChainOfCallMemberChain.for("module.require").tap("CommonJsImportsParserPlugin",chainHandler);v.hooks.callMemberChainOfCallMemberChain.for("require").tap("CommonJsImportsParserPlugin",callChainHandler);v.hooks.callMemberChainOfCallMemberChain.for("module.require").tap("CommonJsImportsParserPlugin",callChainHandler);const processResolve=(E,P)=>{if(E.arguments.length!==1)return;const R=v.evaluateExpression(E.arguments[0]);if(R.isConditional()){for(const v of R.options){const R=processResolveItem(E,v,P);if(R===undefined){processResolveContext(E,v,P)}}const $=new Ze(E.callee.range);$.loc=E.loc;v.state.module.addPresentationalDependency($);return true}else{const $=processResolveItem(E,R,P);if($===undefined){processResolveContext(E,R,P)}const N=new Ze(E.callee.range);N.loc=E.loc;v.state.module.addPresentationalDependency(N);return true}};const processResolveItem=(E,P,R)=>{if(P.isString()){const $=new Xe(P.string,P.range,getContext());$.loc=E.loc;$.optional=!!v.scope.inTry;$.weak=R;v.state.current.addDependency($);return true}};const processResolveContext=(P,R,$)=>{const N=Qe.create(Ye,R.range,R,P,E,{category:"commonjs",mode:$?"weak":"sync"},v,getContext());if(!N)return;N.loc=P.loc;N.optional=!!v.scope.inTry;v.state.current.addDependency(N);return true};v.hooks.call.for("require.resolve").tap("CommonJsImportsParserPlugin",(v=>processResolve(v,false)));v.hooks.call.for("require.resolveWeak").tap("CommonJsImportsParserPlugin",(v=>processResolve(v,true)));if(!E.createRequire)return;let nt=[];let st;if(E.createRequire===true){nt=["module","node:module"];st="createRequire"}else{let v;const P=/^(.*) from (.*)$/.exec(E.createRequire);if(P){[,st,v]=P}if(!st||!v){const v=new q(`Parsing javascript parser option "createRequire" failed, got ${JSON.stringify(E.createRequire)}`);v.details='Expected string in format "createRequire from module", where "createRequire" is specifier name and "module" name of the module';throw v}}tapRequireExpressionTag(tt);tapRequireExpressionTag(et);v.hooks.evaluateCallExpression.for(et).tap("CommonJsImportsParserPlugin",(E=>{const P=parseCreateRequireArguments(E);if(P===undefined)return;const R=v.evaluatedVariable({tag:tt,data:{context:P},next:undefined});return(new K).setIdentifier(R,R,(()=>[])).setSideEffects(false).setRange(E.range)}));v.hooks.unhandledExpressionMemberChain.for(tt).tap("CommonJsImportsParserPlugin",((E,P)=>be(v,`createRequire().${P.join(".")} is not supported by webpack.`)(E)));v.hooks.canRename.for(tt).tap("CommonJsImportsParserPlugin",(()=>true));v.hooks.canRename.for(et).tap("CommonJsImportsParserPlugin",(()=>true));v.hooks.rename.for(et).tap("CommonJsImportsParserPlugin",defineUndefined);v.hooks.expression.for(tt).tap("CommonJsImportsParserPlugin",requireAsExpressionHandler);v.hooks.call.for(tt).tap("CommonJsImportsParserPlugin",createRequireHandler(false));const parseCreateRequireArguments=E=>{const P=E.arguments;if(P.length!==1){const P=new q("module.createRequire supports only one argument.");P.loc=E.loc;v.state.module.addWarning(P);return}const $=P[0];const N=v.evaluateExpression($);if(!N.isString()){const E=new q("module.createRequire failed parsing argument.");E.loc=$.loc;v.state.module.addWarning(E);return}const L=N.string.startsWith("file://")?R(N.string):N.string;return L.slice(0,L.lastIndexOf(L.startsWith("/")?"/":"\\"))};v.hooks.import.tap({name:"CommonJsImportsParserPlugin",stage:-10},((E,P)=>{if(!nt.includes(P)||E.specifiers.length!==1||E.specifiers[0].type!=="ImportSpecifier"||E.specifiers[0].imported.type!=="Identifier"||E.specifiers[0].imported.name!==st)return;const R=new He(v.isAsiPosition(E.range[0])?";":"",E.range);R.loc=E.loc;v.state.module.addPresentationalDependency(R);v.unsetAsiPosition(E.range[1]);return true}));v.hooks.importSpecifier.tap({name:"CommonJsImportsParserPlugin",stage:-10},((E,P,R,$)=>{if(!nt.includes(P)||R!==st)return;v.tagVariable($,et);return true}));v.hooks.preDeclarator.tap("CommonJsImportsParserPlugin",(E=>{if(E.id.type!=="Identifier"||!E.init||E.init.type!=="CallExpression"||E.init.callee.type!=="Identifier")return;const P=v.getVariableInfo(E.init.callee.name);if(P&&P.tagInfo&&P.tagInfo.tag===et){const P=parseCreateRequireArguments(E.init);if(P===undefined)return;v.tagVariable(E.id.name,tt,{name:E.id.name,context:P});return true}}));v.hooks.memberChainOfCallMemberChain.for(et).tap("CommonJsImportsParserPlugin",((v,E,R,$)=>{if(E.length!==0||$.length!==1||$[0]!=="cache")return;const N=parseCreateRequireArguments(R);if(N===undefined)return;return P(v)}));v.hooks.callMemberChainOfCallMemberChain.for(et).tap("CommonJsImportsParserPlugin",((v,E,P,R)=>{if(E.length!==0||R.length!==1||R[0]!=="resolve")return;return processResolve(v,false)}));v.hooks.expressionMemberChain.for(tt).tap("CommonJsImportsParserPlugin",((v,E)=>{if(E.length===1&&E[0]==="cache"){return P(v)}}));v.hooks.callMemberChain.for(tt).tap("CommonJsImportsParserPlugin",((v,E)=>{if(E.length===1&&E[0]==="resolve"){return processResolve(v,false)}}));v.hooks.call.for(et).tap("CommonJsImportsParserPlugin",(E=>{const P=new He("/* createRequire() */ undefined",E.range);P.loc=E.loc;v.state.module.addPresentationalDependency(P);return true}))}}v.exports=CommonJsImportsParserPlugin},70074:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);const N=P(78354);const L=P(35600);const q=P(53616);const K=P(63532);const ae=P(67977);const ge=P(60803);const be=P(12346);const xe=P(16199);const ve=P(15341);const Ae=P(42636);const Ie=P(98474);const He=P(79968);const Qe=P(44870);const Je=P(9890);const Ve=P(64465);const{JAVASCRIPT_MODULE_TYPE_AUTO:Ke,JAVASCRIPT_MODULE_TYPE_DYNAMIC:Ye}=P(98791);const{evaluateToIdentifier:Xe,toConstantDependency:Ze}=P(31445);const et=P(41161);const tt="CommonJsPlugin";class CommonJsPlugin{apply(v){v.hooks.compilation.tap(tt,((v,{contextModuleFactory:E,normalModuleFactory:P})=>{v.dependencyFactories.set(ge,P);v.dependencyTemplates.set(ge,new ge.Template);v.dependencyFactories.set(K,P);v.dependencyTemplates.set(K,new K.Template);v.dependencyFactories.set(ae,E);v.dependencyTemplates.set(ae,new ae.Template);v.dependencyFactories.set(Ie,P);v.dependencyTemplates.set(Ie,new Ie.Template);v.dependencyFactories.set(Ae,E);v.dependencyTemplates.set(Ae,new Ae.Template);v.dependencyTemplates.set(He,new He.Template);v.dependencyTemplates.set(ve,new ve.Template);v.dependencyTemplates.set(q,new q.Template);v.dependencyFactories.set(et,P);v.dependencyTemplates.set(et,new et.Template);const $=new N(v.moduleGraph);v.dependencyFactories.set(be,$);v.dependencyTemplates.set(be,new be.Template);v.dependencyFactories.set(xe,$);v.dependencyTemplates.set(xe,new xe.Template);v.hooks.runtimeRequirementInModule.for(R.harmonyModuleDecorator).tap(tt,((v,E)=>{E.add(R.module);E.add(R.requireScope)}));v.hooks.runtimeRequirementInModule.for(R.nodeModuleDecorator).tap(tt,((v,E)=>{E.add(R.module);E.add(R.requireScope)}));v.hooks.runtimeRequirementInTree.for(R.harmonyModuleDecorator).tap(tt,((E,P)=>{v.addRuntimeModule(E,new HarmonyModuleDecoratorRuntimeModule)}));v.hooks.runtimeRequirementInTree.for(R.nodeModuleDecorator).tap(tt,((E,P)=>{v.addRuntimeModule(E,new NodeModuleDecoratorRuntimeModule)}));const handler=(E,P)=>{if(P.commonjs!==undefined&&!P.commonjs)return;E.hooks.typeof.for("module").tap(tt,Ze(E,JSON.stringify("object")));E.hooks.expression.for("require.main").tap(tt,Ze(E,`${R.moduleCache}[${R.entryModuleId}]`,[R.moduleCache,R.entryModuleId]));E.hooks.expression.for(R.moduleLoaded).tap(tt,(v=>{E.state.module.buildInfo.moduleConcatenationBailout=R.moduleLoaded;const P=new Qe([R.moduleLoaded]);P.loc=v.loc;E.state.module.addPresentationalDependency(P);return true}));E.hooks.expression.for(R.moduleId).tap(tt,(v=>{E.state.module.buildInfo.moduleConcatenationBailout=R.moduleId;const P=new Qe([R.moduleId]);P.loc=v.loc;E.state.module.addPresentationalDependency(P);return true}));E.hooks.evaluateIdentifier.for("module.hot").tap(tt,Xe("module.hot","module",(()=>["hot"]),null));new Ve(P).apply(E);new Je(v.moduleGraph).apply(E)};P.hooks.parser.for(Ke).tap(tt,handler);P.hooks.parser.for(Ye).tap(tt,handler)}))}}class HarmonyModuleDecoratorRuntimeModule extends ${constructor(){super("harmony module decorator")}generate(){const{runtimeTemplate:v}=this.compilation;return L.asString([`${R.harmonyModuleDecorator} = ${v.basicFunction("module",["module = Object.create(module);","if (!module.children) module.children = [];","Object.defineProperty(module, 'exports', {",L.indent(["enumerable: true,",`set: ${v.basicFunction("",["throw new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);"])}`]),"});","return module;"])};`])}}class NodeModuleDecoratorRuntimeModule extends ${constructor(){super("node module decorator")}generate(){const{runtimeTemplate:v}=this.compilation;return L.asString([`${R.nodeModuleDecorator} = ${v.basicFunction("module",["module.paths = [];","if (!module.children) module.children = [];","return module;"])};`])}}v.exports=CommonJsPlugin},67977:function(v,E,P){"use strict";const R=P(74364);const $=P(80070);const N=P(44520);class CommonJsRequireContextDependency extends ${constructor(v,E,P,R,$){super(v,$);this.range=E;this.valueRange=P;this.inShorthand=R}get type(){return"cjs require context"}serialize(v){const{write:E}=v;E(this.range);E(this.valueRange);E(this.inShorthand);super.serialize(v)}deserialize(v){const{read:E}=v;this.range=E();this.valueRange=E();this.inShorthand=E();super.deserialize(v)}}R(CommonJsRequireContextDependency,"webpack/lib/dependencies/CommonJsRequireContextDependency");CommonJsRequireContextDependency.Template=N;v.exports=CommonJsRequireContextDependency},60803:function(v,E,P){"use strict";const R=P(74364);const $=P(52743);const N=P(96541);class CommonJsRequireDependency extends ${constructor(v,E,P){super(v);this.range=E;this._context=P}get type(){return"cjs require"}get category(){return"commonjs"}}CommonJsRequireDependency.Template=N;R(CommonJsRequireDependency,"webpack/lib/dependencies/CommonJsRequireDependency");v.exports=CommonJsRequireDependency},12346:function(v,E,P){"use strict";const R=P(75189);const{equals:$}=P(98734);const N=P(74364);const L=P(53914);const q=P(43301);class CommonJsSelfReferenceDependency extends q{constructor(v,E,P,R){super();this.range=v;this.base=E;this.names=P;this.call=R}get type(){return"cjs self exports reference"}get category(){return"self"}getResourceIdentifier(){return`self`}getReferencedExports(v,E){return[this.call?this.names.slice(0,-1):this.names]}serialize(v){const{write:E}=v;E(this.range);E(this.base);E(this.names);E(this.call);super.serialize(v)}deserialize(v){const{read:E}=v;this.range=E();this.base=E();this.names=E();this.call=E();super.deserialize(v)}}N(CommonJsSelfReferenceDependency,"webpack/lib/dependencies/CommonJsSelfReferenceDependency");CommonJsSelfReferenceDependency.Template=class CommonJsSelfReferenceDependencyTemplate extends q.Template{apply(v,E,{module:P,moduleGraph:N,runtime:q,runtimeRequirements:K}){const ae=v;let ge;if(ae.names.length===0){ge=ae.names}else{ge=N.getExportsInfo(P).getUsedName(ae.names,q)}if(!ge){throw new Error("Self-reference dependency has unused export name: This should not happen")}let be=undefined;switch(ae.base){case"exports":K.add(R.exports);be=P.exportsArgument;break;case"module.exports":K.add(R.module);be=`${P.moduleArgument}.exports`;break;case"this":K.add(R.thisAsExports);be="this";break;default:throw new Error(`Unsupported base ${ae.base}`)}if(be===ae.base&&$(ge,ae.names)){return}E.replace(ae.range[0],ae.range[1]-1,`${be}${L(ge)}`)}};v.exports=CommonJsSelfReferenceDependency},52540:function(v,E,P){"use strict";const R=P(74364);const $=P(43301);class ConstDependency extends ${constructor(v,E,P){super();this.expression=v;this.range=E;this.runtimeRequirements=P?new Set(P):null;this._hashUpdate=undefined}updateHash(v,E){if(this._hashUpdate===undefined){let v=""+this.range+"|"+this.expression;if(this.runtimeRequirements){for(const E of this.runtimeRequirements){v+="|";v+=E}}this._hashUpdate=v}v.update(this._hashUpdate)}getModuleEvaluationSideEffectsState(v){return false}serialize(v){const{write:E}=v;E(this.expression);E(this.range);E(this.runtimeRequirements);super.serialize(v)}deserialize(v){const{read:E}=v;this.expression=E();this.range=E();this.runtimeRequirements=E();super.deserialize(v)}}R(ConstDependency,"webpack/lib/dependencies/ConstDependency");ConstDependency.Template=class ConstDependencyTemplate extends $.Template{apply(v,E,P){const R=v;if(R.runtimeRequirements){for(const v of R.runtimeRequirements){P.runtimeRequirements.add(v)}}if(typeof R.range==="number"){E.insert(R.range,R.expression);return}E.replace(R.range[0],R.range[1]-1,R.expression)}};v.exports=ConstDependency},80070:function(v,E,P){"use strict";const R=P(61803);const $=P(35226);const N=P(74364);const L=P(49584);const q=L((()=>P(85670)));const regExpToString=v=>v?v+"":"";class ContextDependency extends R{constructor(v,E){super();this.options=v;this.userRequest=this.options&&this.options.request;this.critical=false;this.hadGlobalOrStickyRegExp=false;if(this.options&&(this.options.regExp.global||this.options.regExp.sticky)){this.options={...this.options,regExp:null};this.hadGlobalOrStickyRegExp=true}this.request=undefined;this.range=undefined;this.valueRange=undefined;this.inShorthand=undefined;this.replaces=undefined;this._requestContext=E}getContext(){return this._requestContext}get category(){return"commonjs"}couldAffectReferencingModule(){return true}getResourceIdentifier(){return`context${this._requestContext||""}|ctx request${this.options.request} ${this.options.recursive} `+`${regExpToString(this.options.regExp)} ${regExpToString(this.options.include)} ${regExpToString(this.options.exclude)} `+`${this.options.mode} ${this.options.chunkName} `+`${JSON.stringify(this.options.groupOptions)}`}getWarnings(v){let E=super.getWarnings(v);if(this.critical){if(!E)E=[];const v=q();E.push(new v(this.critical))}if(this.hadGlobalOrStickyRegExp){if(!E)E=[];const v=q();E.push(new v("Contexts can't use RegExps with the 'g' or 'y' flags."))}return E}serialize(v){const{write:E}=v;E(this.options);E(this.userRequest);E(this.critical);E(this.hadGlobalOrStickyRegExp);E(this.request);E(this._requestContext);E(this.range);E(this.valueRange);E(this.prepend);E(this.replaces);super.serialize(v)}deserialize(v){const{read:E}=v;this.options=E();this.userRequest=E();this.critical=E();this.hadGlobalOrStickyRegExp=E();this.request=E();this._requestContext=E();this.range=E();this.valueRange=E();this.prepend=E();this.replaces=E();super.deserialize(v)}}N(ContextDependency,"webpack/lib/dependencies/ContextDependency");ContextDependency.Template=$;v.exports=ContextDependency},33838:function(v,E,P){"use strict";const{parseResource:R}=P(94778);const quoteMeta=v=>v.replace(/[-[\]\\/{}()*+?.^$|]/g,"\\$&");const splitContextFromPrefix=v=>{const E=v.lastIndexOf("/");let P=".";if(E>=0){P=v.slice(0,E);v=`.${v.slice(E)}`}return{context:P,prefix:v}};E.create=(v,E,P,$,N,L,q,...K)=>{if(P.isTemplateString()){let ae=P.quasis[0].string;let ge=P.quasis.length>1?P.quasis[P.quasis.length-1].string:"";const be=P.range;const{context:xe,prefix:ve}=splitContextFromPrefix(ae);const{path:Ae,query:Ie,fragment:He}=R(ge,q);const Qe=P.quasis.slice(1,P.quasis.length-1);const Je=N.wrappedContextRegExp.source+Qe.map((v=>quoteMeta(v.string)+N.wrappedContextRegExp.source)).join("");const Ve=new RegExp(`^${quoteMeta(ve)}${Je}${quoteMeta(Ae)}$`);const Ke=new v({request:xe+Ie+He,recursive:N.wrappedContextRecursive,regExp:Ve,mode:"sync",...L},E,be,...K);Ke.loc=$.loc;const Ye=[];P.parts.forEach(((v,E)=>{if(E%2===0){let R=v.range;let $=v.string;if(P.templateStringKind==="cooked"){$=JSON.stringify($);$=$.slice(1,$.length-1)}if(E===0){$=ve;R=[P.range[0],v.range[1]];$=(P.templateStringKind==="cooked"?"`":"String.raw`")+$}else if(E===P.parts.length-1){$=Ae;R=[v.range[0],P.range[1]];$=$+"`"}else if(v.expression&&v.expression.type==="TemplateElement"&&v.expression.value.raw===$){return}Ye.push({range:R,value:$})}else{q.walkExpression(v.expression)}}));Ke.replaces=Ye;Ke.critical=N.wrappedContextCritical&&"a part of the request of a dependency is an expression";return Ke}else if(P.isWrapped()&&(P.prefix&&P.prefix.isString()||P.postfix&&P.postfix.isString())){let ae=P.prefix&&P.prefix.isString()?P.prefix.string:"";let ge=P.postfix&&P.postfix.isString()?P.postfix.string:"";const be=P.prefix&&P.prefix.isString()?P.prefix.range:null;const xe=P.postfix&&P.postfix.isString()?P.postfix.range:null;const ve=P.range;const{context:Ae,prefix:Ie}=splitContextFromPrefix(ae);const{path:He,query:Qe,fragment:Je}=R(ge,q);const Ve=new RegExp(`^${quoteMeta(Ie)}${N.wrappedContextRegExp.source}${quoteMeta(He)}$`);const Ke=new v({request:Ae+Qe+Je,recursive:N.wrappedContextRecursive,regExp:Ve,mode:"sync",...L},E,ve,...K);Ke.loc=$.loc;const Ye=[];if(be){Ye.push({range:be,value:JSON.stringify(Ie)})}if(xe){Ye.push({range:xe,value:JSON.stringify(He)})}Ke.replaces=Ye;Ke.critical=N.wrappedContextCritical&&"a part of the request of a dependency is an expression";if(q&&P.wrappedInnerExpressions){for(const v of P.wrappedInnerExpressions){if(v.expression)q.walkExpression(v.expression)}}return Ke}else{const R=new v({request:N.exprContextRequest,recursive:N.exprContextRecursive,regExp:N.exprContextRegExp,mode:"sync",...L},E,P.range,...K);R.loc=$.loc;R.critical=N.exprContextCritical&&"the request of a dependency is an expression";q.walkExpression(P.expression);return R}}},35615:function(v,E,P){"use strict";const R=P(80070);class ContextDependencyTemplateAsId extends R.Template{apply(v,E,{runtimeTemplate:P,moduleGraph:R,chunkGraph:$,runtimeRequirements:N}){const L=v;const q=P.moduleExports({module:R.getModule(L),chunkGraph:$,request:L.request,weak:L.weak,runtimeRequirements:N});if(R.getModule(L)){if(L.valueRange){if(Array.isArray(L.replaces)){for(let v=0;v({name:v,canMangle:false}))):R.EXPORTS_OBJECT_REFERENCED}serialize(v){const{write:E}=v;E(this._typePrefix);E(this._category);E(this.referencedExports);super.serialize(v)}deserialize(v){const{read:E}=v;this._typePrefix=E();this._category=E();this.referencedExports=E();super.deserialize(v)}}$(ContextElementDependency,"webpack/lib/dependencies/ContextElementDependency");v.exports=ContextElementDependency},15927:function(v,E,P){"use strict";const R=P(75189);const $=P(74364);const N=P(43301);class CreateScriptUrlDependency extends N{constructor(v){super();this.range=v}get type(){return"create script url"}serialize(v){const{write:E}=v;E(this.range);super.serialize(v)}deserialize(v){const{read:E}=v;this.range=E();super.deserialize(v)}}CreateScriptUrlDependency.Template=class CreateScriptUrlDependencyTemplate extends N.Template{apply(v,E,{runtimeRequirements:P}){const $=v;P.add(R.createScriptUrl);E.insert($.range[0],`${R.createScriptUrl}(`);E.insert($.range[1],")")}};$(CreateScriptUrlDependency,"webpack/lib/dependencies/CreateScriptUrlDependency");v.exports=CreateScriptUrlDependency},85670:function(v,E,P){"use strict";const R=P(45425);const $=P(74364);class CriticalDependencyWarning extends R{constructor(v){super();this.name="CriticalDependencyWarning";this.message="Critical dependency: "+v}}$(CriticalDependencyWarning,"webpack/lib/dependencies/CriticalDependencyWarning");v.exports=CriticalDependencyWarning},87923:function(v,E,P){"use strict";const R=P(74364);const $=P(43301);class CssExportDependency extends ${constructor(v,E){super();this.name=v;this.value=E}get type(){return"css :export"}getExports(v){const E=this.name;return{exports:[{name:E,canMangle:true}],dependencies:undefined}}serialize(v){const{write:E}=v;E(this.name);E(this.value);super.serialize(v)}deserialize(v){const{read:E}=v;this.name=E();this.value=E();super.deserialize(v)}}CssExportDependency.Template=class CssExportDependencyTemplate extends $.Template{apply(v,E,{cssExports:P}){const R=v;P.set(R.name,R.value)}};R(CssExportDependency,"webpack/lib/dependencies/CssExportDependency");v.exports=CssExportDependency},31563:function(v,E,P){"use strict";const R=P(74364);const $=P(52743);class CssImportDependency extends ${constructor(v,E,P,R,$){super(v);this.range=E;this.layer=P;this.supports=R;this.media=$}get type(){return"css @import"}get category(){return"css-import"}getResourceIdentifier(){let v=`context${this._context||""}|module${this.request}`;if(this.layer){v+=`|layer${this.layer}`}if(this.supports){v+=`|supports${this.supports}`}if(this.media){v+=`|media${this.media}`}return v}createIgnoredModule(v){return null}serialize(v){const{write:E}=v;E(this.layer);E(this.supports);E(this.media);super.serialize(v)}deserialize(v){const{read:E}=v;this.layer=E();this.supports=E();this.media=E();super.deserialize(v)}}CssImportDependency.Template=class CssImportDependencyTemplate extends $.Template{apply(v,E,P){const R=v;E.replace(R.range[0],R.range[1]-1,"")}};R(CssImportDependency,"webpack/lib/dependencies/CssImportDependency");v.exports=CssImportDependency},45949:function(v,E,P){"use strict";const R=P(74364);const $=P(43301);class CssLocalIdentifierDependency extends ${constructor(v,E,P=""){super();this.name=v;this.range=E;this.prefix=P}get type(){return"css local identifier"}getExports(v){const E=this.name;return{exports:[{name:E,canMangle:true}],dependencies:undefined}}serialize(v){const{write:E}=v;E(this.name);E(this.range);E(this.prefix);super.serialize(v)}deserialize(v){const{read:E}=v;this.name=E();this.range=E();this.prefix=E();super.deserialize(v)}}const escapeCssIdentifier=(v,E)=>{const P=`${v}`.replace(/[^a-zA-Z0-9_\u0081-\uffff-]/g,(v=>`\\${v}`));return!E&&/^(?!--)[0-9-]/.test(P)?`_${P}`:P};CssLocalIdentifierDependency.Template=class CssLocalIdentifierDependencyTemplate extends $.Template{apply(v,E,{module:P,moduleGraph:R,chunkGraph:$,runtime:N,runtimeTemplate:L,cssExports:q}){const K=v;const ae=R.getExportInfo(P,K.name).getUsedName(K.name,N);if(!ae)return;const ge=$.getModuleId(P);const be=K.prefix+(L.outputOptions.uniqueName?L.outputOptions.uniqueName+"-":"")+(ae?ge+"-"+ae:"-");E.replace(K.range[0],K.range[1]-1,escapeCssIdentifier(be,K.prefix));if(ae)q.set(ae,be)}};R(CssLocalIdentifierDependency,"webpack/lib/dependencies/CssLocalIdentifierDependency");v.exports=CssLocalIdentifierDependency},13267:function(v,E,P){"use strict";const R=P(61803);const $=P(74364);const N=P(45949);class CssSelfLocalIdentifierDependency extends N{constructor(v,E,P="",R=undefined){super(v,E,P);this.declaredSet=R}get type(){return"css self local identifier"}get category(){return"self"}getResourceIdentifier(){return`self`}getExports(v){if(this.declaredSet&&!this.declaredSet.has(this.name))return;return super.getExports(v)}getReferencedExports(v,E){if(this.declaredSet&&!this.declaredSet.has(this.name))return R.NO_EXPORTS_REFERENCED;return[[this.name]]}serialize(v){const{write:E}=v;E(this.declaredSet);super.serialize(v)}deserialize(v){const{read:E}=v;this.declaredSet=E();super.deserialize(v)}}CssSelfLocalIdentifierDependency.Template=class CssSelfLocalIdentifierDependencyTemplate extends N.Template{apply(v,E,P){const R=v;if(R.declaredSet&&!R.declaredSet.has(R.name))return;super.apply(v,E,P)}};$(CssSelfLocalIdentifierDependency,"webpack/lib/dependencies/CssSelfLocalIdentifierDependency");v.exports=CssSelfLocalIdentifierDependency},99877:function(v,E,P){"use strict";const R=P(74364);const $=P(49584);const N=P(52743);const L=$((()=>P(85808)));class CssUrlDependency extends N{constructor(v,E,P){super(v);this.range=E;this.urlType=P}get type(){return"css url()"}get category(){return"url"}createIgnoredModule(v){const E=L();return new E("data:,",`ignored-asset`,`(ignored asset)`)}serialize(v){const{write:E}=v;E(this.urlType);super.serialize(v)}deserialize(v){const{read:E}=v;this.urlType=E();super.deserialize(v)}}const cssEscapeString=v=>{let E=0;let P=0;let R=0;for(let $=0;$`\\${v}`))}else if(P<=R){return`"${v.replace(/[\n"\\]/g,(v=>`\\${v}`))}"`}else{return`'${v.replace(/[\n'\\]/g,(v=>`\\${v}`))}'`}};CssUrlDependency.Template=class CssUrlDependencyTemplate extends N.Template{apply(v,E,{moduleGraph:P,runtimeTemplate:R,codeGenerationResults:$}){const N=v;let L;switch(N.urlType){case"string":L=cssEscapeString(R.assetUrl({publicPath:"",module:P.getModule(N),codeGenerationResults:$}));break;case"url":L=`url(${cssEscapeString(R.assetUrl({publicPath:"",module:P.getModule(N),codeGenerationResults:$}))})`;break}E.replace(N.range[0],N.range[1]-1,L)}};R(CssUrlDependency,"webpack/lib/dependencies/CssUrlDependency");v.exports=CssUrlDependency},61957:function(v,E,P){"use strict";const R=P(74364);const $=P(52743);class DelegatedSourceDependency extends ${constructor(v){super(v)}get type(){return"delegated source"}get category(){return"esm"}}R(DelegatedSourceDependency,"webpack/lib/dependencies/DelegatedSourceDependency");v.exports=DelegatedSourceDependency},3784:function(v,E,P){"use strict";const R=P(61803);const $=P(74364);class DllEntryDependency extends R{constructor(v,E){super();this.dependencies=v;this.name=E}get type(){return"dll entry"}serialize(v){const{write:E}=v;E(this.dependencies);E(this.name);super.serialize(v)}deserialize(v){const{read:E}=v;this.dependencies=E();this.name=E();super.deserialize(v)}}$(DllEntryDependency,"webpack/lib/dependencies/DllEntryDependency");v.exports=DllEntryDependency},54788:function(v,E){"use strict";const P=new WeakMap;E.bailout=v=>{const E=P.get(v);P.set(v,false);if(E===true){const E=v.module.buildMeta;E.exportsType=undefined;E.defaultObject=false}};E.enable=v=>{const E=P.get(v);if(E===false)return;P.set(v,true);if(E!==true){const E=v.module.buildMeta;E.exportsType="default";E.defaultObject="redirect"}};E.setFlagged=v=>{const E=P.get(v);if(E!==true)return;const R=v.module.buildMeta;if(R.exportsType==="dynamic")return;R.exportsType="flagged"};E.setDynamic=v=>{const E=P.get(v);if(E!==true)return;v.module.buildMeta.exportsType="dynamic"};E.isEnabled=v=>{const E=P.get(v);return E===true}},93342:function(v,E,P){"use strict";const R=P(74364);const $=P(52743);class EntryDependency extends ${constructor(v){super(v)}get type(){return"entry"}get category(){return"esm"}}R(EntryDependency,"webpack/lib/dependencies/EntryDependency");v.exports=EntryDependency},14578:function(v,E,P){"use strict";const{UsageState:R}=P(32514);const $=P(74364);const N=P(43301);const getProperty=(v,E,P,$,N)=>{if(!P){switch($){case"usedExports":{const P=v.getExportsInfo(E).getUsedExports(N);if(typeof P==="boolean"||P===undefined||P===null){return P}return Array.from(P).sort()}}}switch($){case"canMangle":{const R=v.getExportsInfo(E);const $=R.getExportInfo(P);if($)return $.canMangle;return R.otherExportsInfo.canMangle}case"used":return v.getExportsInfo(E).getUsed(P,N)!==R.Unused;case"useInfo":{const $=v.getExportsInfo(E).getUsed(P,N);switch($){case R.Used:case R.OnlyPropertiesUsed:return true;case R.Unused:return false;case R.NoInfo:return undefined;case R.Unknown:return null;default:throw new Error(`Unexpected UsageState ${$}`)}}case"provideInfo":return v.getExportsInfo(E).isExportProvided(P)}return undefined};class ExportsInfoDependency extends N{constructor(v,E,P){super();this.range=v;this.exportName=E;this.property=P}serialize(v){const{write:E}=v;E(this.range);E(this.exportName);E(this.property);super.serialize(v)}static deserialize(v){const E=new ExportsInfoDependency(v.read(),v.read(),v.read());E.deserialize(v);return E}}$(ExportsInfoDependency,"webpack/lib/dependencies/ExportsInfoDependency");ExportsInfoDependency.Template=class ExportsInfoDependencyTemplate extends N.Template{apply(v,E,{module:P,moduleGraph:R,runtime:$}){const N=v;const L=getProperty(R,P,N.exportName,N.property,$);E.replace(N.range[0],N.range[1]-1,L===undefined?"undefined":JSON.stringify(L))}};v.exports=ExportsInfoDependency},92449:function(v,E,P){"use strict";const R=P(74364);const $=P(76092);const N=P(13427);class ExternalModuleDependency extends ${constructor(v,E,P,R,$,N){super(R,$,N);this.importedModule=v;this.specifiers=E;this.default=P}_createHashUpdate(){return`${this.importedModule}${JSON.stringify(this.specifiers)}${this.default||"null"}${super._createHashUpdate()}`}serialize(v){super.serialize(v);const{write:E}=v;E(this.importedModule);E(this.specifiers);E(this.default)}deserialize(v){super.deserialize(v);const{read:E}=v;this.importedModule=E();this.specifiers=E();this.default=E()}}R(ExternalModuleDependency,"webpack/lib/dependencies/ExternalModuleDependency");ExternalModuleDependency.Template=class ExternalModuleDependencyTemplate extends $.Template{apply(v,E,P){super.apply(v,E,P);const R=v;const{chunkInitFragments:$}=P;$.push(new N(R.importedModule,R.specifiers,R.default))}};v.exports=ExternalModuleDependency},13427:function(v,E,P){"use strict";const R=P(94252);const $=P(74364);class ExternalModuleInitFragment extends R{constructor(v,E,P){super(undefined,R.STAGE_CONSTANTS,0,`external module imports|${v}|${P||"null"}`);this.importedModule=v;if(Array.isArray(E)){this.specifiers=new Map;for(const{name:v,value:P}of E){let E=this.specifiers.get(v);if(!E){E=new Set;this.specifiers.set(v,E)}E.add(P||v)}}else{this.specifiers=E}this.defaultImport=P}merge(v){const E=new Map(this.specifiers);for(const[P,R]of v.specifiers){if(E.has(P)){const v=E.get(P);for(const E of R)v.add(E)}else{E.set(P,R)}}return new ExternalModuleInitFragment(this.importedModule,E,this.defaultImport)}getContent({runtimeRequirements:v}){const E=[];for(const[v,P]of this.specifiers){for(const R of P){if(R===v){E.push(v)}else{E.push(`${v} as ${R}`)}}}let P=E.length>0?`{${E.join(",")}}`:"";if(this.defaultImport){P=`${this.defaultImport}${P?`, ${P}`:""}`}return`import ${P} from ${JSON.stringify(this.importedModule)};`}serialize(v){super.serialize(v);const{write:E}=v;E(this.importedModule);E(this.specifiers);E(this.defaultImport)}deserialize(v){super.deserialize(v);const{read:E}=v;this.importedModule=E();this.specifiers=E();this.defaultImport=E()}}$(ExternalModuleInitFragment,"webpack/lib/dependencies/ExternalModuleInitFragment");v.exports=ExternalModuleInitFragment},80535:function(v,E,P){"use strict";const R=P(35600);const $=P(74364);const N=P(27601);const L=P(43301);class HarmonyAcceptDependency extends L{constructor(v,E,P){super();this.range=v;this.dependencies=E;this.hasCallback=P}get type(){return"accepted harmony modules"}serialize(v){const{write:E}=v;E(this.range);E(this.dependencies);E(this.hasCallback);super.serialize(v)}deserialize(v){const{read:E}=v;this.range=E();this.dependencies=E();this.hasCallback=E();super.deserialize(v)}}$(HarmonyAcceptDependency,"webpack/lib/dependencies/HarmonyAcceptDependency");HarmonyAcceptDependency.Template=class HarmonyAcceptDependencyTemplate extends L.Template{apply(v,E,P){const $=v;const{module:L,runtime:q,runtimeRequirements:K,runtimeTemplate:ae,moduleGraph:ge,chunkGraph:be}=P;const xe=$.dependencies.map((v=>{const E=ge.getModule(v);return{dependency:v,runtimeCondition:E?N.Template.getImportEmittedRuntime(L,E):false}})).filter((({runtimeCondition:v})=>v!==false)).map((({dependency:v,runtimeCondition:E})=>{const $=ae.runtimeConditionExpression({chunkGraph:be,runtime:q,runtimeCondition:E,runtimeRequirements:K});const N=v.getImportStatement(true,P);const L=N[0]+N[1];if($!=="true"){return`if (${$}) {\n${R.indent(L)}\n}\n`}return L})).join("");if($.hasCallback){if(ae.supportsArrowFunction()){E.insert($.range[0],`__WEBPACK_OUTDATED_DEPENDENCIES__ => { ${xe}(`);E.insert($.range[1],")(__WEBPACK_OUTDATED_DEPENDENCIES__); }")}else{E.insert($.range[0],`function(__WEBPACK_OUTDATED_DEPENDENCIES__) { ${xe}(`);E.insert($.range[1],")(__WEBPACK_OUTDATED_DEPENDENCIES__); }.bind(this)")}return}const ve=ae.supportsArrowFunction();E.insert($.range[1]-.5,`, ${ve?"() =>":"function()"} { ${xe} }`)}};v.exports=HarmonyAcceptDependency},11459:function(v,E,P){"use strict";const R=P(74364);const $=P(27601);const N=P(43301);class HarmonyAcceptImportDependency extends ${constructor(v){super(v,NaN);this.weak=true}get type(){return"harmony accept"}}R(HarmonyAcceptImportDependency,"webpack/lib/dependencies/HarmonyAcceptImportDependency");HarmonyAcceptImportDependency.Template=N.Template;v.exports=HarmonyAcceptImportDependency},73657:function(v,E,P){"use strict";const{UsageState:R}=P(32514);const $=P(94252);const N=P(75189);const L=P(74364);const q=P(43301);class HarmonyCompatibilityDependency extends q{get type(){return"harmony export header"}}L(HarmonyCompatibilityDependency,"webpack/lib/dependencies/HarmonyCompatibilityDependency");HarmonyCompatibilityDependency.Template=class HarmonyExportDependencyTemplate extends q.Template{apply(v,E,{module:P,runtimeTemplate:L,moduleGraph:q,initFragments:K,runtimeRequirements:ae,runtime:ge,concatenationScope:be}){if(be)return;const xe=q.getExportsInfo(P);if(xe.getReadOnlyExportInfo("__esModule").getUsed(ge)!==R.Unused){const v=L.defineEsModuleFlagStatement({exportsArgument:P.exportsArgument,runtimeRequirements:ae});K.push(new $(v,$.STAGE_HARMONY_EXPORTS,0,"harmony compatibility"))}if(q.isAsync(P)){ae.add(N.module);ae.add(N.asyncModule);K.push(new $(L.supportsArrowFunction()?`${N.asyncModule}(${P.moduleArgument}, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {\n`:`${N.asyncModule}(${P.moduleArgument}, async function (__webpack_handle_async_dependencies__, __webpack_async_result__) { try {\n`,$.STAGE_ASYNC_BOUNDARY,0,undefined,`\n__webpack_async_result__();\n} catch(e) { __webpack_async_result__(e); } }${P.buildMeta.async?", 1":""});`))}}};v.exports=HarmonyCompatibilityDependency},28889:function(v,E,P){"use strict";const R=P(67169);const{JAVASCRIPT_MODULE_TYPE_ESM:$}=P(98791);const N=P(54788);const L=P(73657);const q=P(9023);v.exports=class HarmonyDetectionParserPlugin{constructor(v){const{topLevelAwait:E=false}=v||{};this.topLevelAwait=E}apply(v){v.hooks.program.tap("HarmonyDetectionParserPlugin",(E=>{const P=v.state.module.type===$;const R=P||E.body.some((v=>v.type==="ImportDeclaration"||v.type==="ExportDefaultDeclaration"||v.type==="ExportNamedDeclaration"||v.type==="ExportAllDeclaration"));if(R){const E=v.state.module;const R=new L;R.loc={start:{line:-1,column:0},end:{line:-1,column:0},index:-3};E.addPresentationalDependency(R);N.bailout(v.state);q.enable(v.state,P);v.scope.isStrict=true}}));v.hooks.topLevelAwait.tap("HarmonyDetectionParserPlugin",(()=>{const E=v.state.module;if(!this.topLevelAwait){throw new Error("The top-level-await experiment is not enabled (set experiments.topLevelAwait: true to enable it)")}if(!q.isEnabled(v.state)){throw new Error("Top-level-await is only supported in EcmaScript Modules")}E.buildMeta.async=true;R.check(E,v.state.compilation.runtimeTemplate,"topLevelAwait")}));const skipInHarmony=()=>{if(q.isEnabled(v.state)){return true}};const nullInHarmony=()=>{if(q.isEnabled(v.state)){return null}};const E=["define","exports"];for(const P of E){v.hooks.evaluateTypeof.for(P).tap("HarmonyDetectionParserPlugin",nullInHarmony);v.hooks.typeof.for(P).tap("HarmonyDetectionParserPlugin",skipInHarmony);v.hooks.evaluate.for(P).tap("HarmonyDetectionParserPlugin",nullInHarmony);v.hooks.expression.for(P).tap("HarmonyDetectionParserPlugin",skipInHarmony);v.hooks.call.for(P).tap("HarmonyDetectionParserPlugin",skipInHarmony)}}}},62731:function(v,E,P){"use strict";const R=P(74364);const $=P(59129);class HarmonyEvaluatedImportSpecifierDependency extends ${constructor(v,E,P,R,$,N,L){super(v,E,P,R,$,false,N,[]);this.operator=L}get type(){return`evaluated X ${this.operator} harmony import specifier`}serialize(v){super.serialize(v);const{write:E}=v;E(this.operator)}deserialize(v){super.deserialize(v);const{read:E}=v;this.operator=E()}}R(HarmonyEvaluatedImportSpecifierDependency,"webpack/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency");HarmonyEvaluatedImportSpecifierDependency.Template=class HarmonyEvaluatedImportSpecifierDependencyTemplate extends $.Template{apply(v,E,P){const R=v;const{module:$,moduleGraph:N,runtime:L}=P;const q=N.getConnection(R);if(q&&!q.isTargetActive(L))return;const K=N.getExportsInfo(q.module);const ae=R.getIds(N);let ge;const be=q.module.getExportsType(N,$.buildMeta.strictHarmonyModule);switch(be){case"default-with-named":{if(ae[0]==="default"){ge=ae.length===1||K.isExportProvided(ae.slice(1))}else{ge=K.isExportProvided(ae)}break}case"namespace":{if(ae[0]==="__esModule"){ge=ae.length===1||undefined}else{ge=K.isExportProvided(ae)}break}case"dynamic":{if(ae[0]!=="default"){ge=K.isExportProvided(ae)}break}}if(typeof ge==="boolean"){E.replace(R.range[0],R.range[1]-1,` ${ge}`)}else{const v=K.getUsedName(ae,L);const $=this._getCodeForIds(R,E,P,ae.slice(0,-1));E.replace(R.range[0],R.range[1]-1,`${v?JSON.stringify(v[v.length-1]):'""'} in ${$}`)}}};v.exports=HarmonyEvaluatedImportSpecifierDependency},40579:function(v,E,P){"use strict";const R=P(46906);const $=P(52540);const N=P(99534);const L=P(48200);const q=P(47503);const K=P(68981);const{ExportPresenceModes:ae}=P(27601);const{harmonySpecifierTag:ge,getAssertions:be}=P(35446);const xe=P(65295);const{HarmonyStarExportsList:ve}=q;v.exports=class HarmonyExportDependencyParserPlugin{constructor(v){this.exportPresenceMode=v.reexportExportsPresence!==undefined?ae.fromUserOption(v.reexportExportsPresence):v.exportsPresence!==undefined?ae.fromUserOption(v.exportsPresence):v.strictExportPresence?ae.ERROR:ae.AUTO}apply(v){const{exportPresenceMode:E}=this;v.hooks.export.tap("HarmonyExportDependencyParserPlugin",(E=>{const P=new L(E.declaration&&E.declaration.range,E.range);P.loc=Object.create(E.loc);P.loc.index=-1;v.state.module.addPresentationalDependency(P);return true}));v.hooks.exportImport.tap("HarmonyExportDependencyParserPlugin",((E,P)=>{v.state.lastHarmonyImportOrder=(v.state.lastHarmonyImportOrder||0)+1;const R=new $("",E.range);R.loc=Object.create(E.loc);R.loc.index=-1;v.state.module.addPresentationalDependency(R);const N=new xe(P,v.state.lastHarmonyImportOrder,be(E));N.loc=Object.create(E.loc);N.loc.index=-1;v.state.current.addDependency(N);return true}));v.hooks.exportExpression.tap("HarmonyExportDependencyParserPlugin",((E,P)=>{const $=P.type==="FunctionDeclaration";const L=v.getComments([E.range[0],P.range[0]]);const q=new N(P.range,E.range,L.map((v=>{switch(v.type){case"Block":return`/*${v.value}*/`;case"Line":return`//${v.value}\n`}return""})).join(""),P.type.endsWith("Declaration")&&P.id?P.id.name:$?{id:P.id?P.id.name:undefined,range:[P.range[0],P.params.length>0?P.params[0].range[0]:P.body.range[0]],prefix:`${P.async?"async ":""}function${P.generator?"*":""} `,suffix:`(${P.params.length>0?"":") "}`}:undefined);q.loc=Object.create(E.loc);q.loc.index=-1;v.state.current.addDependency(q);R.addVariableUsage(v,P.type.endsWith("Declaration")&&P.id?P.id.name:"*default*","default");return true}));v.hooks.exportSpecifier.tap("HarmonyExportDependencyParserPlugin",((P,$,N,L)=>{const ae=v.getTagData($,ge);let be;const xe=v.state.harmonyNamedExports=v.state.harmonyNamedExports||new Set;xe.add(N);R.addVariableUsage(v,$,N);if(ae){be=new q(ae.source,ae.sourceOrder,ae.ids,N,xe,null,E,null,ae.assertions)}else{be=new K($,N)}be.loc=Object.create(P.loc);be.loc.index=L;v.state.current.addDependency(be);return true}));v.hooks.exportImportSpecifier.tap("HarmonyExportDependencyParserPlugin",((P,R,$,N,L)=>{const K=v.state.harmonyNamedExports=v.state.harmonyNamedExports||new Set;let ae=null;if(N){K.add(N)}else{ae=v.state.harmonyStarExports=v.state.harmonyStarExports||new ve}const ge=new q(R,v.state.lastHarmonyImportOrder,$?[$]:[],N,K,ae&&ae.slice(),E,ae);if(ae){ae.push(ge)}ge.loc=Object.create(P.loc);ge.loc.index=L;v.state.current.addDependency(ge);return true}))}}},99534:function(v,E,P){"use strict";const R=P(79421);const $=P(75189);const N=P(74364);const L=P(53914);const q=P(77445);const K=P(43301);class HarmonyExportExpressionDependency extends K{constructor(v,E,P,R){super();this.range=v;this.rangeStatement=E;this.prefix=P;this.declarationId=R}get type(){return"harmony export expression"}getExports(v){return{exports:["default"],priority:1,terminalBinding:true,dependencies:undefined}}getModuleEvaluationSideEffectsState(v){return false}serialize(v){const{write:E}=v;E(this.range);E(this.rangeStatement);E(this.prefix);E(this.declarationId);super.serialize(v)}deserialize(v){const{read:E}=v;this.range=E();this.rangeStatement=E();this.prefix=E();this.declarationId=E();super.deserialize(v)}}N(HarmonyExportExpressionDependency,"webpack/lib/dependencies/HarmonyExportExpressionDependency");HarmonyExportExpressionDependency.Template=class HarmonyExportDependencyTemplate extends K.Template{apply(v,E,{module:P,moduleGraph:N,runtimeTemplate:K,runtimeRequirements:ae,initFragments:ge,runtime:be,concatenationScope:xe}){const ve=v;const{declarationId:Ae}=ve;const Ie=P.exportsArgument;if(Ae){let v;if(typeof Ae==="string"){v=Ae}else{v=R.DEFAULT_EXPORT;E.replace(Ae.range[0],Ae.range[1]-1,`${Ae.prefix}${v}${Ae.suffix}`)}if(xe){xe.registerExport("default",v)}else{const E=N.getExportsInfo(P).getUsedName("default",be);if(E){const P=new Map;P.set(E,`/* export default binding */ ${v}`);ge.push(new q(Ie,P))}}E.replace(ve.rangeStatement[0],ve.range[0]-1,`/* harmony default export */ ${ve.prefix}`)}else{let v;const Ae=R.DEFAULT_EXPORT;if(K.supportsConst()){v=`/* harmony default export */ const ${Ae} = `;if(xe){xe.registerExport("default",Ae)}else{const E=N.getExportsInfo(P).getUsedName("default",be);if(E){ae.add($.exports);const v=new Map;v.set(E,Ae);ge.push(new q(Ie,v))}else{v=`/* unused harmony default export */ var ${Ae} = `}}}else if(xe){v=`/* harmony default export */ var ${Ae} = `;xe.registerExport("default",Ae)}else{const E=N.getExportsInfo(P).getUsedName("default",be);if(E){ae.add($.exports);v=`/* harmony default export */ ${Ie}${L(typeof E==="string"?[E]:E)} = `}else{v=`/* unused harmony default export */ var ${Ae} = `}}if(ve.range){E.replace(ve.rangeStatement[0],ve.range[0]-1,v+"("+ve.prefix);E.replace(ve.range[1],ve.rangeStatement[1]-.5,");");return}E.replace(ve.rangeStatement[0],ve.rangeStatement[1]-1,v)}}};v.exports=HarmonyExportExpressionDependency},48200:function(v,E,P){"use strict";const R=P(74364);const $=P(43301);class HarmonyExportHeaderDependency extends ${constructor(v,E){super();this.range=v;this.rangeStatement=E}get type(){return"harmony export header"}serialize(v){const{write:E}=v;E(this.range);E(this.rangeStatement);super.serialize(v)}deserialize(v){const{read:E}=v;this.range=E();this.rangeStatement=E();super.deserialize(v)}}R(HarmonyExportHeaderDependency,"webpack/lib/dependencies/HarmonyExportHeaderDependency");HarmonyExportHeaderDependency.Template=class HarmonyExportDependencyTemplate extends $.Template{apply(v,E,P){const R=v;const $="";const N=R.range?R.range[0]-1:R.rangeStatement[1]-1;E.replace(R.rangeStatement[0],N,$)}};v.exports=HarmonyExportHeaderDependency},47503:function(v,E,P){"use strict";const R=P(61803);const{UsageState:$}=P(32514);const N=P(45139);const L=P(94252);const q=P(75189);const K=P(35600);const{countIterable:ae}=P(99770);const{first:ge,combine:be}=P(57167);const xe=P(74364);const ve=P(53914);const{propertyName:Ae}=P(88286);const{getRuntimeKey:Ie,keyToRuntime:He}=P(32681);const Qe=P(77445);const Je=P(27601);const Ve=P(25158);const{ExportPresenceModes:Ke}=Je;const Ye=Symbol("HarmonyExportImportedSpecifierDependency.ids");class NormalReexportItem{constructor(v,E,P,R,$){this.name=v;this.ids=E;this.exportInfo=P;this.checked=R;this.hidden=$}}class ExportMode{constructor(v){this.type=v;this.items=null;this.name=null;this.partialNamespaceExportInfo=null;this.ignored=null;this.hidden=null;this.userRequest=null;this.fakeType=0}}const determineExportAssignments=(v,E,P)=>{const R=new Set;const $=[];if(P){E=E.concat(P)}for(const P of E){const E=$.length;$[E]=R.size;const N=v.getModule(P);if(N){const P=v.getExportsInfo(N);for(const v of P.exports){if(v.provided===true&&v.name!=="default"&&!R.has(v.name)){R.add(v.name);$[E]=R.size}}}}$.push(R.size);return{names:Array.from(R),dependencyIndices:$}};const findDependencyForName=({names:v,dependencyIndices:E},P,R)=>{const $=R[Symbol.iterator]();const N=E[Symbol.iterator]();let L=$.next();let q=N.next();if(q.done)return;for(let E=0;E=q.value){L=$.next();q=N.next();if(q.done)return}if(v[E]===P)return L.value}return undefined};const getMode=(v,E,P)=>{const R=v.getModule(E);if(!R){const v=new ExportMode("missing");v.userRequest=E.userRequest;return v}const N=E.name;const L=He(P);const q=v.getParentModule(E);const K=v.getExportsInfo(q);if(N?K.getUsed(N,L)===$.Unused:K.isUsed(L)===false){const v=new ExportMode("unused");v.name=N||"*";return v}const ae=R.getExportsType(v,q.buildMeta.strictHarmonyModule);const ge=E.getIds(v);if(N&&ge.length>0&&ge[0]==="default"){switch(ae){case"dynamic":{const v=new ExportMode("reexport-dynamic-default");v.name=N;return v}case"default-only":case"default-with-named":{const v=K.getReadOnlyExportInfo(N);const E=new ExportMode("reexport-named-default");E.name=N;E.partialNamespaceExportInfo=v;return E}}}if(N){let v;const E=K.getReadOnlyExportInfo(N);if(ge.length>0){switch(ae){case"default-only":v=new ExportMode("reexport-undefined");v.name=N;break;default:v=new ExportMode("normal-reexport");v.items=[new NormalReexportItem(N,ge,E,false,false)];break}}else{switch(ae){case"default-only":v=new ExportMode("reexport-fake-namespace-object");v.name=N;v.partialNamespaceExportInfo=E;v.fakeType=0;break;case"default-with-named":v=new ExportMode("reexport-fake-namespace-object");v.name=N;v.partialNamespaceExportInfo=E;v.fakeType=2;break;case"dynamic":default:v=new ExportMode("reexport-namespace-object");v.name=N;v.partialNamespaceExportInfo=E}}return v}const{ignoredExports:be,exports:xe,checked:ve,hidden:Ae}=E.getStarReexports(v,L,K,R);if(!xe){const v=new ExportMode("dynamic-reexport");v.ignored=be;v.hidden=Ae;return v}if(xe.size===0){const v=new ExportMode("empty-star");v.hidden=Ae;return v}const Ie=new ExportMode("normal-reexport");Ie.items=Array.from(xe,(v=>new NormalReexportItem(v,[v],K.getReadOnlyExportInfo(v),ve.has(v),false)));if(Ae!==undefined){for(const v of Ae){Ie.items.push(new NormalReexportItem(v,[v],K.getReadOnlyExportInfo(v),false,true))}}return Ie};class HarmonyExportImportedSpecifierDependency extends Je{constructor(v,E,P,R,$,N,L,q,K){super(v,E,K);this.ids=P;this.name=R;this.activeExports=$;this.otherStarExports=N;this.exportPresenceMode=L;this.allStarExports=q}couldAffectReferencingModule(){return R.TRANSITIVE}get id(){throw new Error("id was renamed to ids and type changed to string[]")}getId(){throw new Error("id was renamed to ids and type changed to string[]")}setId(){throw new Error("id was renamed to ids and type changed to string[]")}get type(){return"harmony export imported specifier"}getIds(v){return v.getMeta(this)[Ye]||this.ids}setIds(v,E){v.getMeta(this)[Ye]=E}getMode(v,E){return v.dependencyCacheProvide(this,Ie(E),getMode)}getStarReexports(v,E,P=v.getExportsInfo(v.getParentModule(this)),R=v.getModule(this)){const N=v.getExportsInfo(R);const L=N.otherExportsInfo.provided===false;const q=P.otherExportsInfo.getUsed(E)===$.Unused;const K=new Set(["default",...this.activeExports]);let ae=undefined;const ge=this._discoverActiveExportsFromOtherStarExports(v);if(ge!==undefined){ae=new Set;for(let v=0;v{const R=this.getMode(v,P);return R.type!=="unused"&&R.type!=="empty-star"}}getModuleEvaluationSideEffectsState(v){return false}getReferencedExports(v,E){const P=this.getMode(v,E);switch(P.type){case"missing":case"unused":case"empty-star":case"reexport-undefined":return R.NO_EXPORTS_REFERENCED;case"reexport-dynamic-default":return R.EXPORTS_OBJECT_REFERENCED;case"reexport-named-default":{if(!P.partialNamespaceExportInfo)return R.EXPORTS_OBJECT_REFERENCED;const v=[];Ve(E,v,[],P.partialNamespaceExportInfo);return v}case"reexport-namespace-object":case"reexport-fake-namespace-object":{if(!P.partialNamespaceExportInfo)return R.EXPORTS_OBJECT_REFERENCED;const v=[];Ve(E,v,[],P.partialNamespaceExportInfo,P.type==="reexport-fake-namespace-object");return v}case"dynamic-reexport":return R.EXPORTS_OBJECT_REFERENCED;case"normal-reexport":{const v=[];for(const{ids:R,exportInfo:$,hidden:N}of P.items){if(N)continue;Ve(E,v,R,$,false)}return v}default:throw new Error(`Unknown mode ${P.type}`)}}_discoverActiveExportsFromOtherStarExports(v){if(!this.otherStarExports)return undefined;const E="length"in this.otherStarExports?this.otherStarExports.length:ae(this.otherStarExports);if(E===0)return undefined;if(this.allStarExports){const{names:P,dependencyIndices:R}=v.cached(determineExportAssignments,this.allStarExports.dependencies);return{names:P,namesSlice:R[E-1],dependencyIndices:R,dependencyIndex:E}}const{names:P,dependencyIndices:R}=v.cached(determineExportAssignments,this.otherStarExports,this);return{names:P,namesSlice:R[E-1],dependencyIndices:R,dependencyIndex:E}}getExports(v){const E=this.getMode(v,undefined);switch(E.type){case"missing":return undefined;case"dynamic-reexport":{const P=v.getConnection(this);return{exports:true,from:P,canMangle:false,excludeExports:E.hidden?be(E.ignored,E.hidden):E.ignored,hideExports:E.hidden,dependencies:[P.module]}}case"empty-star":return{exports:[],hideExports:E.hidden,dependencies:[v.getModule(this)]};case"normal-reexport":{const P=v.getConnection(this);return{exports:Array.from(E.items,(v=>({name:v.name,from:P,export:v.ids,hidden:v.hidden}))),priority:1,dependencies:[P.module]}}case"reexport-dynamic-default":{{const P=v.getConnection(this);return{exports:[{name:E.name,from:P,export:["default"]}],priority:1,dependencies:[P.module]}}}case"reexport-undefined":return{exports:[E.name],dependencies:[v.getModule(this)]};case"reexport-fake-namespace-object":{const P=v.getConnection(this);return{exports:[{name:E.name,from:P,export:null,exports:[{name:"default",canMangle:false,from:P,export:null}]}],priority:1,dependencies:[P.module]}}case"reexport-namespace-object":{const P=v.getConnection(this);return{exports:[{name:E.name,from:P,export:null}],priority:1,dependencies:[P.module]}}case"reexport-named-default":{const P=v.getConnection(this);return{exports:[{name:E.name,from:P,export:["default"]}],priority:1,dependencies:[P.module]}}default:throw new Error(`Unknown mode ${E.type}`)}}_getEffectiveExportPresenceLevel(v){if(this.exportPresenceMode!==Ke.AUTO)return this.exportPresenceMode;return v.getParentModule(this).buildMeta.strictHarmonyModule?Ke.ERROR:Ke.WARN}getWarnings(v){const E=this._getEffectiveExportPresenceLevel(v);if(E===Ke.WARN){return this._getErrors(v)}return null}getErrors(v){const E=this._getEffectiveExportPresenceLevel(v);if(E===Ke.ERROR){return this._getErrors(v)}return null}_getErrors(v){const E=this.getIds(v);let P=this.getLinkingErrors(v,E,`(reexported as '${this.name}')`);if(E.length===0&&this.name===null){const E=this._discoverActiveExportsFromOtherStarExports(v);if(E&&E.namesSlice>0){const R=new Set(E.names.slice(E.namesSlice,E.dependencyIndices[E.dependencyIndex]));const $=v.getModule(this);if($){const L=v.getExportsInfo($);const q=new Map;for(const P of L.orderedExports){if(P.provided!==true)continue;if(P.name==="default")continue;if(this.activeExports.has(P.name))continue;if(R.has(P.name))continue;const N=findDependencyForName(E,P.name,this.allStarExports?this.allStarExports.dependencies:[...this.otherStarExports,this]);if(!N)continue;const L=P.getTerminalBinding(v);if(!L)continue;const K=v.getModule(N);if(K===$)continue;const ae=v.getExportInfo(K,P.name);const ge=ae.getTerminalBinding(v);if(!ge)continue;if(L===ge)continue;const be=q.get(N.request);if(be===undefined){q.set(N.request,[P.name])}else{be.push(P.name)}}for(const[v,E]of q){if(!P)P=[];P.push(new N(`The requested module '${this.request}' contains conflicting star exports for the ${E.length>1?"names":"name"} ${E.map((v=>`'${v}'`)).join(", ")} with the previous requested module '${v}'`))}}}}return P}serialize(v){const{write:E,setCircularReference:P}=v;P(this);E(this.ids);E(this.name);E(this.activeExports);E(this.otherStarExports);E(this.exportPresenceMode);E(this.allStarExports);super.serialize(v)}deserialize(v){const{read:E,setCircularReference:P}=v;P(this);this.ids=E();this.name=E();this.activeExports=E();this.otherStarExports=E();this.exportPresenceMode=E();this.allStarExports=E();super.deserialize(v)}}xe(HarmonyExportImportedSpecifierDependency,"webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency");v.exports=HarmonyExportImportedSpecifierDependency;HarmonyExportImportedSpecifierDependency.Template=class HarmonyExportImportedSpecifierDependencyTemplate extends Je.Template{apply(v,E,P){const{moduleGraph:R,runtime:$,concatenationScope:N}=P;const L=v;const q=L.getMode(R,$);if(N){switch(q.type){case"reexport-undefined":N.registerRawExport(q.name,"/* reexport non-default export from non-harmony */ undefined")}return}if(q.type!=="unused"&&q.type!=="empty-star"){super.apply(v,E,P);this._addExportFragments(P.initFragments,L,q,P.module,R,$,P.runtimeTemplate,P.runtimeRequirements)}}_addExportFragments(v,E,P,R,$,N,ae,xe){const ve=$.getModule(E);const Ae=E.getImportVar($);switch(P.type){case"missing":case"empty-star":v.push(new L("/* empty/unused harmony star reexport */\n",L.STAGE_HARMONY_EXPORTS,1));break;case"unused":v.push(new L(`${K.toNormalComment(`unused harmony reexport ${P.name}`)}\n`,L.STAGE_HARMONY_EXPORTS,1));break;case"reexport-dynamic-default":v.push(this.getReexportFragment(R,"reexport default from dynamic",$.getExportsInfo(R).getUsedName(P.name,N),Ae,null,xe));break;case"reexport-fake-namespace-object":v.push(...this.getReexportFakeNamespaceObjectFragments(R,$.getExportsInfo(R).getUsedName(P.name,N),Ae,P.fakeType,xe));break;case"reexport-undefined":v.push(this.getReexportFragment(R,"reexport non-default export from non-harmony",$.getExportsInfo(R).getUsedName(P.name,N),"undefined","",xe));break;case"reexport-named-default":v.push(this.getReexportFragment(R,"reexport default export from named module",$.getExportsInfo(R).getUsedName(P.name,N),Ae,"",xe));break;case"reexport-namespace-object":v.push(this.getReexportFragment(R,"reexport module object",$.getExportsInfo(R).getUsedName(P.name,N),Ae,"",xe));break;case"normal-reexport":for(const{name:q,ids:K,checked:ae,hidden:ge}of P.items){if(ge)continue;if(ae){v.push(new L("/* harmony reexport (checked) */ "+this.getConditionalReexportStatement(R,q,Ae,K,xe),$.isAsync(ve)?L.STAGE_ASYNC_HARMONY_IMPORTS:L.STAGE_HARMONY_IMPORTS,E.sourceOrder))}else{v.push(this.getReexportFragment(R,"reexport safe",$.getExportsInfo(R).getUsedName(q,N),Ae,$.getExportsInfo(ve).getUsedName(K,N),xe))}}break;case"dynamic-reexport":{const N=P.hidden?be(P.ignored,P.hidden):P.ignored;const K=ae.supportsConst()&&ae.supportsArrowFunction();let Ie="/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n"+`/* harmony reexport (unknown) */ for(${K?"const":"var"} __WEBPACK_IMPORT_KEY__ in ${Ae}) `;if(N.size>1){Ie+="if("+JSON.stringify(Array.from(N))+".indexOf(__WEBPACK_IMPORT_KEY__) < 0) "}else if(N.size===1){Ie+=`if(__WEBPACK_IMPORT_KEY__ !== ${JSON.stringify(ge(N))}) `}Ie+=`__WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = `;if(K){Ie+=`() => ${Ae}[__WEBPACK_IMPORT_KEY__]`}else{Ie+=`function(key) { return ${Ae}[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)`}xe.add(q.exports);xe.add(q.definePropertyGetters);const He=R.exportsArgument;v.push(new L(`${Ie}\n/* harmony reexport (unknown) */ ${q.definePropertyGetters}(${He}, __WEBPACK_REEXPORT_OBJECT__);\n`,$.isAsync(ve)?L.STAGE_ASYNC_HARMONY_IMPORTS:L.STAGE_HARMONY_IMPORTS,E.sourceOrder));break}default:throw new Error(`Unknown mode ${P.type}`)}}getReexportFragment(v,E,P,R,$,N){const L=this.getReturnValue(R,$);N.add(q.exports);N.add(q.definePropertyGetters);const K=new Map;K.set(P,`/* ${E} */ ${L}`);return new Qe(v.exportsArgument,K)}getReexportFakeNamespaceObjectFragments(v,E,P,R,$){$.add(q.exports);$.add(q.definePropertyGetters);$.add(q.createFakeNamespaceObject);const N=new Map;N.set(E,`/* reexport fake namespace object from non-harmony */ ${P}_namespace_cache || (${P}_namespace_cache = ${q.createFakeNamespaceObject}(${P}${R?`, ${R}`:""}))`);return[new L(`var ${P}_namespace_cache;\n`,L.STAGE_CONSTANTS,-1,`${P}_namespace_cache`),new Qe(v.exportsArgument,N)]}getConditionalReexportStatement(v,E,P,R,$){if(R===false){return"/* unused export */\n"}const N=v.exportsArgument;const L=this.getReturnValue(P,R);$.add(q.exports);$.add(q.definePropertyGetters);$.add(q.hasOwnProperty);return`if(${q.hasOwnProperty}(${P}, ${JSON.stringify(R[0])})) ${q.definePropertyGetters}(${N}, { ${Ae(E)}: function() { return ${L}; } });\n`}getReturnValue(v,E){if(E===null){return`${v}_default.a`}if(E===""){return v}if(E===false){return"/* unused export */ undefined"}return`${v}${ve(E)}`}};class HarmonyStarExportsList{constructor(){this.dependencies=[]}push(v){this.dependencies.push(v)}slice(){return this.dependencies.slice()}serialize({write:v,setCircularReference:E}){E(this);v(this.dependencies)}deserialize({read:v,setCircularReference:E}){E(this);this.dependencies=v()}}xe(HarmonyStarExportsList,"webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency","HarmonyStarExportsList");v.exports.HarmonyStarExportsList=HarmonyStarExportsList},77445:function(v,E,P){"use strict";const R=P(94252);const $=P(75189);const{first:N}=P(57167);const{propertyName:L}=P(88286);const joinIterableWithComma=v=>{let E="";let P=true;for(const R of v){if(P){P=false}else{E+=", "}E+=R}return E};const q=new Map;const K=new Set;class HarmonyExportInitFragment extends R{constructor(v,E=q,P=K){super(undefined,R.STAGE_HARMONY_EXPORTS,1,"harmony-exports");this.exportsArgument=v;this.exportMap=E;this.unusedExports=P}mergeAll(v){let E;let P=false;let R;let $=false;for(const N of v){if(N.exportMap.size!==0){if(E===undefined){E=N.exportMap;P=false}else{if(!P){E=new Map(E);P=true}for(const[v,P]of N.exportMap){if(!E.has(v))E.set(v,P)}}}if(N.unusedExports.size!==0){if(R===undefined){R=N.unusedExports;$=false}else{if(!$){R=new Set(R);$=true}for(const v of N.unusedExports){R.add(v)}}}}return new HarmonyExportInitFragment(this.exportsArgument,E,R)}merge(v){let E;if(this.exportMap.size===0){E=v.exportMap}else if(v.exportMap.size===0){E=this.exportMap}else{E=new Map(v.exportMap);for(const[v,P]of this.exportMap){if(!E.has(v))E.set(v,P)}}let P;if(this.unusedExports.size===0){P=v.unusedExports}else if(v.unusedExports.size===0){P=this.unusedExports}else{P=new Set(v.unusedExports);for(const v of this.unusedExports){P.add(v)}}return new HarmonyExportInitFragment(this.exportsArgument,E,P)}getContent({runtimeTemplate:v,runtimeRequirements:E}){E.add($.exports);E.add($.definePropertyGetters);const P=this.unusedExports.size>1?`/* unused harmony exports ${joinIterableWithComma(this.unusedExports)} */\n`:this.unusedExports.size>0?`/* unused harmony export ${N(this.unusedExports)} */\n`:"";const R=[];const q=Array.from(this.exportMap).sort((([v],[E])=>v0?`/* harmony export */ ${$.definePropertyGetters}(${this.exportsArgument}, {${R.join(",")}\n/* harmony export */ });\n`:"";return`${K}${P}`}}v.exports=HarmonyExportInitFragment},68981:function(v,E,P){"use strict";const R=P(74364);const $=P(77445);const N=P(43301);class HarmonyExportSpecifierDependency extends N{constructor(v,E){super();this.id=v;this.name=E}get type(){return"harmony export specifier"}getExports(v){return{exports:[this.name],priority:1,terminalBinding:true,dependencies:undefined}}getModuleEvaluationSideEffectsState(v){return false}serialize(v){const{write:E}=v;E(this.id);E(this.name);super.serialize(v)}deserialize(v){const{read:E}=v;this.id=E();this.name=E();super.deserialize(v)}}R(HarmonyExportSpecifierDependency,"webpack/lib/dependencies/HarmonyExportSpecifierDependency");HarmonyExportSpecifierDependency.Template=class HarmonyExportSpecifierDependencyTemplate extends N.Template{apply(v,E,{module:P,moduleGraph:R,initFragments:N,runtime:L,concatenationScope:q}){const K=v;if(q){q.registerExport(K.name,K.id);return}const ae=R.getExportsInfo(P).getUsedName(K.name,L);if(!ae){const v=new Set;v.add(K.name||"namespace");N.push(new $(P.exportsArgument,undefined,v));return}const ge=new Map;ge.set(ae,`/* binding */ ${K.id}`);N.push(new $(P.exportsArgument,ge,undefined))}};v.exports=HarmonyExportSpecifierDependency},9023:function(v,E,P){"use strict";const R=P(75189);const $=new WeakMap;E.enable=(v,E)=>{const P=$.get(v);if(P===false)return;$.set(v,true);if(P!==true){const P=v.module.buildMeta;P.exportsType="namespace";const $=v.module.buildInfo;$.strict=true;$.exportsArgument=R.exports;if(E){P.strictHarmonyModule=true;$.moduleArgument="__webpack_module__"}}};E.isEnabled=v=>{const E=$.get(v);return E===true}},27601:function(v,E,P){"use strict";const R=P(53610);const $=P(61803);const N=P(45139);const L=P(94252);const q=P(35600);const K=P(54146);const{filterRuntime:ae,mergeRuntime:ge}=P(32681);const be=P(52743);const xe={NONE:0,WARN:1,AUTO:2,ERROR:3,fromUserOption(v){switch(v){case"error":return xe.ERROR;case"warn":return xe.WARN;case"auto":return xe.AUTO;case false:return xe.NONE;default:throw new Error(`Invalid export presence value ${v}`)}}};class HarmonyImportDependency extends be{constructor(v,E,P){super(v);this.sourceOrder=E;this.assertions=P}get category(){return"esm"}getReferencedExports(v,E){return $.NO_EXPORTS_REFERENCED}getImportVar(v){const E=v.getParentModule(this);const P=v.getMeta(E);let R=P.importVarMap;if(!R)P.importVarMap=R=new Map;let $=R.get(v.getModule(this));if($)return $;$=`${q.toIdentifier(`${this.userRequest}`)}__WEBPACK_IMPORTED_MODULE_${R.size}__`;R.set(v.getModule(this),$);return $}getImportStatement(v,{runtimeTemplate:E,module:P,moduleGraph:R,chunkGraph:$,runtimeRequirements:N}){return E.importStatement({update:v,module:R.getModule(this),chunkGraph:$,importVar:this.getImportVar(R),request:this.request,originModule:P,runtimeRequirements:N})}getLinkingErrors(v,E,P){const R=v.getModule(this);if(!R||R.getNumberOfErrors()>0){return}const $=v.getParentModule(this);const L=R.getExportsType(v,$.buildMeta.strictHarmonyModule);if(L==="namespace"||L==="default-with-named"){if(E.length===0){return}if((L!=="default-with-named"||E[0]!=="default")&&v.isExportProvided(R,E)===false){let $=0;let L=v.getExportsInfo(R);while($`'${v}'`)).join(".")} ${P} was not found in '${this.userRequest}'${R}`)]}L=R.getNestedExportsInfo()}return[new N(`export ${E.map((v=>`'${v}'`)).join(".")} ${P} was not found in '${this.userRequest}'`)]}}switch(L){case"default-only":if(E.length>0&&E[0]!=="default"){return[new N(`Can't import the named export ${E.map((v=>`'${v}'`)).join(".")} ${P} from default-exporting module (only default export is available)`)]}break;case"default-with-named":if(E.length>0&&E[0]!=="default"&&R.buildMeta.defaultObject==="redirect-warn"){return[new N(`Should not import the named export ${E.map((v=>`'${v}'`)).join(".")} ${P} from default-exporting module (only default export is available soon)`)]}break}}serialize(v){const{write:E}=v;E(this.sourceOrder);E(this.assertions);super.serialize(v)}deserialize(v){const{read:E}=v;this.sourceOrder=E();this.assertions=E();super.deserialize(v)}}v.exports=HarmonyImportDependency;const ve=new WeakMap;HarmonyImportDependency.Template=class HarmonyImportDependencyTemplate extends be.Template{apply(v,E,P){const $=v;const{module:N,chunkGraph:q,moduleGraph:be,runtime:xe}=P;const Ae=be.getConnection($);if(Ae&&!Ae.isTargetActive(xe))return;const Ie=Ae&&Ae.module;if(Ae&&Ae.weak&&Ie&&q.getModuleId(Ie)===null){return}const He=Ie?Ie.identifier():$.request;const Qe=`harmony import ${He}`;const Je=$.weak?false:Ae?ae(xe,(v=>Ae.isTargetActive(v))):true;if(N&&Ie){let v=ve.get(N);if(v===undefined){v=new WeakMap;ve.set(N,v)}let E=Je;const P=v.get(Ie)||false;if(P!==false&&E!==true){if(E===false||P===true){E=P}else{E=ge(P,E)}}v.set(Ie,E)}const Ve=$.getImportStatement(false,P);if(Ie&&P.moduleGraph.isAsync(Ie)){P.initFragments.push(new R(Ve[0],L.STAGE_HARMONY_IMPORTS,$.sourceOrder,Qe,Je));P.initFragments.push(new K(new Set([$.getImportVar(P.moduleGraph)])));P.initFragments.push(new R(Ve[1],L.STAGE_ASYNC_HARMONY_IMPORTS,$.sourceOrder,Qe+" compat",Je))}else{P.initFragments.push(new R(Ve[0]+Ve[1],L.STAGE_HARMONY_IMPORTS,$.sourceOrder,Qe,Je))}}static getImportEmittedRuntime(v,E){const P=ve.get(v);if(P===undefined)return false;return P.get(E)||false}};v.exports.ExportPresenceModes=xe},35446:function(v,E,P){"use strict";const R=P(92553);const $=P(46906);const N=P(52540);const L=P(80535);const q=P(11459);const K=P(62731);const ae=P(9023);const{ExportPresenceModes:ge}=P(27601);const be=P(65295);const xe=P(59129);const ve=Symbol("harmony import");function getAssertions(v){const E=v.assertions;if(E===undefined){return undefined}const P={};for(const v of E){const E=v.key.type==="Identifier"?v.key.name:v.key.value;P[E]=v.value.value}return P}v.exports=class HarmonyImportDependencyParserPlugin{constructor(v){this.exportPresenceMode=v.importExportsPresence!==undefined?ge.fromUserOption(v.importExportsPresence):v.exportsPresence!==undefined?ge.fromUserOption(v.exportsPresence):v.strictExportPresence?ge.ERROR:ge.AUTO;this.strictThisContextOnImports=v.strictThisContextOnImports}apply(v){const{exportPresenceMode:E}=this;function getNonOptionalPart(v,E){let P=0;while(P{const P=E;if(v.isVariableDefined(P.name)||v.getTagData(P.name,ve)){return true}}));v.hooks.import.tap("HarmonyImportDependencyParserPlugin",((E,P)=>{v.state.lastHarmonyImportOrder=(v.state.lastHarmonyImportOrder||0)+1;const R=new N(v.isAsiPosition(E.range[0])?";":"",E.range);R.loc=E.loc;v.state.module.addPresentationalDependency(R);v.unsetAsiPosition(E.range[1]);const $=getAssertions(E);const L=new be(P,v.state.lastHarmonyImportOrder,$);L.loc=E.loc;v.state.module.addDependency(L);return true}));v.hooks.importSpecifier.tap("HarmonyImportDependencyParserPlugin",((E,P,R,$)=>{const N=R===null?[]:[R];v.tagVariable($,ve,{name:$,source:P,ids:N,sourceOrder:v.state.lastHarmonyImportOrder,assertions:getAssertions(E)});return true}));v.hooks.binaryExpression.tap("HarmonyImportDependencyParserPlugin",(E=>{if(E.operator!=="in")return;const P=v.evaluateExpression(E.left);if(P.couldHaveSideEffects())return;const R=P.asString();if(!R)return;const N=v.evaluateExpression(E.right);if(!N.isIdentifier())return;const L=N.rootInfo;if(typeof L==="string"||!L||!L.tagInfo||L.tagInfo.tag!==ve)return;const q=L.tagInfo.data;const ae=N.getMembers();const ge=new K(q.source,q.sourceOrder,q.ids.concat(ae).concat([R]),q.name,E.range,q.assertions,"in");ge.directImport=ae.length===0;ge.asiSafe=!v.isAsiPosition(E.range[0]);ge.loc=E.loc;v.state.module.addDependency(ge);$.onUsage(v.state,(v=>ge.usedByExports=v));return true}));v.hooks.expression.for(ve).tap("HarmonyImportDependencyParserPlugin",(P=>{const R=v.currentTagData;const N=new xe(R.source,R.sourceOrder,R.ids,R.name,P.range,E,R.assertions,[]);N.referencedPropertiesInDestructuring=v.destructuringAssignmentPropertiesFor(P);N.shorthand=v.scope.inShorthand;N.directImport=true;N.asiSafe=!v.isAsiPosition(P.range[0]);N.loc=P.loc;N.call=v.scope.inTaggedTemplateTag;v.state.module.addDependency(N);$.onUsage(v.state,(v=>N.usedByExports=v));return true}));v.hooks.expressionMemberChain.for(ve).tap("HarmonyImportDependencyParserPlugin",((P,R,N,L)=>{const q=v.currentTagData;const K=getNonOptionalPart(R,N);const ae=L.slice(0,L.length-(R.length-K.length));const ge=K!==R?getNonOptionalMemberChain(P,R.length-K.length):P;const be=q.ids.concat(K);const ve=new xe(q.source,q.sourceOrder,be,q.name,ge.range,E,q.assertions,ae);ve.referencedPropertiesInDestructuring=v.destructuringAssignmentPropertiesFor(ge);ve.asiSafe=!v.isAsiPosition(ge.range[0]);ve.loc=ge.loc;v.state.module.addDependency(ve);$.onUsage(v.state,(v=>ve.usedByExports=v));return true}));v.hooks.callMemberChain.for(ve).tap("HarmonyImportDependencyParserPlugin",((P,R,N,L)=>{const{arguments:q,callee:K}=P;const ae=v.currentTagData;const ge=getNonOptionalPart(R,N);const be=L.slice(0,L.length-(R.length-ge.length));const ve=ge!==R?getNonOptionalMemberChain(K,R.length-ge.length):K;const Ae=ae.ids.concat(ge);const Ie=new xe(ae.source,ae.sourceOrder,Ae,ae.name,ve.range,E,ae.assertions,be);Ie.directImport=R.length===0;Ie.call=true;Ie.asiSafe=!v.isAsiPosition(ve.range[0]);Ie.namespaceObjectAsContext=R.length>0&&this.strictThisContextOnImports;Ie.loc=ve.loc;v.state.module.addDependency(Ie);if(q)v.walkExpressions(q);$.onUsage(v.state,(v=>Ie.usedByExports=v));return true}));const{hotAcceptCallback:P,hotAcceptWithoutCallback:ge}=R.getParserHooks(v);P.tap("HarmonyImportDependencyParserPlugin",((E,P)=>{if(!ae.isEnabled(v.state)){return}const R=P.map((P=>{const R=new q(P);R.loc=E.loc;v.state.module.addDependency(R);return R}));if(R.length>0){const P=new L(E.range,R,true);P.loc=E.loc;v.state.module.addDependency(P)}}));ge.tap("HarmonyImportDependencyParserPlugin",((E,P)=>{if(!ae.isEnabled(v.state)){return}const R=P.map((P=>{const R=new q(P);R.loc=E.loc;v.state.module.addDependency(R);return R}));if(R.length>0){const P=new L(E.range,R,false);P.loc=E.loc;v.state.module.addDependency(P)}}))}};v.exports.harmonySpecifierTag=ve;v.exports.getAssertions=getAssertions},65295:function(v,E,P){"use strict";const R=P(74364);const $=P(27601);class HarmonyImportSideEffectDependency extends ${constructor(v,E,P){super(v,E,P)}get type(){return"harmony side effect evaluation"}getCondition(v){return E=>{const P=E.resolvedModule;if(!P)return true;return P.getSideEffectsConnectionState(v)}}getModuleEvaluationSideEffectsState(v){const E=v.getModule(this);if(!E)return true;return E.getSideEffectsConnectionState(v)}}R(HarmonyImportSideEffectDependency,"webpack/lib/dependencies/HarmonyImportSideEffectDependency");HarmonyImportSideEffectDependency.Template=class HarmonyImportSideEffectDependencyTemplate extends $.Template{apply(v,E,P){const{moduleGraph:R,concatenationScope:$}=P;if($){const E=R.getModule(v);if($.isModuleInScope(E)){return}}super.apply(v,E,P)}};v.exports=HarmonyImportSideEffectDependency},59129:function(v,E,P){"use strict";const R=P(61803);const{getDependencyUsedByExportsCondition:$}=P(46906);const{getTrimmedIdsAndRange:N}=P(43134);const L=P(74364);const q=P(53914);const K=P(27601);const ae=Symbol("HarmonyImportSpecifierDependency.ids");const{ExportPresenceModes:ge}=K;class HarmonyImportSpecifierDependency extends K{constructor(v,E,P,R,$,N,L,q){super(v,E,L);this.ids=P;this.name=R;this.range=$;this.idRanges=q;this.exportPresenceMode=N;this.namespaceObjectAsContext=false;this.call=undefined;this.directImport=undefined;this.shorthand=undefined;this.asiSafe=undefined;this.usedByExports=undefined;this.referencedPropertiesInDestructuring=undefined}get id(){throw new Error("id was renamed to ids and type changed to string[]")}getId(){throw new Error("id was renamed to ids and type changed to string[]")}setId(){throw new Error("id was renamed to ids and type changed to string[]")}get type(){return"harmony import specifier"}getIds(v){const E=v.getMetaIfExisting(this);if(E===undefined)return this.ids;const P=E[ae];return P!==undefined?P:this.ids}setIds(v,E){v.getMeta(this)[ae]=E}getCondition(v){return $(this,this.usedByExports,v)}getModuleEvaluationSideEffectsState(v){return false}getReferencedExports(v,E){let P=this.getIds(v);if(P.length===0)return this._getReferencedExportsInDestructuring();let $=this.namespaceObjectAsContext;if(P[0]==="default"){const E=v.getParentModule(this);const N=v.getModule(this);switch(N.getExportsType(v,E.buildMeta.strictHarmonyModule)){case"default-only":case"default-with-named":if(P.length===1)return this._getReferencedExportsInDestructuring();P=P.slice(1);$=true;break;case"dynamic":return R.EXPORTS_OBJECT_REFERENCED}}if(this.call&&!this.directImport&&($||P.length>1)){if(P.length===1)return R.EXPORTS_OBJECT_REFERENCED;P=P.slice(0,-1)}return this._getReferencedExportsInDestructuring(P)}_getReferencedExportsInDestructuring(v){if(this.referencedPropertiesInDestructuring){const E=[];for(const P of this.referencedPropertiesInDestructuring){E.push({name:v?v.concat([P]):[P],canMangle:false})}return E}else{return v?[v]:R.EXPORTS_OBJECT_REFERENCED}}_getEffectiveExportPresenceLevel(v){if(this.exportPresenceMode!==ge.AUTO)return this.exportPresenceMode;const E=v.getParentModule(this).buildMeta;return E.strictHarmonyModule?ge.ERROR:ge.WARN}getWarnings(v){const E=this._getEffectiveExportPresenceLevel(v);if(E===ge.WARN){return this._getErrors(v)}return null}getErrors(v){const E=this._getEffectiveExportPresenceLevel(v);if(E===ge.ERROR){return this._getErrors(v)}return null}_getErrors(v){const E=this.getIds(v);return this.getLinkingErrors(v,E,`(imported as '${this.name}')`)}getNumberOfIdOccurrences(){return 0}serialize(v){const{write:E}=v;E(this.ids);E(this.name);E(this.range);E(this.idRanges);E(this.exportPresenceMode);E(this.namespaceObjectAsContext);E(this.call);E(this.directImport);E(this.shorthand);E(this.asiSafe);E(this.usedByExports);E(this.referencedPropertiesInDestructuring);super.serialize(v)}deserialize(v){const{read:E}=v;this.ids=E();this.name=E();this.range=E();this.idRanges=E();this.exportPresenceMode=E();this.namespaceObjectAsContext=E();this.call=E();this.directImport=E();this.shorthand=E();this.asiSafe=E();this.usedByExports=E();this.referencedPropertiesInDestructuring=E();super.deserialize(v)}}L(HarmonyImportSpecifierDependency,"webpack/lib/dependencies/HarmonyImportSpecifierDependency");HarmonyImportSpecifierDependency.Template=class HarmonyImportSpecifierDependencyTemplate extends K.Template{apply(v,E,P){const R=v;const{moduleGraph:$,runtime:L}=P;const q=$.getConnection(R);if(q&&!q.isTargetActive(L))return;const{trimmedRange:[K,ae],trimmedIds:ge}=N(R.getIds($),R.range,R.idRanges,$,R);const be=this._getCodeForIds(R,E,P,ge);if(R.shorthand){E.insert(ae,`: ${be}`)}else{E.replace(K,ae-1,be)}}_getCodeForIds(v,E,P,R){const{moduleGraph:$,module:N,runtime:L,concatenationScope:K}=P;const ae=$.getConnection(v);let ge;if(ae&&K&&K.isModuleInScope(ae.module)){if(R.length===0){ge=K.createModuleReference(ae.module,{asiSafe:v.asiSafe})}else if(v.namespaceObjectAsContext&&R.length===1){ge=K.createModuleReference(ae.module,{asiSafe:v.asiSafe})+q(R)}else{ge=K.createModuleReference(ae.module,{ids:R,call:v.call,directImport:v.directImport,asiSafe:v.asiSafe})}}else{super.apply(v,E,P);const{runtimeTemplate:q,initFragments:K,runtimeRequirements:ae}=P;ge=q.exportFromImport({moduleGraph:$,module:$.getModule(v),request:v.request,exportName:R,originModule:N,asiSafe:v.shorthand?true:v.asiSafe,isCall:v.call,callContext:!v.directImport,defaultInterop:true,importVar:v.getImportVar($),initFragments:K,runtime:L,runtimeRequirements:ae})}return ge}};v.exports=HarmonyImportSpecifierDependency},54626:function(v,E,P){"use strict";const R=P(80535);const $=P(11459);const N=P(73657);const L=P(62731);const q=P(99534);const K=P(48200);const ae=P(47503);const ge=P(68981);const be=P(65295);const xe=P(59129);const{JAVASCRIPT_MODULE_TYPE_AUTO:ve,JAVASCRIPT_MODULE_TYPE_ESM:Ae}=P(98791);const Ie=P(28889);const He=P(40579);const Qe=P(35446);const Je=P(81256);const Ve="HarmonyModulesPlugin";class HarmonyModulesPlugin{constructor(v){this.options=v}apply(v){v.hooks.compilation.tap(Ve,((v,{normalModuleFactory:E})=>{v.dependencyTemplates.set(N,new N.Template);v.dependencyFactories.set(be,E);v.dependencyTemplates.set(be,new be.Template);v.dependencyFactories.set(xe,E);v.dependencyTemplates.set(xe,new xe.Template);v.dependencyFactories.set(L,E);v.dependencyTemplates.set(L,new L.Template);v.dependencyTemplates.set(K,new K.Template);v.dependencyTemplates.set(q,new q.Template);v.dependencyTemplates.set(ge,new ge.Template);v.dependencyFactories.set(ae,E);v.dependencyTemplates.set(ae,new ae.Template);v.dependencyTemplates.set(R,new R.Template);v.dependencyFactories.set($,E);v.dependencyTemplates.set($,new $.Template);const handler=(v,E)=>{if(E.harmony!==undefined&&!E.harmony)return;new Ie(this.options).apply(v);new Qe(E).apply(v);new He(E).apply(v);(new Je).apply(v)};E.hooks.parser.for(ve).tap(Ve,handler);E.hooks.parser.for(Ae).tap(Ve,handler)}))}}v.exports=HarmonyModulesPlugin},81256:function(v,E,P){"use strict";const R=P(52540);const $=P(9023);class HarmonyTopLevelThisParserPlugin{apply(v){v.hooks.expression.for("this").tap("HarmonyTopLevelThisParserPlugin",(E=>{if(!v.scope.topLevelScope)return;if($.isEnabled(v.state)){const P=new R("undefined",E.range,null);P.loc=E.loc;v.state.module.addPresentationalDependency(P);return true}}))}}v.exports=HarmonyTopLevelThisParserPlugin},66210:function(v,E,P){"use strict";const R=P(74364);const $=P(80070);const N=P(44520);class ImportContextDependency extends ${constructor(v,E,P){super(v);this.range=E;this.valueRange=P}get type(){return`import() context ${this.options.mode}`}get category(){return"esm"}serialize(v){const{write:E}=v;E(this.valueRange);super.serialize(v)}deserialize(v){const{read:E}=v;this.valueRange=E();super.deserialize(v)}}R(ImportContextDependency,"webpack/lib/dependencies/ImportContextDependency");ImportContextDependency.Template=N;v.exports=ImportContextDependency},66027:function(v,E,P){"use strict";const R=P(61803);const $=P(74364);const N=P(52743);class ImportDependency extends N{constructor(v,E,P){super(v);this.range=E;this.referencedExports=P}get type(){return"import()"}get category(){return"esm"}getReferencedExports(v,E){if(!this.referencedExports)return R.EXPORTS_OBJECT_REFERENCED;const P=[];for(const E of this.referencedExports){if(E[0]==="default"){const E=v.getParentModule(this);const P=v.getModule(this);const $=P.getExportsType(v,E.buildMeta.strictHarmonyModule);if($==="default-only"||$==="default-with-named"){return R.EXPORTS_OBJECT_REFERENCED}}P.push({name:E,canMangle:false})}return P}serialize(v){v.write(this.range);v.write(this.referencedExports);super.serialize(v)}deserialize(v){this.range=v.read();this.referencedExports=v.read();super.deserialize(v)}}$(ImportDependency,"webpack/lib/dependencies/ImportDependency");ImportDependency.Template=class ImportDependencyTemplate extends N.Template{apply(v,E,{runtimeTemplate:P,module:R,moduleGraph:$,chunkGraph:N,runtimeRequirements:L}){const q=v;const K=$.getParentBlock(q);const ae=P.moduleNamespacePromise({chunkGraph:N,block:K,module:$.getModule(q),request:q.request,strict:R.buildMeta.strictHarmonyModule,message:"import()",runtimeRequirements:L});E.replace(q.range[0],q.range[1]-1,ae)}};v.exports=ImportDependency},11877:function(v,E,P){"use strict";const R=P(74364);const $=P(66027);class ImportEagerDependency extends ${constructor(v,E,P){super(v,E,P)}get type(){return"import() eager"}get category(){return"esm"}}R(ImportEagerDependency,"webpack/lib/dependencies/ImportEagerDependency");ImportEagerDependency.Template=class ImportEagerDependencyTemplate extends $.Template{apply(v,E,{runtimeTemplate:P,module:R,moduleGraph:$,chunkGraph:N,runtimeRequirements:L}){const q=v;const K=P.moduleNamespacePromise({chunkGraph:N,module:$.getModule(q),request:q.request,strict:R.buildMeta.strictHarmonyModule,message:"import() eager",runtimeRequirements:L});E.replace(q.range[0],q.range[1]-1,K)}};v.exports=ImportEagerDependency},70633:function(v,E,P){"use strict";const R=P(74364);const $=P(80070);const N=P(46619);class ImportMetaContextDependency extends ${constructor(v,E){super(v);this.range=E}get category(){return"esm"}get type(){return`import.meta.webpackContext ${this.options.mode}`}}R(ImportMetaContextDependency,"webpack/lib/dependencies/ImportMetaContextDependency");ImportMetaContextDependency.Template=N;v.exports=ImportMetaContextDependency},70515:function(v,E,P){"use strict";const R=P(45425);const{evaluateToIdentifier:$}=P(31445);const N=P(70633);function createPropertyParseError(v,E){return createError(`Parsing import.meta.webpackContext options failed. Unknown value for property ${JSON.stringify(v.key.name)}, expected type ${E}.`,v.value.loc)}function createError(v,E){const P=new R(v);P.name="ImportMetaContextError";P.loc=E;return P}v.exports=class ImportMetaContextDependencyParserPlugin{apply(v){v.hooks.evaluateIdentifier.for("import.meta.webpackContext").tap("ImportMetaContextDependencyParserPlugin",(v=>$("import.meta.webpackContext","import.meta",(()=>["webpackContext"]),true)(v)));v.hooks.call.for("import.meta.webpackContext").tap("ImportMetaContextDependencyParserPlugin",(E=>{if(E.arguments.length<1||E.arguments.length>2)return;const[P,R]=E.arguments;if(R&&R.type!=="ObjectExpression")return;const $=v.evaluateExpression(P);if(!$.isString())return;const L=$.string;const q=[];let K=/^\.\/.*$/;let ae=true;let ge="sync";let be;let xe;const ve={};let Ae;let Ie;if(R){for(const E of R.properties){if(E.type!=="Property"||E.key.type!=="Identifier"){q.push(createError("Parsing import.meta.webpackContext options failed.",R.loc));break}switch(E.key.name){case"regExp":{const P=v.evaluateExpression(E.value);if(!P.isRegExp()){q.push(createPropertyParseError(E,"RegExp"))}else{K=P.regExp}break}case"include":{const P=v.evaluateExpression(E.value);if(!P.isRegExp()){q.push(createPropertyParseError(E,"RegExp"))}else{be=P.regExp}break}case"exclude":{const P=v.evaluateExpression(E.value);if(!P.isRegExp()){q.push(createPropertyParseError(E,"RegExp"))}else{xe=P.regExp}break}case"mode":{const P=v.evaluateExpression(E.value);if(!P.isString()){q.push(createPropertyParseError(E,"string"))}else{ge=P.string}break}case"chunkName":{const P=v.evaluateExpression(E.value);if(!P.isString()){q.push(createPropertyParseError(E,"string"))}else{Ae=P.string}break}case"exports":{const P=v.evaluateExpression(E.value);if(P.isString()){Ie=[[P.string]]}else if(P.isArray()){const v=P.items;if(v.every((v=>{if(!v.isArray())return false;const E=v.items;return E.every((v=>v.isString()))}))){Ie=[];for(const E of v){const v=[];for(const P of E.items){v.push(P.string)}Ie.push(v)}}else{q.push(createPropertyParseError(E,"string|string[][]"))}}else{q.push(createPropertyParseError(E,"string|string[][]"))}break}case"prefetch":{const P=v.evaluateExpression(E.value);if(P.isBoolean()){ve.prefetchOrder=0}else if(P.isNumber()){ve.prefetchOrder=P.number}else{q.push(createPropertyParseError(E,"boolean|number"))}break}case"preload":{const P=v.evaluateExpression(E.value);if(P.isBoolean()){ve.preloadOrder=0}else if(P.isNumber()){ve.preloadOrder=P.number}else{q.push(createPropertyParseError(E,"boolean|number"))}break}case"fetchPriority":{const P=v.evaluateExpression(E.value);if(P.isString()&&["high","low","auto"].includes(P.string)){ve.fetchPriority=P.string}else{q.push(createPropertyParseError(E,'"high"|"low"|"auto"'))}break}case"recursive":{const P=v.evaluateExpression(E.value);if(!P.isBoolean()){q.push(createPropertyParseError(E,"boolean"))}else{ae=P.bool}break}default:q.push(createError(`Parsing import.meta.webpackContext options failed. Unknown property ${JSON.stringify(E.key.name)}.`,R.loc))}}}if(q.length){for(const E of q)v.state.current.addError(E);return}const He=new N({request:L,include:be,exclude:xe,recursive:ae,regExp:K,groupOptions:ve,chunkName:Ae,referencedExports:Ie,mode:ge,category:"esm"},E.range);He.loc=E.loc;He.optional=!!v.scope.inTry;v.state.current.addDependency(He);return true}))}}},83020:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_ESM:$}=P(98791);const N=P(92007);const L=P(70633);const q=P(70515);const K="ImportMetaContextPlugin";class ImportMetaContextPlugin{apply(v){v.hooks.compilation.tap(K,((v,{contextModuleFactory:E,normalModuleFactory:P})=>{v.dependencyFactories.set(L,E);v.dependencyTemplates.set(L,new L.Template);v.dependencyFactories.set(N,P);const handler=(v,E)=>{if(E.importMetaContext!==undefined&&!E.importMetaContext)return;(new q).apply(v)};P.hooks.parser.for(R).tap(K,handler);P.hooks.parser.for($).tap(K,handler)}))}}v.exports=ImportMetaContextPlugin},30369:function(v,E,P){"use strict";const R=P(74364);const $=P(52743);const N=P(96541);class ImportMetaHotAcceptDependency extends ${constructor(v,E){super(v);this.range=E;this.weak=true}get type(){return"import.meta.webpackHot.accept"}get category(){return"esm"}}R(ImportMetaHotAcceptDependency,"webpack/lib/dependencies/ImportMetaHotAcceptDependency");ImportMetaHotAcceptDependency.Template=N;v.exports=ImportMetaHotAcceptDependency},18680:function(v,E,P){"use strict";const R=P(74364);const $=P(52743);const N=P(96541);class ImportMetaHotDeclineDependency extends ${constructor(v,E){super(v);this.range=E;this.weak=true}get type(){return"import.meta.webpackHot.decline"}get category(){return"esm"}}R(ImportMetaHotDeclineDependency,"webpack/lib/dependencies/ImportMetaHotDeclineDependency");ImportMetaHotDeclineDependency.Template=N;v.exports=ImportMetaHotDeclineDependency},74304:function(v,E,P){"use strict";const{pathToFileURL:R}=P(57310);const $=P(68250);const{JAVASCRIPT_MODULE_TYPE_AUTO:N,JAVASCRIPT_MODULE_TYPE_ESM:L}=P(98791);const q=P(35600);const K=P(61122);const{evaluateToIdentifier:ae,toConstantDependency:ge,evaluateToString:be,evaluateToNumber:xe}=P(31445);const ve=P(49584);const Ae=P(53914);const Ie=P(52540);const He=ve((()=>P(85670)));const Qe="ImportMetaPlugin";class ImportMetaPlugin{apply(v){v.hooks.compilation.tap(Qe,((v,{normalModuleFactory:E})=>{const getUrl=v=>R(v.resource).toString();const parserHandler=(E,{importMeta:R})=>{if(R===false){const{importMetaName:P}=v.outputOptions;if(P==="import.meta")return;E.hooks.expression.for("import.meta").tap(Qe,(v=>{const R=new Ie(P,v.range);R.loc=v.loc;E.state.module.addPresentationalDependency(R);return true}));return}const N=parseInt(P(98727).i8,10);const importMetaUrl=()=>JSON.stringify(getUrl(E.state.module));const importMetaWebpackVersion=()=>JSON.stringify(N);const importMetaUnknownProperty=v=>`${q.toNormalComment("unsupported import.meta."+v.join("."))} undefined${Ae(v,1)}`;E.hooks.typeof.for("import.meta").tap(Qe,ge(E,JSON.stringify("object")));E.hooks.expression.for("import.meta").tap(Qe,(v=>{const P=E.destructuringAssignmentPropertiesFor(v);if(!P){const P=He();E.state.module.addWarning(new $(E.state.module,new P("Accessing import.meta directly is unsupported (only property access or destructuring is supported)"),v.loc));const R=new Ie(`${E.isAsiPosition(v.range[0])?";":""}({})`,v.range);R.loc=v.loc;E.state.module.addPresentationalDependency(R);return true}let R="";for(const v of P){switch(v){case"url":R+=`url: ${importMetaUrl()},`;break;case"webpack":R+=`webpack: ${importMetaWebpackVersion()},`;break;default:R+=`[${JSON.stringify(v)}]: ${importMetaUnknownProperty([v])},`;break}}const N=new Ie(`({${R}})`,v.range);N.loc=v.loc;E.state.module.addPresentationalDependency(N);return true}));E.hooks.evaluateTypeof.for("import.meta").tap(Qe,be("object"));E.hooks.evaluateIdentifier.for("import.meta").tap(Qe,ae("import.meta","import.meta",(()=>[]),true));E.hooks.typeof.for("import.meta.url").tap(Qe,ge(E,JSON.stringify("string")));E.hooks.expression.for("import.meta.url").tap(Qe,(v=>{const P=new Ie(importMetaUrl(),v.range);P.loc=v.loc;E.state.module.addPresentationalDependency(P);return true}));E.hooks.evaluateTypeof.for("import.meta.url").tap(Qe,be("string"));E.hooks.evaluateIdentifier.for("import.meta.url").tap(Qe,(v=>(new K).setString(getUrl(E.state.module)).setRange(v.range)));E.hooks.typeof.for("import.meta.webpack").tap(Qe,ge(E,JSON.stringify("number")));E.hooks.expression.for("import.meta.webpack").tap(Qe,ge(E,importMetaWebpackVersion()));E.hooks.evaluateTypeof.for("import.meta.webpack").tap(Qe,be("number"));E.hooks.evaluateIdentifier.for("import.meta.webpack").tap(Qe,xe(N));E.hooks.unhandledExpressionMemberChain.for("import.meta").tap(Qe,((v,P)=>{const R=new Ie(importMetaUnknownProperty(P),v.range);R.loc=v.loc;E.state.module.addPresentationalDependency(R);return true}));E.hooks.evaluate.for("MemberExpression").tap(Qe,(v=>{const E=v;if(E.object.type==="MetaProperty"&&E.object.meta.name==="import"&&E.object.property.name==="meta"&&E.property.type===(E.computed?"Literal":"Identifier")){return(new K).setUndefined().setRange(E.range)}}))};E.hooks.parser.for(N).tap(Qe,parserHandler);E.hooks.parser.for(L).tap(Qe,parserHandler)}))}}v.exports=ImportMetaPlugin},46880:function(v,E,P){"use strict";const R=P(75165);const $=P(26596);const N=P(31524);const L=P(33838);const q=P(66210);const K=P(66027);const ae=P(11877);const ge=P(97972);class ImportParserPlugin{constructor(v){this.options=v}apply(v){const exportsFromEnumerable=v=>Array.from(v,(v=>[v]));v.hooks.importCall.tap("ImportParserPlugin",(E=>{const P=v.evaluateExpression(E.source);let be=null;let xe=this.options.dynamicImportMode;let ve=null;let Ae=null;let Ie=null;const He={};const{dynamicImportPreload:Qe,dynamicImportPrefetch:Je,dynamicImportFetchPriority:Ve}=this.options;if(Qe!==undefined&&Qe!==false)He.preloadOrder=Qe===true?0:Qe;if(Je!==undefined&&Je!==false)He.prefetchOrder=Je===true?0:Je;if(Ve!==undefined&&Ve!==false)He.fetchPriority=Ve;const{options:Ke,errors:Ye}=v.parseCommentOptions(E.range);if(Ye){for(const E of Ye){const{comment:P}=E;v.state.module.addWarning(new $(`Compilation error while processing magic comment(-s): /*${P.value}*/: ${E.message}`,P.loc))}}if(Ke){if(Ke.webpackIgnore!==undefined){if(typeof Ke.webpackIgnore!=="boolean"){v.state.module.addWarning(new N(`\`webpackIgnore\` expected a boolean, but received: ${Ke.webpackIgnore}.`,E.loc))}else{if(Ke.webpackIgnore){return false}}}if(Ke.webpackChunkName!==undefined){if(typeof Ke.webpackChunkName!=="string"){v.state.module.addWarning(new N(`\`webpackChunkName\` expected a string, but received: ${Ke.webpackChunkName}.`,E.loc))}else{be=Ke.webpackChunkName}}if(Ke.webpackMode!==undefined){if(typeof Ke.webpackMode!=="string"){v.state.module.addWarning(new N(`\`webpackMode\` expected a string, but received: ${Ke.webpackMode}.`,E.loc))}else{xe=Ke.webpackMode}}if(Ke.webpackPrefetch!==undefined){if(Ke.webpackPrefetch===true){He.prefetchOrder=0}else if(typeof Ke.webpackPrefetch==="number"){He.prefetchOrder=Ke.webpackPrefetch}else{v.state.module.addWarning(new N(`\`webpackPrefetch\` expected true or a number, but received: ${Ke.webpackPrefetch}.`,E.loc))}}if(Ke.webpackPreload!==undefined){if(Ke.webpackPreload===true){He.preloadOrder=0}else if(typeof Ke.webpackPreload==="number"){He.preloadOrder=Ke.webpackPreload}else{v.state.module.addWarning(new N(`\`webpackPreload\` expected true or a number, but received: ${Ke.webpackPreload}.`,E.loc))}}if(Ke.webpackFetchPriority!==undefined){if(typeof Ke.webpackFetchPriority==="string"&&["high","low","auto"].includes(Ke.webpackFetchPriority)){He.fetchPriority=Ke.webpackFetchPriority}else{v.state.module.addWarning(new N(`\`webpackFetchPriority\` expected true or "low", "high" or "auto", but received: ${Ke.webpackFetchPriority}.`,E.loc))}}if(Ke.webpackInclude!==undefined){if(!Ke.webpackInclude||!(Ke.webpackInclude instanceof RegExp)){v.state.module.addWarning(new N(`\`webpackInclude\` expected a regular expression, but received: ${Ke.webpackInclude}.`,E.loc))}else{ve=Ke.webpackInclude}}if(Ke.webpackExclude!==undefined){if(!Ke.webpackExclude||!(Ke.webpackExclude instanceof RegExp)){v.state.module.addWarning(new N(`\`webpackExclude\` expected a regular expression, but received: ${Ke.webpackExclude}.`,E.loc))}else{Ae=Ke.webpackExclude}}if(Ke.webpackExports!==undefined){if(!(typeof Ke.webpackExports==="string"||Array.isArray(Ke.webpackExports)&&Ke.webpackExports.every((v=>typeof v==="string")))){v.state.module.addWarning(new N(`\`webpackExports\` expected a string or an array of strings, but received: ${Ke.webpackExports}.`,E.loc))}else{if(typeof Ke.webpackExports==="string"){Ie=[[Ke.webpackExports]]}else{Ie=exportsFromEnumerable(Ke.webpackExports)}}}}if(xe!=="lazy"&&xe!=="lazy-once"&&xe!=="eager"&&xe!=="weak"){v.state.module.addWarning(new N(`\`webpackMode\` expected 'lazy', 'lazy-once', 'eager' or 'weak', but received: ${xe}.`,E.loc));xe="lazy"}const Xe=v.destructuringAssignmentPropertiesFor(E);if(Xe){if(Ie){v.state.module.addWarning(new N(`\`webpackExports\` could not be used with destructuring assignment.`,E.loc))}Ie=exportsFromEnumerable(Xe)}if(P.isString()){if(xe==="eager"){const R=new ae(P.string,E.range,Ie);v.state.current.addDependency(R)}else if(xe==="weak"){const R=new ge(P.string,E.range,Ie);v.state.current.addDependency(R)}else{const $=new R({...He,name:be},E.loc,P.string);const N=new K(P.string,E.range,Ie);N.loc=E.loc;$.addDependency(N);v.state.current.addBlock($)}return true}else{if(xe==="weak"){xe="async-weak"}const R=L.create(q,E.range,P,E,this.options,{chunkName:be,groupOptions:He,include:ve,exclude:Ae,mode:xe,namespaceObject:v.state.module.buildMeta.strictHarmonyModule?"strict":true,typePrefix:"import()",category:"esm",referencedExports:Ie},v);if(!R)return;R.loc=E.loc;R.optional=!!v.scope.inTry;v.state.current.addDependency(R);return true}}))}}v.exports=ImportParserPlugin},7791:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$,JAVASCRIPT_MODULE_TYPE_ESM:N}=P(98791);const L=P(66210);const q=P(66027);const K=P(11877);const ae=P(46880);const ge=P(97972);const be="ImportPlugin";class ImportPlugin{apply(v){v.hooks.compilation.tap(be,((v,{contextModuleFactory:E,normalModuleFactory:P})=>{v.dependencyFactories.set(q,P);v.dependencyTemplates.set(q,new q.Template);v.dependencyFactories.set(K,P);v.dependencyTemplates.set(K,new K.Template);v.dependencyFactories.set(ge,P);v.dependencyTemplates.set(ge,new ge.Template);v.dependencyFactories.set(L,E);v.dependencyTemplates.set(L,new L.Template);const handler=(v,E)=>{if(E.import!==undefined&&!E.import)return;new ae(E).apply(v)};P.hooks.parser.for(R).tap(be,handler);P.hooks.parser.for($).tap(be,handler);P.hooks.parser.for(N).tap(be,handler)}))}}v.exports=ImportPlugin},97972:function(v,E,P){"use strict";const R=P(74364);const $=P(66027);class ImportWeakDependency extends ${constructor(v,E,P){super(v,E,P);this.weak=true}get type(){return"import() weak"}}R(ImportWeakDependency,"webpack/lib/dependencies/ImportWeakDependency");ImportWeakDependency.Template=class ImportDependencyTemplate extends $.Template{apply(v,E,{runtimeTemplate:P,module:R,moduleGraph:$,chunkGraph:N,runtimeRequirements:L}){const q=v;const K=P.moduleNamespacePromise({chunkGraph:N,module:$.getModule(q),request:q.request,strict:R.buildMeta.strictHarmonyModule,message:"import() weak",weak:true,runtimeRequirements:L});E.replace(q.range[0],q.range[1]-1,K)}};v.exports=ImportWeakDependency},32871:function(v,E,P){"use strict";const R=P(74364);const $=P(43301);const getExportsFromData=v=>{if(v&&typeof v==="object"){if(Array.isArray(v)){return v.length<100?v.map(((v,E)=>({name:`${E}`,canMangle:true,exports:getExportsFromData(v)}))):undefined}else{const E=[];for(const P of Object.keys(v)){E.push({name:P,canMangle:true,exports:getExportsFromData(v[P])})}return E}}return undefined};class JsonExportsDependency extends ${constructor(v){super();this.data=v}get type(){return"json exports"}getExports(v){return{exports:getExportsFromData(this.data&&this.data.get()),dependencies:undefined}}updateHash(v,E){this.data.updateHash(v)}serialize(v){const{write:E}=v;E(this.data);super.serialize(v)}deserialize(v){const{read:E}=v;this.data=E();super.deserialize(v)}}R(JsonExportsDependency,"webpack/lib/dependencies/JsonExportsDependency");v.exports=JsonExportsDependency},15853:function(v,E,P){"use strict";const R=P(52743);class LoaderDependency extends R{constructor(v){super(v)}get type(){return"loader"}get category(){return"loader"}getCondition(v){return false}}v.exports=LoaderDependency},48768:function(v,E,P){"use strict";const R=P(52743);class LoaderImportDependency extends R{constructor(v){super(v);this.weak=true}get type(){return"loader import"}get category(){return"loaderImport"}getCondition(v){return false}}v.exports=LoaderImportDependency},23266:function(v,E,P){"use strict";const R=P(44208);const $=P(95259);const N=P(15853);const L=P(48768);class LoaderPlugin{constructor(v={}){}apply(v){v.hooks.compilation.tap("LoaderPlugin",((v,{normalModuleFactory:E})=>{v.dependencyFactories.set(N,E);v.dependencyFactories.set(L,E)}));v.hooks.compilation.tap("LoaderPlugin",(v=>{const E=v.moduleGraph;R.getCompilationHooks(v).loader.tap("LoaderPlugin",(P=>{P.loadModule=(R,L)=>{const q=new N(R);q.loc={name:R};const K=v.dependencyFactories.get(q.constructor);if(K===undefined){return L(new Error(`No module factory available for dependency type: ${q.constructor.name}`))}v.buildQueue.increaseParallelism();v.handleModuleCreation({factory:K,dependencies:[q],originModule:P._module,context:P.context,recursive:false},(R=>{v.buildQueue.decreaseParallelism();if(R){return L(R)}const N=E.getModule(q);if(!N){return L(new Error("Cannot load the module"))}if(N.getNumberOfErrors()>0){return L(new Error("The loaded module contains errors"))}const K=N.originalSource();if(!K){return L(new Error("The module created for a LoaderDependency must have an original source"))}let ae,ge;if(K.sourceAndMap){const v=K.sourceAndMap();ge=v.map;ae=v.source}else{ge=K.map();ae=K.source()}const be=new $;const xe=new $;const ve=new $;const Ae=new $;N.addCacheDependencies(be,xe,ve,Ae);for(const v of be){P.addDependency(v)}for(const v of xe){P.addContextDependency(v)}for(const v of ve){P.addMissingDependency(v)}for(const v of Ae){P.addBuildDependency(v)}return L(null,ae,ge,N)}))};const importModule=(R,$,N)=>{const q=new L(R);q.loc={name:R};const K=v.dependencyFactories.get(q.constructor);if(K===undefined){return N(new Error(`No module factory available for dependency type: ${q.constructor.name}`))}v.buildQueue.increaseParallelism();v.handleModuleCreation({factory:K,dependencies:[q],originModule:P._module,contextInfo:{issuerLayer:$.layer},context:P.context,connectOrigin:false,checkCycle:true},(R=>{v.buildQueue.decreaseParallelism();if(R){return N(R)}const L=E.getModule(q);if(!L){return N(new Error("Cannot load the module"))}v.executeModule(L,{entryOptions:{baseUri:$.baseUri,publicPath:$.publicPath}},((v,E)=>{if(v)return N(v);for(const v of E.fileDependencies){P.addDependency(v)}for(const v of E.contextDependencies){P.addContextDependency(v)}for(const v of E.missingDependencies){P.addMissingDependency(v)}for(const v of E.buildDependencies){P.addBuildDependency(v)}if(E.cacheable===false)P.cacheable(false);for(const[v,{source:R,info:$}]of E.assets){const{buildInfo:E}=P._module;if(!E.assets){E.assets=Object.create(null);E.assetsInfo=new Map}E.assets[v]=R;E.assetsInfo.set(v,$)}N(null,E.exports)}))}))};P.importModule=(v,E,P)=>{if(!P){return new Promise(((P,R)=>{importModule(v,E||{},((v,E)=>{if(v)R(v);else P(E)}))}))}return importModule(v,E||{},P)}}))}))}}v.exports=LoaderPlugin},21853:function(v,E,P){"use strict";const R=P(74364);class LocalModule{constructor(v,E){this.name=v;this.idx=E;this.used=false}flagUsed(){this.used=true}variableName(){return"__WEBPACK_LOCAL_MODULE_"+this.idx+"__"}serialize(v){const{write:E}=v;E(this.name);E(this.idx);E(this.used)}deserialize(v){const{read:E}=v;this.name=E();this.idx=E();this.used=E()}}R(LocalModule,"webpack/lib/dependencies/LocalModule");v.exports=LocalModule},11961:function(v,E,P){"use strict";const R=P(74364);const $=P(43301);class LocalModuleDependency extends ${constructor(v,E,P){super();this.localModule=v;this.range=E;this.callNew=P}serialize(v){const{write:E}=v;E(this.localModule);E(this.range);E(this.callNew);super.serialize(v)}deserialize(v){const{read:E}=v;this.localModule=E();this.range=E();this.callNew=E();super.deserialize(v)}}R(LocalModuleDependency,"webpack/lib/dependencies/LocalModuleDependency");LocalModuleDependency.Template=class LocalModuleDependencyTemplate extends $.Template{apply(v,E,P){const R=v;if(!R.range)return;const $=R.callNew?`new (function () { return ${R.localModule.variableName()}; })()`:R.localModule.variableName();E.replace(R.range[0],R.range[1]-1,$)}};v.exports=LocalModuleDependency},58975:function(v,E,P){"use strict";const R=P(21853);const lookup=(v,E)=>{if(E.charAt(0)!==".")return E;var P=v.split("/");var R=E.split("/");P.pop();for(let v=0;v{if(!v.localModules){v.localModules=[]}const P=new R(E,v.localModules.length);v.localModules.push(P);return P};E.getLocalModule=(v,E,P)=>{if(!v.localModules)return null;if(P){E=lookup(P,E)}for(let P=0;PP(87122)));class ModuleDependency extends R{constructor(v){super();this.request=v;this.userRequest=v;this.range=undefined;this.assertions=undefined;this._context=undefined}getContext(){return this._context}getResourceIdentifier(){let v=`context${this._context||""}|module${this.request}`;if(this.assertions!==undefined){v+=JSON.stringify(this.assertions)}return v}couldAffectReferencingModule(){return true}createIgnoredModule(v){const E=L();return new E("/* (ignored) */",`ignored|${v}|${this.request}`,`${this.request} (ignored)`)}serialize(v){const{write:E}=v;E(this.request);E(this.userRequest);E(this._context);E(this.range);super.serialize(v)}deserialize(v){const{read:E}=v;this.request=E();this.userRequest=E();this._context=E();this.range=E();super.deserialize(v)}}ModuleDependency.Template=$;v.exports=ModuleDependency},96541:function(v,E,P){"use strict";const R=P(52743);class ModuleDependencyTemplateAsId extends R.Template{apply(v,E,{runtimeTemplate:P,moduleGraph:R,chunkGraph:$}){const N=v;if(!N.range)return;const L=P.moduleId({module:R.getModule(N),chunkGraph:$,request:N.request,weak:N.weak});E.replace(N.range[0],N.range[1]-1,L)}}v.exports=ModuleDependencyTemplateAsId},46619:function(v,E,P){"use strict";const R=P(52743);class ModuleDependencyTemplateAsRequireId extends R.Template{apply(v,E,{runtimeTemplate:P,moduleGraph:R,chunkGraph:$,runtimeRequirements:N}){const L=v;if(!L.range)return;const q=P.moduleExports({module:R.getModule(L),chunkGraph:$,request:L.request,weak:L.weak,runtimeRequirements:N});E.replace(L.range[0],L.range[1]-1,q)}}v.exports=ModuleDependencyTemplateAsRequireId},29981:function(v,E,P){"use strict";const R=P(74364);const $=P(52743);const N=P(96541);class ModuleHotAcceptDependency extends ${constructor(v,E){super(v);this.range=E;this.weak=true}get type(){return"module.hot.accept"}get category(){return"commonjs"}}R(ModuleHotAcceptDependency,"webpack/lib/dependencies/ModuleHotAcceptDependency");ModuleHotAcceptDependency.Template=N;v.exports=ModuleHotAcceptDependency},44768:function(v,E,P){"use strict";const R=P(74364);const $=P(52743);const N=P(96541);class ModuleHotDeclineDependency extends ${constructor(v,E){super(v);this.range=E;this.weak=true}get type(){return"module.hot.decline"}get category(){return"commonjs"}}R(ModuleHotDeclineDependency,"webpack/lib/dependencies/ModuleHotDeclineDependency");ModuleHotDeclineDependency.Template=N;v.exports=ModuleHotDeclineDependency},43301:function(v,E,P){"use strict";const R=P(61803);const $=P(35226);class NullDependency extends R{get type(){return"null"}couldAffectReferencingModule(){return false}}NullDependency.Template=class NullDependencyTemplate extends ${apply(v,E,P){}};v.exports=NullDependency},47516:function(v,E,P){"use strict";const R=P(52743);class PrefetchDependency extends R{constructor(v){super(v)}get type(){return"prefetch"}get category(){return"esm"}}v.exports=PrefetchDependency},74057:function(v,E,P){"use strict";const R=P(61803);const $=P(94252);const N=P(74364);const L=P(52743);const pathToString=v=>v!==null&&v.length>0?v.map((v=>`[${JSON.stringify(v)}]`)).join(""):"";class ProvidedDependency extends L{constructor(v,E,P,R){super(v);this.identifier=E;this.ids=P;this.range=R;this._hashUpdate=undefined}get type(){return"provided"}get category(){return"esm"}getReferencedExports(v,E){let P=this.ids;if(P.length===0)return R.EXPORTS_OBJECT_REFERENCED;return[P]}updateHash(v,E){if(this._hashUpdate===undefined){this._hashUpdate=this.identifier+(this.ids?this.ids.join(","):"")}v.update(this._hashUpdate)}serialize(v){const{write:E}=v;E(this.identifier);E(this.ids);super.serialize(v)}deserialize(v){const{read:E}=v;this.identifier=E();this.ids=E();super.deserialize(v)}}N(ProvidedDependency,"webpack/lib/dependencies/ProvidedDependency");class ProvidedDependencyTemplate extends L.Template{apply(v,E,{runtime:P,runtimeTemplate:R,moduleGraph:N,chunkGraph:L,initFragments:q,runtimeRequirements:K}){const ae=v;const ge=N.getConnection(ae);const be=N.getExportsInfo(ge.module);const xe=be.getUsedName(ae.ids,P);q.push(new $(`/* provided dependency */ var ${ae.identifier} = ${R.moduleExports({module:N.getModule(ae),chunkGraph:L,request:ae.request,runtimeRequirements:K})}${pathToString(xe)};\n`,$.STAGE_PROVIDES,1,`provided ${ae.identifier}`));E.replace(ae.range[0],ae.range[1]-1,ae.identifier)}}ProvidedDependency.Template=ProvidedDependencyTemplate;v.exports=ProvidedDependency},8154:function(v,E,P){"use strict";const{UsageState:R}=P(32514);const $=P(74364);const{filterRuntime:N,deepMergeRuntime:L}=P(32681);const q=P(43301);class PureExpressionDependency extends q{constructor(v){super();this.range=v;this.usedByExports=false;this._hashUpdate=undefined}updateHash(v,E){if(this._hashUpdate===undefined){this._hashUpdate=this.range+""}v.update(this._hashUpdate)}getModuleEvaluationSideEffectsState(v){return false}serialize(v){const{write:E}=v;E(this.range);E(this.usedByExports);super.serialize(v)}deserialize(v){const{read:E}=v;this.range=E();this.usedByExports=E();super.deserialize(v)}}$(PureExpressionDependency,"webpack/lib/dependencies/PureExpressionDependency");PureExpressionDependency.Template=class PureExpressionDependencyTemplate extends q.Template{apply(v,E,{chunkGraph:P,moduleGraph:$,runtime:q,runtimes:K,runtimeTemplate:ae,runtimeRequirements:ge}){const be=v;const xe=be.usedByExports;if(xe!==false){const v=$.getParentModule(be);const ve=$.getExportsInfo(v);const Ae=L(K,q);const Ie=N(Ae,(v=>{for(const E of xe){if(ve.getUsed(E,v)!==R.Unused){return true}}return false}));if(Ie===true)return;if(Ie!==false){const v=ae.runtimeConditionExpression({chunkGraph:P,runtime:Ae,runtimeCondition:Ie,runtimeRequirements:ge});E.insert(be.range[0],`(/* runtime-dependent pure expression or super */ ${v} ? (`);E.insert(be.range[1],") : null)");return}}E.insert(be.range[0],`(/* unused pure expression or super */ null && (`);E.insert(be.range[1],"))")}};v.exports=PureExpressionDependency},62583:function(v,E,P){"use strict";const R=P(74364);const $=P(80070);const N=P(46619);class RequireContextDependency extends ${constructor(v,E){super(v);this.range=E}get type(){return"require.context"}}R(RequireContextDependency,"webpack/lib/dependencies/RequireContextDependency");RequireContextDependency.Template=N;v.exports=RequireContextDependency},24797:function(v,E,P){"use strict";const R=P(62583);v.exports=class RequireContextDependencyParserPlugin{apply(v){v.hooks.call.for("require.context").tap("RequireContextDependencyParserPlugin",(E=>{let P=/^\.\/.*$/;let $=true;let N="sync";switch(E.arguments.length){case 4:{const P=v.evaluateExpression(E.arguments[3]);if(!P.isString())return;N=P.string}case 3:{const R=v.evaluateExpression(E.arguments[2]);if(!R.isRegExp())return;P=R.regExp}case 2:{const P=v.evaluateExpression(E.arguments[1]);if(!P.isBoolean())return;$=P.bool}case 1:{const L=v.evaluateExpression(E.arguments[0]);if(!L.isString())return;const q=new R({request:L.string,recursive:$,regExp:P,mode:N,category:"commonjs"},E.range);q.loc=E.loc;q.optional=!!v.scope.inTry;v.state.current.addDependency(q);return true}}}))}}},5156:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$}=P(98791);const{cachedSetProperty:N}=P(34218);const L=P(92007);const q=P(62583);const K=P(24797);const ae={};const ge="RequireContextPlugin";class RequireContextPlugin{apply(v){v.hooks.compilation.tap(ge,((E,{contextModuleFactory:P,normalModuleFactory:be})=>{E.dependencyFactories.set(q,P);E.dependencyTemplates.set(q,new q.Template);E.dependencyFactories.set(L,be);const handler=(v,E)=>{if(E.requireContext!==undefined&&!E.requireContext)return;(new K).apply(v)};be.hooks.parser.for(R).tap(ge,handler);be.hooks.parser.for($).tap(ge,handler);P.hooks.alternativeRequests.tap(ge,((E,P)=>{if(E.length===0)return E;const R=v.resolverFactory.get("normal",N(P.resolveOptions||ae,"dependencyType",P.category)).options;let $;if(!R.fullySpecified){$=[];for(const v of E){const{request:E,context:P}=v;for(const v of R.extensions){if(E.endsWith(v)){$.push({context:P,request:E.slice(0,-v.length)})}}if(!R.enforceExtension){$.push(v)}}E=$;$=[];for(const v of E){const{request:E,context:P}=v;for(const v of R.mainFiles){if(E.endsWith(`/${v}`)){$.push({context:P,request:E.slice(0,-v.length)});$.push({context:P,request:E.slice(0,-v.length-1)})}}$.push(v)}E=$}$=[];for(const v of E){let E=false;for(const P of R.modules){if(Array.isArray(P)){for(const R of P){if(v.request.startsWith(`./${R}/`)){$.push({context:v.context,request:v.request.slice(R.length+3)});E=true}}}else{const E=P.replace(/\\/g,"/");const R=v.context.replace(/\\/g,"/")+v.request.slice(1);if(R.startsWith(E)){$.push({context:v.context,request:R.slice(E.length+1)})}}}if(!E){$.push(v)}}return $}))}))}}v.exports=RequireContextPlugin},71096:function(v,E,P){"use strict";const R=P(75165);const $=P(74364);class RequireEnsureDependenciesBlock extends R{constructor(v,E){super(v,E,null)}}$(RequireEnsureDependenciesBlock,"webpack/lib/dependencies/RequireEnsureDependenciesBlock");v.exports=RequireEnsureDependenciesBlock},15088:function(v,E,P){"use strict";const R=P(71096);const $=P(2329);const N=P(27957);const L=P(43094);v.exports=class RequireEnsureDependenciesBlockParserPlugin{apply(v){v.hooks.call.for("require.ensure").tap("RequireEnsureDependenciesBlockParserPlugin",(E=>{let P=null;let q=null;let K=null;switch(E.arguments.length){case 4:{const R=v.evaluateExpression(E.arguments[3]);if(!R.isString())return;P=R.string}case 3:{q=E.arguments[2];K=L(q);if(!K&&!P){const R=v.evaluateExpression(E.arguments[2]);if(!R.isString())return;P=R.string}}case 2:{const ae=v.evaluateExpression(E.arguments[0]);const ge=ae.isArray()?ae.items:[ae];const be=E.arguments[1];const xe=L(be);if(xe){v.walkExpressions(xe.expressions)}if(K){v.walkExpressions(K.expressions)}const ve=new R(P,E.loc);const Ae=E.arguments.length===4||!P&&E.arguments.length===3;const Ie=new $(E.range,E.arguments[1].range,Ae&&E.arguments[2].range);Ie.loc=E.loc;ve.addDependency(Ie);const He=v.state.current;v.state.current=ve;try{let P=false;v.inScope([],(()=>{for(const v of ge){if(v.isString()){const P=new N(v.string);P.loc=v.loc||E.loc;ve.addDependency(P)}else{P=true}}}));if(P){return}if(xe){if(xe.fn.body.type==="BlockStatement"){v.walkStatement(xe.fn.body)}else{v.walkExpression(xe.fn.body)}}He.addBlock(ve)}finally{v.state.current=He}if(!xe){v.walkExpression(be)}if(K){if(K.fn.body.type==="BlockStatement"){v.walkStatement(K.fn.body)}else{v.walkExpression(K.fn.body)}}else if(q){v.walkExpression(q)}return true}}}))}}},2329:function(v,E,P){"use strict";const R=P(75189);const $=P(74364);const N=P(43301);class RequireEnsureDependency extends N{constructor(v,E,P){super();this.range=v;this.contentRange=E;this.errorHandlerRange=P}get type(){return"require.ensure"}serialize(v){const{write:E}=v;E(this.range);E(this.contentRange);E(this.errorHandlerRange);super.serialize(v)}deserialize(v){const{read:E}=v;this.range=E();this.contentRange=E();this.errorHandlerRange=E();super.deserialize(v)}}$(RequireEnsureDependency,"webpack/lib/dependencies/RequireEnsureDependency");RequireEnsureDependency.Template=class RequireEnsureDependencyTemplate extends N.Template{apply(v,E,{runtimeTemplate:P,moduleGraph:$,chunkGraph:N,runtimeRequirements:L}){const q=v;const K=$.getParentBlock(q);const ae=P.blockPromise({chunkGraph:N,block:K,message:"require.ensure",runtimeRequirements:L});const ge=q.range;const be=q.contentRange;const xe=q.errorHandlerRange;E.replace(ge[0],be[0]-1,`${ae}.then((`);if(xe){E.replace(be[1],xe[0]-1,`).bind(null, ${R.require}))['catch'](`);E.replace(xe[1],ge[1]-1,")")}else{E.replace(be[1],ge[1]-1,`).bind(null, ${R.require}))['catch'](${R.uncaughtErrorHandler})`)}}};v.exports=RequireEnsureDependency},27957:function(v,E,P){"use strict";const R=P(74364);const $=P(52743);const N=P(43301);class RequireEnsureItemDependency extends ${constructor(v){super(v)}get type(){return"require.ensure item"}get category(){return"commonjs"}}R(RequireEnsureItemDependency,"webpack/lib/dependencies/RequireEnsureItemDependency");RequireEnsureItemDependency.Template=N.Template;v.exports=RequireEnsureItemDependency},58127:function(v,E,P){"use strict";const R=P(2329);const $=P(27957);const N=P(15088);const{JAVASCRIPT_MODULE_TYPE_AUTO:L,JAVASCRIPT_MODULE_TYPE_DYNAMIC:q}=P(98791);const{evaluateToString:K,toConstantDependency:ae}=P(31445);const ge="RequireEnsurePlugin";class RequireEnsurePlugin{apply(v){v.hooks.compilation.tap(ge,((v,{normalModuleFactory:E})=>{v.dependencyFactories.set($,E);v.dependencyTemplates.set($,new $.Template);v.dependencyTemplates.set(R,new R.Template);const handler=(v,E)=>{if(E.requireEnsure!==undefined&&!E.requireEnsure)return;(new N).apply(v);v.hooks.evaluateTypeof.for("require.ensure").tap(ge,K("function"));v.hooks.typeof.for("require.ensure").tap(ge,ae(v,JSON.stringify("function")))};E.hooks.parser.for(L).tap(ge,handler);E.hooks.parser.for(q).tap(ge,handler)}))}}v.exports=RequireEnsurePlugin},15341:function(v,E,P){"use strict";const R=P(75189);const $=P(74364);const N=P(43301);class RequireHeaderDependency extends N{constructor(v){super();if(!Array.isArray(v))throw new Error("range must be valid");this.range=v}serialize(v){const{write:E}=v;E(this.range);super.serialize(v)}static deserialize(v){const E=new RequireHeaderDependency(v.read());E.deserialize(v);return E}}$(RequireHeaderDependency,"webpack/lib/dependencies/RequireHeaderDependency");RequireHeaderDependency.Template=class RequireHeaderDependencyTemplate extends N.Template{apply(v,E,{runtimeRequirements:P}){const $=v;P.add(R.require);E.replace($.range[0],$.range[1]-1,R.require)}};v.exports=RequireHeaderDependency},1915:function(v,E,P){"use strict";const R=P(61803);const $=P(35600);const N=P(74364);const L=P(52743);class RequireIncludeDependency extends L{constructor(v,E){super(v);this.range=E}getReferencedExports(v,E){return R.NO_EXPORTS_REFERENCED}get type(){return"require.include"}get category(){return"commonjs"}}N(RequireIncludeDependency,"webpack/lib/dependencies/RequireIncludeDependency");RequireIncludeDependency.Template=class RequireIncludeDependencyTemplate extends L.Template{apply(v,E,{runtimeTemplate:P}){const R=v;const N=P.outputOptions.pathinfo?$.toComment(`require.include ${P.requestShortener.shorten(R.request)}`):"";E.replace(R.range[0],R.range[1]-1,`undefined${N}`)}};v.exports=RequireIncludeDependency},94653:function(v,E,P){"use strict";const R=P(45425);const{evaluateToString:$,toConstantDependency:N}=P(31445);const L=P(74364);const q=P(1915);v.exports=class RequireIncludeDependencyParserPlugin{constructor(v){this.warn=v}apply(v){const{warn:E}=this;v.hooks.call.for("require.include").tap("RequireIncludeDependencyParserPlugin",(P=>{if(P.arguments.length!==1)return;const R=v.evaluateExpression(P.arguments[0]);if(!R.isString())return;if(E){v.state.module.addWarning(new RequireIncludeDeprecationWarning(P.loc))}const $=new q(R.string,P.range);$.loc=P.loc;v.state.current.addDependency($);return true}));v.hooks.evaluateTypeof.for("require.include").tap("RequireIncludePlugin",(P=>{if(E){v.state.module.addWarning(new RequireIncludeDeprecationWarning(P.loc))}return $("function")(P)}));v.hooks.typeof.for("require.include").tap("RequireIncludePlugin",(P=>{if(E){v.state.module.addWarning(new RequireIncludeDeprecationWarning(P.loc))}return N(v,JSON.stringify("function"))(P)}))}};class RequireIncludeDeprecationWarning extends R{constructor(v){super("require.include() is deprecated and will be removed soon.");this.name="RequireIncludeDeprecationWarning";this.loc=v}}L(RequireIncludeDeprecationWarning,"webpack/lib/dependencies/RequireIncludeDependencyParserPlugin","RequireIncludeDeprecationWarning")},13547:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$}=P(98791);const N=P(1915);const L=P(94653);const q="RequireIncludePlugin";class RequireIncludePlugin{apply(v){v.hooks.compilation.tap(q,((v,{normalModuleFactory:E})=>{v.dependencyFactories.set(N,E);v.dependencyTemplates.set(N,new N.Template);const handler=(v,E)=>{if(E.requireInclude===false)return;const P=E.requireInclude===undefined;new L(P).apply(v)};E.hooks.parser.for(R).tap(q,handler);E.hooks.parser.for($).tap(q,handler)}))}}v.exports=RequireIncludePlugin},42636:function(v,E,P){"use strict";const R=P(74364);const $=P(80070);const N=P(35615);class RequireResolveContextDependency extends ${constructor(v,E,P,R){super(v,R);this.range=E;this.valueRange=P}get type(){return"amd require context"}serialize(v){const{write:E}=v;E(this.range);E(this.valueRange);super.serialize(v)}deserialize(v){const{read:E}=v;this.range=E();this.valueRange=E();super.deserialize(v)}}R(RequireResolveContextDependency,"webpack/lib/dependencies/RequireResolveContextDependency");RequireResolveContextDependency.Template=N;v.exports=RequireResolveContextDependency},98474:function(v,E,P){"use strict";const R=P(61803);const $=P(74364);const N=P(52743);const L=P(96541);class RequireResolveDependency extends N{constructor(v,E,P){super(v);this.range=E;this._context=P}get type(){return"require.resolve"}get category(){return"commonjs"}getReferencedExports(v,E){return R.NO_EXPORTS_REFERENCED}}$(RequireResolveDependency,"webpack/lib/dependencies/RequireResolveDependency");RequireResolveDependency.Template=L;v.exports=RequireResolveDependency},79968:function(v,E,P){"use strict";const R=P(74364);const $=P(43301);class RequireResolveHeaderDependency extends ${constructor(v){super();if(!Array.isArray(v))throw new Error("range must be valid");this.range=v}serialize(v){const{write:E}=v;E(this.range);super.serialize(v)}static deserialize(v){const E=new RequireResolveHeaderDependency(v.read());E.deserialize(v);return E}}R(RequireResolveHeaderDependency,"webpack/lib/dependencies/RequireResolveHeaderDependency");RequireResolveHeaderDependency.Template=class RequireResolveHeaderDependencyTemplate extends $.Template{apply(v,E,P){const R=v;E.replace(R.range[0],R.range[1]-1,"/*require.resolve*/")}applyAsTemplateArgument(v,E,P){P.replace(E.range[0],E.range[1]-1,"/*require.resolve*/")}};v.exports=RequireResolveHeaderDependency},44870:function(v,E,P){"use strict";const R=P(74364);const $=P(43301);class RuntimeRequirementsDependency extends ${constructor(v){super();this.runtimeRequirements=new Set(v);this._hashUpdate=undefined}updateHash(v,E){if(this._hashUpdate===undefined){this._hashUpdate=Array.from(this.runtimeRequirements).join()+""}v.update(this._hashUpdate)}serialize(v){const{write:E}=v;E(this.runtimeRequirements);super.serialize(v)}deserialize(v){const{read:E}=v;this.runtimeRequirements=E();super.deserialize(v)}}R(RuntimeRequirementsDependency,"webpack/lib/dependencies/RuntimeRequirementsDependency");RuntimeRequirementsDependency.Template=class RuntimeRequirementsDependencyTemplate extends $.Template{apply(v,E,{runtimeRequirements:P}){const R=v;for(const v of R.runtimeRequirements){P.add(v)}}};v.exports=RuntimeRequirementsDependency},88929:function(v,E,P){"use strict";const R=P(74364);const $=P(43301);class StaticExportsDependency extends ${constructor(v,E){super();this.exports=v;this.canMangle=E}get type(){return"static exports"}getExports(v){return{exports:this.exports,canMangle:this.canMangle,dependencies:undefined}}serialize(v){const{write:E}=v;E(this.exports);E(this.canMangle);super.serialize(v)}deserialize(v){const{read:E}=v;this.exports=E();this.canMangle=E();super.deserialize(v)}}R(StaticExportsDependency,"webpack/lib/dependencies/StaticExportsDependency");v.exports=StaticExportsDependency},98786:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$}=P(98791);const N=P(75189);const L=P(45425);const{evaluateToString:q,expressionIsUnsupported:K,toConstantDependency:ae}=P(31445);const ge=P(74364);const be=P(52540);const xe=P(69710);const ve="SystemPlugin";class SystemPlugin{apply(v){v.hooks.compilation.tap(ve,((v,{normalModuleFactory:E})=>{v.hooks.runtimeRequirementInModule.for(N.system).tap(ve,((v,E)=>{E.add(N.requireScope)}));v.hooks.runtimeRequirementInTree.for(N.system).tap(ve,((E,P)=>{v.addRuntimeModule(E,new xe)}));const handler=(v,E)=>{if(E.system===undefined||!E.system){return}const setNotSupported=E=>{v.hooks.evaluateTypeof.for(E).tap(ve,q("undefined"));v.hooks.expression.for(E).tap(ve,K(v,E+" is not supported by webpack."))};v.hooks.typeof.for("System.import").tap(ve,ae(v,JSON.stringify("function")));v.hooks.evaluateTypeof.for("System.import").tap(ve,q("function"));v.hooks.typeof.for("System").tap(ve,ae(v,JSON.stringify("object")));v.hooks.evaluateTypeof.for("System").tap(ve,q("object"));setNotSupported("System.set");setNotSupported("System.get");setNotSupported("System.register");v.hooks.expression.for("System").tap(ve,(E=>{const P=new be(N.system,E.range,[N.system]);P.loc=E.loc;v.state.module.addPresentationalDependency(P);return true}));v.hooks.call.for("System.import").tap(ve,(E=>{v.state.module.addWarning(new SystemImportDeprecationWarning(E.loc));return v.hooks.importCall.call({type:"ImportExpression",source:E.arguments[0],loc:E.loc,range:E.range})}))};E.hooks.parser.for(R).tap(ve,handler);E.hooks.parser.for($).tap(ve,handler)}))}}class SystemImportDeprecationWarning extends L{constructor(v){super("System.import() is deprecated and will be removed soon. Use import() instead.\n"+"For more info visit https://webpack.js.org/guides/code-splitting/");this.name="SystemImportDeprecationWarning";this.loc=v}}ge(SystemImportDeprecationWarning,"webpack/lib/dependencies/SystemPlugin","SystemImportDeprecationWarning");v.exports=SystemPlugin;v.exports.SystemImportDeprecationWarning=SystemImportDeprecationWarning},69710:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);const N=P(35600);class SystemRuntimeModule extends ${constructor(){super("system")}generate(){return N.asString([`${R.system} = {`,N.indent(["import: function () {",N.indent("throw new Error('System.import cannot be used indirectly');"),"}"]),"};"])}}v.exports=SystemRuntimeModule},92072:function(v,E,P){"use strict";const R=P(75189);const{getDependencyUsedByExportsCondition:$}=P(46906);const N=P(74364);const L=P(49584);const q=P(52743);const K=L((()=>P(85808)));class URLDependency extends q{constructor(v,E,P,R){super(v);this.range=E;this.outerRange=P;this.relative=R||false;this.usedByExports=undefined}get type(){return"new URL()"}get category(){return"url"}getCondition(v){return $(this,this.usedByExports,v)}createIgnoredModule(v){const E=K();return new E("data:,",`ignored-asset`,`(ignored asset)`)}serialize(v){const{write:E}=v;E(this.outerRange);E(this.relative);E(this.usedByExports);super.serialize(v)}deserialize(v){const{read:E}=v;this.outerRange=E();this.relative=E();this.usedByExports=E();super.deserialize(v)}}URLDependency.Template=class URLDependencyTemplate extends q.Template{apply(v,E,P){const{chunkGraph:$,moduleGraph:N,runtimeRequirements:L,runtimeTemplate:q,runtime:K}=P;const ae=v;const ge=N.getConnection(ae);if(ge&&!ge.isTargetActive(K)){E.replace(ae.outerRange[0],ae.outerRange[1]-1,"/* unused asset import */ undefined");return}L.add(R.require);if(ae.relative){L.add(R.relativeUrl);E.replace(ae.outerRange[0],ae.outerRange[1]-1,`/* asset import */ new ${R.relativeUrl}(${q.moduleRaw({chunkGraph:$,module:N.getModule(ae),request:ae.request,runtimeRequirements:L,weak:false})})`)}else{L.add(R.baseURI);E.replace(ae.range[0],ae.range[1]-1,`/* asset import */ ${q.moduleRaw({chunkGraph:$,module:N.getModule(ae),request:ae.request,runtimeRequirements:L,weak:false})}, ${R.baseURI}`)}}};N(URLDependency,"webpack/lib/dependencies/URLDependency");v.exports=URLDependency},44140:function(v,E,P){"use strict";const{pathToFileURL:R}=P(57310);const{JAVASCRIPT_MODULE_TYPE_AUTO:$,JAVASCRIPT_MODULE_TYPE_ESM:N}=P(98791);const L=P(61122);const{approve:q}=P(31445);const K=P(46906);const ae=P(92072);const ge="URLPlugin";class URLPlugin{apply(v){v.hooks.compilation.tap(ge,((v,{normalModuleFactory:E})=>{v.dependencyFactories.set(ae,E);v.dependencyTemplates.set(ae,new ae.Template);const getUrl=v=>R(v.resource);const parserCallback=(v,E)=>{if(E.url===false)return;const P=E.url==="relative";const getUrlRequest=E=>{if(E.arguments.length!==2)return;const[P,R]=E.arguments;if(R.type!=="MemberExpression"||P.type==="SpreadElement")return;const $=v.extractMemberExpressionChain(R);if($.members.length!==1||$.object.type!=="MetaProperty"||$.object.meta.name!=="import"||$.object.property.name!=="meta"||$.members[0]!=="url")return;return v.evaluateExpression(P).asString()};v.hooks.canRename.for("URL").tap(ge,q);v.hooks.evaluateNewExpression.for("URL").tap(ge,(E=>{const P=getUrlRequest(E);if(!P)return;const R=new URL(P,getUrl(v.state.module));return(new L).setString(R.toString()).setRange(E.range)}));v.hooks.new.for("URL").tap(ge,(E=>{const R=E;const $=getUrlRequest(R);if(!$)return;const[N,L]=R.arguments;const q=new ae($,[N.range[0],L.range[1]],R.range,P);q.loc=R.loc;v.state.current.addDependency(q);K.onUsage(v.state,(v=>q.usedByExports=v));return true}));v.hooks.isPure.for("NewExpression").tap(ge,(E=>{const P=E;const{callee:R}=P;if(R.type!=="Identifier")return;const $=v.getFreeInfoFromVariable(R.name);if(!$||$.name!=="URL")return;const N=getUrlRequest(P);if(N)return true}))};E.hooks.parser.for($).tap(ge,parserCallback);E.hooks.parser.for(N).tap(ge,parserCallback)}))}}v.exports=URLPlugin},60461:function(v,E,P){"use strict";const R=P(74364);const $=P(43301);class UnsupportedDependency extends ${constructor(v,E){super();this.request=v;this.range=E}serialize(v){const{write:E}=v;E(this.request);E(this.range);super.serialize(v)}deserialize(v){const{read:E}=v;this.request=E();this.range=E();super.deserialize(v)}}R(UnsupportedDependency,"webpack/lib/dependencies/UnsupportedDependency");UnsupportedDependency.Template=class UnsupportedDependencyTemplate extends $.Template{apply(v,E,{runtimeTemplate:P}){const R=v;E.replace(R.range[0],R.range[1],P.missingModule({request:R.request}))}};v.exports=UnsupportedDependency},54657:function(v,E,P){"use strict";const R=P(61803);const $=P(74364);const N=P(52743);class WebAssemblyExportImportedDependency extends N{constructor(v,E,P,R){super(E);this.exportName=v;this.name=P;this.valueType=R}couldAffectReferencingModule(){return R.TRANSITIVE}getReferencedExports(v,E){return[[this.name]]}get type(){return"wasm export import"}get category(){return"wasm"}serialize(v){const{write:E}=v;E(this.exportName);E(this.name);E(this.valueType);super.serialize(v)}deserialize(v){const{read:E}=v;this.exportName=E();this.name=E();this.valueType=E();super.deserialize(v)}}$(WebAssemblyExportImportedDependency,"webpack/lib/dependencies/WebAssemblyExportImportedDependency");v.exports=WebAssemblyExportImportedDependency},52593:function(v,E,P){"use strict";const R=P(74364);const $=P(51690);const N=P(52743);class WebAssemblyImportDependency extends N{constructor(v,E,P,R){super(v);this.name=E;this.description=P;this.onlyDirectImport=R}get type(){return"wasm import"}get category(){return"wasm"}getReferencedExports(v,E){return[[this.name]]}getErrors(v){const E=v.getModule(this);if(this.onlyDirectImport&&E&&!E.type.startsWith("webassembly")){return[new $(`Import "${this.name}" from "${this.request}" with ${this.onlyDirectImport} can only be used for direct wasm to wasm dependencies`)]}}serialize(v){const{write:E}=v;E(this.name);E(this.description);E(this.onlyDirectImport);super.serialize(v)}deserialize(v){const{read:E}=v;this.name=E();this.description=E();this.onlyDirectImport=E();super.deserialize(v)}}R(WebAssemblyImportDependency,"webpack/lib/dependencies/WebAssemblyImportDependency");v.exports=WebAssemblyImportDependency},56868:function(v,E,P){"use strict";const R=P(61803);const $=P(35600);const N=P(74364);const L=P(52743);class WebpackIsIncludedDependency extends L{constructor(v,E){super(v);this.weak=true;this.range=E}getReferencedExports(v,E){return R.NO_EXPORTS_REFERENCED}get type(){return"__webpack_is_included__"}}N(WebpackIsIncludedDependency,"webpack/lib/dependencies/WebpackIsIncludedDependency");WebpackIsIncludedDependency.Template=class WebpackIsIncludedDependencyTemplate extends L.Template{apply(v,E,{runtimeTemplate:P,chunkGraph:R,moduleGraph:N}){const L=v;const q=N.getConnection(L);const K=q?R.getNumberOfModuleChunks(q.module)>0:false;const ae=P.outputOptions.pathinfo?$.toComment(`__webpack_is_included__ ${P.requestShortener.shorten(L.request)}`):"";E.replace(L.range[0],L.range[1]-1,`${ae}${JSON.stringify(K)}`)}};v.exports=WebpackIsIncludedDependency},71271:function(v,E,P){"use strict";const R=P(61803);const $=P(75189);const N=P(74364);const L=P(52743);class WorkerDependency extends L{constructor(v,E,P){super(v);this.range=E;this.options=P;this._hashUpdate=undefined}getReferencedExports(v,E){return R.NO_EXPORTS_REFERENCED}get type(){return"new Worker()"}get category(){return"worker"}updateHash(v,E){if(this._hashUpdate===undefined){this._hashUpdate=JSON.stringify(this.options)}v.update(this._hashUpdate)}serialize(v){const{write:E}=v;E(this.options);super.serialize(v)}deserialize(v){const{read:E}=v;this.options=E();super.deserialize(v)}}WorkerDependency.Template=class WorkerDependencyTemplate extends L.Template{apply(v,E,P){const{chunkGraph:R,moduleGraph:N,runtimeRequirements:L}=P;const q=v;const K=N.getParentBlock(v);const ae=R.getBlockChunkGroup(K);const ge=ae.getEntrypointChunk();const be=q.options.publicPath?`"${q.options.publicPath}"`:$.publicPath;L.add($.publicPath);L.add($.baseURI);L.add($.getChunkScriptFilename);E.replace(q.range[0],q.range[1]-1,`/* worker import */ ${be} + ${$.getChunkScriptFilename}(${JSON.stringify(ge.id)}), ${$.baseURI}`)}};N(WorkerDependency,"webpack/lib/dependencies/WorkerDependency");v.exports=WorkerDependency},19461:function(v,E,P){"use strict";const{pathToFileURL:R}=P(57310);const $=P(75165);const N=P(26596);const{JAVASCRIPT_MODULE_TYPE_AUTO:L,JAVASCRIPT_MODULE_TYPE_ESM:q}=P(98791);const K=P(31524);const ae=P(87942);const{equals:ge}=P(98734);const be=P(1558);const{contextify:xe}=P(94778);const ve=P(21882);const Ae=P(52540);const Ie=P(15927);const{harmonySpecifierTag:He}=P(35446);const Qe=P(71271);const getUrl=v=>R(v.resource).toString();const Je=Symbol("worker specifier tag");const Ve=["Worker","SharedWorker","navigator.serviceWorker.register()","Worker from worker_threads"];const Ke=new WeakMap;const Ye="WorkerPlugin";class WorkerPlugin{constructor(v,E,P,R){this._chunkLoading=v;this._wasmLoading=E;this._module=P;this._workerPublicPath=R}apply(v){if(this._chunkLoading){new ae(this._chunkLoading).apply(v)}if(this._wasmLoading){new ve(this._wasmLoading).apply(v)}const E=xe.bindContextCache(v.context,v.root);v.hooks.thisCompilation.tap(Ye,((v,{normalModuleFactory:P})=>{v.dependencyFactories.set(Qe,P);v.dependencyTemplates.set(Qe,new Qe.Template);v.dependencyTemplates.set(Ie,new Ie.Template);const parseModuleUrl=(v,E)=>{if(E.type!=="NewExpression"||E.callee.type==="Super"||E.arguments.length!==2)return;const[P,R]=E.arguments;if(P.type==="SpreadElement")return;if(R.type==="SpreadElement")return;const $=v.evaluateExpression(E.callee);if(!$.isIdentifier()||$.identifier!=="URL")return;const N=v.evaluateExpression(R);if(!N.isString()||!N.string.startsWith("file://")||N.string!==getUrl(v.state.module)){return}const L=v.evaluateExpression(P);return[L,[P.range[0],R.range[1]]]};const parseObjectExpression=(v,E)=>{const P={};const R={};const $=[];let N=false;for(const L of E.properties){if(L.type==="SpreadElement"){N=true}else if(L.type==="Property"&&!L.method&&!L.computed&&L.key.type==="Identifier"){R[L.key.name]=L.value;if(!L.shorthand&&!L.value.type.endsWith("Pattern")){const E=v.evaluateExpression(L.value);if(E.isCompileTimeValue())P[L.key.name]=E.asCompileTimeValue()}}else{$.push(L)}}const L=E.properties.length>0?"comma":"single";const q=E.properties[E.properties.length-1].range[1];return{expressions:R,otherElements:$,values:P,spread:N,insertType:L,insertLocation:q}};const parserPlugin=(P,R)=>{if(R.worker===false)return;const L=!Array.isArray(R.worker)?["..."]:R.worker;const handleNewWorker=R=>{if(R.arguments.length===0||R.arguments.length>2)return;const[L,q]=R.arguments;if(L.type==="SpreadElement")return;if(q&&q.type==="SpreadElement")return;const ae=parseModuleUrl(P,L);if(!ae)return;const[ge,xe]=ae;if(!ge.isString())return;const{expressions:ve,otherElements:He,values:Je,spread:Ve,insertType:Ye,insertLocation:Xe}=q&&q.type==="ObjectExpression"?parseObjectExpression(P,q):{expressions:{},otherElements:[],values:{},spread:false,insertType:q?"spread":"argument",insertLocation:q?q.range:L.range[1]};const{options:Ze,errors:et}=P.parseCommentOptions(R.range);if(et){for(const v of et){const{comment:E}=v;P.state.module.addWarning(new N(`Compilation error while processing magic comment(-s): /*${E.value}*/: ${v.message}`,E.loc))}}let tt={};if(Ze){if(Ze.webpackIgnore!==undefined){if(typeof Ze.webpackIgnore!=="boolean"){P.state.module.addWarning(new K(`\`webpackIgnore\` expected a boolean, but received: ${Ze.webpackIgnore}.`,R.loc))}else{if(Ze.webpackIgnore){return false}}}if(Ze.webpackEntryOptions!==undefined){if(typeof Ze.webpackEntryOptions!=="object"||Ze.webpackEntryOptions===null){P.state.module.addWarning(new K(`\`webpackEntryOptions\` expected a object, but received: ${Ze.webpackEntryOptions}.`,R.loc))}else{Object.assign(tt,Ze.webpackEntryOptions)}}if(Ze.webpackChunkName!==undefined){if(typeof Ze.webpackChunkName!=="string"){P.state.module.addWarning(new K(`\`webpackChunkName\` expected a string, but received: ${Ze.webpackChunkName}.`,R.loc))}else{tt.name=Ze.webpackChunkName}}}if(!Object.prototype.hasOwnProperty.call(tt,"name")&&Je&&typeof Je.name==="string"){tt.name=Je.name}if(tt.runtime===undefined){let R=Ke.get(P.state)||0;Ke.set(P.state,R+1);let $=`${E(P.state.module.identifier())}|${R}`;const N=be(v.outputOptions.hashFunction);N.update($);const L=N.digest(v.outputOptions.hashDigest);tt.runtime=L.slice(0,v.outputOptions.hashDigestLength)}const nt=new $({name:tt.name,entryOptions:{chunkLoading:this._chunkLoading,wasmLoading:this._wasmLoading,...tt}});nt.loc=R.loc;const st=new Qe(ge.string,xe,{publicPath:this._workerPublicPath});st.loc=R.loc;nt.addDependency(st);P.state.module.addBlock(nt);if(v.outputOptions.trustedTypes){const v=new Ie(R.arguments[0].range);v.loc=R.loc;P.state.module.addDependency(v)}if(ve.type){const v=ve.type;if(Je.type!==false){const E=new Ae(this._module?'"module"':"undefined",v.range);E.loc=v.loc;P.state.module.addPresentationalDependency(E);ve.type=undefined}}else if(Ye==="comma"){if(this._module||Ve){const v=new Ae(`, type: ${this._module?'"module"':"undefined"}`,Xe);v.loc=R.loc;P.state.module.addPresentationalDependency(v)}}else if(Ye==="spread"){const v=new Ae("Object.assign({}, ",Xe[0]);const E=new Ae(`, { type: ${this._module?'"module"':"undefined"} })`,Xe[1]);v.loc=R.loc;E.loc=R.loc;P.state.module.addPresentationalDependency(v);P.state.module.addPresentationalDependency(E)}else if(Ye==="argument"){if(this._module){const v=new Ae(', { type: "module" }',Xe);v.loc=R.loc;P.state.module.addPresentationalDependency(v)}}P.walkExpression(R.callee);for(const v of Object.keys(ve)){if(ve[v])P.walkExpression(ve[v])}for(const v of He){P.walkProperty(v)}if(Ye==="spread"){P.walkExpression(q)}return true};const processItem=v=>{if(v.startsWith("*")&&v.includes(".")&&v.endsWith("()")){const E=v.indexOf(".");const R=v.slice(1,E);const $=v.slice(E+1,-2);P.hooks.preDeclarator.tap(Ye,((v,E)=>{if(v.id.type==="Identifier"&&v.id.name===R){P.tagVariable(v.id.name,Je);return true}}));P.hooks.pattern.for(R).tap(Ye,(v=>{P.tagVariable(v.name,Je);return true}));P.hooks.callMemberChain.for(Je).tap(Ye,((v,E)=>{if($!==E.join(".")){return}return handleNewWorker(v)}))}else if(v.endsWith("()")){P.hooks.call.for(v.slice(0,-2)).tap(Ye,handleNewWorker)}else{const E=/^(.+?)(\(\))?\s+from\s+(.+)$/.exec(v);if(E){const v=E[1].split(".");const R=E[2];const $=E[3];(R?P.hooks.call:P.hooks.new).for(He).tap(Ye,(E=>{const R=P.currentTagData;if(!R||R.source!==$||!ge(R.ids,v)){return}return handleNewWorker(E)}))}else{P.hooks.new.for(v).tap(Ye,handleNewWorker)}}};for(const v of L){if(v==="..."){Ve.forEach(processItem)}else processItem(v)}};P.hooks.parser.for(L).tap(Ye,parserPlugin);P.hooks.parser.for(q).tap(Ye,parserPlugin)}))}}v.exports=WorkerPlugin},43094:function(v){"use strict";v.exports=v=>{if(v.type==="FunctionExpression"||v.type==="ArrowFunctionExpression"){return{fn:v,expressions:[],needThis:false}}if(v.type==="CallExpression"&&v.callee.type==="MemberExpression"&&v.callee.object.type==="FunctionExpression"&&v.callee.property.type==="Identifier"&&v.callee.property.name==="bind"&&v.arguments.length===1){return{fn:v.callee.object,expressions:[v.arguments[0]],needThis:undefined}}if(v.type==="CallExpression"&&v.callee.type==="FunctionExpression"&&v.callee.body.type==="BlockStatement"&&v.arguments.length===1&&v.arguments[0].type==="ThisExpression"&&v.callee.body.body&&v.callee.body.body.length===1&&v.callee.body.body[0].type==="ReturnStatement"&&v.callee.body.body[0].argument&&v.callee.body.body[0].argument.type==="FunctionExpression"){return{fn:v.callee.body.body[0].argument,expressions:[],needThis:true}}}},25158:function(v,E,P){"use strict";const{UsageState:R}=P(32514);const processExportInfo=(v,E,P,$,N=false,L=new Set)=>{if(!$){E.push(P);return}const q=$.getUsed(v);if(q===R.Unused)return;if(L.has($)){E.push(P);return}L.add($);if(q!==R.OnlyPropertiesUsed||!$.exportsInfo||$.exportsInfo.otherExportsInfo.getUsed(v)!==R.Unused){L.delete($);E.push(P);return}const K=$.exportsInfo;for(const R of K.orderedExports){processExportInfo(v,E,N&&R.name==="default"?P:P.concat(R.name),R,false,L)}L.delete($)};v.exports=processExportInfo},44578:function(v,E,P){"use strict";const R=P(24752);class ElectronTargetPlugin{constructor(v){this._context=v}apply(v){new R("node-commonjs",["clipboard","crash-reporter","electron","ipc","native-image","original-fs","screen","shell"]).apply(v);switch(this._context){case"main":new R("node-commonjs",["app","auto-updater","browser-window","content-tracing","dialog","global-shortcut","ipc-main","menu","menu-item","power-monitor","power-save-blocker","protocol","session","tray","web-contents"]).apply(v);break;case"preload":case"renderer":new R("node-commonjs",["desktop-capturer","ipc-renderer","remote","web-frame"]).apply(v);break}}}v.exports=ElectronTargetPlugin},87516:function(v,E,P){"use strict";const R=P(45425);class BuildCycleError extends R{constructor(v){super("There is a circular build dependency, which makes it impossible to create this module");this.name="BuildCycleError";this.module=v}}v.exports=BuildCycleError},98598:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);class ExportWebpackRequireRuntimeModule extends ${constructor(){super("export webpack runtime",$.STAGE_ATTACH)}shouldIsolate(){return false}generate(){return`export default ${R.require};`}}v.exports=ExportWebpackRequireRuntimeModule},77152:function(v,E,P){"use strict";const{ConcatSource:R}=P(51255);const{RuntimeGlobals:$}=P(41708);const N=P(19063);const L=P(35600);const{getAllChunks:q}=P(83703);const{chunkHasJs:K,getCompilationHooks:ae,getChunkFilenameTemplate:ge}=P(87885);const{updateHashForEntryStartup:be}=P(854);class ModuleChunkFormatPlugin{apply(v){v.hooks.thisCompilation.tap("ModuleChunkFormatPlugin",(v=>{v.hooks.additionalChunkRuntimeRequirements.tap("ModuleChunkFormatPlugin",((E,P)=>{if(E.hasRuntime())return;if(v.chunkGraph.getNumberOfEntryModules(E)>0){P.add($.require);P.add($.startupEntrypoint);P.add($.externalInstallChunk)}}));const E=ae(v);E.renderChunk.tap("ModuleChunkFormatPlugin",((P,ae)=>{const{chunk:be,chunkGraph:xe,runtimeTemplate:ve}=ae;const Ae=be instanceof N?be:null;const Ie=new R;if(Ae){throw new Error("HMR is not implemented for module chunk format yet")}else{Ie.add(`export const id = ${JSON.stringify(be.id)};\n`);Ie.add(`export const ids = ${JSON.stringify(be.ids)};\n`);Ie.add(`export const modules = `);Ie.add(P);Ie.add(`;\n`);const N=xe.getChunkRuntimeModulesInOrder(be);if(N.length>0){Ie.add("export const runtime =\n");Ie.add(L.renderChunkRuntimeModules(N,ae))}const Ae=Array.from(xe.getChunkEntryModulesWithChunkGroupIterable(be));if(Ae.length>0){const P=Ae[0][1].getRuntimeChunk();const N=v.getPath(ge(be,v.outputOptions),{chunk:be,contentHashType:"javascript"}).split("/");N.pop();const getRelativePath=E=>{const P=N.slice();const R=v.getPath(ge(E,v.outputOptions),{chunk:E,contentHashType:"javascript"}).split("/");while(P.length>0&&R.length>0&&P[0]===R[0]){P.shift();R.shift()}return(P.length>0?"../".repeat(P.length):"./")+R.join("/")};const L=new R;L.add(Ie);L.add(";\n\n// load runtime\n");L.add(`import ${$.require} from ${JSON.stringify(getRelativePath(P))};\n`);const He=new R;He.add(`var __webpack_exec__ = ${ve.returningFunction(`${$.require}(${$.entryModuleId} = moduleId)`,"moduleId")}\n`);const Qe=new Set;let Je=0;for(let v=0;v{if(v.hasRuntime())return;E.update("ModuleChunkFormatPlugin");E.update("1");const $=Array.from(P.getChunkEntryModulesWithChunkGroupIterable(v));be(E,P,$,v)}))}))}}v.exports=ModuleChunkFormatPlugin},9754:function(v,E,P){"use strict";const R=P(75189);const $=P(98598);const N=P(80134);class ModuleChunkLoadingPlugin{apply(v){v.hooks.thisCompilation.tap("ModuleChunkLoadingPlugin",(v=>{const E=v.outputOptions.chunkLoading;const isEnabledForChunk=v=>{const P=v.getEntryOptions();const R=P&&P.chunkLoading!==undefined?P.chunkLoading:E;return R==="import"};const P=new WeakSet;const handler=(E,$)=>{if(P.has(E))return;P.add(E);if(!isEnabledForChunk(E))return;$.add(R.moduleFactoriesAddOnly);$.add(R.hasOwnProperty);v.addRuntimeModule(E,new N($))};v.hooks.runtimeRequirementInTree.for(R.ensureChunkHandlers).tap("ModuleChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.baseURI).tap("ModuleChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.externalInstallChunk).tap("ModuleChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.onChunksLoaded).tap("ModuleChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.externalInstallChunk).tap("ModuleChunkLoadingPlugin",((E,P)=>{if(!isEnabledForChunk(E))return;v.addRuntimeModule(E,new $)}));v.hooks.runtimeRequirementInTree.for(R.ensureChunkHandlers).tap("ModuleChunkLoadingPlugin",((v,E)=>{if(!isEnabledForChunk(v))return;E.add(R.getChunkScriptFilename)}))}))}}v.exports=ModuleChunkLoadingPlugin},80134:function(v,E,P){"use strict";const{SyncWaterfallHook:R}=P(79846);const $=P(92150);const N=P(75189);const L=P(62970);const q=P(35600);const{getChunkFilenameTemplate:K,chunkHasJs:ae}=P(87885);const{getInitialChunkIds:ge}=P(854);const be=P(41516);const{getUndoPath:xe}=P(94778);const ve=new WeakMap;class ModuleChunkLoadingRuntimeModule extends L{static getCompilationHooks(v){if(!(v instanceof $)){throw new TypeError("The 'compilation' argument must be an instance of Compilation")}let E=ve.get(v);if(E===undefined){E={linkPreload:new R(["source","chunk"]),linkPrefetch:new R(["source","chunk"])};ve.set(v,E)}return E}constructor(v){super("import chunk loading",L.STAGE_ATTACH);this._runtimeRequirements=v}_generateBaseUri(v,E){const P=v.getEntryOptions();if(P&&P.baseUri){return`${N.baseURI} = ${JSON.stringify(P.baseUri)};`}const R=this.compilation;const{outputOptions:{importMetaName:$}}=R;return`${N.baseURI} = new URL(${JSON.stringify(E)}, ${$}.url);`}generate(){const v=this.compilation;const E=this.chunkGraph;const P=this.chunk;const{runtimeTemplate:R,outputOptions:{importFunctionName:$}}=v;const L=N.ensureChunkHandlers;const ve=this._runtimeRequirements.has(N.baseURI);const Ae=this._runtimeRequirements.has(N.externalInstallChunk);const Ie=this._runtimeRequirements.has(N.ensureChunkHandlers);const He=this._runtimeRequirements.has(N.onChunksLoaded);const Qe=this._runtimeRequirements.has(N.hmrDownloadUpdateHandlers);const Je=E.getChunkConditionMap(P,ae);const Ve=be(Je);const Ke=ge(P,E,ae);const Ye=v.getPath(K(P,v.outputOptions),{chunk:P,contentHashType:"javascript"});const Xe=xe(Ye,v.outputOptions.path,true);const Ze=Qe?`${N.hmrRuntimeStatePrefix}_module`:undefined;return q.asString([ve?this._generateBaseUri(P,Xe):"// no baseURI","","// object to store loaded and loading chunks","// undefined = chunk not loaded, null = chunk preloaded/prefetched","// [resolve, Promise] = chunk loading, 0 = chunk loaded",`var installedChunks = ${Ze?`${Ze} = ${Ze} || `:""}{`,q.indent(Array.from(Ke,(v=>`${JSON.stringify(v)}: 0`)).join(",\n")),"};","",Ie||Ae?`var installChunk = ${R.basicFunction("data",[R.destructureObject(["ids","modules","runtime"],"data"),'// add "modules" to the modules object,','// then flag all "ids" as loaded and fire callback',"var moduleId, chunkId, i = 0;","for(moduleId in modules) {",q.indent([`if(${N.hasOwnProperty}(modules, moduleId)) {`,q.indent(`${N.moduleFactories}[moduleId] = modules[moduleId];`),"}"]),"}",`if(runtime) runtime(${N.require});`,"for(;i < ids.length; i++) {",q.indent(["chunkId = ids[i];",`if(${N.hasOwnProperty}(installedChunks, chunkId) && installedChunks[chunkId]) {`,q.indent("installedChunks[chunkId][0]();"),"}","installedChunks[ids[i]] = 0;"]),"}",He?`${N.onChunksLoaded}();`:""])}`:"// no install chunk","",Ie?q.asString([`${L}.j = ${R.basicFunction("chunkId, promises",Ve!==false?q.indent(["// import() chunk loading for javascript",`var installedChunkData = ${N.hasOwnProperty}(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;`,'if(installedChunkData !== 0) { // 0 means "already installed".',q.indent(["",'// a Promise means "currently loading".',"if(installedChunkData) {",q.indent(["promises.push(installedChunkData[1]);"]),"} else {",q.indent([Ve===true?"if(true) { // all chunks have JS":`if(${Ve("chunkId")}) {`,q.indent(["// setup Promise in chunk cache",`var promise = ${$}(${JSON.stringify(Xe)} + ${N.getChunkScriptFilename}(chunkId)).then(installChunk, ${R.basicFunction("e",["if(installedChunks[chunkId] !== 0) installedChunks[chunkId] = undefined;","throw e;"])});`,`var promise = Promise.race([promise, new Promise(${R.expressionFunction(`installedChunkData = installedChunks[chunkId] = [resolve]`,"resolve")})])`,`promises.push(installedChunkData[1] = promise);`]),Ve===true?"}":"} else installedChunks[chunkId] = 0;"]),"}"]),"}"]):q.indent(["installedChunks[chunkId] = 0;"]))};`]):"// no chunk on demand loading","",Ae?q.asString([`${N.externalInstallChunk} = installChunk;`]):"// no external install chunk","",He?`${N.onChunksLoaded}.j = ${R.returningFunction("installedChunks[chunkId] === 0","chunkId")};`:"// no on chunks loaded"])}}v.exports=ModuleChunkLoadingRuntimeModule},14703:function(v){"use strict";const formatPosition=v=>{if(v&&typeof v==="object"){if("line"in v&&"column"in v){return`${v.line}:${v.column}`}else if("line"in v){return`${v.line}:?`}}return""};const formatLocation=v=>{if(v&&typeof v==="object"){if("start"in v&&v.start&&"end"in v&&v.end){if(typeof v.start==="object"&&typeof v.start.line==="number"&&typeof v.end==="object"&&typeof v.end.line==="number"&&typeof v.end.column==="number"&&v.start.line===v.end.line){return`${formatPosition(v.start)}-${v.end.column}`}else if(typeof v.start==="object"&&typeof v.start.line==="number"&&typeof v.start.column!=="number"&&typeof v.end==="object"&&typeof v.end.line==="number"&&typeof v.end.column!=="number"){return`${v.start.line}-${v.end.line}`}else{return`${formatPosition(v.start)}-${formatPosition(v.end)}`}}if("start"in v&&v.start){return formatPosition(v.start)}if("name"in v&&"index"in v){return`${v.name}[${v.index}]`}if("name"in v){return v.name}}return""};v.exports=formatLocation},21657:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);const N=P(35600);class HotModuleReplacementRuntimeModule extends ${constructor(){super("hot module replacement",$.STAGE_BASIC)}generate(){return N.getFunctionContent(require("./HotModuleReplacement.runtime.js")).replace(/\$getFullHash\$/g,R.getFullHash).replace(/\$interceptModuleExecution\$/g,R.interceptModuleExecution).replace(/\$moduleCache\$/g,R.moduleCache).replace(/\$hmrModuleData\$/g,R.hmrModuleData).replace(/\$hmrDownloadManifest\$/g,R.hmrDownloadManifest).replace(/\$hmrInvalidateModuleHandlers\$/g,R.hmrInvalidateModuleHandlers).replace(/\$hmrDownloadUpdateHandlers\$/g,R.hmrDownloadUpdateHandlers)}}v.exports=HotModuleReplacementRuntimeModule},77842:function(v,E,P){"use strict";const{RawSource:R}=P(51255);const $=P(75165);const N=P(61803);const L=P(82919);const q=P(18769);const{WEBPACK_MODULE_TYPE_LAZY_COMPILATION_PROXY:K}=P(98791);const ae=P(75189);const ge=P(35600);const be=P(60803);const{registerNotSerializable:xe}=P(56944);const ve=new Set(["import.meta.webpackHot.accept","import.meta.webpackHot.decline","module.hot.accept","module.hot.decline"]);const checkTest=(v,E)=>{if(v===undefined)return true;if(typeof v==="function"){return v(E)}if(typeof v==="string"){const P=E.nameForCondition();return P&&P.startsWith(v)}if(v instanceof RegExp){const P=E.nameForCondition();return P&&v.test(P)}return false};const Ae=new Set(["javascript"]);class LazyCompilationDependency extends N{constructor(v){super();this.proxyModule=v}get category(){return"esm"}get type(){return"lazy import()"}getResourceIdentifier(){return this.proxyModule.originalModule.identifier()}}xe(LazyCompilationDependency);class LazyCompilationProxyModule extends L{constructor(v,E,P,R,$,N){super(K,v,E.layer);this.originalModule=E;this.request=P;this.client=R;this.data=$;this.active=N}identifier(){return`${K}|${this.originalModule.identifier()}`}readableIdentifier(v){return`${K} ${this.originalModule.readableIdentifier(v)}`}updateCacheModule(v){super.updateCacheModule(v);const E=v;this.originalModule=E.originalModule;this.request=E.request;this.client=E.client;this.data=E.data;this.active=E.active}libIdent(v){return`${this.originalModule.libIdent(v)}!${K}`}needBuild(v,E){E(null,!this.buildInfo||this.buildInfo.active!==this.active)}build(v,E,P,R,N){this.buildInfo={active:this.active};this.buildMeta={};this.clearDependenciesAndBlocks();const L=new be(this.client);this.addDependency(L);if(this.active){const v=new LazyCompilationDependency(this);const E=new $({});E.addDependency(v);this.addBlock(E)}N()}getSourceTypes(){return Ae}size(v){return 200}codeGeneration({runtimeTemplate:v,chunkGraph:E,moduleGraph:P}){const $=new Map;const N=new Set;N.add(ae.module);const L=this.dependencies[0];const q=P.getModule(L);const K=this.blocks[0];const be=ge.asString([`var client = ${v.moduleExports({module:q,chunkGraph:E,request:L.userRequest,runtimeRequirements:N})}`,`var data = ${JSON.stringify(this.data)};`]);const xe=ge.asString([`var dispose = client.keepAlive({ data: data, active: ${JSON.stringify(!!K)}, module: module, onError: onError });`]);let ve;if(K){const R=K.dependencies[0];const $=P.getModule(R);ve=ge.asString([be,`module.exports = ${v.moduleNamespacePromise({chunkGraph:E,block:K,module:$,request:this.request,strict:false,message:"import()",runtimeRequirements:N})};`,"if (module.hot) {",ge.indent(["module.hot.accept();",`module.hot.accept(${JSON.stringify(E.getModuleId($))}, function() { module.hot.invalidate(); });`,"module.hot.dispose(function(data) { delete data.resolveSelf; dispose(data); });","if (module.hot.data && module.hot.data.resolveSelf) module.hot.data.resolveSelf(module.exports);"]),"}","function onError() { /* ignore */ }",xe])}else{ve=ge.asString([be,"var resolveSelf, onError;",`module.exports = new Promise(function(resolve, reject) { resolveSelf = resolve; onError = reject; });`,"if (module.hot) {",ge.indent(["module.hot.accept();","if (module.hot.data && module.hot.data.resolveSelf) module.hot.data.resolveSelf(module.exports);","module.hot.dispose(function(data) { data.resolveSelf = resolveSelf; dispose(data); });"]),"}",xe])}$.set("javascript",new R(ve));return{sources:$,runtimeRequirements:N}}updateHash(v,E){super.updateHash(v,E);v.update(this.active?"active":"");v.update(JSON.stringify(this.data))}}xe(LazyCompilationProxyModule);class LazyCompilationDependencyFactory extends q{constructor(v){super();this._factory=v}create(v,E){const P=v.dependencies[0];E(null,{module:P.proxyModule.originalModule})}}class LazyCompilationPlugin{constructor({backend:v,entries:E,imports:P,test:R}){this.backend=v;this.entries=E;this.imports=P;this.test=R}apply(v){let E;v.hooks.beforeCompile.tapAsync("LazyCompilationPlugin",((P,R)=>{if(E!==undefined)return R();const $=this.backend(v,((v,P)=>{if(v)return R(v);E=P;R()}));if($&&$.then){$.then((v=>{E=v;R()}),R)}}));v.hooks.thisCompilation.tap("LazyCompilationPlugin",((P,{normalModuleFactory:R})=>{R.hooks.module.tap("LazyCompilationPlugin",((R,$,N)=>{if(N.dependencies.every((v=>ve.has(v.type)))){const v=N.dependencies[0];const E=P.moduleGraph.getParentModule(v);const R=E.blocks.some((E=>E.dependencies.some((E=>E.type==="import()"&&E.request===v.request))));if(!R)return}else if(!N.dependencies.every((v=>ve.has(v.type)||this.imports&&(v.type==="import()"||v.type==="import() context element")||this.entries&&v.type==="entry")))return;if(/webpack[/\\]hot[/\\]|webpack-dev-server[/\\]client|webpack-hot-middleware[/\\]client/.test(N.request)||!checkTest(this.test,R))return;const L=E.module(R);if(!L)return;const{client:q,data:K,active:ae}=L;return new LazyCompilationProxyModule(v.context,R,N.request,q,K,ae)}));P.dependencyFactories.set(LazyCompilationDependency,new LazyCompilationDependencyFactory)}));v.hooks.shutdown.tapAsync("LazyCompilationPlugin",(v=>{E.dispose(v)}))}}v.exports=LazyCompilationPlugin},63161:function(v,E,P){"use strict";v.exports=v=>(E,R)=>{const $=E.getInfrastructureLogger("LazyCompilationBackend");const N=new Map;const L="/lazy-compilation-using-";const q=v.protocol==="https"||typeof v.server==="object"&&("key"in v.server||"pfx"in v.server);const K=typeof v.server==="function"?v.server:(()=>{const E=q?P(95687):P(13685);return E.createServer.bind(E,v.server)})();const ae=typeof v.listen==="function"?v.listen:E=>{let P=v.listen;if(typeof P==="object"&&!("port"in P))P={...P,port:undefined};E.listen(P)};const ge=v.protocol||(q?"https":"http");const requestListener=(v,P)=>{const R=v.url.slice(L.length).split("@");v.socket.on("close",(()=>{setTimeout((()=>{for(const v of R){const E=N.get(v)||0;N.set(v,E-1);if(E===1){$.log(`${v} is no longer in use. Next compilation will skip this module.`)}}}),12e4)}));v.socket.setNoDelay(true);P.writeHead(200,{"content-type":"text/event-stream","Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"*","Access-Control-Allow-Headers":"*"});P.write("\n");let q=false;for(const v of R){const E=N.get(v)||0;N.set(v,E+1);if(E===0){$.log(`${v} is now in use and will be compiled.`);q=true}}if(q&&E.watching)E.watching.invalidate()};const be=K();be.on("request",requestListener);let xe=false;const ve=new Set;be.on("connection",(v=>{ve.add(v);v.on("close",(()=>{ve.delete(v)}));if(xe)v.destroy()}));be.on("clientError",(v=>{if(v.message!=="Server is disposing")$.warn(v)}));be.on("listening",(E=>{if(E)return R(E);const P=be.address();if(typeof P==="string")throw new Error("addr must not be a string");const q=P.address==="::"||P.address==="0.0.0.0"?`${ge}://localhost:${P.port}`:P.family==="IPv6"?`${ge}://[${P.address}]:${P.port}`:`${ge}://${P.address}:${P.port}`;$.log(`Server-Sent-Events server for lazy compilation open at ${q}.`);R(null,{dispose(v){xe=true;be.off("request",requestListener);be.close((E=>{v(E)}));for(const v of ve){v.destroy(new Error("Server is disposing"))}},module(E){const P=`${encodeURIComponent(E.identifier().replace(/\\/g,"/").replace(/@/g,"_")).replace(/%(2F|3A|24|26|2B|2C|3B|3D|3A)/g,decodeURIComponent)}`;const R=N.get(P)>0;return{client:`${v.client}?${encodeURIComponent(q+L)}`,data:P,active:R}}})}));ae(be)}},86051:function(v,E,P){"use strict";const{find:R}=P(57167);const{compareModulesByPreOrderIndexOrIdentifier:$,compareModulesByPostOrderIndexOrIdentifier:N}=P(80754);class ChunkModuleIdRangePlugin{constructor(v){this.options=v}apply(v){const E=this.options;v.hooks.compilation.tap("ChunkModuleIdRangePlugin",(v=>{const P=v.moduleGraph;v.hooks.moduleIds.tap("ChunkModuleIdRangePlugin",(L=>{const q=v.chunkGraph;const K=R(v.chunks,(v=>v.name===E.name));if(!K){throw new Error(`ChunkModuleIdRangePlugin: Chunk with name '${E.name}"' was not found`)}let ae;if(E.order){let v;switch(E.order){case"index":case"preOrderIndex":v=$(P);break;case"index2":case"postOrderIndex":v=N(P);break;default:throw new Error("ChunkModuleIdRangePlugin: unexpected value of order")}ae=q.getOrderedChunkModules(K,v)}else{ae=Array.from(L).filter((v=>q.isModuleInChunk(v,K))).sort($(P))}let ge=E.start||0;for(let v=0;vE.end)break}}))}))}}v.exports=ChunkModuleIdRangePlugin},14962:function(v,E,P){"use strict";const{compareChunksNatural:R}=P(80754);const{getFullChunkName:$,getUsedChunkIds:N,assignDeterministicIds:L}=P(22192);class DeterministicChunkIdsPlugin{constructor(v={}){this.options=v}apply(v){v.hooks.compilation.tap("DeterministicChunkIdsPlugin",(E=>{E.hooks.chunkIds.tap("DeterministicChunkIdsPlugin",(P=>{const q=E.chunkGraph;const K=this.options.context?this.options.context:v.context;const ae=this.options.maxLength||3;const ge=R(q);const be=N(E);L(Array.from(P).filter((v=>v.id===null)),(E=>$(E,q,K,v.root)),ge,((v,E)=>{const P=be.size;be.add(`${E}`);if(P===be.size)return false;v.id=E;v.ids=[E];return true}),[Math.pow(10,ae)],10,be.size)}))}))}}v.exports=DeterministicChunkIdsPlugin},13489:function(v,E,P){"use strict";const{compareModulesByPreOrderIndexOrIdentifier:R}=P(80754);const{getUsedModuleIdsAndModules:$,getFullModuleName:N,assignDeterministicIds:L}=P(22192);class DeterministicModuleIdsPlugin{constructor(v={}){this.options=v}apply(v){v.hooks.compilation.tap("DeterministicModuleIdsPlugin",(E=>{E.hooks.moduleIds.tap("DeterministicModuleIdsPlugin",(()=>{const P=E.chunkGraph;const q=this.options.context?this.options.context:v.context;const K=this.options.maxLength||3;const ae=this.options.failOnConflict||false;const ge=this.options.fixedLength||false;const be=this.options.salt||0;let xe=0;const[ve,Ae]=$(E,this.options.test);L(Ae,(E=>N(E,q,v.root)),ae?()=>0:R(E.moduleGraph),((v,E)=>{const R=ve.size;ve.add(`${E}`);if(R===ve.size){xe++;return false}P.setModuleId(v,E);return true}),[Math.pow(10,K)],ge?0:10,ve.size,be);if(ae&&xe)throw new Error(`Assigning deterministic module ids has lead to ${xe} conflict${xe>1?"s":""}.\nIncrease the 'maxLength' to increase the id space and make conflicts less likely (recommended when there are many conflicts or application is expected to grow), or add an 'salt' number to try another hash starting value in the same id space (recommended when there is only a single conflict).`)}))}))}}v.exports=DeterministicModuleIdsPlugin},26358:function(v,E,P){"use strict";const{compareModulesByPreOrderIndexOrIdentifier:R}=P(80754);const $=P(86278);const N=P(1558);const{getUsedModuleIdsAndModules:L,getFullModuleName:q}=P(22192);const K=$(P(95344),(()=>P(17079)),{name:"Hashed Module Ids Plugin",baseDataPath:"options"});class HashedModuleIdsPlugin{constructor(v={}){K(v);this.options={context:undefined,hashFunction:"md4",hashDigest:"base64",hashDigestLength:4,...v}}apply(v){const E=this.options;v.hooks.compilation.tap("HashedModuleIdsPlugin",(P=>{P.hooks.moduleIds.tap("HashedModuleIdsPlugin",(()=>{const $=P.chunkGraph;const K=this.options.context?this.options.context:v.context;const[ae,ge]=L(P);const be=ge.sort(R(P.moduleGraph));for(const P of be){const R=q(P,K,v.root);const L=N(E.hashFunction);L.update(R||"");const ge=L.digest(E.hashDigest);let be=E.hashDigestLength;while(ae.has(ge.slice(0,be)))be++;const xe=ge.slice(0,be);$.setModuleId(P,xe);ae.add(xe)}}))}))}}v.exports=HashedModuleIdsPlugin},22192:function(v,E,P){"use strict";const R=P(1558);const{makePathsRelative:$}=P(94778);const N=P(63985);const getHash=(v,E,P)=>{const $=R(P);$.update(v);const N=$.digest("hex");return N.slice(0,E)};const avoidNumber=v=>{if(v.length>21)return v;const E=v.charCodeAt(0);if(E<49){if(E!==45)return v}else if(E>57){return v}if(v===+v+""){return`_${v}`}return v};const requestToId=v=>v.replace(/^(\.\.?\/)+/,"").replace(/(^[.-]|[^a-zA-Z0-9_-])+/g,"_");E.requestToId=requestToId;const shortenLongString=(v,E,P)=>{if(v.length<100)return v;return v.slice(0,100-6-E.length)+E+getHash(v,6,P)};const getShortModuleName=(v,E,P)=>{const R=v.libIdent({context:E,associatedObjectForCache:P});if(R)return avoidNumber(R);const N=v.nameForCondition();if(N)return avoidNumber($(E,N,P));return""};E.getShortModuleName=getShortModuleName;const getLongModuleName=(v,E,P,R,$)=>{const N=getFullModuleName(E,P,$);return`${v}?${getHash(N,4,R)}`};E.getLongModuleName=getLongModuleName;const getFullModuleName=(v,E,P)=>$(E,v.identifier(),P);E.getFullModuleName=getFullModuleName;const getShortChunkName=(v,E,P,R,$,N)=>{const L=E.getChunkRootModules(v);const q=L.map((v=>requestToId(getShortModuleName(v,P,N))));v.idNameHints.sort();const K=Array.from(v.idNameHints).concat(q).filter(Boolean).join(R);return shortenLongString(K,R,$)};E.getShortChunkName=getShortChunkName;const getLongChunkName=(v,E,P,R,$,N)=>{const L=E.getChunkRootModules(v);const q=L.map((v=>requestToId(getShortModuleName(v,P,N))));const K=L.map((v=>requestToId(getLongModuleName("",v,P,$,N))));v.idNameHints.sort();const ae=Array.from(v.idNameHints).concat(q,K).filter(Boolean).join(R);return shortenLongString(ae,R,$)};E.getLongChunkName=getLongChunkName;const getFullChunkName=(v,E,P,R)=>{if(v.name)return v.name;const N=E.getChunkRootModules(v);const L=N.map((v=>$(P,v.identifier(),R)));return L.join()};E.getFullChunkName=getFullChunkName;const addToMapOfItems=(v,E,P)=>{let R=v.get(E);if(R===undefined){R=[];v.set(E,R)}R.push(P)};const getUsedModuleIdsAndModules=(v,E)=>{const P=v.chunkGraph;const R=[];const $=new Set;if(v.usedModuleIds){for(const E of v.usedModuleIds){$.add(E+"")}}for(const N of v.modules){if(!N.needId)continue;const v=P.getModuleId(N);if(v!==null){$.add(v+"")}else{if((!E||E(N))&&P.getNumberOfModuleChunks(N)!==0){R.push(N)}}}return[$,R]};E.getUsedModuleIdsAndModules=getUsedModuleIdsAndModules;const getUsedChunkIds=v=>{const E=new Set;if(v.usedChunkIds){for(const P of v.usedChunkIds){E.add(P+"")}}for(const P of v.chunks){const v=P.id;if(v!==null){E.add(v+"")}}return E};E.getUsedChunkIds=getUsedChunkIds;const assignNames=(v,E,P,R,$,N)=>{const L=new Map;for(const P of v){const v=E(P);addToMapOfItems(L,v,P)}const q=new Map;for(const[v,E]of L){if(E.length>1||!v){for(const R of E){const E=P(R,v);addToMapOfItems(q,E,R)}}else{addToMapOfItems(q,v,E[0])}}const K=[];for(const[v,E]of q){if(!v){for(const v of E){K.push(v)}}else if(E.length===1&&!$.has(v)){N(E[0],v);$.add(v)}else{E.sort(R);let P=0;for(const R of E){while(q.has(v+P)&&$.has(v+P))P++;N(R,v+P);$.add(v+P);P++}}}K.sort(R);return K};E.assignNames=assignNames;const assignDeterministicIds=(v,E,P,R,$=[10],L=10,q=0,K=0)=>{v.sort(P);const ae=Math.min(v.length*20+q,Number.MAX_SAFE_INTEGER);let ge=0;let be=$[ge];while(be{const R=P.chunkGraph;let $=0;let N;if(v.size>0){N=E=>{if(R.getModuleId(E)===null){while(v.has($+""))$++;R.setModuleId(E,$++)}}}else{N=v=>{if(R.getModuleId(v)===null){R.setModuleId(v,$++)}}}for(const v of E){N(v)}};E.assignAscendingModuleIds=assignAscendingModuleIds;const assignAscendingChunkIds=(v,E)=>{const P=getUsedChunkIds(E);let R=0;if(P.size>0){for(const E of v){if(E.id===null){while(P.has(R+""))R++;E.id=R;E.ids=[R];R++}}}else{for(const E of v){if(E.id===null){E.id=R;E.ids=[R];R++}}}};E.assignAscendingChunkIds=assignAscendingChunkIds},67590:function(v,E,P){"use strict";const{compareChunksNatural:R}=P(80754);const{getShortChunkName:$,getLongChunkName:N,assignNames:L,getUsedChunkIds:q,assignAscendingChunkIds:K}=P(22192);class NamedChunkIdsPlugin{constructor(v){this.delimiter=v&&v.delimiter||"-";this.context=v&&v.context}apply(v){v.hooks.compilation.tap("NamedChunkIdsPlugin",(E=>{const P=E.outputOptions.hashFunction;E.hooks.chunkIds.tap("NamedChunkIdsPlugin",(ae=>{const ge=E.chunkGraph;const be=this.context?this.context:v.context;const xe=this.delimiter;const ve=L(Array.from(ae).filter((v=>{if(v.name){v.id=v.name;v.ids=[v.name]}return v.id===null})),(E=>$(E,ge,be,xe,P,v.root)),(E=>N(E,ge,be,xe,P,v.root)),R(ge),q(E),((v,E)=>{v.id=E;v.ids=[E]}));if(ve.length>0){K(ve,E)}}))}))}}v.exports=NamedChunkIdsPlugin},39244:function(v,E,P){"use strict";const{compareModulesByIdentifier:R}=P(80754);const{getShortModuleName:$,getLongModuleName:N,assignNames:L,getUsedModuleIdsAndModules:q,assignAscendingModuleIds:K}=P(22192);class NamedModuleIdsPlugin{constructor(v={}){this.options=v}apply(v){const{root:E}=v;v.hooks.compilation.tap("NamedModuleIdsPlugin",(P=>{const ae=P.outputOptions.hashFunction;P.hooks.moduleIds.tap("NamedModuleIdsPlugin",(()=>{const ge=P.chunkGraph;const be=this.options.context?this.options.context:v.context;const[xe,ve]=q(P);const Ae=L(ve,(v=>$(v,be,E)),((v,P)=>N(P,v,be,ae,E)),R,xe,((v,E)=>ge.setModuleId(v,E)));if(Ae.length>0){K(xe,Ae,P)}}))}))}}v.exports=NamedModuleIdsPlugin},27384:function(v,E,P){"use strict";const{compareChunksNatural:R}=P(80754);const{assignAscendingChunkIds:$}=P(22192);class NaturalChunkIdsPlugin{apply(v){v.hooks.compilation.tap("NaturalChunkIdsPlugin",(v=>{v.hooks.chunkIds.tap("NaturalChunkIdsPlugin",(E=>{const P=v.chunkGraph;const N=R(P);const L=Array.from(E).sort(N);$(L,v)}))}))}}v.exports=NaturalChunkIdsPlugin},7643:function(v,E,P){"use strict";const{compareModulesByPreOrderIndexOrIdentifier:R}=P(80754);const{assignAscendingModuleIds:$,getUsedModuleIdsAndModules:N}=P(22192);class NaturalModuleIdsPlugin{apply(v){v.hooks.compilation.tap("NaturalModuleIdsPlugin",(v=>{v.hooks.moduleIds.tap("NaturalModuleIdsPlugin",(E=>{const[P,L]=N(v);L.sort(R(v.moduleGraph));$(P,L,v)}))}))}}v.exports=NaturalModuleIdsPlugin},40412:function(v,E,P){"use strict";const{compareChunksNatural:R}=P(80754);const $=P(86278);const{assignAscendingChunkIds:N}=P(22192);const L=$(P(3913),(()=>P(94504)),{name:"Occurrence Order Chunk Ids Plugin",baseDataPath:"options"});class OccurrenceChunkIdsPlugin{constructor(v={}){L(v);this.options=v}apply(v){const E=this.options.prioritiseInitial;v.hooks.compilation.tap("OccurrenceChunkIdsPlugin",(v=>{v.hooks.chunkIds.tap("OccurrenceChunkIdsPlugin",(P=>{const $=v.chunkGraph;const L=new Map;const q=R($);for(const v of P){let E=0;for(const P of v.groupsIterable){for(const v of P.parentsIterable){if(v.isInitial())E++}}L.set(v,E)}const K=Array.from(P).sort(((v,P)=>{if(E){const E=L.get(v);const R=L.get(P);if(E>R)return-1;if(E$)return-1;if(R<$)return 1;return q(v,P)}));N(K,v)}))}))}}v.exports=OccurrenceChunkIdsPlugin},71486:function(v,E,P){"use strict";const{compareModulesByPreOrderIndexOrIdentifier:R}=P(80754);const $=P(86278);const{assignAscendingModuleIds:N,getUsedModuleIdsAndModules:L}=P(22192);const q=$(P(652),(()=>P(36389)),{name:"Occurrence Order Module Ids Plugin",baseDataPath:"options"});class OccurrenceModuleIdsPlugin{constructor(v={}){q(v);this.options=v}apply(v){const E=this.options.prioritiseInitial;v.hooks.compilation.tap("OccurrenceModuleIdsPlugin",(v=>{const P=v.moduleGraph;v.hooks.moduleIds.tap("OccurrenceModuleIdsPlugin",(()=>{const $=v.chunkGraph;const[q,K]=L(v);const ae=new Map;const ge=new Map;const be=new Map;const xe=new Map;for(const v of K){let E=0;let P=0;for(const R of $.getModuleChunksIterable(v)){if(R.canBeInitial())E++;if($.isEntryModuleInChunk(v,R))P++}be.set(v,E);xe.set(v,P)}const countOccursInEntry=v=>{let E=0;for(const[R,$]of P.getIncomingConnectionsByOriginModule(v)){if(!R)continue;if(!$.some((v=>v.isTargetActive(undefined))))continue;E+=be.get(R)||0}return E};const countOccurs=v=>{let E=0;for(const[R,N]of P.getIncomingConnectionsByOriginModule(v)){if(!R)continue;const v=$.getNumberOfModuleChunks(R);for(const P of N){if(!P.isTargetActive(undefined))continue;if(!P.dependency)continue;const R=P.dependency.getNumberOfIdOccurrences();if(R===0)continue;E+=R*v}}return E};if(E){for(const v of K){const E=countOccursInEntry(v)+be.get(v)+xe.get(v);ae.set(v,E)}}for(const v of K){const E=countOccurs(v)+$.getNumberOfModuleChunks(v)+xe.get(v);ge.set(v,E)}const ve=R(v.moduleGraph);K.sort(((v,P)=>{if(E){const E=ae.get(v);const R=ae.get(P);if(E>R)return-1;if(E$)return-1;if(R<$)return 1;return ve(v,P)}));N(q,K,v)}))}))}}v.exports=OccurrenceModuleIdsPlugin},22121:function(v,E,P){"use strict";const{WebpackError:R}=P(41708);const{getUsedModuleIdsAndModules:$}=P(22192);const N="SyncModuleIdsPlugin";class SyncModuleIdsPlugin{constructor({path:v,context:E,test:P,mode:R}){this._path=v;this._context=E;this._test=P||(()=>true);const $=!R||R==="merge"||R==="update";this._read=$||R==="read";this._write=$||R==="create";this._prune=R==="update"}apply(v){let E;let P=false;if(this._read){v.hooks.readRecords.tapAsync(N,(R=>{const $=v.intermediateFileSystem;$.readFile(this._path,((v,$)=>{if(v){if(v.code!=="ENOENT"){return R(v)}return R()}const N=JSON.parse($.toString());E=new Map;for(const v of Object.keys(N)){E.set(v,N[v])}P=false;return R()}))}))}if(this._write){v.hooks.emitRecords.tapAsync(N,(R=>{if(!E||!P)return R();const $={};const N=Array.from(E).sort((([v],[E])=>v{const q=v.root;const K=this._context||v.context;if(this._read){L.hooks.reviveModules.tap(N,((v,P)=>{if(!E)return;const{chunkGraph:N}=L;const[ae,ge]=$(L,this._test);for(const v of ge){const P=v.libIdent({context:K,associatedObjectForCache:q});if(!P)continue;const $=E.get(P);const ge=`${$}`;if(ae.has(ge)){const E=new R(`SyncModuleIdsPlugin: Unable to restore id '${$}' from '${this._path}' as it's already used.`);E.module=v;L.errors.push(E)}N.setModuleId(v,$);ae.add(ge)}}))}if(this._write){L.hooks.recordModules.tap(N,(v=>{const{chunkGraph:R}=L;let $=E;if(!$){$=E=new Map}else if(this._prune){E=new Map}for(const N of v){if(this._test(N)){const v=N.libIdent({context:K,associatedObjectForCache:q});if(!v)continue;const L=R.getModuleId(N);if(L===null)continue;const ae=$.get(v);if(ae!==L){P=true}else if(E===$){continue}E.set(v,L)}}if(E.size!==$.size)P=true}))}}))}}v.exports=SyncModuleIdsPlugin},41708:function(v,E,P){"use strict";const R=P(73837);const $=P(49584);const lazyFunction=v=>{const E=$(v);const f=(...v)=>E()(...v);return f};const mergeExports=(v,E)=>{const P=Object.getOwnPropertyDescriptors(E);for(const E of Object.keys(P)){const R=P[E];if(R.get){const P=R.get;Object.defineProperty(v,E,{configurable:false,enumerable:true,get:$(P)})}else if(typeof R.value==="object"){Object.defineProperty(v,E,{configurable:false,enumerable:true,writable:false,value:mergeExports({},R.value)})}else{throw new Error("Exposed values must be either a getter or an nested object")}}return Object.freeze(v)};const N=lazyFunction((()=>P(64004)));v.exports=mergeExports(N,{get webpack(){return P(64004)},get validate(){const v=P(18171);const E=$((()=>{const v=P(64103);const E=P(6497);return P=>v(E,P)}));return P=>{if(!v(P))E()(P)}},get validateSchema(){const v=P(64103);return v},get version(){return P(98727).i8},get cli(){return P(23986)},get AutomaticPrefetchPlugin(){return P(84454)},get AsyncDependenciesBlock(){return P(75165)},get BannerPlugin(){return P(53735)},get Cache(){return P(14893)},get Chunk(){return P(13537)},get ChunkGraph(){return P(33422)},get CleanPlugin(){return P(76765)},get Compilation(){return P(92150)},get Compiler(){return P(54445)},get ConcatenationScope(){return P(79421)},get ContextExclusionPlugin(){return P(75117)},get ContextReplacementPlugin(){return P(99931)},get DefinePlugin(){return P(68934)},get DelegatedPlugin(){return P(46144)},get Dependency(){return P(61803)},get DllPlugin(){return P(98472)},get DllReferencePlugin(){return P(492)},get DynamicEntryPlugin(){return P(89793)},get EntryOptionPlugin(){return P(31453)},get EntryPlugin(){return P(21049)},get EnvironmentPlugin(){return P(40324)},get EvalDevToolModulePlugin(){return P(3635)},get EvalSourceMapDevToolPlugin(){return P(31902)},get ExternalModule(){return P(645)},get ExternalsPlugin(){return P(24752)},get Generator(){return P(91611)},get HotUpdateChunk(){return P(19063)},get HotModuleReplacementPlugin(){return P(92553)},get IgnorePlugin(){return P(2395)},get JavascriptModulesPlugin(){return R.deprecate((()=>P(87885)),"webpack.JavascriptModulesPlugin has moved to webpack.javascript.JavascriptModulesPlugin","DEP_WEBPACK_JAVASCRIPT_MODULES_PLUGIN")()},get LibManifestPlugin(){return P(59752)},get LibraryTemplatePlugin(){return R.deprecate((()=>P(20529)),"webpack.LibraryTemplatePlugin is deprecated and has been replaced by compilation.outputOptions.library or compilation.addEntry + passing a library option","DEP_WEBPACK_LIBRARY_TEMPLATE_PLUGIN")()},get LoaderOptionsPlugin(){return P(39861)},get LoaderTargetPlugin(){return P(44346)},get Module(){return P(82919)},get ModuleFilenameHelpers(){return P(13745)},get ModuleGraph(){return P(22425)},get ModuleGraphConnection(){return P(76361)},get NoEmitOnErrorsPlugin(){return P(85793)},get NormalModule(){return P(44208)},get NormalModuleReplacementPlugin(){return P(47266)},get MultiCompiler(){return P(57828)},get OptimizationStages(){return P(66480)},get Parser(){return P(40766)},get PrefetchPlugin(){return P(97162)},get ProgressPlugin(){return P(97924)},get ProvidePlugin(){return P(9869)},get RuntimeGlobals(){return P(75189)},get RuntimeModule(){return P(62970)},get SingleEntryPlugin(){return R.deprecate((()=>P(21049)),"SingleEntryPlugin was renamed to EntryPlugin","DEP_WEBPACK_SINGLE_ENTRY_PLUGIN")()},get SourceMapDevToolPlugin(){return P(452)},get Stats(){return P(32110)},get Template(){return P(35600)},get UsageState(){return P(32514).UsageState},get WatchIgnorePlugin(){return P(15275)},get WebpackError(){return P(45425)},get WebpackOptionsApply(){return P(62805)},get WebpackOptionsDefaulter(){return R.deprecate((()=>P(14602)),"webpack.WebpackOptionsDefaulter is deprecated and has been replaced by webpack.config.getNormalizedWebpackOptions and webpack.config.applyWebpackOptionsDefaults","DEP_WEBPACK_OPTIONS_DEFAULTER")()},get WebpackOptionsValidationError(){return P(38476).ValidationError},get ValidationError(){return P(38476).ValidationError},cache:{get MemoryCachePlugin(){return P(85656)}},config:{get getNormalizedWebpackOptions(){return P(35440).getNormalizedWebpackOptions},get applyWebpackOptionsDefaults(){return P(28480).applyWebpackOptionsDefaults}},dependencies:{get ModuleDependency(){return P(52743)},get HarmonyImportDependency(){return P(27601)},get ConstDependency(){return P(52540)},get NullDependency(){return P(43301)}},ids:{get ChunkModuleIdRangePlugin(){return P(86051)},get NaturalModuleIdsPlugin(){return P(7643)},get OccurrenceModuleIdsPlugin(){return P(71486)},get NamedModuleIdsPlugin(){return P(39244)},get DeterministicChunkIdsPlugin(){return P(14962)},get DeterministicModuleIdsPlugin(){return P(13489)},get NamedChunkIdsPlugin(){return P(67590)},get OccurrenceChunkIdsPlugin(){return P(40412)},get HashedModuleIdsPlugin(){return P(26358)}},javascript:{get EnableChunkLoadingPlugin(){return P(87942)},get JavascriptModulesPlugin(){return P(87885)},get JavascriptParser(){return P(6205)}},optimize:{get AggressiveMergingPlugin(){return P(57942)},get AggressiveSplittingPlugin(){return R.deprecate((()=>P(86660)),"AggressiveSplittingPlugin is deprecated in favor of SplitChunksPlugin","DEP_WEBPACK_AGGRESSIVE_SPLITTING_PLUGIN")()},get InnerGraph(){return P(46906)},get LimitChunkCountPlugin(){return P(58287)},get MinChunkSizePlugin(){return P(63464)},get ModuleConcatenationPlugin(){return P(6864)},get RealContentHashPlugin(){return P(58097)},get RuntimeChunkPlugin(){return P(74831)},get SideEffectsFlagPlugin(){return P(22393)},get SplitChunksPlugin(){return P(52532)}},runtime:{get GetChunkFilenameRuntimeModule(){return P(92854)},get LoadScriptRuntimeModule(){return P(80431)}},prefetch:{get ChunkPrefetchPreloadPlugin(){return P(55787)}},web:{get FetchCompileAsyncWasmPlugin(){return P(50620)},get FetchCompileWasmPlugin(){return P(98851)},get JsonpChunkLoadingRuntimeModule(){return P(93385)},get JsonpTemplatePlugin(){return P(10863)}},webworker:{get WebWorkerTemplatePlugin(){return P(11115)}},node:{get NodeEnvironmentPlugin(){return P(79265)},get NodeSourcePlugin(){return P(77787)},get NodeTargetPlugin(){return P(29541)},get NodeTemplatePlugin(){return P(31494)},get ReadFileCompileWasmPlugin(){return P(84757)}},electron:{get ElectronTargetPlugin(){return P(44578)}},wasm:{get AsyncWebAssemblyModulesPlugin(){return P(30802)},get EnableWasmLoadingPlugin(){return P(21882)}},library:{get AbstractLibraryPlugin(){return P(57320)},get EnableLibraryPlugin(){return P(15267)}},container:{get ContainerPlugin(){return P(60231)},get ContainerReferencePlugin(){return P(90052)},get ModuleFederationPlugin(){return P(11330)},get scope(){return P(48029).scope}},sharing:{get ConsumeSharedPlugin(){return P(96084)},get ProvideSharedPlugin(){return P(83367)},get SharePlugin(){return P(93414)},get scope(){return P(48029).scope}},debug:{get ProfilingPlugin(){return P(97128)}},util:{get createHash(){return P(1558)},get comparators(){return P(80754)},get runtime(){return P(32681)},get serialization(){return P(56944)},get cleverMerge(){return P(34218).cachedCleverMerge},get LazySet(){return P(95259)}},get sources(){return P(51255)},experiments:{schemes:{get HttpUriPlugin(){return P(2484)}},ids:{get SyncModuleIdsPlugin(){return P(22121)}}}})},29341:function(v,E,P){"use strict";const{ConcatSource:R,PrefixSource:$,RawSource:N}=P(51255);const{RuntimeGlobals:L}=P(41708);const q=P(19063);const K=P(35600);const{getCompilationHooks:ae}=P(87885);const{generateEntryStartup:ge,updateHashForEntryStartup:be}=P(854);class ArrayPushCallbackChunkFormatPlugin{apply(v){v.hooks.thisCompilation.tap("ArrayPushCallbackChunkFormatPlugin",(v=>{v.hooks.additionalChunkRuntimeRequirements.tap("ArrayPushCallbackChunkFormatPlugin",((v,E,{chunkGraph:P})=>{if(v.hasRuntime())return;if(P.getNumberOfEntryModules(v)>0){E.add(L.onChunksLoaded);E.add(L.require)}E.add(L.chunkCallback)}));const E=ae(v);E.renderChunk.tap("ArrayPushCallbackChunkFormatPlugin",((P,ae)=>{const{chunk:be,chunkGraph:xe,runtimeTemplate:ve}=ae;const Ae=be instanceof q?be:null;const Ie=ve.globalObject;const He=new R;const Qe=xe.getChunkRuntimeModulesInOrder(be);if(Ae){const v=ve.outputOptions.hotUpdateGlobal;He.add(`${Ie}[${JSON.stringify(v)}](`);He.add(`${JSON.stringify(be.id)},`);He.add(P);if(Qe.length>0){He.add(",\n");const v=K.renderChunkRuntimeModules(Qe,ae);He.add(v)}He.add(")")}else{const q=ve.outputOptions.chunkLoadingGlobal;He.add(`(${Ie}[${JSON.stringify(q)}] = ${Ie}[${JSON.stringify(q)}] || []).push([`);He.add(`${JSON.stringify(be.ids)},`);He.add(P);const Ae=Array.from(xe.getChunkEntryModulesWithChunkGroupIterable(be));if(Qe.length>0||Ae.length>0){const P=new R((ve.supportsArrowFunction()?`${L.require} =>`:`function(${L.require})`)+" { // webpackRuntimeModules\n");if(Qe.length>0){P.add(K.renderRuntimeModules(Qe,{...ae,codeGenerationResults:v.codeGenerationResults}))}if(Ae.length>0){const v=new N(ge(xe,ve,Ae,be,true));P.add(E.renderStartup.call(v,Ae[Ae.length-1][0],{...ae,inlined:false}));if(xe.getChunkRuntimeRequirements(be).has(L.returnExportsFromRuntime)){P.add(`return ${L.exports};\n`)}}P.add("}\n");He.add(",\n");He.add(new $("/******/ ",P))}He.add("])")}return He}));E.chunkHash.tap("ArrayPushCallbackChunkFormatPlugin",((v,E,{chunkGraph:P,runtimeTemplate:R})=>{if(v.hasRuntime())return;E.update(`ArrayPushCallbackChunkFormatPlugin1${R.outputOptions.chunkLoadingGlobal}${R.outputOptions.hotUpdateGlobal}${R.globalObject}`);const $=Array.from(P.getChunkEntryModulesWithChunkGroupIterable(v));be(E,P,$,v)}))}))}}v.exports=ArrayPushCallbackChunkFormatPlugin},61122:function(v){"use strict";const E=0;const P=1;const R=2;const $=3;const N=4;const L=5;const q=6;const K=7;const ae=8;const ge=9;const be=10;const xe=11;const ve=12;const Ae=13;class BasicEvaluatedExpression{constructor(){this.type=E;this.range=undefined;this.falsy=false;this.truthy=false;this.nullish=undefined;this.sideEffects=true;this.bool=undefined;this.number=undefined;this.bigint=undefined;this.regExp=undefined;this.string=undefined;this.quasis=undefined;this.parts=undefined;this.array=undefined;this.items=undefined;this.options=undefined;this.prefix=undefined;this.postfix=undefined;this.wrappedInnerExpressions=undefined;this.identifier=undefined;this.rootInfo=undefined;this.getMembers=undefined;this.getMembersOptionals=undefined;this.getMemberRanges=undefined;this.expression=undefined}isUnknown(){return this.type===E}isNull(){return this.type===R}isUndefined(){return this.type===P}isString(){return this.type===$}isNumber(){return this.type===N}isBigInt(){return this.type===Ae}isBoolean(){return this.type===L}isRegExp(){return this.type===q}isConditional(){return this.type===K}isArray(){return this.type===ae}isConstArray(){return this.type===ge}isIdentifier(){return this.type===be}isWrapped(){return this.type===xe}isTemplateString(){return this.type===ve}isPrimitiveType(){switch(this.type){case P:case R:case $:case N:case L:case Ae:case xe:case ve:return true;case q:case ae:case ge:return false;default:return undefined}}isCompileTimeValue(){switch(this.type){case P:case R:case $:case N:case L:case q:case ge:case Ae:return true;default:return false}}asCompileTimeValue(){switch(this.type){case P:return undefined;case R:return null;case $:return this.string;case N:return this.number;case L:return this.bool;case q:return this.regExp;case ge:return this.array;case Ae:return this.bigint;default:throw new Error("asCompileTimeValue must only be called for compile-time values")}}isTruthy(){return this.truthy}isFalsy(){return this.falsy}isNullish(){return this.nullish}couldHaveSideEffects(){return this.sideEffects}asBool(){if(this.truthy)return true;if(this.falsy||this.nullish)return false;if(this.isBoolean())return this.bool;if(this.isNull())return false;if(this.isUndefined())return false;if(this.isString())return this.string!=="";if(this.isNumber())return this.number!==0;if(this.isBigInt())return this.bigint!==BigInt(0);if(this.isRegExp())return true;if(this.isArray())return true;if(this.isConstArray())return true;if(this.isWrapped()){return this.prefix&&this.prefix.asBool()||this.postfix&&this.postfix.asBool()?true:undefined}if(this.isTemplateString()){const v=this.asString();if(typeof v==="string")return v!==""}return undefined}asNullish(){const v=this.isNullish();if(v===true||this.isNull()||this.isUndefined())return true;if(v===false)return false;if(this.isTruthy())return false;if(this.isBoolean())return false;if(this.isString())return false;if(this.isNumber())return false;if(this.isBigInt())return false;if(this.isRegExp())return false;if(this.isArray())return false;if(this.isConstArray())return false;if(this.isTemplateString())return false;if(this.isRegExp())return false;return undefined}asString(){if(this.isBoolean())return`${this.bool}`;if(this.isNull())return"null";if(this.isUndefined())return"undefined";if(this.isString())return this.string;if(this.isNumber())return`${this.number}`;if(this.isBigInt())return`${this.bigint}`;if(this.isRegExp())return`${this.regExp}`;if(this.isArray()){let v=[];for(const E of this.items){const P=E.asString();if(P===undefined)return undefined;v.push(P)}return`${v}`}if(this.isConstArray())return`${this.array}`;if(this.isTemplateString()){let v="";for(const E of this.parts){const P=E.asString();if(P===undefined)return undefined;v+=P}return v}return undefined}setString(v){this.type=$;this.string=v;this.sideEffects=false;return this}setUndefined(){this.type=P;this.sideEffects=false;return this}setNull(){this.type=R;this.sideEffects=false;return this}setNumber(v){this.type=N;this.number=v;this.sideEffects=false;return this}setBigInt(v){this.type=Ae;this.bigint=v;this.sideEffects=false;return this}setBoolean(v){this.type=L;this.bool=v;this.sideEffects=false;return this}setRegExp(v){this.type=q;this.regExp=v;this.sideEffects=false;return this}setIdentifier(v,E,P,R,$){this.type=be;this.identifier=v;this.rootInfo=E;this.getMembers=P;this.getMembersOptionals=R;this.getMemberRanges=$;this.sideEffects=true;return this}setWrapped(v,E,P){this.type=xe;this.prefix=v;this.postfix=E;this.wrappedInnerExpressions=P;this.sideEffects=true;return this}setOptions(v){this.type=K;this.options=v;this.sideEffects=true;return this}addOptions(v){if(!this.options){this.type=K;this.options=[];this.sideEffects=true}for(const E of v){this.options.push(E)}return this}setItems(v){this.type=ae;this.items=v;this.sideEffects=v.some((v=>v.couldHaveSideEffects()));return this}setArray(v){this.type=ge;this.array=v;this.sideEffects=false;return this}setTemplateString(v,E,P){this.type=ve;this.quasis=v;this.parts=E;this.templateStringKind=P;this.sideEffects=E.some((v=>v.sideEffects));return this}setTruthy(){this.falsy=false;this.truthy=true;this.nullish=false;return this}setFalsy(){this.falsy=true;this.truthy=false;return this}setNullish(v){this.nullish=v;if(v)return this.setFalsy();return this}setRange(v){this.range=v;return this}setSideEffects(v=true){this.sideEffects=v;return this}setExpression(v){this.expression=v;return this}}BasicEvaluatedExpression.isValidRegExpFlags=v=>{const E=v.length;if(E===0)return true;if(E>4)return false;let P=0;for(let R=0;R{const $=new Set([v]);const N=new Set;for(const v of $){for(const R of v.chunks){if(R===E)continue;if(R===P)continue;N.add(R)}for(const E of v.parentsIterable){if(E instanceof R)$.add(E)}}return N};E.getAllChunks=getAllChunks},21292:function(v,E,P){"use strict";const{ConcatSource:R,RawSource:$}=P(51255);const N=P(75189);const L=P(35600);const{getChunkFilenameTemplate:q,getCompilationHooks:K}=P(87885);const{generateEntryStartup:ae,updateHashForEntryStartup:ge}=P(854);class CommonJsChunkFormatPlugin{apply(v){v.hooks.thisCompilation.tap("CommonJsChunkFormatPlugin",(v=>{v.hooks.additionalChunkRuntimeRequirements.tap("CommonJsChunkLoadingPlugin",((v,E,{chunkGraph:P})=>{if(v.hasRuntime())return;if(P.getNumberOfEntryModules(v)>0){E.add(N.require);E.add(N.startupEntrypoint);E.add(N.externalInstallChunk)}}));const E=K(v);E.renderChunk.tap("CommonJsChunkFormatPlugin",((P,K)=>{const{chunk:ge,chunkGraph:be,runtimeTemplate:xe}=K;const ve=new R;ve.add(`exports.id = ${JSON.stringify(ge.id)};\n`);ve.add(`exports.ids = ${JSON.stringify(ge.ids)};\n`);ve.add(`exports.modules = `);ve.add(P);ve.add(";\n");const Ae=be.getChunkRuntimeModulesInOrder(ge);if(Ae.length>0){ve.add("exports.runtime =\n");ve.add(L.renderChunkRuntimeModules(Ae,K))}const Ie=Array.from(be.getChunkEntryModulesWithChunkGroupIterable(ge));if(Ie.length>0){const P=Ie[0][1].getRuntimeChunk();const L=v.getPath(q(ge,v.outputOptions),{chunk:ge,contentHashType:"javascript"}).split("/");const Ae=v.getPath(q(P,v.outputOptions),{chunk:P,contentHashType:"javascript"}).split("/");L.pop();while(L.length>0&&Ae.length>0&&L[0]===Ae[0]){L.shift();Ae.shift()}const He=(L.length>0?"../".repeat(L.length):"./")+Ae.join("/");const Qe=new R;Qe.add(`(${xe.supportsArrowFunction()?"() => ":"function() "}{\n`);Qe.add("var exports = {};\n");Qe.add(ve);Qe.add(";\n\n// load runtime\n");Qe.add(`var ${N.require} = require(${JSON.stringify(He)});\n`);Qe.add(`${N.externalInstallChunk}(exports);\n`);const Je=new $(ae(be,xe,Ie,ge,false));Qe.add(E.renderStartup.call(Je,Ie[Ie.length-1][0],{...K,inlined:false}));Qe.add("\n})()");return Qe}return ve}));E.chunkHash.tap("CommonJsChunkFormatPlugin",((v,E,{chunkGraph:P})=>{if(v.hasRuntime())return;E.update("CommonJsChunkFormatPlugin");E.update("1");const R=Array.from(P.getChunkEntryModulesWithChunkGroupIterable(v));ge(E,P,R,v)}))}))}}v.exports=CommonJsChunkFormatPlugin},87942:function(v,E,P){"use strict";const R=new WeakMap;const getEnabledTypes=v=>{let E=R.get(v);if(E===undefined){E=new Set;R.set(v,E)}return E};class EnableChunkLoadingPlugin{constructor(v){this.type=v}static setEnabled(v,E){getEnabledTypes(v).add(E)}static checkEnabled(v,E){if(!getEnabledTypes(v).has(E)){throw new Error(`Chunk loading type "${E}" is not enabled. `+"EnableChunkLoadingPlugin need to be used to enable this type of chunk loading. "+'This usually happens through the "output.enabledChunkLoadingTypes" option. '+'If you are using a function as entry which sets "chunkLoading", you need to add all potential chunk loading types to "output.enabledChunkLoadingTypes". '+"These types are enabled: "+Array.from(getEnabledTypes(v)).join(", "))}}apply(v){const{type:E}=this;const R=getEnabledTypes(v);if(R.has(E))return;R.add(E);if(typeof E==="string"){switch(E){case"jsonp":{const E=P(8408);(new E).apply(v);break}case"import-scripts":{const E=P(63729);(new E).apply(v);break}case"require":{const E=P(15726);new E({asyncChunkLoading:false}).apply(v);break}case"async-node":{const E=P(15726);new E({asyncChunkLoading:true}).apply(v);break}case"import":{const E=P(9754);(new E).apply(v);break}case"universal":throw new Error("Universal Chunk Loading is not implemented yet");default:throw new Error(`Unsupported chunk loading type ${E}.\nPlugins which provide custom chunk loading types must call EnableChunkLoadingPlugin.setEnabled(compiler, type) to disable this error.`)}}else{}}}v.exports=EnableChunkLoadingPlugin},5634:function(v,E,P){"use strict";const R=P(73837);const{RawSource:$,ReplaceSource:N}=P(51255);const L=P(91611);const q=P(94252);const K=P(73657);const ae=R.deprecate(((v,E,P)=>v.getInitFragments(E,P)),"DependencyTemplate.getInitFragment is deprecated (use apply(dep, source, { initFragments }) instead)","DEP_WEBPACK_JAVASCRIPT_GENERATOR_GET_INIT_FRAGMENTS");const ge=new Set(["javascript"]);class JavascriptGenerator extends L{getTypes(v){return ge}getSize(v,E){const P=v.originalSource();if(!P){return 39}return P.size()}getConcatenationBailoutReason(v,E){if(!v.buildMeta||v.buildMeta.exportsType!=="namespace"||v.presentationalDependencies===undefined||!v.presentationalDependencies.some((v=>v instanceof K))){return"Module is not an ECMAScript module"}if(v.buildInfo&&v.buildInfo.moduleConcatenationBailout){return`Module uses ${v.buildInfo.moduleConcatenationBailout}`}}generate(v,E){const P=v.originalSource();if(!P){return new $("throw new Error('No source available');")}const R=new N(P);const L=[];this.sourceModule(v,L,R,E);return q.addToSource(R,L,E)}sourceModule(v,E,P,R){for(const $ of v.dependencies){this.sourceDependency(v,$,E,P,R)}if(v.presentationalDependencies!==undefined){for(const $ of v.presentationalDependencies){this.sourceDependency(v,$,E,P,R)}}for(const $ of v.blocks){this.sourceBlock(v,$,E,P,R)}}sourceBlock(v,E,P,R,$){for(const N of E.dependencies){this.sourceDependency(v,N,P,R,$)}for(const N of E.blocks){this.sourceBlock(v,N,P,R,$)}}sourceDependency(v,E,P,R,$){const N=E.constructor;const L=$.dependencyTemplates.get(N);if(!L){throw new Error("No template for dependency: "+E.constructor.name)}let q;const K={runtimeTemplate:$.runtimeTemplate,dependencyTemplates:$.dependencyTemplates,moduleGraph:$.moduleGraph,chunkGraph:$.chunkGraph,module:v,runtime:$.runtime,runtimes:$.runtimes,runtimeRequirements:$.runtimeRequirements,concatenationScope:$.concatenationScope,codeGenerationResults:$.codeGenerationResults,initFragments:P,get chunkInitFragments(){if(!q){const v=$.getData();q=v.get("chunkInitFragments");if(!q){q=[];v.set("chunkInitFragments",q)}}return q}};L.apply(E,R,K);if("getInitFragments"in L){const v=ae(L,E,K);if(v){for(const E of v){P.push(E)}}}}}v.exports=JavascriptGenerator},87885:function(v,E,P){"use strict";const{SyncWaterfallHook:R,SyncHook:$,SyncBailHook:N}=P(79846);const L=P(26144);const{ConcatSource:q,OriginalSource:K,PrefixSource:ae,RawSource:ge,CachedSource:be}=P(51255);const xe=P(92150);const{tryRunOrWebpackError:ve}=P(76498);const Ae=P(19063);const Ie=P(94252);const{JAVASCRIPT_MODULE_TYPE_AUTO:He,JAVASCRIPT_MODULE_TYPE_DYNAMIC:Qe,JAVASCRIPT_MODULE_TYPE_ESM:Je,WEBPACK_MODULE_TYPE_RUNTIME:Ve}=P(98791);const Ke=P(75189);const Ye=P(35600);const{last:Xe,someInIterable:Ze}=P(99770);const et=P(34325);const{compareModulesByIdentifier:tt}=P(80754);const nt=P(1558);const st=P(54411);const{intersectRuntime:rt}=P(32681);const ot=P(5634);const it=P(6205);const chunkHasJs=(v,E)=>{if(E.getNumberOfEntryModules(v)>0)return true;return E.getChunkModulesIterableBySourceType(v,"javascript")?true:false};const printGeneratedCodeForStack=(v,E)=>{const P=E.split("\n");const R=`${P.length}`.length;return`\n\nGenerated code for ${v.identifier()}\n${P.map(((v,E,P)=>{const $=`${E+1}`;return`${" ".repeat(R-$.length)}${$} | ${v}`})).join("\n")}`};const at=new WeakMap;const ct="JavascriptModulesPlugin";class JavascriptModulesPlugin{static getCompilationHooks(v){if(!(v instanceof xe)){throw new TypeError("The 'compilation' argument must be an instance of Compilation")}let E=at.get(v);if(E===undefined){E={renderModuleContent:new R(["source","module","renderContext"]),renderModuleContainer:new R(["source","module","renderContext"]),renderModulePackage:new R(["source","module","renderContext"]),render:new R(["source","renderContext"]),renderContent:new R(["source","renderContext"]),renderStartup:new R(["source","module","startupRenderContext"]),renderChunk:new R(["source","renderContext"]),renderMain:new R(["source","renderContext"]),renderRequire:new R(["code","renderContext"]),inlineInRuntimeBailout:new N(["module","renderContext"]),embedInRuntimeBailout:new N(["module","renderContext"]),strictRuntimeBailout:new N(["renderContext"]),chunkHash:new $(["chunk","hash","context"]),useSourceMap:new N(["chunk","renderContext"])};at.set(v,E)}return E}constructor(v={}){this.options=v;this._moduleFactoryCache=new WeakMap}apply(v){v.hooks.compilation.tap(ct,((v,{normalModuleFactory:E})=>{const P=JavascriptModulesPlugin.getCompilationHooks(v);E.hooks.createParser.for(He).tap(ct,(v=>new it("auto")));E.hooks.createParser.for(Qe).tap(ct,(v=>new it("script")));E.hooks.createParser.for(Je).tap(ct,(v=>new it("module")));E.hooks.createGenerator.for(He).tap(ct,(()=>new ot));E.hooks.createGenerator.for(Qe).tap(ct,(()=>new ot));E.hooks.createGenerator.for(Je).tap(ct,(()=>new ot));v.hooks.renderManifest.tap(ct,((E,R)=>{const{hash:$,chunk:N,chunkGraph:L,moduleGraph:q,runtimeTemplate:K,dependencyTemplates:ae,outputOptions:ge,codeGenerationResults:be}=R;const xe=N instanceof Ae?N:null;let ve;const Ie=JavascriptModulesPlugin.getChunkFilenameTemplate(N,ge);if(xe){ve=()=>this.renderChunk({chunk:N,dependencyTemplates:ae,runtimeTemplate:K,moduleGraph:q,chunkGraph:L,codeGenerationResults:be,strictMode:K.isModule()},P)}else if(N.hasRuntime()){ve=()=>this.renderMain({hash:$,chunk:N,dependencyTemplates:ae,runtimeTemplate:K,moduleGraph:q,chunkGraph:L,codeGenerationResults:be,strictMode:K.isModule()},P,v)}else{if(!chunkHasJs(N,L)){return E}ve=()=>this.renderChunk({chunk:N,dependencyTemplates:ae,runtimeTemplate:K,moduleGraph:q,chunkGraph:L,codeGenerationResults:be,strictMode:K.isModule()},P)}E.push({render:ve,filenameTemplate:Ie,pathOptions:{hash:$,runtime:N.runtime,chunk:N,contentHashType:"javascript"},info:{javascriptModule:v.runtimeTemplate.isModule()},identifier:xe?`hotupdatechunk${N.id}`:`chunk${N.id}`,hash:N.contentHash.javascript});return E}));v.hooks.chunkHash.tap(ct,((v,E,R)=>{P.chunkHash.call(v,E,R);if(v.hasRuntime()){this.updateHashWithBootstrap(E,{hash:"0000",chunk:v,codeGenerationResults:R.codeGenerationResults,chunkGraph:R.chunkGraph,moduleGraph:R.moduleGraph,runtimeTemplate:R.runtimeTemplate},P)}}));v.hooks.contentHash.tap(ct,(E=>{const{chunkGraph:R,codeGenerationResults:$,moduleGraph:N,runtimeTemplate:L,outputOptions:{hashSalt:q,hashDigest:K,hashDigestLength:ae,hashFunction:ge}}=v;const be=nt(ge);if(q)be.update(q);if(E.hasRuntime()){this.updateHashWithBootstrap(be,{hash:"0000",chunk:E,codeGenerationResults:$,chunkGraph:v.chunkGraph,moduleGraph:v.moduleGraph,runtimeTemplate:v.runtimeTemplate},P)}else{be.update(`${E.id} `);be.update(E.ids?E.ids.join(","):"")}P.chunkHash.call(E,be,{chunkGraph:R,codeGenerationResults:$,moduleGraph:N,runtimeTemplate:L});const xe=R.getChunkModulesIterableBySourceType(E,"javascript");if(xe){const v=new et;for(const P of xe){v.add(R.getModuleHash(P,E.runtime))}v.updateHash(be)}const ve=R.getChunkModulesIterableBySourceType(E,Ve);if(ve){const v=new et;for(const P of ve){v.add(R.getModuleHash(P,E.runtime))}v.updateHash(be)}const Ae=be.digest(K);E.contentHash.javascript=st(Ae,ae)}));v.hooks.additionalTreeRuntimeRequirements.tap(ct,((v,E,{chunkGraph:P})=>{if(!E.has(Ke.startupNoDefault)&&P.hasChunkEntryDependentChunks(v)){E.add(Ke.onChunksLoaded);E.add(Ke.require)}}));v.hooks.executeModule.tap(ct,((v,E)=>{const P=v.codeGenerationResult.sources.get("javascript");if(P===undefined)return;const{module:R,moduleObject:$}=v;const N=P.source();const q=L.runInThisContext(`(function(${R.moduleArgument}, ${R.exportsArgument}, ${Ke.require}) {\n${N}\n/**/})`,{filename:R.identifier(),lineOffset:-1});try{q.call($.exports,$,$.exports,E.__webpack_require__)}catch(E){E.stack+=printGeneratedCodeForStack(v.module,N);throw E}}));v.hooks.executeModule.tap(ct,((v,E)=>{const P=v.codeGenerationResult.sources.get("runtime");if(P===undefined)return;let R=P.source();if(typeof R!=="string")R=R.toString();const $=L.runInThisContext(`(function(${Ke.require}) {\n${R}\n/**/})`,{filename:v.module.identifier(),lineOffset:-1});try{$.call(null,E.__webpack_require__)}catch(E){E.stack+=printGeneratedCodeForStack(v.module,R);throw E}}))}))}static getChunkFilenameTemplate(v,E){if(v.filenameTemplate){return v.filenameTemplate}else if(v instanceof Ae){return E.hotUpdateChunkFilename}else if(v.canBeInitial()){return E.filename}else{return E.chunkFilename}}renderModule(v,E,P,R){const{chunk:$,chunkGraph:N,runtimeTemplate:L,codeGenerationResults:K,strictMode:ae}=E;try{const ge=K.get(v,$.runtime);const xe=ge.sources.get("javascript");if(!xe)return null;if(ge.data!==undefined){const v=ge.data.get("chunkInitFragments");if(v){for(const P of v)E.chunkInitFragments.push(P)}}const Ae=ve((()=>P.renderModuleContent.call(xe,v,E)),"JavascriptModulesPlugin.getCompilationHooks().renderModuleContent");let Ie;if(R){const R=N.getModuleRuntimeRequirements(v,$.runtime);const K=R.has(Ke.module);const ge=R.has(Ke.exports);const xe=R.has(Ke.require)||R.has(Ke.requireScope);const He=R.has(Ke.thisAsExports);const Qe=v.buildInfo.strict&&!ae;const Je=this._moduleFactoryCache.get(Ae);let Ve;if(Je&&Je.needModule===K&&Je.needExports===ge&&Je.needRequire===xe&&Je.needThisAsExports===He&&Je.needStrict===Qe){Ve=Je.source}else{const E=new q;const P=[];if(ge||xe||K)P.push(K?v.moduleArgument:"__unused_webpack_"+v.moduleArgument);if(ge||xe)P.push(ge?v.exportsArgument:"__unused_webpack_"+v.exportsArgument);if(xe)P.push(Ke.require);if(!He&&L.supportsArrowFunction()){E.add("/***/ (("+P.join(", ")+") => {\n\n")}else{E.add("/***/ (function("+P.join(", ")+") {\n\n")}if(Qe){E.add('"use strict";\n')}E.add(Ae);E.add("\n\n/***/ })");Ve=new be(E);this._moduleFactoryCache.set(Ae,{source:Ve,needModule:K,needExports:ge,needRequire:xe,needThisAsExports:He,needStrict:Qe})}Ie=ve((()=>P.renderModuleContainer.call(Ve,v,E)),"JavascriptModulesPlugin.getCompilationHooks().renderModuleContainer")}else{Ie=Ae}return ve((()=>P.renderModulePackage.call(Ie,v,E)),"JavascriptModulesPlugin.getCompilationHooks().renderModulePackage")}catch(E){E.module=v;throw E}}renderChunk(v,E){const{chunk:P,chunkGraph:R}=v;const $=R.getOrderedChunkModulesIterableBySourceType(P,"javascript",tt);const N=$?Array.from($):[];let L;let K=v.strictMode;if(!K&&N.every((v=>v.buildInfo.strict))){const P=E.strictRuntimeBailout.call(v);L=P?`// runtime can't be in strict mode because ${P}.\n`:'"use strict";\n';if(!P)K=true}const ae={...v,chunkInitFragments:[],strictMode:K};const be=Ye.renderChunkModules(ae,N,(v=>this.renderModule(v,ae,E,true)))||new ge("{}");let xe=ve((()=>E.renderChunk.call(be,ae)),"JavascriptModulesPlugin.getCompilationHooks().renderChunk");xe=ve((()=>E.renderContent.call(xe,ae)),"JavascriptModulesPlugin.getCompilationHooks().renderContent");if(!xe){throw new Error("JavascriptModulesPlugin error: JavascriptModulesPlugin.getCompilationHooks().renderContent plugins should return something")}xe=Ie.addToSource(xe,ae.chunkInitFragments,ae);xe=ve((()=>E.render.call(xe,ae)),"JavascriptModulesPlugin.getCompilationHooks().render");if(!xe){throw new Error("JavascriptModulesPlugin error: JavascriptModulesPlugin.getCompilationHooks().render plugins should return something")}P.rendered=true;return L?new q(L,xe,";"):v.runtimeTemplate.isModule()?xe:new q(xe,";")}renderMain(v,E,P){const{chunk:R,chunkGraph:$,runtimeTemplate:N}=v;const L=$.getTreeRuntimeRequirements(R);const be=N.isIIFE();const xe=this.renderBootstrap(v,E);const Ae=E.useSourceMap.call(R,v);const He=Array.from($.getOrderedChunkModulesIterableBySourceType(R,"javascript",tt)||[]);const Qe=$.getNumberOfEntryModules(R)>0;let Je;if(xe.allowInlineStartup&&Qe){Je=new Set($.getChunkEntryModulesIterable(R))}let Ve=new q;let Ze;if(be){if(N.supportsArrowFunction()){Ve.add("/******/ (() => { // webpackBootstrap\n")}else{Ve.add("/******/ (function() { // webpackBootstrap\n")}Ze="/******/ \t"}else{Ze="/******/ "}let et=v.strictMode;if(!et&&He.every((v=>v.buildInfo.strict))){const P=E.strictRuntimeBailout.call(v);if(P){Ve.add(Ze+`// runtime can't be in strict mode because ${P}.\n`)}else{et=true;Ve.add(Ze+'"use strict";\n')}}const nt={...v,chunkInitFragments:[],strictMode:et};const st=Ye.renderChunkModules(nt,Je?He.filter((v=>!Je.has(v))):He,(v=>this.renderModule(v,nt,E,true)),Ze);if(st||L.has(Ke.moduleFactories)||L.has(Ke.moduleFactoriesAddOnly)||L.has(Ke.require)){Ve.add(Ze+"var __webpack_modules__ = (");Ve.add(st||"{}");Ve.add(");\n");Ve.add("/************************************************************************/\n")}if(xe.header.length>0){const v=Ye.asString(xe.header)+"\n";Ve.add(new ae(Ze,Ae?new K(v,"webpack/bootstrap"):new ge(v)));Ve.add("/************************************************************************/\n")}const rt=v.chunkGraph.getChunkRuntimeModulesInOrder(R);if(rt.length>0){Ve.add(new ae(Ze,Ye.renderRuntimeModules(rt,nt)));Ve.add("/************************************************************************/\n");for(const v of rt){P.codeGeneratedModules.add(v)}}if(Je){if(xe.beforeStartup.length>0){const v=Ye.asString(xe.beforeStartup)+"\n";Ve.add(new ae(Ze,Ae?new K(v,"webpack/before-startup"):new ge(v)))}const P=Xe(Je);const be=new q;be.add(`var ${Ke.exports} = {};\n`);for(const L of Je){const q=this.renderModule(L,nt,E,false);if(q){const K=!et&&L.buildInfo.strict;const ae=$.getModuleRuntimeRequirements(L,R.runtime);const ge=ae.has(Ke.exports);const xe=ge&&L.exportsArgument===Ke.exports;let ve=K?"it need to be in strict mode.":Je.size>1?"it need to be isolated against other entry modules.":st?"it need to be isolated against other modules in the chunk.":ge&&!xe?`it uses a non-standard name for the exports (${L.exportsArgument}).`:E.embedInRuntimeBailout.call(L,v);let Ae;if(ve!==undefined){be.add(`// This entry need to be wrapped in an IIFE because ${ve}\n`);const v=N.supportsArrowFunction();if(v){be.add("(() => {\n");Ae="\n})();\n\n"}else{be.add("!function() {\n");Ae="\n}();\n"}if(K)be.add('"use strict";\n')}else{Ae="\n"}if(ge){if(L!==P)be.add(`var ${L.exportsArgument} = {};\n`);else if(L.exportsArgument!==Ke.exports)be.add(`var ${L.exportsArgument} = ${Ke.exports};\n`)}be.add(q);be.add(Ae)}}if(L.has(Ke.onChunksLoaded)){be.add(`${Ke.exports} = ${Ke.onChunksLoaded}(${Ke.exports});\n`)}Ve.add(E.renderStartup.call(be,P,{...v,inlined:true}));if(xe.afterStartup.length>0){const v=Ye.asString(xe.afterStartup)+"\n";Ve.add(new ae(Ze,Ae?new K(v,"webpack/after-startup"):new ge(v)))}}else{const P=Xe($.getChunkEntryModulesIterable(R));const N=Ae?(v,E)=>new K(Ye.asString(v),E):v=>new ge(Ye.asString(v));Ve.add(new ae(Ze,new q(N(xe.beforeStartup,"webpack/before-startup"),"\n",E.renderStartup.call(N(xe.startup.concat(""),"webpack/startup"),P,{...v,inlined:false}),N(xe.afterStartup,"webpack/after-startup"),"\n")))}if(Qe&&L.has(Ke.returnExportsFromRuntime)){Ve.add(`${Ze}return ${Ke.exports};\n`)}if(be){Ve.add("/******/ })()\n")}let ot=ve((()=>E.renderMain.call(Ve,v)),"JavascriptModulesPlugin.getCompilationHooks().renderMain");if(!ot){throw new Error("JavascriptModulesPlugin error: JavascriptModulesPlugin.getCompilationHooks().renderMain plugins should return something")}ot=ve((()=>E.renderContent.call(ot,v)),"JavascriptModulesPlugin.getCompilationHooks().renderContent");if(!ot){throw new Error("JavascriptModulesPlugin error: JavascriptModulesPlugin.getCompilationHooks().renderContent plugins should return something")}ot=Ie.addToSource(ot,nt.chunkInitFragments,nt);ot=ve((()=>E.render.call(ot,v)),"JavascriptModulesPlugin.getCompilationHooks().render");if(!ot){throw new Error("JavascriptModulesPlugin error: JavascriptModulesPlugin.getCompilationHooks().render plugins should return something")}R.rendered=true;return be?new q(ot,";"):ot}updateHashWithBootstrap(v,E,P){const R=this.renderBootstrap(E,P);for(const E of Object.keys(R)){v.update(E);if(Array.isArray(R[E])){for(const P of R[E]){v.update(P)}}else{v.update(JSON.stringify(R[E]))}}}renderBootstrap(v,E){const{chunkGraph:P,codeGenerationResults:R,moduleGraph:$,chunk:N,runtimeTemplate:L}=v;const q=P.getTreeRuntimeRequirements(N);const K=q.has(Ke.require);const ae=q.has(Ke.moduleCache);const ge=q.has(Ke.moduleFactories);const be=q.has(Ke.module);const xe=q.has(Ke.requireScope);const ve=q.has(Ke.interceptModuleExecution);const Ae=K||ve||be;const Ie={header:[],beforeStartup:[],startup:[],afterStartup:[],allowInlineStartup:true};let{header:He,startup:Qe,beforeStartup:Je,afterStartup:Ve}=Ie;if(Ie.allowInlineStartup&&ge){Qe.push("// module factories are used so entry inlining is disabled");Ie.allowInlineStartup=false}if(Ie.allowInlineStartup&&ae){Qe.push("// module cache are used so entry inlining is disabled");Ie.allowInlineStartup=false}if(Ie.allowInlineStartup&&ve){Qe.push("// module execution is intercepted so entry inlining is disabled");Ie.allowInlineStartup=false}if(Ae||ae){He.push("// The module cache");He.push("var __webpack_module_cache__ = {};");He.push("")}if(Ae){He.push("// The require function");He.push(`function ${Ke.require}(moduleId) {`);He.push(Ye.indent(this.renderRequire(v,E)));He.push("}");He.push("")}else if(q.has(Ke.requireScope)){He.push("// The require scope");He.push(`var ${Ke.require} = {};`);He.push("")}if(ge||q.has(Ke.moduleFactoriesAddOnly)){He.push("// expose the modules object (__webpack_modules__)");He.push(`${Ke.moduleFactories} = __webpack_modules__;`);He.push("")}if(ae){He.push("// expose the module cache");He.push(`${Ke.moduleCache} = __webpack_module_cache__;`);He.push("")}if(ve){He.push("// expose the module execution interceptor");He.push(`${Ke.interceptModuleExecution} = [];`);He.push("")}if(!q.has(Ke.startupNoDefault)){if(P.getNumberOfEntryModules(N)>0){const q=[];const K=P.getTreeRuntimeRequirements(N);q.push("// Load entry module and return exports");let ae=P.getNumberOfEntryModules(N);for(const[ge,be]of P.getChunkEntryModulesWithChunkGroupIterable(N)){const ve=be.chunks.filter((v=>v!==N));if(Ie.allowInlineStartup&&ve.length>0){q.push("// This entry module depends on other loaded chunks and execution need to be delayed");Ie.allowInlineStartup=false}if(Ie.allowInlineStartup&&Ze($.getIncomingConnectionsByOriginModule(ge),(([v,E])=>v&&E.some((v=>v.isTargetActive(N.runtime)))&&Ze(P.getModuleRuntimes(v),(v=>rt(v,N.runtime)!==undefined))))){q.push("// This entry module is referenced by other modules so it can't be inlined");Ie.allowInlineStartup=false}let He;if(R.has(ge,N.runtime)){const v=R.get(ge,N.runtime);He=v.data}if(Ie.allowInlineStartup&&(!He||!He.get("topLevelDeclarations"))&&(!ge.buildInfo||!ge.buildInfo.topLevelDeclarations)){q.push("// This entry module doesn't tell about it's top-level declarations so it can't be inlined");Ie.allowInlineStartup=false}if(Ie.allowInlineStartup){const P=E.inlineInRuntimeBailout.call(ge,v);if(P!==undefined){q.push(`// This entry module can't be inlined because ${P}`);Ie.allowInlineStartup=false}}ae--;const Qe=P.getModuleId(ge);const Je=P.getModuleRuntimeRequirements(ge,N.runtime);let Ve=JSON.stringify(Qe);if(K.has(Ke.entryModuleId)){Ve=`${Ke.entryModuleId} = ${Ve}`}if(Ie.allowInlineStartup&&Je.has(Ke.module)){Ie.allowInlineStartup=false;q.push("// This entry module used 'module' so it can't be inlined")}if(ve.length>0){q.push(`${ae===0?`var ${Ke.exports} = `:""}${Ke.onChunksLoaded}(undefined, ${JSON.stringify(ve.map((v=>v.id)))}, ${L.returningFunction(`${Ke.require}(${Ve})`)})`)}else if(Ae){q.push(`${ae===0?`var ${Ke.exports} = `:""}${Ke.require}(${Ve});`)}else{if(ae===0)q.push(`var ${Ke.exports} = {};`);if(xe){q.push(`__webpack_modules__[${Ve}](0, ${ae===0?Ke.exports:"{}"}, ${Ke.require});`)}else if(Je.has(Ke.exports)){q.push(`__webpack_modules__[${Ve}](0, ${ae===0?Ke.exports:"{}"});`)}else{q.push(`__webpack_modules__[${Ve}]();`)}}}if(K.has(Ke.onChunksLoaded)){q.push(`${Ke.exports} = ${Ke.onChunksLoaded}(${Ke.exports});`)}if(K.has(Ke.startup)||K.has(Ke.startupOnlyBefore)&&K.has(Ke.startupOnlyAfter)){Ie.allowInlineStartup=false;He.push("// the startup function");He.push(`${Ke.startup} = ${L.basicFunction("",[...q,`return ${Ke.exports};`])};`);He.push("");Qe.push("// run startup");Qe.push(`var ${Ke.exports} = ${Ke.startup}();`)}else if(K.has(Ke.startupOnlyBefore)){He.push("// the startup function");He.push(`${Ke.startup} = ${L.emptyFunction()};`);Je.push("// run runtime startup");Je.push(`${Ke.startup}();`);Qe.push("// startup");Qe.push(Ye.asString(q))}else if(K.has(Ke.startupOnlyAfter)){He.push("// the startup function");He.push(`${Ke.startup} = ${L.emptyFunction()};`);Qe.push("// startup");Qe.push(Ye.asString(q));Ve.push("// run runtime startup");Ve.push(`${Ke.startup}();`)}else{Qe.push("// startup");Qe.push(Ye.asString(q))}}else if(q.has(Ke.startup)||q.has(Ke.startupOnlyBefore)||q.has(Ke.startupOnlyAfter)){He.push("// the startup function","// It's empty as no entry modules are in this chunk",`${Ke.startup} = ${L.emptyFunction()};`,"")}}else if(q.has(Ke.startup)||q.has(Ke.startupOnlyBefore)||q.has(Ke.startupOnlyAfter)){Ie.allowInlineStartup=false;He.push("// the startup function","// It's empty as some runtime module handles the default behavior",`${Ke.startup} = ${L.emptyFunction()};`);Qe.push("// run startup");Qe.push(`var ${Ke.exports} = ${Ke.startup}();`)}return Ie}renderRequire(v,E){const{chunk:P,chunkGraph:R,runtimeTemplate:{outputOptions:$}}=v;const N=R.getTreeRuntimeRequirements(P);const L=N.has(Ke.interceptModuleExecution)?Ye.asString([`var execOptions = { id: moduleId, module: module, factory: __webpack_modules__[moduleId], require: ${Ke.require} };`,`${Ke.interceptModuleExecution}.forEach(function(handler) { handler(execOptions); });`,"module = execOptions.module;","execOptions.factory.call(module.exports, module, module.exports, execOptions.require);"]):N.has(Ke.thisAsExports)?Ye.asString([`__webpack_modules__[moduleId].call(module.exports, module, module.exports, ${Ke.require});`]):Ye.asString([`__webpack_modules__[moduleId](module, module.exports, ${Ke.require});`]);const q=N.has(Ke.moduleId);const K=N.has(Ke.moduleLoaded);const ae=Ye.asString(["// Check if module is in cache","var cachedModule = __webpack_module_cache__[moduleId];","if (cachedModule !== undefined) {",$.strictModuleErrorHandling?Ye.indent(["if (cachedModule.error !== undefined) throw cachedModule.error;","return cachedModule.exports;"]):Ye.indent("return cachedModule.exports;"),"}","// Create a new module (and put it into the cache)","var module = __webpack_module_cache__[moduleId] = {",Ye.indent([q?"id: moduleId,":"// no module.id needed",K?"loaded: false,":"// no module.loaded needed","exports: {}"]),"};","",$.strictModuleExceptionHandling?Ye.asString(["// Execute the module function","var threw = true;","try {",Ye.indent([L,"threw = false;"]),"} finally {",Ye.indent(["if(threw) delete __webpack_module_cache__[moduleId];"]),"}"]):$.strictModuleErrorHandling?Ye.asString(["// Execute the module function","try {",Ye.indent(L),"} catch(e) {",Ye.indent(["module.error = e;","throw e;"]),"}"]):Ye.asString(["// Execute the module function",L]),K?Ye.asString(["","// Flag the module as loaded",`${Ke.moduleLoaded} = true;`,""]):"","// Return the exports of the module","return module.exports;"]);return ve((()=>E.renderRequire.call(ae,v)),"JavascriptModulesPlugin.getCompilationHooks().renderRequire")}}v.exports=JavascriptModulesPlugin;v.exports.chunkHasJs=chunkHasJs},6205:function(v,E,P){"use strict";const{Parser:R}=P(31988);const{importAssertions:$}=P(4411);const{SyncBailHook:N,HookMap:L}=P(79846);const q=P(26144);const K=P(40766);const ae=P(83965);const ge=P(45155);const be=P(49584);const xe=P(61122);const ve=[];const Ae=1;const Ie=2;const He=3;const Qe=R.extend($);class VariableInfo{constructor(v,E,P){this.declaredScope=v;this.freeName=E;this.tagInfo=P}}const joinRanges=(v,E)=>{if(!E)return v;if(!v)return E;return[v[0],E[1]]};const objectAndMembersToName=(v,E)=>{let P=v;for(let v=E.length-1;v>=0;v--){P=P+"."+E[v]}return P};const getRootName=v=>{switch(v.type){case"Identifier":return v.name;case"ThisExpression":return"this";case"MetaProperty":return`${v.meta.name}.${v.property.name}`;default:return undefined}};const Je={ranges:true,locations:true,ecmaVersion:"latest",sourceType:"module",allowHashBang:true,onComment:null};const Ve=new RegExp(/(^|\W)webpack[A-Z]{1,}[A-Za-z]{1,}:/);const Ke={options:null,errors:null};class JavascriptParser extends K{constructor(v="auto"){super();this.hooks=Object.freeze({evaluateTypeof:new L((()=>new N(["expression"]))),evaluate:new L((()=>new N(["expression"]))),evaluateIdentifier:new L((()=>new N(["expression"]))),evaluateDefinedIdentifier:new L((()=>new N(["expression"]))),evaluateNewExpression:new L((()=>new N(["expression"]))),evaluateCallExpression:new L((()=>new N(["expression"]))),evaluateCallExpressionMember:new L((()=>new N(["expression","param"]))),isPure:new L((()=>new N(["expression","commentsStartPosition"]))),preStatement:new N(["statement"]),blockPreStatement:new N(["declaration"]),statement:new N(["statement"]),statementIf:new N(["statement"]),classExtendsExpression:new N(["expression","classDefinition"]),classBodyElement:new N(["element","classDefinition"]),classBodyValue:new N(["expression","element","classDefinition"]),label:new L((()=>new N(["statement"]))),import:new N(["statement","source"]),importSpecifier:new N(["statement","source","exportName","identifierName"]),export:new N(["statement"]),exportImport:new N(["statement","source"]),exportDeclaration:new N(["statement","declaration"]),exportExpression:new N(["statement","declaration"]),exportSpecifier:new N(["statement","identifierName","exportName","index"]),exportImportSpecifier:new N(["statement","source","identifierName","exportName","index"]),preDeclarator:new N(["declarator","statement"]),declarator:new N(["declarator","statement"]),varDeclaration:new L((()=>new N(["declaration"]))),varDeclarationLet:new L((()=>new N(["declaration"]))),varDeclarationConst:new L((()=>new N(["declaration"]))),varDeclarationVar:new L((()=>new N(["declaration"]))),pattern:new L((()=>new N(["pattern"]))),canRename:new L((()=>new N(["initExpression"]))),rename:new L((()=>new N(["initExpression"]))),assign:new L((()=>new N(["expression"]))),assignMemberChain:new L((()=>new N(["expression","members"]))),typeof:new L((()=>new N(["expression"]))),importCall:new N(["expression"]),topLevelAwait:new N(["expression"]),call:new L((()=>new N(["expression"]))),callMemberChain:new L((()=>new N(["expression","members","membersOptionals","memberRanges"]))),memberChainOfCallMemberChain:new L((()=>new N(["expression","calleeMembers","callExpression","members","memberRanges"]))),callMemberChainOfCallMemberChain:new L((()=>new N(["expression","calleeMembers","innerCallExpression","members","memberRanges"]))),optionalChaining:new N(["optionalChaining"]),new:new L((()=>new N(["expression"]))),binaryExpression:new N(["binaryExpression"]),expression:new L((()=>new N(["expression"]))),expressionMemberChain:new L((()=>new N(["expression","members","membersOptionals","memberRanges"]))),unhandledExpressionMemberChain:new L((()=>new N(["expression","members"]))),expressionConditionalOperator:new N(["expression"]),expressionLogicalOperator:new N(["expression"]),program:new N(["ast","comments"]),finish:new N(["ast","comments"])});this.sourceType=v;this.scope=undefined;this.state=undefined;this.comments=undefined;this.semicolons=undefined;this.statementPath=undefined;this.prevStatement=undefined;this.destructuringAssignmentProperties=undefined;this.currentTagData=undefined;this._initializeEvaluating()}_initializeEvaluating(){this.hooks.evaluate.for("Literal").tap("JavascriptParser",(v=>{const E=v;switch(typeof E.value){case"number":return(new xe).setNumber(E.value).setRange(E.range);case"bigint":return(new xe).setBigInt(E.value).setRange(E.range);case"string":return(new xe).setString(E.value).setRange(E.range);case"boolean":return(new xe).setBoolean(E.value).setRange(E.range)}if(E.value===null){return(new xe).setNull().setRange(E.range)}if(E.value instanceof RegExp){return(new xe).setRegExp(E.value).setRange(E.range)}}));this.hooks.evaluate.for("NewExpression").tap("JavascriptParser",(v=>{const E=v;const P=E.callee;if(P.type!=="Identifier")return;if(P.name!=="RegExp"){return this.callHooksForName(this.hooks.evaluateNewExpression,P.name,E)}else if(E.arguments.length>2||this.getVariableInfo("RegExp")!=="RegExp")return;let R,$;const N=E.arguments[0];if(N){if(N.type==="SpreadElement")return;const v=this.evaluateExpression(N);if(!v)return;R=v.asString();if(!R)return}else{return(new xe).setRegExp(new RegExp("")).setRange(E.range)}const L=E.arguments[1];if(L){if(L.type==="SpreadElement")return;const v=this.evaluateExpression(L);if(!v)return;if(!v.isUndefined()){$=v.asString();if($===undefined||!xe.isValidRegExpFlags($))return}}return(new xe).setRegExp($?new RegExp(R,$):new RegExp(R)).setRange(E.range)}));this.hooks.evaluate.for("LogicalExpression").tap("JavascriptParser",(v=>{const E=v;const P=this.evaluateExpression(E.left);let R=false;let $;if(E.operator==="&&"){const v=P.asBool();if(v===false)return P.setRange(E.range);R=v===true;$=false}else if(E.operator==="||"){const v=P.asBool();if(v===true)return P.setRange(E.range);R=v===false;$=true}else if(E.operator==="??"){const v=P.asNullish();if(v===false)return P.setRange(E.range);if(v!==true)return;R=true}else return;const N=this.evaluateExpression(E.right);if(R){if(P.couldHaveSideEffects())N.setSideEffects();return N.setRange(E.range)}const L=N.asBool();if($===true&&L===true){return(new xe).setRange(E.range).setTruthy()}else if($===false&&L===false){return(new xe).setRange(E.range).setFalsy()}}));const valueAsExpression=(v,E,P)=>{switch(typeof v){case"boolean":return(new xe).setBoolean(v).setSideEffects(P).setRange(E.range);case"number":return(new xe).setNumber(v).setSideEffects(P).setRange(E.range);case"bigint":return(new xe).setBigInt(v).setSideEffects(P).setRange(E.range);case"string":return(new xe).setString(v).setSideEffects(P).setRange(E.range)}};this.hooks.evaluate.for("BinaryExpression").tap("JavascriptParser",(v=>{const E=v;const handleConstOperation=v=>{const P=this.evaluateExpression(E.left);if(!P.isCompileTimeValue())return;const R=this.evaluateExpression(E.right);if(!R.isCompileTimeValue())return;const $=v(P.asCompileTimeValue(),R.asCompileTimeValue());return valueAsExpression($,E,P.couldHaveSideEffects()||R.couldHaveSideEffects())};const isAlwaysDifferent=(v,E)=>v===true&&E===false||v===false&&E===true;const handleTemplateStringCompare=(v,E,P,R)=>{const getPrefix=v=>{let E="";for(const P of v){const v=P.asString();if(v!==undefined)E+=v;else break}return E};const getSuffix=v=>{let E="";for(let P=v.length-1;P>=0;P--){const R=v[P].asString();if(R!==undefined)E=R+E;else break}return E};const $=getPrefix(v.parts);const N=getPrefix(E.parts);const L=getSuffix(v.parts);const q=getSuffix(E.parts);const K=Math.min($.length,N.length);const ae=Math.min(L.length,q.length);const ge=K>0&&$.slice(0,K)!==N.slice(0,K);const be=ae>0&&L.slice(-ae)!==q.slice(-ae);if(ge||be){return P.setBoolean(!R).setSideEffects(v.couldHaveSideEffects()||E.couldHaveSideEffects())}};const handleStrictEqualityComparison=v=>{const P=this.evaluateExpression(E.left);const R=this.evaluateExpression(E.right);const $=new xe;$.setRange(E.range);const N=P.isCompileTimeValue();const L=R.isCompileTimeValue();if(N&&L){return $.setBoolean(v===(P.asCompileTimeValue()===R.asCompileTimeValue())).setSideEffects(P.couldHaveSideEffects()||R.couldHaveSideEffects())}if(P.isArray()&&R.isArray()){return $.setBoolean(!v).setSideEffects(P.couldHaveSideEffects()||R.couldHaveSideEffects())}if(P.isTemplateString()&&R.isTemplateString()){return handleTemplateStringCompare(P,R,$,v)}const q=P.isPrimitiveType();const K=R.isPrimitiveType();if(q===false&&(N||K===true)||K===false&&(L||q===true)||isAlwaysDifferent(P.asBool(),R.asBool())||isAlwaysDifferent(P.asNullish(),R.asNullish())){return $.setBoolean(!v).setSideEffects(P.couldHaveSideEffects()||R.couldHaveSideEffects())}};const handleAbstractEqualityComparison=v=>{const P=this.evaluateExpression(E.left);const R=this.evaluateExpression(E.right);const $=new xe;$.setRange(E.range);const N=P.isCompileTimeValue();const L=R.isCompileTimeValue();if(N&&L){return $.setBoolean(v===(P.asCompileTimeValue()==R.asCompileTimeValue())).setSideEffects(P.couldHaveSideEffects()||R.couldHaveSideEffects())}if(P.isArray()&&R.isArray()){return $.setBoolean(!v).setSideEffects(P.couldHaveSideEffects()||R.couldHaveSideEffects())}if(P.isTemplateString()&&R.isTemplateString()){return handleTemplateStringCompare(P,R,$,v)}};if(E.operator==="+"){const v=this.evaluateExpression(E.left);const P=this.evaluateExpression(E.right);const R=new xe;if(v.isString()){if(P.isString()){R.setString(v.string+P.string)}else if(P.isNumber()){R.setString(v.string+P.number)}else if(P.isWrapped()&&P.prefix&&P.prefix.isString()){R.setWrapped((new xe).setString(v.string+P.prefix.string).setRange(joinRanges(v.range,P.prefix.range)),P.postfix,P.wrappedInnerExpressions)}else if(P.isWrapped()){R.setWrapped(v,P.postfix,P.wrappedInnerExpressions)}else{R.setWrapped(v,null,[P])}}else if(v.isNumber()){if(P.isString()){R.setString(v.number+P.string)}else if(P.isNumber()){R.setNumber(v.number+P.number)}else{return}}else if(v.isBigInt()){if(P.isBigInt()){R.setBigInt(v.bigint+P.bigint)}}else if(v.isWrapped()){if(v.postfix&&v.postfix.isString()&&P.isString()){R.setWrapped(v.prefix,(new xe).setString(v.postfix.string+P.string).setRange(joinRanges(v.postfix.range,P.range)),v.wrappedInnerExpressions)}else if(v.postfix&&v.postfix.isString()&&P.isNumber()){R.setWrapped(v.prefix,(new xe).setString(v.postfix.string+P.number).setRange(joinRanges(v.postfix.range,P.range)),v.wrappedInnerExpressions)}else if(P.isString()){R.setWrapped(v.prefix,P,v.wrappedInnerExpressions)}else if(P.isNumber()){R.setWrapped(v.prefix,(new xe).setString(P.number+"").setRange(P.range),v.wrappedInnerExpressions)}else if(P.isWrapped()){R.setWrapped(v.prefix,P.postfix,v.wrappedInnerExpressions&&P.wrappedInnerExpressions&&v.wrappedInnerExpressions.concat(v.postfix?[v.postfix]:[]).concat(P.prefix?[P.prefix]:[]).concat(P.wrappedInnerExpressions))}else{R.setWrapped(v.prefix,null,v.wrappedInnerExpressions&&v.wrappedInnerExpressions.concat(v.postfix?[v.postfix,P]:[P]))}}else{if(P.isString()){R.setWrapped(null,P,[v])}else if(P.isWrapped()){R.setWrapped(null,P.postfix,P.wrappedInnerExpressions&&(P.prefix?[v,P.prefix]:[v]).concat(P.wrappedInnerExpressions))}else{return}}if(v.couldHaveSideEffects()||P.couldHaveSideEffects())R.setSideEffects();R.setRange(E.range);return R}else if(E.operator==="-"){return handleConstOperation(((v,E)=>v-E))}else if(E.operator==="*"){return handleConstOperation(((v,E)=>v*E))}else if(E.operator==="/"){return handleConstOperation(((v,E)=>v/E))}else if(E.operator==="**"){return handleConstOperation(((v,E)=>v**E))}else if(E.operator==="==="){return handleStrictEqualityComparison(true)}else if(E.operator==="=="){return handleAbstractEqualityComparison(true)}else if(E.operator==="!=="){return handleStrictEqualityComparison(false)}else if(E.operator==="!="){return handleAbstractEqualityComparison(false)}else if(E.operator==="&"){return handleConstOperation(((v,E)=>v&E))}else if(E.operator==="|"){return handleConstOperation(((v,E)=>v|E))}else if(E.operator==="^"){return handleConstOperation(((v,E)=>v^E))}else if(E.operator===">>>"){return handleConstOperation(((v,E)=>v>>>E))}else if(E.operator===">>"){return handleConstOperation(((v,E)=>v>>E))}else if(E.operator==="<<"){return handleConstOperation(((v,E)=>v<v"){return handleConstOperation(((v,E)=>v>E))}else if(E.operator==="<="){return handleConstOperation(((v,E)=>v<=E))}else if(E.operator===">="){return handleConstOperation(((v,E)=>v>=E))}}));this.hooks.evaluate.for("UnaryExpression").tap("JavascriptParser",(v=>{const E=v;const handleConstOperation=v=>{const P=this.evaluateExpression(E.argument);if(!P.isCompileTimeValue())return;const R=v(P.asCompileTimeValue());return valueAsExpression(R,E,P.couldHaveSideEffects())};if(E.operator==="typeof"){switch(E.argument.type){case"Identifier":{const v=this.callHooksForName(this.hooks.evaluateTypeof,E.argument.name,E);if(v!==undefined)return v;break}case"MetaProperty":{const v=this.callHooksForName(this.hooks.evaluateTypeof,getRootName(E.argument),E);if(v!==undefined)return v;break}case"MemberExpression":{const v=this.callHooksForExpression(this.hooks.evaluateTypeof,E.argument,E);if(v!==undefined)return v;break}case"ChainExpression":{const v=this.callHooksForExpression(this.hooks.evaluateTypeof,E.argument.expression,E);if(v!==undefined)return v;break}case"FunctionExpression":{return(new xe).setString("function").setRange(E.range)}}const v=this.evaluateExpression(E.argument);if(v.isUnknown())return;if(v.isString()){return(new xe).setString("string").setRange(E.range)}if(v.isWrapped()){return(new xe).setString("string").setSideEffects().setRange(E.range)}if(v.isUndefined()){return(new xe).setString("undefined").setRange(E.range)}if(v.isNumber()){return(new xe).setString("number").setRange(E.range)}if(v.isBigInt()){return(new xe).setString("bigint").setRange(E.range)}if(v.isBoolean()){return(new xe).setString("boolean").setRange(E.range)}if(v.isConstArray()||v.isRegExp()||v.isNull()){return(new xe).setString("object").setRange(E.range)}if(v.isArray()){return(new xe).setString("object").setSideEffects(v.couldHaveSideEffects()).setRange(E.range)}}else if(E.operator==="!"){const v=this.evaluateExpression(E.argument);const P=v.asBool();if(typeof P!=="boolean")return;return(new xe).setBoolean(!P).setSideEffects(v.couldHaveSideEffects()).setRange(E.range)}else if(E.operator==="~"){return handleConstOperation((v=>~v))}else if(E.operator==="+"){return handleConstOperation((v=>+v))}else if(E.operator==="-"){return handleConstOperation((v=>-v))}}));this.hooks.evaluateTypeof.for("undefined").tap("JavascriptParser",(v=>(new xe).setString("undefined").setRange(v.range)));this.hooks.evaluate.for("Identifier").tap("JavascriptParser",(v=>{if(v.name==="undefined"){return(new xe).setUndefined().setRange(v.range)}}));const tapEvaluateWithVariableInfo=(v,E)=>{let P=undefined;let R=undefined;this.hooks.evaluate.for(v).tap("JavascriptParser",(v=>{const $=v;const N=E(v);if(N!==undefined){return this.callHooksForInfoWithFallback(this.hooks.evaluateIdentifier,N.name,(v=>{P=$;R=N}),(v=>{const E=this.hooks.evaluateDefinedIdentifier.get(v);if(E!==undefined){return E.call($)}}),$)}}));this.hooks.evaluate.for(v).tap({name:"JavascriptParser",stage:100},(v=>{const $=P===v?R:E(v);if($!==undefined){return(new xe).setIdentifier($.name,$.rootInfo,$.getMembers,$.getMembersOptionals,$.getMemberRanges).setRange(v.range)}}));this.hooks.finish.tap("JavascriptParser",(()=>{P=R=undefined}))};tapEvaluateWithVariableInfo("Identifier",(v=>{const E=this.getVariableInfo(v.name);if(typeof E==="string"||E instanceof VariableInfo&&typeof E.freeName==="string"){return{name:E,rootInfo:E,getMembers:()=>[],getMembersOptionals:()=>[],getMemberRanges:()=>[]}}}));tapEvaluateWithVariableInfo("ThisExpression",(v=>{const E=this.getVariableInfo("this");if(typeof E==="string"||E instanceof VariableInfo&&typeof E.freeName==="string"){return{name:E,rootInfo:E,getMembers:()=>[],getMembersOptionals:()=>[],getMemberRanges:()=>[]}}}));this.hooks.evaluate.for("MetaProperty").tap("JavascriptParser",(v=>{const E=v;return this.callHooksForName(this.hooks.evaluateIdentifier,getRootName(v),E)}));tapEvaluateWithVariableInfo("MemberExpression",(v=>this.getMemberExpressionInfo(v,Ie)));this.hooks.evaluate.for("CallExpression").tap("JavascriptParser",(v=>{const E=v;if(E.callee.type==="MemberExpression"&&E.callee.property.type===(E.callee.computed?"Literal":"Identifier")){const v=this.evaluateExpression(E.callee.object);const P=E.callee.property.type==="Literal"?`${E.callee.property.value}`:E.callee.property.name;const R=this.hooks.evaluateCallExpressionMember.get(P);if(R!==undefined){return R.call(E,v)}}else if(E.callee.type==="Identifier"){return this.callHooksForName(this.hooks.evaluateCallExpression,E.callee.name,E)}}));this.hooks.evaluateCallExpressionMember.for("indexOf").tap("JavascriptParser",((v,E)=>{if(!E.isString())return;if(v.arguments.length===0)return;const[P,R]=v.arguments;if(P.type==="SpreadElement")return;const $=this.evaluateExpression(P);if(!$.isString())return;const N=$.string;let L;if(R){if(R.type==="SpreadElement")return;const v=this.evaluateExpression(R);if(!v.isNumber())return;L=E.string.indexOf(N,v.number)}else{L=E.string.indexOf(N)}return(new xe).setNumber(L).setSideEffects(E.couldHaveSideEffects()).setRange(v.range)}));this.hooks.evaluateCallExpressionMember.for("replace").tap("JavascriptParser",((v,E)=>{if(!E.isString())return;if(v.arguments.length!==2)return;if(v.arguments[0].type==="SpreadElement")return;if(v.arguments[1].type==="SpreadElement")return;let P=this.evaluateExpression(v.arguments[0]);let R=this.evaluateExpression(v.arguments[1]);if(!P.isString()&&!P.isRegExp())return;const $=P.regExp||P.string;if(!R.isString())return;const N=R.string;return(new xe).setString(E.string.replace($,N)).setSideEffects(E.couldHaveSideEffects()).setRange(v.range)}));["substr","substring","slice"].forEach((v=>{this.hooks.evaluateCallExpressionMember.for(v).tap("JavascriptParser",((E,P)=>{if(!P.isString())return;let R;let $,N=P.string;switch(E.arguments.length){case 1:if(E.arguments[0].type==="SpreadElement")return;R=this.evaluateExpression(E.arguments[0]);if(!R.isNumber())return;$=N[v](R.number);break;case 2:{if(E.arguments[0].type==="SpreadElement")return;if(E.arguments[1].type==="SpreadElement")return;R=this.evaluateExpression(E.arguments[0]);const P=this.evaluateExpression(E.arguments[1]);if(!R.isNumber())return;if(!P.isNumber())return;$=N[v](R.number,P.number);break}default:return}return(new xe).setString($).setSideEffects(P.couldHaveSideEffects()).setRange(E.range)}))}));const getSimplifiedTemplateResult=(v,E)=>{const P=[];const R=[];for(let $=0;$0){const v=R[R.length-1];const P=this.evaluateExpression(E.expressions[$-1]);const q=P.asString();if(typeof q==="string"&&!P.couldHaveSideEffects()){v.setString(v.string+q+L);v.setRange([v.range[0],N.range[1]]);v.setExpression(undefined);continue}R.push(P)}const q=(new xe).setString(L).setRange(N.range).setExpression(N);P.push(q);R.push(q)}return{quasis:P,parts:R}};this.hooks.evaluate.for("TemplateLiteral").tap("JavascriptParser",(v=>{const E=v;const{quasis:P,parts:R}=getSimplifiedTemplateResult("cooked",E);if(R.length===1){return R[0].setRange(E.range)}return(new xe).setTemplateString(P,R,"cooked").setRange(E.range)}));this.hooks.evaluate.for("TaggedTemplateExpression").tap("JavascriptParser",(v=>{const E=v;const P=this.evaluateExpression(E.tag);if(P.isIdentifier()&&P.identifier==="String.raw"){const{quasis:v,parts:P}=getSimplifiedTemplateResult("raw",E.quasi);return(new xe).setTemplateString(v,P,"raw").setRange(E.range)}}));this.hooks.evaluateCallExpressionMember.for("concat").tap("JavascriptParser",((v,E)=>{if(!E.isString()&&!E.isWrapped())return;let P=null;let R=false;const $=[];for(let E=v.arguments.length-1;E>=0;E--){const N=v.arguments[E];if(N.type==="SpreadElement")return;const L=this.evaluateExpression(N);if(R||!L.isString()&&!L.isNumber()){R=true;$.push(L);continue}const q=L.isString()?L.string:""+L.number;const K=q+(P?P.string:"");const ae=[L.range[0],(P||L).range[1]];P=(new xe).setString(K).setSideEffects(P&&P.couldHaveSideEffects()||L.couldHaveSideEffects()).setRange(ae)}if(R){const R=E.isString()?E:E.prefix;const N=E.isWrapped()&&E.wrappedInnerExpressions?E.wrappedInnerExpressions.concat($.reverse()):$.reverse();return(new xe).setWrapped(R,P,N).setRange(v.range)}else if(E.isWrapped()){const R=P||E.postfix;const N=E.wrappedInnerExpressions?E.wrappedInnerExpressions.concat($.reverse()):$.reverse();return(new xe).setWrapped(E.prefix,R,N).setRange(v.range)}else{const R=E.string+(P?P.string:"");return(new xe).setString(R).setSideEffects(P&&P.couldHaveSideEffects()||E.couldHaveSideEffects()).setRange(v.range)}}));this.hooks.evaluateCallExpressionMember.for("split").tap("JavascriptParser",((v,E)=>{if(!E.isString())return;if(v.arguments.length!==1)return;if(v.arguments[0].type==="SpreadElement")return;let P;const R=this.evaluateExpression(v.arguments[0]);if(R.isString()){P=E.string.split(R.string)}else if(R.isRegExp()){P=E.string.split(R.regExp)}else{return}return(new xe).setArray(P).setSideEffects(E.couldHaveSideEffects()).setRange(v.range)}));this.hooks.evaluate.for("ConditionalExpression").tap("JavascriptParser",(v=>{const E=v;const P=this.evaluateExpression(E.test);const R=P.asBool();let $;if(R===undefined){const v=this.evaluateExpression(E.consequent);const P=this.evaluateExpression(E.alternate);$=new xe;if(v.isConditional()){$.setOptions(v.options)}else{$.setOptions([v])}if(P.isConditional()){$.addOptions(P.options)}else{$.addOptions([P])}}else{$=this.evaluateExpression(R?E.consequent:E.alternate);if(P.couldHaveSideEffects())$.setSideEffects()}$.setRange(E.range);return $}));this.hooks.evaluate.for("ArrayExpression").tap("JavascriptParser",(v=>{const E=v;const P=E.elements.map((v=>v!==null&&v.type!=="SpreadElement"&&this.evaluateExpression(v)));if(!P.every(Boolean))return;return(new xe).setItems(P).setRange(E.range)}));this.hooks.evaluate.for("ChainExpression").tap("JavascriptParser",(v=>{const E=v;const P=[];let R=E.expression;while(R.type==="MemberExpression"||R.type==="CallExpression"){if(R.type==="MemberExpression"){if(R.optional){P.push(R.object)}R=R.object}else{if(R.optional){P.push(R.callee)}R=R.callee}}while(P.length>0){const E=P.pop();const R=this.evaluateExpression(E);if(R.asNullish()){return R.setRange(v.range)}}return this.evaluateExpression(E.expression)}))}destructuringAssignmentPropertiesFor(v){if(!this.destructuringAssignmentProperties)return undefined;return this.destructuringAssignmentProperties.get(v)}getRenameIdentifier(v){const E=this.evaluateExpression(v);if(E.isIdentifier()){return E.identifier}}walkClass(v){if(v.superClass){if(!this.hooks.classExtendsExpression.call(v.superClass,v)){this.walkExpression(v.superClass)}}if(v.body&&v.body.type==="ClassBody"){const E=[];if(v.id){E.push(v.id)}this.inClassScope(true,E,(()=>{for(const E of v.body.body){if(!this.hooks.classBodyElement.call(E,v)){if(E.computed&&E.key){this.walkExpression(E.key)}if(E.value){if(!this.hooks.classBodyValue.call(E.value,E,v)){const v=this.scope.topLevelScope;this.scope.topLevelScope=false;this.walkExpression(E.value);this.scope.topLevelScope=v}}else if(E.type==="StaticBlock"){const v=this.scope.topLevelScope;this.scope.topLevelScope=false;this.walkBlockStatement(E);this.scope.topLevelScope=v}}}}))}}preWalkStatements(v){for(let E=0,P=v.length;E{const E=v.body;const P=this.prevStatement;this.blockPreWalkStatements(E);this.prevStatement=P;this.walkStatements(E)}))}walkExpressionStatement(v){this.walkExpression(v.expression)}preWalkIfStatement(v){this.preWalkStatement(v.consequent);if(v.alternate){this.preWalkStatement(v.alternate)}}walkIfStatement(v){const E=this.hooks.statementIf.call(v);if(E===undefined){this.walkExpression(v.test);this.walkNestedStatement(v.consequent);if(v.alternate){this.walkNestedStatement(v.alternate)}}else{if(E){this.walkNestedStatement(v.consequent)}else if(v.alternate){this.walkNestedStatement(v.alternate)}}}preWalkLabeledStatement(v){this.preWalkStatement(v.body)}walkLabeledStatement(v){const E=this.hooks.label.get(v.label.name);if(E!==undefined){const P=E.call(v);if(P===true)return}this.walkNestedStatement(v.body)}preWalkWithStatement(v){this.preWalkStatement(v.body)}walkWithStatement(v){this.walkExpression(v.object);this.walkNestedStatement(v.body)}preWalkSwitchStatement(v){this.preWalkSwitchCases(v.cases)}walkSwitchStatement(v){this.walkExpression(v.discriminant);this.walkSwitchCases(v.cases)}walkTerminatingStatement(v){if(v.argument)this.walkExpression(v.argument)}walkReturnStatement(v){this.walkTerminatingStatement(v)}walkThrowStatement(v){this.walkTerminatingStatement(v)}preWalkTryStatement(v){this.preWalkStatement(v.block);if(v.handler)this.preWalkCatchClause(v.handler);if(v.finalizer)this.preWalkStatement(v.finalizer)}walkTryStatement(v){if(this.scope.inTry){this.walkStatement(v.block)}else{this.scope.inTry=true;this.walkStatement(v.block);this.scope.inTry=false}if(v.handler)this.walkCatchClause(v.handler);if(v.finalizer)this.walkStatement(v.finalizer)}preWalkWhileStatement(v){this.preWalkStatement(v.body)}walkWhileStatement(v){this.walkExpression(v.test);this.walkNestedStatement(v.body)}preWalkDoWhileStatement(v){this.preWalkStatement(v.body)}walkDoWhileStatement(v){this.walkNestedStatement(v.body);this.walkExpression(v.test)}preWalkForStatement(v){if(v.init){if(v.init.type==="VariableDeclaration"){this.preWalkStatement(v.init)}}this.preWalkStatement(v.body)}walkForStatement(v){this.inBlockScope((()=>{if(v.init){if(v.init.type==="VariableDeclaration"){this.blockPreWalkVariableDeclaration(v.init);this.prevStatement=undefined;this.walkStatement(v.init)}else{this.walkExpression(v.init)}}if(v.test){this.walkExpression(v.test)}if(v.update){this.walkExpression(v.update)}const E=v.body;if(E.type==="BlockStatement"){const v=this.prevStatement;this.blockPreWalkStatements(E.body);this.prevStatement=v;this.walkStatements(E.body)}else{this.walkNestedStatement(E)}}))}preWalkForInStatement(v){if(v.left.type==="VariableDeclaration"){this.preWalkVariableDeclaration(v.left)}this.preWalkStatement(v.body)}walkForInStatement(v){this.inBlockScope((()=>{if(v.left.type==="VariableDeclaration"){this.blockPreWalkVariableDeclaration(v.left);this.walkVariableDeclaration(v.left)}else{this.walkPattern(v.left)}this.walkExpression(v.right);const E=v.body;if(E.type==="BlockStatement"){const v=this.prevStatement;this.blockPreWalkStatements(E.body);this.prevStatement=v;this.walkStatements(E.body)}else{this.walkNestedStatement(E)}}))}preWalkForOfStatement(v){if(v.await&&this.scope.topLevelScope===true){this.hooks.topLevelAwait.call(v)}if(v.left.type==="VariableDeclaration"){this.preWalkVariableDeclaration(v.left)}this.preWalkStatement(v.body)}walkForOfStatement(v){this.inBlockScope((()=>{if(v.left.type==="VariableDeclaration"){this.blockPreWalkVariableDeclaration(v.left);this.walkVariableDeclaration(v.left)}else{this.walkPattern(v.left)}this.walkExpression(v.right);const E=v.body;if(E.type==="BlockStatement"){const v=this.prevStatement;this.blockPreWalkStatements(E.body);this.prevStatement=v;this.walkStatements(E.body)}else{this.walkNestedStatement(E)}}))}preWalkFunctionDeclaration(v){if(v.id){this.defineVariable(v.id.name)}}walkFunctionDeclaration(v){const E=this.scope.topLevelScope;this.scope.topLevelScope=false;this.inFunctionScope(true,v.params,(()=>{for(const E of v.params){this.walkPattern(E)}if(v.body.type==="BlockStatement"){this.detectMode(v.body.body);const E=this.prevStatement;this.preWalkStatement(v.body);this.prevStatement=E;this.walkStatement(v.body)}else{this.walkExpression(v.body)}}));this.scope.topLevelScope=E}blockPreWalkExpressionStatement(v){const E=v.expression;switch(E.type){case"AssignmentExpression":this.preWalkAssignmentExpression(E)}}preWalkAssignmentExpression(v){if(v.left.type!=="ObjectPattern"||!this.destructuringAssignmentProperties)return;const E=this._preWalkObjectPattern(v.left);if(!E)return;if(this.destructuringAssignmentProperties.has(v)){const P=this.destructuringAssignmentProperties.get(v);this.destructuringAssignmentProperties.delete(v);for(const v of P)E.add(v)}this.destructuringAssignmentProperties.set(v.right.type==="AwaitExpression"?v.right.argument:v.right,E);if(v.right.type==="AssignmentExpression"){this.preWalkAssignmentExpression(v.right)}}blockPreWalkImportDeclaration(v){const E=v.source.value;this.hooks.import.call(v,E);for(const P of v.specifiers){const R=P.local.name;switch(P.type){case"ImportDefaultSpecifier":if(!this.hooks.importSpecifier.call(v,E,"default",R)){this.defineVariable(R)}break;case"ImportSpecifier":if(!this.hooks.importSpecifier.call(v,E,P.imported.name||P.imported.value,R)){this.defineVariable(R)}break;case"ImportNamespaceSpecifier":if(!this.hooks.importSpecifier.call(v,E,null,R)){this.defineVariable(R)}break;default:this.defineVariable(R)}}}enterDeclaration(v,E){switch(v.type){case"VariableDeclaration":for(const P of v.declarations){switch(P.type){case"VariableDeclarator":{this.enterPattern(P.id,E);break}}}break;case"FunctionDeclaration":this.enterPattern(v.id,E);break;case"ClassDeclaration":this.enterPattern(v.id,E);break}}blockPreWalkExportNamedDeclaration(v){let E;if(v.source){E=v.source.value;this.hooks.exportImport.call(v,E)}else{this.hooks.export.call(v)}if(v.declaration){if(!this.hooks.exportDeclaration.call(v,v.declaration)){const E=this.prevStatement;this.preWalkStatement(v.declaration);this.prevStatement=E;this.blockPreWalkStatement(v.declaration);let P=0;this.enterDeclaration(v.declaration,(E=>{this.hooks.exportSpecifier.call(v,E,E,P++)}))}}if(v.specifiers){for(let P=0;P{let R=E.get(v);if(R===undefined||!R.call(P)){R=this.hooks.varDeclaration.get(v);if(R===undefined||!R.call(P)){this.defineVariable(v)}}}))}break}}}}_preWalkObjectPattern(v){const E=new Set;const P=v.properties;for(let v=0;v{const E=v.length;for(let P=0;P0){const v=this.prevStatement;this.blockPreWalkStatements(E.consequent);this.prevStatement=v}}for(let P=0;P0){this.walkStatements(E.consequent)}}}))}preWalkCatchClause(v){this.preWalkStatement(v.body)}walkCatchClause(v){this.inBlockScope((()=>{if(v.param!==null){this.enterPattern(v.param,(v=>{this.defineVariable(v)}));this.walkPattern(v.param)}const E=this.prevStatement;this.blockPreWalkStatement(v.body);this.prevStatement=E;this.walkStatement(v.body)}))}walkPattern(v){switch(v.type){case"ArrayPattern":this.walkArrayPattern(v);break;case"AssignmentPattern":this.walkAssignmentPattern(v);break;case"MemberExpression":this.walkMemberExpression(v);break;case"ObjectPattern":this.walkObjectPattern(v);break;case"RestElement":this.walkRestElement(v);break}}walkAssignmentPattern(v){this.walkExpression(v.right);this.walkPattern(v.left)}walkObjectPattern(v){for(let E=0,P=v.properties.length;E{for(const E of v.params){this.walkPattern(E)}if(v.body.type==="BlockStatement"){this.detectMode(v.body.body);const E=this.prevStatement;this.preWalkStatement(v.body);this.prevStatement=E;this.walkStatement(v.body)}else{this.walkExpression(v.body)}}));this.scope.topLevelScope=E}walkArrowFunctionExpression(v){const E=this.scope.topLevelScope;this.scope.topLevelScope=E?"arrow":false;this.inFunctionScope(false,v.params,(()=>{for(const E of v.params){this.walkPattern(E)}if(v.body.type==="BlockStatement"){this.detectMode(v.body.body);const E=this.prevStatement;this.preWalkStatement(v.body);this.prevStatement=E;this.walkStatement(v.body)}else{this.walkExpression(v.body)}}));this.scope.topLevelScope=E}walkSequenceExpression(v){if(!v.expressions)return;const E=this.statementPath[this.statementPath.length-1];if(E===v||E.type==="ExpressionStatement"&&E.expression===v){const E=this.statementPath.pop();for(const E of v.expressions){this.statementPath.push(E);this.walkExpression(E);this.statementPath.pop()}this.statementPath.push(E)}else{this.walkExpressions(v.expressions)}}walkUpdateExpression(v){this.walkExpression(v.argument)}walkUnaryExpression(v){if(v.operator==="typeof"){const E=this.callHooksForExpression(this.hooks.typeof,v.argument,v);if(E===true)return;if(v.argument.type==="ChainExpression"){const E=this.callHooksForExpression(this.hooks.typeof,v.argument.expression,v);if(E===true)return}}this.walkExpression(v.argument)}walkLeftRightExpression(v){this.walkExpression(v.left);this.walkExpression(v.right)}walkBinaryExpression(v){if(this.hooks.binaryExpression.call(v)===undefined){this.walkLeftRightExpression(v)}}walkLogicalExpression(v){const E=this.hooks.expressionLogicalOperator.call(v);if(E===undefined){this.walkLeftRightExpression(v)}else{if(E){this.walkExpression(v.right)}}}walkAssignmentExpression(v){if(v.left.type==="Identifier"){const E=this.getRenameIdentifier(v.right);if(E){if(this.callHooksForInfo(this.hooks.canRename,E,v.right)){if(!this.callHooksForInfo(this.hooks.rename,E,v.right)){this.setVariable(v.left.name,typeof E==="string"?this.getVariableInfo(E):E)}return}}this.walkExpression(v.right);this.enterPattern(v.left,((E,P)=>{if(!this.callHooksForName(this.hooks.assign,E,v)){this.walkExpression(v.left)}}));return}if(v.left.type.endsWith("Pattern")){this.walkExpression(v.right);this.enterPattern(v.left,((E,P)=>{if(!this.callHooksForName(this.hooks.assign,E,v)){this.defineVariable(E)}}));this.walkPattern(v.left)}else if(v.left.type==="MemberExpression"){const E=this.getMemberExpressionInfo(v.left,Ie);if(E){if(this.callHooksForInfo(this.hooks.assignMemberChain,E.rootInfo,v,E.getMembers())){return}}this.walkExpression(v.right);this.walkExpression(v.left)}else{this.walkExpression(v.right);this.walkExpression(v.left)}}walkConditionalExpression(v){const E=this.hooks.expressionConditionalOperator.call(v);if(E===undefined){this.walkExpression(v.test);this.walkExpression(v.consequent);if(v.alternate){this.walkExpression(v.alternate)}}else{if(E){this.walkExpression(v.consequent)}else if(v.alternate){this.walkExpression(v.alternate)}}}walkNewExpression(v){const E=this.callHooksForExpression(this.hooks.new,v.callee,v);if(E===true)return;this.walkExpression(v.callee);if(v.arguments){this.walkExpressions(v.arguments)}}walkYieldExpression(v){if(v.argument){this.walkExpression(v.argument)}}walkTemplateLiteral(v){if(v.expressions){this.walkExpressions(v.expressions)}}walkTaggedTemplateExpression(v){if(v.tag){this.scope.inTaggedTemplateTag=true;this.walkExpression(v.tag);this.scope.inTaggedTemplateTag=false}if(v.quasi&&v.quasi.expressions){this.walkExpressions(v.quasi.expressions)}}walkClassExpression(v){this.walkClass(v)}walkChainExpression(v){const E=this.hooks.optionalChaining.call(v);if(E===undefined){if(v.expression.type==="CallExpression"){this.walkCallExpression(v.expression)}else{this.walkMemberExpression(v.expression)}}}_walkIIFE(v,E,P){const getVarInfo=v=>{const E=this.getRenameIdentifier(v);if(E){if(this.callHooksForInfo(this.hooks.canRename,E,v)){if(!this.callHooksForInfo(this.hooks.rename,E,v)){return typeof E==="string"?this.getVariableInfo(E):E}}}this.walkExpression(v)};const{params:R,type:$}=v;const N=$==="ArrowFunctionExpression";const L=P?getVarInfo(P):null;const q=E.map(getVarInfo);const K=this.scope.topLevelScope;this.scope.topLevelScope=K&&N?"arrow":false;const ae=R.filter(((v,E)=>!q[E]));if(v.id){ae.push(v.id.name)}this.inFunctionScope(true,ae,(()=>{if(L&&!N){this.setVariable("this",L)}for(let v=0;vv.params.every((v=>v.type==="Identifier"));if(v.callee.type==="MemberExpression"&&v.callee.object.type.endsWith("FunctionExpression")&&!v.callee.computed&&(v.callee.property.name==="call"||v.callee.property.name==="bind")&&v.arguments.length>0&&isSimpleFunction(v.callee.object)){this._walkIIFE(v.callee.object,v.arguments.slice(1),v.arguments[0])}else if(v.callee.type.endsWith("FunctionExpression")&&isSimpleFunction(v.callee)){this._walkIIFE(v.callee,v.arguments,null)}else{if(v.callee.type==="MemberExpression"){const E=this.getMemberExpressionInfo(v.callee,Ae);if(E&&E.type==="call"){const P=this.callHooksForInfo(this.hooks.callMemberChainOfCallMemberChain,E.rootInfo,v,E.getCalleeMembers(),E.call,E.getMembers(),E.getMemberRanges());if(P===true)return}}const E=this.evaluateExpression(v.callee);if(E.isIdentifier()){const P=this.callHooksForInfo(this.hooks.callMemberChain,E.rootInfo,v,E.getMembers(),E.getMembersOptionals?E.getMembersOptionals():E.getMembers().map((()=>false)),E.getMemberRanges?E.getMemberRanges():[]);if(P===true)return;const R=this.callHooksForInfo(this.hooks.call,E.identifier,v);if(R===true)return}if(v.callee){if(v.callee.type==="MemberExpression"){this.walkExpression(v.callee.object);if(v.callee.computed===true)this.walkExpression(v.callee.property)}else{this.walkExpression(v.callee)}}if(v.arguments)this.walkExpressions(v.arguments)}}walkMemberExpression(v){const E=this.getMemberExpressionInfo(v,He);if(E){switch(E.type){case"expression":{const P=this.callHooksForInfo(this.hooks.expression,E.name,v);if(P===true)return;const R=E.getMembers();const $=E.getMembersOptionals();const N=E.getMemberRanges();const L=this.callHooksForInfo(this.hooks.expressionMemberChain,E.rootInfo,v,R,$,N);if(L===true)return;this.walkMemberExpressionWithExpressionName(v,E.name,E.rootInfo,R.slice(),(()=>this.callHooksForInfo(this.hooks.unhandledExpressionMemberChain,E.rootInfo,v,R)));return}case"call":{const P=this.callHooksForInfo(this.hooks.memberChainOfCallMemberChain,E.rootInfo,v,E.getCalleeMembers(),E.call,E.getMembers(),E.getMemberRanges());if(P===true)return;this.walkExpression(E.call);return}}}this.walkExpression(v.object);if(v.computed===true)this.walkExpression(v.property)}walkMemberExpressionWithExpressionName(v,E,P,R,$){if(v.object.type==="MemberExpression"){const N=v.property.name||`${v.property.value}`;E=E.slice(0,-N.length-1);R.pop();const L=this.callHooksForInfo(this.hooks.expression,E,v.object);if(L===true)return;this.walkMemberExpressionWithExpressionName(v.object,E,P,R,$)}else if(!$||!$()){this.walkExpression(v.object)}if(v.computed===true)this.walkExpression(v.property)}walkThisExpression(v){this.callHooksForName(this.hooks.expression,"this",v)}walkIdentifier(v){this.callHooksForName(this.hooks.expression,v.name,v)}walkMetaProperty(v){this.hooks.expression.for(getRootName(v)).call(v)}callHooksForExpression(v,E,...P){return this.callHooksForExpressionWithFallback(v,E,undefined,undefined,...P)}callHooksForExpressionWithFallback(v,E,P,R,...$){const N=this.getMemberExpressionInfo(E,Ie);if(N!==undefined){const E=N.getMembers();return this.callHooksForInfoWithFallback(v,E.length===0?N.rootInfo:N.name,P&&(v=>P(v,N.rootInfo,N.getMembers)),R&&(()=>R(N.name)),...$)}}callHooksForName(v,E,...P){return this.callHooksForNameWithFallback(v,E,undefined,undefined,...P)}callHooksForInfo(v,E,...P){return this.callHooksForInfoWithFallback(v,E,undefined,undefined,...P)}callHooksForInfoWithFallback(v,E,P,R,...$){let N;if(typeof E==="string"){N=E}else{if(!(E instanceof VariableInfo)){if(R!==undefined){return R()}return}let P=E.tagInfo;while(P!==undefined){const E=v.get(P.tag);if(E!==undefined){this.currentTagData=P.data;const v=E.call(...$);this.currentTagData=undefined;if(v!==undefined)return v}P=P.next}if(E.freeName===true){if(R!==undefined){return R()}return}N=E.freeName}const L=v.get(N);if(L!==undefined){const v=L.call(...$);if(v!==undefined)return v}if(P!==undefined){return P(N)}}callHooksForNameWithFallback(v,E,P,R,...$){return this.callHooksForInfoWithFallback(v,this.getVariableInfo(E),P,R,...$)}inScope(v,E){const P=this.scope;this.scope={topLevelScope:P.topLevelScope,inTry:false,inShorthand:false,inTaggedTemplateTag:false,isStrict:P.isStrict,isAsmJs:P.isAsmJs,definitions:P.definitions.createChild()};this.undefineVariable("this");this.enterPatterns(v,((v,E)=>{this.defineVariable(v)}));E();this.scope=P}inClassScope(v,E,P){const R=this.scope;this.scope={topLevelScope:R.topLevelScope,inTry:false,inShorthand:false,inTaggedTemplateTag:false,isStrict:R.isStrict,isAsmJs:R.isAsmJs,definitions:R.definitions.createChild()};if(v){this.undefineVariable("this")}this.enterPatterns(E,((v,E)=>{this.defineVariable(v)}));P();this.scope=R}inFunctionScope(v,E,P){const R=this.scope;this.scope={topLevelScope:R.topLevelScope,inTry:false,inShorthand:false,inTaggedTemplateTag:false,isStrict:R.isStrict,isAsmJs:R.isAsmJs,definitions:R.definitions.createChild()};if(v){this.undefineVariable("this")}this.enterPatterns(E,((v,E)=>{this.defineVariable(v)}));P();this.scope=R}inBlockScope(v){const E=this.scope;this.scope={topLevelScope:E.topLevelScope,inTry:E.inTry,inShorthand:false,inTaggedTemplateTag:false,isStrict:E.isStrict,isAsmJs:E.isAsmJs,definitions:E.definitions.createChild()};v();this.scope=E}detectMode(v){const E=v.length>=1&&v[0].type==="ExpressionStatement"&&v[0].expression.type==="Literal";if(E&&v[0].expression.value==="use strict"){this.scope.isStrict=true}if(E&&v[0].expression.value==="use asm"){this.scope.isAsmJs=true}}enterPatterns(v,E){for(const P of v){if(typeof P!=="string"){this.enterPattern(P,E)}else if(P){E(P)}}}enterPattern(v,E){if(!v)return;switch(v.type){case"ArrayPattern":this.enterArrayPattern(v,E);break;case"AssignmentPattern":this.enterAssignmentPattern(v,E);break;case"Identifier":this.enterIdentifier(v,E);break;case"ObjectPattern":this.enterObjectPattern(v,E);break;case"RestElement":this.enterRestElement(v,E);break;case"Property":if(v.shorthand&&v.value.type==="Identifier"){this.scope.inShorthand=v.value.name;this.enterIdentifier(v.value,E);this.scope.inShorthand=false}else{this.enterPattern(v.value,E)}break}}enterIdentifier(v,E){if(!this.callHooksForName(this.hooks.pattern,v.name,v)){E(v.name,v)}}enterObjectPattern(v,E){for(let P=0,R=v.properties.length;P$.add(v)})}const N=this.scope;const L=this.state;const q=this.comments;const K=this.semicolons;const ge=this.statementPath;const be=this.prevStatement;this.scope={topLevelScope:true,inTry:false,inShorthand:false,inTaggedTemplateTag:false,isStrict:false,isAsmJs:false,definitions:new ae};this.state=E;this.comments=R;this.semicolons=$;this.statementPath=[];this.prevStatement=undefined;if(this.hooks.program.call(P,R)===undefined){this.destructuringAssignmentProperties=new WeakMap;this.detectMode(P.body);this.preWalkStatements(P.body);this.prevStatement=undefined;this.blockPreWalkStatements(P.body);this.prevStatement=undefined;this.walkStatements(P.body);this.destructuringAssignmentProperties=undefined}this.hooks.finish.call(P,R);this.scope=N;this.state=L;this.comments=q;this.semicolons=K;this.statementPath=ge;this.prevStatement=be;return E}evaluate(v){const E=JavascriptParser._parse("("+v+")",{sourceType:this.sourceType,locations:false});if(E.body.length!==1||E.body[0].type!=="ExpressionStatement"){throw new Error("evaluate: Source is not a expression")}return this.evaluateExpression(E.body[0].expression)}isPure(v,E){if(!v)return true;const P=this.hooks.isPure.for(v.type).call(v,E);if(typeof P==="boolean")return P;switch(v.type){case"ClassDeclaration":case"ClassExpression":{if(v.body.type!=="ClassBody")return false;if(v.superClass&&!this.isPure(v.superClass,v.range[0])){return false}const E=v.body.body;return E.every((E=>{if(E.computed&&E.key&&!this.isPure(E.key,E.range[0])){return false}if(E.static&&E.value&&!this.isPure(E.value,E.key?E.key.range[1]:E.range[0])){return false}if(E.type==="StaticBlock"){return false}if(v.superClass&&E.type==="MethodDefinition"&&E.kind==="constructor"){return false}return true}))}case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"ThisExpression":case"Literal":case"TemplateLiteral":case"Identifier":case"PrivateIdentifier":return true;case"VariableDeclaration":return v.declarations.every((v=>this.isPure(v.init,v.range[0])));case"ConditionalExpression":return this.isPure(v.test,E)&&this.isPure(v.consequent,v.test.range[1])&&this.isPure(v.alternate,v.consequent.range[1]);case"LogicalExpression":return this.isPure(v.left,E)&&this.isPure(v.right,v.left.range[1]);case"SequenceExpression":return v.expressions.every((v=>{const P=this.isPure(v,E);E=v.range[1];return P}));case"CallExpression":{const P=v.range[0]-E>12&&this.getComments([E,v.range[0]]).some((v=>v.type==="Block"&&/^\s*(#|@)__PURE__\s*$/.test(v.value)));if(!P)return false;E=v.callee.range[1];return v.arguments.every((v=>{if(v.type==="SpreadElement")return false;const P=this.isPure(v,E);E=v.range[1];return P}))}}const R=this.evaluateExpression(v);return!R.couldHaveSideEffects()}getComments(v){const[E,P]=v;const compare=(v,E)=>v.range[0]-E;let R=ge.ge(this.comments,E,compare);let $=[];while(this.comments[R]&&this.comments[R].range[1]<=P){$.push(this.comments[R]);R++}return $}isAsiPosition(v){const E=this.statementPath[this.statementPath.length-1];if(E===undefined)throw new Error("Not in statement");return E.range[1]===v&&this.semicolons.has(v)||E.range[0]===v&&this.prevStatement!==undefined&&this.semicolons.has(this.prevStatement.range[1])}unsetAsiPosition(v){this.semicolons.delete(v)}isStatementLevelExpression(v){const E=this.statementPath[this.statementPath.length-1];return v===E||E.type==="ExpressionStatement"&&E.expression===v}getTagData(v,E){const P=this.scope.definitions.get(v);if(P instanceof VariableInfo){let v=P.tagInfo;while(v!==undefined){if(v.tag===E)return v.data;v=v.next}}}tagVariable(v,E,P){const R=this.scope.definitions.get(v);let $;if(R===undefined){$=new VariableInfo(this.scope,v,{tag:E,data:P,next:undefined})}else if(R instanceof VariableInfo){$=new VariableInfo(R.declaredScope,R.freeName,{tag:E,data:P,next:R.tagInfo})}else{$=new VariableInfo(R,true,{tag:E,data:P,next:undefined})}this.scope.definitions.set(v,$)}defineVariable(v){const E=this.scope.definitions.get(v);if(E instanceof VariableInfo&&E.declaredScope===this.scope)return;this.scope.definitions.set(v,this.scope)}undefineVariable(v){this.scope.definitions.delete(v)}isVariableDefined(v){const E=this.scope.definitions.get(v);if(E===undefined)return false;if(E instanceof VariableInfo){return E.freeName===true}return true}getVariableInfo(v){const E=this.scope.definitions.get(v);if(E===undefined){return v}else{return E}}setVariable(v,E){if(typeof E==="string"){if(E===v){this.scope.definitions.delete(v)}else{this.scope.definitions.set(v,new VariableInfo(this.scope,E,undefined))}}else{this.scope.definitions.set(v,E)}}evaluatedVariable(v){return new VariableInfo(this.scope,undefined,v)}parseCommentOptions(v){const E=this.getComments(v);if(E.length===0){return Ke}let P={};let R=[];for(const v of E){const{value:E}=v;if(E&&Ve.test(E)){try{for(let[v,R]of Object.entries(q.runInNewContext(`(function(){return {${E}};})()`))){if(typeof R==="object"&&R!==null){if(R.constructor.name==="RegExp")R=new RegExp(R);else R=JSON.parse(JSON.stringify(R))}P[v]=R}}catch(E){const P=new Error(String(E.message));P.stack=String(E.stack);Object.assign(P,{comment:v});R.push(P)}}}return{options:P,errors:R}}extractMemberExpressionChain(v){let E=v;const P=[];const R=[];const $=[];while(E.type==="MemberExpression"){if(E.computed){if(E.property.type!=="Literal")break;P.push(`${E.property.value}`);$.push(E.object.range)}else{if(E.property.type!=="Identifier")break;P.push(E.property.name);$.push(E.object.range)}R.push(E.optional);E=E.object}return{members:P,membersOptionals:R,memberRanges:$,object:E}}getFreeInfoFromVariable(v){const E=this.getVariableInfo(v);let P;if(E instanceof VariableInfo){P=E.freeName;if(typeof P!=="string")return undefined}else if(typeof E!=="string"){return undefined}else{P=E}return{info:E,name:P}}getMemberExpressionInfo(v,E){const{object:P,members:R,membersOptionals:$,memberRanges:N}=this.extractMemberExpressionChain(v);switch(P.type){case"CallExpression":{if((E&Ae)===0)return undefined;let v=P.callee;let L=ve;if(v.type==="MemberExpression"){({object:v,members:L}=this.extractMemberExpressionChain(v))}const q=getRootName(v);if(!q)return undefined;const K=this.getFreeInfoFromVariable(q);if(!K)return undefined;const{info:ae,name:ge}=K;const xe=objectAndMembersToName(ge,L);return{type:"call",call:P,calleeName:xe,rootInfo:ae,getCalleeMembers:be((()=>L.reverse())),name:objectAndMembersToName(`${xe}()`,R),getMembers:be((()=>R.reverse())),getMembersOptionals:be((()=>$.reverse())),getMemberRanges:be((()=>N.reverse()))}}case"Identifier":case"MetaProperty":case"ThisExpression":{if((E&Ie)===0)return undefined;const v=getRootName(P);if(!v)return undefined;const L=this.getFreeInfoFromVariable(v);if(!L)return undefined;const{info:q,name:K}=L;return{type:"expression",name:objectAndMembersToName(K,R),rootInfo:q,getMembers:be((()=>R.reverse())),getMembersOptionals:be((()=>$.reverse())),getMemberRanges:be((()=>N.reverse()))}}}}getNameForExpression(v){return this.getMemberExpressionInfo(v,Ie)}static _parse(v,E){const P=E?E.sourceType:"module";const R={...Je,allowReturnOutsideFunction:P==="script",...E,sourceType:P==="auto"?"module":P};let $;let N;let L=false;try{$=Qe.parse(v,R)}catch(v){N=v;L=true}if(L&&P==="auto"){R.sourceType="script";if(!("allowReturnOutsideFunction"in E)){R.allowReturnOutsideFunction=true}if(Array.isArray(R.onComment)){R.onComment.length=0}try{$=Qe.parse(v,R);L=false}catch(v){}}if(L){throw N}return $}}v.exports=JavascriptParser;v.exports.ALLOWED_MEMBER_TYPES_ALL=He;v.exports.ALLOWED_MEMBER_TYPES_EXPRESSION=Ie;v.exports.ALLOWED_MEMBER_TYPES_CALL_EXPRESSION=Ae},31445:function(v,E,P){"use strict";const R=P(31524);const $=P(52540);const N=P(61122);E.toConstantDependency=(v,E,P)=>function constDependency(R){const N=new $(E,R.range,P);N.loc=R.loc;v.state.module.addPresentationalDependency(N);return true};E.evaluateToString=v=>function stringExpression(E){return(new N).setString(v).setRange(E.range)};E.evaluateToNumber=v=>function stringExpression(E){return(new N).setNumber(v).setRange(E.range)};E.evaluateToBoolean=v=>function booleanExpression(E){return(new N).setBoolean(v).setRange(E.range)};E.evaluateToIdentifier=(v,E,P,R)=>function identifierExpression($){let L=(new N).setIdentifier(v,E,P).setSideEffects(false).setRange($.range);switch(R){case true:L.setTruthy();break;case null:L.setNullish(true);break;case false:L.setFalsy();break}return L};E.expressionIsUnsupported=(v,E)=>function unsupportedExpression(P){const N=new $("(void 0)",P.range,null);N.loc=P.loc;v.state.module.addPresentationalDependency(N);if(!v.state.module)return;v.state.module.addWarning(new R(E,P.loc));return true};E.skipTraversal=()=>true;E.approve=()=>true},854:function(v,E,P){"use strict";const R=P(75189);const $=P(35600);const{isSubset:N}=P(57167);const{getAllChunks:L}=P(83703);const q=`var ${R.exports} = `;E.generateEntryStartup=(v,E,P,K,ae)=>{const ge=[`var __webpack_exec__ = ${E.returningFunction(`${R.require}(${R.entryModuleId} = moduleId)`,"moduleId")}`];const runModule=v=>`__webpack_exec__(${JSON.stringify(v)})`;const outputCombination=(v,P,$)=>{if(v.size===0){ge.push(`${$?q:""}(${P.map(runModule).join(", ")});`)}else{const N=E.returningFunction(P.map(runModule).join(", "));ge.push(`${$&&!ae?q:""}${ae?R.onChunksLoaded:R.startupEntrypoint}(0, ${JSON.stringify(Array.from(v,(v=>v.id)))}, ${N});`);if($&&ae){ge.push(`${q}${R.onChunksLoaded}();`)}}};let be=undefined;let xe=undefined;for(const[E,R]of P){const P=R.getRuntimeChunk();const $=v.getModuleId(E);const q=L(R,K,P);if(be&&be.size===q.size&&N(be,q)){xe.push($)}else{if(be){outputCombination(be,xe)}be=q;xe=[$]}}if(be){outputCombination(be,xe,true)}ge.push("");return $.asString(ge)};E.updateHashForEntryStartup=(v,E,P,R)=>{for(const[$,N]of P){const P=N.getRuntimeChunk();const q=E.getModuleId($);v.update(`${q}`);for(const E of L(N,R,P))v.update(`${E.id}`)}};E.getInitialChunkIds=(v,E,P)=>{const R=new Set(v.ids);for(const $ of v.getAllInitialChunks()){if($===v||P($,E))continue;for(const v of $.ids)R.add(v)}return R}},18489:function(v,E,P){"use strict";const{register:R}=P(56944);class JsonData{constructor(v){this._buffer=undefined;this._data=undefined;if(Buffer.isBuffer(v)){this._buffer=v}else{this._data=v}}get(){if(this._data===undefined&&this._buffer!==undefined){this._data=JSON.parse(this._buffer.toString())}return this._data}updateHash(v){if(this._buffer===undefined&&this._data!==undefined){this._buffer=Buffer.from(JSON.stringify(this._data))}if(this._buffer)v.update(this._buffer)}}R(JsonData,"webpack/lib/json/JsonData",null,{serialize(v,{write:E}){if(v._buffer===undefined&&v._data!==undefined){v._buffer=Buffer.from(JSON.stringify(v._data))}E(v._buffer)},deserialize({read:v}){return new JsonData(v())}});v.exports=JsonData},841:function(v,E,P){"use strict";const{RawSource:R}=P(51255);const $=P(79421);const{UsageState:N}=P(32514);const L=P(91611);const q=P(75189);const stringifySafe=v=>{const E=JSON.stringify(v);if(!E){return undefined}return E.replace(/\u2028|\u2029/g,(v=>v==="\u2029"?"\\u2029":"\\u2028"))};const createObjectForExportsInfo=(v,E,P)=>{if(E.otherExportsInfo.getUsed(P)!==N.Unused)return v;const R=Array.isArray(v);const $=R?[]:{};for(const R of Object.keys(v)){const L=E.getReadOnlyExportInfo(R);const q=L.getUsed(P);if(q===N.Unused)continue;let K;if(q===N.OnlyPropertiesUsed&&L.exportsInfo){K=createObjectForExportsInfo(v[R],L.exportsInfo,P)}else{K=v[R]}const ae=L.getUsedName(R,P);$[ae]=K}if(R){let R=E.getReadOnlyExportInfo("length").getUsed(P)!==N.Unused?v.length:undefined;let L=0;for(let v=0;v<$.length;v++){if($[v]===undefined){L-=2}else{L+=`${v}`.length+3}}if(R!==undefined){L+=`${R}`.length+8-(R-$.length)*2}if(L<0)return Object.assign(R===undefined?{}:{length:R},$);const q=R!==undefined?Math.max(R,$.length):$.length;for(let v=0;v20&&typeof xe==="object"?`/*#__PURE__*/JSON.parse('${ve.replace(/[\\']/g,"\\$&")}')`:ve;let Ie;if(ae){Ie=`${P.supportsConst()?"const":"var"} ${$.NAMESPACE_OBJECT_EXPORT} = ${Ae};`;ae.registerNamespaceExport($.NAMESPACE_OBJECT_EXPORT)}else{L.add(q.module);Ie=`${v.moduleArgument}.exports = ${Ae};`}return new R(Ie)}}v.exports=JsonGenerator},95962:function(v,E,P){"use strict";const{JSON_MODULE_TYPE:R}=P(98791);const $=P(86278);const N=P(841);const L=P(81882);const q=$(P(19137),(()=>P(86409)),{name:"Json Modules Plugin",baseDataPath:"parser"});const K="JsonModulesPlugin";class JsonModulesPlugin{apply(v){v.hooks.compilation.tap(K,((v,{normalModuleFactory:E})=>{E.hooks.createParser.for(R).tap(K,(v=>{q(v);return new L(v)}));E.hooks.createGenerator.for(R).tap(K,(()=>new N))}))}}v.exports=JsonModulesPlugin},81882:function(v,E,P){"use strict";const R=P(40766);const $=P(32871);const N=P(49584);const L=P(18489);const q=N((()=>P(54650)));class JsonParser extends R{constructor(v){super();this.options=v||{}}parse(v,E){if(Buffer.isBuffer(v)){v=v.toString("utf-8")}const P=typeof this.options.parse==="function"?this.options.parse:q();let R;try{R=typeof v==="object"?v:P(v[0]==="\ufeff"?v.slice(1):v)}catch(v){throw new Error(`Cannot parse JSON: ${v.message}`)}const N=new L(R);const K=E.module.buildInfo;K.jsonData=N;K.strict=true;const ae=E.module.buildMeta;ae.exportsType="default";ae.defaultObject=typeof R==="object"?"redirect-warn":false;E.module.addDependency(new $(N));return E}}v.exports=JsonParser},57320:function(v,E,P){"use strict";const R=P(75189);const $=P(87885);const N="Common configuration options that specific library names are 'output.library[.name]', 'entry.xyz.library[.name]', 'ModuleFederationPlugin.name' and 'ModuleFederationPlugin.library[.name]'.";class AbstractLibraryPlugin{constructor({pluginName:v,type:E}){this._pluginName=v;this._type=E;this._parseCache=new WeakMap}apply(v){const{_pluginName:E}=this;v.hooks.thisCompilation.tap(E,(v=>{v.hooks.finishModules.tap({name:E,stage:10},(()=>{for(const[E,{dependencies:P,options:{library:R}}]of v.entries){const $=this._parseOptionsCached(R!==undefined?R:v.outputOptions.library);if($!==false){const R=P[P.length-1];if(R){const P=v.moduleGraph.getModule(R);if(P){this.finishEntryModule(P,E,{options:$,compilation:v,chunkGraph:v.chunkGraph})}}}}}));const getOptionsForChunk=E=>{if(v.chunkGraph.getNumberOfEntryModules(E)===0)return false;const P=E.getEntryOptions();const R=P&&P.library;return this._parseOptionsCached(R!==undefined?R:v.outputOptions.library)};if(this.render!==AbstractLibraryPlugin.prototype.render||this.runtimeRequirements!==AbstractLibraryPlugin.prototype.runtimeRequirements){v.hooks.additionalChunkRuntimeRequirements.tap(E,((E,P,{chunkGraph:R})=>{const $=getOptionsForChunk(E);if($!==false){this.runtimeRequirements(E,P,{options:$,compilation:v,chunkGraph:R})}}))}const P=$.getCompilationHooks(v);if(this.render!==AbstractLibraryPlugin.prototype.render){P.render.tap(E,((E,P)=>{const R=getOptionsForChunk(P.chunk);if(R===false)return E;return this.render(E,P,{options:R,compilation:v,chunkGraph:v.chunkGraph})}))}if(this.embedInRuntimeBailout!==AbstractLibraryPlugin.prototype.embedInRuntimeBailout){P.embedInRuntimeBailout.tap(E,((E,P)=>{const R=getOptionsForChunk(P.chunk);if(R===false)return;return this.embedInRuntimeBailout(E,P,{options:R,compilation:v,chunkGraph:v.chunkGraph})}))}if(this.strictRuntimeBailout!==AbstractLibraryPlugin.prototype.strictRuntimeBailout){P.strictRuntimeBailout.tap(E,(E=>{const P=getOptionsForChunk(E.chunk);if(P===false)return;return this.strictRuntimeBailout(E,{options:P,compilation:v,chunkGraph:v.chunkGraph})}))}if(this.renderStartup!==AbstractLibraryPlugin.prototype.renderStartup){P.renderStartup.tap(E,((E,P,R)=>{const $=getOptionsForChunk(R.chunk);if($===false)return E;return this.renderStartup(E,P,R,{options:$,compilation:v,chunkGraph:v.chunkGraph})}))}P.chunkHash.tap(E,((E,P,R)=>{const $=getOptionsForChunk(E);if($===false)return;this.chunkHash(E,P,R,{options:$,compilation:v,chunkGraph:v.chunkGraph})}))}))}_parseOptionsCached(v){if(!v)return false;if(v.type!==this._type)return false;const E=this._parseCache.get(v);if(E!==undefined)return E;const P=this.parseOptions(v);this._parseCache.set(v,P);return P}parseOptions(v){const E=P(86478);throw new E}finishEntryModule(v,E,P){}embedInRuntimeBailout(v,E,P){return undefined}strictRuntimeBailout(v,E){return undefined}runtimeRequirements(v,E,P){if(this.render!==AbstractLibraryPlugin.prototype.render)E.add(R.returnExportsFromRuntime)}render(v,E,P){return v}renderStartup(v,E,P,R){return v}chunkHash(v,E,P,R){const $=this._parseOptionsCached(R.compilation.outputOptions.library);E.update(this._pluginName);E.update(JSON.stringify($))}}AbstractLibraryPlugin.COMMON_LIBRARY_NAME_MESSAGE=N;v.exports=AbstractLibraryPlugin},71329:function(v,E,P){"use strict";const{ConcatSource:R}=P(51255);const $=P(645);const N=P(35600);const L=P(57320);class AmdLibraryPlugin extends L{constructor(v){super({pluginName:"AmdLibraryPlugin",type:v.type});this.requireAsWrapper=v.requireAsWrapper}parseOptions(v){const{name:E,amdContainer:P}=v;if(this.requireAsWrapper){if(E){throw new Error(`AMD library name must be unset. ${L.COMMON_LIBRARY_NAME_MESSAGE}`)}}else{if(E&&typeof E!=="string"){throw new Error(`AMD library name must be a simple string or unset. ${L.COMMON_LIBRARY_NAME_MESSAGE}`)}}return{name:E,amdContainer:P}}render(v,{chunkGraph:E,chunk:P,runtimeTemplate:L},{options:q,compilation:K}){const ae=L.supportsArrowFunction();const ge=E.getChunkModules(P).filter((v=>v instanceof $&&(v.externalType==="amd"||v.externalType==="amd-require")));const be=ge;const xe=JSON.stringify(be.map((v=>typeof v.request==="object"&&!Array.isArray(v.request)?v.request.amd:v.request)));const ve=be.map((v=>`__WEBPACK_EXTERNAL_MODULE_${N.toIdentifier(`${E.getModuleId(v)}`)}__`)).join(", ");const Ae=L.isIIFE();const Ie=(ae?`(${ve}) => {`:`function(${ve}) {`)+(Ae||!P.hasRuntime()?" return ":"\n");const He=Ae?";\n}":"\n}";let Qe="";if(q.amdContainer){Qe=`${q.amdContainer}.`}if(this.requireAsWrapper){return new R(`${Qe}require(${xe}, ${Ie}`,v,`${He});`)}else if(q.name){const E=K.getPath(q.name,{chunk:P});return new R(`${Qe}define(${JSON.stringify(E)}, ${xe}, ${Ie}`,v,`${He});`)}else if(ve){return new R(`${Qe}define(${xe}, ${Ie}`,v,`${He});`)}else{return new R(`${Qe}define(${Ie}`,v,`${He});`)}}chunkHash(v,E,P,{options:R,compilation:$}){E.update("AmdLibraryPlugin");if(this.requireAsWrapper){E.update("requireAsWrapper")}else if(R.name){E.update("named");const P=$.getPath(R.name,{chunk:v});E.update(P)}else if(R.amdContainer){E.update("amdContainer");E.update(R.amdContainer)}}}v.exports=AmdLibraryPlugin},19496:function(v,E,P){"use strict";const{ConcatSource:R}=P(51255);const{UsageState:$}=P(32514);const N=P(75189);const L=P(35600);const q=P(53914);const{getEntryRuntime:K}=P(32681);const ae=P(57320);const ge=/^(await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|super|switch|static|this|throw|try|true|typeof|var|void|while|with|yield)$/;const be=/^[\p{L}\p{Nl}$_][\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}]*$/iu;const isNameValid=v=>!ge.test(v)&&be.test(v);const accessWithInit=(v,E,P=false)=>{const R=v[0];if(v.length===1&&!P)return R;let $=E>0?R:`(${R} = typeof ${R} === "undefined" ? {} : ${R})`;let N=1;let L;if(E>N){L=v.slice(1,E);N=E;$+=q(L)}else{L=[]}const K=P?v.length:v.length-1;for(;NP.getPath(v,{chunk:E})))}render(v,{chunk:E},{options:P,compilation:$}){const N=this._getResolvedFullName(P,E,$);if(this.declare){const E=N[0];if(!isNameValid(E)){throw new Error(`Library name base (${E}) must be a valid identifier when using a var declaring library type. Either use a valid identifier (e. g. ${L.toIdentifier(E)}) or use a different library type (e. g. 'type: "global"', which assign a property on the global scope instead of declaring a variable). ${ae.COMMON_LIBRARY_NAME_MESSAGE}`)}v=new R(`${this.declare} ${E};\n`,v)}return v}embedInRuntimeBailout(v,{chunk:E,codeGenerationResults:P},{options:R,compilation:$}){const{data:N}=P.get(v,E.runtime);const L=N&&N.get("topLevelDeclarations")||v.buildInfo&&v.buildInfo.topLevelDeclarations;if(!L)return"it doesn't tell about top level declarations.";const q=this._getResolvedFullName(R,E,$);const K=q[0];if(L.has(K))return`it declares '${K}' on top-level, which conflicts with the current library output.`}strictRuntimeBailout({chunk:v},{options:E,compilation:P}){if(this.declare||this.prefix==="global"||this.prefix.length>0||!E.name){return}return"a global variable is assign and maybe created"}renderStartup(v,E,{moduleGraph:P,chunk:$},{options:L,compilation:K}){const ae=this._getResolvedFullName(L,$,K);const ge=this.unnamed==="static";const be=L.export?q(Array.isArray(L.export)?L.export:[L.export]):"";const xe=new R(v);if(ge){const v=P.getExportsInfo(E);const R=accessWithInit(ae,this._getPrefix(K).length,true);for(const E of v.orderedExports){if(!E.provided)continue;const v=q([E.name]);xe.add(`${R}${v} = ${N.exports}${be}${v};\n`)}xe.add(`Object.defineProperty(${R}, "__esModule", { value: true });\n`)}else if(L.name?this.named==="copy":this.unnamed==="copy"){xe.add(`var __webpack_export_target__ = ${accessWithInit(ae,this._getPrefix(K).length,true)};\n`);let v=N.exports;if(be){xe.add(`var __webpack_exports_export__ = ${N.exports}${be};\n`);v="__webpack_exports_export__"}xe.add(`for(var i in ${v}) __webpack_export_target__[i] = ${v}[i];\n`);xe.add(`if(${v}.__esModule) Object.defineProperty(__webpack_export_target__, "__esModule", { value: true });\n`)}else{xe.add(`${accessWithInit(ae,this._getPrefix(K).length,false)} = ${N.exports}${be};\n`)}return xe}runtimeRequirements(v,E,P){}chunkHash(v,E,P,{options:R,compilation:$}){E.update("AssignLibraryPlugin");const N=this._getResolvedFullName(R,v,$);if(R.name?this.named==="copy":this.unnamed==="copy"){E.update("copy")}if(this.declare){E.update(this.declare)}E.update(N.join("."));if(R.export){E.update(`${R.export}`)}}}v.exports=AssignLibraryPlugin},15267:function(v,E,P){"use strict";const R=new WeakMap;const getEnabledTypes=v=>{let E=R.get(v);if(E===undefined){E=new Set;R.set(v,E)}return E};class EnableLibraryPlugin{constructor(v){this.type=v}static setEnabled(v,E){getEnabledTypes(v).add(E)}static checkEnabled(v,E){if(!getEnabledTypes(v).has(E)){throw new Error(`Library type "${E}" is not enabled. `+"EnableLibraryPlugin need to be used to enable this type of library. "+'This usually happens through the "output.enabledLibraryTypes" option. '+'If you are using a function as entry which sets "library", you need to add all potential library types to "output.enabledLibraryTypes". '+"These types are enabled: "+Array.from(getEnabledTypes(v)).join(", "))}}apply(v){const{type:E}=this;const R=getEnabledTypes(v);if(R.has(E))return;R.add(E);if(typeof E==="string"){const enableExportProperty=()=>{const R=P(47976);new R({type:E,nsObjectUsed:E!=="module"}).apply(v)};switch(E){case"var":{const R=P(19496);new R({type:E,prefix:[],declare:"var",unnamed:"error"}).apply(v);break}case"assign-properties":{const R=P(19496);new R({type:E,prefix:[],declare:false,unnamed:"error",named:"copy"}).apply(v);break}case"assign":{const R=P(19496);new R({type:E,prefix:[],declare:false,unnamed:"error"}).apply(v);break}case"this":{const R=P(19496);new R({type:E,prefix:["this"],declare:false,unnamed:"copy"}).apply(v);break}case"window":{const R=P(19496);new R({type:E,prefix:["window"],declare:false,unnamed:"copy"}).apply(v);break}case"self":{const R=P(19496);new R({type:E,prefix:["self"],declare:false,unnamed:"copy"}).apply(v);break}case"global":{const R=P(19496);new R({type:E,prefix:"global",declare:false,unnamed:"copy"}).apply(v);break}case"commonjs":{const R=P(19496);new R({type:E,prefix:["exports"],declare:false,unnamed:"copy"}).apply(v);break}case"commonjs-static":{const R=P(19496);new R({type:E,prefix:["exports"],declare:false,unnamed:"static"}).apply(v);break}case"commonjs2":case"commonjs-module":{const R=P(19496);new R({type:E,prefix:["module","exports"],declare:false,unnamed:"assign"}).apply(v);break}case"amd":case"amd-require":{enableExportProperty();const R=P(71329);new R({type:E,requireAsWrapper:E==="amd-require"}).apply(v);break}case"umd":case"umd2":{enableExportProperty();const R=P(51950);new R({type:E,optionalAmdExternalAsGlobal:E==="umd2"}).apply(v);break}case"system":{enableExportProperty();const R=P(63503);new R({type:E}).apply(v);break}case"jsonp":{enableExportProperty();const R=P(77749);new R({type:E}).apply(v);break}case"module":{enableExportProperty();const R=P(35844);new R({type:E}).apply(v);break}default:throw new Error(`Unsupported library type ${E}.\nPlugins which provide custom library types must call EnableLibraryPlugin.setEnabled(compiler, type) to disable this error.`)}}else{}}}v.exports=EnableLibraryPlugin},47976:function(v,E,P){"use strict";const{ConcatSource:R}=P(51255);const{UsageState:$}=P(32514);const N=P(75189);const L=P(53914);const{getEntryRuntime:q}=P(32681);const K=P(57320);class ExportPropertyLibraryPlugin extends K{constructor({type:v,nsObjectUsed:E}){super({pluginName:"ExportPropertyLibraryPlugin",type:v});this.nsObjectUsed=E}parseOptions(v){return{export:v.export}}finishEntryModule(v,E,{options:P,compilation:R,compilation:{moduleGraph:N}}){const L=q(R,E);if(P.export){const E=N.getExportInfo(v,Array.isArray(P.export)?P.export[0]:P.export);E.setUsed($.Used,L);E.canMangleUse=false}else{const E=N.getExportsInfo(v);if(this.nsObjectUsed){E.setUsedInUnknownWay(L)}else{E.setAllKnownExportsUsed(L)}}N.addExtraReason(v,"used as library export")}runtimeRequirements(v,E,P){}renderStartup(v,E,P,{options:$}){if(!$.export)return v;const q=`${N.exports} = ${N.exports}${L(Array.isArray($.export)?$.export:[$.export])};\n`;return new R(v,q)}}v.exports=ExportPropertyLibraryPlugin},77749:function(v,E,P){"use strict";const{ConcatSource:R}=P(51255);const $=P(57320);class JsonpLibraryPlugin extends ${constructor(v){super({pluginName:"JsonpLibraryPlugin",type:v.type})}parseOptions(v){const{name:E}=v;if(typeof E!=="string"){throw new Error(`Jsonp library name must be a simple string. ${$.COMMON_LIBRARY_NAME_MESSAGE}`)}return{name:E}}render(v,{chunk:E},{options:P,compilation:$}){const N=$.getPath(P.name,{chunk:E});return new R(`${N}(`,v,")")}chunkHash(v,E,P,{options:R,compilation:$}){E.update("JsonpLibraryPlugin");E.update($.getPath(R.name,{chunk:v}))}}v.exports=JsonpLibraryPlugin},35844:function(v,E,P){"use strict";const{ConcatSource:R}=P(51255);const $=P(75189);const N=P(35600);const L=P(53914);const q=P(57320);class ModuleLibraryPlugin extends q{constructor(v){super({pluginName:"ModuleLibraryPlugin",type:v.type})}parseOptions(v){const{name:E}=v;if(E){throw new Error(`Library name must be unset. ${q.COMMON_LIBRARY_NAME_MESSAGE}`)}return{name:E}}renderStartup(v,E,{moduleGraph:P,chunk:q},{options:K,compilation:ae}){const ge=new R(v);const be=P.getExportsInfo(E);const xe=[];const ve=P.isAsync(E);if(ve){ge.add(`${$.exports} = await ${$.exports};\n`)}for(const v of be.orderedExports){if(!v.provided)continue;const E=`${$.exports}${N.toIdentifier(v.name)}`;ge.add(`var ${E} = ${$.exports}${L([v.getUsedName(v.name,q.runtime)])};\n`);xe.push(`${E} as ${v.name}`)}if(xe.length>0){ge.add(`export { ${xe.join(", ")} };\n`)}return ge}}v.exports=ModuleLibraryPlugin},63503:function(v,E,P){"use strict";const{ConcatSource:R}=P(51255);const{UsageState:$}=P(32514);const N=P(645);const L=P(35600);const q=P(53914);const K=P(57320);class SystemLibraryPlugin extends K{constructor(v){super({pluginName:"SystemLibraryPlugin",type:v.type})}parseOptions(v){const{name:E}=v;if(E&&typeof E!=="string"){throw new Error(`System.js library name must be a simple string or unset. ${K.COMMON_LIBRARY_NAME_MESSAGE}`)}return{name:E}}render(v,{chunkGraph:E,moduleGraph:P,chunk:K},{options:ae,compilation:ge}){const be=E.getChunkModules(K).filter((v=>v instanceof N&&v.externalType==="system"));const xe=be;const ve=ae.name?`${JSON.stringify(ge.getPath(ae.name,{chunk:K}))}, `:"";const Ae=JSON.stringify(xe.map((v=>typeof v.request==="object"&&!Array.isArray(v.request)?v.request.amd:v.request)));const Ie="__WEBPACK_DYNAMIC_EXPORT__";const He=xe.map((v=>`__WEBPACK_EXTERNAL_MODULE_${L.toIdentifier(`${E.getModuleId(v)}`)}__`));const Qe=He.map((v=>`var ${v} = {};`)).join("\n");const Je=[];const Ve=He.length===0?"":L.asString(["setters: [",L.indent(xe.map(((v,E)=>{const R=He[E];const N=P.getExportsInfo(v);const ae=N.otherExportsInfo.getUsed(K.runtime)===$.Unused;const ge=[];const be=[];for(const v of N.orderedExports){const E=v.getUsedName(undefined,K.runtime);if(E){if(ae||E!==v.name){ge.push(`${R}${q([E])} = module${q([v.name])};`);be.push(v.name)}}else{be.push(v.name)}}if(!ae){if(!Array.isArray(v.request)||v.request.length===1){Je.push(`Object.defineProperty(${R}, "__esModule", { value: true });`)}if(be.length>0){const v=`${R}handledNames`;Je.push(`var ${v} = ${JSON.stringify(be)};`);ge.push(L.asString(["Object.keys(module).forEach(function(key) {",L.indent([`if(${v}.indexOf(key) >= 0)`,L.indent(`${R}[key] = module[key];`)]),"});"]))}else{ge.push(L.asString(["Object.keys(module).forEach(function(key) {",L.indent([`${R}[key] = module[key];`]),"});"]))}}if(ge.length===0)return"function() {}";return L.asString(["function(module) {",L.indent(ge),"}"])})).join(",\n")),"],"]);return new R(L.asString([`System.register(${ve}${Ae}, function(${Ie}, __system_context__) {`,L.indent([Qe,L.asString(Je),"return {",L.indent([Ve,"execute: function() {",L.indent(`${Ie}(`)])]),""]),v,L.asString(["",L.indent([L.indent([L.indent([");"]),"}"]),"};"]),"})"]))}chunkHash(v,E,P,{options:R,compilation:$}){E.update("SystemLibraryPlugin");if(R.name){E.update($.getPath(R.name,{chunk:v}))}}}v.exports=SystemLibraryPlugin},51950:function(v,E,P){"use strict";const{ConcatSource:R,OriginalSource:$}=P(51255);const N=P(645);const L=P(35600);const q=P(57320);const accessorToObjectAccess=v=>v.map((v=>`[${JSON.stringify(v)}]`)).join("");const accessorAccess=(v,E,P=", ")=>{const R=Array.isArray(E)?E:[E];return R.map(((E,P)=>{const $=v?v+accessorToObjectAccess(R.slice(0,P+1)):R[0]+accessorToObjectAccess(R.slice(1,P+1));if(P===R.length-1)return $;if(P===0&&v===undefined)return`${$} = typeof ${$} === "object" ? ${$} : {}`;return`${$} = ${$} || {}`})).join(P)};class UmdLibraryPlugin extends q{constructor(v){super({pluginName:"UmdLibraryPlugin",type:v.type});this.optionalAmdExternalAsGlobal=v.optionalAmdExternalAsGlobal}parseOptions(v){let E;let P;if(typeof v.name==="object"&&!Array.isArray(v.name)){E=v.name.root||v.name.amd||v.name.commonjs;P=v.name}else{E=v.name;const R=Array.isArray(E)?E[0]:E;P={commonjs:R,root:v.name,amd:R}}return{name:E,names:P,auxiliaryComment:v.auxiliaryComment,namedDefine:v.umdNamedDefine}}render(v,{chunkGraph:E,runtimeTemplate:P,chunk:q,moduleGraph:K},{options:ae,compilation:ge}){const be=E.getChunkModules(q).filter((v=>v instanceof N&&(v.externalType==="umd"||v.externalType==="umd2")));let xe=be;const ve=[];let Ae=[];if(this.optionalAmdExternalAsGlobal){for(const v of xe){if(v.isOptional(K)){ve.push(v)}else{Ae.push(v)}}xe=Ae.concat(ve)}else{Ae=xe}const replaceKeys=v=>ge.getPath(v,{chunk:q});const externalsDepsArray=v=>`[${replaceKeys(v.map((v=>JSON.stringify(typeof v.request==="object"?v.request.amd:v.request))).join(", "))}]`;const externalsRootArray=v=>replaceKeys(v.map((v=>{let E=v.request;if(typeof E==="object")E=E.root;return`root${accessorToObjectAccess([].concat(E))}`})).join(", "));const externalsRequireArray=v=>replaceKeys(xe.map((E=>{let P;let R=E.request;if(typeof R==="object"){R=R[v]}if(R===undefined){throw new Error("Missing external configuration for type:"+v)}if(Array.isArray(R)){P=`require(${JSON.stringify(R[0])})${accessorToObjectAccess(R.slice(1))}`}else{P=`require(${JSON.stringify(R)})`}if(E.isOptional(K)){P=`(function webpackLoadOptionalExternalModule() { try { return ${P}; } catch(e) {} }())`}return P})).join(", "));const externalsArguments=v=>v.map((v=>`__WEBPACK_EXTERNAL_MODULE_${L.toIdentifier(`${E.getModuleId(v)}`)}__`)).join(", ");const libraryName=v=>JSON.stringify(replaceKeys([].concat(v).pop()));let Ie;if(ve.length>0){const v=externalsArguments(Ae);const E=Ae.length>0?externalsArguments(Ae)+", "+externalsRootArray(ve):externalsRootArray(ve);Ie=`function webpackLoadOptionalExternalModuleAmd(${v}) {\n`+`\t\t\treturn factory(${E});\n`+"\t\t}"}else{Ie="factory"}const{auxiliaryComment:He,namedDefine:Qe,names:Je}=ae;const getAuxiliaryComment=v=>{if(He){if(typeof He==="string")return"\t//"+He+"\n";if(He[v])return"\t//"+He[v]+"\n"}return""};return new R(new $("(function webpackUniversalModuleDefinition(root, factory) {\n"+getAuxiliaryComment("commonjs2")+"\tif(typeof exports === 'object' && typeof module === 'object')\n"+"\t\tmodule.exports = factory("+externalsRequireArray("commonjs2")+");\n"+getAuxiliaryComment("amd")+"\telse if(typeof define === 'function' && define.amd)\n"+(Ae.length>0?Je.amd&&Qe===true?"\t\tdefine("+libraryName(Je.amd)+", "+externalsDepsArray(Ae)+", "+Ie+");\n":"\t\tdefine("+externalsDepsArray(Ae)+", "+Ie+");\n":Je.amd&&Qe===true?"\t\tdefine("+libraryName(Je.amd)+", [], "+Ie+");\n":"\t\tdefine([], "+Ie+");\n")+(Je.root||Je.commonjs?getAuxiliaryComment("commonjs")+"\telse if(typeof exports === 'object')\n"+"\t\texports["+libraryName(Je.commonjs||Je.root)+"] = factory("+externalsRequireArray("commonjs")+");\n"+getAuxiliaryComment("root")+"\telse\n"+"\t\t"+replaceKeys(accessorAccess("root",Je.root||Je.commonjs))+" = factory("+externalsRootArray(xe)+");\n":"\telse {\n"+(xe.length>0?"\t\tvar a = typeof exports === 'object' ? factory("+externalsRequireArray("commonjs")+") : factory("+externalsRootArray(xe)+");\n":"\t\tvar a = factory();\n")+"\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n"+"\t}\n")+`})(${P.outputOptions.globalObject}, ${P.supportsArrowFunction()?`(${externalsArguments(xe)}) =>`:`function(${externalsArguments(xe)})`} {\nreturn `,"webpack/universalModuleDefinition"),v,";\n})")}}v.exports=UmdLibraryPlugin},48340:function(v,E){"use strict";const P=Object.freeze({error:"error",warn:"warn",info:"info",log:"log",debug:"debug",trace:"trace",group:"group",groupCollapsed:"groupCollapsed",groupEnd:"groupEnd",profile:"profile",profileEnd:"profileEnd",time:"time",clear:"clear",status:"status"});E.LogType=P;const R=Symbol("webpack logger raw log method");const $=Symbol("webpack logger times");const N=Symbol("webpack logger aggregated times");class WebpackLogger{constructor(v,E){this[R]=v;this.getChildLogger=E}error(...v){this[R](P.error,v)}warn(...v){this[R](P.warn,v)}info(...v){this[R](P.info,v)}log(...v){this[R](P.log,v)}debug(...v){this[R](P.debug,v)}assert(v,...E){if(!v){this[R](P.error,E)}}trace(){this[R](P.trace,["Trace"])}clear(){this[R](P.clear)}status(...v){this[R](P.status,v)}group(...v){this[R](P.group,v)}groupCollapsed(...v){this[R](P.groupCollapsed,v)}groupEnd(...v){this[R](P.groupEnd,v)}profile(v){this[R](P.profile,[v])}profileEnd(v){this[R](P.profileEnd,[v])}time(v){this[$]=this[$]||new Map;this[$].set(v,process.hrtime())}timeLog(v){const E=this[$]&&this[$].get(v);if(!E){throw new Error(`No such label '${v}' for WebpackLogger.timeLog()`)}const N=process.hrtime(E);this[R](P.time,[v,...N])}timeEnd(v){const E=this[$]&&this[$].get(v);if(!E){throw new Error(`No such label '${v}' for WebpackLogger.timeEnd()`)}const N=process.hrtime(E);this[$].delete(v);this[R](P.time,[v,...N])}timeAggregate(v){const E=this[$]&&this[$].get(v);if(!E){throw new Error(`No such label '${v}' for WebpackLogger.timeAggregate()`)}const P=process.hrtime(E);this[$].delete(v);this[N]=this[N]||new Map;const R=this[N].get(v);if(R!==undefined){if(P[1]+R[1]>1e9){P[0]+=R[0]+1;P[1]=P[1]-1e9+R[1]}else{P[0]+=R[0];P[1]+=R[1]}}this[N].set(v,P)}timeAggregateEnd(v){if(this[N]===undefined)return;const E=this[N].get(v);if(E===undefined)return;this[N].delete(v);this[R](P.time,[v,...E])}}E.Logger=WebpackLogger},12151:function(v,E,P){"use strict";const{LogType:R}=P(48340);const filterToFunction=v=>{if(typeof v==="string"){const E=new RegExp(`[\\\\/]${v.replace(/[-[\]{}()*+?.\\^$|]/g,"\\$&")}([\\\\/]|$|!|\\?)`);return v=>E.test(v)}if(v&&typeof v==="object"&&typeof v.test==="function"){return E=>v.test(E)}if(typeof v==="function"){return v}if(typeof v==="boolean"){return()=>v}};const $={none:6,false:6,error:5,warn:4,info:3,log:2,true:2,verbose:1};v.exports=({level:v="info",debug:E=false,console:P})=>{const N=typeof E==="boolean"?[()=>E]:[].concat(E).map(filterToFunction);const L=$[`${v}`]||0;const logger=(v,E,q)=>{const labeledArgs=()=>{if(Array.isArray(q)){if(q.length>0&&typeof q[0]==="string"){return[`[${v}] ${q[0]}`,...q.slice(1)]}else{return[`[${v}]`,...q]}}else{return[]}};const K=N.some((E=>E(v)));switch(E){case R.debug:if(!K)return;if(typeof P.debug==="function"){P.debug(...labeledArgs())}else{P.log(...labeledArgs())}break;case R.log:if(!K&&L>$.log)return;P.log(...labeledArgs());break;case R.info:if(!K&&L>$.info)return;P.info(...labeledArgs());break;case R.warn:if(!K&&L>$.warn)return;P.warn(...labeledArgs());break;case R.error:if(!K&&L>$.error)return;P.error(...labeledArgs());break;case R.trace:if(!K)return;P.trace();break;case R.groupCollapsed:if(!K&&L>$.log)return;if(!K&&L>$.verbose){if(typeof P.groupCollapsed==="function"){P.groupCollapsed(...labeledArgs())}else{P.log(...labeledArgs())}break}case R.group:if(!K&&L>$.log)return;if(typeof P.group==="function"){P.group(...labeledArgs())}else{P.log(...labeledArgs())}break;case R.groupEnd:if(!K&&L>$.log)return;if(typeof P.groupEnd==="function"){P.groupEnd()}break;case R.time:{if(!K&&L>$.log)return;const E=q[1]*1e3+q[2]/1e6;const R=`[${v}] ${q[0]}: ${E} ms`;if(typeof P.logTime==="function"){P.logTime(R)}else{P.log(R)}break}case R.profile:if(typeof P.profile==="function"){P.profile(...labeledArgs())}break;case R.profileEnd:if(typeof P.profileEnd==="function"){P.profileEnd(...labeledArgs())}break;case R.clear:if(!K&&L>$.log)return;if(typeof P.clear==="function"){P.clear()}break;case R.status:if(!K&&L>$.info)return;if(typeof P.status==="function"){if(q.length===0){P.status()}else{P.status(...labeledArgs())}}else{if(q.length!==0){P.info(...labeledArgs())}}break;default:throw new Error(`Unexpected LogType ${E}`)}};return logger}},46033:function(v){"use strict";const arraySum=v=>{let E=0;for(const P of v)E+=P;return E};const truncateArgs=(v,E)=>{const P=v.map((v=>`${v}`.length));const R=E-P.length+1;if(R>0&&v.length===1){if(R>=v[0].length){return v}else if(R>3){return["..."+v[0].slice(-R+3)]}else{return[v[0].slice(-R)]}}if(RMath.min(v,6))))){if(v.length>1)return truncateArgs(v.slice(0,v.length-1),E);return[]}let $=arraySum(P);if($<=R)return v;while($>R){const v=Math.max(...P);const E=P.filter((E=>E!==v));const N=E.length>0?Math.max(...E):0;const L=v-N;let q=P.length-E.length;let K=$-R;for(let E=0;E{const R=`${v}`;const $=P[E];if(R.length===$){return R}else if($>5){return"..."+R.slice(-$+3)}else if($>0){return R.slice(-$)}else{return""}}))};v.exports=truncateArgs},15726:function(v,E,P){"use strict";const R=P(75189);const $=P(14633);class CommonJsChunkLoadingPlugin{constructor(v={}){this._asyncChunkLoading=v.asyncChunkLoading}apply(v){const E=this._asyncChunkLoading?P(80817):P(23630);const N=this._asyncChunkLoading?"async-node":"require";new $({chunkLoading:N,asyncChunkLoading:this._asyncChunkLoading}).apply(v);v.hooks.thisCompilation.tap("CommonJsChunkLoadingPlugin",(v=>{const P=v.outputOptions.chunkLoading;const isEnabledForChunk=v=>{const E=v.getEntryOptions();const R=E&&E.chunkLoading!==undefined?E.chunkLoading:P;return R===N};const $=new WeakSet;const handler=(P,N)=>{if($.has(P))return;$.add(P);if(!isEnabledForChunk(P))return;N.add(R.moduleFactoriesAddOnly);N.add(R.hasOwnProperty);v.addRuntimeModule(P,new E(N))};v.hooks.runtimeRequirementInTree.for(R.ensureChunkHandlers).tap("CommonJsChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.hmrDownloadUpdateHandlers).tap("CommonJsChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.hmrDownloadManifest).tap("CommonJsChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.baseURI).tap("CommonJsChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.externalInstallChunk).tap("CommonJsChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.onChunksLoaded).tap("CommonJsChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.ensureChunkHandlers).tap("CommonJsChunkLoadingPlugin",((v,E)=>{if(!isEnabledForChunk(v))return;E.add(R.getChunkScriptFilename)}));v.hooks.runtimeRequirementInTree.for(R.hmrDownloadUpdateHandlers).tap("CommonJsChunkLoadingPlugin",((v,E)=>{if(!isEnabledForChunk(v))return;E.add(R.getChunkUpdateScriptFilename);E.add(R.moduleCache);E.add(R.hmrModuleData);E.add(R.moduleFactoriesAddOnly)}));v.hooks.runtimeRequirementInTree.for(R.hmrDownloadManifest).tap("CommonJsChunkLoadingPlugin",((v,E)=>{if(!isEnabledForChunk(v))return;E.add(R.getUpdateManifestFilename)}))}))}}v.exports=CommonJsChunkLoadingPlugin},79265:function(v,E,P){"use strict";const R=P(82755);const $=P(56450);const N=P(12151);const L=P(26362);const q=P(1349);class NodeEnvironmentPlugin{constructor(v){this.options=v}apply(v){const{infrastructureLogging:E}=this.options;v.infrastructureLogger=N({level:E.level||"info",debug:E.debug||false,console:E.console||q({colors:E.colors,appendOnly:E.appendOnly,stream:E.stream})});v.inputFileSystem=new R($,6e4);const P=v.inputFileSystem;v.outputFileSystem=$;v.intermediateFileSystem=$;v.watchFileSystem=new L(v.inputFileSystem);v.hooks.beforeRun.tap("NodeEnvironmentPlugin",(v=>{if(v.inputFileSystem===P){v.fsStartTime=Date.now();P.purge()}}))}}v.exports=NodeEnvironmentPlugin},77787:function(v){"use strict";class NodeSourcePlugin{apply(v){}}v.exports=NodeSourcePlugin},29541:function(v,E,P){"use strict";const R=P(24752);const $=["assert","assert/strict","async_hooks","buffer","child_process","cluster","console","constants","crypto","dgram","diagnostics_channel","dns","dns/promises","domain","events","fs","fs/promises","http","http2","https","inspector","inspector/promises","module","net","os","path","path/posix","path/win32","perf_hooks","process","punycode","querystring","readline","readline/promises","repl","stream","stream/consumers","stream/promises","stream/web","string_decoder","sys","timers","timers/promises","tls","trace_events","tty","url","util","util/types","v8","vm","wasi","worker_threads","zlib",/^node:/,"pnpapi"];class NodeTargetPlugin{apply(v){new R("node-commonjs",$).apply(v)}}v.exports=NodeTargetPlugin},31494:function(v,E,P){"use strict";const R=P(21292);const $=P(87942);class NodeTemplatePlugin{constructor(v={}){this._options=v}apply(v){const E=this._options.asyncChunkLoading?"async-node":"require";v.options.output.chunkLoading=E;(new R).apply(v);new $(E).apply(v)}}v.exports=NodeTemplatePlugin},26362:function(v,E,P){"use strict";const R=P(73837);const $=P(36871);class NodeWatchFileSystem{constructor(v){this.inputFileSystem=v;this.watcherOptions={aggregateTimeout:0};this.watcher=new $(this.watcherOptions)}watch(v,E,P,N,L,q,K){if(!v||typeof v[Symbol.iterator]!=="function"){throw new Error("Invalid arguments: 'files'")}if(!E||typeof E[Symbol.iterator]!=="function"){throw new Error("Invalid arguments: 'directories'")}if(!P||typeof P[Symbol.iterator]!=="function"){throw new Error("Invalid arguments: 'missing'")}if(typeof q!=="function"){throw new Error("Invalid arguments: 'callback'")}if(typeof N!=="number"&&N){throw new Error("Invalid arguments: 'startTime'")}if(typeof L!=="object"){throw new Error("Invalid arguments: 'options'")}if(typeof K!=="function"&&K){throw new Error("Invalid arguments: 'callbackUndelayed'")}const ae=this.watcher;this.watcher=new $(L);if(K){this.watcher.once("change",K)}const fetchTimeInfo=()=>{const v=new Map;const E=new Map;if(this.watcher){this.watcher.collectTimeInfoEntries(v,E)}return{fileTimeInfoEntries:v,contextTimeInfoEntries:E}};this.watcher.once("aggregated",((v,E)=>{this.watcher.pause();if(this.inputFileSystem&&this.inputFileSystem.purge){const P=this.inputFileSystem;for(const E of v){P.purge(E)}for(const v of E){P.purge(v)}}const{fileTimeInfoEntries:P,contextTimeInfoEntries:R}=fetchTimeInfo();q(null,P,R,v,E)}));this.watcher.watch({files:v,directories:E,missing:P,startTime:N});if(ae){ae.close()}return{close:()=>{if(this.watcher){this.watcher.close();this.watcher=null}},pause:()=>{if(this.watcher){this.watcher.pause()}},getAggregatedRemovals:R.deprecate((()=>{const v=this.watcher&&this.watcher.aggregatedRemovals;if(v&&this.inputFileSystem&&this.inputFileSystem.purge){const E=this.inputFileSystem;for(const P of v){E.purge(P)}}return v}),"Watcher.getAggregatedRemovals is deprecated in favor of Watcher.getInfo since that's more performant.","DEP_WEBPACK_WATCHER_GET_AGGREGATED_REMOVALS"),getAggregatedChanges:R.deprecate((()=>{const v=this.watcher&&this.watcher.aggregatedChanges;if(v&&this.inputFileSystem&&this.inputFileSystem.purge){const E=this.inputFileSystem;for(const P of v){E.purge(P)}}return v}),"Watcher.getAggregatedChanges is deprecated in favor of Watcher.getInfo since that's more performant.","DEP_WEBPACK_WATCHER_GET_AGGREGATED_CHANGES"),getFileTimeInfoEntries:R.deprecate((()=>fetchTimeInfo().fileTimeInfoEntries),"Watcher.getFileTimeInfoEntries is deprecated in favor of Watcher.getInfo since that's more performant.","DEP_WEBPACK_WATCHER_FILE_TIME_INFO_ENTRIES"),getContextTimeInfoEntries:R.deprecate((()=>fetchTimeInfo().contextTimeInfoEntries),"Watcher.getContextTimeInfoEntries is deprecated in favor of Watcher.getInfo since that's more performant.","DEP_WEBPACK_WATCHER_CONTEXT_TIME_INFO_ENTRIES"),getInfo:()=>{const v=this.watcher&&this.watcher.aggregatedRemovals;const E=this.watcher&&this.watcher.aggregatedChanges;if(this.inputFileSystem&&this.inputFileSystem.purge){const P=this.inputFileSystem;if(v){for(const E of v){P.purge(E)}}if(E){for(const v of E){P.purge(v)}}}const{fileTimeInfoEntries:P,contextTimeInfoEntries:R}=fetchTimeInfo();return{changes:E,removals:v,fileTimeInfoEntries:P,contextTimeInfoEntries:R}}}}}v.exports=NodeWatchFileSystem},80817:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);const N=P(35600);const{chunkHasJs:L,getChunkFilenameTemplate:q}=P(87885);const{getInitialChunkIds:K}=P(854);const ae=P(41516);const{getUndoPath:ge}=P(94778);class ReadFileChunkLoadingRuntimeModule extends ${constructor(v){super("readFile chunk loading",$.STAGE_ATTACH);this.runtimeRequirements=v}_generateBaseUri(v,E){const P=v.getEntryOptions();if(P&&P.baseUri){return`${R.baseURI} = ${JSON.stringify(P.baseUri)};`}return`${R.baseURI} = require("url").pathToFileURL(${E?`__dirname + ${JSON.stringify("/"+E)}`:"__filename"});`}generate(){const v=this.compilation;const E=this.chunkGraph;const P=this.chunk;const{runtimeTemplate:$}=v;const be=R.ensureChunkHandlers;const xe=this.runtimeRequirements.has(R.baseURI);const ve=this.runtimeRequirements.has(R.externalInstallChunk);const Ae=this.runtimeRequirements.has(R.onChunksLoaded);const Ie=this.runtimeRequirements.has(R.ensureChunkHandlers);const He=this.runtimeRequirements.has(R.hmrDownloadUpdateHandlers);const Qe=this.runtimeRequirements.has(R.hmrDownloadManifest);const Je=E.getChunkConditionMap(P,L);const Ve=ae(Je);const Ke=K(P,E,L);const Ye=v.getPath(q(P,v.outputOptions),{chunk:P,contentHashType:"javascript"});const Xe=ge(Ye,v.outputOptions.path,false);const Ze=He?`${R.hmrRuntimeStatePrefix}_readFileVm`:undefined;return N.asString([xe?this._generateBaseUri(P,Xe):"// no baseURI","","// object to store loaded chunks",'// "0" means "already loaded", Promise means loading',`var installedChunks = ${Ze?`${Ze} = ${Ze} || `:""}{`,N.indent(Array.from(Ke,(v=>`${JSON.stringify(v)}: 0`)).join(",\n")),"};","",Ae?`${R.onChunksLoaded}.readFileVm = ${$.returningFunction("installedChunks[chunkId] === 0","chunkId")};`:"// no on chunks loaded","",Ie||ve?`var installChunk = ${$.basicFunction("chunk",["var moreModules = chunk.modules, chunkIds = chunk.ids, runtime = chunk.runtime;","for(var moduleId in moreModules) {",N.indent([`if(${R.hasOwnProperty}(moreModules, moduleId)) {`,N.indent([`${R.moduleFactories}[moduleId] = moreModules[moduleId];`]),"}"]),"}",`if(runtime) runtime(${R.require});`,"for(var i = 0; i < chunkIds.length; i++) {",N.indent(["if(installedChunks[chunkIds[i]]) {",N.indent(["installedChunks[chunkIds[i]][0]();"]),"}","installedChunks[chunkIds[i]] = 0;"]),"}",Ae?`${R.onChunksLoaded}();`:""])};`:"// no chunk install function needed","",Ie?N.asString(["// ReadFile + VM.run chunk loading for javascript",`${be}.readFileVm = function(chunkId, promises) {`,Ve!==false?N.indent(["","var installedChunkData = installedChunks[chunkId];",'if(installedChunkData !== 0) { // 0 means "already installed".',N.indent(['// array of [resolve, reject, promise] means "currently loading"',"if(installedChunkData) {",N.indent(["promises.push(installedChunkData[2]);"]),"} else {",N.indent([Ve===true?"if(true) { // all chunks have JS":`if(${Ve("chunkId")}) {`,N.indent(["// load the chunk and return promise to it","var promise = new Promise(function(resolve, reject) {",N.indent(["installedChunkData = installedChunks[chunkId] = [resolve, reject];",`var filename = require('path').join(__dirname, ${JSON.stringify(Xe)} + ${R.getChunkScriptFilename}(chunkId));`,"require('fs').readFile(filename, 'utf-8', function(err, content) {",N.indent(["if(err) return reject(err);","var chunk = {};","require('vm').runInThisContext('(function(exports, require, __dirname, __filename) {' + content + '\\n})', filename)"+"(chunk, require, require('path').dirname(filename), filename);","installChunk(chunk);"]),"});"]),"});","promises.push(installedChunkData[2] = promise);"]),Ve===true?"}":"} else installedChunks[chunkId] = 0;"]),"}"]),"}"]):N.indent(["installedChunks[chunkId] = 0;"]),"};"]):"// no chunk loading","",ve?N.asString([`module.exports = ${R.require};`,`${R.externalInstallChunk} = installChunk;`]):"// no external install chunk","",He?N.asString(["function loadUpdateChunk(chunkId, updatedModulesList) {",N.indent(["return new Promise(function(resolve, reject) {",N.indent([`var filename = require('path').join(__dirname, ${JSON.stringify(Xe)} + ${R.getChunkUpdateScriptFilename}(chunkId));`,"require('fs').readFile(filename, 'utf-8', function(err, content) {",N.indent(["if(err) return reject(err);","var update = {};","require('vm').runInThisContext('(function(exports, require, __dirname, __filename) {' + content + '\\n})', filename)"+"(update, require, require('path').dirname(filename), filename);","var updatedModules = update.modules;","var runtime = update.runtime;","for(var moduleId in updatedModules) {",N.indent([`if(${R.hasOwnProperty}(updatedModules, moduleId)) {`,N.indent([`currentUpdate[moduleId] = updatedModules[moduleId];`,"if(updatedModulesList) updatedModulesList.push(moduleId);"]),"}"]),"}","if(runtime) currentUpdateRuntime.push(runtime);","resolve();"]),"});"]),"});"]),"}","",N.getFunctionContent(require("./JavascriptHotModuleReplacement.runtime.js")).replace(/\$key\$/g,"readFileVm").replace(/\$installedChunks\$/g,"installedChunks").replace(/\$loadUpdateChunk\$/g,"loadUpdateChunk").replace(/\$moduleCache\$/g,R.moduleCache).replace(/\$moduleFactories\$/g,R.moduleFactories).replace(/\$ensureChunkHandlers\$/g,R.ensureChunkHandlers).replace(/\$hasOwnProperty\$/g,R.hasOwnProperty).replace(/\$hmrModuleData\$/g,R.hmrModuleData).replace(/\$hmrDownloadUpdateHandlers\$/g,R.hmrDownloadUpdateHandlers).replace(/\$hmrInvalidateModuleHandlers\$/g,R.hmrInvalidateModuleHandlers)]):"// no HMR","",Qe?N.asString([`${R.hmrDownloadManifest} = function() {`,N.indent(["return new Promise(function(resolve, reject) {",N.indent([`var filename = require('path').join(__dirname, ${JSON.stringify(Xe)} + ${R.getUpdateManifestFilename}());`,"require('fs').readFile(filename, 'utf-8', function(err, content) {",N.indent(["if(err) {",N.indent(['if(err.code === "ENOENT") return resolve();',"return reject(err);"]),"}","try { resolve(JSON.parse(content)); }","catch(e) { reject(e); }"]),"});"]),"});"]),"}"]):"// no HMR manifest"])}}v.exports=ReadFileChunkLoadingRuntimeModule},39292:function(v,E,P){"use strict";const{WEBASSEMBLY_MODULE_TYPE_ASYNC:R}=P(98791);const $=P(75189);const N=P(35600);const L=P(84998);class ReadFileCompileAsyncWasmPlugin{constructor({type:v="async-node",import:E=false}={}){this._type=v;this._import=E}apply(v){v.hooks.thisCompilation.tap("ReadFileCompileAsyncWasmPlugin",(v=>{const E=v.outputOptions.wasmLoading;const isEnabledForChunk=v=>{const P=v.getEntryOptions();const R=P&&P.wasmLoading!==undefined?P.wasmLoading:E;return R===this._type};const{importMetaName:P}=v.outputOptions;const q=this._import?v=>N.asString(["Promise.all([import('fs'), import('url')]).then(([{ readFile }, { URL }]) => new Promise((resolve, reject) => {",N.indent([`readFile(new URL(${v}, ${P}.url), (err, buffer) => {`,N.indent(["if (err) return reject(err);","","// Fake fetch response","resolve({",N.indent(["arrayBuffer() { return buffer; }"]),"});"]),"});"]),"}))"]):v=>N.asString(["new Promise(function (resolve, reject) {",N.indent(["try {",N.indent(["var { readFile } = require('fs');","var { join } = require('path');","",`readFile(join(__dirname, ${v}), function(err, buffer){`,N.indent(["if (err) return reject(err);","","// Fake fetch response","resolve({",N.indent(["arrayBuffer() { return buffer; }"]),"});"]),"});"]),"} catch (err) { reject(err); }"]),"})"]);v.hooks.runtimeRequirementInTree.for($.instantiateWasm).tap("ReadFileCompileAsyncWasmPlugin",((E,P)=>{if(!isEnabledForChunk(E))return;const N=v.chunkGraph;if(!N.hasModuleInGraph(E,(v=>v.type===R))){return}P.add($.publicPath);v.addRuntimeModule(E,new L({generateLoadBinaryCode:q,supportsStreaming:false}))}))}))}}v.exports=ReadFileCompileAsyncWasmPlugin},84757:function(v,E,P){"use strict";const{WEBASSEMBLY_MODULE_TYPE_SYNC:R}=P(98791);const $=P(75189);const N=P(35600);const L=P(82209);class ReadFileCompileWasmPlugin{constructor(v={}){this.options=v}apply(v){v.hooks.thisCompilation.tap("ReadFileCompileWasmPlugin",(v=>{const E=v.outputOptions.wasmLoading;const isEnabledForChunk=v=>{const P=v.getEntryOptions();const R=P&&P.wasmLoading!==undefined?P.wasmLoading:E;return R==="async-node"};const generateLoadBinaryCode=v=>N.asString(["new Promise(function (resolve, reject) {",N.indent(["var { readFile } = require('fs');","var { join } = require('path');","","try {",N.indent([`readFile(join(__dirname, ${v}), function(err, buffer){`,N.indent(["if (err) return reject(err);","","// Fake fetch response","resolve({",N.indent(["arrayBuffer() { return buffer; }"]),"});"]),"});"]),"} catch (err) { reject(err); }"]),"})"]);v.hooks.runtimeRequirementInTree.for($.ensureChunkHandlers).tap("ReadFileCompileWasmPlugin",((E,P)=>{if(!isEnabledForChunk(E))return;const N=v.chunkGraph;if(!N.hasModuleInGraph(E,(v=>v.type===R))){return}P.add($.moduleCache);v.addRuntimeModule(E,new L({generateLoadBinaryCode:generateLoadBinaryCode,supportsStreaming:false,mangleImports:this.options.mangleImports,runtimeRequirements:P}))}))}))}}v.exports=ReadFileCompileWasmPlugin},23630:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);const N=P(35600);const{chunkHasJs:L,getChunkFilenameTemplate:q}=P(87885);const{getInitialChunkIds:K}=P(854);const ae=P(41516);const{getUndoPath:ge}=P(94778);class RequireChunkLoadingRuntimeModule extends ${constructor(v){super("require chunk loading",$.STAGE_ATTACH);this.runtimeRequirements=v}_generateBaseUri(v,E){const P=v.getEntryOptions();if(P&&P.baseUri){return`${R.baseURI} = ${JSON.stringify(P.baseUri)};`}return`${R.baseURI} = require("url").pathToFileURL(${E!=="./"?`__dirname + ${JSON.stringify("/"+E)}`:"__filename"});`}generate(){const v=this.compilation;const E=this.chunkGraph;const P=this.chunk;const{runtimeTemplate:$}=v;const be=R.ensureChunkHandlers;const xe=this.runtimeRequirements.has(R.baseURI);const ve=this.runtimeRequirements.has(R.externalInstallChunk);const Ae=this.runtimeRequirements.has(R.onChunksLoaded);const Ie=this.runtimeRequirements.has(R.ensureChunkHandlers);const He=this.runtimeRequirements.has(R.hmrDownloadUpdateHandlers);const Qe=this.runtimeRequirements.has(R.hmrDownloadManifest);const Je=E.getChunkConditionMap(P,L);const Ve=ae(Je);const Ke=K(P,E,L);const Ye=v.getPath(q(P,v.outputOptions),{chunk:P,contentHashType:"javascript"});const Xe=ge(Ye,v.outputOptions.path,true);const Ze=He?`${R.hmrRuntimeStatePrefix}_require`:undefined;return N.asString([xe?this._generateBaseUri(P,Xe):"// no baseURI","","// object to store loaded chunks",'// "1" means "loaded", otherwise not loaded yet',`var installedChunks = ${Ze?`${Ze} = ${Ze} || `:""}{`,N.indent(Array.from(Ke,(v=>`${JSON.stringify(v)}: 1`)).join(",\n")),"};","",Ae?`${R.onChunksLoaded}.require = ${$.returningFunction("installedChunks[chunkId]","chunkId")};`:"// no on chunks loaded","",Ie||ve?`var installChunk = ${$.basicFunction("chunk",["var moreModules = chunk.modules, chunkIds = chunk.ids, runtime = chunk.runtime;","for(var moduleId in moreModules) {",N.indent([`if(${R.hasOwnProperty}(moreModules, moduleId)) {`,N.indent([`${R.moduleFactories}[moduleId] = moreModules[moduleId];`]),"}"]),"}",`if(runtime) runtime(${R.require});`,"for(var i = 0; i < chunkIds.length; i++)",N.indent("installedChunks[chunkIds[i]] = 1;"),Ae?`${R.onChunksLoaded}();`:""])};`:"// no chunk install function needed","",Ie?N.asString(["// require() chunk loading for javascript",`${be}.require = ${$.basicFunction("chunkId, promises",Ve!==false?['// "1" is the signal for "already loaded"',"if(!installedChunks[chunkId]) {",N.indent([Ve===true?"if(true) { // all chunks have JS":`if(${Ve("chunkId")}) {`,N.indent([`installChunk(require(${JSON.stringify(Xe)} + ${R.getChunkScriptFilename}(chunkId)));`]),"} else installedChunks[chunkId] = 1;",""]),"}"]:"installedChunks[chunkId] = 1;")};`]):"// no chunk loading","",ve?N.asString([`module.exports = ${R.require};`,`${R.externalInstallChunk} = installChunk;`]):"// no external install chunk","",He?N.asString(["function loadUpdateChunk(chunkId, updatedModulesList) {",N.indent([`var update = require(${JSON.stringify(Xe)} + ${R.getChunkUpdateScriptFilename}(chunkId));`,"var updatedModules = update.modules;","var runtime = update.runtime;","for(var moduleId in updatedModules) {",N.indent([`if(${R.hasOwnProperty}(updatedModules, moduleId)) {`,N.indent([`currentUpdate[moduleId] = updatedModules[moduleId];`,"if(updatedModulesList) updatedModulesList.push(moduleId);"]),"}"]),"}","if(runtime) currentUpdateRuntime.push(runtime);"]),"}","",N.getFunctionContent(require("./JavascriptHotModuleReplacement.runtime.js")).replace(/\$key\$/g,"require").replace(/\$installedChunks\$/g,"installedChunks").replace(/\$loadUpdateChunk\$/g,"loadUpdateChunk").replace(/\$moduleCache\$/g,R.moduleCache).replace(/\$moduleFactories\$/g,R.moduleFactories).replace(/\$ensureChunkHandlers\$/g,R.ensureChunkHandlers).replace(/\$hasOwnProperty\$/g,R.hasOwnProperty).replace(/\$hmrModuleData\$/g,R.hmrModuleData).replace(/\$hmrDownloadUpdateHandlers\$/g,R.hmrDownloadUpdateHandlers).replace(/\$hmrInvalidateModuleHandlers\$/g,R.hmrInvalidateModuleHandlers)]):"// no HMR","",Qe?N.asString([`${R.hmrDownloadManifest} = function() {`,N.indent(["return Promise.resolve().then(function() {",N.indent([`return require(${JSON.stringify(Xe)} + ${R.getUpdateManifestFilename}());`]),"})['catch'](function(err) { if(err.code !== 'MODULE_NOT_FOUND') throw err; });"]),"}"]):"// no HMR manifest"])}}v.exports=RequireChunkLoadingRuntimeModule},1349:function(v,E,P){"use strict";const R=P(73837);const $=P(46033);v.exports=({colors:v,appendOnly:E,stream:P})=>{let N=undefined;let L=false;let q="";let K=0;const indent=(E,P,R,$)=>{if(E==="")return E;P=q+P;if(v){return P+R+E.replace(/\n/g,$+"\n"+P+R)+$}else{return P+E.replace(/\n/g,"\n"+P)}};const clearStatusMessage=()=>{if(L){P.write("\r");L=false}};const writeStatusMessage=()=>{if(!N)return;const v=P.columns||40;const E=$(N,v-1);const R=E.join(" ");const q=`${R}`;P.write(`\r${q}`);L=true};const writeColored=(v,E,$)=>(...N)=>{if(K>0)return;clearStatusMessage();const L=indent(R.format(...N),v,E,$);P.write(L+"\n");writeStatusMessage()};const ae=writeColored("<-> ","","");const ge=writeColored("<+> ","","");return{log:writeColored(" ","",""),debug:writeColored(" ","",""),trace:writeColored(" ","",""),info:writeColored(" ","",""),warn:writeColored(" ","",""),error:writeColored(" ","",""),logTime:writeColored(" ","",""),group:(...v)=>{ae(...v);if(K>0){K++}else{q+=" "}},groupCollapsed:(...v)=>{ge(...v);K++},groupEnd:()=>{if(K>0)K--;else if(q.length>=2)q=q.slice(0,q.length-2)},profile:console.profile&&(v=>console.profile(v)),profileEnd:console.profileEnd&&(v=>console.profileEnd(v)),clear:!E&&console.clear&&(()=>{clearStatusMessage();console.clear();writeStatusMessage()}),status:E?writeColored(" ","",""):(v,...E)=>{E=E.filter(Boolean);if(v===undefined&&E.length===0){clearStatusMessage();N=undefined}else if(typeof v==="string"&&v.startsWith("[webpack.Progress] ")){N=[v.slice(19),...E];writeStatusMessage()}else if(v==="[webpack.Progress]"){N=[...E];writeStatusMessage()}else{N=[v,...E];writeStatusMessage()}}}}},57942:function(v,E,P){"use strict";const{STAGE_ADVANCED:R}=P(66480);class AggressiveMergingPlugin{constructor(v){if(v!==undefined&&typeof v!=="object"||Array.isArray(v)){throw new Error("Argument should be an options object. To use defaults, pass in nothing.\nFor more info on options, see https://webpack.js.org/plugins/")}this.options=v||{}}apply(v){const E=this.options;const P=E.minSizeReduce||1.5;v.hooks.thisCompilation.tap("AggressiveMergingPlugin",(v=>{v.hooks.optimizeChunks.tap({name:"AggressiveMergingPlugin",stage:R},(E=>{const R=v.chunkGraph;let $=[];for(const v of E){if(v.canBeInitial())continue;for(const P of E){if(P.canBeInitial())continue;if(P===v)break;if(!R.canChunksBeIntegrated(v,P)){continue}const E=R.getChunkSize(P,{chunkOverhead:0});const N=R.getChunkSize(v,{chunkOverhead:0});const L=R.getIntegratedChunksSize(P,v,{chunkOverhead:0});const q=(E+N)/L;$.push({a:v,b:P,improvement:q})}}$.sort(((v,E)=>E.improvement-v.improvement));const N=$[0];if(!N)return;if(N.improvementP(36568)),{name:"Aggressive Splitting Plugin",baseDataPath:"options"});const moveModuleBetween=(v,E,P)=>R=>{v.disconnectChunkAndModule(E,R);v.connectChunkAndModule(P,R)};const isNotAEntryModule=(v,E)=>P=>!v.isEntryModuleInChunk(P,E);const ge=new WeakSet;class AggressiveSplittingPlugin{constructor(v={}){ae(v);this.options=v;if(typeof this.options.minSize!=="number"){this.options.minSize=30*1024}if(typeof this.options.maxSize!=="number"){this.options.maxSize=50*1024}if(typeof this.options.chunkOverhead!=="number"){this.options.chunkOverhead=0}if(typeof this.options.entryChunkMultiplicator!=="number"){this.options.entryChunkMultiplicator=1}}static wasChunkRecorded(v){return ge.has(v)}apply(v){v.hooks.thisCompilation.tap("AggressiveSplittingPlugin",(E=>{let P=false;let q;let ae;let be;E.hooks.optimize.tap("AggressiveSplittingPlugin",(()=>{q=[];ae=new Set;be=new Map}));E.hooks.optimizeChunks.tap({name:"AggressiveSplittingPlugin",stage:R},(P=>{const R=E.chunkGraph;const ge=new Map;const xe=new Map;const ve=K.makePathsRelative.bindContextCache(v.context,v.root);for(const v of E.modules){const E=ve(v.identifier());ge.set(E,v);xe.set(v,E)}const Ae=new Set;for(const v of P){Ae.add(v.id)}const Ie=E.records&&E.records.aggressiveSplits||[];const He=q?Ie.concat(q):Ie;const Qe=this.options.minSize;const Je=this.options.maxSize;const applySplit=v=>{if(v.id!==undefined&&Ae.has(v.id)){return false}const P=v.modules.map((v=>ge.get(v)));if(!P.every(Boolean))return false;let N=0;for(const v of P)N+=v.size();if(N!==v.size)return false;const L=$(P.map((v=>new Set(R.getModuleChunksIterable(v)))));if(L.size===0)return false;if(L.size===1&&R.getNumberOfChunkModules(Array.from(L)[0])===P.length){const E=Array.from(L)[0];if(ae.has(E))return false;ae.add(E);be.set(E,v);return true}const q=E.addChunk();q.chunkReason="aggressive splitted";for(const v of L){P.forEach(moveModuleBetween(R,v,q));v.split(q);v.name=null}ae.add(q);be.set(q,v);if(v.id!==null&&v.id!==undefined){q.id=v.id;q.ids=[v.id]}return true};let Ve=false;for(let v=0;v{const P=R.getChunkModulesSize(E)-R.getChunkModulesSize(v);if(P)return P;const $=R.getNumberOfChunkModules(v)-R.getNumberOfChunkModules(E);if($)return $;return Ke(v,E)}));for(const v of Ye){if(ae.has(v))continue;const E=R.getChunkModulesSize(v);if(E>Je&&R.getNumberOfChunkModules(v)>1){const E=R.getOrderedChunkModules(v,N).filter(isNotAEntryModule(R,v));const P=[];let $=0;for(let v=0;vJe&&$>=Qe){break}$=N;P.push(R)}if(P.length===0)continue;const L={modules:P.map((v=>xe.get(v))).sort(),size:$};if(applySplit(L)){q=(q||[]).concat(L);Ve=true}}}if(Ve)return true}));E.hooks.recordHash.tap("AggressiveSplittingPlugin",(v=>{const R=new Set;const $=new Set;for(const v of E.chunks){const E=be.get(v);if(E!==undefined){if(E.hash&&v.hash!==E.hash){$.add(E)}}}if($.size>0){v.aggressiveSplits=v.aggressiveSplits.filter((v=>!$.has(v)));P=true}else{for(const v of E.chunks){const E=be.get(v);if(E!==undefined){E.hash=v.hash;E.id=v.id;R.add(E);ge.add(v)}}const N=E.records&&E.records.aggressiveSplits;if(N){for(const v of N){if(!$.has(v))R.add(v)}}v.aggressiveSplits=Array.from(R);P=false}}));E.hooks.needAdditionalSeal.tap("AggressiveSplittingPlugin",(()=>{if(P){P=false;return true}}))}))}}v.exports=AggressiveSplittingPlugin},20307:function(v,E,P){"use strict";const R=P(12836);const $=P(48648);const{CachedSource:N,ConcatSource:L,ReplaceSource:q}=P(51255);const K=P(79421);const{UsageState:ae}=P(32514);const ge=P(82919);const{JAVASCRIPT_MODULE_TYPE_ESM:be}=P(98791);const xe=P(75189);const ve=P(35600);const Ae=P(27601);const Ie=P(6205);const{equals:He}=P(98734);const Qe=P(95259);const{concatComparators:Je}=P(80754);const Ve=P(1558);const{makePathsRelative:Ke}=P(94778);const Ye=P(74364);const Xe=P(53914);const{propertyName:Ze}=P(88286);const{filterRuntime:et,intersectRuntime:tt,mergeRuntimeCondition:nt,mergeRuntimeConditionNonFalse:st,runtimeConditionToString:rt,subtractRuntimeCondition:ot}=P(32681);const it=$;if(!it.prototype.PropertyDefinition){it.prototype.PropertyDefinition=it.prototype.Property}const at=new Set([K.DEFAULT_EXPORT,K.NAMESPACE_OBJECT_EXPORT,"abstract,arguments,async,await,boolean,break,byte,case,catch,char,class,const,continue","debugger,default,delete,do,double,else,enum,eval,export,extends,false,final,finally,float","for,function,goto,if,implements,import,in,instanceof,int,interface,let,long,native,new,null","package,private,protected,public,return,short,static,super,switch,synchronized,this,throw","throws,transient,true,try,typeof,var,void,volatile,while,with,yield","module,__dirname,__filename,exports,require,define","Array,Date,eval,function,hasOwnProperty,Infinity,isFinite,isNaN,isPrototypeOf,length,Math","NaN,name,Number,Object,prototype,String,toString,undefined,valueOf","alert,all,anchor,anchors,area,assign,blur,button,checkbox,clearInterval,clearTimeout","clientInformation,close,closed,confirm,constructor,crypto,decodeURI,decodeURIComponent","defaultStatus,document,element,elements,embed,embeds,encodeURI,encodeURIComponent,escape","event,fileUpload,focus,form,forms,frame,innerHeight,innerWidth,layer,layers,link,location","mimeTypes,navigate,navigator,frames,frameRate,hidden,history,image,images,offscreenBuffering","open,opener,option,outerHeight,outerWidth,packages,pageXOffset,pageYOffset,parent,parseFloat","parseInt,password,pkcs11,plugin,prompt,propertyIsEnum,radio,reset,screenX,screenY,scroll","secure,select,self,setInterval,setTimeout,status,submit,taint,text,textarea,top,unescape","untaint,window","onblur,onclick,onerror,onfocus,onkeydown,onkeypress,onkeyup,onmouseover,onload,onmouseup,onmousedown,onsubmit"].join(",").split(","));const createComparator=(v,E)=>(P,R)=>E(P[v],R[v]);const compareNumbers=(v,E)=>{if(isNaN(v)){if(!isNaN(E)){return 1}}else{if(isNaN(E)){return-1}if(v!==E){return v{let E="";let P=true;for(const R of v){if(P){P=false}else{E+=", "}E+=R}return E};const getFinalBinding=(v,E,P,R,$,N,L,q,K,ae,ge,be=new Set)=>{const xe=E.module.getExportsType(v,ae);if(P.length===0){switch(xe){case"default-only":E.interopNamespaceObject2Used=true;return{info:E,rawName:E.interopNamespaceObject2Name,ids:P,exportName:P};case"default-with-named":E.interopNamespaceObjectUsed=true;return{info:E,rawName:E.interopNamespaceObjectName,ids:P,exportName:P};case"namespace":case"dynamic":break;default:throw new Error(`Unexpected exportsType ${xe}`)}}else{switch(xe){case"namespace":break;case"default-with-named":switch(P[0]){case"default":P=P.slice(1);break;case"__esModule":return{info:E,rawName:"/* __esModule */true",ids:P.slice(1),exportName:P}}break;case"default-only":{const v=P[0];if(v==="__esModule"){return{info:E,rawName:"/* __esModule */true",ids:P.slice(1),exportName:P}}P=P.slice(1);if(v!=="default"){return{info:E,rawName:"/* non-default import from default-exporting module */undefined",ids:P,exportName:P}}break}case"dynamic":switch(P[0]){case"default":{P=P.slice(1);E.interopDefaultAccessUsed=true;const v=K?`${E.interopDefaultAccessName}()`:ge?`(${E.interopDefaultAccessName}())`:ge===false?`;(${E.interopDefaultAccessName}())`:`${E.interopDefaultAccessName}.a`;return{info:E,rawName:v,ids:P,exportName:P}}case"__esModule":return{info:E,rawName:"/* __esModule */true",ids:P.slice(1),exportName:P}}break;default:throw new Error(`Unexpected exportsType ${xe}`)}}if(P.length===0){switch(E.type){case"concatenated":q.add(E);return{info:E,rawName:E.namespaceObjectName,ids:P,exportName:P};case"external":return{info:E,rawName:E.name,ids:P,exportName:P}}}const Ae=v.getExportsInfo(E.module);const Ie=Ae.getExportInfo(P[0]);if(be.has(Ie)){return{info:E,rawName:"/* circular reexport */ Object(function x() { x() }())",ids:[],exportName:P}}be.add(Ie);switch(E.type){case"concatenated":{const ae=P[0];if(Ie.provided===false){q.add(E);return{info:E,rawName:E.namespaceObjectName,ids:P,exportName:P}}const xe=E.exportMap&&E.exportMap.get(ae);if(xe){const v=Ae.getUsedName(P,$);if(!v){return{info:E,rawName:"/* unused export */ undefined",ids:P.slice(1),exportName:P}}return{info:E,name:xe,ids:v.slice(1),exportName:P}}const ve=E.rawExportMap&&E.rawExportMap.get(ae);if(ve){return{info:E,rawName:ve,ids:P.slice(1),exportName:P}}const He=Ie.findTarget(v,(v=>R.has(v)));if(He===false){throw new Error(`Target module of reexport from '${E.module.readableIdentifier(N)}' is not part of the concatenation (export '${ae}')\nModules in the concatenation:\n${Array.from(R,(([v,E])=>` * ${E.type} ${v.readableIdentifier(N)}`)).join("\n")}`)}if(He){const ae=R.get(He.module);return getFinalBinding(v,ae,He.export?[...He.export,...P.slice(1)]:P.slice(1),R,$,N,L,q,K,E.module.buildMeta.strictHarmonyModule,ge,be)}if(E.namespaceExportSymbol){const v=Ae.getUsedName(P,$);return{info:E,rawName:E.namespaceObjectName,ids:v,exportName:P}}throw new Error(`Cannot get final name for export '${P.join(".")}' of ${E.module.readableIdentifier(N)}`)}case"external":{const v=Ae.getUsedName(P,$);if(!v){return{info:E,rawName:"/* unused export */ undefined",ids:P.slice(1),exportName:P}}const R=He(v,P)?"":ve.toNormalComment(`${P.join(".")}`);return{info:E,rawName:E.name+R,ids:v,exportName:P}}}};const getFinalName=(v,E,P,R,$,N,L,q,K,ae,ge,be)=>{const xe=getFinalBinding(v,E,P,R,$,N,L,q,K,ge,be);{const{ids:v,comment:E}=xe;let P;let R;if("rawName"in xe){P=`${xe.rawName}${E||""}${Xe(v)}`;R=v.length>0}else{const{info:$,name:L}=xe;const q=$.internalNames.get(L);if(!q){throw new Error(`The export "${L}" in "${$.module.readableIdentifier(N)}" has no internal name (existing names: ${Array.from($.internalNames,(([v,E])=>`${v}: ${E}`)).join(", ")||"none"})`)}P=`${q}${E||""}${Xe(v)}`;R=v.length>1}if(R&&K&&ae===false){return be?`(0,${P})`:be===false?`;(0,${P})`:`/*#__PURE__*/Object(${P})`}return P}};const addScopeSymbols=(v,E,P,R)=>{let $=v;while($){if(P.has($))break;if(R.has($))break;P.add($);for(const v of $.variables){E.add(v.name)}$=$.upper}};const getAllReferences=v=>{let E=v.references;const P=new Set(v.identifiers);for(const R of v.scope.childScopes){for(const v of R.variables){if(v.identifiers.some((v=>P.has(v)))){E=E.concat(v.references);break}}}return E};const getPathInAst=(v,E)=>{if(v===E){return[]}const P=E.range;const enterNode=v=>{if(!v)return undefined;const R=v.range;if(R){if(R[0]<=P[0]&&R[1]>=P[1]){const P=getPathInAst(v,E);if(P){P.push(v);return P}}}return undefined};if(Array.isArray(v)){for(let E=0;E!(v instanceof Ae)||!this._modules.has(E.moduleGraph.getModule(v))))){this.dependencies.push(P)}for(const E of v.blocks){this.blocks.push(E)}const P=v.getWarnings();if(P!==undefined){for(const v of P){this.addWarning(v)}}const R=v.getErrors();if(R!==undefined){for(const v of R){this.addError(v)}}if(v.buildInfo.topLevelDeclarations){const E=this.buildInfo.topLevelDeclarations;if(E!==undefined){for(const P of v.buildInfo.topLevelDeclarations){E.add(P)}}}else{this.buildInfo.topLevelDeclarations=undefined}if(v.buildInfo.assets){if(this.buildInfo.assets===undefined){this.buildInfo.assets=Object.create(null)}Object.assign(this.buildInfo.assets,v.buildInfo.assets)}if(v.buildInfo.assetsInfo){if(this.buildInfo.assetsInfo===undefined){this.buildInfo.assetsInfo=new Map}for(const[E,P]of v.buildInfo.assetsInfo){this.buildInfo.assetsInfo.set(E,P)}}}$()}size(v){let E=0;for(const P of this._modules){E+=P.size(v)}return E}_createConcatenationList(v,E,P,R){const $=[];const N=new Map;const getConcatenatedImports=E=>{let $=Array.from(R.getOutgoingConnections(E));if(E===v){for(const v of R.getOutgoingConnections(this))$.push(v)}const N=$.filter((v=>{if(!(v.dependency instanceof Ae))return false;return v&&v.resolvedOriginModule===E&&v.module&&v.isTargetActive(P)})).map((v=>{const E=v.dependency;return{connection:v,sourceOrder:E.sourceOrder,rangeStart:E.range&&E.range[0]}}));N.sort(Je(ct,lt));const L=new Map;for(const{connection:v}of N){const E=et(P,(E=>v.isTargetActive(E)));if(E===false)continue;const R=v.module;const $=L.get(R);if($===undefined){L.set(R,{connection:v,runtimeCondition:E});continue}$.runtimeCondition=st($.runtimeCondition,E,P)}return L.values()};const enterModule=(v,R)=>{const L=v.module;if(!L)return;const q=N.get(L);if(q===true){return}if(E.has(L)){N.set(L,true);if(R!==true){throw new Error(`Cannot runtime-conditional concatenate a module (${L.identifier()} in ${this.rootModule.identifier()}, ${rt(R)}). This should not happen.`)}const E=getConcatenatedImports(L);for(const{connection:v,runtimeCondition:P}of E)enterModule(v,P);$.push({type:"concatenated",module:v.module,runtimeCondition:R})}else{if(q!==undefined){const E=ot(R,q,P);if(E===false)return;R=E;N.set(v.module,st(q,R,P))}else{N.set(v.module,R)}if($.length>0){const E=$[$.length-1];if(E.type==="external"&&E.module===v.module){E.runtimeCondition=nt(E.runtimeCondition,R,P);return}}$.push({type:"external",get module(){return v.module},runtimeCondition:R})}};N.set(v,true);const L=getConcatenatedImports(v);for(const{connection:v,runtimeCondition:E}of L)enterModule(v,E);$.push({type:"concatenated",module:v,runtimeCondition:true});return $}static _createIdentifier(v,E,P,R="md4"){const $=Ke.bindContextCache(v.context,P);let N=[];for(const v of E){N.push($(v.identifier()))}N.sort();const L=Ve(R);L.update(N.join(" "));return v.identifier()+"|"+L.digest("hex")}addCacheDependencies(v,E,P,R){for(const $ of this._modules){$.addCacheDependencies(v,E,P,R)}}codeGeneration({dependencyTemplates:v,runtimeTemplate:E,moduleGraph:P,chunkGraph:R,runtime:$,codeGenerationResults:q}){const ge=new Set;const be=tt($,this._runtime);const ve=E.requestShortener;const[Ae,Ie]=this._getModulesWithInfo(P,be);const He=new Set;for(const $ of Ie.values()){this._analyseModule(Ie,$,v,E,P,R,be,q)}const Qe=new Set(at);const Je=new Set;const Ve=new Map;const getUsedNamesInScopeInfo=(v,E)=>{const P=`${v}-${E}`;let R=Ve.get(P);if(R===undefined){R={usedNames:new Set,alreadyCheckedScopes:new Set};Ve.set(P,R)}return R};const Ke=new Set;for(const v of Ae){if(v.type==="concatenated"){if(v.moduleScope){Ke.add(v.moduleScope)}const R=new WeakMap;const getSuperClassExpressions=v=>{const E=R.get(v);if(E!==undefined)return E;const P=[];for(const E of v.childScopes){if(E.type!=="class")continue;const v=E.block;if((v.type==="ClassDeclaration"||v.type==="ClassExpression")&&v.superClass){P.push({range:v.superClass.range,variables:E.variables})}}R.set(v,P);return P};if(v.globalScope){for(const R of v.globalScope.through){const $=R.identifier.name;if(K.isModuleReference($)){const N=K.matchModuleReference($);if(!N)continue;const L=Ae[N.index];if(L.type==="reference")throw new Error("Module reference can't point to a reference");const q=getFinalBinding(P,L,N.ids,Ie,be,ve,E,He,false,v.module.buildMeta.strictHarmonyModule,true);if(!q.ids)continue;const{usedNames:ae,alreadyCheckedScopes:ge}=getUsedNamesInScopeInfo(q.info.module.identifier(),"name"in q?q.name:"");for(const v of getSuperClassExpressions(R.from)){if(v.range[0]<=R.identifier.range[0]&&v.range[1]>=R.identifier.range[1]){for(const E of v.variables){ae.add(E.name)}}}addScopeSymbols(R.from,ae,ge,Ke)}else{Qe.add($)}}}}}for(const v of Ie.values()){const{usedNames:E}=getUsedNamesInScopeInfo(v.module.identifier(),"");switch(v.type){case"concatenated":{for(const E of v.moduleScope.variables){const P=E.name;const{usedNames:R,alreadyCheckedScopes:$}=getUsedNamesInScopeInfo(v.module.identifier(),P);if(Qe.has(P)||R.has(P)){const N=getAllReferences(E);for(const v of N){addScopeSymbols(v.from,R,$,Ke)}const L=this.findNewName(P,Qe,R,v.module.readableIdentifier(ve));Qe.add(L);v.internalNames.set(P,L);Je.add(L);const q=v.source;const K=new Set(N.map((v=>v.identifier)).concat(E.identifiers));for(const E of K){const P=E.range;const R=getPathInAst(v.ast,E);if(R&&R.length>1){const v=R[1].type==="AssignmentPattern"&&R[1].left===R[0]?R[2]:R[1];if(v.type==="Property"&&v.shorthand){q.insert(P[1],`: ${L}`);continue}}q.replace(P[0],P[1]-1,L)}}else{Qe.add(P);v.internalNames.set(P,P);Je.add(P)}}let P;if(v.namespaceExportSymbol){P=v.internalNames.get(v.namespaceExportSymbol)}else{P=this.findNewName("namespaceObject",Qe,E,v.module.readableIdentifier(ve));Qe.add(P)}v.namespaceObjectName=P;Je.add(P);break}case"external":{const P=this.findNewName("",Qe,E,v.module.readableIdentifier(ve));Qe.add(P);v.name=P;Je.add(P);break}}if(v.module.buildMeta.exportsType!=="namespace"){const P=this.findNewName("namespaceObject",Qe,E,v.module.readableIdentifier(ve));Qe.add(P);v.interopNamespaceObjectName=P;Je.add(P)}if(v.module.buildMeta.exportsType==="default"&&v.module.buildMeta.defaultObject!=="redirect"){const P=this.findNewName("namespaceObject2",Qe,E,v.module.readableIdentifier(ve));Qe.add(P);v.interopNamespaceObject2Name=P;Je.add(P)}if(v.module.buildMeta.exportsType==="dynamic"||!v.module.buildMeta.exportsType){const P=this.findNewName("default",Qe,E,v.module.readableIdentifier(ve));Qe.add(P);v.interopDefaultAccessName=P;Je.add(P)}}for(const v of Ie.values()){if(v.type==="concatenated"){for(const R of v.globalScope.through){const $=R.identifier.name;const N=K.matchModuleReference($);if(N){const $=Ae[N.index];if($.type==="reference")throw new Error("Module reference can't point to a reference");const L=getFinalName(P,$,N.ids,Ie,be,ve,E,He,N.call,!N.directImport,v.module.buildMeta.strictHarmonyModule,N.asiSafe);const q=R.identifier.range;const K=v.source;K.replace(q[0],q[1]+1,L)}}}}const Ye=new Map;const Xe=new Set;const et=Ie.get(this.rootModule);const nt=et.module.buildMeta.strictHarmonyModule;const st=P.getExportsInfo(et.module);for(const v of st.orderedExports){const R=v.name;if(v.provided===false)continue;const $=v.getUsedName(undefined,be);if(!$){Xe.add(R);continue}Ye.set($,(N=>{try{const $=getFinalName(P,et,[R],Ie,be,N,E,He,false,false,nt,true);return`/* ${v.isReexport()?"reexport":"binding"} */ ${$}`}catch(v){v.message+=`\nwhile generating the root export '${R}' (used name: '${$}')`;throw v}}))}const rt=new L;if(P.getExportsInfo(this).otherExportsInfo.getUsed(be)!==ae.Unused){rt.add(`// ESM COMPAT FLAG\n`);rt.add(E.defineEsModuleFlagStatement({exportsArgument:this.exportsArgument,runtimeRequirements:ge}))}if(Ye.size>0){ge.add(xe.exports);ge.add(xe.definePropertyGetters);const v=[];for(const[P,R]of Ye){v.push(`\n ${Ze(P)}: ${E.returningFunction(R(ve))}`)}rt.add(`\n// EXPORTS\n`);rt.add(`${xe.definePropertyGetters}(${this.exportsArgument}, {${v.join(",")}\n});\n`)}if(Xe.size>0){rt.add(`\n// UNUSED EXPORTS: ${joinIterableWithComma(Xe)}\n`)}const ot=new Map;for(const v of He){if(v.namespaceExportSymbol)continue;const R=[];const $=P.getExportsInfo(v.module);for(const N of $.orderedExports){if(N.provided===false)continue;const $=N.getUsedName(undefined,be);if($){const L=getFinalName(P,v,[N.name],Ie,be,ve,E,He,false,undefined,v.module.buildMeta.strictHarmonyModule,true);R.push(`\n ${Ze($)}: ${E.returningFunction(L)}`)}}const N=v.namespaceObjectName;const L=R.length>0?`${xe.definePropertyGetters}(${N}, {${R.join(",")}\n});\n`:"";if(R.length>0)ge.add(xe.definePropertyGetters);ot.set(v,`\n// NAMESPACE OBJECT: ${v.module.readableIdentifier(ve)}\nvar ${N} = {};\n${xe.makeNamespaceObject}(${N});\n${L}`);ge.add(xe.makeNamespaceObject)}for(const v of Ae){if(v.type==="concatenated"){const E=ot.get(v);if(!E)continue;rt.add(E)}}const it=[];for(const v of Ae){let P;let $=false;const N=v.type==="reference"?v.target:v;switch(N.type){case"concatenated":{rt.add(`\n;// CONCATENATED MODULE: ${N.module.readableIdentifier(ve)}\n`);rt.add(N.source);if(N.chunkInitFragments){for(const v of N.chunkInitFragments)it.push(v)}if(N.runtimeRequirements){for(const v of N.runtimeRequirements){ge.add(v)}}P=N.namespaceObjectName;break}case"external":{rt.add(`\n// EXTERNAL MODULE: ${N.module.readableIdentifier(ve)}\n`);ge.add(xe.require);const{runtimeCondition:L}=v;const q=E.runtimeConditionExpression({chunkGraph:R,runtimeCondition:L,runtime:be,runtimeRequirements:ge});if(q!=="true"){$=true;rt.add(`if (${q}) {\n`)}rt.add(`var ${N.name} = ${xe.require}(${JSON.stringify(R.getModuleId(N.module))});`);P=N.name;break}default:throw new Error(`Unsupported concatenation entry type ${N.type}`)}if(N.interopNamespaceObjectUsed){ge.add(xe.createFakeNamespaceObject);rt.add(`\nvar ${N.interopNamespaceObjectName} = /*#__PURE__*/${xe.createFakeNamespaceObject}(${P}, 2);`)}if(N.interopNamespaceObject2Used){ge.add(xe.createFakeNamespaceObject);rt.add(`\nvar ${N.interopNamespaceObject2Name} = /*#__PURE__*/${xe.createFakeNamespaceObject}(${P});`)}if(N.interopDefaultAccessUsed){ge.add(xe.compatGetDefaultExport);rt.add(`\nvar ${N.interopDefaultAccessName} = /*#__PURE__*/${xe.compatGetDefaultExport}(${P});`)}if($){rt.add("\n}")}}const ct=new Map;if(it.length>0)ct.set("chunkInitFragments",it);ct.set("topLevelDeclarations",Je);const lt={sources:new Map([["javascript",new N(rt)]]),data:ct,runtimeRequirements:ge};return lt}_analyseModule(v,E,P,$,N,L,ae,ge){if(E.type==="concatenated"){const be=E.module;try{const xe=new K(v,E);const ve=be.codeGeneration({dependencyTemplates:P,runtimeTemplate:$,moduleGraph:N,chunkGraph:L,runtime:ae,concatenationScope:xe,codeGenerationResults:ge,sourceTypes:ut});const Ae=ve.sources.get("javascript");const He=ve.data;const Qe=He&&He.get("chunkInitFragments");const Je=Ae.source().toString();let Ve;try{Ve=Ie._parse(Je,{sourceType:"module"})}catch(v){if(v.loc&&typeof v.loc==="object"&&typeof v.loc.line==="number"){const E=v.loc.line;const P=Je.split("\n");v.message+="\n| "+P.slice(Math.max(0,E-3),E+2).join("\n| ")}throw v}const Ke=R.analyze(Ve,{ecmaVersion:6,sourceType:"module",optimistic:true,ignoreEval:true,impliedStrict:true});const Ye=Ke.acquire(Ve);const Xe=Ye.childScopes[0];const Ze=new q(Ae);E.runtimeRequirements=ve.runtimeRequirements;E.ast=Ve;E.internalSource=Ae;E.source=Ze;E.chunkInitFragments=Qe;E.globalScope=Ye;E.moduleScope=Xe}catch(v){v.message+=`\nwhile analyzing module ${be.identifier()} for concatenation`;throw v}}}_getModulesWithInfo(v,E){const P=this._createConcatenationList(this.rootModule,this._modules,E,v);const R=new Map;const $=P.map(((v,E)=>{let P=R.get(v.module);if(P===undefined){switch(v.type){case"concatenated":P={type:"concatenated",module:v.module,index:E,ast:undefined,internalSource:undefined,runtimeRequirements:undefined,source:undefined,globalScope:undefined,moduleScope:undefined,internalNames:new Map,exportMap:undefined,rawExportMap:undefined,namespaceExportSymbol:undefined,namespaceObjectName:undefined,interopNamespaceObjectUsed:false,interopNamespaceObjectName:undefined,interopNamespaceObject2Used:false,interopNamespaceObject2Name:undefined,interopDefaultAccessUsed:false,interopDefaultAccessName:undefined};break;case"external":P={type:"external",module:v.module,runtimeCondition:v.runtimeCondition,index:E,name:undefined,interopNamespaceObjectUsed:false,interopNamespaceObjectName:undefined,interopNamespaceObject2Used:false,interopNamespaceObject2Name:undefined,interopDefaultAccessUsed:false,interopDefaultAccessName:undefined};break;default:throw new Error(`Unsupported concatenation entry type ${v.type}`)}R.set(P.module,P);return P}else{const E={type:"reference",runtimeCondition:v.runtimeCondition,target:P};return E}}));return[$,R]}findNewName(v,E,P,R){let $=v;if($===K.DEFAULT_EXPORT){$=""}if($===K.NAMESPACE_OBJECT_EXPORT){$="namespaceObject"}R=R.replace(/\.+\/|(\/index)?\.([a-zA-Z0-9]{1,4})($|\s|\?)|\s*\+\s*\d+\s*modules/g,"");const N=R.split("/");while(N.length){$=N.pop()+($?"_"+$:"");const v=ve.toIdentifier($);if(!E.has(v)&&(!P||!P.has(v)))return v}let L=0;let q=ve.toIdentifier(`${$}_${L}`);while(E.has(q)||P&&P.has(q)){L++;q=ve.toIdentifier(`${$}_${L}`)}return q}updateHash(v,E){const{chunkGraph:P,runtime:R}=E;for(const $ of this._createConcatenationList(this.rootModule,this._modules,tt(R,this._runtime),P.moduleGraph)){switch($.type){case"concatenated":$.module.updateHash(v,E);break;case"external":v.update(`${P.getModuleId($.module)}`);break}}super.updateHash(v,E)}static deserialize(v){const E=new ConcatenatedModule({identifier:undefined,rootModule:undefined,modules:undefined,runtime:undefined});E.deserialize(v);return E}}Ye(ConcatenatedModule,"webpack/lib/optimize/ConcatenatedModule");v.exports=ConcatenatedModule},17070:function(v,E,P){"use strict";const{STAGE_BASIC:R}=P(66480);class EnsureChunkConditionsPlugin{apply(v){v.hooks.compilation.tap("EnsureChunkConditionsPlugin",(v=>{const handler=E=>{const P=v.chunkGraph;const R=new Set;const $=new Set;for(const E of v.modules){if(!E.hasChunkCondition())continue;for(const N of P.getModuleChunksIterable(E)){if(!E.chunkCondition(N,v)){R.add(N);for(const v of N.groupsIterable){$.add(v)}}}if(R.size===0)continue;const N=new Set;e:for(const P of $){for(const R of P.chunks){if(E.chunkCondition(R,v)){N.add(R);continue e}}if(P.isInitial()){throw new Error("Cannot fullfil chunk condition of "+E.identifier())}for(const v of P.parentsIterable){$.add(v)}}for(const v of R){P.disconnectChunkAndModule(v,E)}for(const v of N){P.connectChunkAndModule(v,E)}R.clear();$.clear()}};v.hooks.optimizeChunks.tap({name:"EnsureChunkConditionsPlugin",stage:R},handler)}))}}v.exports=EnsureChunkConditionsPlugin},98080:function(v){"use strict";class FlagIncludedChunksPlugin{apply(v){v.hooks.compilation.tap("FlagIncludedChunksPlugin",(v=>{v.hooks.optimizeChunkIds.tap("FlagIncludedChunksPlugin",(E=>{const P=v.chunkGraph;const R=new WeakMap;const $=v.modules.size;const N=1/Math.pow(1/$,1/31);const L=Array.from({length:31},((v,E)=>Math.pow(N,E)|0));let q=0;for(const E of v.modules){let v=30;while(q%L[v]!==0){v--}R.set(E,1<P.getNumberOfModuleChunks(E))$=E}e:for(const N of P.getModuleChunksIterable($)){if(v===N)continue;const $=P.getNumberOfChunkModules(N);if($===0)continue;if(R>$)continue;const L=K.get(N);if((L&E)!==E)continue;for(const E of P.getChunkModulesIterable(v)){if(!P.isModuleInChunk(E,N))continue e}N.ids.push(v.id)}}}))}))}}v.exports=FlagIncludedChunksPlugin},46906:function(v,E,P){"use strict";const{UsageState:R}=P(32514);const $=new WeakMap;const N=Symbol("top level symbol");function getState(v){return $.get(v)}E.bailout=v=>{$.set(v,false)};E.enable=v=>{const E=$.get(v);if(E===false){return}$.set(v,{innerGraph:new Map,currentTopLevelSymbol:undefined,usageCallbackMap:new Map})};E.isEnabled=v=>{const E=$.get(v);return!!E};E.addUsage=(v,E,P)=>{const R=getState(v);if(R){const{innerGraph:v}=R;const $=v.get(E);if(P===true){v.set(E,true)}else if($===undefined){v.set(E,new Set([P]))}else if($!==true){$.add(P)}}};E.addVariableUsage=(v,P,R)=>{const $=v.getTagData(P,N)||E.tagTopLevelSymbol(v,P);if($){E.addUsage(v.state,$,R)}};E.inferDependencyUsage=v=>{const E=getState(v);if(!E){return}const{innerGraph:P,usageCallbackMap:R}=E;const $=new Map;const N=new Set(P.keys());while(N.size>0){for(const v of N){let E=new Set;let R=true;const L=P.get(v);let q=$.get(v);if(q===undefined){q=new Set;$.set(v,q)}if(L!==true&&L!==undefined){for(const v of L){q.add(v)}for(const $ of L){if(typeof $==="string"){E.add($)}else{const N=P.get($);if(N===true){E=true;break}if(N!==undefined){for(const P of N){if(P===v)continue;if(q.has(P))continue;E.add(P);if(typeof P!=="string"){R=false}}}}}if(E===true){P.set(v,true)}else if(E.size===0){P.set(v,undefined)}else{P.set(v,E)}}if(R){N.delete(v);if(v===null){const v=P.get(null);if(v){for(const[E,R]of P){if(E!==null&&R!==true){if(v===true){P.set(E,true)}else{const $=new Set(R);for(const E of v){$.add(E)}P.set(E,$)}}}}}}}}for(const[v,E]of R){const R=P.get(v);for(const v of E){v(R===undefined?false:R)}}};E.onUsage=(v,E)=>{const P=getState(v);if(P){const{usageCallbackMap:v,currentTopLevelSymbol:R}=P;if(R){let P=v.get(R);if(P===undefined){P=new Set;v.set(R,P)}P.add(E)}else{E(true)}}else{E(undefined)}};E.setTopLevelSymbol=(v,E)=>{const P=getState(v);if(P){P.currentTopLevelSymbol=E}};E.getTopLevelSymbol=v=>{const E=getState(v);if(E){return E.currentTopLevelSymbol}};E.tagTopLevelSymbol=(v,E)=>{const P=getState(v.state);if(!P)return;v.defineVariable(E);const R=v.getTagData(E,N);if(R){return R}const $=new TopLevelSymbol(E);v.tagVariable(E,N,$);return $};E.isDependencyUsedByExports=(v,E,P,$)=>{if(E===false)return false;if(E!==true&&E!==undefined){const N=P.getParentModule(v);const L=P.getExportsInfo(N);let q=false;for(const v of E){if(L.getUsed(v,$)!==R.Unused)q=true}if(!q)return false}return true};E.getDependencyUsedByExportsCondition=(v,E,P)=>{if(E===false)return false;if(E!==true&&E!==undefined){const $=P.getParentModule(v);const N=P.getExportsInfo($);return(v,P)=>{for(const v of E){if(N.getUsed(v,P)!==R.Unused)return true}return false}}return null};class TopLevelSymbol{constructor(v){this.name=v}}E.TopLevelSymbol=TopLevelSymbol;E.topLevelSymbolTag=N},34925:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_ESM:$}=P(98791);const N=P(8154);const L=P(46906);const{topLevelSymbolTag:q}=L;const K="InnerGraphPlugin";class InnerGraphPlugin{apply(v){v.hooks.compilation.tap(K,((v,{normalModuleFactory:E})=>{const P=v.getLogger("webpack.InnerGraphPlugin");v.dependencyTemplates.set(N,new N.Template);const handler=(v,E)=>{const onUsageSuper=E=>{L.onUsage(v.state,(P=>{switch(P){case undefined:case true:return;default:{const R=new N(E.range);R.loc=E.loc;R.usedByExports=P;v.state.module.addDependency(R);break}}}))};v.hooks.program.tap(K,(()=>{L.enable(v.state)}));v.hooks.finish.tap(K,(()=>{if(!L.isEnabled(v.state))return;P.time("infer dependency usage");L.inferDependencyUsage(v.state);P.timeAggregate("infer dependency usage")}));const R=new WeakMap;const $=new WeakMap;const ae=new WeakMap;const ge=new WeakMap;const be=new WeakSet;v.hooks.preStatement.tap(K,(E=>{if(!L.isEnabled(v.state))return;if(v.scope.topLevelScope===true){if(E.type==="FunctionDeclaration"){const P=E.id?E.id.name:"*default*";const $=L.tagTopLevelSymbol(v,P);R.set(E,$);return true}}}));v.hooks.blockPreStatement.tap(K,(E=>{if(!L.isEnabled(v.state))return;if(v.scope.topLevelScope===true){if(E.type==="ClassDeclaration"&&v.isPure(E,E.range[0])){const P=E.id?E.id.name:"*default*";const R=L.tagTopLevelSymbol(v,P);ae.set(E,R);return true}if(E.type==="ExportDefaultDeclaration"){const P="*default*";const N=L.tagTopLevelSymbol(v,P);const q=E.declaration;if((q.type==="ClassExpression"||q.type==="ClassDeclaration")&&v.isPure(q,q.range[0])){ae.set(q,N)}else if(v.isPure(q,E.range[0])){R.set(E,N);if(!q.type.endsWith("FunctionExpression")&&!q.type.endsWith("Declaration")&&q.type!=="Literal"){$.set(E,q)}}}}}));v.hooks.preDeclarator.tap(K,((E,P)=>{if(!L.isEnabled(v.state))return;if(v.scope.topLevelScope===true&&E.init&&E.id.type==="Identifier"){const P=E.id.name;if(E.init.type==="ClassExpression"&&v.isPure(E.init,E.id.range[1])){const R=L.tagTopLevelSymbol(v,P);ae.set(E.init,R)}else if(v.isPure(E.init,E.id.range[1])){const R=L.tagTopLevelSymbol(v,P);ge.set(E,R);if(!E.init.type.endsWith("FunctionExpression")&&E.init.type!=="Literal"){be.add(E)}}}}));v.hooks.statement.tap(K,(E=>{if(!L.isEnabled(v.state))return;if(v.scope.topLevelScope===true){L.setTopLevelSymbol(v.state,undefined);const P=R.get(E);if(P){L.setTopLevelSymbol(v.state,P);const R=$.get(E);if(R){L.onUsage(v.state,(P=>{switch(P){case undefined:case true:return;default:{const $=new N(R.range);$.loc=E.loc;$.usedByExports=P;v.state.module.addDependency($);break}}}))}}}}));v.hooks.classExtendsExpression.tap(K,((E,P)=>{if(!L.isEnabled(v.state))return;if(v.scope.topLevelScope===true){const R=ae.get(P);if(R&&v.isPure(E,P.id?P.id.range[1]:P.range[0])){L.setTopLevelSymbol(v.state,R);onUsageSuper(E)}}}));v.hooks.classBodyElement.tap(K,((E,P)=>{if(!L.isEnabled(v.state))return;if(v.scope.topLevelScope===true){const E=ae.get(P);if(E){L.setTopLevelSymbol(v.state,undefined)}}}));v.hooks.classBodyValue.tap(K,((E,P,R)=>{if(!L.isEnabled(v.state))return;if(v.scope.topLevelScope===true){const $=ae.get(R);if($){if(!P.static||v.isPure(E,P.key?P.key.range[1]:P.range[0])){L.setTopLevelSymbol(v.state,$);if(P.type!=="MethodDefinition"&&P.static){L.onUsage(v.state,(P=>{switch(P){case undefined:case true:return;default:{const R=new N(E.range);R.loc=E.loc;R.usedByExports=P;v.state.module.addDependency(R);break}}}))}}else{L.setTopLevelSymbol(v.state,undefined)}}}}));v.hooks.declarator.tap(K,((E,P)=>{if(!L.isEnabled(v.state))return;const R=ge.get(E);if(R){L.setTopLevelSymbol(v.state,R);if(be.has(E)){if(E.init.type==="ClassExpression"){if(E.init.superClass){onUsageSuper(E.init.superClass)}}else{L.onUsage(v.state,(P=>{switch(P){case undefined:case true:return;default:{const R=new N(E.init.range);R.loc=E.loc;R.usedByExports=P;v.state.module.addDependency(R);break}}}))}}v.walkExpression(E.init);L.setTopLevelSymbol(v.state,undefined);return true}else if(E.id.type==="Identifier"&&E.init&&E.init.type==="ClassExpression"&&ae.has(E.init)){v.walkExpression(E.init);L.setTopLevelSymbol(v.state,undefined);return true}}));v.hooks.expression.for(q).tap(K,(()=>{const E=v.currentTagData;const P=L.getTopLevelSymbol(v.state);L.addUsage(v.state,E,P||true)}));v.hooks.assign.for(q).tap(K,(E=>{if(!L.isEnabled(v.state))return;if(E.operator==="=")return true}))};E.hooks.parser.for(R).tap(K,handler);E.hooks.parser.for($).tap(K,handler);v.hooks.finishModules.tap(K,(()=>{P.timeAggregateEnd("infer dependency usage")}))}))}}v.exports=InnerGraphPlugin},58287:function(v,E,P){"use strict";const{STAGE_ADVANCED:R}=P(66480);const $=P(82102);const{compareChunks:N}=P(80754);const L=P(86278);const q=L(P(27986),(()=>P(20904)),{name:"Limit Chunk Count Plugin",baseDataPath:"options"});const addToSetMap=(v,E,P)=>{const R=v.get(E);if(R===undefined){v.set(E,new Set([P]))}else{R.add(P)}};class LimitChunkCountPlugin{constructor(v){q(v);this.options=v}apply(v){const E=this.options;v.hooks.compilation.tap("LimitChunkCountPlugin",(v=>{v.hooks.optimizeChunks.tap({name:"LimitChunkCountPlugin",stage:R},(P=>{const R=v.chunkGraph;const L=E.maxChunks;if(!L)return;if(L<1)return;if(v.chunks.size<=L)return;let q=v.chunks.size-L;const K=N(R);const ae=Array.from(P).sort(K);const ge=new $((v=>v.sizeDiff),((v,E)=>E-v),(v=>v.integratedSize),((v,E)=>v-E),(v=>v.bIdx-v.aIdx),((v,E)=>v-E),((v,E)=>v.bIdx-E.bIdx));const be=new Map;ae.forEach(((v,P)=>{for(let $=0;$0){const v=new Set($.groupsIterable);for(const E of N.groupsIterable){v.add(E)}for(const E of v){for(const v of xe){if(v!==$&&v!==N&&v.isInGroup(E)){q--;if(q<=0)break e;xe.add($);xe.add(N);continue e}}for(const P of E.parentsIterable){v.add(P)}}}if(R.canChunksBeIntegrated($,N)){R.integrateChunks($,N);v.chunks.delete(N);xe.add($);ve=true;q--;if(q<=0)break;for(const v of be.get($)){if(v.deleted)continue;v.deleted=true;ge.delete(v)}for(const v of be.get(N)){if(v.deleted)continue;if(v.a===N){if(!R.canChunksBeIntegrated($,v.b)){v.deleted=true;ge.delete(v);continue}const P=R.getIntegratedChunksSize($,v.b,E);const N=ge.startUpdate(v);v.a=$;v.integratedSize=P;v.aSize=L;v.sizeDiff=v.bSize+L-P;N()}else if(v.b===N){if(!R.canChunksBeIntegrated(v.a,$)){v.deleted=true;ge.delete(v);continue}const P=R.getIntegratedChunksSize(v.a,$,E);const N=ge.startUpdate(v);v.b=$;v.integratedSize=P;v.bSize=L;v.sizeDiff=L+v.aSize-P;N()}}be.set($,be.get(N));be.delete(N)}}if(ve)return true}))}))}}v.exports=LimitChunkCountPlugin},56153:function(v,E,P){"use strict";const{UsageState:R}=P(32514);const{numberToIdentifier:$,NUMBER_OF_IDENTIFIER_START_CHARS:N,NUMBER_OF_IDENTIFIER_CONTINUATION_CHARS:L}=P(35600);const{assignDeterministicIds:q}=P(22192);const{compareSelect:K,compareStringsNumeric:ae}=P(80754);const canMangle=v=>{if(v.otherExportsInfo.getUsed(undefined)!==R.Unused)return false;let E=false;for(const P of v.exports){if(P.canMangle===true){E=true}}return E};const ge=K((v=>v.name),ae);const mangleExportsInfo=(v,E,P)=>{if(!canMangle(E))return;const K=new Set;const ae=[];let be=!P;if(!be&&v){for(const v of E.ownedExports){if(v.provided!==false){be=true;break}}}for(const P of E.ownedExports){const E=P.name;if(!P.hasUsedName()){if(P.canMangle!==true||E.length===1&&/^[a-zA-Z0-9_$]/.test(E)||v&&E.length===2&&/^[a-zA-Z_$][a-zA-Z0-9_$]|^[1-9][0-9]/.test(E)||be&&P.provided!==true){P.setUsedName(E);K.add(E)}else{ae.push(P)}}if(P.exportsInfoOwned){const E=P.getUsed(undefined);if(E===R.OnlyPropertiesUsed||E===R.Unused){mangleExportsInfo(v,P.exportsInfo,false)}}}if(v){q(ae,(v=>v.name),ge,((v,E)=>{const P=$(E);const R=K.size;K.add(P);if(R===K.size)return false;v.setUsedName(P);return true}),[N,N*L],L,K.size)}else{const v=[];const E=[];for(const P of ae){if(P.getUsed(undefined)===R.Unused){E.push(P)}else{v.push(P)}}v.sort(ge);E.sort(ge);let P=0;for(const R of[v,E]){for(const v of R){let E;do{E=$(P++)}while(K.has(E));v.setUsedName(E)}}}};class MangleExportsPlugin{constructor(v){this._deterministic=v}apply(v){const{_deterministic:E}=this;v.hooks.compilation.tap("MangleExportsPlugin",(v=>{const P=v.moduleGraph;v.hooks.optimizeCodeGeneration.tap("MangleExportsPlugin",(R=>{if(v.moduleMemCaches){throw new Error("optimization.mangleExports can't be used with cacheUnaffected as export mangling is a global effect")}for(const v of R){const R=v.buildMeta&&v.buildMeta.exportsType==="namespace";const $=P.getExportsInfo(v);mangleExportsInfo(E,$,R)}}))}))}}v.exports=MangleExportsPlugin},75666:function(v,E,P){"use strict";const{STAGE_BASIC:R}=P(66480);const{runtimeEqual:$}=P(32681);class MergeDuplicateChunksPlugin{apply(v){v.hooks.compilation.tap("MergeDuplicateChunksPlugin",(v=>{v.hooks.optimizeChunks.tap({name:"MergeDuplicateChunksPlugin",stage:R},(E=>{const{chunkGraph:P,moduleGraph:R}=v;const N=new Set;for(const L of E){let E;for(const v of P.getChunkModulesIterable(L)){if(E===undefined){for(const R of P.getModuleChunksIterable(v)){if(R!==L&&P.getNumberOfChunkModules(L)===P.getNumberOfChunkModules(R)&&!N.has(R)){if(E===undefined){E=new Set}E.add(R)}}if(E===undefined)break}else{for(const R of E){if(!P.isModuleInChunk(v,R)){E.delete(R)}}if(E.size===0)break}}if(E!==undefined&&E.size>0){e:for(const N of E){if(N.hasRuntime()!==L.hasRuntime())continue;if(P.getNumberOfEntryModules(L)>0)continue;if(P.getNumberOfEntryModules(N)>0)continue;if(!$(L.runtime,N.runtime)){for(const v of P.getChunkModulesIterable(L)){const E=R.getExportsInfo(v);if(!E.isEquallyUsed(L.runtime,N.runtime)){continue e}}}if(P.canChunksBeIntegrated(L,N)){P.integrateChunks(L,N);v.chunks.delete(N)}}}N.add(L)}}))}))}}v.exports=MergeDuplicateChunksPlugin},63464:function(v,E,P){"use strict";const{STAGE_ADVANCED:R}=P(66480);const $=P(86278);const N=$(P(48059),(()=>P(22227)),{name:"Min Chunk Size Plugin",baseDataPath:"options"});class MinChunkSizePlugin{constructor(v){N(v);this.options=v}apply(v){const E=this.options;const P=E.minChunkSize;v.hooks.compilation.tap("MinChunkSizePlugin",(v=>{v.hooks.optimizeChunks.tap({name:"MinChunkSizePlugin",stage:R},(R=>{const $=v.chunkGraph;const N={chunkOverhead:1,entryChunkMultiplicator:1};const L=new Map;const q=[];const K=[];const ae=[];for(const v of R){if($.getChunkSize(v,N){const P=L.get(v[0]);const R=L.get(v[1]);const N=$.getIntegratedChunksSize(v[0],v[1],E);const q=[P+R-N,N,v[0],v[1]];return q})).sort(((v,E)=>{const P=E[0]-v[0];if(P!==0)return P;return v[1]-E[1]}));if(ge.length===0)return;const be=ge[0];$.integrateChunks(be[2],be[3]);v.chunks.delete(be[3]);return true}))}))}}v.exports=MinChunkSizePlugin},96688:function(v,E,P){"use strict";const R=P(54172);const $=P(45425);class MinMaxSizeWarning extends ${constructor(v,E,P){let $="Fallback cache group";if(v){$=v.length>1?`Cache groups ${v.sort().join(", ")}`:`Cache group ${v[0]}`}super(`SplitChunksPlugin\n`+`${$}\n`+`Configured minSize (${R.formatSize(E)}) is `+`bigger than maxSize (${R.formatSize(P)}).\n`+"This seem to be a invalid optimization.splitChunks configuration.")}}v.exports=MinMaxSizeWarning},6864:function(v,E,P){"use strict";const R=P(78175);const $=P(33422);const N=P(22425);const{STAGE_DEFAULT:L}=P(66480);const q=P(27601);const{compareModulesByIdentifier:K}=P(80754);const{intersectRuntime:ae,mergeRuntimeOwned:ge,filterRuntime:be,runtimeToString:xe,mergeRuntime:ve}=P(32681);const Ae=P(20307);const formatBailoutReason=v=>"ModuleConcatenation bailout: "+v;class ModuleConcatenationPlugin{constructor(v){if(typeof v!=="object")v={};this.options=v}apply(v){const{_backCompat:E}=v;v.hooks.compilation.tap("ModuleConcatenationPlugin",(P=>{if(P.moduleMemCaches){throw new Error("optimization.concatenateModules can't be used with cacheUnaffected as module concatenation is a global effect")}const K=P.moduleGraph;const ae=new Map;const setBailoutReason=(v,E)=>{setInnerBailoutReason(v,E);K.getOptimizationBailout(v).push(typeof E==="function"?v=>formatBailoutReason(E(v)):formatBailoutReason(E))};const setInnerBailoutReason=(v,E)=>{ae.set(v,E)};const getInnerBailoutReason=(v,E)=>{const P=ae.get(v);if(typeof P==="function")return P(E);return P};const formatBailoutWarning=(v,E)=>P=>{if(typeof E==="function"){return formatBailoutReason(`Cannot concat with ${v.readableIdentifier(P)}: ${E(P)}`)}const R=getInnerBailoutReason(v,P);const $=R?`: ${R}`:"";if(v===E){return formatBailoutReason(`Cannot concat with ${v.readableIdentifier(P)}${$}`)}else{return formatBailoutReason(`Cannot concat with ${v.readableIdentifier(P)} because of ${E.readableIdentifier(P)}${$}`)}};P.hooks.optimizeChunkModules.tapAsync({name:"ModuleConcatenationPlugin",stage:L},((L,K,ae)=>{const xe=P.getLogger("webpack.ModuleConcatenationPlugin");const{chunkGraph:ve,moduleGraph:Ie}=P;const He=[];const Qe=new Set;const Je={chunkGraph:ve,moduleGraph:Ie};xe.time("select relevant modules");for(const v of K){let E=true;let P=true;const R=v.getConcatenationBailoutReason(Je);if(R){setBailoutReason(v,R);continue}if(Ie.isAsync(v)){setBailoutReason(v,`Module is async`);continue}if(!v.buildInfo.strict){setBailoutReason(v,`Module is not in strict mode`);continue}if(ve.getNumberOfModuleChunks(v)===0){setBailoutReason(v,"Module is not in any chunk");continue}const $=Ie.getExportsInfo(v);const N=$.getRelevantExports(undefined);const L=N.filter((v=>v.isReexport()&&!v.getTarget(Ie)));if(L.length>0){setBailoutReason(v,`Reexports in this module do not have a static target (${Array.from(L,(v=>`${v.name||"other exports"}: ${v.getUsedInfo()}`)).join(", ")})`);continue}const q=N.filter((v=>v.provided!==true));if(q.length>0){setBailoutReason(v,`List of module exports is dynamic (${Array.from(q,(v=>`${v.name||"other exports"}: ${v.getProvidedInfo()} and ${v.getUsedInfo()}`)).join(", ")})`);E=false}if(ve.isEntryModule(v)){setInnerBailoutReason(v,"Module is an entry point");P=false}if(E)He.push(v);if(P)Qe.add(v)}xe.timeEnd("select relevant modules");xe.debug(`${He.length} potential root modules, ${Qe.size} potential inner modules`);xe.time("sort relevant modules");He.sort(((v,E)=>Ie.getDepth(v)-Ie.getDepth(E)));xe.timeEnd("sort relevant modules");const Ve={cached:0,alreadyInConfig:0,invalidModule:0,incorrectChunks:0,incorrectDependency:0,incorrectModuleDependency:0,incorrectChunksOfImporter:0,incorrectRuntimeCondition:0,importerFailed:0,added:0};let Ke=0;let Ye=0;let Xe=0;xe.time("find modules to concatenate");const Ze=[];const et=new Set;for(const v of He){if(et.has(v))continue;let E=undefined;for(const P of ve.getModuleRuntimes(v)){E=ge(E,P)}const R=Ie.getExportsInfo(v);const $=be(E,(v=>R.isModuleUsed(v)));const N=$===true?E:$===false?undefined:$;const L=new ConcatConfiguration(v,N);const q=new Map;const K=new Set;for(const E of this._getImports(P,v,N)){K.add(E)}for(const v of K){const R=new Set;const $=this._tryToAdd(P,L,v,E,N,Qe,R,q,ve,true,Ve);if($){q.set(v,$);L.addWarning(v,$)}else{for(const v of R){K.add(v)}}}Ke+=K.size;if(!L.isEmpty()){const v=L.getModules();Ye+=v.size;Ze.push(L);for(const E of v){if(E!==L.rootModule){et.add(E)}}}else{Xe++;const E=Ie.getOptimizationBailout(v);for(const v of L.getWarningsSorted()){E.push(formatBailoutWarning(v[0],v[1]))}}}xe.timeEnd("find modules to concatenate");xe.debug(`${Ze.length} successful concat configurations (avg size: ${Ye/Ze.length}), ${Xe} bailed out completely`);xe.debug(`${Ke} candidates were considered for adding (${Ve.cached} cached failure, ${Ve.alreadyInConfig} already in config, ${Ve.invalidModule} invalid module, ${Ve.incorrectChunks} incorrect chunks, ${Ve.incorrectDependency} incorrect dependency, ${Ve.incorrectChunksOfImporter} incorrect chunks of importer, ${Ve.incorrectModuleDependency} incorrect module dependency, ${Ve.incorrectRuntimeCondition} incorrect runtime condition, ${Ve.importerFailed} importer failed, ${Ve.added} added)`);xe.time(`sort concat configurations`);Ze.sort(((v,E)=>E.modules.size-v.modules.size));xe.timeEnd(`sort concat configurations`);const tt=new Set;xe.time("create concatenated modules");R.each(Ze,((R,L)=>{const K=R.rootModule;if(tt.has(K))return L();const ae=R.getModules();for(const v of ae){tt.add(v)}let ge=Ae.create(K,ae,R.runtime,v.root,P.outputOptions.hashFunction);const build=()=>{ge.build(v.options,P,null,null,(v=>{if(v){if(!v.module){v.module=ge}return L(v)}integrate()}))};const integrate=()=>{if(E){$.setChunkGraphForModule(ge,ve);N.setModuleGraphForModule(ge,Ie)}for(const v of R.getWarningsSorted()){Ie.getOptimizationBailout(ge).push(formatBailoutWarning(v[0],v[1]))}Ie.cloneModuleAttributes(K,ge);for(const v of ae){if(P.builtModules.has(v)){P.builtModules.add(ge)}if(v!==K){Ie.copyOutgoingModuleConnections(v,ge,(E=>E.originModule===v&&!(E.dependency instanceof q&&ae.has(E.module))));for(const E of ve.getModuleChunksIterable(K)){const P=ve.getChunkModuleSourceTypes(E,v);if(P.size===1){ve.disconnectChunkAndModule(E,v)}else{const R=new Set(P);R.delete("javascript");ve.setChunkModuleSourceTypes(E,v,R)}}}}P.modules.delete(K);$.clearChunkGraphForModule(K);N.clearModuleGraphForModule(K);ve.replaceModule(K,ge);Ie.moveModuleConnections(K,ge,(v=>{const E=v.module===K?v.originModule:v.module;const P=v.dependency instanceof q&&ae.has(E);return!P}));P.modules.add(ge);L()};build()}),(v=>{xe.timeEnd("create concatenated modules");process.nextTick(ae.bind(null,v))}))}))}))}_getImports(v,E,P){const R=v.moduleGraph;const $=new Set;for(const N of E.dependencies){if(!(N instanceof q))continue;const L=R.getConnection(N);if(!L||!L.module||!L.isTargetActive(P)){continue}const K=v.getDependencyReferencedExports(N,undefined);if(K.every((v=>Array.isArray(v)?v.length>0:v.name.length>0))||Array.isArray(R.getProvidedExports(E))){$.add(L.module)}}return $}_tryToAdd(v,E,P,R,$,N,L,Ae,Ie,He,Qe){const Je=Ae.get(P);if(Je){Qe.cached++;return Je}if(E.has(P)){Qe.alreadyInConfig++;return null}if(!N.has(P)){Qe.invalidModule++;Ae.set(P,P);return P}const Ve=Array.from(Ie.getModuleChunksIterable(E.rootModule)).filter((v=>!Ie.isModuleInChunk(P,v)));if(Ve.length>0){const problem=v=>{const E=Array.from(new Set(Ve.map((v=>v.name||"unnamed chunk(s)")))).sort();const R=Array.from(new Set(Array.from(Ie.getModuleChunksIterable(P)).map((v=>v.name||"unnamed chunk(s)")))).sort();return`Module ${P.readableIdentifier(v)} is not in the same chunk(s) (expected in chunk(s) ${E.join(", ")}, module is in chunk(s) ${R.join(", ")})`};Qe.incorrectChunks++;Ae.set(P,problem);return problem}const Ke=v.moduleGraph;const Ye=Ke.getIncomingConnectionsByOriginModule(P);const Xe=Ye.get(null)||Ye.get(undefined);if(Xe){const v=Xe.filter((v=>v.isActive(R)));if(v.length>0){const problem=E=>{const R=new Set(v.map((v=>v.explanation)).filter(Boolean));const $=Array.from(R).sort();return`Module ${P.readableIdentifier(E)} is referenced ${$.length>0?`by: ${$.join(", ")}`:"in an unsupported way"}`};Qe.incorrectDependency++;Ae.set(P,problem);return problem}}const Ze=new Map;for(const[v,E]of Ye){if(v){if(Ie.getNumberOfModuleChunks(v)===0)continue;let P=undefined;for(const E of Ie.getModuleRuntimes(v)){P=ge(P,E)}if(!ae(R,P))continue;const $=E.filter((v=>v.isActive(R)));if($.length>0)Ze.set(v,$)}}const et=Array.from(Ze.keys());const tt=et.filter((v=>{for(const P of Ie.getModuleChunksIterable(E.rootModule)){if(!Ie.isModuleInChunk(v,P)){return true}}return false}));if(tt.length>0){const problem=v=>{const E=tt.map((E=>E.readableIdentifier(v))).sort();return`Module ${P.readableIdentifier(v)} is referenced from different chunks by these modules: ${E.join(", ")}`};Qe.incorrectChunksOfImporter++;Ae.set(P,problem);return problem}const nt=new Map;for(const[v,E]of Ze){const P=E.filter((v=>!v.dependency||!(v.dependency instanceof q)));if(P.length>0)nt.set(v,E)}if(nt.size>0){const problem=v=>{const E=Array.from(nt).map((([E,P])=>`${E.readableIdentifier(v)} (referenced with ${Array.from(new Set(P.map((v=>v.dependency&&v.dependency.type)).filter(Boolean))).sort().join(", ")})`)).sort();return`Module ${P.readableIdentifier(v)} is referenced from these modules with unsupported syntax: ${E.join(", ")}`};Qe.incorrectModuleDependency++;Ae.set(P,problem);return problem}if(R!==undefined&&typeof R!=="string"){const v=[];e:for(const[E,P]of Ze){let $=false;for(const v of P){const E=be(R,(E=>v.isTargetActive(E)));if(E===false)continue;if(E===true)continue e;if($!==false){$=ve($,E)}else{$=E}}if($!==false){v.push({originModule:E,runtimeCondition:$})}}if(v.length>0){const problem=E=>`Module ${P.readableIdentifier(E)} is runtime-dependent referenced by these modules: ${Array.from(v,(({originModule:v,runtimeCondition:P})=>`${v.readableIdentifier(E)} (expected runtime ${xe(R)}, module is only referenced in ${xe(P)})`)).join(", ")}`;Qe.incorrectRuntimeCondition++;Ae.set(P,problem);return problem}}let st;if(He){st=E.snapshot()}E.add(P);et.sort(K);for(const q of et){const K=this._tryToAdd(v,E,q,R,$,N,L,Ae,Ie,false,Qe);if(K){if(st!==undefined)E.rollback(st);Qe.importerFailed++;Ae.set(P,K);return K}}for(const E of this._getImports(v,P,R)){L.add(E)}Qe.added++;return null}}class ConcatConfiguration{constructor(v,E){this.rootModule=v;this.runtime=E;this.modules=new Set;this.modules.add(v);this.warnings=new Map}add(v){this.modules.add(v)}has(v){return this.modules.has(v)}isEmpty(){return this.modules.size===1}addWarning(v,E){this.warnings.set(v,E)}getWarningsSorted(){return new Map(Array.from(this.warnings).sort(((v,E)=>{const P=v[0].identifier();const R=E[0].identifier();if(PR)return 1;return 0})))}getModules(){return this.modules}snapshot(){return this.modules.size}rollback(v){const E=this.modules;for(const P of E){if(v===0){E.delete(P)}else{v--}}}}v.exports=ModuleConcatenationPlugin},58097:function(v,E,P){"use strict";const{SyncBailHook:R}=P(79846);const{RawSource:$,CachedSource:N,CompatSource:L}=P(51255);const q=P(92150);const K=P(45425);const{compareSelect:ae,compareStrings:ge}=P(80754);const be=P(1558);const xe=new Set;const addToList=(v,E)=>{if(Array.isArray(v)){for(const P of v){E.add(P)}}else if(v){E.add(v)}};const mapAndDeduplicateBuffers=(v,E)=>{const P=[];e:for(const R of v){const v=E(R);for(const E of P){if(v.equals(E))continue e}P.push(v)}return P};const quoteMeta=v=>v.replace(/[-[\]\\/{}()*+?.^$|]/g,"\\$&");const ve=new WeakMap;const toCachedSource=v=>{if(v instanceof N){return v}const E=ve.get(v);if(E!==undefined)return E;const P=new N(L.from(v));ve.set(v,P);return P};const Ae=new WeakMap;class RealContentHashPlugin{static getCompilationHooks(v){if(!(v instanceof q)){throw new TypeError("The 'compilation' argument must be an instance of Compilation")}let E=Ae.get(v);if(E===undefined){E={updateHash:new R(["content","oldHash"])};Ae.set(v,E)}return E}constructor({hashFunction:v,hashDigest:E}){this._hashFunction=v;this._hashDigest=E}apply(v){v.hooks.compilation.tap("RealContentHashPlugin",(v=>{const E=v.getCache("RealContentHashPlugin|analyse");const P=v.getCache("RealContentHashPlugin|generate");const R=RealContentHashPlugin.getCompilationHooks(v);v.hooks.processAssets.tapPromise({name:"RealContentHashPlugin",stage:q.PROCESS_ASSETS_STAGE_OPTIMIZE_HASH},(async()=>{const N=v.getAssets();const L=[];const q=new Map;for(const{source:v,info:E,name:P}of N){const R=toCachedSource(v);const $=R.source();const N=new Set;addToList(E.contenthash,N);const K={name:P,info:E,source:R,newSource:undefined,newSourceWithoutOwn:undefined,content:$,ownHashes:undefined,contentComputePromise:undefined,contentComputeWithoutOwnPromise:undefined,referencedHashes:undefined,hashes:N};L.push(K);for(const v of N){const E=q.get(v);if(E===undefined){q.set(v,[K])}else{E.push(K)}}}if(q.size===0)return;const ve=new RegExp(Array.from(q.keys(),quoteMeta).join("|"),"g");await Promise.all(L.map((async v=>{const{name:P,source:R,content:$,hashes:N}=v;if(Buffer.isBuffer($)){v.referencedHashes=xe;v.ownHashes=xe;return}const L=E.mergeEtags(E.getLazyHashedEtag(R),Array.from(N).join("|"));[v.referencedHashes,v.ownHashes]=await E.providePromise(P,L,(()=>{const v=new Set;let E=new Set;const P=$.match(ve);if(P){for(const R of P){if(N.has(R)){E.add(R);continue}v.add(R)}}return[v,E]}))})));const getDependencies=E=>{const P=q.get(E);if(!P){const P=L.filter((v=>v.referencedHashes.has(E)));const R=new K(`RealContentHashPlugin\nSome kind of unexpected caching problem occurred.\nAn asset was cached with a reference to another asset (${E}) that's not in the compilation anymore.\nEither the asset was incorrectly cached, or the referenced asset should also be restored from cache.\nReferenced by:\n${P.map((v=>{const P=new RegExp(`.{0,20}${quoteMeta(E)}.{0,20}`).exec(v.content);return` - ${v.name}: ...${P?P[0]:"???"}...`})).join("\n")}`);v.errors.push(R);return undefined}const R=new Set;for(const{referencedHashes:v,ownHashes:$}of P){if(!$.has(E)){for(const v of $){R.add(v)}}for(const E of v){R.add(E)}}return R};const hashInfo=v=>{const E=q.get(v);return`${v} (${Array.from(E,(v=>v.name))})`};const Ae=new Set;for(const v of q.keys()){const add=(v,E)=>{const P=getDependencies(v);if(!P)return;E.add(v);for(const v of P){if(Ae.has(v))continue;if(E.has(v)){throw new Error(`Circular hash dependency ${Array.from(E,hashInfo).join(" -> ")} -> ${hashInfo(v)}`)}add(v,E)}Ae.add(v);E.delete(v)};if(Ae.has(v))continue;add(v,new Set)}const Ie=new Map;const getEtag=v=>P.mergeEtags(P.getLazyHashedEtag(v.source),Array.from(v.referencedHashes,(v=>Ie.get(v))).join("|"));const computeNewContent=v=>{if(v.contentComputePromise)return v.contentComputePromise;return v.contentComputePromise=(async()=>{if(v.ownHashes.size>0||Array.from(v.referencedHashes).some((v=>Ie.get(v)!==v))){const E=v.name;const R=getEtag(v);v.newSource=await P.providePromise(E,R,(()=>{const E=v.content.replace(ve,(v=>Ie.get(v)));return new $(E)}))}})()};const computeNewContentWithoutOwn=v=>{if(v.contentComputeWithoutOwnPromise)return v.contentComputeWithoutOwnPromise;return v.contentComputeWithoutOwnPromise=(async()=>{if(v.ownHashes.size>0||Array.from(v.referencedHashes).some((v=>Ie.get(v)!==v))){const E=v.name+"|without-own";const R=getEtag(v);v.newSourceWithoutOwn=await P.providePromise(E,R,(()=>{const E=v.content.replace(ve,(E=>{if(v.ownHashes.has(E)){return""}return Ie.get(E)}));return new $(E)}))}})()};const He=ae((v=>v.name),ge);for(const E of Ae){const P=q.get(E);P.sort(He);await Promise.all(P.map((v=>v.ownHashes.has(E)?computeNewContentWithoutOwn(v):computeNewContent(v))));const $=mapAndDeduplicateBuffers(P,(v=>{if(v.ownHashes.has(E)){return v.newSourceWithoutOwn?v.newSourceWithoutOwn.buffer():v.source.buffer()}else{return v.newSource?v.newSource.buffer():v.source.buffer()}}));let N=R.updateHash.call($,E);if(!N){const P=be(this._hashFunction);if(v.outputOptions.hashSalt){P.update(v.outputOptions.hashSalt)}for(const v of $){P.update(v)}const R=P.digest(this._hashDigest);N=R.slice(0,E.length)}Ie.set(E,N)}await Promise.all(L.map((async E=>{await computeNewContent(E);const P=E.name.replace(ve,(v=>Ie.get(v)));const R={};const $=E.info.contenthash;R.contenthash=Array.isArray($)?$.map((v=>Ie.get(v))):Ie.get($);if(E.newSource!==undefined){v.updateAsset(E.name,E.newSource,R)}else{v.updateAsset(E.name,E.source,R)}if(E.name!==P){v.renameAsset(E.name,P)}})))}))}))}}v.exports=RealContentHashPlugin},71418:function(v,E,P){"use strict";const{STAGE_BASIC:R,STAGE_ADVANCED:$}=P(66480);class RemoveEmptyChunksPlugin{apply(v){v.hooks.compilation.tap("RemoveEmptyChunksPlugin",(v=>{const handler=E=>{const P=v.chunkGraph;for(const R of E){if(P.getNumberOfChunkModules(R)===0&&!R.hasRuntime()&&P.getNumberOfEntryModules(R)===0){v.chunkGraph.disconnectChunk(R);v.chunks.delete(R)}}};v.hooks.optimizeChunks.tap({name:"RemoveEmptyChunksPlugin",stage:R},handler);v.hooks.optimizeChunks.tap({name:"RemoveEmptyChunksPlugin",stage:$},handler)}))}}v.exports=RemoveEmptyChunksPlugin},77381:function(v,E,P){"use strict";const{STAGE_BASIC:R}=P(66480);function intersectMasks(v){let E=v[0];for(let P=v.length-1;P>=1;P--){E&=v[P]}return E}const $=BigInt(0);const N=BigInt(1);const L=BigInt(32);function*getModulesFromMask(v,E){let P=31;while(v!==$){let R=Number(BigInt.asUintN(32,v));while(R>0){let v=Math.clz32(R);const $=P-v;const N=E[$];yield N;R&=~(1<<31-v)}v>>=L;P+=32}}class RemoveParentModulesPlugin{apply(v){v.hooks.compilation.tap("RemoveParentModulesPlugin",(v=>{const handler=(E,P)=>{const R=v.chunkGraph;const L=new Set;const q=new WeakMap;let K=N;const ae=new WeakMap;const ge=[];const getOrCreateModuleMask=v=>{let E=ae.get(v);if(E===undefined){E=K;ge.push(v);ae.set(v,E);K<<=N}return E};const be=new WeakMap;for(const v of E){let E=$;for(const P of R.getChunkModulesIterable(v)){const v=getOrCreateModuleMask(P);E|=v}be.set(v,E)}const xe=new WeakMap;for(const v of P){let E=$;for(const P of v.chunks){const v=be.get(P);if(v!==undefined){E|=v}}xe.set(v,E)}for(const E of v.entrypoints.values()){q.set(E,$);for(const v of E.childrenIterable){L.add(v)}}for(const E of v.asyncEntrypoints){q.set(E,$);for(const v of E.childrenIterable){L.add(v)}}for(const v of L){let E=q.get(v);let P=false;for(const R of v.parentsIterable){const v=q.get(R);if(v!==undefined){const $=v|xe.get(R);if(E===undefined){E=$;P=true}else{let v=E&$;if(v!==E){P=true;E=v}}}}if(P){q.set(v,E);for(const E of v.childrenIterable){L.delete(E);L.add(E)}}}for(const v of E){const E=be.get(v);if(E===undefined)continue;const P=Array.from(v.groupsIterable,(v=>q.get(v)));if(P.some((v=>v===undefined)))continue;const N=intersectMasks(P);const L=E&N;if(L!==$){for(const E of getModulesFromMask(L,ge)){R.disconnectChunkAndModule(v,E)}}}};v.hooks.optimizeChunks.tap({name:"RemoveParentModulesPlugin",stage:R},handler)}))}}v.exports=RemoveParentModulesPlugin},74831:function(v){"use strict";class RuntimeChunkPlugin{constructor(v){this.options={name:v=>`runtime~${v.name}`,...v}}apply(v){v.hooks.thisCompilation.tap("RuntimeChunkPlugin",(v=>{v.hooks.addEntry.tap("RuntimeChunkPlugin",((E,{name:P})=>{if(P===undefined)return;const R=v.entries.get(P);if(R.options.runtime===undefined&&!R.options.dependOn){let v=this.options.name;if(typeof v==="function"){v=v({name:P})}R.options.runtime=v}}))}))}}v.exports=RuntimeChunkPlugin},22393:function(v,E,P){"use strict";const R=P(21660);const{JAVASCRIPT_MODULE_TYPE_AUTO:$,JAVASCRIPT_MODULE_TYPE_ESM:N,JAVASCRIPT_MODULE_TYPE_DYNAMIC:L}=P(98791);const{STAGE_DEFAULT:q}=P(66480);const K=P(47503);const ae=P(59129);const ge=P(14703);const be=new WeakMap;const globToRegexp=(v,E)=>{const P=E.get(v);if(P!==undefined)return P;if(!v.includes("/")){v=`**/${v}`}const $=R(v,{globstar:true,extended:true});const N=$.source;const L=new RegExp("^(\\./)?"+N.slice(1));E.set(v,L);return L};const xe="SideEffectsFlagPlugin";class SideEffectsFlagPlugin{constructor(v=true){this._analyseSource=v}apply(v){let E=be.get(v.root);if(E===undefined){E=new Map;be.set(v.root,E)}v.hooks.compilation.tap(xe,((v,{normalModuleFactory:P})=>{const R=v.moduleGraph;P.hooks.module.tap(xe,((v,P)=>{const R=P.resourceResolveData;if(R&&R.descriptionFileData&&R.relativePath){const P=R.descriptionFileData.sideEffects;if(P!==undefined){if(v.factoryMeta===undefined){v.factoryMeta={}}const $=SideEffectsFlagPlugin.moduleHasSideEffects(R.relativePath,P,E);v.factoryMeta.sideEffectFree=!$}}return v}));P.hooks.module.tap(xe,((v,E)=>{if(typeof E.settings.sideEffects==="boolean"){if(v.factoryMeta===undefined){v.factoryMeta={}}v.factoryMeta.sideEffectFree=!E.settings.sideEffects}return v}));if(this._analyseSource){const parserHandler=v=>{let E;v.hooks.program.tap(xe,(()=>{E=undefined}));v.hooks.statement.tap({name:xe,stage:-100},(P=>{if(E)return;if(v.scope.topLevelScope!==true)return;switch(P.type){case"ExpressionStatement":if(!v.isPure(P.expression,P.range[0])){E=P}break;case"IfStatement":case"WhileStatement":case"DoWhileStatement":if(!v.isPure(P.test,P.range[0])){E=P}break;case"ForStatement":if(!v.isPure(P.init,P.range[0])||!v.isPure(P.test,P.init?P.init.range[1]:P.range[0])||!v.isPure(P.update,P.test?P.test.range[1]:P.init?P.init.range[1]:P.range[0])){E=P}break;case"SwitchStatement":if(!v.isPure(P.discriminant,P.range[0])){E=P}break;case"VariableDeclaration":case"ClassDeclaration":case"FunctionDeclaration":if(!v.isPure(P,P.range[0])){E=P}break;case"ExportNamedDeclaration":case"ExportDefaultDeclaration":if(!v.isPure(P.declaration,P.range[0])){E=P}break;case"LabeledStatement":case"BlockStatement":break;case"EmptyStatement":break;case"ExportAllDeclaration":case"ImportDeclaration":break;default:E=P;break}}));v.hooks.finish.tap(xe,(()=>{if(E===undefined){v.state.module.buildMeta.sideEffectFree=true}else{const{loc:P,type:$}=E;R.getOptimizationBailout(v.state.module).push((()=>`Statement (${$}) with side effects in source code at ${ge(P)}`))}}))};for(const v of[$,N,L]){P.hooks.parser.for(v).tap(xe,parserHandler)}}v.hooks.optimizeDependencies.tap({name:xe,stage:q},(E=>{const P=v.getLogger("webpack.SideEffectsFlagPlugin");P.time("update dependencies");const $=new Set;const optimizeIncomingConnections=v=>{if($.has(v))return;$.add(v);if(v.getSideEffectsConnectionState(R)===false){const E=R.getExportsInfo(v);for(const P of R.getIncomingConnections(v)){const v=P.dependency;let $;if(($=v instanceof K)||v instanceof ae&&!v.namespaceObjectAsContext){if(P.originModule!==null){optimizeIncomingConnections(P.originModule)}if($&&v.name){const E=R.getExportInfo(P.originModule,v.name);E.moveTarget(R,(({module:v})=>v.getSideEffectsConnectionState(R)===false),(({module:E,export:P})=>{R.updateModule(v,E);R.addExplanation(v,"(skipped side-effect-free modules)");const $=v.getIds(R);v.setIds(R,P?[...P,...$.slice(1)]:$.slice(1));return R.getConnection(v)}));continue}const N=v.getIds(R);if(N.length>0){const P=E.getExportInfo(N[0]);const $=P.getTarget(R,(({module:v})=>v.getSideEffectsConnectionState(R)===false));if(!$)continue;R.updateModule(v,$.module);R.addExplanation(v,"(skipped side-effect-free modules)");v.setIds(R,$.export?[...$.export,...N.slice(1)]:N.slice(1))}}}}};for(const v of E){optimizeIncomingConnections(v)}P.timeEnd("update dependencies")}))}))}static moduleHasSideEffects(v,E,P){switch(typeof E){case"undefined":return true;case"boolean":return E;case"string":return globToRegexp(E,P).test(v);case"object":return E.some((E=>SideEffectsFlagPlugin.moduleHasSideEffects(v,E,P)))}}}v.exports=SideEffectsFlagPlugin},52532:function(v,E,P){"use strict";const R=P(13537);const{STAGE_ADVANCED:$}=P(66480);const N=P(45425);const{requestToId:L}=P(22192);const{isSubset:q}=P(57167);const K=P(96543);const{compareModulesByIdentifier:ae,compareIterables:ge}=P(80754);const be=P(1558);const xe=P(83348);const{makePathsRelative:ve}=P(94778);const Ae=P(49584);const Ie=P(96688);const defaultGetName=()=>{};const He=xe;const Qe=new WeakMap;const hashFilename=(v,E)=>{const P=be(E.hashFunction).update(v).digest(E.hashDigest);return P.slice(0,8)};const getRequests=v=>{let E=0;for(const P of v.groupsIterable){E=Math.max(E,P.chunks.length)}return E};const mapObject=(v,E)=>{const P=Object.create(null);for(const R of Object.keys(v)){P[R]=E(v[R],R)}return P};const isOverlap=(v,E)=>{for(const P of v){if(E.has(P))return true}return false};const Je=ge(ae);const compareEntries=(v,E)=>{const P=v.cacheGroup.priority-E.cacheGroup.priority;if(P)return P;const R=v.chunks.size-E.chunks.size;if(R)return R;const $=totalSize(v.sizes)*(v.chunks.size-1);const N=totalSize(E.sizes)*(E.chunks.size-1);const L=$-N;if(L)return L;const q=E.cacheGroupIndex-v.cacheGroupIndex;if(q)return q;const K=v.modules;const ae=E.modules;const ge=K.size-ae.size;if(ge)return ge;K.sort();ae.sort();return Je(K,ae)};const INITIAL_CHUNK_FILTER=v=>v.canBeInitial();const ASYNC_CHUNK_FILTER=v=>!v.canBeInitial();const ALL_CHUNK_FILTER=v=>true;const normalizeSizes=(v,E)=>{if(typeof v==="number"){const P={};for(const R of E)P[R]=v;return P}else if(typeof v==="object"&&v!==null){return{...v}}else{return{}}};const mergeSizes=(...v)=>{let E={};for(let P=v.length-1;P>=0;P--){E=Object.assign(E,v[P])}return E};const hasNonZeroSizes=v=>{for(const E of Object.keys(v)){if(v[E]>0)return true}return false};const combineSizes=(v,E,P)=>{const R=new Set(Object.keys(v));const $=new Set(Object.keys(E));const N={};for(const L of R){if($.has(L)){N[L]=P(v[L],E[L])}else{N[L]=v[L]}}for(const v of $){if(!R.has(v)){N[v]=E[v]}}return N};const checkMinSize=(v,E)=>{for(const P of Object.keys(E)){const R=v[P];if(R===undefined||R===0)continue;if(R{for(const R of Object.keys(E)){const $=v[R];if($===undefined||$===0)continue;if($*P{let P;for(const R of Object.keys(E)){const $=v[R];if($===undefined||$===0)continue;if(${let E=0;for(const P of Object.keys(v)){E+=v[P]}return E};const normalizeName=v=>{if(typeof v==="string"){return()=>v}if(typeof v==="function"){return v}};const normalizeChunksFilter=v=>{if(v==="initial"){return INITIAL_CHUNK_FILTER}if(v==="async"){return ASYNC_CHUNK_FILTER}if(v==="all"){return ALL_CHUNK_FILTER}if(v instanceof RegExp){return E=>E.name?v.test(E.name):false}if(typeof v==="function"){return v}};const normalizeCacheGroups=(v,E)=>{if(typeof v==="function"){return v}if(typeof v==="object"&&v!==null){const P=[];for(const R of Object.keys(v)){const $=v[R];if($===false){continue}if(typeof $==="string"||$ instanceof RegExp){const v=createCacheGroupSource({},R,E);P.push(((E,P,R)=>{if(checkTest($,E,P)){R.push(v)}}))}else if(typeof $==="function"){const v=new WeakMap;P.push(((P,N,L)=>{const q=$(P);if(q){const P=Array.isArray(q)?q:[q];for(const $ of P){const P=v.get($);if(P!==undefined){L.push(P)}else{const P=createCacheGroupSource($,R,E);v.set($,P);L.push(P)}}}}))}else{const v=createCacheGroupSource($,R,E);P.push(((E,P,R)=>{if(checkTest($.test,E,P)&&checkModuleType($.type,E)&&checkModuleLayer($.layer,E)){R.push(v)}}))}}const fn=(v,E)=>{let R=[];for(const $ of P){$(v,E,R)}return R};return fn}return()=>null};const checkTest=(v,E,P)=>{if(v===undefined)return true;if(typeof v==="function"){return v(E,P)}if(typeof v==="boolean")return v;if(typeof v==="string"){const P=E.nameForCondition();return P&&P.startsWith(v)}if(v instanceof RegExp){const P=E.nameForCondition();return P&&v.test(P)}return false};const checkModuleType=(v,E)=>{if(v===undefined)return true;if(typeof v==="function"){return v(E.type)}if(typeof v==="string"){const P=E.type;return v===P}if(v instanceof RegExp){const P=E.type;return v.test(P)}return false};const checkModuleLayer=(v,E)=>{if(v===undefined)return true;if(typeof v==="function"){return v(E.layer)}if(typeof v==="string"){const P=E.layer;return v===""?!P:P&&P.startsWith(v)}if(v instanceof RegExp){const P=E.layer;return v.test(P)}return false};const createCacheGroupSource=(v,E,P)=>{const R=normalizeSizes(v.minSize,P);const $=normalizeSizes(v.minSizeReduction,P);const N=normalizeSizes(v.maxSize,P);return{key:E,priority:v.priority,getName:normalizeName(v.name),chunksFilter:normalizeChunksFilter(v.chunks),enforce:v.enforce,minSize:R,minSizeReduction:$,minRemainingSize:mergeSizes(normalizeSizes(v.minRemainingSize,P),R),enforceSizeThreshold:normalizeSizes(v.enforceSizeThreshold,P),maxAsyncSize:mergeSizes(normalizeSizes(v.maxAsyncSize,P),N),maxInitialSize:mergeSizes(normalizeSizes(v.maxInitialSize,P),N),minChunks:v.minChunks,maxAsyncRequests:v.maxAsyncRequests,maxInitialRequests:v.maxInitialRequests,filename:v.filename,idHint:v.idHint,automaticNameDelimiter:v.automaticNameDelimiter,reuseExistingChunk:v.reuseExistingChunk,usedExports:v.usedExports}};v.exports=class SplitChunksPlugin{constructor(v={}){const E=v.defaultSizeTypes||["javascript","unknown"];const P=v.fallbackCacheGroup||{};const R=normalizeSizes(v.minSize,E);const $=normalizeSizes(v.minSizeReduction,E);const N=normalizeSizes(v.maxSize,E);this.options={chunksFilter:normalizeChunksFilter(v.chunks||"all"),defaultSizeTypes:E,minSize:R,minSizeReduction:$,minRemainingSize:mergeSizes(normalizeSizes(v.minRemainingSize,E),R),enforceSizeThreshold:normalizeSizes(v.enforceSizeThreshold,E),maxAsyncSize:mergeSizes(normalizeSizes(v.maxAsyncSize,E),N),maxInitialSize:mergeSizes(normalizeSizes(v.maxInitialSize,E),N),minChunks:v.minChunks||1,maxAsyncRequests:v.maxAsyncRequests||1,maxInitialRequests:v.maxInitialRequests||1,hidePathInfo:v.hidePathInfo||false,filename:v.filename||undefined,getCacheGroups:normalizeCacheGroups(v.cacheGroups,E),getName:v.name?normalizeName(v.name):defaultGetName,automaticNameDelimiter:v.automaticNameDelimiter,usedExports:v.usedExports,fallbackCacheGroup:{chunksFilter:normalizeChunksFilter(P.chunks||v.chunks||"all"),minSize:mergeSizes(normalizeSizes(P.minSize,E),R),maxAsyncSize:mergeSizes(normalizeSizes(P.maxAsyncSize,E),normalizeSizes(P.maxSize,E),normalizeSizes(v.maxAsyncSize,E),normalizeSizes(v.maxSize,E)),maxInitialSize:mergeSizes(normalizeSizes(P.maxInitialSize,E),normalizeSizes(P.maxSize,E),normalizeSizes(v.maxInitialSize,E),normalizeSizes(v.maxSize,E)),automaticNameDelimiter:P.automaticNameDelimiter||v.automaticNameDelimiter||"~"}};this._cacheGroupCache=new WeakMap}_getCacheGroup(v){const E=this._cacheGroupCache.get(v);if(E!==undefined)return E;const P=mergeSizes(v.minSize,v.enforce?undefined:this.options.minSize);const R=mergeSizes(v.minSizeReduction,v.enforce?undefined:this.options.minSizeReduction);const $=mergeSizes(v.minRemainingSize,v.enforce?undefined:this.options.minRemainingSize);const N=mergeSizes(v.enforceSizeThreshold,v.enforce?undefined:this.options.enforceSizeThreshold);const L={key:v.key,priority:v.priority||0,chunksFilter:v.chunksFilter||this.options.chunksFilter,minSize:P,minSizeReduction:R,minRemainingSize:$,enforceSizeThreshold:N,maxAsyncSize:mergeSizes(v.maxAsyncSize,v.enforce?undefined:this.options.maxAsyncSize),maxInitialSize:mergeSizes(v.maxInitialSize,v.enforce?undefined:this.options.maxInitialSize),minChunks:v.minChunks!==undefined?v.minChunks:v.enforce?1:this.options.minChunks,maxAsyncRequests:v.maxAsyncRequests!==undefined?v.maxAsyncRequests:v.enforce?Infinity:this.options.maxAsyncRequests,maxInitialRequests:v.maxInitialRequests!==undefined?v.maxInitialRequests:v.enforce?Infinity:this.options.maxInitialRequests,getName:v.getName!==undefined?v.getName:this.options.getName,usedExports:v.usedExports!==undefined?v.usedExports:this.options.usedExports,filename:v.filename!==undefined?v.filename:this.options.filename,automaticNameDelimiter:v.automaticNameDelimiter!==undefined?v.automaticNameDelimiter:this.options.automaticNameDelimiter,idHint:v.idHint!==undefined?v.idHint:v.key,reuseExistingChunk:v.reuseExistingChunk||false,_validateSize:hasNonZeroSizes(P),_validateRemainingSize:hasNonZeroSizes($),_minSizeForMaxSize:mergeSizes(v.minSize,this.options.minSize),_conditionalEnforce:hasNonZeroSizes(N)};this._cacheGroupCache.set(v,L);return L}apply(v){const E=ve.bindContextCache(v.context,v.root);v.hooks.thisCompilation.tap("SplitChunksPlugin",(v=>{const P=v.getLogger("webpack.SplitChunksPlugin");let ge=false;v.hooks.unseal.tap("SplitChunksPlugin",(()=>{ge=false}));v.hooks.optimizeChunks.tap({name:"SplitChunksPlugin",stage:$},($=>{if(ge)return;ge=true;P.time("prepare");const be=v.chunkGraph;const xe=v.moduleGraph;const ve=new Map;const Je=BigInt("0");const Ve=BigInt("1");const Ke=Ve<{const E=v[Symbol.iterator]();let P=E.next();if(P.done)return Je;const R=P.value;P=E.next();if(P.done)return R;let $=ve.get(R)|ve.get(P.value);while(!(P=E.next()).done){const v=ve.get(P.value);$=$^v}return $};const keyToString=v=>{if(typeof v==="bigint")return v.toString(16);return ve.get(v).toString(16)};const Xe=Ae((()=>{const E=new Map;const P=new Set;for(const R of v.modules){const v=be.getModuleChunksIterable(R);const $=getKey(v);if(typeof $==="bigint"){if(!E.has($)){E.set($,new Set(v))}}else{P.add($)}}return{chunkSetsInGraph:E,singleChunkSets:P}}));const groupChunksByExports=v=>{const E=xe.getExportsInfo(v);const P=new Map;for(const R of be.getModuleChunksIterable(v)){const v=E.getUsageKey(R.runtime);const $=P.get(v);if($!==undefined){$.push(R)}else{P.set(v,[R])}}return P.values()};const Ze=new Map;const et=Ae((()=>{const E=new Map;const P=new Set;for(const R of v.modules){const v=Array.from(groupChunksByExports(R));Ze.set(R,v);for(const R of v){if(R.length===1){P.add(R[0])}else{const v=getKey(R);if(!E.has(v)){E.set(v,new Set(R))}}}}return{chunkSetsInGraph:E,singleChunkSets:P}}));const groupChunkSetsByCount=v=>{const E=new Map;for(const P of v){const v=P.size;let R=E.get(v);if(R===undefined){R=[];E.set(v,R)}R.push(P)}return E};const tt=Ae((()=>groupChunkSetsByCount(Xe().chunkSetsInGraph.values())));const nt=Ae((()=>groupChunkSetsByCount(et().chunkSetsInGraph.values())));const createGetCombinations=(v,E,P)=>{const $=new Map;return N=>{const L=$.get(N);if(L!==undefined)return L;if(N instanceof R){const v=[N];$.set(N,v);return v}const K=v.get(N);const ae=[K];for(const[v,E]of P){if(v{const{chunkSetsInGraph:v,singleChunkSets:E}=Xe();return createGetCombinations(v,E,tt())}));const getCombinations=v=>st()(v);const rt=Ae((()=>{const{chunkSetsInGraph:v,singleChunkSets:E}=et();return createGetCombinations(v,E,nt())}));const getExportsCombinations=v=>rt()(v);const ot=new WeakMap;const getSelectedChunks=(v,E)=>{let P=ot.get(v);if(P===undefined){P=new WeakMap;ot.set(v,P)}let $=P.get(E);if($===undefined){const N=[];if(v instanceof R){if(E(v))N.push(v)}else{for(const P of v){if(E(P))N.push(P)}}$={chunks:N,key:getKey(N)};P.set(E,$)}return $};const it=new Map;const at=new Set;const ct=new Map;const addModuleToChunksInfoMap=(E,P,R,$,L)=>{if(R.length{const v=be.getModuleChunksIterable(E);const P=getKey(v);return getCombinations(P)}));const $=Ae((()=>{et();const v=new Set;const P=Ze.get(E);for(const E of P){const P=getKey(E);for(const E of getExportsCombinations(P))v.add(E)}return v}));let N=0;for(const L of v){const v=this._getCacheGroup(L);const q=v.usedExports?$():P();for(const P of q){const $=P instanceof R?1:P.size;if(${for(const P of v.modules){const R=P.getSourceTypes();if(E.some((v=>R.has(v)))){v.modules.delete(P);for(const E of R){v.sizes[E]-=P.size(E)}}}};const removeMinSizeViolatingModules=v=>{if(!v.cacheGroup._validateSize)return false;const E=getViolatingMinSizes(v.sizes,v.cacheGroup.minSize);if(E===undefined)return false;removeModulesWithSourceType(v,E);return v.modules.size===0};for(const[v,E]of ct){if(removeMinSizeViolatingModules(E)){ct.delete(v)}else if(!checkMinSizeReduction(E.sizes,E.cacheGroup.minSizeReduction,E.chunks.size)){ct.delete(v)}}const ut=new Map;while(ct.size>0){let E;let P;for(const v of ct){const R=v[0];const $=v[1];if(P===undefined||compareEntries(P,$)<0){P=$;E=R}}const R=P;ct.delete(E);let $=R.name;let N;let L=false;let q=false;if($){const E=v.namedChunks.get($);if(E!==undefined){N=E;const v=R.chunks.size;R.chunks.delete(N);L=R.chunks.size!==v}}else if(R.cacheGroup.reuseExistingChunk){e:for(const v of R.chunks){if(be.getNumberOfChunkModules(v)!==R.modules.size){continue}if(R.chunks.size>1&&be.getNumberOfEntryModules(v)>0){continue}for(const E of R.modules){if(!be.isModuleInChunk(E,v)){continue e}}if(!N||!N.name){N=v}else if(v.name&&v.name.length=E){ae.delete(v)}}}e:for(const v of ae){for(const E of R.modules){if(be.isModuleInChunk(E,v))continue e}ae.delete(v)}if(ae.size=R.cacheGroup.minChunks){const v=Array.from(ae);for(const E of R.modules){addModuleToChunksInfoMap(R.cacheGroup,R.cacheGroupIndex,v,getKey(ae),E)}}continue}if(!K&&R.cacheGroup._validateRemainingSize&&ae.size===1){const[v]=ae;let P=Object.create(null);for(const E of be.getChunkModulesIterable(v)){if(!R.modules.has(E)){for(const v of E.getSourceTypes()){P[v]=(P[v]||0)+E.size(v)}}}const $=getViolatingMinSizes(P,R.cacheGroup.minRemainingSize);if($!==undefined){const v=R.modules.size;removeModulesWithSourceType(R,$);if(R.modules.size>0&&R.modules.size!==v){ct.set(E,R)}continue}}if(N===undefined){N=v.addChunk($)}for(const v of ae){v.split(N)}N.chunkReason=(N.chunkReason?N.chunkReason+", ":"")+(q?"reused as split chunk":"split chunk");if(R.cacheGroup.key){N.chunkReason+=` (cache group: ${R.cacheGroup.key})`}if($){N.chunkReason+=` (name: ${$})`}if(R.cacheGroup.filename){N.filenameTemplate=R.cacheGroup.filename}if(R.cacheGroup.idHint){N.idNameHints.add(R.cacheGroup.idHint)}if(!q){for(const E of R.modules){if(!E.chunkCondition(N,v))continue;be.connectChunkAndModule(N,E);for(const v of ae){be.disconnectChunkAndModule(v,E)}}}else{for(const v of R.modules){for(const E of ae){be.disconnectChunkAndModule(E,v)}}}if(Object.keys(R.cacheGroup.maxAsyncSize).length>0||Object.keys(R.cacheGroup.maxInitialSize).length>0){const v=ut.get(N);ut.set(N,{minSize:v?combineSizes(v.minSize,R.cacheGroup._minSizeForMaxSize,Math.max):R.cacheGroup.minSize,maxAsyncSize:v?combineSizes(v.maxAsyncSize,R.cacheGroup.maxAsyncSize,Math.min):R.cacheGroup.maxAsyncSize,maxInitialSize:v?combineSizes(v.maxInitialSize,R.cacheGroup.maxInitialSize,Math.min):R.cacheGroup.maxInitialSize,automaticNameDelimiter:R.cacheGroup.automaticNameDelimiter,keys:v?v.keys.concat(R.cacheGroup.key):[R.cacheGroup.key]})}for(const[v,E]of ct){if(isOverlap(E.chunks,ae)){let P=false;for(const v of R.modules){if(E.modules.has(v)){E.modules.delete(v);for(const P of v.getSourceTypes()){E.sizes[P]-=v.size(P)}P=true}}if(P){if(E.modules.size===0){ct.delete(v);continue}if(removeMinSizeViolatingModules(E)||!checkMinSizeReduction(E.sizes,E.cacheGroup.minSizeReduction,E.chunks.size)){ct.delete(v);continue}}}}}P.timeEnd("queue");P.time("maxSize");const pt=new Set;const{outputOptions:dt}=v;const{fallbackCacheGroup:ft}=this.options;for(const P of Array.from(v.chunks)){const R=ut.get(P);const{minSize:$,maxAsyncSize:N,maxInitialSize:q,automaticNameDelimiter:K}=R||ft;if(!R&&!ft.chunksFilter(P))continue;let ae;if(P.isOnlyInitial()){ae=q}else if(P.canBeInitial()){ae=combineSizes(N,q,Math.min)}else{ae=N}if(Object.keys(ae).length===0){continue}for(const E of Object.keys(ae)){const P=ae[E];const N=$[E];if(typeof N==="number"&&N>P){const E=R&&R.keys;const $=`${E&&E.join()} ${N} ${P}`;if(!pt.has($)){pt.add($);v.warnings.push(new Ie(E,N,P))}}}const ge=He({minSize:$,maxSize:mapObject(ae,((v,E)=>{const P=$[E];return typeof P==="number"?Math.max(v,P):v})),items:be.getChunkModulesIterable(P),getKey(v){const P=Qe.get(v);if(P!==undefined)return P;const R=E(v.identifier());const $=v.nameForCondition&&v.nameForCondition();const N=$?E($):R.replace(/^.*!|\?[^?!]*$/g,"");const q=N+K+hashFilename(R,dt);const ae=L(q);Qe.set(v,ae);return ae},getSize(v){const E=Object.create(null);for(const P of v.getSourceTypes()){E[P]=v.size(P)}return E}});if(ge.length<=1){continue}for(let E=0;E100){N=N.slice(0,100)+K+hashFilename(N,dt)}if(E!==ge.length-1){const E=v.addChunk(N);P.split(E);E.chunkReason=P.chunkReason;for(const $ of R.items){if(!$.chunkCondition(E,v)){continue}be.connectChunkAndModule(E,$);be.disconnectChunkAndModule(P,$)}}else{P.name=N}}}P.timeEnd("maxSize")}))}))}}},68541:function(v,E,P){"use strict";const{formatSize:R}=P(54172);const $=P(45425);v.exports=class AssetsOverSizeLimitWarning extends ${constructor(v,E){const P=v.map((v=>`\n ${v.name} (${R(v.size)})`)).join("");super(`asset size limit: The following asset(s) exceed the recommended size limit (${R(E)}).\nThis can impact web performance.\nAssets: ${P}`);this.name="AssetsOverSizeLimitWarning";this.assets=v}}},10616:function(v,E,P){"use strict";const{formatSize:R}=P(54172);const $=P(45425);v.exports=class EntrypointsOverSizeLimitWarning extends ${constructor(v,E){const P=v.map((v=>`\n ${v.name} (${R(v.size)})\n${v.files.map((v=>` ${v}`)).join("\n")}`)).join("");super(`entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (${R(E)}). This can impact web performance.\nEntrypoints:${P}\n`);this.name="EntrypointsOverSizeLimitWarning";this.entrypoints=v}}},97801:function(v,E,P){"use strict";const R=P(45425);v.exports=class NoAsyncChunksWarning extends R{constructor(){super("webpack performance recommendations: \n"+"You can limit the size of your bundles by using import() or require.ensure to lazy load some parts of your application.\n"+"For more info visit https://webpack.js.org/guides/code-splitting/");this.name="NoAsyncChunksWarning"}}},19253:function(v,E,P){"use strict";const{find:R}=P(57167);const $=P(68541);const N=P(10616);const L=P(97801);const q=new WeakSet;const excludeSourceMap=(v,E,P)=>!P.development;v.exports=class SizeLimitsPlugin{constructor(v){this.hints=v.hints;this.maxAssetSize=v.maxAssetSize;this.maxEntrypointSize=v.maxEntrypointSize;this.assetFilter=v.assetFilter}static isOverSizeLimit(v){return q.has(v)}apply(v){const E=this.maxEntrypointSize;const P=this.maxAssetSize;const K=this.hints;const ae=this.assetFilter||excludeSourceMap;v.hooks.afterEmit.tap("SizeLimitsPlugin",(v=>{const ge=[];const getEntrypointSize=E=>{let P=0;for(const R of E.getFiles()){const E=v.getAsset(R);if(E&&ae(E.name,E.source,E.info)&&E.source){P+=E.info.size||E.source.size()}}return P};const be=[];for(const{name:E,source:R,info:$}of v.getAssets()){if(!ae(E,R,$)||!R){continue}const v=$.size||R.size();if(v>P){be.push({name:E,size:v});q.add(R)}}const fileFilter=E=>{const P=v.getAsset(E);return P&&ae(P.name,P.source,P.info)};const xe=[];for(const[P,R]of v.entrypoints){const v=getEntrypointSize(R);if(v>E){xe.push({name:P,size:v,files:R.getFiles().filter(fileFilter)});q.add(R)}}if(K){if(be.length>0){ge.push(new $(be,P))}if(xe.length>0){ge.push(new N(xe,E))}if(ge.length>0){const E=R(v.chunks,(v=>!v.canBeInitial()));if(!E){ge.push(new L)}if(K==="error"){v.errors.push(...ge)}else{v.warnings.push(...ge)}}}}))}}},28947:function(v,E,P){"use strict";const R=P(62970);const $=P(35600);class ChunkPrefetchFunctionRuntimeModule extends R{constructor(v,E,P){super(`chunk ${v} function`);this.childType=v;this.runtimeFunction=E;this.runtimeHandlers=P}generate(){const{runtimeFunction:v,runtimeHandlers:E}=this;const P=this.compilation;const{runtimeTemplate:R}=P;return $.asString([`${E} = {};`,`${v} = ${R.basicFunction("chunkId",[`Object.keys(${E}).map(${R.basicFunction("key",`${E}[key](chunkId);`)});`])}`])}}v.exports=ChunkPrefetchFunctionRuntimeModule},55787:function(v,E,P){"use strict";const R=P(75189);const $=P(28947);const N=P(35536);const L=P(23518);const q=P(67309);class ChunkPrefetchPreloadPlugin{apply(v){v.hooks.compilation.tap("ChunkPrefetchPreloadPlugin",(v=>{v.hooks.additionalChunkRuntimeRequirements.tap("ChunkPrefetchPreloadPlugin",((E,P,{chunkGraph:$})=>{if($.getNumberOfEntryModules(E)===0)return;const L=E.getChildrenOfTypeInOrder($,"prefetchOrder");if(L){P.add(R.prefetchChunk);P.add(R.onChunksLoaded);v.addRuntimeModule(E,new N(L))}}));v.hooks.additionalTreeRuntimeRequirements.tap("ChunkPrefetchPreloadPlugin",((E,P,{chunkGraph:$})=>{const N=E.getChildIdsByOrdersMap($);if(N.prefetch){P.add(R.prefetchChunk);v.addRuntimeModule(E,new L(N.prefetch))}if(N.preload){P.add(R.preloadChunk);v.addRuntimeModule(E,new q(N.preload))}}));v.hooks.runtimeRequirementInTree.for(R.prefetchChunk).tap("ChunkPrefetchPreloadPlugin",((E,P)=>{v.addRuntimeModule(E,new $("prefetch",R.prefetchChunk,R.prefetchChunkHandlers));P.add(R.prefetchChunkHandlers)}));v.hooks.runtimeRequirementInTree.for(R.preloadChunk).tap("ChunkPrefetchPreloadPlugin",((E,P)=>{v.addRuntimeModule(E,new $("preload",R.preloadChunk,R.preloadChunkHandlers));P.add(R.preloadChunkHandlers)}))}))}}v.exports=ChunkPrefetchPreloadPlugin},35536:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);const N=P(35600);class ChunkPrefetchStartupRuntimeModule extends ${constructor(v){super("startup prefetch",$.STAGE_TRIGGER);this.startupChunks=v}generate(){const{startupChunks:v}=this;const E=this.compilation;const P=this.chunk;const{runtimeTemplate:$}=E;return N.asString(v.map((({onChunks:v,chunks:E})=>`${R.onChunksLoaded}(0, ${JSON.stringify(v.filter((v=>v===P)).map((v=>v.id)))}, ${$.basicFunction("",E.size<3?Array.from(E,(v=>`${R.prefetchChunk}(${JSON.stringify(v.id)});`)):`${JSON.stringify(Array.from(E,(v=>v.id)))}.map(${R.prefetchChunk});`)}, 5);`)))}}v.exports=ChunkPrefetchStartupRuntimeModule},23518:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);const N=P(35600);class ChunkPrefetchTriggerRuntimeModule extends ${constructor(v){super(`chunk prefetch trigger`,$.STAGE_TRIGGER);this.chunkMap=v}generate(){const{chunkMap:v}=this;const E=this.compilation;const{runtimeTemplate:P}=E;const $=["var chunks = chunkToChildrenMap[chunkId];",`Array.isArray(chunks) && chunks.map(${R.prefetchChunk});`];return N.asString([N.asString([`var chunkToChildrenMap = ${JSON.stringify(v,null,"\t")};`,`${R.ensureChunkHandlers}.prefetch = ${P.expressionFunction(`Promise.all(promises).then(${P.basicFunction("",$)})`,"chunkId, promises")};`])])}}v.exports=ChunkPrefetchTriggerRuntimeModule},67309:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);const N=P(35600);class ChunkPreloadTriggerRuntimeModule extends ${constructor(v){super(`chunk preload trigger`,$.STAGE_TRIGGER);this.chunkMap=v}generate(){const{chunkMap:v}=this;const E=this.compilation;const{runtimeTemplate:P}=E;const $=["var chunks = chunkToChildrenMap[chunkId];",`Array.isArray(chunks) && chunks.map(${R.preloadChunk});`];return N.asString([N.asString([`var chunkToChildrenMap = ${JSON.stringify(v,null,"\t")};`,`${R.ensureChunkHandlers}.preload = ${P.basicFunction("chunkId",$)};`])])}}v.exports=ChunkPreloadTriggerRuntimeModule},82569:function(v){"use strict";class BasicEffectRulePlugin{constructor(v,E){this.ruleProperty=v;this.effectType=E||v}apply(v){v.hooks.rule.tap("BasicEffectRulePlugin",((v,E,P,R,$)=>{if(P.has(this.ruleProperty)){P.delete(this.ruleProperty);const v=E[this.ruleProperty];R.effects.push({type:this.effectType,value:v})}}))}}v.exports=BasicEffectRulePlugin},51078:function(v){"use strict";class BasicMatcherRulePlugin{constructor(v,E,P){this.ruleProperty=v;this.dataProperty=E||v;this.invert=P||false}apply(v){v.hooks.rule.tap("BasicMatcherRulePlugin",((E,P,R,$)=>{if(R.has(this.ruleProperty)){R.delete(this.ruleProperty);const N=P[this.ruleProperty];const L=v.compileCondition(`${E}.${this.ruleProperty}`,N);const q=L.fn;$.conditions.push({property:this.dataProperty,matchWhenEmpty:this.invert?!L.matchWhenEmpty:L.matchWhenEmpty,fn:this.invert?v=>!q(v):q})}}))}}v.exports=BasicMatcherRulePlugin},36277:function(v){"use strict";class ObjectMatcherRulePlugin{constructor(v,E){this.ruleProperty=v;this.dataProperty=E||v}apply(v){const{ruleProperty:E,dataProperty:P}=this;v.hooks.rule.tap("ObjectMatcherRulePlugin",((R,$,N,L)=>{if(N.has(E)){N.delete(E);const q=$[E];for(const $ of Object.keys(q)){const N=$.split(".");const K=v.compileCondition(`${R}.${E}.${$}`,q[$]);L.conditions.push({property:[P,...N],matchWhenEmpty:K.matchWhenEmpty,fn:K.fn})}}}))}}v.exports=ObjectMatcherRulePlugin},85286:function(v,E,P){"use strict";const{SyncHook:R}=P(79846);class RuleSetCompiler{constructor(v){this.hooks=Object.freeze({rule:new R(["path","rule","unhandledProperties","compiledRule","references"])});if(v){for(const E of v){E.apply(this)}}}compile(v){const E=new Map;const P=this.compileRules("ruleSet",v,E);const execRule=(v,E,P)=>{for(const P of E.conditions){const E=P.property;if(Array.isArray(E)){let R=v;for(const v of E){if(R&&typeof R==="object"&&Object.prototype.hasOwnProperty.call(R,v)){R=R[v]}else{R=undefined;break}}if(R!==undefined){if(!P.fn(R))return false;continue}}else if(E in v){const R=v[E];if(R!==undefined){if(!P.fn(R))return false;continue}}if(!P.matchWhenEmpty){return false}}for(const R of E.effects){if(typeof R==="function"){const E=R(v);for(const v of E){P.push(v)}}else{P.push(R)}}if(E.rules){for(const R of E.rules){execRule(v,R,P)}}if(E.oneOf){for(const R of E.oneOf){if(execRule(v,R,P)){break}}}return true};return{references:E,exec:v=>{const E=[];for(const R of P){execRule(v,R,E)}return E}}}compileRules(v,E,P){return E.filter(Boolean).map(((E,R)=>this.compileRule(`${v}[${R}]`,E,P)))}compileRule(v,E,P){const R=new Set(Object.keys(E).filter((v=>E[v]!==undefined)));const $={conditions:[],effects:[],rules:undefined,oneOf:undefined};this.hooks.rule.call(v,E,R,$,P);if(R.has("rules")){R.delete("rules");const N=E.rules;if(!Array.isArray(N))throw this.error(v,N,"Rule.rules must be an array of rules");$.rules=this.compileRules(`${v}.rules`,N,P)}if(R.has("oneOf")){R.delete("oneOf");const N=E.oneOf;if(!Array.isArray(N))throw this.error(v,N,"Rule.oneOf must be an array of rules");$.oneOf=this.compileRules(`${v}.oneOf`,N,P)}if(R.size>0){throw this.error(v,E,`Properties ${Array.from(R).join(", ")} are unknown`)}return $}compileCondition(v,E){if(E===""){return{matchWhenEmpty:true,fn:v=>v===""}}if(!E){throw this.error(v,E,"Expected condition but got falsy value")}if(typeof E==="string"){return{matchWhenEmpty:E.length===0,fn:v=>typeof v==="string"&&v.startsWith(E)}}if(typeof E==="function"){try{return{matchWhenEmpty:E(""),fn:E}}catch(P){throw this.error(v,E,"Evaluation of condition function threw error")}}if(E instanceof RegExp){return{matchWhenEmpty:E.test(""),fn:v=>typeof v==="string"&&E.test(v)}}if(Array.isArray(E)){const P=E.map(((E,P)=>this.compileCondition(`${v}[${P}]`,E)));return this.combineConditionsOr(P)}if(typeof E!=="object"){throw this.error(v,E,`Unexpected ${typeof E} when condition was expected`)}const P=[];for(const R of Object.keys(E)){const $=E[R];switch(R){case"or":if($){if(!Array.isArray($)){throw this.error(`${v}.or`,E.or,"Expected array of conditions")}P.push(this.compileCondition(`${v}.or`,$))}break;case"and":if($){if(!Array.isArray($)){throw this.error(`${v}.and`,E.and,"Expected array of conditions")}let R=0;for(const E of $){P.push(this.compileCondition(`${v}.and[${R}]`,E));R++}}break;case"not":if($){const E=this.compileCondition(`${v}.not`,$);const R=E.fn;P.push({matchWhenEmpty:!E.matchWhenEmpty,fn:v=>!R(v)})}break;default:throw this.error(`${v}.${R}`,E[R],`Unexpected property ${R} in condition`)}}if(P.length===0){throw this.error(v,E,"Expected condition, but got empty thing")}return this.combineConditionsAnd(P)}combineConditionsOr(v){if(v.length===0){return{matchWhenEmpty:false,fn:()=>false}}else if(v.length===1){return v[0]}else{return{matchWhenEmpty:v.some((v=>v.matchWhenEmpty)),fn:E=>v.some((v=>v.fn(E)))}}}combineConditionsAnd(v){if(v.length===0){return{matchWhenEmpty:false,fn:()=>false}}else if(v.length===1){return v[0]}else{return{matchWhenEmpty:v.every((v=>v.matchWhenEmpty)),fn:E=>v.every((v=>v.fn(E)))}}}error(v,E,P){return new Error(`Compiling RuleSet failed: ${P} (at ${v}: ${E})`)}}v.exports=RuleSetCompiler},22163:function(v,E,P){"use strict";const R=P(73837);class UseEffectRulePlugin{apply(v){v.hooks.rule.tap("UseEffectRulePlugin",((E,P,$,N,L)=>{const conflictWith=(R,N)=>{if($.has(R)){throw v.error(`${E}.${R}`,P[R],`A Rule must not have a '${R}' property when it has a '${N}' property`)}};if($.has("use")){$.delete("use");$.delete("enforce");conflictWith("loader","use");conflictWith("options","use");const v=P.use;const q=P.enforce;const K=q?`use-${q}`:"use";const useToEffect=(v,E,P)=>{if(typeof P==="function"){return E=>useToEffectsWithoutIdent(v,P(E))}else{return useToEffectRaw(v,E,P)}};const useToEffectRaw=(v,E,P)=>{if(typeof P==="string"){return{type:K,value:{loader:P,options:undefined,ident:undefined}}}else{const $=P.loader;const N=P.options;let K=P.ident;if(N&&typeof N==="object"){if(!K)K=E;L.set(K,N)}if(typeof N==="string"){R.deprecate((()=>{}),`Using a string as loader options is deprecated (${v}.options)`,"DEP_WEBPACK_RULE_LOADER_OPTIONS_STRING")()}return{type:q?`use-${q}`:"use",value:{loader:$,options:N,ident:K}}}};const useToEffectsWithoutIdent=(v,E)=>{if(Array.isArray(E)){return E.filter(Boolean).map(((E,P)=>useToEffectRaw(`${v}[${P}]`,"[[missing ident]]",E)))}return[useToEffectRaw(v,"[[missing ident]]",E)]};const useToEffects=(v,E)=>{if(Array.isArray(E)){return E.filter(Boolean).map(((E,P)=>{const R=`${v}[${P}]`;return useToEffect(R,R,E)}))}return[useToEffect(v,v,E)]};if(typeof v==="function"){N.effects.push((P=>useToEffectsWithoutIdent(`${E}.use`,v(P))))}else{for(const P of useToEffects(`${E}.use`,v)){N.effects.push(P)}}}if($.has("loader")){$.delete("loader");$.delete("options");$.delete("enforce");const q=P.loader;const K=P.options;const ae=P.enforce;if(q.includes("!")){throw v.error(`${E}.loader`,q,"Exclamation mark separated loader lists has been removed in favor of the 'use' property with arrays")}if(q.includes("?")){throw v.error(`${E}.loader`,q,"Query arguments on 'loader' has been removed in favor of the 'options' property")}if(typeof K==="string"){R.deprecate((()=>{}),`Using a string as loader options is deprecated (${E}.options)`,"DEP_WEBPACK_RULE_LOADER_OPTIONS_STRING")()}const ge=K&&typeof K==="object"?E:undefined;L.set(ge,K);N.effects.push({type:ae?`use-${ae}`:"use",value:{loader:q,options:K,ident:ge}})}}))}useItemToEffects(v,E){}}v.exports=UseEffectRulePlugin},82290:function(v,E,P){"use strict";const R=P(75189);const $=P(35600);const N=P(67742);class AsyncModuleRuntimeModule extends N{constructor(){super("async module")}generate(){const v=this.compilation;const{runtimeTemplate:E}=v;const P=R.asyncModule;return $.asString(['var webpackQueues = typeof Symbol === "function" ? Symbol("webpack queues") : "__webpack_queues__";',`var webpackExports = typeof Symbol === "function" ? Symbol("webpack exports") : "${R.exports}";`,'var webpackError = typeof Symbol === "function" ? Symbol("webpack error") : "__webpack_error__";',`var resolveQueue = ${E.basicFunction("queue",["if(queue && queue.d < 1) {",$.indent(["queue.d = 1;",`queue.forEach(${E.expressionFunction("fn.r--","fn")});`,`queue.forEach(${E.expressionFunction("fn.r-- ? fn.r++ : fn()","fn")});`]),"}"])}`,`var wrapDeps = ${E.returningFunction(`deps.map(${E.basicFunction("dep",['if(dep !== null && typeof dep === "object") {',$.indent(["if(dep[webpackQueues]) return dep;","if(dep.then) {",$.indent(["var queue = [];","queue.d = 0;",`dep.then(${E.basicFunction("r",["obj[webpackExports] = r;","resolveQueue(queue);"])}, ${E.basicFunction("e",["obj[webpackError] = e;","resolveQueue(queue);"])});`,"var obj = {};",`obj[webpackQueues] = ${E.expressionFunction(`fn(queue)`,"fn")};`,"return obj;"]),"}"]),"}","var ret = {};",`ret[webpackQueues] = ${E.emptyFunction()};`,"ret[webpackExports] = dep;","return ret;"])})`,"deps")};`,`${P} = ${E.basicFunction("module, body, hasAwait",["var queue;","hasAwait && ((queue = []).d = -1);","var depQueues = new Set();","var exports = module.exports;","var currentDeps;","var outerResolve;","var reject;",`var promise = new Promise(${E.basicFunction("resolve, rej",["reject = rej;","outerResolve = resolve;"])});`,"promise[webpackExports] = exports;",`promise[webpackQueues] = ${E.expressionFunction(`queue && fn(queue), depQueues.forEach(fn), promise["catch"](${E.emptyFunction()})`,"fn")};`,"module.exports = promise;",`body(${E.basicFunction("deps",["currentDeps = wrapDeps(deps);","var fn;",`var getResult = ${E.returningFunction(`currentDeps.map(${E.basicFunction("d",["if(d[webpackError]) throw d[webpackError];","return d[webpackExports];"])})`)}`,`var promise = new Promise(${E.basicFunction("resolve",[`fn = ${E.expressionFunction("resolve(getResult)","")};`,"fn.r = 0;",`var fnQueue = ${E.expressionFunction("q !== queue && !depQueues.has(q) && (depQueues.add(q), q && !q.d && (fn.r++, q.push(fn)))","q")};`,`currentDeps.map(${E.expressionFunction("dep[webpackQueues](fnQueue)","dep")});`])});`,"return fn.r ? promise : getResult();"])}, ${E.expressionFunction("(err ? reject(promise[webpackError] = err) : outerResolve(exports)), resolveQueue(queue)","err")});`,"queue && queue.d < 0 && (queue.d = 0);"])};`])}}v.exports=AsyncModuleRuntimeModule},51391:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);const N=P(35600);const L=P(87885);const{getUndoPath:q}=P(94778);class AutoPublicPathRuntimeModule extends ${constructor(){super("publicPath",$.STAGE_BASIC)}generate(){const v=this.compilation;const{scriptType:E,importMetaName:P,path:$}=v.outputOptions;const K=v.getPath(L.getChunkFilenameTemplate(this.chunk,v.outputOptions),{chunk:this.chunk,contentHashType:"javascript"});const ae=q(K,$,false);return N.asString(["var scriptUrl;",E==="module"?`if (typeof ${P}.url === "string") scriptUrl = ${P}.url`:N.asString([`if (${R.global}.importScripts) scriptUrl = ${R.global}.location + "";`,`var document = ${R.global}.document;`,"if (!scriptUrl && document) {",N.indent([`if (document.currentScript)`,N.indent(`scriptUrl = document.currentScript.src;`),"if (!scriptUrl) {",N.indent(['var scripts = document.getElementsByTagName("script");',"if(scripts.length) {",N.indent(["var i = scripts.length - 1;","while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;"]),"}"]),"}"]),"}"]),"// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration",'// or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic.','if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser");','scriptUrl = scriptUrl.replace(/#.*$/, "").replace(/\\?.*$/, "").replace(/\\/[^\\/]+$/, "/");',!ae?`${R.publicPath} = scriptUrl;`:`${R.publicPath} = scriptUrl + ${JSON.stringify(ae)};`])}}v.exports=AutoPublicPathRuntimeModule},57812:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);class BaseUriRuntimeModule extends ${constructor(){super("base uri",$.STAGE_ATTACH)}generate(){const v=this.chunk;const E=v.getEntryOptions();return`${R.baseURI} = ${E.baseUri===undefined?"undefined":JSON.stringify(E.baseUri)};`}}v.exports=BaseUriRuntimeModule},28176:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);class ChunkNameRuntimeModule extends ${constructor(v){super("chunkName");this.chunkName=v}generate(){return`${R.chunkName} = ${JSON.stringify(this.chunkName)};`}}v.exports=ChunkNameRuntimeModule},13248:function(v,E,P){"use strict";const R=P(75189);const $=P(35600);const N=P(67742);class CompatGetDefaultExportRuntimeModule extends N{constructor(){super("compat get default export")}generate(){const v=this.compilation;const{runtimeTemplate:E}=v;const P=R.compatGetDefaultExport;return $.asString(["// getDefaultExport function for compatibility with non-harmony modules",`${P} = ${E.basicFunction("module",["var getter = module && module.__esModule ?",$.indent([`${E.returningFunction("module['default']")} :`,`${E.returningFunction("module")};`]),`${R.definePropertyGetters}(getter, { a: getter });`,"return getter;"])};`])}}v.exports=CompatGetDefaultExportRuntimeModule},3718:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);class CompatRuntimeModule extends ${constructor(){super("compat",$.STAGE_ATTACH);this.fullHash=true}generate(){const v=this.compilation;const E=this.chunkGraph;const P=this.chunk;const{runtimeTemplate:$,mainTemplate:N,moduleTemplates:L,dependencyTemplates:q}=v;const K=N.hooks.bootstrap.call("",P,v.hash||"XXXX",L.javascript,q);const ae=N.hooks.localVars.call("",P,v.hash||"XXXX");const ge=N.hooks.requireExtensions.call("",P,v.hash||"XXXX");const be=E.getTreeRuntimeRequirements(P);let xe="";if(be.has(R.ensureChunk)){const E=N.hooks.requireEnsure.call("",P,v.hash||"XXXX","chunkId");if(E){xe=`${R.ensureChunkHandlers}.compat = ${$.basicFunction("chunkId, promises",E)};`}}return[K,ae,xe,ge].filter(Boolean).join("\n")}shouldIsolate(){return false}}v.exports=CompatRuntimeModule},49320:function(v,E,P){"use strict";const R=P(75189);const $=P(35600);const N=P(67742);class CreateFakeNamespaceObjectRuntimeModule extends N{constructor(){super("create fake namespace object")}generate(){const v=this.compilation;const{runtimeTemplate:E}=v;const P=R.createFakeNamespaceObject;return $.asString([`var getProto = Object.getPrototypeOf ? ${E.returningFunction("Object.getPrototypeOf(obj)","obj")} : ${E.returningFunction("obj.__proto__","obj")};`,"var leafPrototypes;","// create a fake namespace object","// mode & 1: value is a module id, require it","// mode & 2: merge all properties of value into the ns","// mode & 4: return value when already ns object","// mode & 16: return value when it's Promise-like","// mode & 8|1: behave like require",`${P} = function(value, mode) {`,$.indent([`if(mode & 1) value = this(value);`,`if(mode & 8) return value;`,"if(typeof value === 'object' && value) {",$.indent(["if((mode & 4) && value.__esModule) return value;","if((mode & 16) && typeof value.then === 'function') return value;"]),"}","var ns = Object.create(null);",`${R.makeNamespaceObject}(ns);`,"var def = {};","leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];","for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {",$.indent([`Object.getOwnPropertyNames(current).forEach(${E.expressionFunction(`def[key] = ${E.returningFunction("value[key]","")}`,"key")});`]),"}",`def['default'] = ${E.returningFunction("value","")};`,`${R.definePropertyGetters}(ns, def);`,"return ns;"]),"};"])}}v.exports=CreateFakeNamespaceObjectRuntimeModule},96105:function(v,E,P){"use strict";const R=P(75189);const $=P(35600);const N=P(67742);class CreateScriptRuntimeModule extends N{constructor(){super("trusted types script")}generate(){const v=this.compilation;const{runtimeTemplate:E,outputOptions:P}=v;const{trustedTypes:N}=P;const L=R.createScript;return $.asString(`${L} = ${E.returningFunction(N?`${R.getTrustedTypesPolicy}().createScript(script)`:"script","script")};`)}}v.exports=CreateScriptRuntimeModule},68916:function(v,E,P){"use strict";const R=P(75189);const $=P(35600);const N=P(67742);class CreateScriptUrlRuntimeModule extends N{constructor(){super("trusted types script url")}generate(){const v=this.compilation;const{runtimeTemplate:E,outputOptions:P}=v;const{trustedTypes:N}=P;const L=R.createScriptUrl;return $.asString(`${L} = ${E.returningFunction(N?`${R.getTrustedTypesPolicy}().createScriptURL(url)`:"url","url")};`)}}v.exports=CreateScriptUrlRuntimeModule},89284:function(v,E,P){"use strict";const R=P(75189);const $=P(35600);const N=P(67742);class DefinePropertyGettersRuntimeModule extends N{constructor(){super("define property getters")}generate(){const v=this.compilation;const{runtimeTemplate:E}=v;const P=R.definePropertyGetters;return $.asString(["// define getter functions for harmony exports",`${P} = ${E.basicFunction("exports, definition",[`for(var key in definition) {`,$.indent([`if(${R.hasOwnProperty}(definition, key) && !${R.hasOwnProperty}(exports, key)) {`,$.indent(["Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });"]),"}"]),"}"])};`])}}v.exports=DefinePropertyGettersRuntimeModule},68395:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);const N=P(35600);class EnsureChunkRuntimeModule extends ${constructor(v){super("ensure chunk");this.runtimeRequirements=v}generate(){const v=this.compilation;const{runtimeTemplate:E}=v;if(this.runtimeRequirements.has(R.ensureChunkHandlers)){const v=this.runtimeRequirements.has(R.hasFetchPriority);const P=R.ensureChunkHandlers;return N.asString([`${P} = {};`,"// This file contains only the entry chunk.","// The chunk loading function for additional chunks",`${R.ensureChunk} = ${E.basicFunction(`chunkId${v?", fetchPriority":""}`,[`return Promise.all(Object.keys(${P}).reduce(${E.basicFunction("promises, key",[`${P}[key](chunkId, promises${v?", fetchPriority":""});`,"return promises;"])}, []));`])};`])}else{return N.asString(["// The chunk loading function for additional chunks","// Since all referenced chunks are already included","// in this file, this function is empty here.",`${R.ensureChunk} = ${E.returningFunction("Promise.resolve()")};`])}}}v.exports=EnsureChunkRuntimeModule},92854:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);const N=P(35600);const{first:L}=P(57167);class GetChunkFilenameRuntimeModule extends ${constructor(v,E,P,R,$){super(`get ${E} chunk filename`);this.contentType=v;this.global=P;this.getFilenameForChunk=R;this.allChunks=$;this.dependentHash=true}generate(){const{global:v,contentType:E,getFilenameForChunk:P,allChunks:$}=this;const q=this.compilation;const K=this.chunkGraph;const ae=this.chunk;const{runtimeTemplate:ge}=q;const be=new Map;let xe=0;let ve;const addChunk=v=>{const E=P(v);if(E){let P=be.get(E);if(P===undefined){be.set(E,P=new Set)}P.add(v);if(typeof E==="string"){if(P.size{const unquotedStringify=E=>{const P=`${E}`;if(P.length>=5&&P===`${v.id}`){return'" + chunkId + "'}const R=JSON.stringify(P);return R.slice(1,R.length-1)};const unquotedStringifyWithLength=v=>E=>unquotedStringify(`${v}`.slice(0,E));const $=typeof P==="function"?JSON.stringify(P({chunk:v,contentHashType:E})):JSON.stringify(P);const N=q.getPath($,{hash:`" + ${R.getFullHash}() + "`,hashWithLength:v=>`" + ${R.getFullHash}().slice(0, ${v}) + "`,chunk:{id:unquotedStringify(v.id),hash:unquotedStringify(v.renderedHash),hashWithLength:unquotedStringifyWithLength(v.renderedHash),name:unquotedStringify(v.name||v.id),contentHash:{[E]:unquotedStringify(v.contentHash[E])},contentHashWithLength:{[E]:unquotedStringifyWithLength(v.contentHash[E])}},contentHashType:E});let L=Ie.get(N);if(L===undefined){Ie.set(N,L=new Set)}L.add(v.id)};for(const[v,E]of be){if(v!==ve){for(const P of E)addStaticUrl(P,v)}else{for(const v of E)He.add(v)}}const createMap=v=>{const E={};let P=false;let R;let $=0;for(const N of He){const L=v(N);if(L===N.id){P=true}else{E[N.id]=L;R=N.id;$++}}if($===0)return"chunkId";if($===1){return P?`(chunkId === ${JSON.stringify(R)} ? ${JSON.stringify(E[R])} : chunkId)`:JSON.stringify(E[R])}return P?`(${JSON.stringify(E)}[chunkId] || chunkId)`:`${JSON.stringify(E)}[chunkId]`};const mapExpr=v=>`" + ${createMap(v)} + "`;const mapExprWithLength=v=>E=>`" + ${createMap((P=>`${v(P)}`.slice(0,E)))} + "`;const Qe=ve&&q.getPath(JSON.stringify(ve),{hash:`" + ${R.getFullHash}() + "`,hashWithLength:v=>`" + ${R.getFullHash}().slice(0, ${v}) + "`,chunk:{id:`" + chunkId + "`,hash:mapExpr((v=>v.renderedHash)),hashWithLength:mapExprWithLength((v=>v.renderedHash)),name:mapExpr((v=>v.name||v.id)),contentHash:{[E]:mapExpr((v=>v.contentHash[E]))},contentHashWithLength:{[E]:mapExprWithLength((v=>v.contentHash[E]))}},contentHashType:E});return N.asString([`// This function allow to reference ${Ae.join(" and ")}`,`${v} = ${ge.basicFunction("chunkId",Ie.size>0?["// return url for filenames not based on template",N.asString(Array.from(Ie,(([v,E])=>{const P=E.size===1?`chunkId === ${JSON.stringify(L(E))}`:`{${Array.from(E,(v=>`${JSON.stringify(v)}:1`)).join(",")}}[chunkId]`;return`if (${P}) return ${v};`}))),"// return url for filenames based on template",`return ${Qe};`]:["// return url for filenames based on template",`return ${Qe};`])};`])}}v.exports=GetChunkFilenameRuntimeModule},7551:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);class GetFullHashRuntimeModule extends ${constructor(){super("getFullHash");this.fullHash=true}generate(){const v=this.compilation;const{runtimeTemplate:E}=v;return`${R.getFullHash} = ${E.returningFunction(JSON.stringify(v.hash||"XXXX"))}`}}v.exports=GetFullHashRuntimeModule},73322:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);const N=P(35600);class GetMainFilenameRuntimeModule extends ${constructor(v,E,P){super(`get ${v} filename`);this.global=E;this.filename=P}generate(){const{global:v,filename:E}=this;const P=this.compilation;const $=this.chunk;const{runtimeTemplate:L}=P;const q=P.getPath(JSON.stringify(E),{hash:`" + ${R.getFullHash}() + "`,hashWithLength:v=>`" + ${R.getFullHash}().slice(0, ${v}) + "`,chunk:$,runtime:$.runtime});return N.asString([`${v} = ${L.returningFunction(q)};`])}}v.exports=GetMainFilenameRuntimeModule},40354:function(v,E,P){"use strict";const R=P(75189);const $=P(35600);const N=P(67742);class GetTrustedTypesPolicyRuntimeModule extends N{constructor(v){super("trusted types policy");this.runtimeRequirements=v}generate(){const v=this.compilation;const{runtimeTemplate:E,outputOptions:P}=v;const{trustedTypes:N}=P;const L=R.getTrustedTypesPolicy;const q=N?N.onPolicyCreationFailure==="continue":false;return $.asString(["var policy;",`${L} = ${E.basicFunction("",["// Create Trusted Type policy if Trusted Types are available and the policy doesn't exist yet.","if (policy === undefined) {",$.indent(["policy = {",$.indent([...this.runtimeRequirements.has(R.createScript)?[`createScript: ${E.returningFunction("script","script")}`]:[],...this.runtimeRequirements.has(R.createScriptUrl)?[`createScriptURL: ${E.returningFunction("url","url")}`]:[]].join(",\n")),"};",...N?['if (typeof trustedTypes !== "undefined" && trustedTypes.createPolicy) {',$.indent([...q?["try {"]:[],...[`policy = trustedTypes.createPolicy(${JSON.stringify(N.policyName)}, policy);`].map((v=>q?$.indent(v):v)),...q?["} catch (e) {",$.indent([`console.warn('Could not create trusted-types policy ${JSON.stringify(N.policyName)}');`]),"}"]:[]]),"}"]:[]]),"}","return policy;"])};`])}}v.exports=GetTrustedTypesPolicyRuntimeModule},60007:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);const N=P(35600);class GlobalRuntimeModule extends ${constructor(){super("global")}generate(){return N.asString([`${R.global} = (function() {`,N.indent(["if (typeof globalThis === 'object') return globalThis;","try {",N.indent("return this || new Function('return this')();"),"} catch (e) {",N.indent("if (typeof window === 'object') return window;"),"}"]),"})();"])}}v.exports=GlobalRuntimeModule},13452:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);const N=P(35600);class HasOwnPropertyRuntimeModule extends ${constructor(){super("hasOwnProperty shorthand")}generate(){const v=this.compilation;const{runtimeTemplate:E}=v;return N.asString([`${R.hasOwnProperty} = ${E.returningFunction("Object.prototype.hasOwnProperty.call(obj, prop)","obj, prop")}`])}}v.exports=HasOwnPropertyRuntimeModule},67742:function(v,E,P){"use strict";const R=P(62970);class HelperRuntimeModule extends R{constructor(v){super(v)}}v.exports=HelperRuntimeModule},80431:function(v,E,P){"use strict";const{SyncWaterfallHook:R}=P(79846);const $=P(92150);const N=P(75189);const L=P(35600);const q=P(67742);const K=new WeakMap;class LoadScriptRuntimeModule extends q{static getCompilationHooks(v){if(!(v instanceof $)){throw new TypeError("The 'compilation' argument must be an instance of Compilation")}let E=K.get(v);if(E===undefined){E={createScript:new R(["source","chunk"])};K.set(v,E)}return E}constructor(v,E){super("load script");this._withCreateScriptUrl=v;this._withFetchPriority=E}generate(){const v=this.compilation;const{runtimeTemplate:E,outputOptions:P}=v;const{scriptType:R,chunkLoadTimeout:$,crossOriginLoading:q,uniqueName:K,charset:ae}=P;const ge=N.loadScript;const{createScript:be}=LoadScriptRuntimeModule.getCompilationHooks(v);const xe=L.asString(["script = document.createElement('script');",R?`script.type = ${JSON.stringify(R)};`:"",ae?"script.charset = 'utf-8';":"",`script.timeout = ${$/1e3};`,`if (${N.scriptNonce}) {`,L.indent(`script.setAttribute("nonce", ${N.scriptNonce});`),"}",K?'script.setAttribute("data-webpack", dataWebpackPrefix + key);':"",this._withFetchPriority?L.asString(["if(fetchPriority) {",L.indent('script.setAttribute("fetchpriority", fetchPriority);'),"}"]):"",`script.src = ${this._withCreateScriptUrl?`${N.createScriptUrl}(url)`:"url"};`,q?q==="use-credentials"?'script.crossOrigin = "use-credentials";':L.asString(["if (script.src.indexOf(window.location.origin + '/') !== 0) {",L.indent(`script.crossOrigin = ${JSON.stringify(q)};`),"}"]):""]);return L.asString(["var inProgress = {};",K?`var dataWebpackPrefix = ${JSON.stringify(K+":")};`:"// data-webpack is not used as build has no uniqueName","// loadScript function to load a script via script tag",`${ge} = ${E.basicFunction(`url, done, key, chunkId${this._withFetchPriority?", fetchPriority":""}`,["if(inProgress[url]) { inProgress[url].push(done); return; }","var script, needAttach;","if(key !== undefined) {",L.indent(['var scripts = document.getElementsByTagName("script");',"for(var i = 0; i < scripts.length; i++) {",L.indent(["var s = scripts[i];",`if(s.getAttribute("src") == url${K?' || s.getAttribute("data-webpack") == dataWebpackPrefix + key':""}) { script = s; break; }`]),"}"]),"}","if(!script) {",L.indent(["needAttach = true;",be.call(xe,this.chunk)]),"}","inProgress[url] = [done];","var onScriptComplete = "+E.basicFunction("prev, event",L.asString(["// avoid mem leaks in IE.","script.onerror = script.onload = null;","clearTimeout(timeout);","var doneFns = inProgress[url];","delete inProgress[url];","script.parentNode && script.parentNode.removeChild(script);",`doneFns && doneFns.forEach(${E.returningFunction("fn(event)","fn")});`,"if(prev) return prev(event);"])),`var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), ${$});`,"script.onerror = onScriptComplete.bind(null, script.onerror);","script.onload = onScriptComplete.bind(null, script.onload);","needAttach && document.head.appendChild(script);"])};`])}}v.exports=LoadScriptRuntimeModule},95718:function(v,E,P){"use strict";const R=P(75189);const $=P(35600);const N=P(67742);class MakeNamespaceObjectRuntimeModule extends N{constructor(){super("make namespace object")}generate(){const v=this.compilation;const{runtimeTemplate:E}=v;const P=R.makeNamespaceObject;return $.asString(["// define __esModule on exports",`${P} = ${E.basicFunction("exports",["if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {",$.indent(["Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });"]),"}","Object.defineProperty(exports, '__esModule', { value: true });"])};`])}}v.exports=MakeNamespaceObjectRuntimeModule},28354:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);class NonceRuntimeModule extends ${constructor(){super("nonce",$.STAGE_ATTACH)}generate(){return`${R.scriptNonce} = undefined;`}}v.exports=NonceRuntimeModule},41539:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);const N=P(35600);class OnChunksLoadedRuntimeModule extends ${constructor(){super("chunk loaded")}generate(){const v=this.compilation;const{runtimeTemplate:E}=v;return N.asString(["var deferred = [];",`${R.onChunksLoaded} = ${E.basicFunction("result, chunkIds, fn, priority",["if(chunkIds) {",N.indent(["priority = priority || 0;","for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];","deferred[i] = [chunkIds, fn, priority];","return;"]),"}","var notFulfilled = Infinity;","for (var i = 0; i < deferred.length; i++) {",N.indent([E.destructureArray(["chunkIds","fn","priority"],"deferred[i]"),"var fulfilled = true;","for (var j = 0; j < chunkIds.length; j++) {",N.indent([`if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(${R.onChunksLoaded}).every(${E.returningFunction(`${R.onChunksLoaded}[key](chunkIds[j])`,"key")})) {`,N.indent(["chunkIds.splice(j--, 1);"]),"} else {",N.indent(["fulfilled = false;","if(priority < notFulfilled) notFulfilled = priority;"]),"}"]),"}","if(fulfilled) {",N.indent(["deferred.splice(i--, 1)","var r = fn();","if (r !== undefined) result = r;"]),"}"]),"}","return result;"])};`])}}v.exports=OnChunksLoadedRuntimeModule},6122:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);class PublicPathRuntimeModule extends ${constructor(v){super("publicPath",$.STAGE_BASIC);this.publicPath=v}generate(){const{publicPath:v}=this;const E=this.compilation;return`${R.publicPath} = ${JSON.stringify(E.getPath(v||"",{hash:E.hash||"XXXX"}))};`}}v.exports=PublicPathRuntimeModule},16700:function(v,E,P){"use strict";const R=P(75189);const $=P(35600);const N=P(67742);class RelativeUrlRuntimeModule extends N{constructor(){super("relative url")}generate(){const v=this.compilation;const{runtimeTemplate:E}=v;return $.asString([`${R.relativeUrl} = function RelativeURL(url) {`,$.indent(['var realUrl = new URL(url, "x:/");',"var values = {};","for (var key in realUrl) values[key] = realUrl[key];","values.href = url;",'values.pathname = url.replace(/[?#].*/, "");','values.origin = values.protocol = "";',`values.toString = values.toJSON = ${E.returningFunction("url")};`,"for (var key in values) Object.defineProperty(this, key, { enumerable: true, configurable: true, value: values[key] });"]),"};",`${R.relativeUrl}.prototype = URL.prototype;`])}}v.exports=RelativeUrlRuntimeModule},23533:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);class RuntimeIdRuntimeModule extends ${constructor(){super("runtimeId")}generate(){const v=this.chunkGraph;const E=this.chunk;const P=E.runtime;if(typeof P!=="string")throw new Error("RuntimeIdRuntimeModule must be in a single runtime");const $=v.getRuntimeId(P);return`${R.runtimeId} = ${JSON.stringify($)};`}}v.exports=RuntimeIdRuntimeModule},14633:function(v,E,P){"use strict";const R=P(75189);const $=P(72411);const N=P(46460);class StartupChunkDependenciesPlugin{constructor(v){this.chunkLoading=v.chunkLoading;this.asyncChunkLoading=typeof v.asyncChunkLoading==="boolean"?v.asyncChunkLoading:true}apply(v){v.hooks.thisCompilation.tap("StartupChunkDependenciesPlugin",(v=>{const E=v.outputOptions.chunkLoading;const isEnabledForChunk=v=>{const P=v.getEntryOptions();const R=P&&P.chunkLoading!==undefined?P.chunkLoading:E;return R===this.chunkLoading};v.hooks.additionalTreeRuntimeRequirements.tap("StartupChunkDependenciesPlugin",((E,P,{chunkGraph:N})=>{if(!isEnabledForChunk(E))return;if(N.hasChunkEntryDependentChunks(E)){P.add(R.startup);P.add(R.ensureChunk);P.add(R.ensureChunkIncludeEntries);v.addRuntimeModule(E,new $(this.asyncChunkLoading))}}));v.hooks.runtimeRequirementInTree.for(R.startupEntrypoint).tap("StartupChunkDependenciesPlugin",((E,P)=>{if(!isEnabledForChunk(E))return;P.add(R.require);P.add(R.ensureChunk);P.add(R.ensureChunkIncludeEntries);v.addRuntimeModule(E,new N(this.asyncChunkLoading))}))}))}}v.exports=StartupChunkDependenciesPlugin},72411:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);const N=P(35600);class StartupChunkDependenciesRuntimeModule extends ${constructor(v){super("startup chunk dependencies",$.STAGE_TRIGGER);this.asyncChunkLoading=v}generate(){const v=this.chunkGraph;const E=this.chunk;const P=Array.from(v.getChunkEntryDependentChunksIterable(E)).map((v=>v.id));const $=this.compilation;const{runtimeTemplate:L}=$;return N.asString([`var next = ${R.startup};`,`${R.startup} = ${L.basicFunction("",!this.asyncChunkLoading?P.map((v=>`${R.ensureChunk}(${JSON.stringify(v)});`)).concat("return next();"):P.length===1?`return ${R.ensureChunk}(${JSON.stringify(P[0])}).then(next);`:P.length>2?[`return Promise.all(${JSON.stringify(P)}.map(${R.ensureChunk}, ${R.require})).then(next);`]:["return Promise.all([",N.indent(P.map((v=>`${R.ensureChunk}(${JSON.stringify(v)})`)).join(",\n")),"]).then(next);"])};`])}}v.exports=StartupChunkDependenciesRuntimeModule},46460:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);class StartupEntrypointRuntimeModule extends ${constructor(v){super("startup entrypoint");this.asyncChunkLoading=v}generate(){const v=this.compilation;const{runtimeTemplate:E}=v;return`${R.startupEntrypoint} = ${E.basicFunction("result, chunkIds, fn",["// arguments: chunkIds, moduleId are deprecated","var moduleId = chunkIds;",`if(!fn) chunkIds = result, fn = ${E.returningFunction(`${R.require}(${R.entryModuleId} = moduleId)`)};`,...this.asyncChunkLoading?[`return Promise.all(chunkIds.map(${R.ensureChunk}, ${R.require})).then(${E.basicFunction("",["var r = fn();","return r === undefined ? result : r;"])})`]:[`chunkIds.map(${R.ensureChunk}, ${R.require})`,"var r = fn();","return r === undefined ? result : r;"]])}`}}v.exports=StartupEntrypointRuntimeModule},3015:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);class SystemContextRuntimeModule extends ${constructor(){super("__system_context__")}generate(){return`${R.systemContext} = __system_context__;`}}v.exports=SystemContextRuntimeModule},84669:function(v,E,P){"use strict";const R=P(44208);const $=/^data:([^;,]+)?((?:;[^;,]+)*?)(?:;(base64))?,(.*)$/i;const decodeDataURI=v=>{const E=$.exec(v);if(!E)return null;const P=E[3];const R=E[4];if(P){return Buffer.from(R,"base64")}try{return Buffer.from(decodeURIComponent(R),"ascii")}catch(v){return Buffer.from(R,"ascii")}};class DataUriPlugin{apply(v){v.hooks.compilation.tap("DataUriPlugin",((v,{normalModuleFactory:E})=>{E.hooks.resolveForScheme.for("data").tap("DataUriPlugin",(v=>{const E=$.exec(v.resource);if(E){v.data.mimetype=E[1]||"";v.data.parameters=E[2]||"";v.data.encoding=E[3]||false;v.data.encodedContent=E[4]||""}}));R.getCompilationHooks(v).readResourceForScheme.for("data").tap("DataUriPlugin",(v=>decodeDataURI(v)))}))}}v.exports=DataUriPlugin},98536:function(v,E,P){"use strict";const{URL:R,fileURLToPath:$}=P(57310);const{NormalModule:N}=P(41708);class FileUriPlugin{apply(v){v.hooks.compilation.tap("FileUriPlugin",((v,{normalModuleFactory:E})=>{E.hooks.resolveForScheme.for("file").tap("FileUriPlugin",(v=>{const E=new R(v.resource);const P=$(E);const N=E.search;const L=E.hash;v.path=P;v.query=N;v.fragment=L;v.resource=P+N+L;return true}));const P=N.getCompilationHooks(v);P.readResource.for(undefined).tapAsync("FileUriPlugin",((v,E)=>{const{resourcePath:P}=v;v.addDependency(P);v.fs.readFile(P,E)}))}))}}v.exports=FileUriPlugin},2484:function(v,E,P){"use strict";const R=P(82361);const{extname:$,basename:N}=P(71017);const{URL:L}=P(57310);const{createGunzip:q,createBrotliDecompress:K,createInflate:ae}=P(59796);const ge=P(44208);const be=P(86278);const xe=P(1558);const{mkdirp:ve,dirname:Ae,join:Ie}=P(23763);const He=P(49584);const Qe=He((()=>P(13685)));const Je=He((()=>P(95687)));const proxyFetch=(v,E)=>(P,$,N)=>{const q=new R;const doRequest=E=>v.get(P,{...$,...E&&{socket:E}},N).on("error",q.emit.bind(q,"error"));if(E){const{hostname:v,port:R}=new L(E);Qe().request({host:v,port:R,method:"CONNECT",path:P.host}).on("connect",((v,E)=>{if(v.statusCode===200){doRequest(E)}})).on("error",(v=>{q.emit("error",new Error(`Failed to connect to proxy server "${E}": ${v.message}`))})).end()}else{doRequest()}return q};let Ve=undefined;const Ke=be(P(12906),(()=>P(14225)),{name:"Http Uri Plugin",baseDataPath:"options"});const toSafePath=v=>v.replace(/^[^a-zA-Z0-9]+|[^a-zA-Z0-9]+$/g,"").replace(/[^a-zA-Z0-9._-]+/g,"_");const computeIntegrity=v=>{const E=xe("sha512");E.update(v);const P="sha512-"+E.digest("base64");return P};const verifyIntegrity=(v,E)=>{if(E==="ignore")return true;return computeIntegrity(v)===E};const parseKeyValuePairs=v=>{const E={};for(const P of v.split(",")){const v=P.indexOf("=");if(v>=0){const R=P.slice(0,v).trim();const $=P.slice(v+1).trim();E[R]=$}else{const v=P.trim();if(!v)continue;E[v]=v}}return E};const parseCacheControl=(v,E)=>{let P=true;let R=true;let $=0;if(v){const N=parseKeyValuePairs(v);if(N["no-cache"])P=R=false;if(N["max-age"]&&!isNaN(+N["max-age"])){$=E+ +N["max-age"]*1e3}if(N["must-revalidate"])$=0}return{storeLock:R,storeCache:P,validUntil:$}};const areLockfileEntriesEqual=(v,E)=>v.resolved===E.resolved&&v.integrity===E.integrity&&v.contentType===E.contentType;const entryToString=v=>`resolved: ${v.resolved}, integrity: ${v.integrity}, contentType: ${v.contentType}`;class Lockfile{constructor(){this.version=1;this.entries=new Map}static parse(v){const E=JSON.parse(v);if(E.version!==1)throw new Error(`Unsupported lockfile version ${E.version}`);const P=new Lockfile;for(const v of Object.keys(E)){if(v==="version")continue;const R=E[v];P.entries.set(v,typeof R==="string"?R:{resolved:v,...R})}return P}toString(){let v="{\n";const E=Array.from(this.entries).sort((([v],[E])=>v{let E=false;let P=undefined;let R=undefined;let $=undefined;return N=>{if(E){if(R!==undefined)return N(null,R);if(P!==undefined)return N(P);if($===undefined)$=[N];else $.push(N);return}E=true;v(((v,E)=>{if(v)P=v;else R=E;const L=$;$=undefined;N(v,E);if(L!==undefined)for(const P of L)P(v,E)}))}};const cachedWithKey=(v,E=v)=>{const P=new Map;const resultFn=(E,R)=>{const $=P.get(E);if($!==undefined){if($.result!==undefined)return R(null,$.result);if($.error!==undefined)return R($.error);if($.callbacks===undefined)$.callbacks=[R];else $.callbacks.push(R);return}const N={result:undefined,error:undefined,callbacks:undefined};P.set(E,N);v(E,((v,E)=>{if(v)N.error=v;else N.result=E;const P=N.callbacks;N.callbacks=undefined;R(v,E);if(P!==undefined)for(const R of P)R(v,E)}))};resultFn.force=(v,R)=>{const $=P.get(v);if($!==undefined&&$.force){if($.result!==undefined)return R(null,$.result);if($.error!==undefined)return R($.error);if($.callbacks===undefined)$.callbacks=[R];else $.callbacks.push(R);return}const N={result:undefined,error:undefined,callbacks:undefined,force:true};P.set(v,N);E(v,((v,E)=>{if(v)N.error=v;else N.result=E;const P=N.callbacks;N.callbacks=undefined;R(v,E);if(P!==undefined)for(const R of P)R(v,E)}))};return resultFn};class HttpUriPlugin{constructor(v){Ke(v);this._lockfileLocation=v.lockfileLocation;this._cacheLocation=v.cacheLocation;this._upgrade=v.upgrade;this._frozen=v.frozen;this._allowedUris=v.allowedUris;this._proxy=v.proxy}apply(v){const E=this._proxy||process.env["http_proxy"]||process.env["HTTP_PROXY"];const P=[{scheme:"http",fetch:proxyFetch(Qe(),E)},{scheme:"https",fetch:proxyFetch(Je(),E)}];let R;v.hooks.compilation.tap("HttpUriPlugin",((E,{normalModuleFactory:be})=>{const He=v.intermediateFileSystem;const Qe=E.inputFileSystem;const Je=E.getCache("webpack.HttpUriPlugin");const Ke=E.getLogger("webpack.HttpUriPlugin");const Ye=this._lockfileLocation||Ie(He,v.context,v.name?`${toSafePath(v.name)}.webpack.lock`:"webpack.lock");const Xe=this._cacheLocation!==undefined?this._cacheLocation:Ye+".data";const Ze=this._upgrade||false;const et=this._frozen||false;const tt="sha512";const nt="hex";const st=20;const rt=this._allowedUris;let ot=false;const it=new Map;const getCacheKey=v=>{const E=it.get(v);if(E!==undefined)return E;const P=_getCacheKey(v);it.set(v,P);return P};const _getCacheKey=v=>{const E=new L(v);const P=toSafePath(E.origin);const R=toSafePath(E.pathname);const N=toSafePath(E.search);let q=$(R);if(q.length>20)q="";const K=q?R.slice(0,-q.length):R;const ae=xe(tt);ae.update(v);const ge=ae.digest(nt).slice(0,st);return`${P.slice(-50)}/${`${K}${N?`_${N}`:""}`.slice(0,150)}_${ge}${q}`};const at=cachedWithoutKey((P=>{const readLockfile=()=>{He.readFile(Ye,(($,N)=>{if($&&$.code!=="ENOENT"){E.missingDependencies.add(Ye);return P($)}E.fileDependencies.add(Ye);E.fileSystemInfo.createSnapshot(v.fsStartTime,N?[Ye]:[],[],N?[]:[Ye],{timestamp:true},((v,E)=>{if(v)return P(v);const $=N?Lockfile.parse(N.toString("utf-8")):new Lockfile;R={lockfile:$,snapshot:E};P(null,$)}))}))};if(R){E.fileSystemInfo.checkSnapshotValid(R.snapshot,((v,E)=>{if(v)return P(v);if(!E)return readLockfile();P(null,R.lockfile)}))}else{readLockfile()}}));let ct=undefined;const storeLockEntry=(v,E,P)=>{const R=v.entries.get(E);if(ct===undefined)ct=new Map;ct.set(E,P);v.entries.set(E,P);if(!R){Ke.log(`${E} added to lockfile`)}else if(typeof R==="string"){if(typeof P==="string"){Ke.log(`${E} updated in lockfile: ${R} -> ${P}`)}else{Ke.log(`${E} updated in lockfile: ${R} -> ${P.resolved}`)}}else if(typeof P==="string"){Ke.log(`${E} updated in lockfile: ${R.resolved} -> ${P}`)}else if(R.resolved!==P.resolved){Ke.log(`${E} updated in lockfile: ${R.resolved} -> ${P.resolved}`)}else if(R.integrity!==P.integrity){Ke.log(`${E} updated in lockfile: content changed`)}else if(R.contentType!==P.contentType){Ke.log(`${E} updated in lockfile: ${R.contentType} -> ${P.contentType}`)}else{Ke.log(`${E} updated in lockfile`)}};const storeResult=(v,E,P,R)=>{if(P.storeLock){storeLockEntry(v,E,P.entry);if(!Xe||!P.content)return R(null,P);const $=getCacheKey(P.entry.resolved);const N=Ie(He,Xe,$);ve(He,Ae(He,N),(v=>{if(v)return R(v);He.writeFile(N,P.content,(v=>{if(v)return R(v);R(null,P)}))}))}else{storeLockEntry(v,E,"no-cache");R(null,P)}};for(const{scheme:v,fetch:R}of P){const resolveContent=(v,E,R)=>{const handleResult=($,N)=>{if($)return R($);if("location"in N){return resolveContent(N.location,E,((v,E)=>{if(v)return R(v);R(null,{entry:E.entry,content:E.content,storeLock:E.storeLock&&N.storeLock})}))}else{if(!N.fresh&&E&&N.entry.integrity!==E&&!verifyIntegrity(N.content,E)){return P.force(v,handleResult)}return R(null,{entry:N.entry,content:N.content,storeLock:N.storeLock})}};P(v,handleResult)};const fetchContentRaw=(v,E,P)=>{const $=Date.now();R(new L(v),{headers:{"accept-encoding":"gzip, deflate, br","user-agent":"webpack","if-none-match":E?E.etag||null:null}},(R=>{const N=R.headers["etag"];const ge=R.headers["location"];const be=R.headers["cache-control"];const{storeLock:xe,storeCache:ve,validUntil:Ae}=parseCacheControl(be,$);const finishWith=E=>{if("location"in E){Ke.debug(`GET ${v} [${R.statusCode}] -> ${E.location}`)}else{Ke.debug(`GET ${v} [${R.statusCode}] ${Math.ceil(E.content.length/1024)} kB${!xe?" no-cache":""}`)}const $={...E,fresh:true,storeLock:xe,storeCache:ve,validUntil:Ae,etag:N};if(!ve){Ke.log(`${v} can't be stored in cache, due to Cache-Control header: ${be}`);return P(null,$)}Je.store(v,null,{...$,fresh:false},(E=>{if(E){Ke.warn(`${v} can't be stored in cache: ${E.message}`);Ke.debug(E.stack)}P(null,$)}))};if(R.statusCode===304){if(E.validUntil=301&&R.statusCode<=308){const $={location:new L(ge,v).href};if(!E||!("location"in E)||E.location!==$.location||E.validUntil{He.push(v)}));Ve.on("end",(()=>{if(!R.complete){Ke.log(`GET ${v} [${R.statusCode}] (terminated)`);return P(new Error(`${v} request was terminated`))}const E=Buffer.concat(He);if(R.statusCode!==200){Ke.log(`GET ${v} [${R.statusCode}]`);return P(new Error(`${v} request status code = ${R.statusCode}\n${E.toString("utf-8")}`))}const $=computeIntegrity(E);const N={resolved:v,integrity:$,contentType:Ie};finishWith({entry:N,content:E})}))})).on("error",(E=>{Ke.log(`GET ${v} (error)`);E.message+=`\nwhile fetching ${v}`;P(E)}))};const P=cachedWithKey(((v,E)=>{Je.get(v,null,((P,R)=>{if(P)return E(P);if(R){const v=R.validUntil>=Date.now();if(v)return E(null,R)}fetchContentRaw(v,R,E)}))}),((v,E)=>fetchContentRaw(v,undefined,E)));const isAllowed=v=>{for(const E of rt){if(typeof E==="string"){if(v.startsWith(E))return true}else if(typeof E==="function"){if(E(v))return true}else{if(E.test(v))return true}}return false};const $=cachedWithKey(((v,E)=>{if(!isAllowed(v)){return E(new Error(`${v} doesn't match the allowedUris policy. These URIs are allowed:\n${rt.map((v=>` - ${v}`)).join("\n")}`))}at(((P,R)=>{if(P)return E(P);const $=R.entries.get(v);if(!$){if(et){return E(new Error(`${v} has no lockfile entry and lockfile is frozen`))}resolveContent(v,null,((P,$)=>{if(P)return E(P);storeResult(R,v,$,E)}));return}if(typeof $==="string"){const P=$;resolveContent(v,null,(($,N)=>{if($)return E($);if(!N.storeLock||P==="ignore")return E(null,N);if(et){return E(new Error(`${v} used to have ${P} lockfile entry and has content now, but lockfile is frozen`))}if(!Ze){return E(new Error(`${v} used to have ${P} lockfile entry and has content now.\nThis should be reflected in the lockfile, so this lockfile entry must be upgraded, but upgrading is not enabled.\nRemove this line from the lockfile to force upgrading.`))}storeResult(R,v,N,E)}));return}let N=$;const doFetch=P=>{resolveContent(v,N.integrity,(($,L)=>{if($){if(P){Ke.warn(`Upgrade request to ${v} failed: ${$.message}`);Ke.debug($.stack);return E(null,{entry:N,content:P})}return E($)}if(!L.storeLock){if(et){return E(new Error(`${v} has a lockfile entry and is no-cache now, but lockfile is frozen\nLockfile: ${entryToString(N)}`))}storeResult(R,v,L,E);return}if(!areLockfileEntriesEqual(L.entry,N)){if(et){return E(new Error(`${v} has an outdated lockfile entry, but lockfile is frozen\nLockfile: ${entryToString(N)}\nExpected: ${entryToString(L.entry)}`))}storeResult(R,v,L,E);return}if(!P&&Xe){if(et){return E(new Error(`${v} is missing content in the lockfile cache, but lockfile is frozen\nLockfile: ${entryToString(N)}`))}storeResult(R,v,L,E);return}return E(null,L)}))};if(Xe){const P=getCacheKey(N.resolved);const $=Ie(He,Xe,P);Qe.readFile($,((P,L)=>{const q=L;if(P){if(P.code==="ENOENT")return doFetch();return E(P)}const continueWithCachedContent=v=>{if(!Ze){return E(null,{entry:N,content:q})}return doFetch(q)};if(!verifyIntegrity(q,N.integrity)){let P;let L=false;try{P=Buffer.from(q.toString("utf-8").replace(/\r\n/g,"\n"));L=verifyIntegrity(P,N.integrity)}catch(v){}if(L){if(!ot){const v=`Incorrect end of line sequence was detected in the lockfile cache.\nThe lockfile cache is protected by integrity checks, so any external modification will lead to a corrupted lockfile cache.\nWhen using git make sure to configure .gitattributes correctly for the lockfile cache:\n **/*webpack.lock.data/** -text\nThis will avoid that the end of line sequence is changed by git on Windows.`;if(et){Ke.error(v)}else{Ke.warn(v);Ke.info("Lockfile cache will be automatically fixed now, but when lockfile is frozen this would result in an error.")}ot=true}if(!et){Ke.log(`${$} fixed end of line sequence (\\r\\n instead of \\n).`);He.writeFile($,P,(v=>{if(v)return E(v);continueWithCachedContent(P)}));return}}if(et){return E(new Error(`${N.resolved} integrity mismatch, expected content with integrity ${N.integrity} but got ${computeIntegrity(q)}.\nLockfile corrupted (${L?"end of line sequence was unexpectedly changed":"incorrectly merged? changed by other tools?"}).\nRun build with un-frozen lockfile to automatically fix lockfile.`))}else{N={...N,integrity:computeIntegrity(q)};storeLockEntry(R,v,N)}}continueWithCachedContent(L)}))}else{doFetch()}}))}));const respondWithUrlModule=(v,E,P)=>{$(v.href,((R,$)=>{if(R)return P(R);E.resource=v.href;E.path=v.origin+v.pathname;E.query=v.search;E.fragment=v.hash;E.context=new L(".",$.entry.resolved).href.slice(0,-1);E.data.mimetype=$.entry.contentType;P(null,true)}))};be.hooks.resolveForScheme.for(v).tapAsync("HttpUriPlugin",((v,E,P)=>{respondWithUrlModule(new L(v.resource),v,P)}));be.hooks.resolveInScheme.for(v).tapAsync("HttpUriPlugin",((v,E,P)=>{if(E.dependencyType!=="url"&&!/^\.{0,2}\//.test(v.resource)){return P()}respondWithUrlModule(new L(v.resource,E.context+"/"),v,P)}));const N=ge.getCompilationHooks(E);N.readResourceForScheme.for(v).tapAsync("HttpUriPlugin",((v,E,P)=>$(v,((v,R)=>{if(v)return P(v);E.buildInfo.resourceIntegrity=R.entry.integrity;P(null,R.content)}))));N.needBuild.tapAsync("HttpUriPlugin",((E,P,R)=>{if(E.resource&&E.resource.startsWith(`${v}://`)){$(E.resource,((v,P)=>{if(v)return R(v);if(P.entry.integrity!==E.buildInfo.resourceIntegrity){return R(null,true)}R()}))}else{return R()}}))}E.hooks.finishModules.tapAsync("HttpUriPlugin",((v,E)=>{if(!ct)return E();const P=$(Ye);const R=Ie(He,Ae(He,Ye),`.${N(Ye,P)}.${Math.random()*1e4|0}${P}`);const writeDone=()=>{const v=Ve.shift();if(v){v()}else{Ve=undefined}};const runWrite=()=>{He.readFile(Ye,((v,P)=>{if(v&&v.code!=="ENOENT"){writeDone();return E(v)}const $=P?Lockfile.parse(P.toString("utf-8")):new Lockfile;for(const[v,E]of ct){$.entries.set(v,E)}He.writeFile(R,$.toString(),(v=>{if(v){writeDone();return He.unlink(R,(()=>E(v)))}He.rename(R,Ye,(v=>{if(v){writeDone();return He.unlink(R,(()=>E(v)))}writeDone();E()}))}))}))};if(Ve){Ve.push(runWrite)}else{Ve=[];runWrite()}}))}))}}v.exports=HttpUriPlugin},78009:function(v){"use strict";class ArraySerializer{serialize(v,E){E.write(v.length);for(const P of v)E.write(P)}deserialize(v){const E=v.read();const P=[];for(let R=0;R{if(v===(v|0)){if(v<=127&&v>=-128)return 0;if(v<=2147483647&&v>=-2147483648)return 1}return 2};const identifyBigInt=v=>{if(v<=BigInt(127)&&v>=BigInt(-128))return 0;if(v<=BigInt(2147483647)&&v>=BigInt(-2147483648))return 1;return 2};class BinaryMiddleware extends ${serialize(v,E){return this._serialize(v,E)}_serializeLazy(v,E){return $.serializeLazy(v,(v=>this._serialize(v,E)))}_serialize(v,E,P={allocationSize:1024,increaseCounter:0,leftOverBuffer:null}){let R=null;let st=[];let rt=P?P.leftOverBuffer:null;P.leftOverBuffer=null;let ot=0;if(rt===null){rt=Buffer.allocUnsafe(P.allocationSize)}const allocate=v=>{if(rt!==null){if(rt.length-ot>=v)return;flush()}if(R&&R.length>=v){rt=R;R=null}else{rt=Buffer.allocUnsafe(Math.max(v,P.allocationSize));if(!(P.increaseCounter=(P.increaseCounter+1)%4)&&P.allocationSize<16777216){P.allocationSize=P.allocationSize<<1}}};const flush=()=>{if(rt!==null){if(ot>0){st.push(Buffer.from(rt.buffer,rt.byteOffset,ot))}if(!R||R.length{rt.writeUInt8(v,ot++)};const writeU32=v=>{rt.writeUInt32LE(v,ot);ot+=4};const dt=[];const measureStart=()=>{dt.push(st.length,ot)};const measureEnd=()=>{const v=dt.pop();const E=dt.pop();let P=ot-v;for(let v=E;v0&&(v=L[L.length-1])!==0){const P=4294967295-v;if(P>=E.length){L[L.length-1]+=E.length}else{L.push(E.length-P);L[L.length-2]=4294967295}}else{L.push(E.length)}}allocate(5+L.length*4);writeU8(N);writeU32(L.length);for(const v of L){writeU32(v)}flush();for(const E of v){st.push(E)}break}case"string":{const v=Buffer.byteLength(ft);if(v>=128||v!==ft.length){allocate(v+it+ct);writeU8(Ye);writeU32(v);rt.write(ft,ot);ot+=v}else if(v>=70){allocate(v+it);writeU8(nt|v);rt.write(ft,ot,"latin1");ot+=v}else{allocate(v+it);writeU8(nt|v);for(let E=0;E=0&&ft<=BigInt(10)){allocate(it+at);writeU8(Ve);writeU8(Number(ft));break}switch(E){case 0:{let E=1;allocate(it+at*E);writeU8(Ve|E-1);while(E>0){rt.writeInt8(Number(v[dt]),ot);ot+=at;E--;dt++}dt--;break}case 1:{let E=1;allocate(it+ct*E);writeU8(Ke|E-1);while(E>0){rt.writeInt32LE(Number(v[dt]),ot);ot+=ct;E--;dt++}dt--;break}default:{const v=ft.toString();const E=Buffer.byteLength(v);allocate(E+it+ct);writeU8(Je);writeU32(E);rt.write(v,ot);ot+=E;break}}break}case"number":{const E=identifyNumber(ft);if(E===0&&ft>=0&&ft<=10){allocate(at);writeU8(ft);break}let P=1;for(;P<32&&dt+P0){rt.writeInt8(v[dt],ot);ot+=at;P--;dt++}break;case 1:allocate(it+ct*P);writeU8(et|P-1);while(P>0){rt.writeInt32LE(v[dt],ot);ot+=ct;P--;dt++}break;case 2:allocate(it+lt*P);writeU8(tt|P-1);while(P>0){rt.writeDoubleLE(v[dt],ot);ot+=lt;P--;dt++}break}dt--;break}case"boolean":{let E=ft===true?1:0;const P=[];let R=1;let $;for($=1;$<4294967295&&dt+$this._deserialize(v,E))),this,undefined,v)}_deserializeLazy(v,E){return $.deserializeLazy(v,(v=>this._deserialize(v,E)))}_deserialize(v,E){let P=0;let R=v[0];let $=Buffer.isBuffer(R);let it=0;const ut=E.retainedBuffer||(v=>v);const checkOverflow=()=>{if(it>=R.length){it=0;P++;R=P$&&v+it<=R.length;const ensureBuffer=()=>{if(!$){throw new Error(R===null?"Unexpected end of stream":"Unexpected lazy element in stream")}};const read=E=>{ensureBuffer();const N=R.length-it;if(N{ensureBuffer();const E=R.length-it;if(E{ensureBuffer();const v=R.readUInt8(it);it+=at;checkOverflow();return v};const readU32=()=>read(ct).readUInt32LE(0);const readBits=(v,E)=>{let P=1;while(E!==0){dt.push((v&P)!==0);P=P<<1;E--}};const pt=Array.from({length:256}).map(((pt,ft)=>{switch(ft){case N:return()=>{const N=readU32();const L=Array.from({length:N}).map((()=>readU32()));const q=[];for(let E of L){if(E===0){if(typeof R!=="function"){throw new Error("Unexpected non-lazy element in stream")}q.push(R);P++;R=P0)}}dt.push(this._createLazyDeserialized(q,E))};case Xe:return()=>{const v=readU32();dt.push(ut(read(v)))};case L:return()=>dt.push(true);case q:return()=>dt.push(false);case be:return()=>dt.push(null,null,null);case ge:return()=>dt.push(null,null);case ae:return()=>dt.push(null);case He:return()=>dt.push(null,true);case Qe:return()=>dt.push(null,false);case Ae:return()=>{if($){dt.push(null,R.readInt8(it));it+=at;checkOverflow()}else{dt.push(null,read(at).readInt8(0))}};case Ie:return()=>{dt.push(null);if(isInCurrentBuffer(ct)){dt.push(R.readInt32LE(it));it+=ct;checkOverflow()}else{dt.push(read(ct).readInt32LE(0))}};case xe:return()=>{const v=readU8()+4;for(let E=0;E{const v=readU32()+260;for(let E=0;E{const v=readU8();if((v&240)===0){readBits(v,3)}else if((v&224)===0){readBits(v,4)}else if((v&192)===0){readBits(v,5)}else if((v&128)===0){readBits(v,6)}else if(v!==255){let E=(v&127)+7;while(E>8){readBits(readU8(),8);E-=8}readBits(readU8(),E)}else{let v=readU32();while(v>8){readBits(readU8(),8);v-=8}readBits(readU8(),v)}};case Ye:return()=>{const v=readU32();if(isInCurrentBuffer(v)&&it+v<2147483647){dt.push(R.toString(undefined,it,it+v));it+=v;checkOverflow()}else{dt.push(read(v).toString())}};case nt:return()=>dt.push("");case nt|1:return()=>{if($&&it<2147483646){dt.push(R.toString("latin1",it,it+1));it++;checkOverflow()}else{dt.push(read(1).toString("latin1"))}};case Ze:return()=>{if($){dt.push(R.readInt8(it));it++;checkOverflow()}else{dt.push(read(1).readInt8(0))}};case Ve:{const v=1;return()=>{const E=at*v;if(isInCurrentBuffer(E)){for(let E=0;E{const E=ct*v;if(isInCurrentBuffer(E)){for(let E=0;E{const v=readU32();if(isInCurrentBuffer(v)&&it+v<2147483647){const E=R.toString(undefined,it,it+v);dt.push(BigInt(E));it+=v;checkOverflow()}else{const E=read(v).toString();dt.push(BigInt(E))}}}default:if(ft<=10){return()=>dt.push(ft)}else if((ft&nt)===nt){const v=ft&ot;return()=>{if(isInCurrentBuffer(v)&&it+v<2147483647){dt.push(R.toString("latin1",it,it+v));it+=v;checkOverflow()}else{dt.push(read(v).toString("latin1"))}}}else if((ft&st)===tt){const v=(ft&rt)+1;return()=>{const E=lt*v;if(isInCurrentBuffer(E)){for(let E=0;E{const E=ct*v;if(isInCurrentBuffer(E)){for(let E=0;E{const E=at*v;if(isInCurrentBuffer(E)){for(let E=0;E{throw new Error(`Unexpected header byte 0x${ft.toString(16)}`)}}}}));let dt=[];while(R!==null){if(typeof R==="function"){dt.push(this._deserializeLazy(R,E));P++;R=P{const P=ge(E);for(const E of v)P.update(E);return P.digest("hex")};const Ve=100*1024*1024;const Ke=100*1024*1024;const Ye=Buffer.prototype.writeBigUInt64LE?(v,E,P)=>{v.writeBigUInt64LE(BigInt(E),P)}:(v,E,P)=>{const R=E%4294967296;const $=(E-R)/4294967296;v.writeUInt32LE(R,P);v.writeUInt32LE($,P+4)};const Xe=Buffer.prototype.readBigUInt64LE?(v,E)=>Number(v.readBigUInt64LE(E)):(v,E)=>{const P=v.readUInt32LE(E);const R=v.readUInt32LE(E+4);return R*4294967296+P};const serialize=async(v,E,P,R,$="md4")=>{const N=[];const L=new WeakMap;let q=undefined;for(const P of await E){if(typeof P==="function"){if(!Ie.isLazy(P))throw new Error("Unexpected function");if(!Ie.isLazy(P,v)){throw new Error("Unexpected lazy value with non-this target (can't pass through lazy values)")}q=undefined;const E=Ie.getLazySerializedValue(P);if(E){if(typeof E==="function"){throw new Error("Unexpected lazy value with non-this target (can't pass through lazy values)")}else{N.push(E)}}else{const E=P();if(E){const q=Ie.getLazyOptions(P);N.push(serialize(v,E,q&&q.name||true,R,$).then((v=>{P.options.size=v.size;L.set(v,P);return v})))}else{throw new Error("Unexpected falsy value returned by lazy value function")}}}else if(P){if(q){q.push(P)}else{q=[P];N.push(q)}}else{throw new Error("Unexpected falsy value in items array")}}const K=[];const ae=(await Promise.all(N)).map((v=>{if(Array.isArray(v)||Buffer.isBuffer(v))return v;K.push(v.backgroundJob);const E=v.name;const P=Buffer.from(E);const R=Buffer.allocUnsafe(8+P.length);Ye(R,v.size,0);P.copy(R,8,0);const $=L.get(v);Ie.setLazySerializedValue($,R);return R}));const ge=[];for(const v of ae){if(Array.isArray(v)){let E=0;for(const P of v)E+=P.length;while(E>2147483647){ge.push(2147483647);E-=2147483647}ge.push(E)}else if(v){ge.push(-v.length)}else{throw new Error("Unexpected falsy value in resolved data "+v)}}const be=Buffer.allocUnsafe(8+ge.length*4);be.writeUInt32LE(He,0);be.writeUInt32LE(ge.length,4);for(let v=0;v{const R=await P(E);if(R.length===0)throw new Error("Empty file "+E);let $=0;let N=R[0];let L=N.length;let q=0;if(L===0)throw new Error("Empty file "+E);const nextContent=()=>{$++;N=R[$];L=N.length;q=0};const ensureData=v=>{if(q===L){nextContent()}while(L-qP){K.push(R[v].slice(0,P));R[v]=R[v].slice(P);P=0;break}else{K.push(R[v]);$=v;P-=E}}if(P>0)throw new Error("Unexpected end of data");N=Buffer.concat(K,v);L=v;q=0}};const readUInt32LE=()=>{ensureData(4);const v=N.readUInt32LE(q);q+=4;return v};const readInt32LE=()=>{ensureData(4);const v=N.readInt32LE(q);q+=4;return v};const readSlice=v=>{ensureData(v);if(q===0&&L===v){const E=N;if($+1=0;if(be&&E){ge[ge.length-1]+=v}else{ge.push(v);be=E}}const xe=[];for(let E of ge){if(E<0){const R=readSlice(-E);const $=Number(Xe(R,0));const N=R.slice(8);const L=N.toString();xe.push(Ie.createLazy(Ae((()=>deserialize(v,L,P))),v,{name:L,size:$},R))}else{if(q===L){nextContent()}else if(q!==0){if(E<=L-q){xe.push(Buffer.from(N.buffer,N.byteOffset+q,E));q+=E;E=0}else{const v=L-q;xe.push(Buffer.from(N.buffer,N.byteOffset+q,v));E-=v;q=L}}else{if(E>=L){xe.push(N);E-=L;q=L}else{xe.push(Buffer.from(N.buffer,N.byteOffset,E));q+=E;E=0}}while(E>0){nextContent();if(E>=L){xe.push(N);E-=L;q=L}else{xe.push(Buffer.from(N.buffer,N.byteOffset,E));q+=E;E=0}}}}return xe};class FileMiddleware extends Ie{constructor(v,E="md4"){super();this.fs=v;this._hashFunction=E}serialize(v,E){const{filename:P,extension:R=""}=E;return new Promise(((E,L)=>{ve(this.fs,be(this.fs,P),(K=>{if(K)return L(K);const ge=new Set;const writeFile=async(v,E,L)=>{const K=v?xe(this.fs,P,`../${v}${R}`):P;await new Promise(((v,P)=>{let R=this.fs.createWriteStream(K+"_");let ge;if(K.endsWith(".gz")){ge=q({chunkSize:Ve,level:ae.Z_BEST_SPEED})}else if(K.endsWith(".br")){ge=N({chunkSize:Ve,params:{[ae.BROTLI_PARAM_MODE]:ae.BROTLI_MODE_TEXT,[ae.BROTLI_PARAM_QUALITY]:2,[ae.BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING]:true,[ae.BROTLI_PARAM_SIZE_HINT]:L}})}if(ge){$(ge,R,P);R=ge;R.on("finish",(()=>v()))}else{R.on("error",(v=>P(v)));R.on("finish",(()=>v()))}const be=[];for(const v of E){if(v.length{if(v)return;if(ve===xe){R.end();return}let E=ve;let P=be[E++].length;while(EQe)break;E++}while(ve{await v;await new Promise((v=>this.fs.rename(P,P+".old",(E=>{v()}))));await Promise.all(Array.from(ge,(v=>new Promise(((E,P)=>{this.fs.rename(v+"_",v,(v=>{if(v)return P(v);E()}))})))));await new Promise((v=>{this.fs.rename(P+"_",P,(E=>{if(E)return L(E);v()}))}));return true})))}))}))}deserialize(v,E){const{filename:P,extension:$=""}=E;const readFile=v=>new Promise(((E,N)=>{const q=v?xe(this.fs,P,`../${v}${$}`):P;this.fs.stat(q,((v,P)=>{if(v){N(v);return}let $=P.size;let ae;let ge;const be=[];let xe;if(q.endsWith(".gz")){xe=K({chunkSize:Ke})}else if(q.endsWith(".br")){xe=L({chunkSize:Ke})}if(xe){let v,P;E(Promise.all([new Promise(((E,R)=>{v=E;P=R})),new Promise(((v,E)=>{xe.on("data",(v=>be.push(v)));xe.on("end",(()=>v()));xe.on("error",(v=>E(v)))}))]).then((()=>be)));E=v;N=P}this.fs.open(q,"r",((v,P)=>{if(v){N(v);return}const read=()=>{if(ae===undefined){ae=Buffer.allocUnsafeSlow(Math.min(R.MAX_LENGTH,$,xe?Ke:Infinity));ge=0}let v=ae;let L=ge;let q=ae.length-ge;if(L>2147483647){v=ae.slice(L);L=0}if(q>2147483647){q=2147483647}this.fs.read(P,v,L,q,null,((v,R)=>{if(v){this.fs.close(P,(()=>{N(v)}));return}ge+=R;$-=R;if(ge===ae.length){if(xe){xe.write(ae)}else{be.push(ae)}ae=undefined;if($===0){if(xe){xe.end()}this.fs.close(P,(v=>{if(v){N(v);return}E(be)}));return}}read()}))};read()}))}))}));return deserialize(this,false,readFile)}}v.exports=FileMiddleware},49276:function(v){"use strict";class MapObjectSerializer{serialize(v,E){E.write(v.size);for(const P of v.keys()){E.write(P)}for(const P of v.values()){E.write(P)}}deserialize(v){let E=v.read();const P=new Map;const R=[];for(let P=0;P{let P=0;for(const R of v){if(P++>=E){v.delete(R)}}};const setMapSize=(v,E)=>{let P=0;for(const R of v.keys()){if(P++>=E){v.delete(R)}}};const toHash=(v,E)=>{const P=R(E);P.update(v);return P.digest("latin1")};const ve=null;const Ae=null;const Ie=true;const He=false;const Qe=2;const Je=new Map;const Ve=new Map;const Ke=new Set;const Ye={};const Xe=new Map;Xe.set(Object,new ae);Xe.set(Array,new $);Xe.set(null,new K);Xe.set(Map,new q);Xe.set(Set,new xe);Xe.set(Date,new N);Xe.set(RegExp,new ge);Xe.set(Error,new L(Error));Xe.set(EvalError,new L(EvalError));Xe.set(RangeError,new L(RangeError));Xe.set(ReferenceError,new L(ReferenceError));Xe.set(SyntaxError,new L(SyntaxError));Xe.set(TypeError,new L(TypeError));if(E.constructor!==Object){const v=E.constructor;const P=v.constructor;for(const[v,E]of Array.from(Xe)){if(v){const R=new P(`return ${v.name};`)();Xe.set(R,E)}}}{let v=1;for(const[E,P]of Xe){Je.set(E,{request:"",name:v++,serializer:P})}}for(const{request:v,name:E,serializer:P}of Je.values()){Ve.set(`${v}/${E}`,P)}const Ze=new Map;class ObjectMiddleware extends be{constructor(v,E="md4"){super();this.extendContext=v;this._hashFunction=E}static registerLoader(v,E){Ze.set(v,E)}static register(v,E,P,R){const $=E+"/"+P;if(Je.has(v)){throw new Error(`ObjectMiddleware.register: serializer for ${v.name} is already registered`)}if(Ve.has($)){throw new Error(`ObjectMiddleware.register: serializer for ${$} is already registered`)}Je.set(v,{request:E,name:P,serializer:R});Ve.set($,R)}static registerNotSerializable(v){if(Je.has(v)){throw new Error(`ObjectMiddleware.registerNotSerializable: serializer for ${v.name} is already registered`)}Je.set(v,Ye)}static getSerializerFor(v){const E=Object.getPrototypeOf(v);let P;if(E===null){P=null}else{P=E.constructor;if(!P){throw new Error("Serialization of objects with prototype without valid constructor property not possible")}}const R=Je.get(P);if(!R)throw new Error(`No serializer registered for ${P.name}`);if(R===Ye)throw Ye;return R}static getDeserializerFor(v,E){const P=v+"/"+E;const R=Ve.get(P);if(R===undefined){throw new Error(`No deserializer registered for ${P}`)}return R}static _getDeserializerForWithoutError(v,E){const P=v+"/"+E;const R=Ve.get(P);return R}serialize(v,E){let P=[Qe];let R=0;let $=new Map;const addReferenceable=v=>{$.set(v,R++)};let N=new Map;const dedupeBuffer=v=>{const E=v.length;const P=N.get(E);if(P===undefined){N.set(E,v);return v}if(Buffer.isBuffer(P)){if(E<32){if(v.equals(P)){return P}N.set(E,[P,v]);return v}else{const R=toHash(P,this._hashFunction);const $=new Map;$.set(R,P);N.set(E,$);const L=toHash(v,this._hashFunction);if(R===L){return P}return v}}else if(Array.isArray(P)){if(P.length<16){for(const E of P){if(v.equals(E)){return E}}P.push(v);return v}else{const R=new Map;const $=toHash(v,this._hashFunction);let L;for(const v of P){const E=toHash(v,this._hashFunction);R.set(E,v);if(L===undefined&&E===$)L=v}N.set(E,R);if(L===undefined){R.set($,v);return v}else{return L}}}else{const E=toHash(v,this._hashFunction);const R=P.get(E);if(R!==undefined){return R}P.set(E,v);return v}};let L=0;let q=new Map;const K=new Set;const stackToString=v=>{const E=Array.from(K);E.push(v);return E.map((v=>{if(typeof v==="string"){if(v.length>100){return`String ${JSON.stringify(v.slice(0,100)).slice(0,-1)}..."`}return`String ${JSON.stringify(v)}`}try{const{request:E,name:P}=ObjectMiddleware.getSerializerFor(v);if(E){return`${E}${P?`.${P}`:""}`}}catch(v){}if(typeof v==="object"&&v!==null){if(v.constructor){if(v.constructor===Object)return`Object { ${Object.keys(v).join(", ")} }`;if(v.constructor===Map)return`Map { ${v.size} items }`;if(v.constructor===Array)return`Array { ${v.length} items }`;if(v.constructor===Set)return`Set { ${v.size} items }`;if(v.constructor===RegExp)return v.toString();return`${v.constructor.name}`}return`Object [null prototype] { ${Object.keys(v).join(", ")} }`}if(typeof v==="bigint"){return`BigInt ${v}n`}try{return`${v}`}catch(v){return`(${v.message})`}})).join(" -> ")};let ae;let ge={write(v,E){try{process(v)}catch(E){if(E!==Ye){if(ae===undefined)ae=new WeakSet;if(!ae.has(E)){E.message+=`\nwhile serializing ${stackToString(v)}`;ae.add(E)}}throw E}},setCircularReference(v){addReferenceable(v)},snapshot(){return{length:P.length,cycleStackSize:K.size,referenceableSize:$.size,currentPos:R,objectTypeLookupSize:q.size,currentPosTypeLookup:L}},rollback(v){P.length=v.length;setSetSize(K,v.cycleStackSize);setMapSize($,v.referenceableSize);R=v.currentPos;setMapSize(q,v.objectTypeLookupSize);L=v.currentPosTypeLookup},...E};this.extendContext(ge);const process=v=>{if(Buffer.isBuffer(v)){const E=$.get(v);if(E!==undefined){P.push(ve,E-R);return}const N=dedupeBuffer(v);if(N!==v){const E=$.get(N);if(E!==undefined){$.set(v,E);P.push(ve,E-R);return}v=N}addReferenceable(v);P.push(v)}else if(v===ve){P.push(ve,Ae)}else if(typeof v==="object"){const E=$.get(v);if(E!==undefined){P.push(ve,E-R);return}if(K.has(v)){throw new Error(`This is a circular references. To serialize circular references use 'setCircularReference' somewhere in the circle during serialize and deserialize.`)}const{request:N,name:ae,serializer:be}=ObjectMiddleware.getSerializerFor(v);const xe=`${N}/${ae}`;const Ae=q.get(xe);if(Ae===undefined){q.set(xe,L++);P.push(ve,N,ae)}else{P.push(ve,L-Ae)}K.add(v);try{be.serialize(v,ge)}finally{K.delete(v)}P.push(ve,Ie);addReferenceable(v)}else if(typeof v==="string"){if(v.length>1){const E=$.get(v);if(E!==undefined){P.push(ve,E-R);return}addReferenceable(v)}if(v.length>102400&&E.logger){E.logger.warn(`Serializing big strings (${Math.round(v.length/1024)}kiB) impacts deserialization performance (consider using Buffer instead and decode when needed)`)}P.push(v)}else if(typeof v==="function"){if(!be.isLazy(v))throw new Error("Unexpected function "+v);const R=be.getLazySerializedValue(v);if(R!==undefined){if(typeof R==="function"){P.push(R)}else{throw new Error("Not implemented")}}else if(be.isLazy(v,this)){throw new Error("Not implemented")}else{const R=be.serializeLazy(v,(v=>this.serialize([v],E)));be.setLazySerializedValue(v,R);P.push(R)}}else if(v===undefined){P.push(ve,He)}else{P.push(v)}};try{for(const E of v){process(E)}return P}catch(v){if(v===Ye)return null;throw v}finally{v=P=$=N=q=ge=undefined}}deserialize(v,E){let P=0;const read=()=>{if(P>=v.length)throw new Error("Unexpected end of stream");return v[P++]};if(read()!==Qe)throw new Error("Version mismatch, serializer changed");let R=0;let $=[];const addReferenceable=v=>{$.push(v);R++};let N=0;let L=[];let q=[];let K={read(){return decodeValue()},setCircularReference(v){addReferenceable(v)},...E};this.extendContext(K);const decodeValue=()=>{const v=read();if(v===ve){const v=read();if(v===Ae){return ve}else if(v===He){return undefined}else if(v===Ie){throw new Error(`Unexpected end of object at position ${P-1}`)}else{const E=v;let q;if(typeof E==="number"){if(E<0){return $[R+E]}q=L[N-E]}else{if(typeof E!=="string"){throw new Error(`Unexpected type (${typeof E}) of request `+`at position ${P-1}`)}const v=read();q=ObjectMiddleware._getDeserializerForWithoutError(E,v);if(q===undefined){if(E&&!Ke.has(E)){let v=false;for(const[P,R]of Ze){if(P.test(E)){if(R(E)){v=true;break}}}if(!v){require(E)}Ke.add(E)}q=ObjectMiddleware.getDeserializerFor(E,v)}L.push(q);N++}try{const v=q.deserialize(K);const E=read();if(E!==ve){throw new Error("Expected end of object")}const P=read();if(P!==Ie){throw new Error("Expected end of object")}addReferenceable(v);return v}catch(v){let E;for(const v of Je){if(v[1].serializer===q){E=v;break}}const P=!E?"unknown":!E[1].request?E[0].name:E[1].name?`${E[1].request} ${E[1].name}`:E[1].request;v.message+=`\n(during deserialization of ${P})`;throw v}}}else if(typeof v==="string"){if(v.length>1){addReferenceable(v)}return v}else if(Buffer.isBuffer(v)){addReferenceable(v);return v}else if(typeof v==="function"){return be.deserializeLazy(v,(v=>this.deserialize(v,E)[0]))}else{return v}};try{while(P{let R=E.get(P);if(R===undefined){R=new ObjectStructure;E.set(P,R)}let $=R;for(const E of v){$=$.key(E)}return $.getKeys(v)};class PlainObjectSerializer{serialize(v,E){const P=Object.keys(v);if(P.length>128){E.write(P);for(const R of P){E.write(v[R])}}else if(P.length>1){E.write(getCachedKeys(P,E.write));for(const R of P){E.write(v[R])}}else if(P.length===1){const R=P[0];E.write(R);E.write(v[R])}else{E.write(null)}}deserialize(v){const E=v.read();const P={};if(Array.isArray(E)){for(const R of E){P[R]=v.read()}}else if(E!==null){P[E]=v.read()}return P}}v.exports=PlainObjectSerializer},59225:function(v){"use strict";class RegExpObjectSerializer{serialize(v,E){E.write(v.source);E.write(v.flags)}deserialize(v){return new RegExp(v.read(),v.read())}}v.exports=RegExpObjectSerializer},97075:function(v){"use strict";class Serializer{constructor(v,E){this.serializeMiddlewares=v.slice();this.deserializeMiddlewares=v.slice().reverse();this.context=E}serialize(v,E){const P={...E,...this.context};let R=v;for(const v of this.serializeMiddlewares){if(R&&typeof R.then==="function"){R=R.then((E=>E&&v.serialize(E,P)))}else if(R){try{R=v.serialize(R,P)}catch(v){R=Promise.reject(v)}}else break}return R}deserialize(v,E){const P={...E,...this.context};let R=v;for(const v of this.deserializeMiddlewares){if(R&&typeof R.then==="function"){R=R.then((E=>v.deserialize(E,P)))}else{R=v.deserialize(R,P)}}return R}}v.exports=Serializer},65437:function(v,E,P){"use strict";const R=P(49584);const $=Symbol("lazy serialization target");const N=Symbol("lazy serialization data");class SerializerMiddleware{serialize(v,E){const R=P(86478);throw new R}deserialize(v,E){const R=P(86478);throw new R}static createLazy(v,E,P={},R){if(SerializerMiddleware.isLazy(v,E))return v;const L=typeof v==="function"?v:()=>v;L[$]=E;L.options=P;L[N]=R;return L}static isLazy(v,E){if(typeof v!=="function")return false;const P=v[$];return E?P===E:!!P}static getLazyOptions(v){if(typeof v!=="function")return undefined;return v.options}static getLazySerializedValue(v){if(typeof v!=="function")return undefined;return v[N]}static setLazySerializedValue(v,E){v[N]=E}static serializeLazy(v,E){const P=R((()=>{const P=v();if(P&&typeof P.then==="function"){return P.then((v=>v&&E(v)))}return E(P)}));P[$]=v[$];P.options=v.options;v[N]=P;return P}static deserializeLazy(v,E){const P=R((()=>{const P=v();if(P&&typeof P.then==="function"){return P.then((v=>E(v)))}return E(P)}));P[$]=v[$];P.options=v.options;P[N]=v;return P}static unMemoizeLazy(v){if(!SerializerMiddleware.isLazy(v))return v;const fn=()=>{throw new Error("A lazy value that has been unmemorized can't be called again")};fn[N]=SerializerMiddleware.unMemoizeLazy(v[N]);fn[$]=v[$];fn.options=v.options;return fn}}v.exports=SerializerMiddleware},76272:function(v){"use strict";class SetObjectSerializer{serialize(v,E){E.write(v.size);for(const P of v){E.write(P)}}deserialize(v){let E=v.read();const P=new Set;for(let R=0;RP(34446)),{name:"Consume Shared Plugin",baseDataPath:"options"});const Ve={dependencyType:"esm"};const Ke="ConsumeSharedPlugin";class ConsumeSharedPlugin{constructor(v){if(typeof v!=="string"){Je(v)}this._consumes=L(v.consumes,((E,P)=>{if(Array.isArray(E))throw new Error("Unexpected array in options");let R=E===P||!Ie(E)?{import:P,shareScope:v.shareScope||"default",shareKey:P,requiredVersion:undefined,packageName:undefined,strictVersion:false,singleton:false,eager:false}:{import:P,shareScope:v.shareScope||"default",shareKey:P,requiredVersion:ae(E),strictVersion:true,packageName:undefined,singleton:false,eager:false};return R}),((E,P)=>({import:E.import===false?undefined:E.import||P,shareScope:E.shareScope||v.shareScope||"default",shareKey:E.shareKey||P,requiredVersion:typeof E.requiredVersion==="string"?ae(E.requiredVersion):E.requiredVersion,strictVersion:typeof E.strictVersion==="boolean"?E.strictVersion:E.import!==false&&!E.singleton,packageName:E.packageName,singleton:!!E.singleton,eager:!!E.eager})))}apply(v){v.hooks.thisCompilation.tap(Ke,((E,{normalModuleFactory:P})=>{E.dependencyFactories.set(ge,P);let L,K,Ie;const Je=Ae(E,this._consumes).then((({resolved:v,unresolved:E,prefixed:P})=>{K=v;L=E;Ie=P}));const Ye=E.resolverFactory.get("normal",Ve);const createConsumeSharedModule=(P,$,L)=>{const requiredVersionWarning=v=>{const P=new N(`No required version specified and unable to automatically determine one. ${v}`);P.file=`shared module ${$}`;E.warnings.push(P)};const K=L.import&&/^(\.\.?(\/|$)|\/|[A-Za-z]:|\\\\)/.test(L.import);return Promise.all([new Promise((N=>{if(!L.import)return N();const ae={fileDependencies:new q,contextDependencies:new q,missingDependencies:new q};Ye.resolve({},K?v.context:P,L.import,ae,((v,P)=>{E.contextDependencies.addAll(ae.contextDependencies);E.fileDependencies.addAll(ae.fileDependencies);E.missingDependencies.addAll(ae.missingDependencies);if(v){E.errors.push(new R(null,v,{name:`resolving fallback for shared module ${$}`}));return N()}N(P)}))})),new Promise((v=>{if(L.requiredVersion!==undefined)return v(L.requiredVersion);let R=L.packageName;if(R===undefined){if(/^(\/|[A-Za-z]:|\\\\)/.test($)){return v()}const E=/^((?:@[^\\/]+[\\/])?[^\\/]+)/.exec($);if(!E){requiredVersionWarning("Unable to extract the package name from request.");return v()}R=E[0]}He(E.inputFileSystem,P,["package.json"],((E,$)=>{if(E){requiredVersionWarning(`Unable to read description file: ${E}`);return v()}const{data:N,path:L}=$;if(!N){requiredVersionWarning(`Unable to find description file in ${P}.`);return v()}if(N.name===R){return v()}const q=Qe(N,R);if(typeof q!=="string"){requiredVersionWarning(`Unable to find required version for "${R}" in description file (${L}). It need to be in dependencies, devDependencies or peerDependencies.`);return v()}v(ae(q))}))}))]).then((([E,R])=>new be(K?v.context:P,{...L,importResolved:E,import:E?L.import:undefined,requiredVersion:R})))};P.hooks.factorize.tapPromise(Ke,(({context:v,request:E,dependencies:P})=>Je.then((()=>{if(P[0]instanceof ge||P[0]instanceof ve){return}const R=L.get(E);if(R!==undefined){return createConsumeSharedModule(v,E,R)}for(const[P,R]of Ie){if(E.startsWith(P)){const $=E.slice(P.length);return createConsumeSharedModule(v,E,{...R,import:R.import?R.import+$:undefined,shareKey:R.shareKey+$})}}}))));P.hooks.createModule.tapPromise(Ke,(({resource:v},{context:E,dependencies:P})=>{if(P[0]instanceof ge||P[0]instanceof ve){return Promise.resolve()}const R=K.get(v);if(R!==undefined){return createConsumeSharedModule(E,v,R)}return Promise.resolve()}));E.hooks.additionalTreeRuntimeRequirements.tap(Ke,((v,P)=>{P.add($.module);P.add($.moduleCache);P.add($.moduleFactoriesAddOnly);P.add($.shareScopeMap);P.add($.initializeSharing);P.add($.hasOwnProperty);E.addRuntimeModule(v,new xe(P))}))}))}}v.exports=ConsumeSharedPlugin},4551:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);const N=P(35600);const{parseVersionRuntimeCode:L,versionLtRuntimeCode:q,rangeToStringRuntimeCode:K,satisfyRuntimeCode:ae}=P(44281);class ConsumeSharedRuntimeModule extends ${constructor(v){super("consumes",$.STAGE_ATTACH);this._runtimeRequirements=v}generate(){const v=this.compilation;const E=this.chunkGraph;const{runtimeTemplate:P,codeGenerationResults:$}=v;const ge={};const be=new Map;const xe=[];const addModules=(v,P,R)=>{for(const N of v){const v=N;const L=E.getModuleId(v);R.push(L);be.set(L,$.getSource(v,P.runtime,"consume-shared"))}};for(const v of this.chunk.getAllAsyncChunks()){const P=E.getChunkModulesIterableBySourceType(v,"consume-shared");if(!P)continue;addModules(P,v,ge[v.id]=[])}for(const v of this.chunk.getAllInitialChunks()){const P=E.getChunkModulesIterableBySourceType(v,"consume-shared");if(!P)continue;addModules(P,v,xe)}if(be.size===0)return null;return N.asString([L(P),q(P),K(P),ae(P),`var ensureExistence = ${P.basicFunction("scopeName, key",[`var scope = ${R.shareScopeMap}[scopeName];`,`if(!scope || !${R.hasOwnProperty}(scope, key)) throw new Error("Shared module " + key + " doesn't exist in shared scope " + scopeName);`,"return scope;"])};`,`var findVersion = ${P.basicFunction("scope, key",["var versions = scope[key];",`var key = Object.keys(versions).reduce(${P.basicFunction("a, b",["return !a || versionLt(a, b) ? b : a;"])}, 0);`,"return key && versions[key]"])};`,`var findSingletonVersionKey = ${P.basicFunction("scope, key",["var versions = scope[key];",`return Object.keys(versions).reduce(${P.basicFunction("a, b",["return !a || (!versions[a].loaded && versionLt(a, b)) ? b : a;"])}, 0);`])};`,`var getInvalidSingletonVersionMessage = ${P.basicFunction("scope, key, version, requiredVersion",[`return "Unsatisfied version " + version + " from " + (version && scope[key][version].from) + " of shared singleton module " + key + " (required " + rangeToString(requiredVersion) + ")"`])};`,`var getSingleton = ${P.basicFunction("scope, scopeName, key, requiredVersion",["var version = findSingletonVersionKey(scope, key);","return get(scope[key][version]);"])};`,`var getSingletonVersion = ${P.basicFunction("scope, scopeName, key, requiredVersion",["var version = findSingletonVersionKey(scope, key);","if (!satisfy(requiredVersion, version)) warn(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));","return get(scope[key][version]);"])};`,`var getStrictSingletonVersion = ${P.basicFunction("scope, scopeName, key, requiredVersion",["var version = findSingletonVersionKey(scope, key);","if (!satisfy(requiredVersion, version)) "+"throw new Error(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));","return get(scope[key][version]);"])};`,`var findValidVersion = ${P.basicFunction("scope, key, requiredVersion",["var versions = scope[key];",`var key = Object.keys(versions).reduce(${P.basicFunction("a, b",["if (!satisfy(requiredVersion, b)) return a;","return !a || versionLt(a, b) ? b : a;"])}, 0);`,"return key && versions[key]"])};`,`var getInvalidVersionMessage = ${P.basicFunction("scope, scopeName, key, requiredVersion",["var versions = scope[key];",'return "No satisfying version (" + rangeToString(requiredVersion) + ") of shared module " + key + " found in shared scope " + scopeName + ".\\n" +',`\t"Available versions: " + Object.keys(versions).map(${P.basicFunction("key",['return key + " from " + versions[key].from;'])}).join(", ");`])};`,`var getValidVersion = ${P.basicFunction("scope, scopeName, key, requiredVersion",["var entry = findValidVersion(scope, key, requiredVersion);","if(entry) return get(entry);","throw new Error(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));"])};`,`var warn = ${v.outputOptions.ignoreBrowserWarnings?P.basicFunction("",""):P.basicFunction("msg",['if (typeof console !== "undefined" && console.warn) console.warn(msg);'])};`,`var warnInvalidVersion = ${P.basicFunction("scope, scopeName, key, requiredVersion",["warn(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));"])};`,`var get = ${P.basicFunction("entry",["entry.loaded = 1;","return entry.get()"])};`,`var init = ${P.returningFunction(N.asString(["function(scopeName, a, b, c) {",N.indent([`var promise = ${R.initializeSharing}(scopeName);`,`if (promise && promise.then) return promise.then(fn.bind(fn, scopeName, ${R.shareScopeMap}[scopeName], a, b, c));`,`return fn(scopeName, ${R.shareScopeMap}[scopeName], a, b, c);`]),"}"]),"fn")};`,"",`var load = /*#__PURE__*/ init(${P.basicFunction("scopeName, scope, key",["ensureExistence(scopeName, key);","return get(findVersion(scope, key));"])});`,`var loadFallback = /*#__PURE__*/ init(${P.basicFunction("scopeName, scope, key, fallback",[`return scope && ${R.hasOwnProperty}(scope, key) ? get(findVersion(scope, key)) : fallback();`])});`,`var loadVersionCheck = /*#__PURE__*/ init(${P.basicFunction("scopeName, scope, key, version",["ensureExistence(scopeName, key);","return get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));"])});`,`var loadSingleton = /*#__PURE__*/ init(${P.basicFunction("scopeName, scope, key",["ensureExistence(scopeName, key);","return getSingleton(scope, scopeName, key);"])});`,`var loadSingletonVersionCheck = /*#__PURE__*/ init(${P.basicFunction("scopeName, scope, key, version",["ensureExistence(scopeName, key);","return getSingletonVersion(scope, scopeName, key, version);"])});`,`var loadStrictVersionCheck = /*#__PURE__*/ init(${P.basicFunction("scopeName, scope, key, version",["ensureExistence(scopeName, key);","return getValidVersion(scope, scopeName, key, version);"])});`,`var loadStrictSingletonVersionCheck = /*#__PURE__*/ init(${P.basicFunction("scopeName, scope, key, version",["ensureExistence(scopeName, key);","return getStrictSingletonVersion(scope, scopeName, key, version);"])});`,`var loadVersionCheckFallback = /*#__PURE__*/ init(${P.basicFunction("scopeName, scope, key, version, fallback",[`if(!scope || !${R.hasOwnProperty}(scope, key)) return fallback();`,"return get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));"])});`,`var loadSingletonFallback = /*#__PURE__*/ init(${P.basicFunction("scopeName, scope, key, fallback",[`if(!scope || !${R.hasOwnProperty}(scope, key)) return fallback();`,"return getSingleton(scope, scopeName, key);"])});`,`var loadSingletonVersionCheckFallback = /*#__PURE__*/ init(${P.basicFunction("scopeName, scope, key, version, fallback",[`if(!scope || !${R.hasOwnProperty}(scope, key)) return fallback();`,"return getSingletonVersion(scope, scopeName, key, version);"])});`,`var loadStrictVersionCheckFallback = /*#__PURE__*/ init(${P.basicFunction("scopeName, scope, key, version, fallback",[`var entry = scope && ${R.hasOwnProperty}(scope, key) && findValidVersion(scope, key, version);`,`return entry ? get(entry) : fallback();`])});`,`var loadStrictSingletonVersionCheckFallback = /*#__PURE__*/ init(${P.basicFunction("scopeName, scope, key, version, fallback",[`if(!scope || !${R.hasOwnProperty}(scope, key)) return fallback();`,"return getStrictSingletonVersion(scope, scopeName, key, version);"])});`,"var installedModules = {};","var moduleToHandlerMapping = {",N.indent(Array.from(be,(([v,E])=>`${JSON.stringify(v)}: ${E.source()}`)).join(",\n")),"};",xe.length>0?N.asString([`var initialConsumes = ${JSON.stringify(xe)};`,`initialConsumes.forEach(${P.basicFunction("id",[`${R.moduleFactories}[id] = ${P.basicFunction("module",["// Handle case when module is used sync","installedModules[id] = 0;",`delete ${R.moduleCache}[id];`,"var factory = moduleToHandlerMapping[id]();",'if(typeof factory !== "function") throw new Error("Shared module is not available for eager consumption: " + id);',`module.exports = factory();`])}`])});`]):"// no consumes in initial chunks",this._runtimeRequirements.has(R.ensureChunkHandlers)?N.asString([`var chunkMapping = ${JSON.stringify(ge,null,"\t")};`,"var startedInstallModules = {};",`${R.ensureChunkHandlers}.consumes = ${P.basicFunction("chunkId, promises",[`if(${R.hasOwnProperty}(chunkMapping, chunkId)) {`,N.indent([`chunkMapping[chunkId].forEach(${P.basicFunction("id",[`if(${R.hasOwnProperty}(installedModules, id)) return promises.push(installedModules[id]);`,"if(!startedInstallModules[id]) {",`var onFactory = ${P.basicFunction("factory",["installedModules[id] = 0;",`${R.moduleFactories}[id] = ${P.basicFunction("module",[`delete ${R.moduleCache}[id];`,"module.exports = factory();"])}`])};`,"startedInstallModules[id] = true;",`var onError = ${P.basicFunction("error",["delete installedModules[id];",`${R.moduleFactories}[id] = ${P.basicFunction("module",[`delete ${R.moduleCache}[id];`,"throw error;"])}`])};`,"try {",N.indent(["var promise = moduleToHandlerMapping[id]();","if(promise.then) {",N.indent("promises.push(installedModules[id] = promise.then(onFactory)['catch'](onError));"),"} else onFactory(promise);"]),"} catch(e) { onError(e); }","}"])});`]),"}"])}`]):"// no chunk loading of consumes"])}}v.exports=ConsumeSharedRuntimeModule},46079:function(v,E,P){"use strict";const R=P(52743);const $=P(74364);class ProvideForSharedDependency extends R{constructor(v){super(v)}get type(){return"provide module for shared"}get category(){return"esm"}}$(ProvideForSharedDependency,"webpack/lib/sharing/ProvideForSharedDependency");v.exports=ProvideForSharedDependency},28701:function(v,E,P){"use strict";const R=P(61803);const $=P(74364);class ProvideSharedDependency extends R{constructor(v,E,P,R,$){super();this.shareScope=v;this.name=E;this.version=P;this.request=R;this.eager=$}get type(){return"provide shared module"}getResourceIdentifier(){return`provide module (${this.shareScope}) ${this.request} as ${this.name} @ ${this.version}${this.eager?" (eager)":""}`}serialize(v){v.write(this.shareScope);v.write(this.name);v.write(this.request);v.write(this.version);v.write(this.eager);super.serialize(v)}static deserialize(v){const{read:E}=v;const P=new ProvideSharedDependency(E(),E(),E(),E(),E());this.shareScope=v.read();P.deserialize(v);return P}}$(ProvideSharedDependency,"webpack/lib/sharing/ProvideSharedDependency");v.exports=ProvideSharedDependency},2374:function(v,E,P){"use strict";const R=P(75165);const $=P(82919);const{WEBPACK_MODULE_TYPE_PROVIDE:N}=P(98791);const L=P(75189);const q=P(74364);const K=P(46079);const ae=new Set(["share-init"]);class ProvideSharedModule extends ${constructor(v,E,P,R,$){super(N);this._shareScope=v;this._name=E;this._version=P;this._request=R;this._eager=$}identifier(){return`provide module (${this._shareScope}) ${this._name}@${this._version} = ${this._request}`}readableIdentifier(v){return`provide shared module (${this._shareScope}) ${this._name}@${this._version} = ${v.shorten(this._request)}`}libIdent(v){return`${this.layer?`(${this.layer})/`:""}webpack/sharing/provide/${this._shareScope}/${this._name}`}needBuild(v,E){E(null,!this.buildInfo)}build(v,E,P,$,N){this.buildMeta={};this.buildInfo={strict:true};this.clearDependenciesAndBlocks();const L=new K(this._request);if(this._eager){this.addDependency(L)}else{const v=new R({});v.addDependency(L);this.addBlock(v)}N()}size(v){return 42}getSourceTypes(){return ae}codeGeneration({runtimeTemplate:v,moduleGraph:E,chunkGraph:P}){const R=new Set([L.initializeSharing]);const $=`register(${JSON.stringify(this._name)}, ${JSON.stringify(this._version||"0")}, ${this._eager?v.syncModuleFactory({dependency:this.dependencies[0],chunkGraph:P,request:this._request,runtimeRequirements:R}):v.asyncModuleFactory({block:this.blocks[0],chunkGraph:P,request:this._request,runtimeRequirements:R})}${this._eager?", 1":""});`;const N=new Map;const q=new Map;q.set("share-init",[{shareScope:this._shareScope,initStage:10,init:$}]);return{sources:N,data:q,runtimeRequirements:R}}serialize(v){const{write:E}=v;E(this._shareScope);E(this._name);E(this._version);E(this._request);E(this._eager);super.serialize(v)}static deserialize(v){const{read:E}=v;const P=new ProvideSharedModule(E(),E(),E(),E(),E());P.deserialize(v);return P}}q(ProvideSharedModule,"webpack/lib/sharing/ProvideSharedModule");v.exports=ProvideSharedModule},86270:function(v,E,P){"use strict";const R=P(18769);const $=P(2374);class ProvideSharedModuleFactory extends R{create(v,E){const P=v.dependencies[0];E(null,{module:new $(P.shareScope,P.name,P.version,P.request,P.eager)})}}v.exports=ProvideSharedModuleFactory},83367:function(v,E,P){"use strict";const R=P(45425);const{parseOptions:$}=P(48029);const N=P(86278);const L=P(46079);const q=P(28701);const K=P(86270);const ae=N(P(20942),(()=>P(34097)),{name:"Provide Shared Plugin",baseDataPath:"options"});class ProvideSharedPlugin{constructor(v){ae(v);this._provides=$(v.provides,(E=>{if(Array.isArray(E))throw new Error("Unexpected array of provides");const P={shareKey:E,version:undefined,shareScope:v.shareScope||"default",eager:false};return P}),(E=>({shareKey:E.shareKey,version:E.version,shareScope:E.shareScope||v.shareScope||"default",eager:!!E.eager})));this._provides.sort((([v],[E])=>{if(v{const $=new Map;const N=new Map;const L=new Map;for(const[v,E]of this._provides){if(/^(\/|[A-Za-z]:\\|\\\\|\.\.?(\/|$))/.test(v)){$.set(v,{config:E,version:E.version})}else if(/^(\/|[A-Za-z]:\\|\\\\)/.test(v)){$.set(v,{config:E,version:E.version})}else if(v.endsWith("/")){L.set(v,E)}else{N.set(v,E)}}E.set(v,$);const provideSharedModule=(E,P,N,L)=>{let q=P.version;if(q===undefined){let P="";if(!L){P=`No resolve data provided from resolver.`}else{const v=L.descriptionFileData;if(!v){P="No description file (usually package.json) found. Add description file with name and version, or manually specify version in shared config."}else if(!v.version){P=`No version in description file (usually package.json). Add version to description file ${L.descriptionFilePath}, or manually specify version in shared config.`}else{q=v.version}}if(!q){const $=new R(`No version specified and unable to automatically determine one. ${P}`);$.file=`shared module ${E} -> ${N}`;v.warnings.push($)}}$.set(N,{config:P,version:q})};P.hooks.module.tap("ProvideSharedPlugin",((v,{resource:E,resourceResolveData:P},R)=>{if($.has(E)){return v}const{request:q}=R;{const v=N.get(q);if(v!==undefined){provideSharedModule(q,v,E,P);R.cacheable=false}}for(const[v,$]of L){if(q.startsWith(v)){const N=q.slice(v.length);provideSharedModule(E,{...$,shareKey:$.shareKey+N},E,P);R.cacheable=false}}return v}))}));v.hooks.finishMake.tapPromise("ProvideSharedPlugin",(P=>{const R=E.get(P);if(!R)return Promise.resolve();return Promise.all(Array.from(R,(([E,{config:R,version:$}])=>new Promise(((N,L)=>{P.addInclude(v.context,new q(R.shareScope,R.shareKey,$||false,E,R.eager),{name:undefined},(v=>{if(v)return L(v);N()}))}))))).then((()=>{}))}));v.hooks.compilation.tap("ProvideSharedPlugin",((v,{normalModuleFactory:E})=>{v.dependencyFactories.set(L,E);v.dependencyFactories.set(q,new K)}))}}v.exports=ProvideSharedPlugin},93414:function(v,E,P){"use strict";const{parseOptions:R}=P(48029);const $=P(96084);const N=P(83367);const{isRequiredVersion:L}=P(2891);class SharePlugin{constructor(v){const E=R(v.shared,((v,E)=>{if(typeof v!=="string")throw new Error("Unexpected array in shared");const P=v===E||!L(v)?{import:v}:{import:E,requiredVersion:v};return P}),(v=>v));const P=E.map((([v,E])=>({[v]:{import:E.import,shareKey:E.shareKey||v,shareScope:E.shareScope,requiredVersion:E.requiredVersion,strictVersion:E.strictVersion,singleton:E.singleton,packageName:E.packageName,eager:E.eager}})));const $=E.filter((([,v])=>v.import!==false)).map((([v,E])=>({[E.import||v]:{shareKey:E.shareKey||v,shareScope:E.shareScope,version:E.version,eager:E.eager}})));this._shareScope=v.shareScope;this._consumes=P;this._provides=$}apply(v){new $({shareScope:this._shareScope,consumes:this._consumes}).apply(v);new N({shareScope:this._shareScope,provides:this._provides}).apply(v)}}v.exports=SharePlugin},17416:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);const N=P(35600);const{compareModulesByIdentifier:L,compareStrings:q}=P(80754);class ShareRuntimeModule extends ${constructor(){super("sharing")}generate(){const v=this.compilation;const{runtimeTemplate:E,codeGenerationResults:P,outputOptions:{uniqueName:$,ignoreBrowserWarnings:K}}=v;const ae=this.chunkGraph;const ge=new Map;for(const v of this.chunk.getAllReferencedChunks()){const E=ae.getOrderedChunkModulesIterableBySourceType(v,"share-init",L);if(!E)continue;for(const R of E){const E=P.getData(R,v.runtime,"share-init");if(!E)continue;for(const v of E){const{shareScope:E,initStage:P,init:R}=v;let $=ge.get(E);if($===undefined){ge.set(E,$=new Map)}let N=$.get(P||0);if(N===undefined){$.set(P||0,N=new Set)}N.add(R)}}}return N.asString([`${R.shareScopeMap} = {};`,"var initPromises = {};","var initTokens = {};",`${R.initializeSharing} = ${E.basicFunction("name, initScope",["if(!initScope) initScope = [];","// handling circular init calls","var initToken = initTokens[name];","if(!initToken) initToken = initTokens[name] = {};","if(initScope.indexOf(initToken) >= 0) return;","initScope.push(initToken);","// only runs once","if(initPromises[name]) return initPromises[name];","// creates a new share scope if needed",`if(!${R.hasOwnProperty}(${R.shareScopeMap}, name)) ${R.shareScopeMap}[name] = {};`,"// runs all init snippets from all modules reachable",`var scope = ${R.shareScopeMap}[name];`,`var warn = ${K?E.basicFunction("",""):E.basicFunction("msg",['if (typeof console !== "undefined" && console.warn) console.warn(msg);'])};`,`var uniqueName = ${JSON.stringify($||undefined)};`,`var register = ${E.basicFunction("name, version, factory, eager",["var versions = scope[name] = scope[name] || {};","var activeVersion = versions[version];","if(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };"])};`,`var initExternal = ${E.basicFunction("id",[`var handleError = ${E.expressionFunction('warn("Initialization of sharing external failed: " + err)',"err")};`,"try {",N.indent([`var module = ${R.require}(id);`,"if(!module) return;",`var initFn = ${E.returningFunction(`module && module.init && module.init(${R.shareScopeMap}[name], initScope)`,"module")}`,"if(module.then) return promises.push(module.then(initFn, handleError));","var initResult = initFn(module);","if(initResult && initResult.then) return promises.push(initResult['catch'](handleError));"]),"} catch(err) { handleError(err); }"])}`,"var promises = [];","switch(name) {",...Array.from(ge).sort((([v],[E])=>q(v,E))).map((([v,E])=>N.indent([`case ${JSON.stringify(v)}: {`,N.indent(Array.from(E).sort((([v],[E])=>v-E)).map((([,v])=>N.asString(Array.from(v))))),"}","break;"]))),"}","if(!promises.length) return initPromises[name] = 1;",`return initPromises[name] = Promise.all(promises).then(${E.returningFunction("initPromises[name] = 1")});`])};`])}}v.exports=ShareRuntimeModule},23964:function(v,E,P){"use strict";const R=P(41810);const $=P(95259);const N={dependencyType:"esm"};E.resolveMatchedConfigs=(v,E)=>{const P=new Map;const L=new Map;const q=new Map;const K={fileDependencies:new $,contextDependencies:new $,missingDependencies:new $};const ae=v.resolverFactory.get("normal",N);const ge=v.compiler.context;return Promise.all(E.map((([E,$])=>{if(/^\.\.?(\/|$)/.test(E)){return new Promise((N=>{ae.resolve({},ge,E,K,((L,q)=>{if(L||q===false){L=L||new Error(`Can't resolve ${E}`);v.errors.push(new R(null,L,{name:`shared module ${E}`}));return N()}P.set(q,$);N()}))}))}else if(/^(\/|[A-Za-z]:\\|\\\\)/.test(E)){P.set(E,$)}else if(E.endsWith("/")){q.set(E,$)}else{L.set(E,$)}}))).then((()=>{v.contextDependencies.addAll(K.contextDependencies);v.fileDependencies.addAll(K.fileDependencies);v.missingDependencies.addAll(K.missingDependencies);return{resolved:P,unresolved:L,prefixed:q}}))}},2891:function(v,E,P){"use strict";const{join:R,dirname:$,readJson:N}=P(23763);const L=/^[^/@:.\s][^/@:\s]*\/[^@:\s]*[^/@:\s]#\S+/;const q=/^(github|gitlab|bitbucket|gist):\/?[^/.]+\/?/i;const K=/^((git\+)?(ssh|https?|file)|git|github|gitlab|bitbucket|gist):$/i;const ae=/^((git\+)?(ssh|https?|file)|git):\/\//i;const ge=/#(?:semver:)?(.+)/;const be=/^(?:[^/.]+(\.[^/]+)+|localhost)$/;const xe=/([^/@#:.]+(?:\.[^/@#:.]+)+|localhost):([^#/0-9]+)/;const ve=/^([^/@#:.]+(?:\.[^/@#:.]+)+)/;const Ae=/^([\d^=v<>~]|[*xX]$)/;const Ie=["github:","gitlab:","bitbucket:","gist:","file:"];const He="git+ssh://";const Qe={"github.com":(v,E)=>{let[,P,R,$,N]=v.split("/",5);if($&&$!=="tree"){return}if(!$){N=E}else{N="#"+N}if(R&&R.endsWith(".git")){R=R.slice(0,-4)}if(!P||!R){return}return N},"gitlab.com":(v,E)=>{const P=v.slice(1);if(P.includes("/-/")||P.includes("/archive.tar.gz")){return}const R=P.split("/");let $=R.pop();if($.endsWith(".git")){$=$.slice(0,-4)}const N=R.join("/");if(!N||!$){return}return E},"bitbucket.org":(v,E)=>{let[,P,R,$]=v.split("/",4);if(["get"].includes($)){return}if(R&&R.endsWith(".git")){R=R.slice(0,-4)}if(!P||!R){return}return E},"gist.github.com":(v,E)=>{let[,P,R,$]=v.split("/",4);if($==="raw"){return}if(!R){if(!P){return}R=P}if(R.endsWith(".git")){R=R.slice(0,-4)}return E}};function getCommithash(v){let{hostname:E,pathname:P,hash:R}=v;E=E.replace(/^www\./,"");try{R=decodeURIComponent(R)}catch(v){}if(Qe[E]){return Qe[E](P,R)||""}return R}function correctUrl(v){return v.replace(xe,"$1/$2")}function correctProtocol(v){if(q.test(v)){return v}if(!ae.test(v)){return`${He}${v}`}return v}function getVersionFromHash(v){const E=v.match(ge);return E&&E[1]||""}function canBeDecoded(v){try{decodeURIComponent(v)}catch(v){return false}return true}function getGitUrlVersion(v){let E=v;if(L.test(v)){v="github:"+v}else{v=correctProtocol(v)}v=correctUrl(v);let P;try{P=new URL(v)}catch(v){}if(!P){return""}const{protocol:R,hostname:$,pathname:N,username:q,password:ae}=P;if(!K.test(R)){return""}if(!N||!canBeDecoded(N)){return""}if(ve.test(E)&&!q&&!ae){return""}if(!Ie.includes(R.toLowerCase())){if(!be.test($)){return""}const v=getCommithash(P);return getVersionFromHash(v)||v}return getVersionFromHash(v)}function isRequiredVersion(v){return Ae.test(v)}E.isRequiredVersion=isRequiredVersion;function normalizeVersion(v){v=v&&v.trim()||"";if(isRequiredVersion(v)){return v}return getGitUrlVersion(v.toLowerCase())}E.normalizeVersion=normalizeVersion;const getDescriptionFile=(v,E,P,L)=>{let q=0;const tryLoadCurrent=()=>{if(q>=P.length){const R=$(v,E);if(!R||R===E)return L();return getDescriptionFile(v,R,P,L)}const K=R(v,E,P[q]);N(v,K,((v,E)=>{if(v){if("code"in v&&v.code==="ENOENT"){q++;return tryLoadCurrent()}return L(v)}if(!E||typeof E!=="object"||Array.isArray(E)){return L(new Error(`Description file ${K} is not an object`))}L(null,{data:E,path:K})}))};tryLoadCurrent()};E.getDescriptionFile=getDescriptionFile;const getRequiredVersionFromDescriptionFile=(v,E)=>{const P=["optionalDependencies","dependencies","peerDependencies","devDependencies"];for(const R of P){if(v[R]&&typeof v[R]==="object"&&E in v[R]){return normalizeVersion(v[R][E])}}};E.getRequiredVersionFromDescriptionFile=getRequiredVersionFromDescriptionFile},71795:function(v,E,P){"use strict";const R=P(73837);const{WEBPACK_MODULE_TYPE_RUNTIME:$}=P(98791);const N=P(52743);const L=P(14703);const{LogType:q}=P(48340);const K=P(86660);const ae=P(19253);const{countIterable:ge}=P(99770);const{compareLocations:be,compareChunksById:xe,compareNumbers:ve,compareIds:Ae,concatComparators:Ie,compareSelect:He,compareModulesByIdentifier:Qe}=P(80754);const{makePathsRelative:Je,parseResource:Ve}=P(94778);const uniqueArray=(v,E)=>{const P=new Set;for(const R of v){for(const v of E(R)){P.add(v)}}return Array.from(P)};const uniqueOrderedArray=(v,E,P)=>uniqueArray(v,E).sort(P);const mapObject=(v,E)=>{const P=Object.create(null);for(const R of Object.keys(v)){P[R]=E(v[R],R)}return P};const countWithChildren=(v,E)=>{let P=E(v,"").length;for(const R of v.children){P+=countWithChildren(R,((v,P)=>E(v,`.children[].compilation${P}`)))}return P};const Ke={_:(v,E,P,{requestShortener:R})=>{if(typeof E==="string"){v.message=E}else{if(E.chunk){v.chunkName=E.chunk.name;v.chunkEntry=E.chunk.hasRuntime();v.chunkInitial=E.chunk.canBeInitial()}if(E.file){v.file=E.file}if(E.module){v.moduleIdentifier=E.module.identifier();v.moduleName=E.module.readableIdentifier(R)}if(E.loc){v.loc=L(E.loc)}v.message=E.message}},ids:(v,E,{compilation:{chunkGraph:P}})=>{if(typeof E!=="string"){if(E.chunk){v.chunkId=E.chunk.id}if(E.module){v.moduleId=P.getModuleId(E.module)}}},moduleTrace:(v,E,P,R,$)=>{if(typeof E!=="string"&&E.module){const{type:R,compilation:{moduleGraph:N}}=P;const L=new Set;const q=[];let K=E.module;while(K){if(L.has(K))break;L.add(K);const v=N.getIssuer(K);if(!v)break;q.push({origin:v,module:K});K=v}v.moduleTrace=$.create(`${R}.moduleTrace`,q,P)}},errorDetails:(v,E,{type:P,compilation:R,cachedGetErrors:$,cachedGetWarnings:N},{errorDetails:L})=>{if(typeof E!=="string"&&(L===true||P.endsWith(".error")&&$(R).length<3)){v.details=E.details}},errorStack:(v,E)=>{if(typeof E!=="string"){v.stack=E.stack}}};const Ye={compilation:{_:(v,E,R,$)=>{if(!R.makePathsRelative){R.makePathsRelative=Je.bindContextCache(E.compiler.context,E.compiler.root)}if(!R.cachedGetErrors){const v=new WeakMap;R.cachedGetErrors=E=>v.get(E)||(P=>(v.set(E,P),P))(E.getErrors())}if(!R.cachedGetWarnings){const v=new WeakMap;R.cachedGetWarnings=E=>v.get(E)||(P=>(v.set(E,P),P))(E.getWarnings())}if(E.name){v.name=E.name}if(E.needAdditionalPass){v.needAdditionalPass=true}const{logging:N,loggingDebug:L,loggingTrace:K}=$;if(N||L&&L.length>0){const R=P(73837);v.logging={};let ae;let ge=false;switch(N){default:ae=new Set;break;case"error":ae=new Set([q.error]);break;case"warn":ae=new Set([q.error,q.warn]);break;case"info":ae=new Set([q.error,q.warn,q.info]);break;case"log":ae=new Set([q.error,q.warn,q.info,q.log,q.group,q.groupEnd,q.groupCollapsed,q.clear]);break;case"verbose":ae=new Set([q.error,q.warn,q.info,q.log,q.group,q.groupEnd,q.groupCollapsed,q.profile,q.profileEnd,q.time,q.status,q.clear]);ge=true;break}const be=Je.bindContextCache($.context,E.compiler.root);let xe=0;for(const[P,$]of E.logging){const E=L.some((v=>v(P)));if(N===false&&!E)continue;const ve=[];const Ae=[];let Ie=Ae;let He=0;for(const v of $){let P=v.type;if(!E&&!ae.has(P))continue;if(P===q.groupCollapsed&&(E||ge))P=q.group;if(xe===0){He++}if(P===q.groupEnd){ve.pop();if(ve.length>0){Ie=ve[ve.length-1].children}else{Ie=Ae}if(xe>0)xe--;continue}let $=undefined;if(v.type===q.time){$=`${v.args[0]}: ${v.args[1]*1e3+v.args[2]/1e6} ms`}else if(v.args&&v.args.length>0){$=R.format(v.args[0],...v.args.slice(1))}const N={...v,type:P,message:$,trace:K?v.trace:undefined,children:P===q.group||P===q.groupCollapsed?[]:undefined};Ie.push(N);if(N.children){ve.push(N);Ie=N.children;if(xe>0){xe++}else if(P===q.groupCollapsed){xe=1}}}let Qe=be(P).replace(/\|/g," ");if(Qe in v.logging){let E=1;while(`${Qe}#${E}`in v.logging){E++}Qe=`${Qe}#${E}`}v.logging[Qe]={entries:Ae,filteredEntries:$.length-He,debug:E}}}},hash:(v,E)=>{v.hash=E.hash},version:v=>{v.version=P(98727).i8},env:(v,E,P,{_env:R})=>{v.env=R},timings:(v,E)=>{v.time=E.endTime-E.startTime},builtAt:(v,E)=>{v.builtAt=E.endTime},publicPath:(v,E)=>{v.publicPath=E.getPath(E.outputOptions.publicPath)},outputPath:(v,E)=>{v.outputPath=E.outputOptions.path},assets:(v,E,P,R,$)=>{const{type:N}=P;const L=new Map;const q=new Map;for(const v of E.chunks){for(const E of v.files){let P=L.get(E);if(P===undefined){P=[];L.set(E,P)}P.push(v)}for(const E of v.auxiliaryFiles){let P=q.get(E);if(P===undefined){P=[];q.set(E,P)}P.push(v)}}const K=new Map;const ae=new Set;for(const v of E.getAssets()){const E={...v,type:"asset",related:undefined};ae.add(E);K.set(v.name,E)}for(const v of K.values()){const E=v.info.related;if(!E)continue;for(const P of Object.keys(E)){const R=E[P];const $=Array.isArray(R)?R:[R];for(const E of $){const R=K.get(E);if(!R)continue;ae.delete(R);R.type=P;v.related=v.related||[];v.related.push(R)}}}v.assetsByChunkName={};for(const[E,P]of L){for(const R of P){const P=R.name;if(!P)continue;if(!Object.prototype.hasOwnProperty.call(v.assetsByChunkName,P)){v.assetsByChunkName[P]=[]}v.assetsByChunkName[P].push(E)}}const ge=$.create(`${N}.assets`,Array.from(ae),{...P,compilationFileToChunks:L,compilationAuxiliaryFileToChunks:q});const be=spaceLimited(ge,R.assetsSpace);v.assets=be.children;v.filteredAssets=be.filteredChildren},chunks:(v,E,P,R,$)=>{const{type:N}=P;v.chunks=$.create(`${N}.chunks`,Array.from(E.chunks),P)},modules:(v,E,P,R,$)=>{const{type:N}=P;const L=Array.from(E.modules);const q=$.create(`${N}.modules`,L,P);const K=spaceLimited(q,R.modulesSpace);v.modules=K.children;v.filteredModules=K.filteredChildren},entrypoints:(v,E,P,{entrypoints:R,chunkGroups:$,chunkGroupAuxiliary:N,chunkGroupChildren:L},q)=>{const{type:K}=P;const ae=Array.from(E.entrypoints,(([v,E])=>({name:v,chunkGroup:E})));if(R==="auto"&&!$){if(ae.length>5)return;if(!L&&ae.every((({chunkGroup:v})=>{if(v.chunks.length!==1)return false;const E=v.chunks[0];return E.files.size===1&&(!N||E.auxiliaryFiles.size===0)}))){return}}v.entrypoints=q.create(`${K}.entrypoints`,ae,P)},chunkGroups:(v,E,P,R,$)=>{const{type:N}=P;const L=Array.from(E.namedChunkGroups,(([v,E])=>({name:v,chunkGroup:E})));v.namedChunkGroups=$.create(`${N}.namedChunkGroups`,L,P)},errors:(v,E,P,R,$)=>{const{type:N,cachedGetErrors:L}=P;const q=L(E);const K=$.create(`${N}.errors`,L(E),P);let ae=0;if(R.errorDetails==="auto"&&q.length>=3){ae=q.map((v=>typeof v!=="string"&&v.details)).filter(Boolean).length}if(R.errorDetails===true||!Number.isFinite(R.errorsSpace)){v.errors=K;if(ae)v.filteredErrorDetailsCount=ae;return}const[ge,be]=errorsSpaceLimit(K,R.errorsSpace);v.filteredErrorDetailsCount=ae+be;v.errors=ge},errorsCount:(v,E,{cachedGetErrors:P})=>{v.errorsCount=countWithChildren(E,(v=>P(v)))},warnings:(v,E,P,R,$)=>{const{type:N,cachedGetWarnings:L}=P;const q=$.create(`${N}.warnings`,L(E),P);let K=0;if(R.errorDetails==="auto"){K=L(E).map((v=>typeof v!=="string"&&v.details)).filter(Boolean).length}if(R.errorDetails===true||!Number.isFinite(R.warningsSpace)){v.warnings=q;if(K)v.filteredWarningDetailsCount=K;return}const[ae,ge]=errorsSpaceLimit(q,R.warningsSpace);v.filteredWarningDetailsCount=K+ge;v.warnings=ae},warningsCount:(v,E,P,{warningsFilter:R},$)=>{const{type:N,cachedGetWarnings:L}=P;v.warningsCount=countWithChildren(E,((v,E)=>{if(!R&&R.length===0)return L(v);return $.create(`${N}${E}.warnings`,L(v),P).filter((v=>{const E=Object.keys(v).map((E=>`${v[E]}`)).join("\n");return!R.some((P=>P(v,E)))}))}))},children:(v,E,P,R,$)=>{const{type:N}=P;v.children=$.create(`${N}.children`,E.children,P)}},asset:{_:(v,E,P,R,$)=>{const{compilation:N}=P;v.type=E.type;v.name=E.name;v.size=E.source.size();v.emitted=N.emittedAssets.has(E.name);v.comparedForEmit=N.comparedForEmitAssets.has(E.name);const L=!v.emitted&&!v.comparedForEmit;v.cached=L;v.info=E.info;if(!L||R.cachedAssets){Object.assign(v,$.create(`${P.type}$visible`,E,P))}}},asset$visible:{_:(v,E,{compilation:P,compilationFileToChunks:R,compilationAuxiliaryFileToChunks:$})=>{const N=R.get(E.name)||[];const L=$.get(E.name)||[];v.chunkNames=uniqueOrderedArray(N,(v=>v.name?[v.name]:[]),Ae);v.chunkIdHints=uniqueOrderedArray(N,(v=>Array.from(v.idNameHints)),Ae);v.auxiliaryChunkNames=uniqueOrderedArray(L,(v=>v.name?[v.name]:[]),Ae);v.auxiliaryChunkIdHints=uniqueOrderedArray(L,(v=>Array.from(v.idNameHints)),Ae);v.filteredRelated=E.related?E.related.length:undefined},relatedAssets:(v,E,P,R,$)=>{const{type:N}=P;v.related=$.create(`${N.slice(0,-8)}.related`,E.related,P);v.filteredRelated=E.related?E.related.length-v.related.length:undefined},ids:(v,E,{compilationFileToChunks:P,compilationAuxiliaryFileToChunks:R})=>{const $=P.get(E.name)||[];const N=R.get(E.name)||[];v.chunks=uniqueOrderedArray($,(v=>v.ids),Ae);v.auxiliaryChunks=uniqueOrderedArray(N,(v=>v.ids),Ae)},performance:(v,E)=>{v.isOverSizeLimit=ae.isOverSizeLimit(E.source)}},chunkGroup:{_:(v,{name:E,chunkGroup:P},{compilation:R,compilation:{moduleGraph:$,chunkGraph:N}},{ids:L,chunkGroupAuxiliary:q,chunkGroupChildren:K,chunkGroupMaxAssets:ae})=>{const ge=K&&P.getChildrenByOrders($,N);const toAsset=v=>{const E=R.getAsset(v);return{name:v,size:E?E.info.size:-1}};const sizeReducer=(v,{size:E})=>v+E;const be=uniqueArray(P.chunks,(v=>v.files)).map(toAsset);const xe=uniqueOrderedArray(P.chunks,(v=>v.auxiliaryFiles),Ae).map(toAsset);const ve=be.reduce(sizeReducer,0);const Ie=xe.reduce(sizeReducer,0);const He={name:E,chunks:L?P.chunks.map((v=>v.id)):undefined,assets:be.length<=ae?be:undefined,filteredAssets:be.length<=ae?0:be.length,assetsSize:ve,auxiliaryAssets:q&&xe.length<=ae?xe:undefined,filteredAuxiliaryAssets:q&&xe.length<=ae?0:xe.length,auxiliaryAssetsSize:Ie,children:ge?mapObject(ge,(v=>v.map((v=>{const E=uniqueArray(v.chunks,(v=>v.files)).map(toAsset);const P=uniqueOrderedArray(v.chunks,(v=>v.auxiliaryFiles),Ae).map(toAsset);const R={name:v.name,chunks:L?v.chunks.map((v=>v.id)):undefined,assets:E.length<=ae?E:undefined,filteredAssets:E.length<=ae?0:E.length,auxiliaryAssets:q&&P.length<=ae?P:undefined,filteredAuxiliaryAssets:q&&P.length<=ae?0:P.length};return R})))):undefined,childAssets:ge?mapObject(ge,(v=>{const E=new Set;for(const P of v){for(const v of P.chunks){for(const P of v.files){E.add(P)}}}return Array.from(E)})):undefined};Object.assign(v,He)},performance:(v,{chunkGroup:E})=>{v.isOverSizeLimit=ae.isOverSizeLimit(E)}},module:{_:(v,E,P,R,$)=>{const{compilation:N,type:L}=P;const q=N.builtModules.has(E);const K=N.codeGeneratedModules.has(E);const ae=N.buildTimeExecutedModules.has(E);const ge={};for(const v of E.getSourceTypes()){ge[v]=E.size(v)}const be={type:"module",moduleType:E.type,layer:E.layer,size:E.size(),sizes:ge,built:q,codeGenerated:K,buildTimeExecuted:ae,cached:!q&&!K};Object.assign(v,be);if(q||K||R.cachedModules){Object.assign(v,$.create(`${L}$visible`,E,P))}}},module$visible:{_:(v,E,P,{requestShortener:R},$)=>{const{compilation:N,type:L,rootModules:q}=P;const{moduleGraph:K}=N;const ae=[];const be=K.getIssuer(E);let xe=be;while(xe){ae.push(xe);xe=K.getIssuer(xe)}ae.reverse();const ve=K.getProfile(E);const Ae=E.getErrors();const Ie=Ae!==undefined?ge(Ae):0;const He=E.getWarnings();const Qe=He!==undefined?ge(He):0;const Je={};for(const v of E.getSourceTypes()){Je[v]=E.size(v)}const Ve={identifier:E.identifier(),name:E.readableIdentifier(R),nameForCondition:E.nameForCondition(),index:K.getPreOrderIndex(E),preOrderIndex:K.getPreOrderIndex(E),index2:K.getPostOrderIndex(E),postOrderIndex:K.getPostOrderIndex(E),cacheable:E.buildInfo.cacheable,optional:E.isOptional(K),orphan:!L.endsWith("module.modules[].module$visible")&&N.chunkGraph.getNumberOfModuleChunks(E)===0,dependent:q?!q.has(E):undefined,issuer:be&&be.identifier(),issuerName:be&&be.readableIdentifier(R),issuerPath:be&&$.create(`${L.slice(0,-8)}.issuerPath`,ae,P),failed:Ie>0,errors:Ie,warnings:Qe};Object.assign(v,Ve);if(ve){v.profile=$.create(`${L.slice(0,-8)}.profile`,ve,P)}},ids:(v,E,{compilation:{chunkGraph:P,moduleGraph:R}})=>{v.id=P.getModuleId(E);const $=R.getIssuer(E);v.issuerId=$&&P.getModuleId($);v.chunks=Array.from(P.getOrderedModuleChunksIterable(E,xe),(v=>v.id))},moduleAssets:(v,E)=>{v.assets=E.buildInfo.assets?Object.keys(E.buildInfo.assets):[]},reasons:(v,E,P,R,$)=>{const{type:N,compilation:{moduleGraph:L}}=P;const q=$.create(`${N.slice(0,-8)}.reasons`,Array.from(L.getIncomingConnections(E)),P);const K=spaceLimited(q,R.reasonsSpace);v.reasons=K.children;v.filteredReasons=K.filteredChildren},usedExports:(v,E,{runtime:P,compilation:{moduleGraph:R}})=>{const $=R.getUsedExports(E,P);if($===null){v.usedExports=null}else if(typeof $==="boolean"){v.usedExports=$}else{v.usedExports=Array.from($)}},providedExports:(v,E,{compilation:{moduleGraph:P}})=>{const R=P.getProvidedExports(E);v.providedExports=Array.isArray(R)?R:null},optimizationBailout:(v,E,{compilation:{moduleGraph:P}},{requestShortener:R})=>{v.optimizationBailout=P.getOptimizationBailout(E).map((v=>{if(typeof v==="function")return v(R);return v}))},depth:(v,E,{compilation:{moduleGraph:P}})=>{v.depth=P.getDepth(E)},nestedModules:(v,E,P,R,$)=>{const{type:N}=P;const L=E.modules;if(Array.isArray(L)){const E=$.create(`${N.slice(0,-8)}.modules`,L,P);const q=spaceLimited(E,R.nestedModulesSpace);v.modules=q.children;v.filteredModules=q.filteredChildren}},source:(v,E)=>{const P=E.originalSource();if(P){v.source=P.source()}}},profile:{_:(v,E)=>{const P={total:E.factory+E.restoring+E.integration+E.building+E.storing,resolving:E.factory,restoring:E.restoring,building:E.building,integration:E.integration,storing:E.storing,additionalResolving:E.additionalFactories,additionalIntegration:E.additionalIntegration,factory:E.factory,dependencies:E.additionalFactories};Object.assign(v,P)}},moduleIssuer:{_:(v,E,P,{requestShortener:R},$)=>{const{compilation:N,type:L}=P;const{moduleGraph:q}=N;const K=q.getProfile(E);const ae={identifier:E.identifier(),name:E.readableIdentifier(R)};Object.assign(v,ae);if(K){v.profile=$.create(`${L}.profile`,K,P)}},ids:(v,E,{compilation:{chunkGraph:P}})=>{v.id=P.getModuleId(E)}},moduleReason:{_:(v,E,{runtime:P},{requestShortener:R})=>{const $=E.dependency;const q=$&&$ instanceof N?$:undefined;const K={moduleIdentifier:E.originModule?E.originModule.identifier():null,module:E.originModule?E.originModule.readableIdentifier(R):null,moduleName:E.originModule?E.originModule.readableIdentifier(R):null,resolvedModuleIdentifier:E.resolvedOriginModule?E.resolvedOriginModule.identifier():null,resolvedModule:E.resolvedOriginModule?E.resolvedOriginModule.readableIdentifier(R):null,type:E.dependency?E.dependency.type:null,active:E.isActive(P),explanation:E.explanation,userRequest:q&&q.userRequest||null};Object.assign(v,K);if(E.dependency){const P=L(E.dependency.loc);if(P){v.loc=P}}},ids:(v,E,{compilation:{chunkGraph:P}})=>{v.moduleId=E.originModule?P.getModuleId(E.originModule):null;v.resolvedModuleId=E.resolvedOriginModule?P.getModuleId(E.resolvedOriginModule):null}},chunk:{_:(v,E,{makePathsRelative:P,compilation:{chunkGraph:R}})=>{const $=E.getChildIdsByOrders(R);const N={rendered:E.rendered,initial:E.canBeInitial(),entry:E.hasRuntime(),recorded:K.wasChunkRecorded(E),reason:E.chunkReason,size:R.getChunkModulesSize(E),sizes:R.getChunkModulesSizes(E),names:E.name?[E.name]:[],idHints:Array.from(E.idNameHints),runtime:E.runtime===undefined?undefined:typeof E.runtime==="string"?[P(E.runtime)]:Array.from(E.runtime.sort(),P),files:Array.from(E.files),auxiliaryFiles:Array.from(E.auxiliaryFiles).sort(Ae),hash:E.renderedHash,childrenByOrder:$};Object.assign(v,N)},ids:(v,E)=>{v.id=E.id},chunkRelations:(v,E,{compilation:{chunkGraph:P}})=>{const R=new Set;const $=new Set;const N=new Set;for(const v of E.groupsIterable){for(const E of v.parentsIterable){for(const v of E.chunks){R.add(v.id)}}for(const E of v.childrenIterable){for(const v of E.chunks){$.add(v.id)}}for(const P of v.chunks){if(P!==E)N.add(P.id)}}v.siblings=Array.from(N).sort(Ae);v.parents=Array.from(R).sort(Ae);v.children=Array.from($).sort(Ae)},chunkModules:(v,E,P,R,$)=>{const{type:N,compilation:{chunkGraph:L}}=P;const q=L.getChunkModules(E);const K=$.create(`${N}.modules`,q,{...P,runtime:E.runtime,rootModules:new Set(L.getChunkRootModules(E))});const ae=spaceLimited(K,R.chunkModulesSpace);v.modules=ae.children;v.filteredModules=ae.filteredChildren},chunkOrigins:(v,E,P,R,$)=>{const{type:N,compilation:{chunkGraph:q}}=P;const K=new Set;const ae=[];for(const v of E.groupsIterable){ae.push(...v.origins)}const ge=ae.filter((v=>{const E=[v.module?q.getModuleId(v.module):undefined,L(v.loc),v.request].join();if(K.has(E))return false;K.add(E);return true}));v.origins=$.create(`${N}.origins`,ge,P)}},chunkOrigin:{_:(v,E,P,{requestShortener:R})=>{const $={module:E.module?E.module.identifier():"",moduleIdentifier:E.module?E.module.identifier():"",moduleName:E.module?E.module.readableIdentifier(R):"",loc:L(E.loc),request:E.request};Object.assign(v,$)},ids:(v,E,{compilation:{chunkGraph:P}})=>{v.moduleId=E.module?P.getModuleId(E.module):undefined}},error:Ke,warning:Ke,moduleTraceItem:{_:(v,{origin:E,module:P},R,{requestShortener:$},N)=>{const{type:L,compilation:{moduleGraph:q}}=R;v.originIdentifier=E.identifier();v.originName=E.readableIdentifier($);v.moduleIdentifier=P.identifier();v.moduleName=P.readableIdentifier($);const K=Array.from(q.getIncomingConnections(P)).filter((v=>v.resolvedOriginModule===E&&v.dependency)).map((v=>v.dependency));v.dependencies=N.create(`${L}.dependencies`,Array.from(new Set(K)),R)},ids:(v,{origin:E,module:P},{compilation:{chunkGraph:R}})=>{v.originId=R.getModuleId(E);v.moduleId=R.getModuleId(P)}},moduleTraceDependency:{_:(v,E)=>{v.loc=L(E.loc)}}};const Xe={"module.reasons":{"!orphanModules":(v,{compilation:{chunkGraph:E}})=>{if(v.originModule&&E.getNumberOfModuleChunks(v.originModule)===0){return false}}}};const Ze={"compilation.warnings":{warningsFilter:R.deprecate(((v,E,{warningsFilter:P})=>{const R=Object.keys(v).map((E=>`${v[E]}`)).join("\n");return!P.some((E=>E(v,R)))}),"config.stats.warningsFilter is deprecated in favor of config.ignoreWarnings","DEP_WEBPACK_STATS_WARNINGS_FILTER")}};const et={_:(v,{compilation:{moduleGraph:E}})=>{v.push(He((v=>E.getDepth(v)),ve),He((v=>E.getPreOrderIndex(v)),ve),He((v=>v.identifier()),Ae))}};const tt={"compilation.chunks":{_:v=>{v.push(He((v=>v.id),Ae))}},"compilation.modules":et,"chunk.rootModules":et,"chunk.modules":et,"module.modules":et,"module.reasons":{_:(v,{compilation:{chunkGraph:E}})=>{v.push(He((v=>v.originModule),Qe));v.push(He((v=>v.resolvedOriginModule),Qe));v.push(He((v=>v.dependency),Ie(He((v=>v.loc),be),He((v=>v.type),Ae))))}},"chunk.origins":{_:(v,{compilation:{chunkGraph:E}})=>{v.push(He((v=>v.module?E.getModuleId(v.module):undefined),Ae),He((v=>L(v.loc)),Ae),He((v=>v.request),Ae))}}};const getItemSize=v=>!v.children?1:v.filteredChildren?2+getTotalSize(v.children):1+getTotalSize(v.children);const getTotalSize=v=>{let E=0;for(const P of v){E+=getItemSize(P)}return E};const getTotalItems=v=>{let E=0;for(const P of v){if(!P.children&&!P.filteredChildren){E++}else{if(P.children)E+=getTotalItems(P.children);if(P.filteredChildren)E+=P.filteredChildren}}return E};const collapse=v=>{const E=[];for(const P of v){if(P.children){let v=P.filteredChildren||0;v+=getTotalItems(P.children);E.push({...P,children:undefined,filteredChildren:v})}else{E.push(P)}}return E};const spaceLimited=(v,E,P=false)=>{if(E<1){return{children:undefined,filteredChildren:getTotalItems(v)}}let R=undefined;let $=undefined;const N=[];const L=[];const q=[];let K=0;for(const E of v){if(!E.children&&!E.filteredChildren){q.push(E)}else{N.push(E);const v=getItemSize(E);L.push(v);K+=v}}if(K+q.length<=E){R=N.length>0?N.concat(q):q}else if(N.length===0){const v=E-(P?0:1);$=q.length-v;q.length=v;R=q}else{const ae=N.length+(P||q.length===0?0:1);if(ae0){const E=Math.max(...L);if(E{let P=0;if(v.length+1>=E)return[v.map((v=>{if(typeof v==="string"||!v.details)return v;P++;return{...v,details:""}})),P];let R=v.length;let $=v;let N=0;for(;NE){$=N>0?v.slice(0,N):[];const L=R-E+1;const q=v[N++];$.push({...q,details:q.details.split("\n").slice(0,-L).join("\n"),filteredDetails:L});P=v.length-N;for(;N{let P=0;for(const E of v){P+=E.size}return{size:P}};const moduleGroup=(v,E)=>{let P=0;const R={};for(const E of v){P+=E.size;for(const v of Object.keys(E.sizes)){R[v]=(R[v]||0)+E.sizes[v]}}return{size:P,sizes:R}};const reasonGroup=(v,E)=>{let P=false;for(const E of v){P=P||E.active}return{active:P}};const nt=/(\.[^.]+?)(?:\?|(?: \+ \d+ modules?)?$)/;const st=/(.+)[/\\][^/\\]+?(?:\?|(?: \+ \d+ modules?)?$)/;const rt={_:(v,E,P)=>{const groupByFlag=(E,P)=>{v.push({getKeys:v=>v[E]?["1"]:undefined,getOptions:()=>({groupChildren:!P,force:P}),createGroup:(v,R,$)=>P?{type:"assets by status",[E]:!!v,filteredChildren:$.length,...assetGroup(R,$)}:{type:"assets by status",[E]:!!v,children:R,...assetGroup(R,$)}})};const{groupAssetsByEmitStatus:R,groupAssetsByPath:$,groupAssetsByExtension:N}=P;if(R){groupByFlag("emitted");groupByFlag("comparedForEmit");groupByFlag("isOverSizeLimit")}if(R||!P.cachedAssets){groupByFlag("cached",!P.cachedAssets)}if($||N){v.push({getKeys:v=>{const E=N&&nt.exec(v.name);const P=E?E[1]:"";const R=$&&st.exec(v.name);const L=R?R[1].split(/[/\\]/):[];const q=[];if($){q.push(".");if(P)q.push(L.length?`${L.join("/")}/*${P}`:`*${P}`);while(L.length>0){q.push(L.join("/")+"/");L.pop()}}else{if(P)q.push(`*${P}`)}return q},createGroup:(v,E,P)=>({type:$?"assets by path":"assets by extension",name:v,children:E,...assetGroup(E,P)})})}},groupAssetsByInfo:(v,E,P)=>{const groupByAssetInfoFlag=E=>{v.push({getKeys:v=>v.info&&v.info[E]?["1"]:undefined,createGroup:(v,P,R)=>({type:"assets by info",info:{[E]:!!v},children:P,...assetGroup(P,R)})})};groupByAssetInfoFlag("immutable");groupByAssetInfoFlag("development");groupByAssetInfoFlag("hotModuleReplacement")},groupAssetsByChunk:(v,E,P)=>{const groupByNames=E=>{v.push({getKeys:v=>v[E],createGroup:(v,P,R)=>({type:"assets by chunk",[E]:[v],children:P,...assetGroup(P,R)})})};groupByNames("chunkNames");groupByNames("auxiliaryChunkNames");groupByNames("chunkIdHints");groupByNames("auxiliaryChunkIdHints")},excludeAssets:(v,E,{excludeAssets:P})=>{v.push({getKeys:v=>{const E=v.name;const R=P.some((P=>P(E,v)));if(R)return["excluded"]},getOptions:()=>({groupChildren:false,force:true}),createGroup:(v,E,P)=>({type:"hidden assets",filteredChildren:P.length,...assetGroup(E,P)})})}};const MODULES_GROUPERS=v=>({_:(v,E,P)=>{const groupByFlag=(E,P,R)=>{v.push({getKeys:v=>v[E]?["1"]:undefined,getOptions:()=>({groupChildren:!R,force:R}),createGroup:(v,$,N)=>({type:P,[E]:!!v,...R?{filteredChildren:N.length}:{children:$},...moduleGroup($,N)})})};const{groupModulesByCacheStatus:R,groupModulesByLayer:N,groupModulesByAttributes:L,groupModulesByType:q,groupModulesByPath:K,groupModulesByExtension:ae}=P;if(L){groupByFlag("errors","modules with errors");groupByFlag("warnings","modules with warnings");groupByFlag("assets","modules with assets");groupByFlag("optional","optional modules")}if(R){groupByFlag("cacheable","cacheable modules");groupByFlag("built","built modules");groupByFlag("codeGenerated","code generated modules")}if(R||!P.cachedModules){groupByFlag("cached","cached modules",!P.cachedModules)}if(L||!P.orphanModules){groupByFlag("orphan","orphan modules",!P.orphanModules)}if(L||!P.dependentModules){groupByFlag("dependent","dependent modules",!P.dependentModules)}if(q||!P.runtimeModules){v.push({getKeys:v=>{if(!v.moduleType)return;if(q){return[v.moduleType.split("/",1)[0]]}else if(v.moduleType===$){return[$]}},getOptions:v=>{const E=v===$&&!P.runtimeModules;return{groupChildren:!E,force:E}},createGroup:(v,E,R)=>{const N=v===$&&!P.runtimeModules;return{type:`${v} modules`,moduleType:v,...N?{filteredChildren:R.length}:{children:E},...moduleGroup(E,R)}}})}if(N){v.push({getKeys:v=>[v.layer],createGroup:(v,E,P)=>({type:"modules by layer",layer:v,children:E,...moduleGroup(E,P)})})}if(K||ae){v.push({getKeys:v=>{if(!v.name)return;const E=Ve(v.name.split("!").pop()).path;const P=/^data:[^,;]+/.exec(E);if(P)return[P[0]];const R=ae&&nt.exec(E);const $=R?R[1]:"";const N=K&&st.exec(E);const L=N?N[1].split(/[/\\]/):[];const q=[];if(K){if($)q.push(L.length?`${L.join("/")}/*${$}`:`*${$}`);while(L.length>0){q.push(L.join("/")+"/");L.pop()}}else{if($)q.push(`*${$}`)}return q},createGroup:(v,E,P)=>{const R=v.startsWith("data:");return{type:R?"modules by mime type":K?"modules by path":"modules by extension",name:R?v.slice(5):v,children:E,...moduleGroup(E,P)}}})}},excludeModules:(E,P,{excludeModules:R})=>{E.push({getKeys:E=>{const P=E.name;if(P){const $=R.some((R=>R(P,E,v)));if($)return["1"]}},getOptions:()=>({groupChildren:false,force:true}),createGroup:(v,E,P)=>({type:"hidden modules",filteredChildren:E.length,...moduleGroup(E,P)})})}});const ot={"compilation.assets":rt,"asset.related":rt,"compilation.modules":MODULES_GROUPERS("module"),"chunk.modules":MODULES_GROUPERS("chunk"),"chunk.rootModules":MODULES_GROUPERS("root-of-chunk"),"module.modules":MODULES_GROUPERS("nested"),"module.reasons":{groupReasonsByOrigin:v=>{v.push({getKeys:v=>[v.module],createGroup:(v,E,P)=>({type:"from origin",module:v,children:E,...reasonGroup(E,P)})})}}};const normalizeFieldKey=v=>{if(v[0]==="!"){return v.slice(1)}return v};const sortOrderRegular=v=>{if(v[0]==="!"){return false}return true};const sortByField=v=>{if(!v){const noSort=(v,E)=>0;return noSort}const E=normalizeFieldKey(v);let P=He((v=>v[E]),Ae);const R=sortOrderRegular(v);if(!R){const v=P;P=(E,P)=>v(P,E)}return P};const it={assetsSort:(v,E,{assetsSort:P})=>{v.push(sortByField(P))},_:v=>{v.push(He((v=>v.name),Ae))}};const at={"compilation.chunks":{chunksSort:(v,E,{chunksSort:P})=>{v.push(sortByField(P))}},"compilation.modules":{modulesSort:(v,E,{modulesSort:P})=>{v.push(sortByField(P))}},"chunk.modules":{chunkModulesSort:(v,E,{chunkModulesSort:P})=>{v.push(sortByField(P))}},"module.modules":{nestedModulesSort:(v,E,{nestedModulesSort:P})=>{v.push(sortByField(P))}},"compilation.assets":it,"asset.related":it};const iterateConfig=(v,E,P)=>{for(const R of Object.keys(v)){const $=v[R];for(const v of Object.keys($)){if(v!=="_"){if(v.startsWith("!")){if(E[v.slice(1)])continue}else{const P=E[v];if(P===false||P===undefined||Array.isArray(P)&&P.length===0)continue}}P(R,$[v])}}};const ct={"compilation.children[]":"compilation","compilation.modules[]":"module","compilation.entrypoints[]":"chunkGroup","compilation.namedChunkGroups[]":"chunkGroup","compilation.errors[]":"error","compilation.warnings[]":"warning","chunk.modules[]":"module","chunk.rootModules[]":"module","chunk.origins[]":"chunkOrigin","compilation.chunks[]":"chunk","compilation.assets[]":"asset","asset.related[]":"asset","module.issuerPath[]":"moduleIssuer","module.reasons[]":"moduleReason","module.modules[]":"module","module.children[]":"module","moduleTrace[]":"moduleTraceItem","moduleTraceItem.dependencies[]":"moduleTraceDependency"};const mergeToObject=v=>{const E=Object.create(null);for(const P of v){E[P.name]=P}return E};const lt={"compilation.entrypoints":mergeToObject,"compilation.namedChunkGroups":mergeToObject};class DefaultStatsFactoryPlugin{apply(v){v.hooks.compilation.tap("DefaultStatsFactoryPlugin",(v=>{v.hooks.statsFactory.tap("DefaultStatsFactoryPlugin",((E,P,R)=>{iterateConfig(Ye,P,((v,R)=>{E.hooks.extract.for(v).tap("DefaultStatsFactoryPlugin",((v,$,N)=>R(v,$,N,P,E)))}));iterateConfig(Xe,P,((v,R)=>{E.hooks.filter.for(v).tap("DefaultStatsFactoryPlugin",((v,E,$,N)=>R(v,E,P,$,N)))}));iterateConfig(Ze,P,((v,R)=>{E.hooks.filterResults.for(v).tap("DefaultStatsFactoryPlugin",((v,E,$,N)=>R(v,E,P,$,N)))}));iterateConfig(tt,P,((v,R)=>{E.hooks.sort.for(v).tap("DefaultStatsFactoryPlugin",((v,E)=>R(v,E,P)))}));iterateConfig(at,P,((v,R)=>{E.hooks.sortResults.for(v).tap("DefaultStatsFactoryPlugin",((v,E)=>R(v,E,P)))}));iterateConfig(ot,P,((v,R)=>{E.hooks.groupResults.for(v).tap("DefaultStatsFactoryPlugin",((v,E)=>R(v,E,P)))}));for(const v of Object.keys(ct)){const P=ct[v];E.hooks.getItemName.for(v).tap("DefaultStatsFactoryPlugin",(()=>P))}for(const v of Object.keys(lt)){const P=lt[v];E.hooks.merge.for(v).tap("DefaultStatsFactoryPlugin",P)}if(P.children){if(Array.isArray(P.children)){E.hooks.getItemFactory.for("compilation.children[].compilation").tap("DefaultStatsFactoryPlugin",((E,{_index:$})=>{if($$))}}}))}))}}v.exports=DefaultStatsFactoryPlugin},896:function(v,E,P){"use strict";const R=P(73276);const applyDefaults=(v,E)=>{for(const P of Object.keys(E)){if(typeof v[P]==="undefined"){v[P]=E[P]}}};const $={verbose:{hash:true,builtAt:true,relatedAssets:true,entrypoints:true,chunkGroups:true,ids:true,modules:false,chunks:true,chunkRelations:true,chunkModules:true,dependentModules:true,chunkOrigins:true,depth:true,env:true,reasons:true,usedExports:true,providedExports:true,optimizationBailout:true,errorDetails:true,errorStack:true,publicPath:true,logging:"verbose",orphanModules:true,runtimeModules:true,exclude:false,errorsSpace:Infinity,warningsSpace:Infinity,modulesSpace:Infinity,chunkModulesSpace:Infinity,assetsSpace:Infinity,reasonsSpace:Infinity,children:true},detailed:{hash:true,builtAt:true,relatedAssets:true,entrypoints:true,chunkGroups:true,ids:true,chunks:true,chunkRelations:true,chunkModules:false,chunkOrigins:true,depth:true,usedExports:true,providedExports:true,optimizationBailout:true,errorDetails:true,publicPath:true,logging:true,runtimeModules:true,exclude:false,errorsSpace:1e3,warningsSpace:1e3,modulesSpace:1e3,assetsSpace:1e3,reasonsSpace:1e3},minimal:{all:false,version:true,timings:true,modules:true,errorsSpace:0,warningsSpace:0,modulesSpace:0,assets:true,assetsSpace:0,errors:true,errorsCount:true,warnings:true,warningsCount:true,logging:"warn"},"errors-only":{all:false,errors:true,errorsCount:true,errorsSpace:Infinity,moduleTrace:true,logging:"error"},"errors-warnings":{all:false,errors:true,errorsCount:true,errorsSpace:Infinity,warnings:true,warningsCount:true,warningsSpace:Infinity,logging:"warn"},summary:{all:false,version:true,errorsCount:true,warningsCount:true},none:{all:false}};const NORMAL_ON=({all:v})=>v!==false;const NORMAL_OFF=({all:v})=>v===true;const ON_FOR_TO_STRING=({all:v},{forToString:E})=>E?v!==false:v===true;const OFF_FOR_TO_STRING=({all:v},{forToString:E})=>E?v===true:v!==false;const AUTO_FOR_TO_STRING=({all:v},{forToString:E})=>{if(v===false)return false;if(v===true)return true;if(E)return"auto";return true};const N={context:(v,E,P)=>P.compiler.context,requestShortener:(v,E,P)=>P.compiler.context===v.context?P.requestShortener:new R(v.context,P.compiler.root),performance:NORMAL_ON,hash:OFF_FOR_TO_STRING,env:NORMAL_OFF,version:NORMAL_ON,timings:NORMAL_ON,builtAt:OFF_FOR_TO_STRING,assets:NORMAL_ON,entrypoints:AUTO_FOR_TO_STRING,chunkGroups:OFF_FOR_TO_STRING,chunkGroupAuxiliary:OFF_FOR_TO_STRING,chunkGroupChildren:OFF_FOR_TO_STRING,chunkGroupMaxAssets:(v,{forToString:E})=>E?5:Infinity,chunks:OFF_FOR_TO_STRING,chunkRelations:OFF_FOR_TO_STRING,chunkModules:({all:v,modules:E})=>{if(v===false)return false;if(v===true)return true;if(E)return false;return true},dependentModules:OFF_FOR_TO_STRING,chunkOrigins:OFF_FOR_TO_STRING,ids:OFF_FOR_TO_STRING,modules:({all:v,chunks:E,chunkModules:P},{forToString:R})=>{if(v===false)return false;if(v===true)return true;if(R&&E&&P)return false;return true},nestedModules:OFF_FOR_TO_STRING,groupModulesByType:ON_FOR_TO_STRING,groupModulesByCacheStatus:ON_FOR_TO_STRING,groupModulesByLayer:ON_FOR_TO_STRING,groupModulesByAttributes:ON_FOR_TO_STRING,groupModulesByPath:ON_FOR_TO_STRING,groupModulesByExtension:ON_FOR_TO_STRING,modulesSpace:(v,{forToString:E})=>E?15:Infinity,chunkModulesSpace:(v,{forToString:E})=>E?10:Infinity,nestedModulesSpace:(v,{forToString:E})=>E?10:Infinity,relatedAssets:OFF_FOR_TO_STRING,groupAssetsByEmitStatus:ON_FOR_TO_STRING,groupAssetsByInfo:ON_FOR_TO_STRING,groupAssetsByPath:ON_FOR_TO_STRING,groupAssetsByExtension:ON_FOR_TO_STRING,groupAssetsByChunk:ON_FOR_TO_STRING,assetsSpace:(v,{forToString:E})=>E?15:Infinity,orphanModules:OFF_FOR_TO_STRING,runtimeModules:({all:v,runtime:E},{forToString:P})=>E!==undefined?E:P?v===true:v!==false,cachedModules:({all:v,cached:E},{forToString:P})=>E!==undefined?E:P?v===true:v!==false,moduleAssets:OFF_FOR_TO_STRING,depth:OFF_FOR_TO_STRING,cachedAssets:OFF_FOR_TO_STRING,reasons:OFF_FOR_TO_STRING,reasonsSpace:(v,{forToString:E})=>E?15:Infinity,groupReasonsByOrigin:ON_FOR_TO_STRING,usedExports:OFF_FOR_TO_STRING,providedExports:OFF_FOR_TO_STRING,optimizationBailout:OFF_FOR_TO_STRING,children:OFF_FOR_TO_STRING,source:NORMAL_OFF,moduleTrace:NORMAL_ON,errors:NORMAL_ON,errorsCount:NORMAL_ON,errorDetails:AUTO_FOR_TO_STRING,errorStack:OFF_FOR_TO_STRING,warnings:NORMAL_ON,warningsCount:NORMAL_ON,publicPath:OFF_FOR_TO_STRING,logging:({all:v},{forToString:E})=>E&&v!==false?"info":false,loggingDebug:()=>[],loggingTrace:OFF_FOR_TO_STRING,excludeModules:()=>[],excludeAssets:()=>[],modulesSort:()=>"depth",chunkModulesSort:()=>"name",nestedModulesSort:()=>false,chunksSort:()=>false,assetsSort:()=>"!size",outputPath:OFF_FOR_TO_STRING,colors:()=>false};const normalizeFilter=v=>{if(typeof v==="string"){const E=new RegExp(`[\\\\/]${v.replace(/[-[\]{}()*+?.\\^$|]/g,"\\$&")}([\\\\/]|$|!|\\?)`);return v=>E.test(v)}if(v&&typeof v==="object"&&typeof v.test==="function"){return E=>v.test(E)}if(typeof v==="function"){return v}if(typeof v==="boolean"){return()=>v}};const L={excludeModules:v=>{if(!Array.isArray(v)){v=v?[v]:[]}return v.map(normalizeFilter)},excludeAssets:v=>{if(!Array.isArray(v)){v=v?[v]:[]}return v.map(normalizeFilter)},warningsFilter:v=>{if(!Array.isArray(v)){v=v?[v]:[]}return v.map((v=>{if(typeof v==="string"){return(E,P)=>P.includes(v)}if(v instanceof RegExp){return(E,P)=>v.test(P)}if(typeof v==="function"){return v}throw new Error(`Can only filter warnings with Strings or RegExps. (Given: ${v})`)}))},logging:v=>{if(v===true)v="log";return v},loggingDebug:v=>{if(!Array.isArray(v)){v=v?[v]:[]}return v.map(normalizeFilter)}};class DefaultStatsPresetPlugin{apply(v){v.hooks.compilation.tap("DefaultStatsPresetPlugin",(v=>{for(const E of Object.keys($)){const P=$[E];v.hooks.statsPreset.for(E).tap("DefaultStatsPresetPlugin",((v,E)=>{applyDefaults(v,P)}))}v.hooks.statsNormalize.tap("DefaultStatsPresetPlugin",((E,P)=>{for(const R of Object.keys(N)){if(E[R]===undefined)E[R]=N[R](E,P,v)}for(const v of Object.keys(L)){E[v]=L[v](E[v])}}))}))}}v.exports=DefaultStatsPresetPlugin},40990:function(v,E,P){"use strict";const R=16;const $=80;const plural=(v,E,P)=>v===1?E:P;const printSizes=(v,{formatSize:E=(v=>`${v}`)})=>{const P=Object.keys(v);if(P.length>1){return P.map((P=>`${E(v[P])} (${P})`)).join(" ")}else if(P.length===1){return E(v[P[0]])}};const getResourceName=v=>{const E=/^data:[^,]+,/.exec(v);if(!E)return v;const P=E[0].length+R;if(v.length{const[,E,P]=/^(.*!)?([^!]*)$/.exec(v);if(P.length>$){const v=`${P.slice(0,Math.min(P.length-14,$))}...(truncated)`;return[E,getResourceName(v)]}return[E,getResourceName(P)]};const mapLines=(v,E)=>v.split("\n").map(E).join("\n");const twoDigit=v=>v>=10?`${v}`:`0${v}`;const isValidId=v=>typeof v==="number"||v;const moreCount=(v,E)=>v&&v.length>0?`+ ${E}`:`${E}`;const N={"compilation.summary!":(v,{type:E,bold:P,green:R,red:$,yellow:N,formatDateTime:L,formatTime:q,compilation:{name:K,hash:ae,version:ge,time:be,builtAt:xe,errorsCount:ve,warningsCount:Ae}})=>{const Ie=E==="compilation.summary!";const He=Ae>0?N(`${Ae} ${plural(Ae,"warning","warnings")}`):"";const Qe=ve>0?$(`${ve} ${plural(ve,"error","errors")}`):"";const Je=Ie&&be?` in ${q(be)}`:"";const Ve=ae?` (${ae})`:"";const Ke=Ie&&xe?`${L(xe)}: `:"";const Ye=Ie&&ge?`webpack ${ge}`:"";const Xe=Ie&&K?P(K):K?`Child ${P(K)}`:Ie?"":"Child";const Ze=Xe&&Ye?`${Xe} (${Ye})`:Ye||Xe||"webpack";let et;if(Qe&&He){et=`compiled with ${Qe} and ${He}`}else if(Qe){et=`compiled with ${Qe}`}else if(He){et=`compiled with ${He}`}else if(ve===0&&Ae===0){et=`compiled ${R("successfully")}`}else{et=`compiled`}if(Ke||Ye||Qe||He||ve===0&&Ae===0||Je||Ve)return`${Ke}${Ze} ${et}${Je}${Ve}`},"compilation.filteredWarningDetailsCount":v=>v?`${v} ${plural(v,"warning has","warnings have")} detailed information that is not shown.\nUse 'stats.errorDetails: true' resp. '--stats-error-details' to show it.`:undefined,"compilation.filteredErrorDetailsCount":(v,{yellow:E})=>v?E(`${v} ${plural(v,"error has","errors have")} detailed information that is not shown.\nUse 'stats.errorDetails: true' resp. '--stats-error-details' to show it.`):undefined,"compilation.env":(v,{bold:E})=>v?`Environment (--env): ${E(JSON.stringify(v,null,2))}`:undefined,"compilation.publicPath":(v,{bold:E})=>`PublicPath: ${E(v||"(none)")}`,"compilation.entrypoints":(v,E,P)=>Array.isArray(v)?undefined:P.print(E.type,Object.values(v),{...E,chunkGroupKind:"Entrypoint"}),"compilation.namedChunkGroups":(v,E,P)=>{if(!Array.isArray(v)){const{compilation:{entrypoints:R}}=E;let $=Object.values(v);if(R){$=$.filter((v=>!Object.prototype.hasOwnProperty.call(R,v.name)))}return P.print(E.type,$,{...E,chunkGroupKind:"Chunk Group"})}},"compilation.assetsByChunkName":()=>"","compilation.filteredModules":(v,{compilation:{modules:E}})=>v>0?`${moreCount(E,v)} ${plural(v,"module","modules")}`:undefined,"compilation.filteredAssets":(v,{compilation:{assets:E}})=>v>0?`${moreCount(E,v)} ${plural(v,"asset","assets")}`:undefined,"compilation.logging":(v,E,P)=>Array.isArray(v)?undefined:P.print(E.type,Object.entries(v).map((([v,E])=>({...E,name:v}))),E),"compilation.warningsInChildren!":(v,{yellow:E,compilation:P})=>{if(!P.children&&P.warningsCount>0&&P.warnings){const v=P.warningsCount-P.warnings.length;if(v>0){return E(`${v} ${plural(v,"WARNING","WARNINGS")} in child compilations${P.children?"":" (Use 'stats.children: true' resp. '--stats-children' for more details)"}`)}}},"compilation.errorsInChildren!":(v,{red:E,compilation:P})=>{if(!P.children&&P.errorsCount>0&&P.errors){const v=P.errorsCount-P.errors.length;if(v>0){return E(`${v} ${plural(v,"ERROR","ERRORS")} in child compilations${P.children?"":" (Use 'stats.children: true' resp. '--stats-children' for more details)"}`)}}},"asset.type":v=>v,"asset.name":(v,{formatFilename:E,asset:{isOverSizeLimit:P}})=>E(v,P),"asset.size":(v,{asset:{isOverSizeLimit:E},yellow:P,green:R,formatSize:$})=>E?P($(v)):$(v),"asset.emitted":(v,{green:E,formatFlag:P})=>v?E(P("emitted")):undefined,"asset.comparedForEmit":(v,{yellow:E,formatFlag:P})=>v?E(P("compared for emit")):undefined,"asset.cached":(v,{green:E,formatFlag:P})=>v?E(P("cached")):undefined,"asset.isOverSizeLimit":(v,{yellow:E,formatFlag:P})=>v?E(P("big")):undefined,"asset.info.immutable":(v,{green:E,formatFlag:P})=>v?E(P("immutable")):undefined,"asset.info.javascriptModule":(v,{formatFlag:E})=>v?E("javascript module"):undefined,"asset.info.sourceFilename":(v,{formatFlag:E})=>v?E(v===true?"from source file":`from: ${v}`):undefined,"asset.info.development":(v,{green:E,formatFlag:P})=>v?E(P("dev")):undefined,"asset.info.hotModuleReplacement":(v,{green:E,formatFlag:P})=>v?E(P("hmr")):undefined,"asset.separator!":()=>"\n","asset.filteredRelated":(v,{asset:{related:E}})=>v>0?`${moreCount(E,v)} related ${plural(v,"asset","assets")}`:undefined,"asset.filteredChildren":(v,{asset:{children:E}})=>v>0?`${moreCount(E,v)} ${plural(v,"asset","assets")}`:undefined,assetChunk:(v,{formatChunkId:E})=>E(v),assetChunkName:v=>v,assetChunkIdHint:v=>v,"module.type":v=>v!=="module"?v:undefined,"module.id":(v,{formatModuleId:E})=>isValidId(v)?E(v):undefined,"module.name":(v,{bold:E})=>{const[P,R]=getModuleName(v);return`${P||""}${E(R||"")}`},"module.identifier":v=>undefined,"module.layer":(v,{formatLayer:E})=>v?E(v):undefined,"module.sizes":printSizes,"module.chunks[]":(v,{formatChunkId:E})=>E(v),"module.depth":(v,{formatFlag:E})=>v!==null?E(`depth ${v}`):undefined,"module.cacheable":(v,{formatFlag:E,red:P})=>v===false?P(E("not cacheable")):undefined,"module.orphan":(v,{formatFlag:E,yellow:P})=>v?P(E("orphan")):undefined,"module.runtime":(v,{formatFlag:E,yellow:P})=>v?P(E("runtime")):undefined,"module.optional":(v,{formatFlag:E,yellow:P})=>v?P(E("optional")):undefined,"module.dependent":(v,{formatFlag:E,cyan:P})=>v?P(E("dependent")):undefined,"module.built":(v,{formatFlag:E,yellow:P})=>v?P(E("built")):undefined,"module.codeGenerated":(v,{formatFlag:E,yellow:P})=>v?P(E("code generated")):undefined,"module.buildTimeExecuted":(v,{formatFlag:E,green:P})=>v?P(E("build time executed")):undefined,"module.cached":(v,{formatFlag:E,green:P})=>v?P(E("cached")):undefined,"module.assets":(v,{formatFlag:E,magenta:P})=>v&&v.length?P(E(`${v.length} ${plural(v.length,"asset","assets")}`)):undefined,"module.warnings":(v,{formatFlag:E,yellow:P})=>v===true?P(E("warnings")):v?P(E(`${v} ${plural(v,"warning","warnings")}`)):undefined,"module.errors":(v,{formatFlag:E,red:P})=>v===true?P(E("errors")):v?P(E(`${v} ${plural(v,"error","errors")}`)):undefined,"module.providedExports":(v,{formatFlag:E,cyan:P})=>{if(Array.isArray(v)){if(v.length===0)return P(E("no exports"));return P(E(`exports: ${v.join(", ")}`))}},"module.usedExports":(v,{formatFlag:E,cyan:P,module:R})=>{if(v!==true){if(v===null)return P(E("used exports unknown"));if(v===false)return P(E("module unused"));if(Array.isArray(v)){if(v.length===0)return P(E("no exports used"));const $=Array.isArray(R.providedExports)?R.providedExports.length:null;if($!==null&&$===v.length){return P(E("all exports used"))}else{return P(E(`only some exports used: ${v.join(", ")}`))}}}},"module.optimizationBailout[]":(v,{yellow:E})=>E(v),"module.issuerPath":(v,{module:E})=>E.profile?undefined:"","module.profile":v=>undefined,"module.filteredModules":(v,{module:{modules:E}})=>v>0?`${moreCount(E,v)} nested ${plural(v,"module","modules")}`:undefined,"module.filteredReasons":(v,{module:{reasons:E}})=>v>0?`${moreCount(E,v)} ${plural(v,"reason","reasons")}`:undefined,"module.filteredChildren":(v,{module:{children:E}})=>v>0?`${moreCount(E,v)} ${plural(v,"module","modules")}`:undefined,"module.separator!":()=>"\n","moduleIssuer.id":(v,{formatModuleId:E})=>E(v),"moduleIssuer.profile.total":(v,{formatTime:E})=>E(v),"moduleReason.type":v=>v,"moduleReason.userRequest":(v,{cyan:E})=>E(getResourceName(v)),"moduleReason.moduleId":(v,{formatModuleId:E})=>isValidId(v)?E(v):undefined,"moduleReason.module":(v,{magenta:E})=>E(v),"moduleReason.loc":v=>v,"moduleReason.explanation":(v,{cyan:E})=>E(v),"moduleReason.active":(v,{formatFlag:E})=>v?undefined:E("inactive"),"moduleReason.resolvedModule":(v,{magenta:E})=>E(v),"moduleReason.filteredChildren":(v,{moduleReason:{children:E}})=>v>0?`${moreCount(E,v)} ${plural(v,"reason","reasons")}`:undefined,"module.profile.total":(v,{formatTime:E})=>E(v),"module.profile.resolving":(v,{formatTime:E})=>`resolving: ${E(v)}`,"module.profile.restoring":(v,{formatTime:E})=>`restoring: ${E(v)}`,"module.profile.integration":(v,{formatTime:E})=>`integration: ${E(v)}`,"module.profile.building":(v,{formatTime:E})=>`building: ${E(v)}`,"module.profile.storing":(v,{formatTime:E})=>`storing: ${E(v)}`,"module.profile.additionalResolving":(v,{formatTime:E})=>v?`additional resolving: ${E(v)}`:undefined,"module.profile.additionalIntegration":(v,{formatTime:E})=>v?`additional integration: ${E(v)}`:undefined,"chunkGroup.kind!":(v,{chunkGroupKind:E})=>E,"chunkGroup.separator!":()=>"\n","chunkGroup.name":(v,{bold:E})=>E(v),"chunkGroup.isOverSizeLimit":(v,{formatFlag:E,yellow:P})=>v?P(E("big")):undefined,"chunkGroup.assetsSize":(v,{formatSize:E})=>v?E(v):undefined,"chunkGroup.auxiliaryAssetsSize":(v,{formatSize:E})=>v?`(${E(v)})`:undefined,"chunkGroup.filteredAssets":(v,{chunkGroup:{assets:E}})=>v>0?`${moreCount(E,v)} ${plural(v,"asset","assets")}`:undefined,"chunkGroup.filteredAuxiliaryAssets":(v,{chunkGroup:{auxiliaryAssets:E}})=>v>0?`${moreCount(E,v)} auxiliary ${plural(v,"asset","assets")}`:undefined,"chunkGroup.is!":()=>"=","chunkGroupAsset.name":(v,{green:E})=>E(v),"chunkGroupAsset.size":(v,{formatSize:E,chunkGroup:P})=>P.assets.length>1||P.auxiliaryAssets&&P.auxiliaryAssets.length>0?E(v):undefined,"chunkGroup.children":(v,E,P)=>Array.isArray(v)?undefined:P.print(E.type,Object.keys(v).map((E=>({type:E,children:v[E]}))),E),"chunkGroupChildGroup.type":v=>`${v}:`,"chunkGroupChild.assets[]":(v,{formatFilename:E})=>E(v),"chunkGroupChild.chunks[]":(v,{formatChunkId:E})=>E(v),"chunkGroupChild.name":v=>v?`(name: ${v})`:undefined,"chunk.id":(v,{formatChunkId:E})=>E(v),"chunk.files[]":(v,{formatFilename:E})=>E(v),"chunk.names[]":v=>v,"chunk.idHints[]":v=>v,"chunk.runtime[]":v=>v,"chunk.sizes":(v,E)=>printSizes(v,E),"chunk.parents[]":(v,E)=>E.formatChunkId(v,"parent"),"chunk.siblings[]":(v,E)=>E.formatChunkId(v,"sibling"),"chunk.children[]":(v,E)=>E.formatChunkId(v,"child"),"chunk.childrenByOrder":(v,E,P)=>Array.isArray(v)?undefined:P.print(E.type,Object.keys(v).map((E=>({type:E,children:v[E]}))),E),"chunk.childrenByOrder[].type":v=>`${v}:`,"chunk.childrenByOrder[].children[]":(v,{formatChunkId:E})=>isValidId(v)?E(v):undefined,"chunk.entry":(v,{formatFlag:E,yellow:P})=>v?P(E("entry")):undefined,"chunk.initial":(v,{formatFlag:E,yellow:P})=>v?P(E("initial")):undefined,"chunk.rendered":(v,{formatFlag:E,green:P})=>v?P(E("rendered")):undefined,"chunk.recorded":(v,{formatFlag:E,green:P})=>v?P(E("recorded")):undefined,"chunk.reason":(v,{yellow:E})=>v?E(v):undefined,"chunk.filteredModules":(v,{chunk:{modules:E}})=>v>0?`${moreCount(E,v)} chunk ${plural(v,"module","modules")}`:undefined,"chunk.separator!":()=>"\n","chunkOrigin.request":v=>v,"chunkOrigin.moduleId":(v,{formatModuleId:E})=>isValidId(v)?E(v):undefined,"chunkOrigin.moduleName":(v,{bold:E})=>E(v),"chunkOrigin.loc":v=>v,"error.compilerPath":(v,{bold:E})=>v?E(`(${v})`):undefined,"error.chunkId":(v,{formatChunkId:E})=>isValidId(v)?E(v):undefined,"error.chunkEntry":(v,{formatFlag:E})=>v?E("entry"):undefined,"error.chunkInitial":(v,{formatFlag:E})=>v?E("initial"):undefined,"error.file":(v,{bold:E})=>E(v),"error.moduleName":(v,{bold:E})=>v.includes("!")?`${E(v.replace(/^(\s|\S)*!/,""))} (${v})`:`${E(v)}`,"error.loc":(v,{green:E})=>E(v),"error.message":(v,{bold:E,formatError:P})=>v.includes("[")?v:E(P(v)),"error.details":(v,{formatError:E})=>E(v),"error.filteredDetails":v=>v?`+ ${v} hidden lines`:undefined,"error.stack":v=>v,"error.moduleTrace":v=>undefined,"error.separator!":()=>"\n","loggingEntry(error).loggingEntry.message":(v,{red:E})=>mapLines(v,(v=>` ${E(v)}`)),"loggingEntry(warn).loggingEntry.message":(v,{yellow:E})=>mapLines(v,(v=>` ${E(v)}`)),"loggingEntry(info).loggingEntry.message":(v,{green:E})=>mapLines(v,(v=>` ${E(v)}`)),"loggingEntry(log).loggingEntry.message":(v,{bold:E})=>mapLines(v,(v=>` ${E(v)}`)),"loggingEntry(debug).loggingEntry.message":v=>mapLines(v,(v=>` ${v}`)),"loggingEntry(trace).loggingEntry.message":v=>mapLines(v,(v=>` ${v}`)),"loggingEntry(status).loggingEntry.message":(v,{magenta:E})=>mapLines(v,(v=>` ${E(v)}`)),"loggingEntry(profile).loggingEntry.message":(v,{magenta:E})=>mapLines(v,(v=>`

${E(v)}`)),"loggingEntry(profileEnd).loggingEntry.message":(v,{magenta:E})=>mapLines(v,(v=>`

${E(v)}`)),"loggingEntry(time).loggingEntry.message":(v,{magenta:E})=>mapLines(v,(v=>` ${E(v)}`)),"loggingEntry(group).loggingEntry.message":(v,{cyan:E})=>mapLines(v,(v=>`<-> ${E(v)}`)),"loggingEntry(groupCollapsed).loggingEntry.message":(v,{cyan:E})=>mapLines(v,(v=>`<+> ${E(v)}`)),"loggingEntry(clear).loggingEntry":()=>" -------","loggingEntry(groupCollapsed).loggingEntry.children":()=>"","loggingEntry.trace[]":v=>v?mapLines(v,(v=>`| ${v}`)):undefined,"moduleTraceItem.originName":v=>v,loggingGroup:v=>v.entries.length===0?"":undefined,"loggingGroup.debug":(v,{red:E})=>v?E("DEBUG"):undefined,"loggingGroup.name":(v,{bold:E})=>E(`LOG from ${v}`),"loggingGroup.separator!":()=>"\n","loggingGroup.filteredEntries":v=>v>0?`+ ${v} hidden lines`:undefined,"moduleTraceDependency.loc":v=>v};const L={"compilation.assets[]":"asset","compilation.modules[]":"module","compilation.chunks[]":"chunk","compilation.entrypoints[]":"chunkGroup","compilation.namedChunkGroups[]":"chunkGroup","compilation.errors[]":"error","compilation.warnings[]":"error","compilation.logging[]":"loggingGroup","compilation.children[]":"compilation","asset.related[]":"asset","asset.children[]":"asset","asset.chunks[]":"assetChunk","asset.auxiliaryChunks[]":"assetChunk","asset.chunkNames[]":"assetChunkName","asset.chunkIdHints[]":"assetChunkIdHint","asset.auxiliaryChunkNames[]":"assetChunkName","asset.auxiliaryChunkIdHints[]":"assetChunkIdHint","chunkGroup.assets[]":"chunkGroupAsset","chunkGroup.auxiliaryAssets[]":"chunkGroupAsset","chunkGroupChild.assets[]":"chunkGroupAsset","chunkGroupChild.auxiliaryAssets[]":"chunkGroupAsset","chunkGroup.children[]":"chunkGroupChildGroup","chunkGroupChildGroup.children[]":"chunkGroupChild","module.modules[]":"module","module.children[]":"module","module.reasons[]":"moduleReason","moduleReason.children[]":"moduleReason","module.issuerPath[]":"moduleIssuer","chunk.origins[]":"chunkOrigin","chunk.modules[]":"module","loggingGroup.entries[]":v=>`loggingEntry(${v.type}).loggingEntry`,"loggingEntry.children[]":v=>`loggingEntry(${v.type}).loggingEntry`,"error.moduleTrace[]":"moduleTraceItem","moduleTraceItem.dependencies[]":"moduleTraceDependency"};const q=["compilerPath","chunkId","chunkEntry","chunkInitial","file","separator!","moduleName","loc","separator!","message","separator!","details","separator!","filteredDetails","separator!","stack","separator!","missing","separator!","moduleTrace"];const K={compilation:["name","hash","version","time","builtAt","env","publicPath","assets","filteredAssets","entrypoints","namedChunkGroups","chunks","modules","filteredModules","children","logging","warnings","warningsInChildren!","filteredWarningDetailsCount","errors","errorsInChildren!","filteredErrorDetailsCount","summary!","needAdditionalPass"],asset:["type","name","size","chunks","auxiliaryChunks","emitted","comparedForEmit","cached","info","isOverSizeLimit","chunkNames","auxiliaryChunkNames","chunkIdHints","auxiliaryChunkIdHints","related","filteredRelated","children","filteredChildren"],"asset.info":["immutable","sourceFilename","javascriptModule","development","hotModuleReplacement"],chunkGroup:["kind!","name","isOverSizeLimit","assetsSize","auxiliaryAssetsSize","is!","assets","filteredAssets","auxiliaryAssets","filteredAuxiliaryAssets","separator!","children"],chunkGroupAsset:["name","size"],chunkGroupChildGroup:["type","children"],chunkGroupChild:["assets","chunks","name"],module:["type","name","identifier","id","layer","sizes","chunks","depth","cacheable","orphan","runtime","optional","dependent","built","codeGenerated","cached","assets","failed","warnings","errors","children","filteredChildren","providedExports","usedExports","optimizationBailout","reasons","filteredReasons","issuerPath","profile","modules","filteredModules"],moduleReason:["active","type","userRequest","moduleId","module","resolvedModule","loc","explanation","children","filteredChildren"],"module.profile":["total","separator!","resolving","restoring","integration","building","storing","additionalResolving","additionalIntegration"],chunk:["id","runtime","files","names","idHints","sizes","parents","siblings","children","childrenByOrder","entry","initial","rendered","recorded","reason","separator!","origins","separator!","modules","separator!","filteredModules"],chunkOrigin:["request","moduleId","moduleName","loc"],error:q,warning:q,"chunk.childrenByOrder[]":["type","children"],loggingGroup:["debug","name","separator!","entries","separator!","filteredEntries"],loggingEntry:["message","trace","children"]};const itemsJoinOneLine=v=>v.filter(Boolean).join(" ");const itemsJoinOneLineBrackets=v=>v.length>0?`(${v.filter(Boolean).join(" ")})`:undefined;const itemsJoinMoreSpacing=v=>v.filter(Boolean).join("\n\n");const itemsJoinComma=v=>v.filter(Boolean).join(", ");const itemsJoinCommaBrackets=v=>v.length>0?`(${v.filter(Boolean).join(", ")})`:undefined;const itemsJoinCommaBracketsWithName=v=>E=>E.length>0?`(${v}: ${E.filter(Boolean).join(", ")})`:undefined;const ae={"chunk.parents":itemsJoinOneLine,"chunk.siblings":itemsJoinOneLine,"chunk.children":itemsJoinOneLine,"chunk.names":itemsJoinCommaBrackets,"chunk.idHints":itemsJoinCommaBracketsWithName("id hint"),"chunk.runtime":itemsJoinCommaBracketsWithName("runtime"),"chunk.files":itemsJoinComma,"chunk.childrenByOrder":itemsJoinOneLine,"chunk.childrenByOrder[].children":itemsJoinOneLine,"chunkGroup.assets":itemsJoinOneLine,"chunkGroup.auxiliaryAssets":itemsJoinOneLineBrackets,"chunkGroupChildGroup.children":itemsJoinComma,"chunkGroupChild.assets":itemsJoinOneLine,"chunkGroupChild.auxiliaryAssets":itemsJoinOneLineBrackets,"asset.chunks":itemsJoinComma,"asset.auxiliaryChunks":itemsJoinCommaBrackets,"asset.chunkNames":itemsJoinCommaBracketsWithName("name"),"asset.auxiliaryChunkNames":itemsJoinCommaBracketsWithName("auxiliary name"),"asset.chunkIdHints":itemsJoinCommaBracketsWithName("id hint"),"asset.auxiliaryChunkIdHints":itemsJoinCommaBracketsWithName("auxiliary id hint"),"module.chunks":itemsJoinOneLine,"module.issuerPath":v=>v.filter(Boolean).map((v=>`${v} ->`)).join(" "),"compilation.errors":itemsJoinMoreSpacing,"compilation.warnings":itemsJoinMoreSpacing,"compilation.logging":itemsJoinMoreSpacing,"compilation.children":v=>indent(itemsJoinMoreSpacing(v)," "),"moduleTraceItem.dependencies":itemsJoinOneLine,"loggingEntry.children":v=>indent(v.filter(Boolean).join("\n")," ",false)};const joinOneLine=v=>v.map((v=>v.content)).filter(Boolean).join(" ");const joinInBrackets=v=>{const E=[];let P=0;for(const R of v){if(R.element==="separator!"){switch(P){case 0:case 1:P+=2;break;case 4:E.push(")");P=3;break}}if(!R.content)continue;switch(P){case 0:P=1;break;case 1:E.push(" ");break;case 2:E.push("(");P=4;break;case 3:E.push(" (");P=4;break;case 4:E.push(", ");break}E.push(R.content)}if(P===4)E.push(")");return E.join("")};const indent=(v,E,P)=>{const R=v.replace(/\n([^\n])/g,"\n"+E+"$1");if(P)return R;const $=v[0]==="\n"?"":E;return $+R};const joinExplicitNewLine=(v,E)=>{let P=true;let R=true;return v.map((v=>{if(!v||!v.content)return;let $=indent(v.content,R?"":E,!P);if(P){$=$.replace(/^\n+/,"")}if(!$)return;R=false;const N=P||$.startsWith("\n");P=$.endsWith("\n");return N?$:" "+$})).filter(Boolean).join("").trim()};const joinError=v=>(E,{red:P,yellow:R})=>`${v?P("ERROR"):R("WARNING")} in ${joinExplicitNewLine(E,"")}`;const ge={compilation:v=>{const E=[];let P=false;for(const R of v){if(!R.content)continue;const v=R.element==="warnings"||R.element==="filteredWarningDetailsCount"||R.element==="errors"||R.element==="filteredErrorDetailsCount"||R.element==="logging";if(E.length!==0){E.push(v||P?"\n\n":"\n")}E.push(R.content);P=v}if(P)E.push("\n");return E.join("")},asset:v=>joinExplicitNewLine(v.map((v=>{if((v.element==="related"||v.element==="children")&&v.content){return{...v,content:`\n${v.content}\n`}}return v}))," "),"asset.info":joinOneLine,module:(v,{module:E})=>{let P=false;return joinExplicitNewLine(v.map((v=>{switch(v.element){case"id":if(E.id===E.name){if(P)return false;if(v.content)P=true}break;case"name":if(P)return false;if(v.content)P=true;break;case"providedExports":case"usedExports":case"optimizationBailout":case"reasons":case"issuerPath":case"profile":case"children":case"modules":if(v.content){return{...v,content:`\n${v.content}\n`}}break}return v}))," ")},chunk:v=>{let E=false;return"chunk "+joinExplicitNewLine(v.filter((v=>{switch(v.element){case"entry":if(v.content)E=true;break;case"initial":if(E)return false;break}return true}))," ")},"chunk.childrenByOrder[]":v=>`(${joinOneLine(v)})`,chunkGroup:v=>joinExplicitNewLine(v," "),chunkGroupAsset:joinOneLine,chunkGroupChildGroup:joinOneLine,chunkGroupChild:joinOneLine,moduleReason:(v,{moduleReason:E})=>{let P=false;return joinExplicitNewLine(v.map((v=>{switch(v.element){case"moduleId":if(E.moduleId===E.module&&v.content)P=true;break;case"module":if(P)return false;break;case"resolvedModule":if(E.module===E.resolvedModule)return false;break;case"children":if(v.content){return{...v,content:`\n${v.content}\n`}}break}return v}))," ")},"module.profile":joinInBrackets,moduleIssuer:joinOneLine,chunkOrigin:v=>"> "+joinOneLine(v),"errors[].error":joinError(true),"warnings[].error":joinError(false),loggingGroup:v=>joinExplicitNewLine(v,"").trimEnd(),moduleTraceItem:v=>" @ "+joinOneLine(v),moduleTraceDependency:joinOneLine};const be={bold:"",yellow:"",red:"",green:"",cyan:"",magenta:""};const xe={formatChunkId:(v,{yellow:E},P)=>{switch(P){case"parent":return`<{${E(v)}}>`;case"sibling":return`={${E(v)}}=`;case"child":return`>{${E(v)}}<`;default:return`{${E(v)}}`}},formatModuleId:v=>`[${v}]`,formatFilename:(v,{green:E,yellow:P},R)=>(R?P:E)(v),formatFlag:v=>`[${v}]`,formatLayer:v=>`(in ${v})`,formatSize:P(54172).formatSize,formatDateTime:(v,{bold:E})=>{const P=new Date(v);const R=twoDigit;const $=`${P.getFullYear()}-${R(P.getMonth()+1)}-${R(P.getDate())}`;const N=`${R(P.getHours())}:${R(P.getMinutes())}:${R(P.getSeconds())}`;return`${$} ${E(N)}`},formatTime:(v,{timeReference:E,bold:P,green:R,yellow:$,red:N},L)=>{const q=" ms";if(E&&v!==E){const L=[E/2,E/4,E/8,E/16];if(v{if(v.includes("["))return v;const $=[{regExp:/(Did you mean .+)/g,format:E},{regExp:/(Set 'mode' option to 'development' or 'production')/g,format:E},{regExp:/(\(module has no exports\))/g,format:R},{regExp:/\(possible exports: (.+)\)/g,format:E},{regExp:/(?:^|\n)(.* doesn't exist)/g,format:R},{regExp:/('\w+' option has not been set)/g,format:R},{regExp:/(Emitted value instead of an instance of Error)/g,format:P},{regExp:/(Used? .+ instead)/gi,format:P},{regExp:/\b(deprecated|must|required)\b/g,format:P},{regExp:/\b(BREAKING CHANGE)\b/gi,format:R},{regExp:/\b(error|failed|unexpected|invalid|not found|not supported|not available|not possible|not implemented|doesn't support|conflict|conflicting|not existing|duplicate)\b/gi,format:R}];for(const{regExp:E,format:P}of $){v=v.replace(E,((v,E)=>v.replace(E,P(E))))}return v}};const ve={"module.modules":v=>indent(v,"| ")};const createOrder=(v,E)=>{const P=v.slice();const R=new Set(v);const $=new Set;v.length=0;for(const P of E){if(P.endsWith("!")||R.has(P)){v.push(P);$.add(P)}}for(const E of P){if(!$.has(E)){v.push(E)}}return v};class DefaultStatsPrinterPlugin{apply(v){v.hooks.compilation.tap("DefaultStatsPrinterPlugin",(v=>{v.hooks.statsPrinter.tap("DefaultStatsPrinterPlugin",((v,E,P)=>{v.hooks.print.for("compilation").tap("DefaultStatsPrinterPlugin",((v,P)=>{for(const v of Object.keys(be)){let R;if(E.colors){if(typeof E.colors==="object"&&typeof E.colors[v]==="string"){R=E.colors[v]}else{R=be[v]}}if(R){P[v]=v=>`${R}${typeof v==="string"?v.replace(/((\u001b\[39m|\u001b\[22m|\u001b\[0m)+)/g,`$1${R}`):v}`}else{P[v]=v=>v}}for(const v of Object.keys(xe)){P[v]=(E,...R)=>xe[v](E,P,...R)}P.timeReference=v.time}));for(const E of Object.keys(N)){v.hooks.print.for(E).tap("DefaultStatsPrinterPlugin",((P,R)=>N[E](P,R,v)))}for(const E of Object.keys(K)){const P=K[E];v.hooks.sortElements.for(E).tap("DefaultStatsPrinterPlugin",((v,E)=>{createOrder(v,P)}))}for(const E of Object.keys(L)){const P=L[E];v.hooks.getItemName.for(E).tap("DefaultStatsPrinterPlugin",typeof P==="string"?()=>P:P)}for(const E of Object.keys(ae)){const P=ae[E];v.hooks.printItems.for(E).tap("DefaultStatsPrinterPlugin",P)}for(const E of Object.keys(ge)){const P=ge[E];v.hooks.printElements.for(E).tap("DefaultStatsPrinterPlugin",P)}for(const E of Object.keys(ve)){const P=ve[E];v.hooks.result.for(E).tap("DefaultStatsPrinterPlugin",P)}}))}))}}v.exports=DefaultStatsPrinterPlugin},38839:function(v,E,P){"use strict";const{HookMap:R,SyncBailHook:$,SyncWaterfallHook:N}=P(79846);const{concatComparators:L,keepOriginalOrder:q}=P(80754);const K=P(93133);class StatsFactory{constructor(){this.hooks=Object.freeze({extract:new R((()=>new $(["object","data","context"]))),filter:new R((()=>new $(["item","context","index","unfilteredIndex"]))),sort:new R((()=>new $(["comparators","context"]))),filterSorted:new R((()=>new $(["item","context","index","unfilteredIndex"]))),groupResults:new R((()=>new $(["groupConfigs","context"]))),sortResults:new R((()=>new $(["comparators","context"]))),filterResults:new R((()=>new $(["item","context","index","unfilteredIndex"]))),merge:new R((()=>new $(["items","context"]))),result:new R((()=>new N(["result","context"]))),getItemName:new R((()=>new $(["item","context"]))),getItemFactory:new R((()=>new $(["item","context"])))});const v=this.hooks;this._caches={};for(const E of Object.keys(v)){this._caches[E]=new Map}this._inCreate=false}_getAllLevelHooks(v,E,P){const R=E.get(P);if(R!==undefined){return R}const $=[];const N=P.split(".");for(let E=0;E{for(const P of L){const R=$(P,v,E,q);if(R!==undefined){if(R)q++;return R}}q++;return true}))}create(v,E,P){if(this._inCreate){return this._create(v,E,P)}else{try{this._inCreate=true;return this._create(v,E,P)}finally{for(const v of Object.keys(this._caches))this._caches[v].clear();this._inCreate=false}}}_create(v,E,P){const R={...P,type:v,[v]:E};if(Array.isArray(E)){const P=this._forEachLevelFilter(this.hooks.filter,this._caches.filter,v,E,((v,E,P,$)=>v.call(E,R,P,$)),true);const $=[];this._forEachLevel(this.hooks.sort,this._caches.sort,v,(v=>v.call($,R)));if($.length>0){P.sort(L(...$,q(P)))}const N=this._forEachLevelFilter(this.hooks.filterSorted,this._caches.filterSorted,v,P,((v,E,P,$)=>v.call(E,R,P,$)),false);let ae=N.map(((E,P)=>{const $={...R,_index:P};const N=this._forEachLevel(this.hooks.getItemName,this._caches.getItemName,`${v}[]`,(v=>v.call(E,$)));if(N)$[N]=E;const L=N?`${v}[].${N}`:`${v}[]`;const q=this._forEachLevel(this.hooks.getItemFactory,this._caches.getItemFactory,L,(v=>v.call(E,$)))||this;return q.create(L,E,$)}));const ge=[];this._forEachLevel(this.hooks.sortResults,this._caches.sortResults,v,(v=>v.call(ge,R)));if(ge.length>0){ae.sort(L(...ge,q(ae)))}const be=[];this._forEachLevel(this.hooks.groupResults,this._caches.groupResults,v,(v=>v.call(be,R)));if(be.length>0){ae=K(ae,be)}const xe=this._forEachLevelFilter(this.hooks.filterResults,this._caches.filterResults,v,ae,((v,E,P,$)=>v.call(E,R,P,$)),false);let ve=this._forEachLevel(this.hooks.merge,this._caches.merge,v,(v=>v.call(xe,R)));if(ve===undefined)ve=xe;return this._forEachLevelWaterfall(this.hooks.result,this._caches.result,v,ve,((v,E)=>v.call(E,R)))}else{const P={};this._forEachLevel(this.hooks.extract,this._caches.extract,v,(v=>v.call(P,E,R)));return this._forEachLevelWaterfall(this.hooks.result,this._caches.result,v,P,((v,E)=>v.call(E,R)))}}}v.exports=StatsFactory},27505:function(v,E,P){"use strict";const{HookMap:R,SyncWaterfallHook:$,SyncBailHook:N}=P(79846);class StatsPrinter{constructor(){this.hooks=Object.freeze({sortElements:new R((()=>new N(["elements","context"]))),printElements:new R((()=>new N(["printedElements","context"]))),sortItems:new R((()=>new N(["items","context"]))),getItemName:new R((()=>new N(["item","context"]))),printItems:new R((()=>new N(["printedItems","context"]))),print:new R((()=>new N(["object","context"]))),result:new R((()=>new $(["result","context"])))});this._levelHookCache=new Map;this._inPrint=false}_getAllLevelHooks(v,E){let P=this._levelHookCache.get(v);if(P===undefined){P=new Map;this._levelHookCache.set(v,P)}const R=P.get(E);if(R!==undefined){return R}const $=[];const N=E.split(".");for(let E=0;Ev.call(E,R)));if($===undefined){if(Array.isArray(E)){const P=E.slice();this._forEachLevel(this.hooks.sortItems,v,(v=>v.call(P,R)));const N=P.map(((E,P)=>{const $={...R,_index:P};const N=this._forEachLevel(this.hooks.getItemName,`${v}[]`,(v=>v.call(E,$)));if(N)$[N]=E;return this.print(N?`${v}[].${N}`:`${v}[]`,E,$)}));$=this._forEachLevel(this.hooks.printItems,v,(v=>v.call(N,R)));if($===undefined){const v=N.filter(Boolean);if(v.length>0)$=v.join("\n")}}else if(E!==null&&typeof E==="object"){const P=Object.keys(E).filter((v=>E[v]!==undefined));this._forEachLevel(this.hooks.sortElements,v,(v=>v.call(P,R)));const N=P.map((P=>{const $=this.print(`${v}.${P}`,E[P],{...R,_parent:E,_element:P,[P]:E[P]});return{element:P,content:$}}));$=this._forEachLevel(this.hooks.printElements,v,(v=>v.call(N,R)));if($===undefined){const v=N.map((v=>v.content)).filter(Boolean);if(v.length>0)$=v.join("\n")}}}return this._forEachLevelWaterfall(this.hooks.result,v,$,((v,E)=>v.call(E,R)))}}v.exports=StatsPrinter},98734:function(v,E){"use strict";E.equals=(v,E)=>{if(v.length!==E.length)return false;for(let P=0;Pv.reduce(((v,P)=>{v[E(P)?0:1].push(P);return v}),[[],[]])},88622:function(v){"use strict";class ArrayQueue{constructor(v){this._list=v?Array.from(v):[];this._listReversed=[]}get length(){return this._list.length+this._listReversed.length}clear(){this._list.length=0;this._listReversed.length=0}enqueue(v){this._list.push(v)}dequeue(){if(this._listReversed.length===0){if(this._list.length===0)return undefined;if(this._list.length===1)return this._list.pop();if(this._list.length<16)return this._list.shift();const v=this._listReversed;this._listReversed=this._list;this._listReversed.reverse();this._list=v}return this._listReversed.pop()}delete(v){const E=this._list.indexOf(v);if(E>=0){this._list.splice(E,1)}else{const E=this._listReversed.indexOf(v);if(E>=0)this._listReversed.splice(E,1)}}[Symbol.iterator](){let v=-1;let E=false;return{next:()=>{if(!E){v++;if(vv);this._entries=new Map;this._queued=new q;this._children=undefined;this._activeTasks=0;this._willEnsureProcessing=false;this._needProcessing=false;this._stopped=false;this._root=P?P._root:this;if(P){if(this._root._children===undefined){this._root._children=[this]}else{this._root._children.push(this)}}this.hooks={beforeAdd:new $(["item"]),added:new R(["item"]),beforeStart:new $(["item"]),started:new R(["item"]),result:new R(["item","error","result"])};this._ensureProcessing=this._ensureProcessing.bind(this)}add(v,E){if(this._stopped)return E(new L("Queue was stopped"));this.hooks.beforeAdd.callAsync(v,(P=>{if(P){E(N(P,`AsyncQueue(${this._name}).hooks.beforeAdd`));return}const R=this._getKey(v);const $=this._entries.get(R);if($!==undefined){if($.state===ge){if(be++>3){process.nextTick((()=>E($.error,$.result)))}else{E($.error,$.result)}be--}else if($.callbacks===undefined){$.callbacks=[E]}else{$.callbacks.push(E)}return}const q=new AsyncQueueEntry(v,E);if(this._stopped){this.hooks.added.call(v);this._root._activeTasks++;process.nextTick((()=>this._handleResult(q,new L("Queue was stopped"))))}else{this._entries.set(R,q);this._queued.enqueue(q);const E=this._root;E._needProcessing=true;if(E._willEnsureProcessing===false){E._willEnsureProcessing=true;setImmediate(E._ensureProcessing)}this.hooks.added.call(v)}}))}invalidate(v){const E=this._getKey(v);const P=this._entries.get(E);this._entries.delete(E);if(P.state===K){this._queued.delete(P)}}waitFor(v,E){const P=this._getKey(v);const R=this._entries.get(P);if(R===undefined){return E(new L("waitFor can only be called for an already started item"))}if(R.state===ge){process.nextTick((()=>E(R.error,R.result)))}else if(R.callbacks===undefined){R.callbacks=[E]}else{R.callbacks.push(E)}}stop(){this._stopped=true;const v=this._queued;this._queued=new q;const E=this._root;for(const P of v){this._entries.delete(this._getKey(P.item));E._activeTasks++;this._handleResult(P,new L("Queue was stopped"))}}increaseParallelism(){const v=this._root;v._parallelism++;if(v._willEnsureProcessing===false&&v._needProcessing){v._willEnsureProcessing=true;setImmediate(v._ensureProcessing)}}decreaseParallelism(){const v=this._root;v._parallelism--}isProcessing(v){const E=this._getKey(v);const P=this._entries.get(E);return P!==undefined&&P.state===ae}isQueued(v){const E=this._getKey(v);const P=this._entries.get(E);return P!==undefined&&P.state===K}isDone(v){const E=this._getKey(v);const P=this._entries.get(E);return P!==undefined&&P.state===ge}_ensureProcessing(){while(this._activeTasks0)return;if(this._children!==undefined){for(const v of this._children){while(this._activeTasks0)return}}if(!this._willEnsureProcessing)this._needProcessing=false}_startProcessing(v){this.hooks.beforeStart.callAsync(v.item,(E=>{if(E){this._handleResult(v,N(E,`AsyncQueue(${this._name}).hooks.beforeStart`));return}let P=false;try{this._processor(v.item,((E,R)=>{P=true;this._handleResult(v,E,R)}))}catch(E){if(P)throw E;this._handleResult(v,E,null)}this.hooks.started.call(v.item)}))}_handleResult(v,E,P){this.hooks.result.callAsync(v.item,E,P,(R=>{const $=R?N(R,`AsyncQueue(${this._name}).hooks.result`):E;const L=v.callback;const q=v.callbacks;v.state=ge;v.callback=undefined;v.callbacks=undefined;v.result=P;v.error=$;const K=this._root;K._activeTasks--;if(K._willEnsureProcessing===false&&K._needProcessing){K._willEnsureProcessing=true;setImmediate(K._ensureProcessing)}if(be++>3){process.nextTick((()=>{L($,P);if(q!==undefined){for(const v of q){v($,P)}}}))}else{L($,P);if(q!==undefined){for(const v of q){v($,P)}}}be--}))}clear(){this._entries.clear();this._queued.clear();this._activeTasks=0;this._willEnsureProcessing=false;this._needProcessing=false;this._stopped=false}}v.exports=AsyncQueue},41825:function(v,E,P){"use strict";class Hash{update(v,E){const R=P(86478);throw new R}digest(v){const E=P(86478);throw new E}}v.exports=Hash},99770:function(v,E){"use strict";const last=v=>{let E;for(const P of v)E=P;return E};const someInIterable=(v,E)=>{for(const P of v){if(E(P))return true}return false};const countIterable=v=>{let E=0;for(const P of v)E++;return E};E.last=last;E.someInIterable=someInIterable;E.countIterable=countIterable},82102:function(v,E,P){"use strict";const{first:R}=P(57167);const $=P(96543);class LazyBucketSortedSet{constructor(v,E,...P){this._getKey=v;this._innerArgs=P;this._leaf=P.length<=1;this._keys=new $(undefined,E);this._map=new Map;this._unsortedItems=new Set;this.size=0}add(v){this.size++;this._unsortedItems.add(v)}_addInternal(v,E){let P=this._map.get(v);if(P===undefined){P=this._leaf?new $(undefined,this._innerArgs[0]):new LazyBucketSortedSet(...this._innerArgs);this._keys.add(v);this._map.set(v,P)}P.add(E)}delete(v){this.size--;if(this._unsortedItems.has(v)){this._unsortedItems.delete(v);return}const E=this._getKey(v);const P=this._map.get(E);P.delete(v);if(P.size===0){this._deleteKey(E)}}_deleteKey(v){this._keys.delete(v);this._map.delete(v)}popFirst(){if(this.size===0)return undefined;this.size--;if(this._unsortedItems.size>0){for(const v of this._unsortedItems){const E=this._getKey(v);this._addInternal(E,v)}this._unsortedItems.clear()}this._keys.sort();const v=R(this._keys);const E=this._map.get(v);if(this._leaf){const P=E;P.sort();const $=R(P);P.delete($);if(P.size===0){this._deleteKey(v)}return $}else{const P=E;const R=P.popFirst();if(P.size===0){this._deleteKey(v)}return R}}startUpdate(v){if(this._unsortedItems.has(v)){return E=>{if(E){this._unsortedItems.delete(v);this.size--;return}}}const E=this._getKey(v);if(this._leaf){const P=this._map.get(E);return R=>{if(R){this.size--;P.delete(v);if(P.size===0){this._deleteKey(E)}return}const $=this._getKey(v);if(E===$){P.add(v)}else{P.delete(v);if(P.size===0){this._deleteKey(E)}this._addInternal($,v)}}}else{const P=this._map.get(E);const R=P.startUpdate(v);return $=>{if($){this.size--;R(true);if(P.size===0){this._deleteKey(E)}return}const N=this._getKey(v);if(E===N){R()}else{R(true);if(P.size===0){this._deleteKey(E)}this._addInternal(N,v)}}}}_appendIterators(v){if(this._unsortedItems.size>0)v.push(this._unsortedItems[Symbol.iterator]());for(const E of this._keys){const P=this._map.get(E);if(this._leaf){const E=P;const R=E[Symbol.iterator]();v.push(R)}else{const E=P;E._appendIterators(v)}}}[Symbol.iterator](){const v=[];this._appendIterators(v);v.reverse();let E=v.pop();return{next:()=>{const P=E.next();if(P.done){if(v.length===0)return P;E=v.pop();return E.next()}return P}}}}v.exports=LazyBucketSortedSet},95259:function(v,E,P){"use strict";const R=P(74364);const merge=(v,E)=>{for(const P of E){for(const E of P){v.add(E)}}};const flatten=(v,E)=>{for(const P of E){if(P._set.size>0)v.add(P._set);if(P._needMerge){for(const E of P._toMerge){v.add(E)}flatten(v,P._toDeepMerge)}}};class LazySet{constructor(v){this._set=new Set(v);this._toMerge=new Set;this._toDeepMerge=[];this._needMerge=false;this._deopt=false}_flatten(){flatten(this._toMerge,this._toDeepMerge);this._toDeepMerge.length=0}_merge(){this._flatten();merge(this._set,this._toMerge);this._toMerge.clear();this._needMerge=false}_isEmpty(){return this._set.size===0&&this._toMerge.size===0&&this._toDeepMerge.length===0}get size(){if(this._needMerge)this._merge();return this._set.size}add(v){this._set.add(v);return this}addAll(v){if(this._deopt){const E=this._set;for(const P of v){E.add(P)}}else{if(v instanceof LazySet){if(v._isEmpty())return this;this._toDeepMerge.push(v);this._needMerge=true;if(this._toDeepMerge.length>1e5){this._flatten()}}else{this._toMerge.add(v);this._needMerge=true}if(this._toMerge.size>1e5)this._merge()}return this}clear(){this._set.clear();this._toMerge.clear();this._toDeepMerge.length=0;this._needMerge=false;this._deopt=false}delete(v){if(this._needMerge)this._merge();return this._set.delete(v)}entries(){this._deopt=true;if(this._needMerge)this._merge();return this._set.entries()}forEach(v,E){this._deopt=true;if(this._needMerge)this._merge();this._set.forEach(v,E)}has(v){if(this._needMerge)this._merge();return this._set.has(v)}keys(){this._deopt=true;if(this._needMerge)this._merge();return this._set.keys()}values(){this._deopt=true;if(this._needMerge)this._merge();return this._set.values()}[Symbol.iterator](){this._deopt=true;if(this._needMerge)this._merge();return this._set[Symbol.iterator]()}get[Symbol.toStringTag](){return"LazySet"}serialize({write:v}){if(this._needMerge)this._merge();v(this._set.size);for(const E of this._set)v(E)}static deserialize({read:v}){const E=v();const P=[];for(let R=0;R{const R=v.get(E);if(R!==undefined)return R;const $=P();v.set(E,$);return $}},97963:function(v,E,P){"use strict";const R=P(45155);class ParallelismFactorCalculator{constructor(){this._rangePoints=[];this._rangeCallbacks=[]}range(v,E,P){if(v===E)return P(1);this._rangePoints.push(v);this._rangePoints.push(E);this._rangeCallbacks.push(P)}calculate(){const v=Array.from(new Set(this._rangePoints)).sort(((v,E)=>v0));const P=[];for(let $=0;${if(v.length===0)return new Set;if(v.length===1)return new Set(v[0]);let E=Infinity;let P=-1;for(let R=0;R{if(v.size{for(const P of v){if(E(P))return P}};const first=v=>{const E=v.values().next();return E.done?undefined:E.value};const combine=(v,E)=>{if(E.size===0)return v;if(v.size===0)return E;const P=new Set(v);for(const v of E)P.add(v);return P};E.intersect=intersect;E.isSubset=isSubset;E.find=find;E.first=first;E.combine=combine},96543:function(v){"use strict";const E=Symbol("not sorted");class SortableSet extends Set{constructor(v,P){super(v);this._sortFn=P;this._lastActiveSortFn=E;this._cache=undefined;this._cacheOrderIndependent=undefined}add(v){this._lastActiveSortFn=E;this._invalidateCache();this._invalidateOrderedCache();super.add(v);return this}delete(v){this._invalidateCache();this._invalidateOrderedCache();return super.delete(v)}clear(){this._invalidateCache();this._invalidateOrderedCache();return super.clear()}sortWith(v){if(this.size<=1||v===this._lastActiveSortFn){return}const E=Array.from(this).sort(v);super.clear();for(let v=0;v0;E--){const P=this.stack[E-1];if(P.size>=v.size)break;this.stack[E]=P;this.stack[E-1]=v}}else{for(const[E,P]of v){this.map.set(E,P)}}}set(v,E){this.map.set(v,E)}delete(v){throw new Error("Items can't be deleted from a StackedCacheMap")}has(v){throw new Error("Checking StackedCacheMap.has before reading is inefficient, use StackedCacheMap.get and check for undefined")}get(v){for(const E of this.stack){const P=E.get(v);if(P!==undefined)return P}return this.map.get(v)}clear(){this.stack.length=0;this.map.clear()}get size(){let v=this.map.size;for(const E of this.stack){v+=E.size}return v}[Symbol.iterator](){const v=this.stack.map((v=>v[Symbol.iterator]()));let E=this.map[Symbol.iterator]();return{next(){let P=E.next();while(P.done&&v.length>0){E=v.pop();P=E.next()}return P}}}}v.exports=StackedCacheMap},83965:function(v){"use strict";const E=Symbol("tombstone");const P=Symbol("undefined");const extractPair=v=>{const R=v[0];const $=v[1];if($===P||$===E){return[R,undefined]}else{return v}};class StackedMap{constructor(v){this.map=new Map;this.stack=v===undefined?[]:v.slice();this.stack.push(this.map)}set(v,E){this.map.set(v,E===undefined?P:E)}delete(v){if(this.stack.length>1){this.map.set(v,E)}else{this.map.delete(v)}}has(v){const P=this.map.get(v);if(P!==undefined){return P!==E}if(this.stack.length>1){for(let P=this.stack.length-2;P>=0;P--){const R=this.stack[P].get(v);if(R!==undefined){this.map.set(v,R);return R!==E}}this.map.set(v,E)}return false}get(v){const R=this.map.get(v);if(R!==undefined){return R===E||R===P?undefined:R}if(this.stack.length>1){for(let R=this.stack.length-2;R>=0;R--){const $=this.stack[R].get(v);if($!==undefined){this.map.set(v,$);return $===E||$===P?undefined:$}}this.map.set(v,E)}return undefined}_compress(){if(this.stack.length===1)return;this.map=new Map;for(const v of this.stack){for(const P of v){if(P[1]===E){this.map.delete(P[0])}else{this.map.set(P[0],P[1])}}}this.stack=[this.map]}asArray(){this._compress();return Array.from(this.map.keys())}asSet(){this._compress();return new Set(this.map.keys())}asPairArray(){this._compress();return Array.from(this.map.entries(),extractPair)}asMap(){return new Map(this.asPairArray())}get size(){this._compress();return this.map.size}createChild(){return new StackedMap(this.stack)}}v.exports=StackedMap},34325:function(v){"use strict";class StringXor{constructor(){this._value=undefined}add(v){const E=v.length;const P=this._value;if(P===undefined){const P=this._value=Buffer.allocUnsafe(E);for(let R=0;R0){this._iterator=this._set[Symbol.iterator]();const v=this._iterator.next().value;this._set.delete(...v);return v}return undefined}this._set.delete(...v.value);return v.value}}v.exports=TupleQueue},32476:function(v){"use strict";class TupleSet{constructor(v){this._map=new Map;this.size=0;if(v){for(const E of v){this.add(...E)}}}add(...v){let E=this._map;for(let P=0;P{const $=R.next();if($.done){if(v.length===0)return false;E.pop();return next(v.pop())}const[N,L]=$.value;v.push(R);E.push(N);if(L instanceof Set){P=L[Symbol.iterator]();return true}else{return next(L[Symbol.iterator]())}};next(this._map[Symbol.iterator]());return{next(){while(P){const R=P.next();if(R.done){E.pop();if(!next(v.pop())){P=undefined}}else{return{done:false,value:E.concat(R.value)}}}return{done:true,value:undefined}}}}}v.exports=TupleSet},66859:function(v,E){"use strict";const P="\\".charCodeAt(0);const R="/".charCodeAt(0);const $="a".charCodeAt(0);const N="z".charCodeAt(0);const L="A".charCodeAt(0);const q="Z".charCodeAt(0);const K="0".charCodeAt(0);const ae="9".charCodeAt(0);const ge="+".charCodeAt(0);const be="-".charCodeAt(0);const xe=":".charCodeAt(0);const ve="#".charCodeAt(0);const Ae="?".charCodeAt(0);function getScheme(v){const E=v.charCodeAt(0);if((E<$||E>N)&&(Eq)){return undefined}let Ie=1;let He=v.charCodeAt(Ie);while(He>=$&&He<=N||He>=L&&He<=q||He>=K&&He<=ae||He===ge||He===be){if(++Ie===v.length)return undefined;He=v.charCodeAt(Ie)}if(He!==xe)return undefined;if(Ie===1){const E=Ie+1typeof v==="object"&&v!==null;class WeakTupleMap{constructor(){this.f=0;this.v=undefined;this.m=undefined;this.w=undefined}set(...v){let E=this;for(let P=0;P{const N=["function ",v,"(a,l,h,",R.join(","),"){",$?"":"var i=",P?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a[m]"];if($){if(E.indexOf("c")<0){N.push(";if(x===y){return m}else if(x<=y){")}else{N.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){")}}else{N.push(";if(",E,"){i=m;")}if(P){N.push("l=m+1}else{h=m-1}")}else{N.push("h=m-1}else{l=m+1}")}N.push("}");if($){N.push("return -1};")}else{N.push("return i};")}return N.join("")};const compileBoundsSearch=(v,E,P,R)=>{const $=compileSearch("A","x"+v+"y",E,["y"],R);const N=compileSearch("P","c(x,y)"+v+"0",E,["y","c"],R);const L="function dispatchBinarySearch";const q="(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBinarySearch";const K=[$,N,L,P,q,P];const ae=K.join("");const ge=new Function(ae);return ge()};v.exports={ge:compileBoundsSearch(">=",false,"GE"),gt:compileBoundsSearch(">",false,"GT"),lt:compileBoundsSearch("<",true,"LT"),le:compileBoundsSearch("<=",true,"LE"),eq:compileBoundsSearch("-",true,"EQ",true)}},43134:function(v,E){"use strict";E.getTrimmedIdsAndRange=(v,E,P,R,$)=>{let N=trimIdsToThoseImported(v,R,$);let L=E;if(N.length!==v.length){const E=P===undefined?-1:P.length+(N.length-v.length);if(E<0||E>=P.length){N=v}else{L=P[E]}}return{trimmedIds:N,trimmedRange:L}};function trimIdsToThoseImported(v,E,P){let R=[];const $=E.getExportsInfo(E.getModule(P));let N=$;for(let E=0;E{if(E===undefined)return v;if(v===undefined)return E;if(typeof E!=="object"||E===null)return E;if(typeof v!=="object"||v===null)return v;let R=P.get(v);if(R===undefined){R=new WeakMap;P.set(v,R)}const $=R.get(E);if($!==undefined)return $;const N=_cleverMerge(v,E,true);R.set(E,N);return N};const cachedSetProperty=(v,E,P)=>{let $=R.get(v);if($===undefined){$=new Map;R.set(v,$)}let N=$.get(E);if(N===undefined){N=new Map;$.set(E,N)}let L=N.get(P);if(L)return L;L={...v,[E]:P};N.set(P,L);return L};const L=new WeakMap;const cachedParseObject=v=>{const E=L.get(v);if(E!==undefined)return E;const P=parseObject(v);L.set(v,P);return P};const parseObject=v=>{const E=new Map;let P;const getInfo=v=>{const P=E.get(v);if(P!==undefined)return P;const R={base:undefined,byProperty:undefined,byValues:undefined};E.set(v,R);return R};for(const E of Object.keys(v)){if(E.startsWith("by")){const R=E;const $=v[R];if(typeof $==="object"){for(const v of Object.keys($)){const E=$[v];for(const P of Object.keys(E)){const N=getInfo(P);if(N.byProperty===undefined){N.byProperty=R;N.byValues=new Map}else if(N.byProperty!==R){throw new Error(`${R} and ${N.byProperty} for a single property is not supported`)}N.byValues.set(v,E[P]);if(v==="default"){for(const v of Object.keys($)){if(!N.byValues.has(v))N.byValues.set(v,undefined)}}}}}else if(typeof $==="function"){if(P===undefined){P={byProperty:E,fn:$}}else{throw new Error(`${E} and ${P.byProperty} when both are functions is not supported`)}}else{const P=getInfo(E);P.base=v[E]}}else{const P=getInfo(E);P.base=v[E]}}return{static:E,dynamic:P}};const serializeObject=(v,E)=>{const P={};for(const E of v.values()){if(E.byProperty!==undefined){const v=P[E.byProperty]=P[E.byProperty]||{};for(const P of E.byValues.keys()){v[P]=v[P]||{}}}}for(const[E,R]of v){if(R.base!==undefined){P[E]=R.base}if(R.byProperty!==undefined){const v=P[R.byProperty]=P[R.byProperty]||{};for(const P of Object.keys(v)){const $=getFromByValues(R.byValues,P);if($!==undefined)v[P][E]=$}}}if(E!==undefined){P[E.byProperty]=E.fn}return P};const q=0;const K=1;const ae=2;const ge=3;const be=4;const getValueType=v=>{if(v===undefined){return q}else if(v===$){return be}else if(Array.isArray(v)){if(v.lastIndexOf("...")!==-1)return ae;return K}else if(typeof v==="object"&&v!==null&&(!v.constructor||v.constructor===Object)){return ge}return K};const cleverMerge=(v,E)=>{if(E===undefined)return v;if(v===undefined)return E;if(typeof E!=="object"||E===null)return E;if(typeof v!=="object"||v===null)return v;return _cleverMerge(v,E,false)};const _cleverMerge=(v,E,P=false)=>{const R=P?cachedParseObject(v):parseObject(v);const{static:$,dynamic:L}=R;if(L!==undefined){let{byProperty:v,fn:$}=L;const q=$[N];if(q){E=P?cachedCleverMerge(q[1],E):cleverMerge(q[1],E);$=q[0]}const newFn=(...v)=>{const R=$(...v);return P?cachedCleverMerge(R,E):cleverMerge(R,E)};newFn[N]=[$,E];return serializeObject(R.static,{byProperty:v,fn:newFn})}const q=P?cachedParseObject(E):parseObject(E);const{static:K,dynamic:ae}=q;const ge=new Map;for(const[v,E]of $){const R=K.get(v);const $=R!==undefined?mergeEntries(E,R,P):E;ge.set(v,$)}for(const[v,E]of K){if(!$.has(v)){ge.set(v,E)}}return serializeObject(ge,ae)};const mergeEntries=(v,E,P)=>{switch(getValueType(E.base)){case K:case be:return E;case q:if(!v.byProperty){return{base:v.base,byProperty:E.byProperty,byValues:E.byValues}}else if(v.byProperty!==E.byProperty){throw new Error(`${v.byProperty} and ${E.byProperty} for a single property is not supported`)}else{const R=new Map(v.byValues);for(const[$,N]of E.byValues){const E=getFromByValues(v.byValues,$);R.set($,mergeSingleValue(E,N,P))}return{base:v.base,byProperty:v.byProperty,byValues:R}}default:{if(!v.byProperty){return{base:mergeSingleValue(v.base,E.base,P),byProperty:E.byProperty,byValues:E.byValues}}let R;const $=new Map(v.byValues);for(const[v,R]of $){$.set(v,mergeSingleValue(R,E.base,P))}if(Array.from(v.byValues.values()).every((v=>{const E=getValueType(v);return E===K||E===be}))){R=mergeSingleValue(v.base,E.base,P)}else{R=v.base;if(!$.has("default"))$.set("default",E.base)}if(!E.byProperty){return{base:R,byProperty:v.byProperty,byValues:$}}else if(v.byProperty!==E.byProperty){throw new Error(`${v.byProperty} and ${E.byProperty} for a single property is not supported`)}const N=new Map($);for(const[v,R]of E.byValues){const E=getFromByValues($,v);N.set(v,mergeSingleValue(E,R,P))}return{base:R,byProperty:v.byProperty,byValues:N}}}};const getFromByValues=(v,E)=>{if(E!=="default"&&v.has(E)){return v.get(E)}return v.get("default")};const mergeSingleValue=(v,E,P)=>{const R=getValueType(E);const $=getValueType(v);switch(R){case be:case K:return E;case ge:{return $!==ge?E:P?cachedCleverMerge(v,E):cleverMerge(v,E)}case q:return v;case ae:switch($!==K?$:Array.isArray(v)?ae:ge){case q:return E;case be:return E.filter((v=>v!=="..."));case ae:{const P=[];for(const R of E){if(R==="..."){for(const E of v){P.push(E)}}else{P.push(R)}}return P}case ge:return E.map((E=>E==="..."?v:E));default:throw new Error("Not implemented")}default:throw new Error("Not implemented")}};const removeOperations=v=>{const E={};for(const P of Object.keys(v)){const R=v[P];const $=getValueType(R);switch($){case q:case be:break;case ge:E[P]=removeOperations(R);break;case ae:E[P]=R.filter((v=>v!=="..."));break;default:E[P]=R;break}}return E};const resolveByProperty=(v,E,...P)=>{if(typeof v!=="object"||v===null||!(E in v)){return v}const{[E]:R,...$}=v;const N=$;const L=R;if(typeof L==="object"){const v=P[0];if(v in L){return cachedCleverMerge(N,L[v])}else if("default"in L){return cachedCleverMerge(N,L.default)}else{return N}}else if(typeof L==="function"){const v=L.apply(null,P);return cachedCleverMerge(N,resolveByProperty(v,E,...P))}};E.cachedSetProperty=cachedSetProperty;E.cachedCleverMerge=cachedCleverMerge;E.cleverMerge=cleverMerge;E.resolveByProperty=resolveByProperty;E.removeOperations=removeOperations;E.DELETE=$},80754:function(v,E,P){"use strict";const{compareRuntime:R}=P(32681);const createCachedParameterizedComparator=v=>{const E=new WeakMap;return P=>{const R=E.get(P);if(R!==undefined)return R;const $=v.bind(null,P);E.set(P,$);return $}};E.compareChunksById=(v,E)=>compareIds(v.id,E.id);E.compareModulesByIdentifier=(v,E)=>compareIds(v.identifier(),E.identifier());const compareModulesById=(v,E,P)=>compareIds(v.getModuleId(E),v.getModuleId(P));E.compareModulesById=createCachedParameterizedComparator(compareModulesById);const compareNumbers=(v,E)=>{if(typeof v!==typeof E){return typeof vE)return 1;return 0};E.compareNumbers=compareNumbers;const compareStringsNumeric=(v,E)=>{const P=v.split(/(\d+)/);const R=E.split(/(\d+)/);const $=Math.min(P.length,R.length);for(let v=0;v<$;v++){const E=P[v];const $=R[v];if(v%2===0){if(E.length>$.length){if(E.slice(0,$.length)>$)return 1;return-1}else if($.length>E.length){if($.slice(0,E.length)>E)return-1;return 1}else{if(E<$)return-1;if(E>$)return 1}}else{const v=+E;const P=+$;if(vP)return 1}}if(R.lengthP.length)return-1;return 0};E.compareStringsNumeric=compareStringsNumeric;const compareModulesByPostOrderIndexOrIdentifier=(v,E,P)=>{const R=compareNumbers(v.getPostOrderIndex(E),v.getPostOrderIndex(P));if(R!==0)return R;return compareIds(E.identifier(),P.identifier())};E.compareModulesByPostOrderIndexOrIdentifier=createCachedParameterizedComparator(compareModulesByPostOrderIndexOrIdentifier);const compareModulesByPreOrderIndexOrIdentifier=(v,E,P)=>{const R=compareNumbers(v.getPreOrderIndex(E),v.getPreOrderIndex(P));if(R!==0)return R;return compareIds(E.identifier(),P.identifier())};E.compareModulesByPreOrderIndexOrIdentifier=createCachedParameterizedComparator(compareModulesByPreOrderIndexOrIdentifier);const compareModulesByIdOrIdentifier=(v,E,P)=>{const R=compareIds(v.getModuleId(E),v.getModuleId(P));if(R!==0)return R;return compareIds(E.identifier(),P.identifier())};E.compareModulesByIdOrIdentifier=createCachedParameterizedComparator(compareModulesByIdOrIdentifier);const compareChunks=(v,E,P)=>v.compareChunks(E,P);E.compareChunks=createCachedParameterizedComparator(compareChunks);const compareIds=(v,E)=>{if(typeof v!==typeof E){return typeof vE)return 1;return 0};E.compareIds=compareIds;const compareStrings=(v,E)=>{if(vE)return 1;return 0};E.compareStrings=compareStrings;const compareChunkGroupsByIndex=(v,E)=>v.index{if(P.length>0){const[R,...$]=P;return concatComparators(v,concatComparators(E,R,...$))}const R=$.get(v,E);if(R!==undefined)return R;const result=(P,R)=>{const $=v(P,R);if($!==0)return $;return E(P,R)};$.set(v,E,result);return result};E.concatComparators=concatComparators;const N=new TwoKeyWeakMap;const compareSelect=(v,E)=>{const P=N.get(v,E);if(P!==undefined)return P;const result=(P,R)=>{const $=v(P);const N=v(R);if($!==undefined&&$!==null){if(N!==undefined&&N!==null){return E($,N)}return-1}else{if(N!==undefined&&N!==null){return 1}return 0}};N.set(v,E,result);return result};E.compareSelect=compareSelect;const L=new WeakMap;const compareIterables=v=>{const E=L.get(v);if(E!==undefined)return E;const result=(E,P)=>{const R=E[Symbol.iterator]();const $=P[Symbol.iterator]();while(true){const E=R.next();const P=$.next();if(E.done){return P.done?0:-1}else if(P.done){return 1}const N=v(E.value,P.value);if(N!==0)return N}};L.set(v,result);return result};E.compareIterables=compareIterables;E.keepOriginalOrder=v=>{const E=new Map;let P=0;for(const R of v){E.set(R,P++)}return(v,P)=>compareNumbers(E.get(v),E.get(P))};E.compareChunksNatural=v=>{const P=E.compareModulesById(v);const $=compareIterables(P);return concatComparators(compareSelect((v=>v.name),compareIds),compareSelect((v=>v.runtime),R),compareSelect((E=>v.getOrderedChunkModulesIterable(E,P)),$))};E.compareLocations=(v,E)=>{let P=typeof v==="object"&&v!==null;let R=typeof E==="object"&&E!==null;if(!P||!R){if(P)return 1;if(R)return-1;return 0}if("start"in v){if("start"in E){const P=v.start;const R=E.start;if(P.lineR.line)return 1;if(P.columnR.column)return 1}else return-1}else if("start"in E)return 1;if("name"in v){if("name"in E){if(v.nameE.name)return 1}else return-1}else if("name"in E)return 1;if("index"in v){if("index"in E){if(v.indexE.index)return 1}else return-1}else if("index"in E)return 1;return 0}},41516:function(v){"use strict";const quoteMeta=v=>v.replace(/[-[\]\\/{}()*+?.^$|]/g,"\\$&");const toSimpleString=v=>{if(`${+v}`===v){return v}return JSON.stringify(v)};const compileBooleanMatcher=v=>{const E=Object.keys(v).filter((E=>v[E]));const P=Object.keys(v).filter((E=>!v[E]));if(E.length===0)return false;if(P.length===0)return true;return compileBooleanMatcherFromLists(E,P)};const compileBooleanMatcherFromLists=(v,E)=>{if(v.length===0)return()=>"false";if(E.length===0)return()=>"true";if(v.length===1)return E=>`${toSimpleString(v[0])} == ${E}`;if(E.length===1)return v=>`${toSimpleString(E[0])} != ${v}`;const P=itemsToRegexp(v);const R=itemsToRegexp(E);if(P.length<=R.length){return v=>`/^${P}$/.test(${v})`}else{return v=>`!/^${R}$/.test(${v})`}};const popCommonItems=(v,E,P)=>{const R=new Map;for(const P of v){const v=E(P);if(v){let E=R.get(v);if(E===undefined){E=[];R.set(v,E)}E.push(P)}}const $=[];for(const E of R.values()){if(P(E)){for(const P of E){v.delete(P)}$.push(E)}}return $};const getCommonPrefix=v=>{let E=v[0];for(let P=1;P{let E=v[0];for(let P=1;P=0;v--,P--){if(R[v]!==E[P]){E=E.slice(P+1);break}}}return E};const itemsToRegexp=v=>{if(v.length===1){return quoteMeta(v[0])}const E=[];let P=0;for(const E of v){if(E.length===1){P++}}if(P===v.length){return`[${quoteMeta(v.sort().join(""))}]`}const R=new Set(v.sort());if(P>2){let v="";for(const E of R){if(E.length===1){v+=E;R.delete(E)}}E.push(`[${quoteMeta(v)}]`)}if(E.length===0&&R.size===2){const E=getCommonPrefix(v);const P=getCommonSuffix(v.map((v=>v.slice(E.length))));if(E.length>0||P.length>0){return`${quoteMeta(E)}${itemsToRegexp(v.map((v=>v.slice(E.length,-P.length||undefined))))}${quoteMeta(P)}`}}if(E.length===0&&R.size===2){const v=R[Symbol.iterator]();const E=v.next().value;const P=v.next().value;if(E.length>0&&P.length>0&&E.slice(-1)===P.slice(-1)){return`${itemsToRegexp([E.slice(0,-1),P.slice(0,-1)])}${quoteMeta(E.slice(-1))}`}}const $=popCommonItems(R,(v=>v.length>=1?v[0]:false),(v=>{if(v.length>=3)return true;if(v.length<=1)return false;return v[0][1]===v[1][1]}));for(const v of $){const P=getCommonPrefix(v);E.push(`${quoteMeta(P)}${itemsToRegexp(v.map((v=>v.slice(P.length))))}`)}const N=popCommonItems(R,(v=>v.length>=1?v.slice(-1):false),(v=>{if(v.length>=3)return true;if(v.length<=1)return false;return v[0].slice(-2)===v[1].slice(-2)}));for(const v of N){const P=getCommonSuffix(v);E.push(`${itemsToRegexp(v.map((v=>v.slice(0,-P.length))))}${quoteMeta(P)}`)}const L=E.concat(Array.from(R,quoteMeta));if(L.length===1)return L[0];return`(${L.join("|")})`};compileBooleanMatcher.fromLists=compileBooleanMatcherFromLists;compileBooleanMatcher.itemsToRegexp=itemsToRegexp;v.exports=compileBooleanMatcher},86278:function(v,E,P){"use strict";const R=P(49584);const $=R((()=>P(38476).validate));const createSchemaValidation=(v,E,N)=>{E=R(E);return R=>{if(v&&!v(R)){$()(E(),R,N);if(v){P(73837).deprecate((()=>{}),"webpack bug: Pre-compiled schema reports error while real schema is happy. This has performance drawbacks.","DEP_WEBPACK_PRE_COMPILED_SCHEMA_INVALID")()}}}};v.exports=createSchemaValidation},1558:function(v,E,P){"use strict";const R=P(41825);const $=2e3;const N={};class BulkUpdateDecorator extends R{constructor(v,E){super();this.hashKey=E;if(typeof v==="function"){this.hashFactory=v;this.hash=undefined}else{this.hashFactory=undefined;this.hash=v}this.buffer=""}update(v,E){if(E!==undefined||typeof v!=="string"||v.length>$){if(this.hash===undefined)this.hash=this.hashFactory();if(this.buffer.length>0){this.hash.update(this.buffer);this.buffer=""}this.hash.update(v,E)}else{this.buffer+=v;if(this.buffer.length>$){if(this.hash===undefined)this.hash=this.hashFactory();this.hash.update(this.buffer);this.buffer=""}}return this}digest(v){let E;const P=this.buffer;if(this.hash===undefined){const R=`${this.hashKey}-${v}`;E=N[R];if(E===undefined){E=N[R]=new Map}const $=E.get(P);if($!==undefined)return $;this.hash=this.hashFactory()}if(P.length>0){this.hash.update(P)}const R=this.hash.digest(v);const $=typeof R==="string"?R:R.toString();if(E!==undefined){E.set(P,$)}return $}}class DebugHash extends R{constructor(){super();this.string=""}update(v,E){if(typeof v!=="string")v=v.toString("utf-8");const P=Buffer.from("@webpack-debug-digest@").toString("hex");if(v.startsWith(P)){v=Buffer.from(v.slice(P.length),"hex").toString()}this.string+=`[${v}](${(new Error).stack.split("\n",3)[2]})\n`;return this}digest(v){return Buffer.from("@webpack-debug-digest@"+this.string).toString("hex")}}let L=undefined;let q=undefined;let K=undefined;let ae=undefined;v.exports=v=>{if(typeof v==="function"){return new BulkUpdateDecorator((()=>new v))}switch(v){case"debug":return new DebugHash;case"xxhash64":if(q===undefined){q=P(89501);if(ae===undefined){ae=P(40624)}}return new ae(q());case"md4":if(K===undefined){K=P(98795);if(ae===undefined){ae=P(40624)}}return new ae(K());case"native-md4":if(L===undefined)L=P(6113);return new BulkUpdateDecorator((()=>L.createHash("md4")),"md4");default:if(L===undefined)L=P(6113);return new BulkUpdateDecorator((()=>L.createHash(v)),v)}}},74962:function(v,E,P){"use strict";const R=P(73837);const $=new Map;const createDeprecation=(v,E)=>{const P=$.get(v);if(P!==undefined)return P;const N=R.deprecate((()=>{}),v,"DEP_WEBPACK_DEPRECATION_"+E);$.set(v,N);return N};const N=["concat","entry","filter","find","findIndex","includes","indexOf","join","lastIndexOf","map","reduce","reduceRight","slice","some"];const L=["copyWithin","entries","fill","keys","pop","reverse","shift","splice","sort","unshift"];E.arrayToSetDeprecation=(v,E)=>{for(const P of N){if(v[P])continue;const R=createDeprecation(`${E} was changed from Array to Set (using Array method '${P}' is deprecated)`,"ARRAY_TO_SET");v[P]=function(){R();const v=Array.from(this);return Array.prototype[P].apply(v,arguments)}}const P=createDeprecation(`${E} was changed from Array to Set (using Array method 'push' is deprecated)`,"ARRAY_TO_SET_PUSH");const R=createDeprecation(`${E} was changed from Array to Set (using Array property 'length' is deprecated)`,"ARRAY_TO_SET_LENGTH");const $=createDeprecation(`${E} was changed from Array to Set (indexing Array is deprecated)`,"ARRAY_TO_SET_INDEXER");v.push=function(){P();for(const v of Array.from(arguments)){this.add(v)}return this.size};for(const P of L){if(v[P])continue;v[P]=()=>{throw new Error(`${E} was changed from Array to Set (using Array method '${P}' is not possible)`)}}const createIndexGetter=v=>{const fn=function(){$();let E=0;for(const P of this){if(E++===v)return P}return undefined};return fn};const defineIndexGetter=P=>{Object.defineProperty(v,P,{get:createIndexGetter(P),set(v){throw new Error(`${E} was changed from Array to Set (indexing Array with write is not possible)`)}})};defineIndexGetter(0);let q=1;Object.defineProperty(v,"length",{get(){R();const v=this.size;for(q;q{let P=false;class SetDeprecatedArray extends Set{constructor(R){super(R);if(!P){P=true;E.arrayToSetDeprecation(SetDeprecatedArray.prototype,v)}}}return SetDeprecatedArray};E.soonFrozenObjectDeprecation=(v,E,P,$="")=>{const N=`${E} will be frozen in future, all modifications are deprecated.${$&&`\n${$}`}`;return new Proxy(v,{set:R.deprecate(((v,E,P,R)=>Reflect.set(v,E,P,R)),N,P),defineProperty:R.deprecate(((v,E,P)=>Reflect.defineProperty(v,E,P)),N,P),deleteProperty:R.deprecate(((v,E)=>Reflect.deleteProperty(v,E)),N,P),setPrototypeOf:R.deprecate(((v,E)=>Reflect.setPrototypeOf(v,E)),N,P)})};const deprecateAllProperties=(v,E,P)=>{const $={};const N=Object.getOwnPropertyDescriptors(v);for(const v of Object.keys(N)){const L=N[v];if(typeof L.value==="function"){Object.defineProperty($,v,{...L,value:R.deprecate(L.value,E,P)})}else if(L.get||L.set){Object.defineProperty($,v,{...L,get:L.get&&R.deprecate(L.get,E,P),set:L.set&&R.deprecate(L.set,E,P)})}else{let N=L.value;Object.defineProperty($,v,{configurable:L.configurable,enumerable:L.enumerable,get:R.deprecate((()=>N),E,P),set:L.writable?R.deprecate((v=>N=v),E,P):undefined})}}return $};E.deprecateAllProperties=deprecateAllProperties;E.createFakeHook=(v,E,P)=>{if(E&&P){v=deprecateAllProperties(v,E,P)}return Object.freeze(Object.assign(v,{_fakeHook:true}))}},83348:function(v){"use strict";const similarity=(v,E)=>{const P=Math.min(v.length,E.length);let R=0;for(let $=0;${const R=Math.min(v.length,E.length);let $=0;while(${for(const P of Object.keys(E)){v[P]=(v[P]||0)+E[P]}};const subtractSizeFrom=(v,E)=>{for(const P of Object.keys(E)){v[P]-=E[P]}};const sumSize=v=>{const E=Object.create(null);for(const P of v){addSizeTo(E,P.size)}return E};const isTooBig=(v,E)=>{for(const P of Object.keys(v)){const R=v[P];if(R===0)continue;const $=E[P];if(typeof $==="number"){if(R>$)return true}}return false};const isTooSmall=(v,E)=>{for(const P of Object.keys(v)){const R=v[P];if(R===0)continue;const $=E[P];if(typeof $==="number"){if(R<$)return true}}return false};const getTooSmallTypes=(v,E)=>{const P=new Set;for(const R of Object.keys(v)){const $=v[R];if($===0)continue;const N=E[R];if(typeof N==="number"){if(${let P=0;for(const R of Object.keys(v)){if(v[R]!==0&&E.has(R))P++}return P};const selectiveSizeSum=(v,E)=>{let P=0;for(const R of Object.keys(v)){if(v[R]!==0&&E.has(R))P+=v[R]}return P};class Node{constructor(v,E,P){this.item=v;this.key=E;this.size=P}}class Group{constructor(v,E,P){this.nodes=v;this.similarities=E;this.size=P||sumSize(v);this.key=undefined}popNodes(v){const E=[];const P=[];const R=[];let $;for(let N=0;N0){P.push($===this.nodes[N-1]?this.similarities[N-1]:similarity($.key,L.key))}E.push(L);$=L}}if(R.length===this.nodes.length)return undefined;this.nodes=E;this.similarities=P;this.size=sumSize(E);return R}}const getSimilarities=v=>{const E=[];let P=undefined;for(const R of v){if(P!==undefined){E.push(similarity(P.key,R.key))}P=R}return E};v.exports=({maxSize:v,minSize:E,items:P,getSize:R,getKey:$})=>{const N=[];const L=Array.from(P,(v=>new Node(v,$(v),R(v))));const q=[];L.sort(((v,E)=>{if(v.keyE.key)return 1;return 0}));for(const P of L){if(isTooBig(P.size,v)&&!isTooSmall(P.size,E)){N.push(new Group([P],[]))}else{q.push(P)}}if(q.length>0){const P=new Group(q,getSimilarities(q));const removeProblematicNodes=(v,P=v.size)=>{const R=getTooSmallTypes(P,E);if(R.size>0){const E=v.popNodes((v=>getNumberOfMatchingSizeTypes(v.size,R)>0));if(E===undefined)return false;const P=N.filter((v=>getNumberOfMatchingSizeTypes(v.size,R)>0));if(P.length>0){const v=P.reduce(((v,E)=>{const P=getNumberOfMatchingSizeTypes(v,R);const $=getNumberOfMatchingSizeTypes(E,R);if(P!==$)return P<$?E:v;if(selectiveSizeSum(v.size,R)>selectiveSizeSum(E.size,R))return E;return v}));for(const P of E)v.nodes.push(P);v.nodes.sort(((v,E)=>{if(v.keyE.key)return 1;return 0}))}else{N.push(new Group(E,null))}return true}else{return false}};if(P.nodes.length>0){const R=[P];while(R.length){const P=R.pop();if(!isTooBig(P.size,v)){N.push(P);continue}if(removeProblematicNodes(P)){R.push(P);continue}let $=1;let L=Object.create(null);addSizeTo(L,P.nodes[0].size);while($=0&&isTooSmall(K,E)){addSizeTo(K,P.nodes[q].size);q--}if($-1>q){let v;if(q{if(v.nodes[0].keyE.nodes[0].key)return 1;return 0}));const K=new Set;for(let v=0;v({key:v.key,items:v.nodes.map((v=>v.item)),size:v.size})))}},96637:function(v){"use strict";v.exports=function extractUrlAndGlobal(v){const E=v.indexOf("@");if(E<=0||E===v.length-1){throw new Error(`Invalid request "${v}"`)}return[v.substring(E+1),v.substring(0,E)]}},54985:function(v){"use strict";const E=0;const P=1;const R=2;const $=3;const N=4;class Node{constructor(v){this.item=v;this.dependencies=new Set;this.marker=E;this.cycle=undefined;this.incoming=0}}class Cycle{constructor(){this.nodes=new Set}}v.exports=(v,L)=>{const q=new Map;for(const E of v){const v=new Node(E);q.set(E,v)}if(q.size<=1)return v;for(const v of q.values()){for(const E of L(v.item)){const P=q.get(E);if(P!==undefined){v.dependencies.add(P)}}}const K=new Set;const ae=new Set;for(const v of q.values()){if(v.marker===E){v.marker=P;const L=[{node:v,openEdges:Array.from(v.dependencies)}];while(L.length>0){const v=L[L.length-1];if(v.openEdges.length>0){const q=v.openEdges.pop();switch(q.marker){case E:L.push({node:q,openEdges:Array.from(q.dependencies)});q.marker=P;break;case P:{let v=q.cycle;if(!v){v=new Cycle;v.nodes.add(q);q.cycle=v}for(let E=L.length-1;L[E].node!==q;E--){const P=L[E].node;if(P.cycle){if(P.cycle!==v){for(const E of P.cycle.nodes){E.cycle=v;v.nodes.add(E)}}}else{P.cycle=v;v.nodes.add(P)}}break}case N:q.marker=R;K.delete(q);break;case $:ae.delete(q.cycle);q.marker=R;break}}else{L.pop();v.node.marker=R}}const q=v.cycle;if(q){for(const v of q.nodes){v.marker=$}ae.add(q)}else{v.marker=N;K.add(v)}}}for(const v of ae){let E=0;const P=new Set;const R=v.nodes;for(const v of R){for(const $ of v.dependencies){if(R.has($)){$.incoming++;if($.incomingE){P.clear();E=$.incoming}P.add($)}}}for(const v of P){K.add(v)}}if(K.size>0){return Array.from(K,(v=>v.item))}else{throw new Error("Implementation of findGraphRoots is broken")}}},23763:function(v,E,P){"use strict";const R=P(71017);const relative=(v,E,P)=>{if(v&&v.relative){return v.relative(E,P)}else if(R.posix.isAbsolute(E)){return R.posix.relative(E,P)}else if(R.win32.isAbsolute(E)){return R.win32.relative(E,P)}else{throw new Error(`${E} is neither a posix nor a windows path, and there is no 'relative' method defined in the file system`)}};E.relative=relative;const join=(v,E,P)=>{if(v&&v.join){return v.join(E,P)}else if(R.posix.isAbsolute(E)){return R.posix.join(E,P)}else if(R.win32.isAbsolute(E)){return R.win32.join(E,P)}else{throw new Error(`${E} is neither a posix nor a windows path, and there is no 'join' method defined in the file system`)}};E.join=join;const dirname=(v,E)=>{if(v&&v.dirname){return v.dirname(E)}else if(R.posix.isAbsolute(E)){return R.posix.dirname(E)}else if(R.win32.isAbsolute(E)){return R.win32.dirname(E)}else{throw new Error(`${E} is neither a posix nor a windows path, and there is no 'dirname' method defined in the file system`)}};E.dirname=dirname;const mkdirp=(v,E,P)=>{v.mkdir(E,(R=>{if(R){if(R.code==="ENOENT"){const $=dirname(v,E);if($===E){P(R);return}mkdirp(v,$,(R=>{if(R){P(R);return}v.mkdir(E,(v=>{if(v){if(v.code==="EEXIST"){P();return}P(v);return}P()}))}));return}else if(R.code==="EEXIST"){P();return}P(R);return}P()}))};E.mkdirp=mkdirp;const mkdirpSync=(v,E)=>{try{v.mkdirSync(E)}catch(P){if(P){if(P.code==="ENOENT"){const R=dirname(v,E);if(R===E){throw P}mkdirpSync(v,R);v.mkdirSync(E);return}else if(P.code==="EEXIST"){return}throw P}}};E.mkdirpSync=mkdirpSync;const readJson=(v,E,P)=>{if("readJson"in v)return v.readJson(E,P);v.readFile(E,((v,E)=>{if(v)return P(v);let R;try{R=JSON.parse(E.toString("utf-8"))}catch(v){return P(v)}return P(null,R)}))};E.readJson=readJson;const lstatReadlinkAbsolute=(v,E,P)=>{let R=3;const doReadLink=()=>{v.readlink(E,(($,N)=>{if($&&--R>0){return doStat()}if($||!N)return doStat();const L=N.toString();P(null,join(v,dirname(v,E),L))}))};const doStat=()=>{if("lstat"in v){return v.lstat(E,((v,E)=>{if(v)return P(v);if(E.isSymbolicLink()){return doReadLink()}P(null,E)}))}else{return v.stat(E,P)}};if("lstat"in v)return doStat();doReadLink()};E.lstatReadlinkAbsolute=lstatReadlinkAbsolute},40624:function(v,E,P){"use strict";const R=P(41825);const $=P(27545).MAX_SHORT_STRING;class BatchedHash extends R{constructor(v){super();this.string=undefined;this.encoding=undefined;this.hash=v}update(v,E){if(this.string!==undefined){if(typeof v==="string"&&E===this.encoding&&this.string.length+v.length<$){this.string+=v;return this}this.hash.update(this.string,this.encoding);this.string=undefined}if(typeof v==="string"){if(v.length<$&&(!E||!E.startsWith("ba"))){this.string=v;this.encoding=E}else{this.hash.update(v,E)}}else{this.hash.update(v)}return this}digest(v){if(this.string!==undefined){this.hash.update(this.string,this.encoding)}return this.hash.digest(v)}}v.exports=BatchedHash},98795:function(v,E,P){"use strict";const R=P(27545);const $=new WebAssembly.Module(Buffer.from("AGFzbQEAAAABCAJgAX8AYAAAAwUEAQAAAAUDAQABBhoFfwFBAAt/AUEAC38BQQALfwFBAAt/AUEACwciBARpbml0AAAGdXBkYXRlAAIFZmluYWwAAwZtZW1vcnkCAAqJEAQmAEGBxpS6BiQBQYnXtv5+JAJB/rnrxXkkA0H2qMmBASQEQQAkAAvQCgEZfyMBIQUjAiECIwMhAyMEIQQDQCAAIAFLBEAgASgCBCIOIAQgAyABKAIAIg8gBSAEIAIgAyAEc3FzampBA3ciCCACIANzcXNqakEHdyEJIAEoAgwiBiACIAggASgCCCIQIAMgAiAJIAIgCHNxc2pqQQt3IgogCCAJc3FzampBE3chCyABKAIUIgcgCSAKIAEoAhAiESAIIAkgCyAJIApzcXNqakEDdyIMIAogC3Nxc2pqQQd3IQ0gASgCHCIJIAsgDCABKAIYIgggCiALIA0gCyAMc3FzampBC3ciEiAMIA1zcXNqakETdyETIAEoAiQiFCANIBIgASgCICIVIAwgDSATIA0gEnNxc2pqQQN3IgwgEiATc3FzampBB3chDSABKAIsIgsgEyAMIAEoAigiCiASIBMgDSAMIBNzcXNqakELdyISIAwgDXNxc2pqQRN3IRMgASgCNCIWIA0gEiABKAIwIhcgDCANIBMgDSASc3FzampBA3ciGCASIBNzcXNqakEHdyEZIBggASgCPCINIBMgGCABKAI4IgwgEiATIBkgEyAYc3FzampBC3ciEiAYIBlzcXNqakETdyITIBIgGXJxIBIgGXFyaiAPakGZ84nUBWpBA3ciGCATIBIgGSAYIBIgE3JxIBIgE3FyaiARakGZ84nUBWpBBXciEiATIBhycSATIBhxcmogFWpBmfOJ1AVqQQl3IhMgEiAYcnEgEiAYcXJqIBdqQZnzidQFakENdyIYIBIgE3JxIBIgE3FyaiAOakGZ84nUBWpBA3ciGSAYIBMgEiAZIBMgGHJxIBMgGHFyaiAHakGZ84nUBWpBBXciEiAYIBlycSAYIBlxcmogFGpBmfOJ1AVqQQl3IhMgEiAZcnEgEiAZcXJqIBZqQZnzidQFakENdyIYIBIgE3JxIBIgE3FyaiAQakGZ84nUBWpBA3ciGSAYIBMgEiAZIBMgGHJxIBMgGHFyaiAIakGZ84nUBWpBBXciEiAYIBlycSAYIBlxcmogCmpBmfOJ1AVqQQl3IhMgEiAZcnEgEiAZcXJqIAxqQZnzidQFakENdyIYIBIgE3JxIBIgE3FyaiAGakGZ84nUBWpBA3ciGSAYIBMgEiAZIBMgGHJxIBMgGHFyaiAJakGZ84nUBWpBBXciEiAYIBlycSAYIBlxcmogC2pBmfOJ1AVqQQl3IhMgEiAZcnEgEiAZcXJqIA1qQZnzidQFakENdyIYIBNzIBJzaiAPakGh1+f2BmpBA3ciDyAYIBMgEiAPIBhzIBNzaiAVakGh1+f2BmpBCXciEiAPcyAYc2ogEWpBodfn9gZqQQt3IhEgEnMgD3NqIBdqQaHX5/YGakEPdyIPIBFzIBJzaiAQakGh1+f2BmpBA3ciECAPIBEgEiAPIBBzIBFzaiAKakGh1+f2BmpBCXciCiAQcyAPc2ogCGpBodfn9gZqQQt3IgggCnMgEHNqIAxqQaHX5/YGakEPdyIMIAhzIApzaiAOakGh1+f2BmpBA3ciDiAMIAggCiAMIA5zIAhzaiAUakGh1+f2BmpBCXciCCAOcyAMc2ogB2pBodfn9gZqQQt3IgcgCHMgDnNqIBZqQaHX5/YGakEPdyIKIAdzIAhzaiAGakGh1+f2BmpBA3ciBiAFaiEFIAIgCiAHIAggBiAKcyAHc2ogC2pBodfn9gZqQQl3IgcgBnMgCnNqIAlqQaHX5/YGakELdyIIIAdzIAZzaiANakGh1+f2BmpBD3dqIQIgAyAIaiEDIAQgB2ohBCABQUBrIQEMAQsLIAUkASACJAIgAyQDIAQkBAsNACAAEAEjACAAaiQAC/8EAgN/AX4jACAAaq1CA4YhBCAAQcgAakFAcSICQQhrIQMgACIBQQFqIQAgAUGAAToAAANAIAAgAklBACAAQQdxGwRAIABBADoAACAAQQFqIQAMAQsLA0AgACACSQRAIABCADcDACAAQQhqIQAMAQsLIAMgBDcDACACEAFBACMBrSIEQv//A4MgBEKAgPz/D4NCEIaEIgRC/4GAgPAfgyAEQoD+g4CA4D+DQgiGhCIEQo+AvIDwgcAHg0IIhiAEQvCBwIeAnoD4AINCBIiEIgRChoyYsODAgYMGfEIEiEKBgoSIkKDAgAGDQid+IARCsODAgYOGjJgwhHw3AwBBCCMCrSIEQv//A4MgBEKAgPz/D4NCEIaEIgRC/4GAgPAfgyAEQoD+g4CA4D+DQgiGhCIEQo+AvIDwgcAHg0IIhiAEQvCBwIeAnoD4AINCBIiEIgRChoyYsODAgYMGfEIEiEKBgoSIkKDAgAGDQid+IARCsODAgYOGjJgwhHw3AwBBECMDrSIEQv//A4MgBEKAgPz/D4NCEIaEIgRC/4GAgPAfgyAEQoD+g4CA4D+DQgiGhCIEQo+AvIDwgcAHg0IIhiAEQvCBwIeAnoD4AINCBIiEIgRChoyYsODAgYMGfEIEiEKBgoSIkKDAgAGDQid+IARCsODAgYOGjJgwhHw3AwBBGCMErSIEQv//A4MgBEKAgPz/D4NCEIaEIgRC/4GAgPAfgyAEQoD+g4CA4D+DQgiGhCIEQo+AvIDwgcAHg0IIhiAEQvCBwIeAnoD4AINCBIiEIgRChoyYsODAgYMGfEIEiEKBgoSIkKDAgAGDQid+IARCsODAgYOGjJgwhHw3AwAL","base64"));v.exports=R.bind(null,$,[],64,32)},27545:function(v){"use strict";const E=Math.floor((65536-64)/4)&~3;class WasmHash{constructor(v,E,P,R){const $=v.exports;$.init();this.exports=$;this.mem=Buffer.from($.memory.buffer,0,65536);this.buffered=0;this.instancesPool=E;this.chunkSize=P;this.digestSize=R}reset(){this.buffered=0;this.exports.init()}update(v,P){if(typeof v==="string"){while(v.length>E){this._updateWithShortString(v.slice(0,E),P);v=v.slice(E)}this._updateWithShortString(v,P);return this}this._updateWithBuffer(v);return this}_updateWithShortString(v,E){const{exports:P,buffered:R,mem:$,chunkSize:N}=this;let L;if(v.length<70){if(!E||E==="utf-8"||E==="utf8"){L=R;for(let P=0;P>6|192;$[L+1]=R&63|128;L+=2}else{L+=$.write(v.slice(P),L,E);break}}}else if(E==="latin1"){L=R;for(let E=0;E0)$.copyWithin(0,v,L)}}_updateWithBuffer(v){const{exports:E,buffered:P,mem:R}=this;const $=v.length;if(P+$65536){let $=65536-P;v.copy(R,P,0,$);E.update(65536);const L=N-P-65536;while($0)v.copy(R,0,$-L,$)}}digest(v){const{exports:E,buffered:P,mem:R,digestSize:$}=this;E.final(P);this.instancesPool.push(this);const N=R.toString("latin1",0,$);if(v==="hex")return N;if(v==="binary"||!v)return Buffer.from(N,"hex");return Buffer.from(N,"hex").toString(v)}}const create=(v,E,P,R)=>{if(E.length>0){const v=E.pop();v.reset();return v}else{return new WasmHash(new WebAssembly.Instance(v),E,P,R)}};v.exports=create;v.exports.MAX_SHORT_STRING=E},89501:function(v,E,P){"use strict";const R=P(27545);const $=new WebAssembly.Module(Buffer.from("AGFzbQEAAAABCAJgAX8AYAAAAwQDAQAABQMBAAEGGgV+AUIAC34BQgALfgFCAAt+AUIAC34BQgALByIEBGluaXQAAAZ1cGRhdGUAAQVmaW5hbAACBm1lbW9yeQIACrAIAzAAQtbrgu7q/Yn14AAkAELP1tO+0ser2UIkAUIAJAJC+erQ0OfJoeThACQDQgAkBAvUAQIBfwR+IABFBEAPCyMEIACtfCQEIwAhAiMBIQMjAiEEIwMhBQNAIAIgASkDAELP1tO+0ser2UJ+fEIfiUKHla+vmLbem55/fiECIAMgASkDCELP1tO+0ser2UJ+fEIfiUKHla+vmLbem55/fiEDIAQgASkDEELP1tO+0ser2UJ+fEIfiUKHla+vmLbem55/fiEEIAUgASkDGELP1tO+0ser2UJ+fEIfiUKHla+vmLbem55/fiEFIAFBIGoiASAASQ0ACyACJAAgAyQBIAQkAiAFJAMLpgYCAn8EfiMEQgBSBH4jACIDQgGJIwEiBEIHiXwjAiIFQgyJfCMDIgZCEol8IANCz9bTvtLHq9lCfkIfiUKHla+vmLbem55/foVCh5Wvr5i23puef35CnaO16oOxjYr6AH0gBELP1tO+0ser2UJ+Qh+JQoeVr6+Ytt6bnn9+hUKHla+vmLbem55/fkKdo7Xqg7GNivoAfSAFQs/W077Sx6vZQn5CH4lCh5Wvr5i23puef36FQoeVr6+Ytt6bnn9+Qp2jteqDsY2K+gB9IAZCz9bTvtLHq9lCfkIfiUKHla+vmLbem55/foVCh5Wvr5i23puef35CnaO16oOxjYr6AH0FQsXP2bLx5brqJwsjBCAArXx8IQMDQCABQQhqIgIgAE0EQCADIAEpAwBCz9bTvtLHq9lCfkIfiUKHla+vmLbem55/foVCG4lCh5Wvr5i23puef35CnaO16oOxjYr6AH0hAyACIQEMAQsLIAFBBGoiAiAATQRAIAMgATUCAEKHla+vmLbem55/foVCF4lCz9bTvtLHq9lCfkL5893xmfaZqxZ8IQMgAiEBCwNAIAAgAUcEQCADIAExAABCxc/ZsvHluuonfoVCC4lCh5Wvr5i23puef34hAyABQQFqIQEMAQsLQQAgAyADQiGIhULP1tO+0ser2UJ+IgNCHYggA4VC+fPd8Zn2masWfiIDQiCIIAOFIgNCIIgiBEL//wODQiCGIARCgID8/w+DQhCIhCIEQv+BgIDwH4NCEIYgBEKA/oOAgOA/g0IIiIQiBEKPgLyA8IHAB4NCCIYgBELwgcCHgJ6A+ACDQgSIhCIEQoaMmLDgwIGDBnxCBIhCgYKEiJCgwIABg0InfiAEQrDgwIGDhoyYMIR8NwMAQQggA0L/////D4MiA0L//wODQiCGIANCgID8/w+DQhCIhCIDQv+BgIDwH4NCEIYgA0KA/oOAgOA/g0IIiIQiA0KPgLyA8IHAB4NCCIYgA0LwgcCHgJ6A+ACDQgSIhCIDQoaMmLDgwIGDBnxCBIhCgYKEiJCgwIABg0InfiADQrDgwIGDhoyYMIR8NwMACw==","base64"));v.exports=R.bind(null,$,[],32,16)},94778:function(v,E,P){"use strict";const R=P(71017);const $=/^[a-zA-Z]:[\\/]/;const N=/([|!])/;const L=/\\/g;const relativePathToRequest=v=>{if(v==="")return"./.";if(v==="..")return"../.";if(v.startsWith("../"))return v;return`./${v}`};const absoluteToRequest=(v,E)=>{if(E[0]==="/"){if(E.length>1&&E[E.length-1]==="/"){return E}const P=E.indexOf("?");let $=P===-1?E:E.slice(0,P);$=relativePathToRequest(R.posix.relative(v,$));return P===-1?$:$+E.slice(P)}if($.test(E)){const P=E.indexOf("?");let N=P===-1?E:E.slice(0,P);N=R.win32.relative(v,N);if(!$.test(N)){N=relativePathToRequest(N.replace(L,"/"))}return P===-1?N:N+E.slice(P)}return E};const requestToAbsolute=(v,E)=>{if(E.startsWith("./")||E.startsWith("../"))return R.join(v,E);return E};const makeCacheable=v=>{const E=new WeakMap;const getCache=v=>{const P=E.get(v);if(P!==undefined)return P;const R=new Map;E.set(v,R);return R};const fn=(E,P)=>{if(!P)return v(E);const R=getCache(P);const $=R.get(E);if($!==undefined)return $;const N=v(E);R.set(E,N);return N};fn.bindCache=E=>{const P=getCache(E);return E=>{const R=P.get(E);if(R!==undefined)return R;const $=v(E);P.set(E,$);return $}};return fn};const makeCacheableWithContext=v=>{const E=new WeakMap;const cachedFn=(P,R,$)=>{if(!$)return v(P,R);let N=E.get($);if(N===undefined){N=new Map;E.set($,N)}let L;let q=N.get(P);if(q===undefined){N.set(P,q=new Map)}else{L=q.get(R)}if(L!==undefined){return L}else{const E=v(P,R);q.set(R,E);return E}};cachedFn.bindCache=P=>{let R;if(P){R=E.get(P);if(R===undefined){R=new Map;E.set(P,R)}}else{R=new Map}const boundFn=(E,P)=>{let $;let N=R.get(E);if(N===undefined){R.set(E,N=new Map)}else{$=N.get(P)}if($!==undefined){return $}else{const R=v(E,P);N.set(P,R);return R}};return boundFn};cachedFn.bindContextCache=(P,R)=>{let $;if(R){let v=E.get(R);if(v===undefined){v=new Map;E.set(R,v)}$=v.get(P);if($===undefined){v.set(P,$=new Map)}}else{$=new Map}const boundFn=E=>{const R=$.get(E);if(R!==undefined){return R}else{const R=v(P,E);$.set(E,R);return R}};return boundFn};return cachedFn};const _makePathsRelative=(v,E)=>E.split(N).map((E=>absoluteToRequest(v,E))).join("");E.makePathsRelative=makeCacheableWithContext(_makePathsRelative);const _makePathsAbsolute=(v,E)=>E.split(N).map((E=>requestToAbsolute(v,E))).join("");E.makePathsAbsolute=makeCacheableWithContext(_makePathsAbsolute);const _contextify=(v,E)=>E.split("!").map((E=>absoluteToRequest(v,E))).join("!");const q=makeCacheableWithContext(_contextify);E.contextify=q;const _absolutify=(v,E)=>E.split("!").map((E=>requestToAbsolute(v,E))).join("!");const K=makeCacheableWithContext(_absolutify);E.absolutify=K;const ae=/^((?:\0.|[^?#\0])*)(\?(?:\0.|[^#\0])*)?(#.*)?$/;const ge=/^((?:\0.|[^?\0])*)(\?.*)?$/;const _parseResource=v=>{const E=ae.exec(v);return{resource:v,path:E[1].replace(/\0(.)/g,"$1"),query:E[2]?E[2].replace(/\0(.)/g,"$1"):"",fragment:E[3]||""}};E.parseResource=makeCacheable(_parseResource);const _parseResourceWithoutFragment=v=>{const E=ge.exec(v);return{resource:v,path:E[1].replace(/\0(.)/g,"$1"),query:E[2]?E[2].replace(/\0(.)/g,"$1"):""}};E.parseResourceWithoutFragment=makeCacheable(_parseResourceWithoutFragment);E.getUndoPath=(v,E,P)=>{let R=-1;let $="";E=E.replace(/[\\/]$/,"");for(const P of v.split(/[/\\]+/)){if(P===".."){if(R>-1){R--}else{const v=E.lastIndexOf("/");const P=E.lastIndexOf("\\");const R=v<0?P:P<0?v:Math.max(v,P);if(R<0)return E+"/";$=E.slice(R+1)+"/"+$;E=E.slice(0,R)}}else if(P!=="."){R++}}return R>0?`${"../".repeat(R)}${$}`:P?`./${$}`:$}},64015:function(v,E,P){"use strict";v.exports={AsyncDependenciesBlock:()=>P(75165),CommentCompilationWarning:()=>P(26596),ContextModule:()=>P(71073),"cache/PackFileCacheStrategy":()=>P(25762),"cache/ResolverCachePlugin":()=>P(87654),"container/ContainerEntryDependency":()=>P(37242),"container/ContainerEntryModule":()=>P(75548),"container/ContainerExposedDependency":()=>P(70692),"container/FallbackDependency":()=>P(62664),"container/FallbackItemDependency":()=>P(10431),"container/FallbackModule":()=>P(58791),"container/RemoteModule":()=>P(1883),"container/RemoteToExternalDependency":()=>P(57268),"dependencies/AMDDefineDependency":()=>P(98961),"dependencies/AMDRequireArrayDependency":()=>P(81951),"dependencies/AMDRequireContextDependency":()=>P(17450),"dependencies/AMDRequireDependenciesBlock":()=>P(36689),"dependencies/AMDRequireDependency":()=>P(69005),"dependencies/AMDRequireItemDependency":()=>P(73457),"dependencies/CachedConstDependency":()=>P(76092),"dependencies/ExternalModuleDependency":()=>P(92449),"dependencies/ExternalModuleInitFragment":()=>P(13427),"dependencies/CreateScriptUrlDependency":()=>P(15927),"dependencies/CommonJsRequireContextDependency":()=>P(67977),"dependencies/CommonJsExportRequireDependency":()=>P(41161),"dependencies/CommonJsExportsDependency":()=>P(53616),"dependencies/CommonJsFullRequireDependency":()=>P(63532),"dependencies/CommonJsRequireDependency":()=>P(60803),"dependencies/CommonJsSelfReferenceDependency":()=>P(12346),"dependencies/ConstDependency":()=>P(52540),"dependencies/ContextDependency":()=>P(80070),"dependencies/ContextElementDependency":()=>P(92007),"dependencies/CriticalDependencyWarning":()=>P(85670),"dependencies/CssImportDependency":()=>P(31563),"dependencies/CssLocalIdentifierDependency":()=>P(45949),"dependencies/CssSelfLocalIdentifierDependency":()=>P(13267),"dependencies/CssExportDependency":()=>P(87923),"dependencies/CssUrlDependency":()=>P(99877),"dependencies/DelegatedSourceDependency":()=>P(61957),"dependencies/DllEntryDependency":()=>P(3784),"dependencies/EntryDependency":()=>P(93342),"dependencies/ExportsInfoDependency":()=>P(14578),"dependencies/HarmonyAcceptDependency":()=>P(80535),"dependencies/HarmonyAcceptImportDependency":()=>P(11459),"dependencies/HarmonyCompatibilityDependency":()=>P(73657),"dependencies/HarmonyExportExpressionDependency":()=>P(99534),"dependencies/HarmonyExportHeaderDependency":()=>P(48200),"dependencies/HarmonyExportImportedSpecifierDependency":()=>P(47503),"dependencies/HarmonyExportSpecifierDependency":()=>P(68981),"dependencies/HarmonyImportSideEffectDependency":()=>P(65295),"dependencies/HarmonyImportSpecifierDependency":()=>P(59129),"dependencies/HarmonyEvaluatedImportSpecifierDependency":()=>P(62731),"dependencies/ImportContextDependency":()=>P(66210),"dependencies/ImportDependency":()=>P(66027),"dependencies/ImportEagerDependency":()=>P(11877),"dependencies/ImportWeakDependency":()=>P(97972),"dependencies/JsonExportsDependency":()=>P(32871),"dependencies/LocalModule":()=>P(21853),"dependencies/LocalModuleDependency":()=>P(11961),"dependencies/ModuleDecoratorDependency":()=>P(16199),"dependencies/ModuleHotAcceptDependency":()=>P(29981),"dependencies/ModuleHotDeclineDependency":()=>P(44768),"dependencies/ImportMetaHotAcceptDependency":()=>P(30369),"dependencies/ImportMetaHotDeclineDependency":()=>P(18680),"dependencies/ImportMetaContextDependency":()=>P(70633),"dependencies/ProvidedDependency":()=>P(74057),"dependencies/PureExpressionDependency":()=>P(8154),"dependencies/RequireContextDependency":()=>P(62583),"dependencies/RequireEnsureDependenciesBlock":()=>P(71096),"dependencies/RequireEnsureDependency":()=>P(2329),"dependencies/RequireEnsureItemDependency":()=>P(27957),"dependencies/RequireHeaderDependency":()=>P(15341),"dependencies/RequireIncludeDependency":()=>P(1915),"dependencies/RequireIncludeDependencyParserPlugin":()=>P(94653),"dependencies/RequireResolveContextDependency":()=>P(42636),"dependencies/RequireResolveDependency":()=>P(98474),"dependencies/RequireResolveHeaderDependency":()=>P(79968),"dependencies/RuntimeRequirementsDependency":()=>P(44870),"dependencies/StaticExportsDependency":()=>P(88929),"dependencies/SystemPlugin":()=>P(98786),"dependencies/UnsupportedDependency":()=>P(60461),"dependencies/URLDependency":()=>P(92072),"dependencies/WebAssemblyExportImportedDependency":()=>P(54657),"dependencies/WebAssemblyImportDependency":()=>P(52593),"dependencies/WebpackIsIncludedDependency":()=>P(56868),"dependencies/WorkerDependency":()=>P(71271),"json/JsonData":()=>P(18489),"optimize/ConcatenatedModule":()=>P(20307),DelegatedModule:()=>P(56951),DependenciesBlock:()=>P(27449),DllModule:()=>P(98511),ExternalModule:()=>P(645),FileSystemInfo:()=>P(62304),InitFragment:()=>P(94252),InvalidDependenciesModuleWarning:()=>P(57836),Module:()=>P(82919),ModuleBuildError:()=>P(41450),ModuleDependencyWarning:()=>P(68250),ModuleError:()=>P(75830),ModuleGraph:()=>P(22425),ModuleParseError:()=>P(78314),ModuleWarning:()=>P(76747),NormalModule:()=>P(44208),CssModule:()=>P(58019),RawDataUrlModule:()=>P(85808),RawModule:()=>P(87122),"sharing/ConsumeSharedModule":()=>P(77616),"sharing/ConsumeSharedFallbackDependency":()=>P(70101),"sharing/ProvideSharedModule":()=>P(2374),"sharing/ProvideSharedDependency":()=>P(28701),"sharing/ProvideForSharedDependency":()=>P(46079),UnsupportedFeatureWarning:()=>P(31524),"util/LazySet":()=>P(95259),UnhandledSchemeError:()=>P(67815),NodeStuffInWebError:()=>P(3044),EnvironmentNotSupportAsyncWarning:()=>P(67169),WebpackError:()=>P(45425),"util/registerExternalSerializer":()=>{}}},74364:function(v,E,P){"use strict";const{register:R}=P(56944);class ClassSerializer{constructor(v){this.Constructor=v}serialize(v,E){v.serialize(E)}deserialize(v){if(typeof this.Constructor.deserialize==="function"){return this.Constructor.deserialize(v)}const E=new this.Constructor;E.deserialize(v);return E}}v.exports=(v,E,P=null)=>{R(v,E,P,new ClassSerializer(v))}},49584:function(v){"use strict";const memoize=v=>{let E=false;let P=undefined;return()=>{if(E){return P}else{P=v();E=true;v=undefined;return P}}};v.exports=memoize},54411:function(v){"use strict";const E="a".charCodeAt(0);v.exports=(v,P)=>{if(P<1)return"";const R=v.slice(0,P);if(R.match(/[^\d]/))return R;return`${String.fromCharCode(E+parseInt(v[0],10)%6)}${R.slice(1)}`}},63985:function(v){"use strict";const E=2147483648;const P=E-1;const R=4;const $=[0,0,0,0,0];const N=[3,7,17,19];v.exports=(v,L)=>{$.fill(0);for(let E=0;E>1;$[1]=$[1]^$[$[1]%R]>>1;$[2]=$[2]^$[$[2]%R]>>1;$[3]=$[3]^$[$[3]%R]>>1}if(L<=P){return($[0]+$[1]+$[2]+$[3])%L}else{const v=Math.floor(L/E);const R=$[0]+$[2]&P;const N=($[0]+$[2])%v;return(N*E+R)%L}}},79747:function(v){"use strict";const processAsyncTree=(v,E,P,R)=>{const $=Array.from(v);if($.length===0)return R();let N=0;let L=false;let q=true;const push=v=>{$.push(v);if(!q&&N{N--;if(v&&!L){L=true;R(v);return}if(!q){q=true;process.nextTick(processQueue)}};const processQueue=()=>{if(L)return;while(N0){N++;const v=$.pop();P(v,push,processorCallback)}q=false;if($.length===0&&N===0&&!L){L=true;R()}};processQueue()};v.exports=processAsyncTree},53914:function(v,E,P){"use strict";const{SAFE_IDENTIFIER:R,RESERVED_IDENTIFIER:$}=P(88286);const propertyAccess=(v,E=0)=>{let P="";for(let N=E;N{if(E.test(v)&&!P.has(v)){return v}else{return JSON.stringify(v)}};v.exports={SAFE_IDENTIFIER:E,RESERVED_IDENTIFIER:P,propertyName:propertyName}},60669:function(v,E,P){"use strict";const{register:R}=P(56944);const $=P(31988).Position;const N=P(31988).SourceLocation;const L=P(94362).Z;const{CachedSource:q,ConcatSource:K,OriginalSource:ae,PrefixSource:ge,RawSource:be,ReplaceSource:xe,SourceMapSource:ve}=P(51255);const Ae="webpack/lib/util/registerExternalSerializer";R(q,Ae,"webpack-sources/CachedSource",new class CachedSourceSerializer{serialize(v,{write:E,writeLazy:P}){if(P){P(v.originalLazy())}else{E(v.original())}E(v.getCachedData())}deserialize({read:v}){const E=v();const P=v();return new q(E,P)}});R(be,Ae,"webpack-sources/RawSource",new class RawSourceSerializer{serialize(v,{write:E}){E(v.buffer());E(!v.isBuffer())}deserialize({read:v}){const E=v();const P=v();return new be(E,P)}});R(K,Ae,"webpack-sources/ConcatSource",new class ConcatSourceSerializer{serialize(v,{write:E}){E(v.getChildren())}deserialize({read:v}){const E=new K;E.addAllSkipOptimizing(v());return E}});R(ge,Ae,"webpack-sources/PrefixSource",new class PrefixSourceSerializer{serialize(v,{write:E}){E(v.getPrefix());E(v.original())}deserialize({read:v}){return new ge(v(),v())}});R(xe,Ae,"webpack-sources/ReplaceSource",new class ReplaceSourceSerializer{serialize(v,{write:E}){E(v.original());E(v.getName());const P=v.getReplacements();E(P.length);for(const v of P){E(v.start);E(v.end)}for(const v of P){E(v.content);E(v.name)}}deserialize({read:v}){const E=new xe(v(),v());const P=v();const R=[];for(let E=0;E{let R;let $;if(P){({dependOn:R,runtime:$}=P)}else{const P=v.entries.get(E);if(!P)return E;({dependOn:R,runtime:$}=P.options)}if(R){let P=undefined;const $=new Set(R);for(const E of $){const R=v.entries.get(E);if(!R)continue;const{dependOn:N,runtime:L}=R.options;if(N){for(const v of N){$.add(v)}}else{P=mergeRuntimeOwned(P,L||E)}}return P||E}else{return $||E}};const forEachRuntime=(v,E,P=false)=>{if(v===undefined){E(undefined)}else if(typeof v==="string"){E(v)}else{if(P)v.sort();for(const P of v){E(P)}}};E.forEachRuntime=forEachRuntime;const getRuntimesKey=v=>{v.sort();return Array.from(v).join("\n")};const getRuntimeKey=v=>{if(v===undefined)return"*";if(typeof v==="string")return v;return v.getFromUnorderedCache(getRuntimesKey)};E.getRuntimeKey=getRuntimeKey;const keyToRuntime=v=>{if(v==="*")return undefined;const E=v.split("\n");if(E.length===1)return E[0];return new R(E)};E.keyToRuntime=keyToRuntime;const getRuntimesString=v=>{v.sort();return Array.from(v).join("+")};const runtimeToString=v=>{if(v===undefined)return"*";if(typeof v==="string")return v;return v.getFromUnorderedCache(getRuntimesString)};E.runtimeToString=runtimeToString;E.runtimeConditionToString=v=>{if(v===true)return"true";if(v===false)return"false";return runtimeToString(v)};const runtimeEqual=(v,E)=>{if(v===E){return true}else if(v===undefined||E===undefined||typeof v==="string"||typeof E==="string"){return false}else if(v.size!==E.size){return false}else{v.sort();E.sort();const P=v[Symbol.iterator]();const R=E[Symbol.iterator]();for(;;){const v=P.next();if(v.done)return true;const E=R.next();if(v.value!==E.value)return false}}};E.runtimeEqual=runtimeEqual;E.compareRuntime=(v,E)=>{if(v===E){return 0}else if(v===undefined){return-1}else if(E===undefined){return 1}else{const P=getRuntimeKey(v);const R=getRuntimeKey(E);if(PR)return 1;return 0}};const mergeRuntime=(v,E)=>{if(v===undefined){return E}else if(E===undefined){return v}else if(v===E){return v}else if(typeof v==="string"){if(typeof E==="string"){const P=new R;P.add(v);P.add(E);return P}else if(E.has(v)){return E}else{const P=new R(E);P.add(v);return P}}else{if(typeof E==="string"){if(v.has(E))return v;const P=new R(v);P.add(E);return P}else{const P=new R(v);for(const v of E)P.add(v);if(P.size===v.size)return v;return P}}};E.mergeRuntime=mergeRuntime;E.deepMergeRuntime=(v,E)=>{if(!Array.isArray(v)){return E}let P=E;for(const R of v){P=mergeRuntime(E,R)}return P};E.mergeRuntimeCondition=(v,E,P)=>{if(v===false)return E;if(E===false)return v;if(v===true||E===true)return true;const R=mergeRuntime(v,E);if(R===undefined)return undefined;if(typeof R==="string"){if(typeof P==="string"&&R===P)return true;return R}if(typeof P==="string"||P===undefined)return R;if(R.size===P.size)return true;return R};E.mergeRuntimeConditionNonFalse=(v,E,P)=>{if(v===true||E===true)return true;const R=mergeRuntime(v,E);if(R===undefined)return undefined;if(typeof R==="string"){if(typeof P==="string"&&R===P)return true;return R}if(typeof P==="string"||P===undefined)return R;if(R.size===P.size)return true;return R};const mergeRuntimeOwned=(v,E)=>{if(E===undefined){return v}else if(v===E){return v}else if(v===undefined){if(typeof E==="string"){return E}else{return new R(E)}}else if(typeof v==="string"){if(typeof E==="string"){const P=new R;P.add(v);P.add(E);return P}else{const P=new R(E);P.add(v);return P}}else{if(typeof E==="string"){v.add(E);return v}else{for(const P of E)v.add(P);return v}}};E.mergeRuntimeOwned=mergeRuntimeOwned;E.intersectRuntime=(v,E)=>{if(v===undefined){return E}else if(E===undefined){return v}else if(v===E){return v}else if(typeof v==="string"){if(typeof E==="string"){return undefined}else if(E.has(v)){return v}else{return undefined}}else{if(typeof E==="string"){if(v.has(E))return E;return undefined}else{const P=new R;for(const R of E){if(v.has(R))P.add(R)}if(P.size===0)return undefined;if(P.size===1)for(const v of P)return v;return P}}};const subtractRuntime=(v,E)=>{if(v===undefined){return undefined}else if(E===undefined){return v}else if(v===E){return undefined}else if(typeof v==="string"){if(typeof E==="string"){return v}else if(E.has(v)){return undefined}else{return v}}else{if(typeof E==="string"){if(!v.has(E))return v;if(v.size===2){for(const P of v){if(P!==E)return P}}const P=new R(v);P.delete(E)}else{const P=new R;for(const R of v){if(!E.has(R))P.add(R)}if(P.size===0)return undefined;if(P.size===1)for(const v of P)return v;return P}}};E.subtractRuntime=subtractRuntime;E.subtractRuntimeCondition=(v,E,P)=>{if(E===true)return false;if(E===false)return v;if(v===false)return false;const R=subtractRuntime(v===true?P:v,E);return R===undefined?false:R};E.filterRuntime=(v,E)=>{if(v===undefined)return E(undefined);if(typeof v==="string")return E(v);let P=false;let R=true;let $=undefined;for(const N of v){const v=E(N);if(v){P=true;$=mergeRuntimeOwned($,N)}else{R=false}}if(!P)return false;if(R)return true;return $};class RuntimeSpecMap{constructor(v){this._mode=v?v._mode:0;this._singleRuntime=v?v._singleRuntime:undefined;this._singleValue=v?v._singleValue:undefined;this._map=v&&v._map?new Map(v._map):undefined}get(v){switch(this._mode){case 0:return undefined;case 1:return runtimeEqual(this._singleRuntime,v)?this._singleValue:undefined;default:return this._map.get(getRuntimeKey(v))}}has(v){switch(this._mode){case 0:return false;case 1:return runtimeEqual(this._singleRuntime,v);default:return this._map.has(getRuntimeKey(v))}}set(v,E){switch(this._mode){case 0:this._mode=1;this._singleRuntime=v;this._singleValue=E;break;case 1:if(runtimeEqual(this._singleRuntime,v)){this._singleValue=E;break}this._mode=2;this._map=new Map;this._map.set(getRuntimeKey(this._singleRuntime),this._singleValue);this._singleRuntime=undefined;this._singleValue=undefined;default:this._map.set(getRuntimeKey(v),E)}}provide(v,E){switch(this._mode){case 0:this._mode=1;this._singleRuntime=v;return this._singleValue=E();case 1:{if(runtimeEqual(this._singleRuntime,v)){return this._singleValue}this._mode=2;this._map=new Map;this._map.set(getRuntimeKey(this._singleRuntime),this._singleValue);this._singleRuntime=undefined;this._singleValue=undefined;const P=E();this._map.set(getRuntimeKey(v),P);return P}default:{const P=getRuntimeKey(v);const R=this._map.get(P);if(R!==undefined)return R;const $=E();this._map.set(P,$);return $}}}delete(v){switch(this._mode){case 0:return;case 1:if(runtimeEqual(this._singleRuntime,v)){this._mode=0;this._singleRuntime=undefined;this._singleValue=undefined}return;default:this._map.delete(getRuntimeKey(v))}}update(v,E){switch(this._mode){case 0:throw new Error("runtime passed to update must exist");case 1:{if(runtimeEqual(this._singleRuntime,v)){this._singleValue=E(this._singleValue);break}const P=E(undefined);if(P!==undefined){this._mode=2;this._map=new Map;this._map.set(getRuntimeKey(this._singleRuntime),this._singleValue);this._singleRuntime=undefined;this._singleValue=undefined;this._map.set(getRuntimeKey(v),P)}break}default:{const P=getRuntimeKey(v);const R=this._map.get(P);const $=E(R);if($!==R)this._map.set(P,$)}}}keys(){switch(this._mode){case 0:return[];case 1:return[this._singleRuntime];default:return Array.from(this._map.keys(),keyToRuntime)}}values(){switch(this._mode){case 0:return[][Symbol.iterator]();case 1:return[this._singleValue][Symbol.iterator]();default:return this._map.values()}}get size(){if(this._mode<=1)return this._mode;return this._map.size}}E.RuntimeSpecMap=RuntimeSpecMap;class RuntimeSpecSet{constructor(v){this._map=new Map;if(v){for(const E of v){this.add(E)}}}add(v){this._map.set(getRuntimeKey(v),v)}has(v){return this._map.has(getRuntimeKey(v))}[Symbol.iterator](){return this._map.values()}get size(){return this._map.size}}E.RuntimeSpecSet=RuntimeSpecSet},44281:function(v,E){"use strict";const parseVersion=v=>{var splitAndConvert=function(v){return v.split(".").map((function(v){return+v==v?+v:v}))};var E=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(v);var P=E[1]?splitAndConvert(E[1]):[];if(E[2]){P.length++;P.push.apply(P,splitAndConvert(E[2]))}if(E[3]){P.push([]);P.push.apply(P,splitAndConvert(E[3]))}return P};E.parseVersion=parseVersion;const versionLt=(v,E)=>{v=parseVersion(v);E=parseVersion(E);var P=0;for(;;){if(P>=v.length)return P=E.length)return $=="u";var N=E[P];var L=(typeof N)[0];if($==L){if($!="o"&&$!="u"&&R!=N){return R{const splitAndConvert=v=>v.split(".").map((v=>v!=="NaN"&&`${+v}`===v?+v:v));const parsePartial=v=>{const E=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(v);const P=E[1]?[0,...splitAndConvert(E[1])]:[0];if(E[2]){P.length++;P.push.apply(P,splitAndConvert(E[2]))}let R=P[P.length-1];while(P.length&&(R===undefined||/^[*xX]$/.test(R))){P.pop();R=P[P.length-1]}return P};const toFixed=v=>{if(v.length===1){return[0]}else if(v.length===2){return[1,...v.slice(1)]}else if(v.length===3){return[2,...v.slice(1)]}else{return[v.length,...v.slice(1)]}};const negate=v=>[-v[0]-1,...v.slice(1)];const parseSimple=v=>{const E=/^(\^|~|<=|<|>=|>|=|v|!)/.exec(v);const P=E?E[0]:"";const R=parsePartial(P.length?v.slice(P.length).trim():v.trim());switch(P){case"^":if(R.length>1&&R[1]===0){if(R.length>2&&R[2]===0){return[3,...R.slice(1)]}return[2,...R.slice(1)]}return[1,...R.slice(1)];case"~":return[2,...R.slice(1)];case">=":return R;case"=":case"v":case"":return toFixed(R);case"<":return negate(R);case">":{const v=toFixed(R);return[,v,0,R,2]}case"<=":return[,toFixed(R),negate(R),1];case"!":{const v=toFixed(R);return[,v,0]}default:throw new Error("Unexpected start value")}};const combine=(v,E)=>{if(v.length===1)return v[0];const P=[];for(const E of v.slice().reverse()){if(0 in E){P.push(E)}else{P.push(...E.slice(1))}}return[,...P,...v.slice(1).map((()=>E))]};const parseRange=v=>{const E=v.split(/\s+-\s+/);if(E.length===1){const E=v.trim().split(/(?<=[-0-9A-Za-z])\s+/g).map(parseSimple);return combine(E,2)}const P=parsePartial(E[0]);const R=parsePartial(E[1]);return[,toFixed(R),negate(R),1,P,2]};const parseLogicalOr=v=>{const E=v.split(/\s*\|\|\s*/).map(parseRange);return combine(E,1)};return parseLogicalOr(v)};const rangeToString=v=>{var E=v[0];var P="";if(v.length===1){return"*"}else if(E+.5){P+=E==0?">=":E==-1?"<":E==1?"^":E==2?"~":E>0?"=":"!=";var R=1;for(var $=1;$0?".":"")+(R=2,N)}return P}else{var q=[];for(var $=1;${if(0 in v){E=parseVersion(E);var P=v[0];var R=P<0;if(R)P=-P-1;for(var $=0,N=1,L=true;;N++,$++){var q=N=E.length||(K=E[$],(ae=(typeof K)[0])=="o")){if(!L)return true;if(q=="u")return N>P&&!R;return q==""!=R}if(ae=="u"){if(!L||q!="u"){return false}}else if(L){if(q==ae){if(N<=P){if(K!=v[N]){return false}}else{if(R?K>v[N]:K{switch(typeof v){case"undefined":return"";case"object":if(Array.isArray(v)){let E="[";for(let P=0;P`var parseVersion = ${v.basicFunction("str",["// see webpack/lib/util/semver.js for original code",`var p=${v.supportsArrowFunction()?"p=>":"function(p)"}{return p.split(".").map((${v.supportsArrowFunction()?"p=>":"function(p)"}{return+p==p?+p:p}))},n=/^([^-+]+)?(?:-([^+]+))?(?:\\+(.+))?$/.exec(str),r=n[1]?p(n[1]):[];return n[2]&&(r.length++,r.push.apply(r,p(n[2]))),n[3]&&(r.push([]),r.push.apply(r,p(n[3]))),r;`])}`;E.versionLtRuntimeCode=v=>`var versionLt = ${v.basicFunction("a, b",["// see webpack/lib/util/semver.js for original code",'a=parseVersion(a),b=parseVersion(b);for(var r=0;;){if(r>=a.length)return r=b.length)return"u"==n;var t=b[r],f=(typeof t)[0];if(n!=f)return"o"==n&&"n"==f||("s"==f||"u"==n);if("o"!=n&&"u"!=n&&e!=t)return e`var rangeToString = ${v.basicFunction("range",["// see webpack/lib/util/semver.js for original code",'var r=range[0],n="";if(1===range.length)return"*";if(r+.5){n+=0==r?">=":-1==r?"<":1==r?"^":2==r?"~":r>0?"=":"!=";for(var e=1,a=1;a0?".":"")+(e=2,t)}return n}var g=[];for(a=1;a`var satisfy = ${v.basicFunction("range, version",["// see webpack/lib/util/semver.js for original code",'if(0 in range){version=parseVersion(version);var e=range[0],r=e<0;r&&(e=-e-1);for(var n=0,i=1,a=!0;;i++,n++){var f,s,g=i=version.length||"o"==(s=(typeof(f=version[n]))[0]))return!a||("u"==g?i>e&&!r:""==g!=r);if("u"==s){if(!a||"u"!=g)return!1}else if(a)if(g==s)if(i<=e){if(f!=range[i])return!1}else{if(r?f>range[i]:fP(44878)));const N=R((()=>P(95809)));const L=R((()=>P(27288)));const q=R((()=>P(97075)));const K=R((()=>P(65437)));const ae=R((()=>new($())));const ge=R((()=>{P(60669);const v=P(64015);N().registerLoader(/^webpack\/lib\//,(E=>{const P=v[E.slice("webpack/lib/".length)];if(P){P()}else{console.warn(`${E} not found in internalSerializables`)}return true}))}));let be;v.exports={get register(){return N().register},get registerLoader(){return N().registerLoader},get registerNotSerializable(){return N().registerNotSerializable},get NOT_SERIALIZABLE(){return N().NOT_SERIALIZABLE},get MEASURE_START_OPERATION(){return $().MEASURE_START_OPERATION},get MEASURE_END_OPERATION(){return $().MEASURE_END_OPERATION},get buffersSerializer(){if(be!==undefined)return be;ge();const v=q();const E=ae();const P=K();const R=L();return be=new v([new R,new(N())((v=>{if(v.write){v.writeLazy=R=>{v.write(P.createLazy(R,E))}}}),"md4"),E])},createFileSerializer:(v,E)=>{ge();const R=q();const $=P(66518);const be=new $(v,E);const xe=ae();const ve=K();const Ae=L();return new R([new Ae,new(N())((v=>{if(v.write){v.writeLazy=E=>{v.write(ve.createLazy(E,xe))};v.writeSeparate=(E,P)=>{const R=ve.createLazy(E,be,P);v.write(R);return R}}}),E),xe,be])}}},93133:function(v){"use strict";const smartGrouping=(v,E)=>{const P=new Set;const R=new Map;for(const $ of v){const v=new Set;for(let P=0;P{const E=v.size;for(const E of v){for(const v of E.groups){if(v.alreadyGrouped)continue;const P=v.items;if(P===undefined){v.items=new Set([E])}else{P.add(E)}}}const P=new Map;for(const v of R.values()){if(v.items){const E=v.items;v.items=undefined;P.set(v,{items:E,options:undefined,used:false})}}const $=[];for(;;){let R=undefined;let N=-1;let L=undefined;let q=undefined;for(const[$,K]of P){const{items:P,used:ae}=K;let ge=K.options;if(ge===undefined){const v=$.config;K.options=ge=v.getOptions&&v.getOptions($.name,Array.from(P,(({item:v})=>v)))||false}const be=ge&&ge.force;if(!be){if(q&&q.force)continue;if(ae)continue;if(P.size<=1||E-P.size<=1){continue}}const xe=ge&&ge.targetGroupCount||4;let ve=be?P.size:Math.min(P.size,E*2/xe+v.size-P.size);if(ve>N||be&&(!q||!q.force)){R=$;N=ve;L=P;q=ge}}if(R===undefined){break}const K=new Set(L);const ae=q;const ge=!ae||ae.groupChildren!==false;for(const E of K){v.delete(E);for(const v of E.groups){const R=P.get(v);if(R!==undefined){R.items.delete(E);if(R.items.size===0){P.delete(v)}else{R.options=undefined;if(ge){R.used=true}}}}}P.delete(R);const be=R.name;const xe=R.config;const ve=Array.from(K,(({item:v})=>v));R.alreadyGrouped=true;const Ae=ge?runGrouping(K):ve;R.alreadyGrouped=false;$.push(xe.createGroup(be,Ae,ve))}for(const{item:E}of v){$.push(E)}return $};return runGrouping(P)};v.exports=smartGrouping},42643:function(v,E){"use strict";const P=new WeakMap;const _isSourceEqual=(v,E)=>{let P=typeof v.buffer==="function"?v.buffer():v.source();let R=typeof E.buffer==="function"?E.buffer():E.source();if(P===R)return true;if(typeof P==="string"&&typeof R==="string")return false;if(!Buffer.isBuffer(P))P=Buffer.from(P,"utf-8");if(!Buffer.isBuffer(R))R=Buffer.from(R,"utf-8");return P.equals(R)};const isSourceEqual=(v,E)=>{if(v===E)return true;const R=P.get(v);if(R!==undefined){const v=R.get(E);if(v!==undefined)return v}const $=_isSourceEqual(v,E);if(R!==undefined){R.set(E,$)}else{const R=new WeakMap;R.set(E,$);P.set(v,R)}const N=P.get(E);if(N!==undefined){N.set(v,$)}else{const R=new WeakMap;R.set(v,$);P.set(E,R)}return $};E.isSourceEqual=isSourceEqual},64103:function(v,E,P){"use strict";const{validate:R}=P(38476);const $={rules:"module.rules",loaders:"module.rules or module.rules.*.use",query:"module.rules.*.options (BREAKING CHANGE since webpack 5)",noParse:"module.noParse",filename:"output.filename or module.rules.*.generator.filename",file:"output.filename",chunkFilename:"output.chunkFilename",chunkfilename:"output.chunkFilename",ecmaVersion:"output.environment (output.ecmaVersion was a temporary configuration option during webpack 5 beta)",ecmaversion:"output.environment (output.ecmaVersion was a temporary configuration option during webpack 5 beta)",ecma:"output.environment (output.ecmaVersion was a temporary configuration option during webpack 5 beta)",path:"output.path",pathinfo:"output.pathinfo",pathInfo:"output.pathinfo",jsonpFunction:"output.chunkLoadingGlobal (BREAKING CHANGE since webpack 5)",chunkCallbackName:"output.chunkLoadingGlobal (BREAKING CHANGE since webpack 5)",jsonpScriptType:"output.scriptType (BREAKING CHANGE since webpack 5)",hotUpdateFunction:"output.hotUpdateGlobal (BREAKING CHANGE since webpack 5)",splitChunks:"optimization.splitChunks",immutablePaths:"snapshot.immutablePaths",managedPaths:"snapshot.managedPaths",maxModules:"stats.modulesSpace (BREAKING CHANGE since webpack 5)",hashedModuleIds:'optimization.moduleIds: "hashed" (BREAKING CHANGE since webpack 5)',namedChunks:'optimization.chunkIds: "named" (BREAKING CHANGE since webpack 5)',namedModules:'optimization.moduleIds: "named" (BREAKING CHANGE since webpack 5)',occurrenceOrder:'optimization.chunkIds: "size" and optimization.moduleIds: "size" (BREAKING CHANGE since webpack 5)',automaticNamePrefix:"optimization.splitChunks.[cacheGroups.*].idHint (BREAKING CHANGE since webpack 5)",noEmitOnErrors:"optimization.emitOnErrors (BREAKING CHANGE since webpack 5: logic is inverted to avoid negative flags)",Buffer:"to use the ProvidePlugin to process the Buffer variable to modules as polyfill\n"+"BREAKING CHANGE: webpack 5 no longer provided Node.js polyfills by default.\n"+"Note: if you are using 'node.Buffer: false', you can just remove that as this is the default behavior now.\n"+"To provide a polyfill to modules use:\n"+'new ProvidePlugin({ Buffer: ["buffer", "Buffer"] }) and npm install buffer.',process:"to use the ProvidePlugin to process the process variable to modules as polyfill\n"+"BREAKING CHANGE: webpack 5 no longer provided Node.js polyfills by default.\n"+"Note: if you are using 'node.process: false', you can just remove that as this is the default behavior now.\n"+"To provide a polyfill to modules use:\n"+'new ProvidePlugin({ process: "process" }) and npm install buffer.'};const N={concord:"BREAKING CHANGE: resolve.concord has been removed and is no longer available.",devtoolLineToLine:"BREAKING CHANGE: output.devtoolLineToLine has been removed and is no longer available."};const validateSchema=(v,E,P)=>{R(v,E,P||{name:"Webpack",postFormatter:(v,E)=>{const P=E.children;if(P&&P.some((v=>v.keyword==="absolutePath"&&v.dataPath===".output.filename"))){return`${v}\nPlease use output.path to specify absolute path and output.filename for the file name.`}if(P&&P.some((v=>v.keyword==="pattern"&&v.dataPath===".devtool"))){return`${v}\n`+"BREAKING CHANGE since webpack 5: The devtool option is more strict.\n"+"Please strictly follow the order of the keywords in the pattern."}if(E.keyword==="additionalProperties"){const P=E.params;if(Object.prototype.hasOwnProperty.call($,P.additionalProperty)){return`${v}\nDid you mean ${$[P.additionalProperty]}?`}if(Object.prototype.hasOwnProperty.call(N,P.additionalProperty)){return`${v}\n${N[P.additionalProperty]}?`}if(!E.dataPath){if(P.additionalProperty==="debug"){return`${v}\n`+"The 'debug' property was removed in webpack 2.0.0.\n"+"Loaders should be updated to allow passing this option via loader options in module.rules.\n"+"Until loaders are updated one can use the LoaderOptionsPlugin to switch loaders into debug mode:\n"+"plugins: [\n"+" new webpack.LoaderOptionsPlugin({\n"+" debug: true\n"+" })\n"+"]"}if(P.additionalProperty){return`${v}\n`+"For typos: please correct them.\n"+"For loader options: webpack >= v2.0.0 no longer allows custom properties in configuration.\n"+" Loaders should be updated to allow passing options via loader options in module.rules.\n"+" Until loaders are updated one can use the LoaderOptionsPlugin to pass these options to the loader:\n"+" plugins: [\n"+" new webpack.LoaderOptionsPlugin({\n"+" // test: /\\.xxx$/, // may apply this only for some modules\n"+" options: {\n"+` ${P.additionalProperty}: …\n`+" }\n"+" })\n"+" ]"}}}return v}})};v.exports=validateSchema},84998:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);const N=P(35600);class AsyncWasmLoadingRuntimeModule extends ${constructor({generateLoadBinaryCode:v,supportsStreaming:E}){super("wasm loading",$.STAGE_NORMAL);this.generateLoadBinaryCode=v;this.supportsStreaming=E}generate(){const v=this.compilation;const E=this.chunk;const{outputOptions:P,runtimeTemplate:$}=v;const L=R.instantiateWasm;const q=v.getPath(JSON.stringify(P.webassemblyModuleFilename),{hash:`" + ${R.getFullHash}() + "`,hashWithLength:v=>`" + ${R.getFullHash}}().slice(0, ${v}) + "`,module:{id:'" + wasmModuleId + "',hash:`" + wasmModuleHash + "`,hashWithLength(v){return`" + wasmModuleHash.slice(0, ${v}) + "`}},runtime:E.runtime});return`${L} = ${$.basicFunction("exports, wasmModuleId, wasmModuleHash, importsObj",[`var req = ${this.generateLoadBinaryCode(q)};`,this.supportsStreaming?N.asString(["if (typeof WebAssembly.instantiateStreaming === 'function') {",N.indent(["return WebAssembly.instantiateStreaming(req, importsObj)",N.indent([`.then(${$.returningFunction("Object.assign(exports, res.instance.exports)","res")});`])]),"}"]):"// no support for streaming compilation","return req",N.indent([`.then(${$.returningFunction("x.arrayBuffer()","x")})`,`.then(${$.returningFunction("WebAssembly.instantiate(bytes, importsObj)","bytes")})`,`.then(${$.returningFunction("Object.assign(exports, res.instance.exports)","res")});`])])};`}}v.exports=AsyncWasmLoadingRuntimeModule},27237:function(v,E,P){"use strict";const R=P(91611);const $=new Set(["webassembly"]);class AsyncWebAssemblyGenerator extends R{constructor(v){super();this.options=v}getTypes(v){return $}getSize(v,E){const P=v.originalSource();if(!P){return 0}return P.size()}generate(v,E){return v.originalSource()}}v.exports=AsyncWebAssemblyGenerator},74177:function(v,E,P){"use strict";const{RawSource:R}=P(51255);const $=P(91611);const N=P(94252);const L=P(75189);const q=P(35600);const K=P(52593);const ae=new Set(["webassembly"]);class AsyncWebAssemblyJavascriptGenerator extends ${constructor(v){super();this.filenameTemplate=v}getTypes(v){return ae}getSize(v,E){return 40+v.dependencies.length*10}generate(v,E){const{runtimeTemplate:P,chunkGraph:$,moduleGraph:ae,runtimeRequirements:ge,runtime:be}=E;ge.add(L.module);ge.add(L.moduleId);ge.add(L.exports);ge.add(L.instantiateWasm);const xe=[];const ve=new Map;const Ae=new Map;for(const E of v.dependencies){if(E instanceof K){const v=ae.getModule(E);if(!ve.has(v)){ve.set(v,{request:E.request,importVar:`WEBPACK_IMPORTED_MODULE_${ve.size}`})}let P=Ae.get(E.request);if(P===undefined){P=[];Ae.set(E.request,P)}P.push(E)}}const Ie=[];const He=Array.from(ve,(([E,{request:R,importVar:N}])=>{if(ae.isAsync(E)){Ie.push(N)}return P.importStatement({update:false,module:E,chunkGraph:$,request:R,originModule:v,importVar:N,runtimeRequirements:ge})}));const Qe=He.map((([v])=>v)).join("");const Je=He.map((([v,E])=>E)).join("");const Ve=Array.from(Ae,(([E,R])=>{const $=R.map((R=>{const $=ae.getModule(R);const N=ve.get($).importVar;return`${JSON.stringify(R.name)}: ${P.exportFromImport({moduleGraph:ae,module:$,request:E,exportName:R.name,originModule:v,asiSafe:true,isCall:false,callContext:false,defaultInterop:true,importVar:N,initFragments:xe,runtime:be,runtimeRequirements:ge})}`}));return q.asString([`${JSON.stringify(E)}: {`,q.indent($.join(",\n")),"}"])}));const Ke=Ve.length>0?q.asString(["{",q.indent(Ve.join(",\n")),"}"]):undefined;const Ye=`${L.instantiateWasm}(${v.exportsArgument}, ${v.moduleArgument}.id, ${JSON.stringify($.getRenderedModuleHash(v,be))}`+(Ke?`, ${Ke})`:`)`);if(Ie.length>0)ge.add(L.asyncModule);const Xe=new R(Ie.length>0?q.asString([`var __webpack_instantiate__ = ${P.basicFunction(`[${Ie.join(", ")}]`,`${Je}return ${Ye};`)}`,`${L.asyncModule}(${v.moduleArgument}, async ${P.basicFunction("__webpack_handle_async_dependencies__, __webpack_async_result__",["try {",Qe,`var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([${Ie.join(", ")}]);`,`var [${Ie.join(", ")}] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__;`,`${Je}await ${Ye};`,"__webpack_async_result__();","} catch(e) { __webpack_async_result__(e); }"])}, 1);`]):`${Qe}${Je}module.exports = ${Ye};`);return N.addToSource(Xe,xe,E)}}v.exports=AsyncWebAssemblyJavascriptGenerator},30802:function(v,E,P){"use strict";const{SyncWaterfallHook:R}=P(79846);const $=P(92150);const N=P(91611);const{tryRunOrWebpackError:L}=P(76498);const{WEBASSEMBLY_MODULE_TYPE_ASYNC:q}=P(98791);const K=P(52593);const{compareModulesByIdentifier:ae}=P(80754);const ge=P(49584);const be=ge((()=>P(27237)));const xe=ge((()=>P(74177)));const ve=ge((()=>P(31005)));const Ae=new WeakMap;const Ie="AsyncWebAssemblyModulesPlugin";class AsyncWebAssemblyModulesPlugin{static getCompilationHooks(v){if(!(v instanceof $)){throw new TypeError("The 'compilation' argument must be an instance of Compilation")}let E=Ae.get(v);if(E===undefined){E={renderModuleContent:new R(["source","module","renderContext"])};Ae.set(v,E)}return E}constructor(v){this.options=v}apply(v){v.hooks.compilation.tap(Ie,((v,{normalModuleFactory:E})=>{const P=AsyncWebAssemblyModulesPlugin.getCompilationHooks(v);v.dependencyFactories.set(K,E);E.hooks.createParser.for(q).tap(Ie,(()=>{const v=ve();return new v}));E.hooks.createGenerator.for(q).tap(Ie,(()=>{const E=xe();const P=be();return N.byType({javascript:new E(v.outputOptions.webassemblyModuleFilename),webassembly:new P(this.options)})}));v.hooks.renderManifest.tap("WebAssemblyModulesPlugin",((E,R)=>{const{moduleGraph:$,chunkGraph:N,runtimeTemplate:L}=v;const{chunk:K,outputOptions:ge,dependencyTemplates:be,codeGenerationResults:xe}=R;for(const v of N.getOrderedChunkModulesIterable(K,ae)){if(v.type===q){const R=ge.webassemblyModuleFilename;E.push({render:()=>this.renderModule(v,{chunk:K,dependencyTemplates:be,runtimeTemplate:L,moduleGraph:$,chunkGraph:N,codeGenerationResults:xe},P),filenameTemplate:R,pathOptions:{module:v,runtime:K.runtime,chunkGraph:N},auxiliary:true,identifier:`webassemblyAsyncModule${N.getModuleId(v)}`,hash:N.getModuleHash(v,K.runtime)})}}return E}))}))}renderModule(v,E,P){const{codeGenerationResults:R,chunk:$}=E;try{const N=R.getSource(v,$.runtime,"webassembly");return L((()=>P.renderModuleContent.call(N,v,E)),"AsyncWebAssemblyModulesPlugin.getCompilationHooks().renderModuleContent")}catch(E){E.module=v;throw E}}}v.exports=AsyncWebAssemblyModulesPlugin},31005:function(v,E,P){"use strict";const R=P(26333);const{decode:$}=P(57480);const N=P(67169);const L=P(40766);const q=P(88929);const K=P(52593);const ae={ignoreCodeSection:true,ignoreDataSection:true,ignoreCustomNameSection:true};class WebAssemblyParser extends L{constructor(v){super();this.hooks=Object.freeze({});this.options=v}parse(v,E){if(!Buffer.isBuffer(v)){throw new Error("WebAssemblyParser input must be a Buffer")}const P=E.module.buildInfo;P.strict=true;const L=E.module.buildMeta;L.exportsType="namespace";L.async=true;N.check(E.module,E.compilation.runtimeTemplate,"asyncWebAssembly");const ge=$(v,ae);const be=ge.body[0];const xe=[];R.traverse(be,{ModuleExport({node:v}){xe.push(v.name)},ModuleImport({node:v}){const P=new K(v.module,v.name,v.descr,false);E.module.addDependency(P)}});E.module.addDependency(new q(xe,false));return E}}v.exports=WebAssemblyParser},51690:function(v,E,P){"use strict";const R=P(45425);v.exports=class UnsupportedWebAssemblyFeatureError extends R{constructor(v){super(v);this.name="UnsupportedWebAssemblyFeatureError";this.hideStack=true}}},82209:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);const N=P(35600);const{compareModulesByIdentifier:L}=P(80754);const q=P(55301);const getAllWasmModules=(v,E,P)=>{const R=P.getAllAsyncChunks();const $=[];for(const v of R){for(const P of E.getOrderedChunkModulesIterable(v,L)){if(P.type.startsWith("webassembly")){$.push(P)}}}return $};const generateImportObject=(v,E,P,$,L)=>{const K=v.moduleGraph;const ae=new Map;const ge=[];const be=q.getUsedDependencies(K,E,P);for(const E of be){const P=E.dependency;const q=K.getModule(P);const be=P.name;const xe=q&&K.getExportsInfo(q).getUsedName(be,L);const ve=P.description;const Ae=P.onlyDirectImport;const Ie=E.module;const He=E.name;if(Ae){const E=`m${ae.size}`;ae.set(E,v.getModuleId(q));ge.push({module:Ie,name:He,value:`${E}[${JSON.stringify(xe)}]`})}else{const E=ve.signature.params.map(((v,E)=>"p"+E+v.valtype));const P=`${R.moduleCache}[${JSON.stringify(v.getModuleId(q))}]`;const L=`${P}.exports`;const K=`wasmImportedFuncCache${$.length}`;$.push(`var ${K};`);ge.push({module:Ie,name:He,value:N.asString([(q.type.startsWith("webassembly")?`${P} ? ${L}[${JSON.stringify(xe)}] : `:"")+`function(${E}) {`,N.indent([`if(${K} === undefined) ${K} = ${L};`,`return ${K}[${JSON.stringify(xe)}](${E});`]),"}"])})}}let xe;if(P){xe=["return {",N.indent([ge.map((v=>`${JSON.stringify(v.name)}: ${v.value}`)).join(",\n")]),"};"]}else{const v=new Map;for(const E of ge){let P=v.get(E.module);if(P===undefined){v.set(E.module,P=[])}P.push(E)}xe=["return {",N.indent([Array.from(v,(([v,E])=>N.asString([`${JSON.stringify(v)}: {`,N.indent([E.map((v=>`${JSON.stringify(v.name)}: ${v.value}`)).join(",\n")]),"}"]))).join(",\n")]),"};"]}const ve=JSON.stringify(v.getModuleId(E));if(ae.size===1){const v=Array.from(ae.values())[0];const E=`installedWasmModules[${JSON.stringify(v)}]`;const P=Array.from(ae.keys())[0];return N.asString([`${ve}: function() {`,N.indent([`return promiseResolve().then(function() { return ${E}; }).then(function(${P}) {`,N.indent(xe),"});"]),"},"])}else if(ae.size>0){const v=Array.from(ae.values(),(v=>`installedWasmModules[${JSON.stringify(v)}]`)).join(", ");const E=Array.from(ae.keys(),((v,E)=>`${v} = array[${E}]`)).join(", ");return N.asString([`${ve}: function() {`,N.indent([`return promiseResolve().then(function() { return Promise.all([${v}]); }).then(function(array) {`,N.indent([`var ${E};`,...xe]),"});"]),"},"])}else{return N.asString([`${ve}: function() {`,N.indent(xe),"},"])}};class WasmChunkLoadingRuntimeModule extends ${constructor({generateLoadBinaryCode:v,supportsStreaming:E,mangleImports:P,runtimeRequirements:R}){super("wasm chunk loading",$.STAGE_ATTACH);this.generateLoadBinaryCode=v;this.supportsStreaming=E;this.mangleImports=P;this._runtimeRequirements=R}generate(){const v=R.ensureChunkHandlers;const E=this._runtimeRequirements.has(R.hmrDownloadUpdateHandlers);const P=this.compilation;const{moduleGraph:$,outputOptions:L}=P;const K=this.chunkGraph;const ae=this.chunk;const ge=getAllWasmModules($,K,ae);const{mangleImports:be}=this;const xe=[];const ve=ge.map((v=>generateImportObject(K,v,be,xe,ae.runtime)));const Ae=K.getChunkModuleIdMap(ae,(v=>v.type.startsWith("webassembly")));const createImportObject=v=>be?`{ ${JSON.stringify(q.MANGLED_MODULE)}: ${v} }`:v;const Ie=P.getPath(JSON.stringify(L.webassemblyModuleFilename),{hash:`" + ${R.getFullHash}() + "`,hashWithLength:v=>`" + ${R.getFullHash}}().slice(0, ${v}) + "`,module:{id:'" + wasmModuleId + "',hash:`" + ${JSON.stringify(K.getChunkModuleRenderedHashMap(ae,(v=>v.type.startsWith("webassembly"))))}[chunkId][wasmModuleId] + "`,hashWithLength(v){return`" + ${JSON.stringify(K.getChunkModuleRenderedHashMap(ae,(v=>v.type.startsWith("webassembly")),v))}[chunkId][wasmModuleId] + "`}},runtime:ae.runtime});const He=E?`${R.hmrRuntimeStatePrefix}_wasm`:undefined;return N.asString(["// object to store loaded and loading wasm modules",`var installedWasmModules = ${He?`${He} = ${He} || `:""}{};`,"","function promiseResolve() { return Promise.resolve(); }","",N.asString(xe),"var wasmImportObjects = {",N.indent(ve),"};","",`var wasmModuleMap = ${JSON.stringify(Ae,undefined,"\t")};`,"","// object with all WebAssembly.instance exports",`${R.wasmInstances} = {};`,"","// Fetch + compile chunk loading for webassembly",`${v}.wasm = function(chunkId, promises) {`,N.indent(["",`var wasmModules = wasmModuleMap[chunkId] || [];`,"","wasmModules.forEach(function(wasmModuleId, idx) {",N.indent(["var installedWasmModuleData = installedWasmModules[wasmModuleId];","",'// a Promise means "currently loading" or "already loaded".',"if(installedWasmModuleData)",N.indent(["promises.push(installedWasmModuleData);"]),"else {",N.indent([`var importObject = wasmImportObjects[wasmModuleId]();`,`var req = ${this.generateLoadBinaryCode(Ie)};`,"var promise;",this.supportsStreaming?N.asString(["if(importObject && typeof importObject.then === 'function' && typeof WebAssembly.compileStreaming === 'function') {",N.indent(["promise = Promise.all([WebAssembly.compileStreaming(req), importObject]).then(function(items) {",N.indent([`return WebAssembly.instantiate(items[0], ${createImportObject("items[1]")});`]),"});"]),"} else if(typeof WebAssembly.instantiateStreaming === 'function') {",N.indent([`promise = WebAssembly.instantiateStreaming(req, ${createImportObject("importObject")});`])]):N.asString(["if(importObject && typeof importObject.then === 'function') {",N.indent(["var bytesPromise = req.then(function(x) { return x.arrayBuffer(); });","promise = Promise.all([",N.indent(["bytesPromise.then(function(bytes) { return WebAssembly.compile(bytes); }),","importObject"]),"]).then(function(items) {",N.indent([`return WebAssembly.instantiate(items[0], ${createImportObject("items[1]")});`]),"});"])]),"} else {",N.indent(["var bytesPromise = req.then(function(x) { return x.arrayBuffer(); });","promise = bytesPromise.then(function(bytes) {",N.indent([`return WebAssembly.instantiate(bytes, ${createImportObject("importObject")});`]),"});"]),"}","promises.push(installedWasmModules[wasmModuleId] = promise.then(function(res) {",N.indent([`return ${R.wasmInstances}[wasmModuleId] = (res.instance || res).exports;`]),"}));"]),"}"]),"});"]),"};"])}}v.exports=WasmChunkLoadingRuntimeModule},82026:function(v,E,P){"use strict";const R=P(14703);const $=P(51690);class WasmFinalizeExportsPlugin{apply(v){v.hooks.compilation.tap("WasmFinalizeExportsPlugin",(v=>{v.hooks.finishModules.tap("WasmFinalizeExportsPlugin",(E=>{for(const P of E){if(P.type.startsWith("webassembly")===true){const E=P.buildMeta.jsIncompatibleExports;if(E===undefined){continue}for(const N of v.moduleGraph.getIncomingConnections(P)){if(N.isTargetActive(undefined)&&N.originModule.type.startsWith("webassembly")===false){const L=v.getDependencyReferencedExports(N.dependency,undefined);for(const q of L){const L=Array.isArray(q)?q:q.name;if(L.length===0)continue;const K=L[0];if(typeof K==="object")continue;if(Object.prototype.hasOwnProperty.call(E,K)){const L=new $(`Export "${K}" with ${E[K]} can only be used for direct wasm to wasm dependencies\n`+`It's used from ${N.originModule.readableIdentifier(v.requestShortener)} at ${R(N.dependency.loc)}.`);L.module=P;v.errors.push(L)}}}}}}}))}))}}v.exports=WasmFinalizeExportsPlugin},68045:function(v,E,P){"use strict";const{RawSource:R}=P(51255);const $=P(91611);const N=P(55301);const L=P(26333);const{moduleContextFromModuleAST:q}=P(26333);const{editWithAST:K,addWithAST:ae}=P(12092);const{decode:ge}=P(57480);const be=P(54657);const compose=(...v)=>v.reduce(((v,E)=>P=>E(v(P))),(v=>v));const removeStartFunc=v=>E=>K(v.ast,E,{Start(v){v.remove()}});const getImportedGlobals=v=>{const E=[];L.traverse(v,{ModuleImport({node:v}){if(L.isGlobalType(v.descr)){E.push(v)}}});return E};const getCountImportedFunc=v=>{let E=0;L.traverse(v,{ModuleImport({node:v}){if(L.isFuncImportDescr(v.descr)){E++}}});return E};const getNextTypeIndex=v=>{const E=L.getSectionMetadata(v,"type");if(E===undefined){return L.indexLiteral(0)}return L.indexLiteral(E.vectorOfSize.value)};const getNextFuncIndex=(v,E)=>{const P=L.getSectionMetadata(v,"func");if(P===undefined){return L.indexLiteral(0+E)}const R=P.vectorOfSize.value;return L.indexLiteral(R+E)};const createDefaultInitForGlobal=v=>{if(v.valtype[0]==="i"){return L.objectInstruction("const",v.valtype,[L.numberLiteralFromRaw(66)])}else if(v.valtype[0]==="f"){return L.objectInstruction("const",v.valtype,[L.floatLiteral(66,false,false,"66")])}else{throw new Error("unknown type: "+v.valtype)}};const rewriteImportedGlobals=v=>E=>{const P=v.additionalInitCode;const R=[];E=K(v.ast,E,{ModuleImport(v){if(L.isGlobalType(v.node.descr)){const E=v.node.descr;E.mutability="var";const P=[createDefaultInitForGlobal(E),L.instruction("end")];R.push(L.global(E,P));v.remove()}},Global(v){const{node:E}=v;const[$]=E.init;if($.id==="get_global"){E.globalType.mutability="var";const v=$.args[0];E.init=[createDefaultInitForGlobal(E.globalType),L.instruction("end")];P.push(L.instruction("get_local",[v]),L.instruction("set_global",[L.indexLiteral(R.length)]))}R.push(E);v.remove()}});return ae(v.ast,E,R)};const rewriteExportNames=({ast:v,moduleGraph:E,module:P,externalExports:R,runtime:$})=>N=>K(v,N,{ModuleExport(v){const N=R.has(v.node.name);if(N){v.remove();return}const L=E.getExportsInfo(P).getUsedName(v.node.name,$);if(!L){v.remove();return}v.node.name=L}});const rewriteImports=({ast:v,usedDependencyMap:E})=>P=>K(v,P,{ModuleImport(v){const P=E.get(v.node.module+":"+v.node.name);if(P!==undefined){v.node.module=P.module;v.node.name=P.name}}});const addInitFunction=({ast:v,initFuncId:E,startAtFuncOffset:P,importedGlobals:R,additionalInitCode:$,nextFuncIndex:N,nextTypeIndex:q})=>K=>{const ge=R.map((v=>{const E=L.identifier(`${v.module}.${v.name}`);return L.funcParam(v.descr.valtype,E)}));const be=[];R.forEach(((v,E)=>{const P=[L.indexLiteral(E)];const R=[L.instruction("get_local",P),L.instruction("set_global",P)];be.push(...R)}));if(typeof P==="number"){be.push(L.callInstruction(L.numberLiteralFromRaw(P)))}for(const v of $){be.push(v)}be.push(L.instruction("end"));const xe=[];const ve=L.signature(ge,xe);const Ae=L.func(E,ve,be);const Ie=L.typeInstruction(undefined,ve);const He=L.indexInFuncSection(q);const Qe=L.moduleExport(E.value,L.moduleExportDescr("Func",N));return ae(v,K,[Ae,Qe,He,Ie])};const getUsedDependencyMap=(v,E,P)=>{const R=new Map;for(const $ of N.getUsedDependencies(v,E,P)){const v=$.dependency;const E=v.request;const P=v.name;R.set(E+":"+P,$)}return R};const xe=new Set(["webassembly"]);class WebAssemblyGenerator extends ${constructor(v){super();this.options=v}getTypes(v){return xe}getSize(v,E){const P=v.originalSource();if(!P){return 0}return P.size()}generate(v,{moduleGraph:E,runtime:P}){const $=v.originalSource().source();const N=L.identifier("");const K=ge($,{ignoreDataSection:true,ignoreCodeSection:true,ignoreCustomNameSection:true});const ae=q(K.body[0]);const xe=getImportedGlobals(K);const ve=getCountImportedFunc(K);const Ae=ae.getStart();const Ie=getNextFuncIndex(K,ve);const He=getNextTypeIndex(K);const Qe=getUsedDependencyMap(E,v,this.options.mangleImports);const Je=new Set(v.dependencies.filter((v=>v instanceof be)).map((v=>{const E=v;return E.exportName})));const Ve=[];const Ke=compose(rewriteExportNames({ast:K,moduleGraph:E,module:v,externalExports:Je,runtime:P}),removeStartFunc({ast:K}),rewriteImportedGlobals({ast:K,additionalInitCode:Ve}),rewriteImports({ast:K,usedDependencyMap:Qe}),addInitFunction({ast:K,initFuncId:N,importedGlobals:xe,additionalInitCode:Ve,startAtFuncOffset:Ae,nextFuncIndex:Ie,nextTypeIndex:He}));const Ye=Ke($);const Xe=Buffer.from(Ye);return new R(Xe)}}v.exports=WebAssemblyGenerator},76863:function(v,E,P){"use strict";const R=P(45425);const getInitialModuleChains=(v,E,P,R)=>{const $=[{head:v,message:v.readableIdentifier(R)}];const N=new Set;const L=new Set;const q=new Set;for(const v of $){const{head:K,message:ae}=v;let ge=true;const be=new Set;for(const v of E.getIncomingConnections(K)){const E=v.originModule;if(E){if(!P.getModuleChunks(E).some((v=>v.canBeInitial())))continue;ge=false;if(be.has(E))continue;be.add(E);const N=E.readableIdentifier(R);const K=v.explanation?` (${v.explanation})`:"";const xe=`${N}${K} --\x3e ${ae}`;if(q.has(E)){L.add(`... --\x3e ${xe}`);continue}q.add(E);$.push({head:E,message:xe})}else{ge=false;const E=v.explanation?`(${v.explanation}) --\x3e ${ae}`:ae;N.add(E)}}if(ge){N.add(ae)}}for(const v of L){N.add(v)}return Array.from(N)};v.exports=class WebAssemblyInInitialChunkError extends R{constructor(v,E,P,R){const $=getInitialModuleChains(v,E,P,R);const N=`WebAssembly module is included in initial chunk.\nThis is not allowed, because WebAssembly download and compilation must happen asynchronous.\nAdd an async split point (i. e. import()) somewhere between your entrypoint and the WebAssembly module:\n${$.map((v=>`* ${v}`)).join("\n")}`;super(N);this.name="WebAssemblyInInitialChunkError";this.hideStack=true;this.module=v}}},49012:function(v,E,P){"use strict";const{RawSource:R}=P(51255);const{UsageState:$}=P(32514);const N=P(91611);const L=P(94252);const q=P(75189);const K=P(35600);const ae=P(52743);const ge=P(54657);const be=P(52593);const xe=new Set(["webassembly"]);class WebAssemblyJavascriptGenerator extends N{getTypes(v){return xe}getSize(v,E){return 95+v.dependencies.length*5}generate(v,E){const{runtimeTemplate:P,moduleGraph:N,chunkGraph:xe,runtimeRequirements:ve,runtime:Ae}=E;const Ie=[];const He=N.getExportsInfo(v);let Qe=false;const Je=new Map;const Ve=[];let Ke=0;for(const E of v.dependencies){const R=E&&E instanceof ae?E:undefined;if(N.getModule(E)){let $=Je.get(N.getModule(E));if($===undefined){Je.set(N.getModule(E),$={importVar:`m${Ke}`,index:Ke,request:R&&R.userRequest||undefined,names:new Set,reexports:[]});Ke++}if(E instanceof be){$.names.add(E.name);if(E.description.type==="GlobalType"){const R=E.name;const L=N.getModule(E);if(L){const q=N.getExportsInfo(L).getUsedName(R,Ae);if(q){Ve.push(P.exportFromImport({moduleGraph:N,module:L,request:E.request,importVar:$.importVar,originModule:v,exportName:E.name,asiSafe:true,isCall:false,callContext:null,defaultInterop:true,initFragments:Ie,runtime:Ae,runtimeRequirements:ve}))}}}}if(E instanceof ge){$.names.add(E.name);const R=N.getExportsInfo(v).getUsedName(E.exportName,Ae);if(R){ve.add(q.exports);const L=`${v.exportsArgument}[${JSON.stringify(R)}]`;const ae=K.asString([`${L} = ${P.exportFromImport({moduleGraph:N,module:N.getModule(E),request:E.request,importVar:$.importVar,originModule:v,exportName:E.name,asiSafe:true,isCall:false,callContext:null,defaultInterop:true,initFragments:Ie,runtime:Ae,runtimeRequirements:ve})};`,`if(WebAssembly.Global) ${L} = `+`new WebAssembly.Global({ value: ${JSON.stringify(E.valueType)} }, ${L});`]);$.reexports.push(ae);Qe=true}}}}const Ye=K.asString(Array.from(Je,(([v,{importVar:E,request:R,reexports:$}])=>{const N=P.importStatement({module:v,chunkGraph:xe,request:R,importVar:E,originModule:v,runtimeRequirements:ve});return N[0]+N[1]+$.join("\n")})));const Xe=He.otherExportsInfo.getUsed(Ae)===$.Unused&&!Qe;ve.add(q.module);ve.add(q.moduleId);ve.add(q.wasmInstances);if(He.otherExportsInfo.getUsed(Ae)!==$.Unused){ve.add(q.makeNamespaceObject);ve.add(q.exports)}if(!Xe){ve.add(q.exports)}const Ze=new R(['"use strict";',"// Instantiate WebAssembly module",`var wasmExports = ${q.wasmInstances}[${v.moduleArgument}.id];`,He.otherExportsInfo.getUsed(Ae)!==$.Unused?`${q.makeNamespaceObject}(${v.exportsArgument});`:"","// export exports from WebAssembly module",Xe?`${v.moduleArgument}.exports = wasmExports;`:"for(var name in wasmExports) "+`if(name) `+`${v.exportsArgument}[name] = wasmExports[name];`,"// exec imports from WebAssembly module (for esm order)",Ye,"","// exec wasm module",`wasmExports[""](${Ve.join(", ")})`].join("\n"));return L.addToSource(Ze,Ie,E)}}v.exports=WebAssemblyJavascriptGenerator},35001:function(v,E,P){"use strict";const R=P(91611);const{WEBASSEMBLY_MODULE_TYPE_SYNC:$}=P(98791);const N=P(54657);const L=P(52593);const{compareModulesByIdentifier:q}=P(80754);const K=P(49584);const ae=P(76863);const ge=K((()=>P(68045)));const be=K((()=>P(49012)));const xe=K((()=>P(52667)));const ve="WebAssemblyModulesPlugin";class WebAssemblyModulesPlugin{constructor(v){this.options=v}apply(v){v.hooks.compilation.tap(ve,((v,{normalModuleFactory:E})=>{v.dependencyFactories.set(L,E);v.dependencyFactories.set(N,E);E.hooks.createParser.for($).tap(ve,(()=>{const v=xe();return new v}));E.hooks.createGenerator.for($).tap(ve,(()=>{const v=be();const E=ge();return R.byType({javascript:new v,webassembly:new E(this.options)})}));v.hooks.renderManifest.tap(ve,((E,P)=>{const{chunkGraph:R}=v;const{chunk:N,outputOptions:L,codeGenerationResults:K}=P;for(const v of R.getOrderedChunkModulesIterable(N,q)){if(v.type===$){const P=L.webassemblyModuleFilename;E.push({render:()=>K.getSource(v,N.runtime,"webassembly"),filenameTemplate:P,pathOptions:{module:v,runtime:N.runtime,chunkGraph:R},auxiliary:true,identifier:`webassemblyModule${R.getModuleId(v)}`,hash:R.getModuleHash(v,N.runtime)})}}return E}));v.hooks.afterChunks.tap(ve,(()=>{const E=v.chunkGraph;const P=new Set;for(const R of v.chunks){if(R.canBeInitial()){for(const v of E.getChunkModulesIterable(R)){if(v.type===$){P.add(v)}}}}for(const E of P){v.errors.push(new ae(E,v.moduleGraph,v.chunkGraph,v.requestShortener))}}))}))}}v.exports=WebAssemblyModulesPlugin},52667:function(v,E,P){"use strict";const R=P(26333);const{moduleContextFromModuleAST:$}=P(26333);const{decode:N}=P(57480);const L=P(40766);const q=P(88929);const K=P(54657);const ae=P(52593);const ge=new Set(["i32","i64","f32","f64"]);const getJsIncompatibleType=v=>{for(const E of v.params){if(!ge.has(E.valtype)){return`${E.valtype} as parameter`}}for(const E of v.results){if(!ge.has(E))return`${E} as result`}return null};const getJsIncompatibleTypeOfFuncSignature=v=>{for(const E of v.args){if(!ge.has(E)){return`${E} as parameter`}}for(const E of v.result){if(!ge.has(E))return`${E} as result`}return null};const be={ignoreCodeSection:true,ignoreDataSection:true,ignoreCustomNameSection:true};class WebAssemblyParser extends L{constructor(v){super();this.hooks=Object.freeze({});this.options=v}parse(v,E){if(!Buffer.isBuffer(v)){throw new Error("WebAssemblyParser input must be a Buffer")}E.module.buildInfo.strict=true;E.module.buildMeta.exportsType="namespace";const P=N(v,be);const L=P.body[0];const xe=$(L);const ve=[];let Ae=E.module.buildMeta.jsIncompatibleExports=undefined;const Ie=[];R.traverse(L,{ModuleExport({node:v}){const P=v.descr;if(P.exportType==="Func"){const R=P.id.value;const $=xe.getFunction(R);const N=getJsIncompatibleTypeOfFuncSignature($);if(N){if(Ae===undefined){Ae=E.module.buildMeta.jsIncompatibleExports={}}Ae[v.name]=N}}ve.push(v.name);if(v.descr&&v.descr.exportType==="Global"){const P=Ie[v.descr.id.value];if(P){const R=new K(v.name,P.module,P.name,P.descr.valtype);E.module.addDependency(R)}}},Global({node:v}){const E=v.init[0];let P=null;if(E.id==="get_global"){const v=E.args[0].value;if(v{const L=[];let q=0;for(const K of E.dependencies){if(K instanceof $){if(K.description.type==="GlobalType"||v.getModule(K)===null){continue}const E=K.name;if(P){L.push({dependency:K,name:R.numberToIdentifier(q++),module:N})}else{L.push({dependency:K,name:E,module:K.request})}}}return L};E.getUsedDependencies=getUsedDependencies;E.MANGLED_MODULE=N},21882:function(v,E,P){"use strict";const R=new WeakMap;const getEnabledTypes=v=>{let E=R.get(v);if(E===undefined){E=new Set;R.set(v,E)}return E};class EnableWasmLoadingPlugin{constructor(v){this.type=v}static setEnabled(v,E){getEnabledTypes(v).add(E)}static checkEnabled(v,E){if(!getEnabledTypes(v).has(E)){throw new Error(`Library type "${E}" is not enabled. `+"EnableWasmLoadingPlugin need to be used to enable this type of wasm loading. "+'This usually happens through the "output.enabledWasmLoadingTypes" option. '+'If you are using a function as entry which sets "wasmLoading", you need to add all potential library types to "output.enabledWasmLoadingTypes". '+"These types are enabled: "+Array.from(getEnabledTypes(v)).join(", "))}}apply(v){const{type:E}=this;const R=getEnabledTypes(v);if(R.has(E))return;R.add(E);if(typeof E==="string"){switch(E){case"fetch":{const E=P(98851);const R=P(50620);new E({mangleImports:v.options.optimization.mangleWasmImports}).apply(v);(new R).apply(v);break}case"async-node":{const R=P(84757);const $=P(39292);new R({mangleImports:v.options.optimization.mangleWasmImports}).apply(v);new $({type:E}).apply(v);break}case"async-node-module":{const R=P(39292);new R({type:E,import:true}).apply(v);break}case"universal":throw new Error("Universal WebAssembly Loading is not implemented yet");default:throw new Error(`Unsupported wasm loading type ${E}.\nPlugins which provide custom wasm loading types must call EnableWasmLoadingPlugin.setEnabled(compiler, type) to disable this error.`)}}else{}}}v.exports=EnableWasmLoadingPlugin},50620:function(v,E,P){"use strict";const{WEBASSEMBLY_MODULE_TYPE_ASYNC:R}=P(98791);const $=P(75189);const N=P(84998);class FetchCompileAsyncWasmPlugin{apply(v){v.hooks.thisCompilation.tap("FetchCompileAsyncWasmPlugin",(v=>{const E=v.outputOptions.wasmLoading;const isEnabledForChunk=v=>{const P=v.getEntryOptions();const R=P&&P.wasmLoading!==undefined?P.wasmLoading:E;return R==="fetch"};const generateLoadBinaryCode=v=>`fetch(${$.publicPath} + ${v})`;v.hooks.runtimeRequirementInTree.for($.instantiateWasm).tap("FetchCompileAsyncWasmPlugin",((E,P)=>{if(!isEnabledForChunk(E))return;const L=v.chunkGraph;if(!L.hasModuleInGraph(E,(v=>v.type===R))){return}P.add($.publicPath);v.addRuntimeModule(E,new N({generateLoadBinaryCode:generateLoadBinaryCode,supportsStreaming:true}))}))}))}}v.exports=FetchCompileAsyncWasmPlugin},98851:function(v,E,P){"use strict";const{WEBASSEMBLY_MODULE_TYPE_SYNC:R}=P(98791);const $=P(75189);const N=P(82209);const L="FetchCompileWasmPlugin";class FetchCompileWasmPlugin{constructor(v={}){this.options=v}apply(v){v.hooks.thisCompilation.tap(L,(v=>{const E=v.outputOptions.wasmLoading;const isEnabledForChunk=v=>{const P=v.getEntryOptions();const R=P&&P.wasmLoading!==undefined?P.wasmLoading:E;return R==="fetch"};const generateLoadBinaryCode=v=>`fetch(${$.publicPath} + ${v})`;v.hooks.runtimeRequirementInTree.for($.ensureChunkHandlers).tap(L,((E,P)=>{if(!isEnabledForChunk(E))return;const L=v.chunkGraph;if(!L.hasModuleInGraph(E,(v=>v.type===R))){return}P.add($.moduleCache);P.add($.publicPath);v.addRuntimeModule(E,new N({generateLoadBinaryCode:generateLoadBinaryCode,supportsStreaming:true,mangleImports:this.options.mangleImports,runtimeRequirements:P}))}))}))}}v.exports=FetchCompileWasmPlugin},8408:function(v,E,P){"use strict";const R=P(75189);const $=P(93385);class JsonpChunkLoadingPlugin{apply(v){v.hooks.thisCompilation.tap("JsonpChunkLoadingPlugin",(v=>{const E=v.outputOptions.chunkLoading;const isEnabledForChunk=v=>{const P=v.getEntryOptions();const R=P&&P.chunkLoading!==undefined?P.chunkLoading:E;return R==="jsonp"};const P=new WeakSet;const handler=(E,N)=>{if(P.has(E))return;P.add(E);if(!isEnabledForChunk(E))return;N.add(R.moduleFactoriesAddOnly);N.add(R.hasOwnProperty);v.addRuntimeModule(E,new $(N))};v.hooks.runtimeRequirementInTree.for(R.ensureChunkHandlers).tap("JsonpChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.hmrDownloadUpdateHandlers).tap("JsonpChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.hmrDownloadManifest).tap("JsonpChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.baseURI).tap("JsonpChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.onChunksLoaded).tap("JsonpChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.ensureChunkHandlers).tap("JsonpChunkLoadingPlugin",((v,E)=>{if(!isEnabledForChunk(v))return;E.add(R.publicPath);E.add(R.loadScript);E.add(R.getChunkScriptFilename)}));v.hooks.runtimeRequirementInTree.for(R.hmrDownloadUpdateHandlers).tap("JsonpChunkLoadingPlugin",((v,E)=>{if(!isEnabledForChunk(v))return;E.add(R.publicPath);E.add(R.loadScript);E.add(R.getChunkUpdateScriptFilename);E.add(R.moduleCache);E.add(R.hmrModuleData);E.add(R.moduleFactoriesAddOnly)}));v.hooks.runtimeRequirementInTree.for(R.hmrDownloadManifest).tap("JsonpChunkLoadingPlugin",((v,E)=>{if(!isEnabledForChunk(v))return;E.add(R.publicPath);E.add(R.getUpdateManifestFilename)}))}))}}v.exports=JsonpChunkLoadingPlugin},93385:function(v,E,P){"use strict";const{SyncWaterfallHook:R}=P(79846);const $=P(92150);const N=P(75189);const L=P(62970);const q=P(35600);const K=P(87885).chunkHasJs;const{getInitialChunkIds:ae}=P(854);const ge=P(41516);const be=new WeakMap;class JsonpChunkLoadingRuntimeModule extends L{static getCompilationHooks(v){if(!(v instanceof $)){throw new TypeError("The 'compilation' argument must be an instance of Compilation")}let E=be.get(v);if(E===undefined){E={linkPreload:new R(["source","chunk"]),linkPrefetch:new R(["source","chunk"])};be.set(v,E)}return E}constructor(v){super("jsonp chunk loading",L.STAGE_ATTACH);this._runtimeRequirements=v}_generateBaseUri(v){const E=v.getEntryOptions();if(E&&E.baseUri){return`${N.baseURI} = ${JSON.stringify(E.baseUri)};`}else{return`${N.baseURI} = document.baseURI || self.location.href;`}}generate(){const v=this.compilation;const{runtimeTemplate:E,outputOptions:{chunkLoadingGlobal:P,hotUpdateGlobal:R,crossOriginLoading:$,scriptType:L}}=v;const be=E.globalObject;const{linkPreload:xe,linkPrefetch:ve}=JsonpChunkLoadingRuntimeModule.getCompilationHooks(v);const Ae=N.ensureChunkHandlers;const Ie=this._runtimeRequirements.has(N.baseURI);const He=this._runtimeRequirements.has(N.ensureChunkHandlers);const Qe=this._runtimeRequirements.has(N.chunkCallback);const Je=this._runtimeRequirements.has(N.onChunksLoaded);const Ve=this._runtimeRequirements.has(N.hmrDownloadUpdateHandlers);const Ke=this._runtimeRequirements.has(N.hmrDownloadManifest);const Ye=this._runtimeRequirements.has(N.prefetchChunkHandlers);const Xe=this._runtimeRequirements.has(N.preloadChunkHandlers);const Ze=this._runtimeRequirements.has(N.hasFetchPriority);const et=`${be}[${JSON.stringify(P)}]`;const tt=this.chunkGraph;const nt=this.chunk;const st=tt.getChunkConditionMap(nt,K);const rt=ge(st);const ot=ae(nt,tt,K);const it=Ve?`${N.hmrRuntimeStatePrefix}_jsonp`:undefined;return q.asString([Ie?this._generateBaseUri(nt):"// no baseURI","","// object to store loaded and loading chunks","// undefined = chunk not loaded, null = chunk preloaded/prefetched","// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded",`var installedChunks = ${it?`${it} = ${it} || `:""}{`,q.indent(Array.from(ot,(v=>`${JSON.stringify(v)}: 0`)).join(",\n")),"};","",He?q.asString([`${Ae}.j = ${E.basicFunction(`chunkId, promises${Ze?", fetchPriority":""}`,rt!==false?q.indent(["// JSONP chunk loading for javascript",`var installedChunkData = ${N.hasOwnProperty}(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;`,'if(installedChunkData !== 0) { // 0 means "already installed".',q.indent(["",'// a Promise means "currently loading".',"if(installedChunkData) {",q.indent(["promises.push(installedChunkData[2]);"]),"} else {",q.indent([rt===true?"if(true) { // all chunks have JS":`if(${rt("chunkId")}) {`,q.indent(["// setup Promise in chunk cache",`var promise = new Promise(${E.expressionFunction(`installedChunkData = installedChunks[chunkId] = [resolve, reject]`,"resolve, reject")});`,"promises.push(installedChunkData[2] = promise);","","// start chunk loading",`var url = ${N.publicPath} + ${N.getChunkScriptFilename}(chunkId);`,"// create error before stack unwound to get useful stacktrace later","var error = new Error();",`var loadingEnded = ${E.basicFunction("event",[`if(${N.hasOwnProperty}(installedChunks, chunkId)) {`,q.indent(["installedChunkData = installedChunks[chunkId];","if(installedChunkData !== 0) installedChunks[chunkId] = undefined;","if(installedChunkData) {",q.indent(["var errorType = event && (event.type === 'load' ? 'missing' : event.type);","var realSrc = event && event.target && event.target.src;","error.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';","error.name = 'ChunkLoadError';","error.type = errorType;","error.request = realSrc;","installedChunkData[1](error);"]),"}"]),"}"])};`,`${N.loadScript}(url, loadingEnded, "chunk-" + chunkId, chunkId${Ze?", fetchPriority":""});`]),rt===true?"}":"} else installedChunks[chunkId] = 0;"]),"}"]),"}"]):q.indent(["installedChunks[chunkId] = 0;"]))};`]):"// no chunk on demand loading","",Ye&&rt!==false?`${N.prefetchChunkHandlers}.j = ${E.basicFunction("chunkId",[`if((!${N.hasOwnProperty}(installedChunks, chunkId) || installedChunks[chunkId] === undefined) && ${rt===true?"true":rt("chunkId")}) {`,q.indent(["installedChunks[chunkId] = null;",ve.call(q.asString(["var link = document.createElement('link');",$?`link.crossOrigin = ${JSON.stringify($)};`:"",`if (${N.scriptNonce}) {`,q.indent(`link.setAttribute("nonce", ${N.scriptNonce});`),"}",'link.rel = "prefetch";','link.as = "script";',`link.href = ${N.publicPath} + ${N.getChunkScriptFilename}(chunkId);`]),nt),"document.head.appendChild(link);"]),"}"])};`:"// no prefetching","",Xe&&rt!==false?`${N.preloadChunkHandlers}.j = ${E.basicFunction("chunkId",[`if((!${N.hasOwnProperty}(installedChunks, chunkId) || installedChunks[chunkId] === undefined) && ${rt===true?"true":rt("chunkId")}) {`,q.indent(["installedChunks[chunkId] = null;",xe.call(q.asString(["var link = document.createElement('link');",L&&L!=="module"?`link.type = ${JSON.stringify(L)};`:"","link.charset = 'utf-8';",`if (${N.scriptNonce}) {`,q.indent(`link.setAttribute("nonce", ${N.scriptNonce});`),"}",L==="module"?'link.rel = "modulepreload";':'link.rel = "preload";',L==="module"?"":'link.as = "script";',`link.href = ${N.publicPath} + ${N.getChunkScriptFilename}(chunkId);`,$?$==="use-credentials"?'link.crossOrigin = "use-credentials";':q.asString(["if (link.href.indexOf(window.location.origin + '/') !== 0) {",q.indent(`link.crossOrigin = ${JSON.stringify($)};`),"}"]):""]),nt),"document.head.appendChild(link);"]),"}"])};`:"// no preloaded","",Ve?q.asString(["var currentUpdatedModulesList;","var waitingUpdateResolves = {};","function loadUpdateChunk(chunkId, updatedModulesList) {",q.indent(["currentUpdatedModulesList = updatedModulesList;",`return new Promise(${E.basicFunction("resolve, reject",["waitingUpdateResolves[chunkId] = resolve;","// start update chunk loading",`var url = ${N.publicPath} + ${N.getChunkUpdateScriptFilename}(chunkId);`,"// create error before stack unwound to get useful stacktrace later","var error = new Error();",`var loadingEnded = ${E.basicFunction("event",["if(waitingUpdateResolves[chunkId]) {",q.indent(["waitingUpdateResolves[chunkId] = undefined","var errorType = event && (event.type === 'load' ? 'missing' : event.type);","var realSrc = event && event.target && event.target.src;","error.message = 'Loading hot update chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';","error.name = 'ChunkLoadError';","error.type = errorType;","error.request = realSrc;","reject(error);"]),"}"])};`,`${N.loadScript}(url, loadingEnded);`])});`]),"}","",`${be}[${JSON.stringify(R)}] = ${E.basicFunction("chunkId, moreModules, runtime",["for(var moduleId in moreModules) {",q.indent([`if(${N.hasOwnProperty}(moreModules, moduleId)) {`,q.indent(["currentUpdate[moduleId] = moreModules[moduleId];","if(currentUpdatedModulesList) currentUpdatedModulesList.push(moduleId);"]),"}"]),"}","if(runtime) currentUpdateRuntime.push(runtime);","if(waitingUpdateResolves[chunkId]) {",q.indent(["waitingUpdateResolves[chunkId]();","waitingUpdateResolves[chunkId] = undefined;"]),"}"])};`,"",q.getFunctionContent(require("./JavascriptHotModuleReplacement.runtime.js")).replace(/\$key\$/g,"jsonp").replace(/\$installedChunks\$/g,"installedChunks").replace(/\$loadUpdateChunk\$/g,"loadUpdateChunk").replace(/\$moduleCache\$/g,N.moduleCache).replace(/\$moduleFactories\$/g,N.moduleFactories).replace(/\$ensureChunkHandlers\$/g,N.ensureChunkHandlers).replace(/\$hasOwnProperty\$/g,N.hasOwnProperty).replace(/\$hmrModuleData\$/g,N.hmrModuleData).replace(/\$hmrDownloadUpdateHandlers\$/g,N.hmrDownloadUpdateHandlers).replace(/\$hmrInvalidateModuleHandlers\$/g,N.hmrInvalidateModuleHandlers)]):"// no HMR","",Ke?q.asString([`${N.hmrDownloadManifest} = ${E.basicFunction("",['if (typeof fetch === "undefined") throw new Error("No browser support: need fetch API");',`return fetch(${N.publicPath} + ${N.getUpdateManifestFilename}()).then(${E.basicFunction("response",["if(response.status === 404) return; // no update available",'if(!response.ok) throw new Error("Failed to fetch update manifest " + response.statusText);',"return response.json();"])});`])};`]):"// no HMR manifest","",Je?`${N.onChunksLoaded}.j = ${E.returningFunction("installedChunks[chunkId] === 0","chunkId")};`:"// no on chunks loaded","",Qe||He?q.asString(["// install a JSONP callback for chunk loading",`var webpackJsonpCallback = ${E.basicFunction("parentChunkLoadingFunction, data",[E.destructureArray(["chunkIds","moreModules","runtime"],"data"),'// add "moreModules" to the modules object,','// then flag all "chunkIds" as loaded and fire callback',"var moduleId, chunkId, i = 0;",`if(chunkIds.some(${E.returningFunction("installedChunks[id] !== 0","id")})) {`,q.indent(["for(moduleId in moreModules) {",q.indent([`if(${N.hasOwnProperty}(moreModules, moduleId)) {`,q.indent(`${N.moduleFactories}[moduleId] = moreModules[moduleId];`),"}"]),"}",`if(runtime) var result = runtime(${N.require});`]),"}","if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);","for(;i < chunkIds.length; i++) {",q.indent(["chunkId = chunkIds[i];",`if(${N.hasOwnProperty}(installedChunks, chunkId) && installedChunks[chunkId]) {`,q.indent("installedChunks[chunkId][0]();"),"}","installedChunks[chunkId] = 0;"]),"}",Je?`return ${N.onChunksLoaded}(result);`:""])}`,"",`var chunkLoadingGlobal = ${et} = ${et} || [];`,"chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));","chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));"]):"// no jsonp function"])}}v.exports=JsonpChunkLoadingRuntimeModule},10863:function(v,E,P){"use strict";const R=P(29341);const $=P(87942);const N=P(93385);class JsonpTemplatePlugin{static getCompilationHooks(v){return N.getCompilationHooks(v)}apply(v){v.options.output.chunkLoading="jsonp";(new R).apply(v);new $("jsonp").apply(v)}}v.exports=JsonpTemplatePlugin},64004:function(v,E,P){"use strict";const R=P(73837);const $=P(18171);const N=P(6497);const L=P(54445);const q=P(57828);const K=P(62805);const{applyWebpackOptionsDefaults:ae,applyWebpackOptionsBaseDefaults:ge}=P(28480);const{getNormalizedWebpackOptions:be}=P(35440);const xe=P(79265);const ve=P(49584);const Ae=ve((()=>P(64103)));const createMultiCompiler=(v,E)=>{const P=v.map((v=>createCompiler(v)));const R=new q(P,E);for(const v of P){if(v.options.dependencies){R.setDependencies(v,v.options.dependencies)}}return R};const createCompiler=v=>{const E=be(v);ge(E);const P=new L(E.context,E);new xe({infrastructureLogging:E.infrastructureLogging}).apply(P);if(Array.isArray(E.plugins)){for(const v of E.plugins){if(typeof v==="function"){v.call(P,P)}else if(v){v.apply(P)}}}ae(E);P.hooks.environment.call();P.hooks.afterEnvironment.call();(new K).process(E,P);P.hooks.initialize.call();return P};const asArray=v=>Array.isArray(v)?Array.from(v):[v];const webpack=(v,E)=>{const create=()=>{if(!asArray(v).every($)){Ae()(N,v);R.deprecate((()=>{}),"webpack bug: Pre-compiled schema reports error while real schema is happy. This has performance drawbacks.","DEP_WEBPACK_PRE_COMPILED_SCHEMA_INVALID")()}let E;let P=false;let L;if(Array.isArray(v)){E=createMultiCompiler(v,v);P=v.some((v=>v.watch));L=v.map((v=>v.watchOptions||{}))}else{const R=v;E=createCompiler(R);P=R.watch;L=R.watchOptions||{}}return{compiler:E,watch:P,watchOptions:L}};if(E){try{const{compiler:v,watch:P,watchOptions:R}=create();if(P){v.watch(R,E)}else{v.run(((P,R)=>{v.close((v=>{E(P||v,R)}))}))}return v}catch(v){process.nextTick((()=>E(v)));return null}}else{const{compiler:v,watch:E}=create();if(E){R.deprecate((()=>{}),"A 'callback' argument needs to be provided to the 'webpack(options, callback)' function when the 'watch' option is set. There is no way to handle the 'watch' option without a callback.","DEP_WEBPACK_WATCH_WITHOUT_CALLBACK")()}return v}};v.exports=webpack},63729:function(v,E,P){"use strict";const R=P(75189);const $=P(14633);const N=P(45229);class ImportScriptsChunkLoadingPlugin{apply(v){new $({chunkLoading:"import-scripts",asyncChunkLoading:true}).apply(v);v.hooks.thisCompilation.tap("ImportScriptsChunkLoadingPlugin",(v=>{const E=v.outputOptions.chunkLoading;const isEnabledForChunk=v=>{const P=v.getEntryOptions();const R=P&&P.chunkLoading!==undefined?P.chunkLoading:E;return R==="import-scripts"};const P=new WeakSet;const handler=(E,$)=>{if(P.has(E))return;P.add(E);if(!isEnabledForChunk(E))return;const L=!!v.outputOptions.trustedTypes;$.add(R.moduleFactoriesAddOnly);$.add(R.hasOwnProperty);if(L){$.add(R.createScriptUrl)}v.addRuntimeModule(E,new N($,L))};v.hooks.runtimeRequirementInTree.for(R.ensureChunkHandlers).tap("ImportScriptsChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.hmrDownloadUpdateHandlers).tap("ImportScriptsChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.hmrDownloadManifest).tap("ImportScriptsChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.baseURI).tap("ImportScriptsChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.ensureChunkHandlers).tap("ImportScriptsChunkLoadingPlugin",((v,E)=>{if(!isEnabledForChunk(v))return;E.add(R.publicPath);E.add(R.getChunkScriptFilename)}));v.hooks.runtimeRequirementInTree.for(R.hmrDownloadUpdateHandlers).tap("ImportScriptsChunkLoadingPlugin",((v,E)=>{if(!isEnabledForChunk(v))return;E.add(R.publicPath);E.add(R.getChunkUpdateScriptFilename);E.add(R.moduleCache);E.add(R.hmrModuleData);E.add(R.moduleFactoriesAddOnly)}));v.hooks.runtimeRequirementInTree.for(R.hmrDownloadManifest).tap("ImportScriptsChunkLoadingPlugin",((v,E)=>{if(!isEnabledForChunk(v))return;E.add(R.publicPath);E.add(R.getUpdateManifestFilename)}))}))}}v.exports=ImportScriptsChunkLoadingPlugin},45229:function(v,E,P){"use strict";const R=P(75189);const $=P(62970);const N=P(35600);const{getChunkFilenameTemplate:L,chunkHasJs:q}=P(87885);const{getInitialChunkIds:K}=P(854);const ae=P(41516);const{getUndoPath:ge}=P(94778);class ImportScriptsChunkLoadingRuntimeModule extends ${constructor(v,E){super("importScripts chunk loading",$.STAGE_ATTACH);this.runtimeRequirements=v;this._withCreateScriptUrl=E}_generateBaseUri(v){const E=v.getEntryOptions();if(E&&E.baseUri){return`${R.baseURI} = ${JSON.stringify(E.baseUri)};`}const P=this.compilation;const $=P.getPath(L(v,P.outputOptions),{chunk:v,contentHashType:"javascript"});const N=ge($,P.outputOptions.path,false);return`${R.baseURI} = self.location + ${JSON.stringify(N?"/../"+N:"")};`}generate(){const v=this.compilation;const E=R.ensureChunkHandlers;const P=this.runtimeRequirements.has(R.baseURI);const $=this.runtimeRequirements.has(R.ensureChunkHandlers);const L=this.runtimeRequirements.has(R.hmrDownloadUpdateHandlers);const ge=this.runtimeRequirements.has(R.hmrDownloadManifest);const be=v.runtimeTemplate.globalObject;const xe=`${be}[${JSON.stringify(v.outputOptions.chunkLoadingGlobal)}]`;const ve=this.chunkGraph;const Ae=this.chunk;const Ie=ae(ve.getChunkConditionMap(Ae,q));const He=K(Ae,ve,q);const Qe=L?`${R.hmrRuntimeStatePrefix}_importScripts`:undefined;const Je=v.runtimeTemplate;const{_withCreateScriptUrl:Ve}=this;return N.asString([P?this._generateBaseUri(Ae):"// no baseURI","","// object to store loaded chunks",'// "1" means "already loaded"',`var installedChunks = ${Qe?`${Qe} = ${Qe} || `:""}{`,N.indent(Array.from(He,(v=>`${JSON.stringify(v)}: 1`)).join(",\n")),"};","",$?N.asString(["// importScripts chunk loading",`var installChunk = ${Je.basicFunction("data",[Je.destructureArray(["chunkIds","moreModules","runtime"],"data"),"for(var moduleId in moreModules) {",N.indent([`if(${R.hasOwnProperty}(moreModules, moduleId)) {`,N.indent(`${R.moduleFactories}[moduleId] = moreModules[moduleId];`),"}"]),"}",`if(runtime) runtime(${R.require});`,"while(chunkIds.length)",N.indent("installedChunks[chunkIds.pop()] = 1;"),"parentChunkLoadingFunction(data);"])};`]):"// no chunk install function needed",$?N.asString([`${E}.i = ${Je.basicFunction("chunkId, promises",Ie!==false?['// "1" is the signal for "already loaded"',"if(!installedChunks[chunkId]) {",N.indent([Ie===true?"if(true) { // all chunks have JS":`if(${Ie("chunkId")}) {`,N.indent(`importScripts(${Ve?`${R.createScriptUrl}(${R.publicPath} + ${R.getChunkScriptFilename}(chunkId))`:`${R.publicPath} + ${R.getChunkScriptFilename}(chunkId)`});`),"}"]),"}"]:"installedChunks[chunkId] = 1;")};`,"",`var chunkLoadingGlobal = ${xe} = ${xe} || [];`,"var parentChunkLoadingFunction = chunkLoadingGlobal.push.bind(chunkLoadingGlobal);","chunkLoadingGlobal.push = installChunk;"]):"// no chunk loading","",L?N.asString(["function loadUpdateChunk(chunkId, updatedModulesList) {",N.indent(["var success = false;",`${be}[${JSON.stringify(v.outputOptions.hotUpdateGlobal)}] = ${Je.basicFunction("_, moreModules, runtime",["for(var moduleId in moreModules) {",N.indent([`if(${R.hasOwnProperty}(moreModules, moduleId)) {`,N.indent(["currentUpdate[moduleId] = moreModules[moduleId];","if(updatedModulesList) updatedModulesList.push(moduleId);"]),"}"]),"}","if(runtime) currentUpdateRuntime.push(runtime);","success = true;"])};`,"// start update chunk loading",`importScripts(${Ve?`${R.createScriptUrl}(${R.publicPath} + ${R.getChunkUpdateScriptFilename}(chunkId))`:`${R.publicPath} + ${R.getChunkUpdateScriptFilename}(chunkId)`});`,'if(!success) throw new Error("Loading update chunk failed for unknown reason");']),"}","",N.getFunctionContent(require("./JavascriptHotModuleReplacement.runtime.js")).replace(/\$key\$/g,"importScripts").replace(/\$installedChunks\$/g,"installedChunks").replace(/\$loadUpdateChunk\$/g,"loadUpdateChunk").replace(/\$moduleCache\$/g,R.moduleCache).replace(/\$moduleFactories\$/g,R.moduleFactories).replace(/\$ensureChunkHandlers\$/g,R.ensureChunkHandlers).replace(/\$hasOwnProperty\$/g,R.hasOwnProperty).replace(/\$hmrModuleData\$/g,R.hmrModuleData).replace(/\$hmrDownloadUpdateHandlers\$/g,R.hmrDownloadUpdateHandlers).replace(/\$hmrInvalidateModuleHandlers\$/g,R.hmrInvalidateModuleHandlers)]):"// no HMR","",ge?N.asString([`${R.hmrDownloadManifest} = ${Je.basicFunction("",['if (typeof fetch === "undefined") throw new Error("No browser support: need fetch API");',`return fetch(${R.publicPath} + ${R.getUpdateManifestFilename}()).then(${Je.basicFunction("response",["if(response.status === 404) return; // no update available",'if(!response.ok) throw new Error("Failed to fetch update manifest " + response.statusText);',"return response.json();"])});`])};`]):"// no HMR manifest"])}}v.exports=ImportScriptsChunkLoadingRuntimeModule},11115:function(v,E,P){"use strict";const R=P(29341);const $=P(87942);class WebWorkerTemplatePlugin{apply(v){v.options.output.chunkLoading="import-scripts";(new R).apply(v);new $("import-scripts").apply(v)}}v.exports=WebWorkerTemplatePlugin},18171:function(v){const E=/^(?:[A-Za-z]:[\\/]|\\\\|\/)/;v.exports=_e,v.exports["default"]=_e;const P={definitions:{Amd:{anyOf:[{enum:[!1]},{type:"object"}]},AmdContainer:{type:"string",minLength:1},AssetFilterItemTypes:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!1},{instanceof:"Function"}]},AssetFilterTypes:{anyOf:[{type:"array",items:{oneOf:[{$ref:"#/definitions/AssetFilterItemTypes"}]}},{$ref:"#/definitions/AssetFilterItemTypes"}]},AssetGeneratorDataUrl:{anyOf:[{$ref:"#/definitions/AssetGeneratorDataUrlOptions"},{$ref:"#/definitions/AssetGeneratorDataUrlFunction"}]},AssetGeneratorDataUrlFunction:{instanceof:"Function"},AssetGeneratorDataUrlOptions:{type:"object",additionalProperties:!1,properties:{encoding:{enum:[!1,"base64"]},mimetype:{type:"string"}}},AssetGeneratorOptions:{type:"object",additionalProperties:!1,properties:{dataUrl:{$ref:"#/definitions/AssetGeneratorDataUrl"},emit:{type:"boolean"},filename:{$ref:"#/definitions/FilenameTemplate"},outputPath:{$ref:"#/definitions/AssetModuleOutputPath"},publicPath:{$ref:"#/definitions/RawPublicPath"}}},AssetInlineGeneratorOptions:{type:"object",additionalProperties:!1,properties:{dataUrl:{$ref:"#/definitions/AssetGeneratorDataUrl"}}},AssetModuleFilename:{anyOf:[{type:"string",absolutePath:!1},{instanceof:"Function"}]},AssetModuleOutputPath:{anyOf:[{type:"string",absolutePath:!1},{instanceof:"Function"}]},AssetParserDataUrlFunction:{instanceof:"Function"},AssetParserDataUrlOptions:{type:"object",additionalProperties:!1,properties:{maxSize:{type:"number"}}},AssetParserOptions:{type:"object",additionalProperties:!1,properties:{dataUrlCondition:{anyOf:[{$ref:"#/definitions/AssetParserDataUrlOptions"},{$ref:"#/definitions/AssetParserDataUrlFunction"}]}}},AssetResourceGeneratorOptions:{type:"object",additionalProperties:!1,properties:{emit:{type:"boolean"},filename:{$ref:"#/definitions/FilenameTemplate"},outputPath:{$ref:"#/definitions/AssetModuleOutputPath"},publicPath:{$ref:"#/definitions/RawPublicPath"}}},AuxiliaryComment:{anyOf:[{type:"string"},{$ref:"#/definitions/LibraryCustomUmdCommentObject"}]},Bail:{type:"boolean"},CacheOptions:{anyOf:[{enum:[!0]},{$ref:"#/definitions/CacheOptionsNormalized"}]},CacheOptionsNormalized:{anyOf:[{enum:[!1]},{$ref:"#/definitions/MemoryCacheOptions"},{$ref:"#/definitions/FileCacheOptions"}]},Charset:{type:"boolean"},ChunkFilename:{oneOf:[{$ref:"#/definitions/FilenameTemplate"}]},ChunkFormat:{anyOf:[{enum:["array-push","commonjs","module",!1]},{type:"string"}]},ChunkLoadTimeout:{type:"number"},ChunkLoading:{anyOf:[{enum:[!1]},{$ref:"#/definitions/ChunkLoadingType"}]},ChunkLoadingGlobal:{type:"string"},ChunkLoadingType:{anyOf:[{enum:["jsonp","import-scripts","require","async-node","import"]},{type:"string"}]},Clean:{anyOf:[{type:"boolean"},{$ref:"#/definitions/CleanOptions"}]},CleanOptions:{type:"object",additionalProperties:!1,properties:{dry:{type:"boolean"},keep:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!1},{instanceof:"Function"}]}}},CompareBeforeEmit:{type:"boolean"},Context:{type:"string",absolutePath:!0},CrossOriginLoading:{enum:[!1,"anonymous","use-credentials"]},CssAutoGeneratorOptions:{type:"object",additionalProperties:!1,properties:{exportsOnly:{$ref:"#/definitions/CssGeneratorExportsOnly"}}},CssAutoParserOptions:{type:"object",additionalProperties:!1,properties:{namedExports:{$ref:"#/definitions/CssParserNamedExports"}}},CssChunkFilename:{oneOf:[{$ref:"#/definitions/FilenameTemplate"}]},CssFilename:{oneOf:[{$ref:"#/definitions/FilenameTemplate"}]},CssGeneratorExportsOnly:{type:"boolean"},CssGeneratorOptions:{type:"object",additionalProperties:!1,properties:{exportsOnly:{$ref:"#/definitions/CssGeneratorExportsOnly"}}},CssGlobalGeneratorOptions:{type:"object",additionalProperties:!1,properties:{exportsOnly:{$ref:"#/definitions/CssGeneratorExportsOnly"}}},CssGlobalParserOptions:{type:"object",additionalProperties:!1,properties:{namedExports:{$ref:"#/definitions/CssParserNamedExports"}}},CssModuleGeneratorOptions:{type:"object",additionalProperties:!1,properties:{exportsOnly:{$ref:"#/definitions/CssGeneratorExportsOnly"}}},CssModuleParserOptions:{type:"object",additionalProperties:!1,properties:{namedExports:{$ref:"#/definitions/CssParserNamedExports"}}},CssParserNamedExports:{type:"boolean"},CssParserOptions:{type:"object",additionalProperties:!1,properties:{namedExports:{$ref:"#/definitions/CssParserNamedExports"}}},Dependencies:{type:"array",items:{type:"string"}},DevServer:{anyOf:[{enum:[!1]},{type:"object"}]},DevTool:{anyOf:[{enum:[!1,"eval"]},{type:"string",pattern:"^(inline-|hidden-|eval-)?(nosources-)?(cheap-(module-)?)?source-map$"}]},DevtoolFallbackModuleFilenameTemplate:{anyOf:[{type:"string"},{instanceof:"Function"}]},DevtoolModuleFilenameTemplate:{anyOf:[{type:"string"},{instanceof:"Function"}]},DevtoolNamespace:{type:"string"},EmptyGeneratorOptions:{type:"object",additionalProperties:!1},EmptyParserOptions:{type:"object",additionalProperties:!1},EnabledChunkLoadingTypes:{type:"array",items:{$ref:"#/definitions/ChunkLoadingType"}},EnabledLibraryTypes:{type:"array",items:{$ref:"#/definitions/LibraryType"}},EnabledWasmLoadingTypes:{type:"array",items:{$ref:"#/definitions/WasmLoadingType"}},Entry:{anyOf:[{$ref:"#/definitions/EntryDynamic"},{$ref:"#/definitions/EntryStatic"}]},EntryDescription:{type:"object",additionalProperties:!1,properties:{asyncChunks:{type:"boolean"},baseUri:{type:"string"},chunkLoading:{$ref:"#/definitions/ChunkLoading"},dependOn:{anyOf:[{type:"array",items:{type:"string",minLength:1},minItems:1,uniqueItems:!0},{type:"string",minLength:1}]},filename:{$ref:"#/definitions/EntryFilename"},import:{$ref:"#/definitions/EntryItem"},layer:{$ref:"#/definitions/Layer"},library:{$ref:"#/definitions/LibraryOptions"},publicPath:{$ref:"#/definitions/PublicPath"},runtime:{$ref:"#/definitions/EntryRuntime"},wasmLoading:{$ref:"#/definitions/WasmLoading"}},required:["import"]},EntryDescriptionNormalized:{type:"object",additionalProperties:!1,properties:{asyncChunks:{type:"boolean"},baseUri:{type:"string"},chunkLoading:{$ref:"#/definitions/ChunkLoading"},dependOn:{type:"array",items:{type:"string",minLength:1},minItems:1,uniqueItems:!0},filename:{$ref:"#/definitions/Filename"},import:{type:"array",items:{type:"string",minLength:1},minItems:1,uniqueItems:!0},layer:{$ref:"#/definitions/Layer"},library:{$ref:"#/definitions/LibraryOptions"},publicPath:{$ref:"#/definitions/PublicPath"},runtime:{$ref:"#/definitions/EntryRuntime"},wasmLoading:{$ref:"#/definitions/WasmLoading"}}},EntryDynamic:{instanceof:"Function"},EntryDynamicNormalized:{instanceof:"Function"},EntryFilename:{oneOf:[{$ref:"#/definitions/FilenameTemplate"}]},EntryItem:{anyOf:[{type:"array",items:{type:"string",minLength:1},minItems:1,uniqueItems:!0},{type:"string",minLength:1}]},EntryNormalized:{anyOf:[{$ref:"#/definitions/EntryDynamicNormalized"},{$ref:"#/definitions/EntryStaticNormalized"}]},EntryObject:{type:"object",additionalProperties:{anyOf:[{$ref:"#/definitions/EntryItem"},{$ref:"#/definitions/EntryDescription"}]}},EntryRuntime:{anyOf:[{enum:[!1]},{type:"string",minLength:1}]},EntryStatic:{anyOf:[{$ref:"#/definitions/EntryObject"},{$ref:"#/definitions/EntryUnnamed"}]},EntryStaticNormalized:{type:"object",additionalProperties:{oneOf:[{$ref:"#/definitions/EntryDescriptionNormalized"}]}},EntryUnnamed:{oneOf:[{$ref:"#/definitions/EntryItem"}]},Environment:{type:"object",additionalProperties:!1,properties:{arrowFunction:{type:"boolean"},asyncFunction:{type:"boolean"},bigIntLiteral:{type:"boolean"},const:{type:"boolean"},destructuring:{type:"boolean"},dynamicImport:{type:"boolean"},dynamicImportInWorker:{type:"boolean"},forOf:{type:"boolean"},globalThis:{type:"boolean"},module:{type:"boolean"},optionalChaining:{type:"boolean"},templateLiteral:{type:"boolean"}}},Experiments:{type:"object",additionalProperties:!1,properties:{asyncWebAssembly:{type:"boolean"},backCompat:{type:"boolean"},buildHttp:{anyOf:[{$ref:"#/definitions/HttpUriAllowedUris"},{$ref:"#/definitions/HttpUriOptions"}]},cacheUnaffected:{type:"boolean"},css:{type:"boolean"},futureDefaults:{type:"boolean"},layers:{type:"boolean"},lazyCompilation:{anyOf:[{type:"boolean"},{$ref:"#/definitions/LazyCompilationOptions"}]},outputModule:{type:"boolean"},syncWebAssembly:{type:"boolean"},topLevelAwait:{type:"boolean"}}},ExperimentsCommon:{type:"object",additionalProperties:!1,properties:{asyncWebAssembly:{type:"boolean"},backCompat:{type:"boolean"},cacheUnaffected:{type:"boolean"},futureDefaults:{type:"boolean"},layers:{type:"boolean"},outputModule:{type:"boolean"},syncWebAssembly:{type:"boolean"},topLevelAwait:{type:"boolean"}}},ExperimentsNormalized:{type:"object",additionalProperties:!1,properties:{asyncWebAssembly:{type:"boolean"},backCompat:{type:"boolean"},buildHttp:{oneOf:[{$ref:"#/definitions/HttpUriOptions"}]},cacheUnaffected:{type:"boolean"},css:{type:"boolean"},futureDefaults:{type:"boolean"},layers:{type:"boolean"},lazyCompilation:{anyOf:[{enum:[!1]},{$ref:"#/definitions/LazyCompilationOptions"}]},outputModule:{type:"boolean"},syncWebAssembly:{type:"boolean"},topLevelAwait:{type:"boolean"}}},Extends:{anyOf:[{type:"array",items:{$ref:"#/definitions/ExtendsItem"}},{$ref:"#/definitions/ExtendsItem"}]},ExtendsItem:{type:"string"},ExternalItem:{anyOf:[{instanceof:"RegExp"},{type:"string"},{type:"object",additionalProperties:{$ref:"#/definitions/ExternalItemValue"},properties:{byLayer:{anyOf:[{type:"object",additionalProperties:{$ref:"#/definitions/ExternalItem"}},{instanceof:"Function"}]}}},{instanceof:"Function"}]},ExternalItemFunctionData:{type:"object",additionalProperties:!1,properties:{context:{type:"string"},contextInfo:{type:"object"},dependencyType:{type:"string"},getResolve:{instanceof:"Function"},request:{type:"string"}}},ExternalItemValue:{anyOf:[{type:"array",items:{type:"string",minLength:1}},{type:"boolean"},{type:"string"},{type:"object"}]},Externals:{anyOf:[{type:"array",items:{$ref:"#/definitions/ExternalItem"}},{$ref:"#/definitions/ExternalItem"}]},ExternalsPresets:{type:"object",additionalProperties:!1,properties:{electron:{type:"boolean"},electronMain:{type:"boolean"},electronPreload:{type:"boolean"},electronRenderer:{type:"boolean"},node:{type:"boolean"},nwjs:{type:"boolean"},web:{type:"boolean"},webAsync:{type:"boolean"}}},ExternalsType:{enum:["var","module","assign","this","window","self","global","commonjs","commonjs2","commonjs-module","commonjs-static","amd","amd-require","umd","umd2","jsonp","system","promise","import","script","node-commonjs"]},Falsy:{enum:[!1,0,"",null],undefinedAsNull:!0},FileCacheOptions:{type:"object",additionalProperties:!1,properties:{allowCollectingMemory:{type:"boolean"},buildDependencies:{type:"object",additionalProperties:{type:"array",items:{type:"string",minLength:1}}},cacheDirectory:{type:"string",absolutePath:!0},cacheLocation:{type:"string",absolutePath:!0},compression:{enum:[!1,"gzip","brotli"]},hashAlgorithm:{type:"string"},idleTimeout:{type:"number",minimum:0},idleTimeoutAfterLargeChanges:{type:"number",minimum:0},idleTimeoutForInitialStore:{type:"number",minimum:0},immutablePaths:{type:"array",items:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!0,minLength:1}]}},managedPaths:{type:"array",items:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!0,minLength:1}]}},maxAge:{type:"number",minimum:0},maxMemoryGenerations:{type:"number",minimum:0},memoryCacheUnaffected:{type:"boolean"},name:{type:"string"},profile:{type:"boolean"},readonly:{type:"boolean"},store:{enum:["pack"]},type:{enum:["filesystem"]},version:{type:"string"}},required:["type"]},Filename:{oneOf:[{$ref:"#/definitions/FilenameTemplate"}]},FilenameTemplate:{anyOf:[{type:"string",absolutePath:!1,minLength:1},{instanceof:"Function"}]},FilterItemTypes:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!1},{instanceof:"Function"}]},FilterTypes:{anyOf:[{type:"array",items:{oneOf:[{$ref:"#/definitions/FilterItemTypes"}]}},{$ref:"#/definitions/FilterItemTypes"}]},GeneratorOptionsByModuleType:{type:"object",additionalProperties:{type:"object",additionalProperties:!0},properties:{asset:{$ref:"#/definitions/AssetGeneratorOptions"},"asset/inline":{$ref:"#/definitions/AssetInlineGeneratorOptions"},"asset/resource":{$ref:"#/definitions/AssetResourceGeneratorOptions"},css:{$ref:"#/definitions/CssGeneratorOptions"},"css/auto":{$ref:"#/definitions/CssAutoGeneratorOptions"},"css/global":{$ref:"#/definitions/CssGlobalGeneratorOptions"},"css/module":{$ref:"#/definitions/CssModuleGeneratorOptions"},javascript:{$ref:"#/definitions/EmptyGeneratorOptions"},"javascript/auto":{$ref:"#/definitions/EmptyGeneratorOptions"},"javascript/dynamic":{$ref:"#/definitions/EmptyGeneratorOptions"},"javascript/esm":{$ref:"#/definitions/EmptyGeneratorOptions"}}},GlobalObject:{type:"string",minLength:1},HashDigest:{type:"string"},HashDigestLength:{type:"number",minimum:1},HashFunction:{anyOf:[{type:"string",minLength:1},{instanceof:"Function"}]},HashSalt:{type:"string",minLength:1},HotUpdateChunkFilename:{type:"string",absolutePath:!1},HotUpdateGlobal:{type:"string"},HotUpdateMainFilename:{type:"string",absolutePath:!1},HttpUriAllowedUris:{oneOf:[{$ref:"#/definitions/HttpUriOptionsAllowedUris"}]},HttpUriOptions:{type:"object",additionalProperties:!1,properties:{allowedUris:{$ref:"#/definitions/HttpUriOptionsAllowedUris"},cacheLocation:{anyOf:[{enum:[!1]},{type:"string",absolutePath:!0}]},frozen:{type:"boolean"},lockfileLocation:{type:"string",absolutePath:!0},proxy:{type:"string"},upgrade:{type:"boolean"}},required:["allowedUris"]},HttpUriOptionsAllowedUris:{type:"array",items:{anyOf:[{instanceof:"RegExp"},{type:"string",pattern:"^https?://"},{instanceof:"Function"}]}},IgnoreWarnings:{type:"array",items:{anyOf:[{instanceof:"RegExp"},{type:"object",additionalProperties:!1,properties:{file:{instanceof:"RegExp"},message:{instanceof:"RegExp"},module:{instanceof:"RegExp"}}},{instanceof:"Function"}]}},IgnoreWarningsNormalized:{type:"array",items:{instanceof:"Function"}},Iife:{type:"boolean"},ImportFunctionName:{type:"string"},ImportMetaName:{type:"string"},InfrastructureLogging:{type:"object",additionalProperties:!1,properties:{appendOnly:{type:"boolean"},colors:{type:"boolean"},console:{},debug:{anyOf:[{type:"boolean"},{$ref:"#/definitions/FilterTypes"}]},level:{enum:["none","error","warn","info","log","verbose"]},stream:{}}},JavascriptParserOptions:{type:"object",additionalProperties:!0,properties:{amd:{$ref:"#/definitions/Amd"},browserify:{type:"boolean"},commonjs:{type:"boolean"},commonjsMagicComments:{type:"boolean"},createRequire:{anyOf:[{type:"boolean"},{type:"string"}]},dynamicImportFetchPriority:{enum:["low","high","auto",!1]},dynamicImportMode:{enum:["eager","weak","lazy","lazy-once"]},dynamicImportPrefetch:{anyOf:[{type:"number"},{type:"boolean"}]},dynamicImportPreload:{anyOf:[{type:"number"},{type:"boolean"}]},exportsPresence:{enum:["error","warn","auto",!1]},exprContextCritical:{type:"boolean"},exprContextRecursive:{type:"boolean"},exprContextRegExp:{anyOf:[{instanceof:"RegExp"},{type:"boolean"}]},exprContextRequest:{type:"string"},harmony:{type:"boolean"},import:{type:"boolean"},importExportsPresence:{enum:["error","warn","auto",!1]},importMeta:{type:"boolean"},importMetaContext:{type:"boolean"},node:{$ref:"#/definitions/Node"},reexportExportsPresence:{enum:["error","warn","auto",!1]},requireContext:{type:"boolean"},requireEnsure:{type:"boolean"},requireInclude:{type:"boolean"},requireJs:{type:"boolean"},strictExportPresence:{type:"boolean"},strictThisContextOnImports:{type:"boolean"},system:{type:"boolean"},unknownContextCritical:{type:"boolean"},unknownContextRecursive:{type:"boolean"},unknownContextRegExp:{anyOf:[{instanceof:"RegExp"},{type:"boolean"}]},unknownContextRequest:{type:"string"},url:{anyOf:[{enum:["relative"]},{type:"boolean"}]},worker:{anyOf:[{type:"array",items:{type:"string",minLength:1}},{type:"boolean"}]},wrappedContextCritical:{type:"boolean"},wrappedContextRecursive:{type:"boolean"},wrappedContextRegExp:{instanceof:"RegExp"}}},Layer:{anyOf:[{enum:[null]},{type:"string",minLength:1}]},LazyCompilationDefaultBackendOptions:{type:"object",additionalProperties:!1,properties:{client:{type:"string"},listen:{anyOf:[{type:"number"},{type:"object",additionalProperties:!0,properties:{host:{type:"string"},port:{type:"number"}}},{instanceof:"Function"}]},protocol:{enum:["http","https"]},server:{anyOf:[{type:"object",additionalProperties:!0,properties:{}},{instanceof:"Function"}]}}},LazyCompilationOptions:{type:"object",additionalProperties:!1,properties:{backend:{anyOf:[{instanceof:"Function"},{$ref:"#/definitions/LazyCompilationDefaultBackendOptions"}]},entries:{type:"boolean"},imports:{type:"boolean"},test:{anyOf:[{instanceof:"RegExp"},{type:"string"},{instanceof:"Function"}]}}},Library:{anyOf:[{$ref:"#/definitions/LibraryName"},{$ref:"#/definitions/LibraryOptions"}]},LibraryCustomUmdCommentObject:{type:"object",additionalProperties:!1,properties:{amd:{type:"string"},commonjs:{type:"string"},commonjs2:{type:"string"},root:{type:"string"}}},LibraryCustomUmdObject:{type:"object",additionalProperties:!1,properties:{amd:{type:"string",minLength:1},commonjs:{type:"string",minLength:1},root:{anyOf:[{type:"array",items:{type:"string",minLength:1}},{type:"string",minLength:1}]}}},LibraryExport:{anyOf:[{type:"array",items:{type:"string",minLength:1}},{type:"string",minLength:1}]},LibraryName:{anyOf:[{type:"array",items:{type:"string",minLength:1},minItems:1},{type:"string",minLength:1},{$ref:"#/definitions/LibraryCustomUmdObject"}]},LibraryOptions:{type:"object",additionalProperties:!1,properties:{amdContainer:{$ref:"#/definitions/AmdContainer"},auxiliaryComment:{$ref:"#/definitions/AuxiliaryComment"},export:{$ref:"#/definitions/LibraryExport"},name:{$ref:"#/definitions/LibraryName"},type:{$ref:"#/definitions/LibraryType"},umdNamedDefine:{$ref:"#/definitions/UmdNamedDefine"}},required:["type"]},LibraryType:{anyOf:[{enum:["var","module","assign","assign-properties","this","window","self","global","commonjs","commonjs2","commonjs-module","commonjs-static","amd","amd-require","umd","umd2","jsonp","system"]},{type:"string"}]},Loader:{type:"object"},MemoryCacheOptions:{type:"object",additionalProperties:!1,properties:{cacheUnaffected:{type:"boolean"},maxGenerations:{type:"number",minimum:1},type:{enum:["memory"]}},required:["type"]},Mode:{enum:["development","production","none"]},ModuleFilterItemTypes:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!1},{instanceof:"Function"}]},ModuleFilterTypes:{anyOf:[{type:"array",items:{oneOf:[{$ref:"#/definitions/ModuleFilterItemTypes"}]}},{$ref:"#/definitions/ModuleFilterItemTypes"}]},ModuleOptions:{type:"object",additionalProperties:!1,properties:{defaultRules:{oneOf:[{$ref:"#/definitions/RuleSetRules"}]},exprContextCritical:{type:"boolean"},exprContextRecursive:{type:"boolean"},exprContextRegExp:{anyOf:[{instanceof:"RegExp"},{type:"boolean"}]},exprContextRequest:{type:"string"},generator:{$ref:"#/definitions/GeneratorOptionsByModuleType"},noParse:{$ref:"#/definitions/NoParse"},parser:{$ref:"#/definitions/ParserOptionsByModuleType"},rules:{oneOf:[{$ref:"#/definitions/RuleSetRules"}]},strictExportPresence:{type:"boolean"},strictThisContextOnImports:{type:"boolean"},unknownContextCritical:{type:"boolean"},unknownContextRecursive:{type:"boolean"},unknownContextRegExp:{anyOf:[{instanceof:"RegExp"},{type:"boolean"}]},unknownContextRequest:{type:"string"},unsafeCache:{anyOf:[{type:"boolean"},{instanceof:"Function"}]},wrappedContextCritical:{type:"boolean"},wrappedContextRecursive:{type:"boolean"},wrappedContextRegExp:{instanceof:"RegExp"}}},ModuleOptionsNormalized:{type:"object",additionalProperties:!1,properties:{defaultRules:{oneOf:[{$ref:"#/definitions/RuleSetRules"}]},generator:{$ref:"#/definitions/GeneratorOptionsByModuleType"},noParse:{$ref:"#/definitions/NoParse"},parser:{$ref:"#/definitions/ParserOptionsByModuleType"},rules:{oneOf:[{$ref:"#/definitions/RuleSetRules"}]},unsafeCache:{anyOf:[{type:"boolean"},{instanceof:"Function"}]}},required:["defaultRules","generator","parser","rules"]},Name:{type:"string"},NoParse:{anyOf:[{type:"array",items:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!0},{instanceof:"Function"}]},minItems:1},{instanceof:"RegExp"},{type:"string",absolutePath:!0},{instanceof:"Function"}]},Node:{anyOf:[{enum:[!1]},{$ref:"#/definitions/NodeOptions"}]},NodeOptions:{type:"object",additionalProperties:!1,properties:{__dirname:{enum:[!1,!0,"warn-mock","mock","node-module","eval-only"]},__filename:{enum:[!1,!0,"warn-mock","mock","node-module","eval-only"]},global:{enum:[!1,!0,"warn"]}}},Optimization:{type:"object",additionalProperties:!1,properties:{checkWasmTypes:{type:"boolean"},chunkIds:{enum:["natural","named","deterministic","size","total-size",!1]},concatenateModules:{type:"boolean"},emitOnErrors:{type:"boolean"},flagIncludedChunks:{type:"boolean"},innerGraph:{type:"boolean"},mangleExports:{anyOf:[{enum:["size","deterministic"]},{type:"boolean"}]},mangleWasmImports:{type:"boolean"},mergeDuplicateChunks:{type:"boolean"},minimize:{type:"boolean"},minimizer:{type:"array",items:{anyOf:[{enum:["..."]},{$ref:"#/definitions/Falsy"},{$ref:"#/definitions/WebpackPluginInstance"},{$ref:"#/definitions/WebpackPluginFunction"}]}},moduleIds:{enum:["natural","named","hashed","deterministic","size",!1]},noEmitOnErrors:{type:"boolean"},nodeEnv:{anyOf:[{enum:[!1]},{type:"string"}]},portableRecords:{type:"boolean"},providedExports:{type:"boolean"},realContentHash:{type:"boolean"},removeAvailableModules:{type:"boolean"},removeEmptyChunks:{type:"boolean"},runtimeChunk:{$ref:"#/definitions/OptimizationRuntimeChunk"},sideEffects:{anyOf:[{enum:["flag"]},{type:"boolean"}]},splitChunks:{anyOf:[{enum:[!1]},{$ref:"#/definitions/OptimizationSplitChunksOptions"}]},usedExports:{anyOf:[{enum:["global"]},{type:"boolean"}]}}},OptimizationRuntimeChunk:{anyOf:[{enum:["single","multiple"]},{type:"boolean"},{type:"object",additionalProperties:!1,properties:{name:{anyOf:[{type:"string"},{instanceof:"Function"}]}}}]},OptimizationRuntimeChunkNormalized:{anyOf:[{enum:[!1]},{type:"object",additionalProperties:!1,properties:{name:{instanceof:"Function"}}}]},OptimizationSplitChunksCacheGroup:{type:"object",additionalProperties:!1,properties:{automaticNameDelimiter:{type:"string",minLength:1},chunks:{anyOf:[{enum:["initial","async","all"]},{instanceof:"RegExp"},{instanceof:"Function"}]},enforce:{type:"boolean"},enforceSizeThreshold:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},filename:{anyOf:[{type:"string",absolutePath:!1,minLength:1},{instanceof:"Function"}]},idHint:{type:"string"},layer:{anyOf:[{instanceof:"RegExp"},{type:"string"},{instanceof:"Function"}]},maxAsyncRequests:{type:"number",minimum:1},maxAsyncSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},maxInitialRequests:{type:"number",minimum:1},maxInitialSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},maxSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},minChunks:{type:"number",minimum:1},minRemainingSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},minSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},minSizeReduction:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},name:{anyOf:[{enum:[!1]},{type:"string"},{instanceof:"Function"}]},priority:{type:"number"},reuseExistingChunk:{type:"boolean"},test:{anyOf:[{instanceof:"RegExp"},{type:"string"},{instanceof:"Function"}]},type:{anyOf:[{instanceof:"RegExp"},{type:"string"},{instanceof:"Function"}]},usedExports:{type:"boolean"}}},OptimizationSplitChunksGetCacheGroups:{instanceof:"Function"},OptimizationSplitChunksOptions:{type:"object",additionalProperties:!1,properties:{automaticNameDelimiter:{type:"string",minLength:1},cacheGroups:{type:"object",additionalProperties:{anyOf:[{enum:[!1]},{instanceof:"RegExp"},{type:"string"},{instanceof:"Function"},{$ref:"#/definitions/OptimizationSplitChunksCacheGroup"}]},not:{type:"object",additionalProperties:!0,properties:{test:{anyOf:[{instanceof:"RegExp"},{type:"string"},{instanceof:"Function"}]}},required:["test"]}},chunks:{anyOf:[{enum:["initial","async","all"]},{instanceof:"RegExp"},{instanceof:"Function"}]},defaultSizeTypes:{type:"array",items:{type:"string"},minItems:1},enforceSizeThreshold:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},fallbackCacheGroup:{type:"object",additionalProperties:!1,properties:{automaticNameDelimiter:{type:"string",minLength:1},chunks:{anyOf:[{enum:["initial","async","all"]},{instanceof:"RegExp"},{instanceof:"Function"}]},maxAsyncSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},maxInitialSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},maxSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},minSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},minSizeReduction:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]}}},filename:{anyOf:[{type:"string",absolutePath:!1,minLength:1},{instanceof:"Function"}]},hidePathInfo:{type:"boolean"},maxAsyncRequests:{type:"number",minimum:1},maxAsyncSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},maxInitialRequests:{type:"number",minimum:1},maxInitialSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},maxSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},minChunks:{type:"number",minimum:1},minRemainingSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},minSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},minSizeReduction:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},name:{anyOf:[{enum:[!1]},{type:"string"},{instanceof:"Function"}]},usedExports:{type:"boolean"}}},OptimizationSplitChunksSizes:{anyOf:[{type:"number",minimum:0},{type:"object",additionalProperties:{type:"number"}}]},Output:{type:"object",additionalProperties:!1,properties:{amdContainer:{oneOf:[{$ref:"#/definitions/AmdContainer"}]},assetModuleFilename:{$ref:"#/definitions/AssetModuleFilename"},asyncChunks:{type:"boolean"},auxiliaryComment:{oneOf:[{$ref:"#/definitions/AuxiliaryComment"}]},charset:{$ref:"#/definitions/Charset"},chunkFilename:{$ref:"#/definitions/ChunkFilename"},chunkFormat:{$ref:"#/definitions/ChunkFormat"},chunkLoadTimeout:{$ref:"#/definitions/ChunkLoadTimeout"},chunkLoading:{$ref:"#/definitions/ChunkLoading"},chunkLoadingGlobal:{$ref:"#/definitions/ChunkLoadingGlobal"},clean:{$ref:"#/definitions/Clean"},compareBeforeEmit:{$ref:"#/definitions/CompareBeforeEmit"},crossOriginLoading:{$ref:"#/definitions/CrossOriginLoading"},cssChunkFilename:{$ref:"#/definitions/CssChunkFilename"},cssFilename:{$ref:"#/definitions/CssFilename"},devtoolFallbackModuleFilenameTemplate:{$ref:"#/definitions/DevtoolFallbackModuleFilenameTemplate"},devtoolModuleFilenameTemplate:{$ref:"#/definitions/DevtoolModuleFilenameTemplate"},devtoolNamespace:{$ref:"#/definitions/DevtoolNamespace"},enabledChunkLoadingTypes:{$ref:"#/definitions/EnabledChunkLoadingTypes"},enabledLibraryTypes:{$ref:"#/definitions/EnabledLibraryTypes"},enabledWasmLoadingTypes:{$ref:"#/definitions/EnabledWasmLoadingTypes"},environment:{$ref:"#/definitions/Environment"},filename:{$ref:"#/definitions/Filename"},globalObject:{$ref:"#/definitions/GlobalObject"},hashDigest:{$ref:"#/definitions/HashDigest"},hashDigestLength:{$ref:"#/definitions/HashDigestLength"},hashFunction:{$ref:"#/definitions/HashFunction"},hashSalt:{$ref:"#/definitions/HashSalt"},hotUpdateChunkFilename:{$ref:"#/definitions/HotUpdateChunkFilename"},hotUpdateGlobal:{$ref:"#/definitions/HotUpdateGlobal"},hotUpdateMainFilename:{$ref:"#/definitions/HotUpdateMainFilename"},ignoreBrowserWarnings:{type:"boolean"},iife:{$ref:"#/definitions/Iife"},importFunctionName:{$ref:"#/definitions/ImportFunctionName"},importMetaName:{$ref:"#/definitions/ImportMetaName"},library:{$ref:"#/definitions/Library"},libraryExport:{oneOf:[{$ref:"#/definitions/LibraryExport"}]},libraryTarget:{oneOf:[{$ref:"#/definitions/LibraryType"}]},module:{$ref:"#/definitions/OutputModule"},path:{$ref:"#/definitions/Path"},pathinfo:{$ref:"#/definitions/Pathinfo"},publicPath:{$ref:"#/definitions/PublicPath"},scriptType:{$ref:"#/definitions/ScriptType"},sourceMapFilename:{$ref:"#/definitions/SourceMapFilename"},sourcePrefix:{$ref:"#/definitions/SourcePrefix"},strictModuleErrorHandling:{$ref:"#/definitions/StrictModuleErrorHandling"},strictModuleExceptionHandling:{$ref:"#/definitions/StrictModuleExceptionHandling"},trustedTypes:{anyOf:[{enum:[!0]},{type:"string",minLength:1},{$ref:"#/definitions/TrustedTypes"}]},umdNamedDefine:{oneOf:[{$ref:"#/definitions/UmdNamedDefine"}]},uniqueName:{$ref:"#/definitions/UniqueName"},wasmLoading:{$ref:"#/definitions/WasmLoading"},webassemblyModuleFilename:{$ref:"#/definitions/WebassemblyModuleFilename"},workerChunkLoading:{$ref:"#/definitions/ChunkLoading"},workerPublicPath:{$ref:"#/definitions/WorkerPublicPath"},workerWasmLoading:{$ref:"#/definitions/WasmLoading"}}},OutputModule:{type:"boolean"},OutputNormalized:{type:"object",additionalProperties:!1,properties:{assetModuleFilename:{$ref:"#/definitions/AssetModuleFilename"},asyncChunks:{type:"boolean"},charset:{$ref:"#/definitions/Charset"},chunkFilename:{$ref:"#/definitions/ChunkFilename"},chunkFormat:{$ref:"#/definitions/ChunkFormat"},chunkLoadTimeout:{$ref:"#/definitions/ChunkLoadTimeout"},chunkLoading:{$ref:"#/definitions/ChunkLoading"},chunkLoadingGlobal:{$ref:"#/definitions/ChunkLoadingGlobal"},clean:{$ref:"#/definitions/Clean"},compareBeforeEmit:{$ref:"#/definitions/CompareBeforeEmit"},crossOriginLoading:{$ref:"#/definitions/CrossOriginLoading"},cssChunkFilename:{$ref:"#/definitions/CssChunkFilename"},cssFilename:{$ref:"#/definitions/CssFilename"},devtoolFallbackModuleFilenameTemplate:{$ref:"#/definitions/DevtoolFallbackModuleFilenameTemplate"},devtoolModuleFilenameTemplate:{$ref:"#/definitions/DevtoolModuleFilenameTemplate"},devtoolNamespace:{$ref:"#/definitions/DevtoolNamespace"},enabledChunkLoadingTypes:{$ref:"#/definitions/EnabledChunkLoadingTypes"},enabledLibraryTypes:{$ref:"#/definitions/EnabledLibraryTypes"},enabledWasmLoadingTypes:{$ref:"#/definitions/EnabledWasmLoadingTypes"},environment:{$ref:"#/definitions/Environment"},filename:{$ref:"#/definitions/Filename"},globalObject:{$ref:"#/definitions/GlobalObject"},hashDigest:{$ref:"#/definitions/HashDigest"},hashDigestLength:{$ref:"#/definitions/HashDigestLength"},hashFunction:{$ref:"#/definitions/HashFunction"},hashSalt:{$ref:"#/definitions/HashSalt"},hotUpdateChunkFilename:{$ref:"#/definitions/HotUpdateChunkFilename"},hotUpdateGlobal:{$ref:"#/definitions/HotUpdateGlobal"},hotUpdateMainFilename:{$ref:"#/definitions/HotUpdateMainFilename"},ignoreBrowserWarnings:{type:"boolean"},iife:{$ref:"#/definitions/Iife"},importFunctionName:{$ref:"#/definitions/ImportFunctionName"},importMetaName:{$ref:"#/definitions/ImportMetaName"},library:{$ref:"#/definitions/LibraryOptions"},module:{$ref:"#/definitions/OutputModule"},path:{$ref:"#/definitions/Path"},pathinfo:{$ref:"#/definitions/Pathinfo"},publicPath:{$ref:"#/definitions/PublicPath"},scriptType:{$ref:"#/definitions/ScriptType"},sourceMapFilename:{$ref:"#/definitions/SourceMapFilename"},sourcePrefix:{$ref:"#/definitions/SourcePrefix"},strictModuleErrorHandling:{$ref:"#/definitions/StrictModuleErrorHandling"},strictModuleExceptionHandling:{$ref:"#/definitions/StrictModuleExceptionHandling"},trustedTypes:{$ref:"#/definitions/TrustedTypes"},uniqueName:{$ref:"#/definitions/UniqueName"},wasmLoading:{$ref:"#/definitions/WasmLoading"},webassemblyModuleFilename:{$ref:"#/definitions/WebassemblyModuleFilename"},workerChunkLoading:{$ref:"#/definitions/ChunkLoading"},workerPublicPath:{$ref:"#/definitions/WorkerPublicPath"},workerWasmLoading:{$ref:"#/definitions/WasmLoading"}}},Parallelism:{type:"number",minimum:1},ParserOptionsByModuleType:{type:"object",additionalProperties:{type:"object",additionalProperties:!0},properties:{asset:{$ref:"#/definitions/AssetParserOptions"},"asset/inline":{$ref:"#/definitions/EmptyParserOptions"},"asset/resource":{$ref:"#/definitions/EmptyParserOptions"},"asset/source":{$ref:"#/definitions/EmptyParserOptions"},css:{$ref:"#/definitions/CssParserOptions"},"css/auto":{$ref:"#/definitions/CssAutoParserOptions"},"css/global":{$ref:"#/definitions/CssGlobalParserOptions"},"css/module":{$ref:"#/definitions/CssModuleParserOptions"},javascript:{$ref:"#/definitions/JavascriptParserOptions"},"javascript/auto":{$ref:"#/definitions/JavascriptParserOptions"},"javascript/dynamic":{$ref:"#/definitions/JavascriptParserOptions"},"javascript/esm":{$ref:"#/definitions/JavascriptParserOptions"}}},Path:{type:"string",absolutePath:!0},Pathinfo:{anyOf:[{enum:["verbose"]},{type:"boolean"}]},Performance:{anyOf:[{enum:[!1]},{$ref:"#/definitions/PerformanceOptions"}]},PerformanceOptions:{type:"object",additionalProperties:!1,properties:{assetFilter:{instanceof:"Function"},hints:{enum:[!1,"warning","error"]},maxAssetSize:{type:"number"},maxEntrypointSize:{type:"number"}}},Plugins:{type:"array",items:{anyOf:[{$ref:"#/definitions/Falsy"},{$ref:"#/definitions/WebpackPluginInstance"},{$ref:"#/definitions/WebpackPluginFunction"}]}},Profile:{type:"boolean"},PublicPath:{anyOf:[{enum:["auto"]},{$ref:"#/definitions/RawPublicPath"}]},RawPublicPath:{anyOf:[{type:"string"},{instanceof:"Function"}]},RecordsInputPath:{anyOf:[{enum:[!1]},{type:"string",absolutePath:!0}]},RecordsOutputPath:{anyOf:[{enum:[!1]},{type:"string",absolutePath:!0}]},RecordsPath:{anyOf:[{enum:[!1]},{type:"string",absolutePath:!0}]},Resolve:{oneOf:[{$ref:"#/definitions/ResolveOptions"}]},ResolveAlias:{anyOf:[{type:"array",items:{type:"object",additionalProperties:!1,properties:{alias:{anyOf:[{type:"array",items:{type:"string",minLength:1}},{enum:[!1]},{type:"string",minLength:1}]},name:{type:"string"},onlyModule:{type:"boolean"}},required:["alias","name"]}},{type:"object",additionalProperties:{anyOf:[{type:"array",items:{type:"string",minLength:1}},{enum:[!1]},{type:"string",minLength:1}]}}]},ResolveLoader:{oneOf:[{$ref:"#/definitions/ResolveOptions"}]},ResolveOptions:{type:"object",additionalProperties:!1,properties:{alias:{$ref:"#/definitions/ResolveAlias"},aliasFields:{type:"array",items:{anyOf:[{type:"array",items:{type:"string",minLength:1}},{type:"string",minLength:1}]}},byDependency:{type:"object",additionalProperties:{oneOf:[{$ref:"#/definitions/ResolveOptions"}]}},cache:{type:"boolean"},cachePredicate:{instanceof:"Function"},cacheWithContext:{type:"boolean"},conditionNames:{type:"array",items:{type:"string"}},descriptionFiles:{type:"array",items:{type:"string",minLength:1}},enforceExtension:{type:"boolean"},exportsFields:{type:"array",items:{type:"string"}},extensionAlias:{type:"object",additionalProperties:{anyOf:[{type:"array",items:{type:"string",minLength:1}},{type:"string",minLength:1}]}},extensions:{type:"array",items:{type:"string"}},fallback:{oneOf:[{$ref:"#/definitions/ResolveAlias"}]},fileSystem:{},fullySpecified:{type:"boolean"},importsFields:{type:"array",items:{type:"string"}},mainFields:{type:"array",items:{anyOf:[{type:"array",items:{type:"string",minLength:1}},{type:"string",minLength:1}]}},mainFiles:{type:"array",items:{type:"string",minLength:1}},modules:{type:"array",items:{type:"string",minLength:1}},plugins:{type:"array",items:{anyOf:[{enum:["..."]},{$ref:"#/definitions/Falsy"},{$ref:"#/definitions/ResolvePluginInstance"}]}},preferAbsolute:{type:"boolean"},preferRelative:{type:"boolean"},resolver:{},restrictions:{type:"array",items:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!0,minLength:1}]}},roots:{type:"array",items:{type:"string"}},symlinks:{type:"boolean"},unsafeCache:{anyOf:[{type:"boolean"},{type:"object",additionalProperties:!0}]},useSyncFileSystemCalls:{type:"boolean"}}},ResolvePluginInstance:{type:"object",additionalProperties:!0,properties:{apply:{instanceof:"Function"}},required:["apply"]},RuleSetCondition:{anyOf:[{instanceof:"RegExp"},{type:"string"},{instanceof:"Function"},{$ref:"#/definitions/RuleSetLogicalConditions"},{$ref:"#/definitions/RuleSetConditions"}]},RuleSetConditionAbsolute:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!0},{instanceof:"Function"},{$ref:"#/definitions/RuleSetLogicalConditionsAbsolute"},{$ref:"#/definitions/RuleSetConditionsAbsolute"}]},RuleSetConditionOrConditions:{anyOf:[{$ref:"#/definitions/RuleSetCondition"},{$ref:"#/definitions/RuleSetConditions"}]},RuleSetConditionOrConditionsAbsolute:{anyOf:[{$ref:"#/definitions/RuleSetConditionAbsolute"},{$ref:"#/definitions/RuleSetConditionsAbsolute"}]},RuleSetConditions:{type:"array",items:{oneOf:[{$ref:"#/definitions/RuleSetCondition"}]}},RuleSetConditionsAbsolute:{type:"array",items:{oneOf:[{$ref:"#/definitions/RuleSetConditionAbsolute"}]}},RuleSetLoader:{type:"string",minLength:1},RuleSetLoaderOptions:{anyOf:[{type:"string"},{type:"object"}]},RuleSetLogicalConditions:{type:"object",additionalProperties:!1,properties:{and:{oneOf:[{$ref:"#/definitions/RuleSetConditions"}]},not:{oneOf:[{$ref:"#/definitions/RuleSetCondition"}]},or:{oneOf:[{$ref:"#/definitions/RuleSetConditions"}]}}},RuleSetLogicalConditionsAbsolute:{type:"object",additionalProperties:!1,properties:{and:{oneOf:[{$ref:"#/definitions/RuleSetConditionsAbsolute"}]},not:{oneOf:[{$ref:"#/definitions/RuleSetConditionAbsolute"}]},or:{oneOf:[{$ref:"#/definitions/RuleSetConditionsAbsolute"}]}}},RuleSetRule:{type:"object",additionalProperties:!1,properties:{assert:{type:"object",additionalProperties:{$ref:"#/definitions/RuleSetConditionOrConditions"}},compiler:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditions"}]},dependency:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditions"}]},descriptionData:{type:"object",additionalProperties:{$ref:"#/definitions/RuleSetConditionOrConditions"}},enforce:{enum:["pre","post"]},exclude:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},generator:{type:"object"},include:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},issuer:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},issuerLayer:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditions"}]},layer:{type:"string"},loader:{oneOf:[{$ref:"#/definitions/RuleSetLoader"}]},mimetype:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditions"}]},oneOf:{type:"array",items:{anyOf:[{$ref:"#/definitions/Falsy"},{$ref:"#/definitions/RuleSetRule"}]}},options:{oneOf:[{$ref:"#/definitions/RuleSetLoaderOptions"}]},parser:{type:"object",additionalProperties:!0},realResource:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},resolve:{type:"object",oneOf:[{$ref:"#/definitions/ResolveOptions"}]},resource:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},resourceFragment:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditions"}]},resourceQuery:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditions"}]},rules:{type:"array",items:{anyOf:[{$ref:"#/definitions/Falsy"},{$ref:"#/definitions/RuleSetRule"}]}},scheme:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditions"}]},sideEffects:{type:"boolean"},test:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},type:{type:"string"},use:{oneOf:[{$ref:"#/definitions/RuleSetUse"}]}}},RuleSetRules:{type:"array",items:{anyOf:[{enum:["..."]},{$ref:"#/definitions/Falsy"},{$ref:"#/definitions/RuleSetRule"}]}},RuleSetUse:{anyOf:[{type:"array",items:{anyOf:[{$ref:"#/definitions/Falsy"},{$ref:"#/definitions/RuleSetUseItem"}]}},{instanceof:"Function"},{$ref:"#/definitions/RuleSetUseItem"}]},RuleSetUseItem:{anyOf:[{type:"object",additionalProperties:!1,properties:{ident:{type:"string"},loader:{oneOf:[{$ref:"#/definitions/RuleSetLoader"}]},options:{oneOf:[{$ref:"#/definitions/RuleSetLoaderOptions"}]}}},{instanceof:"Function"},{$ref:"#/definitions/RuleSetLoader"}]},ScriptType:{enum:[!1,"text/javascript","module"]},SnapshotOptions:{type:"object",additionalProperties:!1,properties:{buildDependencies:{type:"object",additionalProperties:!1,properties:{hash:{type:"boolean"},timestamp:{type:"boolean"}}},immutablePaths:{type:"array",items:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!0,minLength:1}]}},managedPaths:{type:"array",items:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!0,minLength:1}]}},module:{type:"object",additionalProperties:!1,properties:{hash:{type:"boolean"},timestamp:{type:"boolean"}}},resolve:{type:"object",additionalProperties:!1,properties:{hash:{type:"boolean"},timestamp:{type:"boolean"}}},resolveBuildDependencies:{type:"object",additionalProperties:!1,properties:{hash:{type:"boolean"},timestamp:{type:"boolean"}}},unmanagedPaths:{type:"array",items:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!0,minLength:1}]}}}},SourceMapFilename:{type:"string",absolutePath:!1},SourcePrefix:{type:"string"},StatsOptions:{type:"object",additionalProperties:!1,properties:{all:{type:"boolean"},assets:{type:"boolean"},assetsSort:{type:"string"},assetsSpace:{type:"number"},builtAt:{type:"boolean"},cached:{type:"boolean"},cachedAssets:{type:"boolean"},cachedModules:{type:"boolean"},children:{type:"boolean"},chunkGroupAuxiliary:{type:"boolean"},chunkGroupChildren:{type:"boolean"},chunkGroupMaxAssets:{type:"number"},chunkGroups:{type:"boolean"},chunkModules:{type:"boolean"},chunkModulesSpace:{type:"number"},chunkOrigins:{type:"boolean"},chunkRelations:{type:"boolean"},chunks:{type:"boolean"},chunksSort:{type:"string"},colors:{anyOf:[{type:"boolean"},{type:"object",additionalProperties:!1,properties:{bold:{type:"string"},cyan:{type:"string"},green:{type:"string"},magenta:{type:"string"},red:{type:"string"},yellow:{type:"string"}}}]},context:{type:"string",absolutePath:!0},dependentModules:{type:"boolean"},depth:{type:"boolean"},entrypoints:{anyOf:[{enum:["auto"]},{type:"boolean"}]},env:{type:"boolean"},errorDetails:{anyOf:[{enum:["auto"]},{type:"boolean"}]},errorStack:{type:"boolean"},errors:{type:"boolean"},errorsCount:{type:"boolean"},errorsSpace:{type:"number"},exclude:{anyOf:[{type:"boolean"},{$ref:"#/definitions/ModuleFilterTypes"}]},excludeAssets:{oneOf:[{$ref:"#/definitions/AssetFilterTypes"}]},excludeModules:{anyOf:[{type:"boolean"},{$ref:"#/definitions/ModuleFilterTypes"}]},groupAssetsByChunk:{type:"boolean"},groupAssetsByEmitStatus:{type:"boolean"},groupAssetsByExtension:{type:"boolean"},groupAssetsByInfo:{type:"boolean"},groupAssetsByPath:{type:"boolean"},groupModulesByAttributes:{type:"boolean"},groupModulesByCacheStatus:{type:"boolean"},groupModulesByExtension:{type:"boolean"},groupModulesByLayer:{type:"boolean"},groupModulesByPath:{type:"boolean"},groupModulesByType:{type:"boolean"},groupReasonsByOrigin:{type:"boolean"},hash:{type:"boolean"},ids:{type:"boolean"},logging:{anyOf:[{enum:["none","error","warn","info","log","verbose"]},{type:"boolean"}]},loggingDebug:{anyOf:[{type:"boolean"},{$ref:"#/definitions/FilterTypes"}]},loggingTrace:{type:"boolean"},moduleAssets:{type:"boolean"},moduleTrace:{type:"boolean"},modules:{type:"boolean"},modulesSort:{type:"string"},modulesSpace:{type:"number"},nestedModules:{type:"boolean"},nestedModulesSpace:{type:"number"},optimizationBailout:{type:"boolean"},orphanModules:{type:"boolean"},outputPath:{type:"boolean"},performance:{type:"boolean"},preset:{anyOf:[{type:"boolean"},{type:"string"}]},providedExports:{type:"boolean"},publicPath:{type:"boolean"},reasons:{type:"boolean"},reasonsSpace:{type:"number"},relatedAssets:{type:"boolean"},runtime:{type:"boolean"},runtimeModules:{type:"boolean"},source:{type:"boolean"},timings:{type:"boolean"},usedExports:{type:"boolean"},version:{type:"boolean"},warnings:{type:"boolean"},warningsCount:{type:"boolean"},warningsFilter:{oneOf:[{$ref:"#/definitions/WarningFilterTypes"}]},warningsSpace:{type:"number"}}},StatsValue:{anyOf:[{enum:["none","summary","errors-only","errors-warnings","minimal","normal","detailed","verbose"]},{type:"boolean"},{$ref:"#/definitions/StatsOptions"}]},StrictModuleErrorHandling:{type:"boolean"},StrictModuleExceptionHandling:{type:"boolean"},Target:{anyOf:[{type:"array",items:{type:"string",minLength:1},minItems:1},{enum:[!1]},{type:"string",minLength:1}]},TrustedTypes:{type:"object",additionalProperties:!1,properties:{onPolicyCreationFailure:{enum:["continue","stop"]},policyName:{type:"string",minLength:1}}},UmdNamedDefine:{type:"boolean"},UniqueName:{type:"string",minLength:1},WarningFilterItemTypes:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!1},{instanceof:"Function"}]},WarningFilterTypes:{anyOf:[{type:"array",items:{oneOf:[{$ref:"#/definitions/WarningFilterItemTypes"}]}},{$ref:"#/definitions/WarningFilterItemTypes"}]},WasmLoading:{anyOf:[{enum:[!1]},{$ref:"#/definitions/WasmLoadingType"}]},WasmLoadingType:{anyOf:[{enum:["fetch-streaming","fetch","async-node"]},{type:"string"}]},Watch:{type:"boolean"},WatchOptions:{type:"object",additionalProperties:!1,properties:{aggregateTimeout:{type:"number"},followSymlinks:{type:"boolean"},ignored:{anyOf:[{type:"array",items:{type:"string",minLength:1}},{instanceof:"RegExp"},{type:"string",minLength:1}]},poll:{anyOf:[{type:"number"},{type:"boolean"}]},stdin:{type:"boolean"}}},WebassemblyModuleFilename:{type:"string",absolutePath:!1},WebpackOptionsNormalized:{type:"object",additionalProperties:!1,properties:{amd:{$ref:"#/definitions/Amd"},bail:{$ref:"#/definitions/Bail"},cache:{$ref:"#/definitions/CacheOptionsNormalized"},context:{$ref:"#/definitions/Context"},dependencies:{$ref:"#/definitions/Dependencies"},devServer:{$ref:"#/definitions/DevServer"},devtool:{$ref:"#/definitions/DevTool"},entry:{$ref:"#/definitions/EntryNormalized"},experiments:{$ref:"#/definitions/ExperimentsNormalized"},externals:{$ref:"#/definitions/Externals"},externalsPresets:{$ref:"#/definitions/ExternalsPresets"},externalsType:{$ref:"#/definitions/ExternalsType"},ignoreWarnings:{$ref:"#/definitions/IgnoreWarningsNormalized"},infrastructureLogging:{$ref:"#/definitions/InfrastructureLogging"},loader:{$ref:"#/definitions/Loader"},mode:{$ref:"#/definitions/Mode"},module:{$ref:"#/definitions/ModuleOptionsNormalized"},name:{$ref:"#/definitions/Name"},node:{$ref:"#/definitions/Node"},optimization:{$ref:"#/definitions/Optimization"},output:{$ref:"#/definitions/OutputNormalized"},parallelism:{$ref:"#/definitions/Parallelism"},performance:{$ref:"#/definitions/Performance"},plugins:{$ref:"#/definitions/Plugins"},profile:{$ref:"#/definitions/Profile"},recordsInputPath:{$ref:"#/definitions/RecordsInputPath"},recordsOutputPath:{$ref:"#/definitions/RecordsOutputPath"},resolve:{$ref:"#/definitions/Resolve"},resolveLoader:{$ref:"#/definitions/ResolveLoader"},snapshot:{$ref:"#/definitions/SnapshotOptions"},stats:{$ref:"#/definitions/StatsValue"},target:{$ref:"#/definitions/Target"},watch:{$ref:"#/definitions/Watch"},watchOptions:{$ref:"#/definitions/WatchOptions"}},required:["cache","snapshot","entry","experiments","externals","externalsPresets","infrastructureLogging","module","node","optimization","output","plugins","resolve","resolveLoader","stats","watchOptions"]},WebpackPluginFunction:{instanceof:"Function"},WebpackPluginInstance:{type:"object",additionalProperties:!0,properties:{apply:{instanceof:"Function"}},required:["apply"]},WorkerPublicPath:{type:"string"}},type:"object",additionalProperties:!1,properties:{amd:{$ref:"#/definitions/Amd"},bail:{$ref:"#/definitions/Bail"},cache:{$ref:"#/definitions/CacheOptions"},context:{$ref:"#/definitions/Context"},dependencies:{$ref:"#/definitions/Dependencies"},devServer:{$ref:"#/definitions/DevServer"},devtool:{$ref:"#/definitions/DevTool"},entry:{$ref:"#/definitions/Entry"},experiments:{$ref:"#/definitions/Experiments"},extends:{$ref:"#/definitions/Extends"},externals:{$ref:"#/definitions/Externals"},externalsPresets:{$ref:"#/definitions/ExternalsPresets"},externalsType:{$ref:"#/definitions/ExternalsType"},ignoreWarnings:{$ref:"#/definitions/IgnoreWarnings"},infrastructureLogging:{$ref:"#/definitions/InfrastructureLogging"},loader:{$ref:"#/definitions/Loader"},mode:{$ref:"#/definitions/Mode"},module:{$ref:"#/definitions/ModuleOptions"},name:{$ref:"#/definitions/Name"},node:{$ref:"#/definitions/Node"},optimization:{$ref:"#/definitions/Optimization"},output:{$ref:"#/definitions/Output"},parallelism:{$ref:"#/definitions/Parallelism"},performance:{$ref:"#/definitions/Performance"},plugins:{$ref:"#/definitions/Plugins"},profile:{$ref:"#/definitions/Profile"},recordsInputPath:{$ref:"#/definitions/RecordsInputPath"},recordsOutputPath:{$ref:"#/definitions/RecordsOutputPath"},recordsPath:{$ref:"#/definitions/RecordsPath"},resolve:{$ref:"#/definitions/Resolve"},resolveLoader:{$ref:"#/definitions/ResolveLoader"},snapshot:{$ref:"#/definitions/SnapshotOptions"},stats:{$ref:"#/definitions/StatsValue"},target:{$ref:"#/definitions/Target"},watch:{$ref:"#/definitions/Watch"},watchOptions:{$ref:"#/definitions/WatchOptions"}}},R=Object.prototype.hasOwnProperty,$={type:"object",additionalProperties:!1,properties:{allowCollectingMemory:{type:"boolean"},buildDependencies:{type:"object",additionalProperties:{type:"array",items:{type:"string",minLength:1}}},cacheDirectory:{type:"string",absolutePath:!0},cacheLocation:{type:"string",absolutePath:!0},compression:{enum:[!1,"gzip","brotli"]},hashAlgorithm:{type:"string"},idleTimeout:{type:"number",minimum:0},idleTimeoutAfterLargeChanges:{type:"number",minimum:0},idleTimeoutForInitialStore:{type:"number",minimum:0},immutablePaths:{type:"array",items:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!0,minLength:1}]}},managedPaths:{type:"array",items:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!0,minLength:1}]}},maxAge:{type:"number",minimum:0},maxMemoryGenerations:{type:"number",minimum:0},memoryCacheUnaffected:{type:"boolean"},name:{type:"string"},profile:{type:"boolean"},readonly:{type:"boolean"},store:{enum:["pack"]},type:{enum:["filesystem"]},version:{type:"string"}},required:["type"]};function o(v,{instancePath:P="",parentData:N,parentDataProperty:L,rootData:q=v}={}){let K=null,ae=0;const ge=ae;let be=!1;const xe=ae;if(!1!==v){const v={params:{}};null===K?K=[v]:K.push(v),ae++}var ve=xe===ae;if(be=be||ve,!be){const P=ae;if(ae==ae)if(v&&"object"==typeof v&&!Array.isArray(v)){let E;if(void 0===v.type&&(E="type")){const v={params:{missingProperty:E}};null===K?K=[v]:K.push(v),ae++}else{const E=ae;for(const E in v)if("cacheUnaffected"!==E&&"maxGenerations"!==E&&"type"!==E){const v={params:{additionalProperty:E}};null===K?K=[v]:K.push(v),ae++;break}if(E===ae){if(void 0!==v.cacheUnaffected){const E=ae;if("boolean"!=typeof v.cacheUnaffected){const v={params:{type:"boolean"}};null===K?K=[v]:K.push(v),ae++}var Ae=E===ae}else Ae=!0;if(Ae){if(void 0!==v.maxGenerations){let E=v.maxGenerations;const P=ae;if(ae===P)if("number"==typeof E){if(E<1||isNaN(E)){const v={params:{comparison:">=",limit:1}};null===K?K=[v]:K.push(v),ae++}}else{const v={params:{type:"number"}};null===K?K=[v]:K.push(v),ae++}Ae=P===ae}else Ae=!0;if(Ae)if(void 0!==v.type){const E=ae;if("memory"!==v.type){const v={params:{}};null===K?K=[v]:K.push(v),ae++}Ae=E===ae}else Ae=!0}}}}else{const v={params:{type:"object"}};null===K?K=[v]:K.push(v),ae++}if(ve=P===ae,be=be||ve,!be){const P=ae;if(ae==ae)if(v&&"object"==typeof v&&!Array.isArray(v)){let P;if(void 0===v.type&&(P="type")){const v={params:{missingProperty:P}};null===K?K=[v]:K.push(v),ae++}else{const P=ae;for(const E in v)if(!R.call($.properties,E)){const v={params:{additionalProperty:E}};null===K?K=[v]:K.push(v),ae++;break}if(P===ae){if(void 0!==v.allowCollectingMemory){const E=ae;if("boolean"!=typeof v.allowCollectingMemory){const v={params:{type:"boolean"}};null===K?K=[v]:K.push(v),ae++}var Ie=E===ae}else Ie=!0;if(Ie){if(void 0!==v.buildDependencies){let E=v.buildDependencies;const P=ae;if(ae===P)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){let P=E[v];const R=ae;if(ae===R)if(Array.isArray(P)){const v=P.length;for(let E=0;E=",limit:0}};null===K?K=[v]:K.push(v),ae++}}else{const v={params:{type:"number"}};null===K?K=[v]:K.push(v),ae++}Ie=P===ae}else Ie=!0;if(Ie){if(void 0!==v.idleTimeoutAfterLargeChanges){let E=v.idleTimeoutAfterLargeChanges;const P=ae;if(ae===P)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===K?K=[v]:K.push(v),ae++}}else{const v={params:{type:"number"}};null===K?K=[v]:K.push(v),ae++}Ie=P===ae}else Ie=!0;if(Ie){if(void 0!==v.idleTimeoutForInitialStore){let E=v.idleTimeoutForInitialStore;const P=ae;if(ae===P)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===K?K=[v]:K.push(v),ae++}}else{const v={params:{type:"number"}};null===K?K=[v]:K.push(v),ae++}Ie=P===ae}else Ie=!0;if(Ie){if(void 0!==v.immutablePaths){let P=v.immutablePaths;const R=ae;if(ae===R)if(Array.isArray(P)){const v=P.length;for(let R=0;R=",limit:0}};null===K?K=[v]:K.push(v),ae++}}else{const v={params:{type:"number"}};null===K?K=[v]:K.push(v),ae++}Ie=P===ae}else Ie=!0;if(Ie){if(void 0!==v.maxMemoryGenerations){let E=v.maxMemoryGenerations;const P=ae;if(ae===P)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===K?K=[v]:K.push(v),ae++}}else{const v={params:{type:"number"}};null===K?K=[v]:K.push(v),ae++}Ie=P===ae}else Ie=!0;if(Ie){if(void 0!==v.memoryCacheUnaffected){const E=ae;if("boolean"!=typeof v.memoryCacheUnaffected){const v={params:{type:"boolean"}};null===K?K=[v]:K.push(v),ae++}Ie=E===ae}else Ie=!0;if(Ie){if(void 0!==v.name){const E=ae;if("string"!=typeof v.name){const v={params:{type:"string"}};null===K?K=[v]:K.push(v),ae++}Ie=E===ae}else Ie=!0;if(Ie){if(void 0!==v.profile){const E=ae;if("boolean"!=typeof v.profile){const v={params:{type:"boolean"}};null===K?K=[v]:K.push(v),ae++}Ie=E===ae}else Ie=!0;if(Ie){if(void 0!==v.readonly){const E=ae;if("boolean"!=typeof v.readonly){const v={params:{type:"boolean"}};null===K?K=[v]:K.push(v),ae++}Ie=E===ae}else Ie=!0;if(Ie){if(void 0!==v.store){const E=ae;if("pack"!==v.store){const v={params:{}};null===K?K=[v]:K.push(v),ae++}Ie=E===ae}else Ie=!0;if(Ie){if(void 0!==v.type){const E=ae;if("filesystem"!==v.type){const v={params:{}};null===K?K=[v]:K.push(v),ae++}Ie=E===ae}else Ie=!0;if(Ie)if(void 0!==v.version){const E=ae;if("string"!=typeof v.version){const v={params:{type:"string"}};null===K?K=[v]:K.push(v),ae++}Ie=E===ae}else Ie=!0}}}}}}}}}}}}}}}}}}}}}else{const v={params:{type:"object"}};null===K?K=[v]:K.push(v),ae++}ve=P===ae,be=be||ve}}if(!be){const v={params:{}};return null===K?K=[v]:K.push(v),ae++,o.errors=K,!1}return ae=ge,null!==K&&(ge?K.length=ge:K=null),o.errors=K,0===ae}function s(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){let N=null,L=0;const q=L;let K=!1;const ae=L;if(!0!==v){const v={params:{}};null===N?N=[v]:N.push(v),L++}var ge=ae===L;if(K=K||ge,!K){const q=L;o(v,{instancePath:E,parentData:P,parentDataProperty:R,rootData:$})||(N=null===N?o.errors:N.concat(o.errors),L=N.length),ge=q===L,K=K||ge}if(!K){const v={params:{}};return null===N?N=[v]:N.push(v),L++,s.errors=N,!1}return L=q,null!==N&&(q?N.length=q:N=null),s.errors=N,0===L}const N={type:"object",additionalProperties:!1,properties:{asyncChunks:{type:"boolean"},baseUri:{type:"string"},chunkLoading:{$ref:"#/definitions/ChunkLoading"},dependOn:{anyOf:[{type:"array",items:{type:"string",minLength:1},minItems:1,uniqueItems:!0},{type:"string",minLength:1}]},filename:{$ref:"#/definitions/EntryFilename"},import:{$ref:"#/definitions/EntryItem"},layer:{$ref:"#/definitions/Layer"},library:{$ref:"#/definitions/LibraryOptions"},publicPath:{$ref:"#/definitions/PublicPath"},runtime:{$ref:"#/definitions/EntryRuntime"},wasmLoading:{$ref:"#/definitions/WasmLoading"}},required:["import"]};function a(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){let N=null,L=0;const q=L;let K=!1;const ae=L;if(!1!==v){const v={params:{}};null===N?N=[v]:N.push(v),L++}var ge=ae===L;if(K=K||ge,!K){const E=L,P=L;let R=!1;const $=L;if("jsonp"!==v&&"import-scripts"!==v&&"require"!==v&&"async-node"!==v&&"import"!==v){const v={params:{}};null===N?N=[v]:N.push(v),L++}var be=$===L;if(R=R||be,!R){const E=L;if("string"!=typeof v){const v={params:{type:"string"}};null===N?N=[v]:N.push(v),L++}be=E===L,R=R||be}if(R)L=P,null!==N&&(P?N.length=P:N=null);else{const v={params:{}};null===N?N=[v]:N.push(v),L++}ge=E===L,K=K||ge}if(!K){const v={params:{}};return null===N?N=[v]:N.push(v),L++,a.errors=N,!1}return L=q,null!==N&&(q?N.length=q:N=null),a.errors=N,0===L}function l(v,{instancePath:P="",parentData:R,parentDataProperty:$,rootData:N=v}={}){let L=null,q=0;const K=q;let ae=!1,ge=null;const be=q,xe=q;let ve=!1;const Ae=q;if(q===Ae)if("string"==typeof v){if(v.includes("!")||!1!==E.test(v)){const v={params:{}};null===L?L=[v]:L.push(v),q++}else if(v.length<1){const v={params:{}};null===L?L=[v]:L.push(v),q++}}else{const v={params:{type:"string"}};null===L?L=[v]:L.push(v),q++}var Ie=Ae===q;if(ve=ve||Ie,!ve){const E=q;if(!(v instanceof Function)){const v={params:{}};null===L?L=[v]:L.push(v),q++}Ie=E===q,ve=ve||Ie}if(ve)q=xe,null!==L&&(xe?L.length=xe:L=null);else{const v={params:{}};null===L?L=[v]:L.push(v),q++}if(be===q&&(ae=!0,ge=0),!ae){const v={params:{passingSchemas:ge}};return null===L?L=[v]:L.push(v),q++,l.errors=L,!1}return q=K,null!==L&&(K?L.length=K:L=null),l.errors=L,0===q}function p(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){let N=null,L=0;const q=L;let K=!1;const ae=L;if("string"!=typeof v){const v={params:{type:"string"}};null===N?N=[v]:N.push(v),L++}var ge=ae===L;if(K=K||ge,!K){const E=L;if(L==L)if(v&&"object"==typeof v&&!Array.isArray(v)){const E=L;for(const E in v)if("amd"!==E&&"commonjs"!==E&&"commonjs2"!==E&&"root"!==E){const v={params:{additionalProperty:E}};null===N?N=[v]:N.push(v),L++;break}if(E===L){if(void 0!==v.amd){const E=L;if("string"!=typeof v.amd){const v={params:{type:"string"}};null===N?N=[v]:N.push(v),L++}var be=E===L}else be=!0;if(be){if(void 0!==v.commonjs){const E=L;if("string"!=typeof v.commonjs){const v={params:{type:"string"}};null===N?N=[v]:N.push(v),L++}be=E===L}else be=!0;if(be){if(void 0!==v.commonjs2){const E=L;if("string"!=typeof v.commonjs2){const v={params:{type:"string"}};null===N?N=[v]:N.push(v),L++}be=E===L}else be=!0;if(be)if(void 0!==v.root){const E=L;if("string"!=typeof v.root){const v={params:{type:"string"}};null===N?N=[v]:N.push(v),L++}be=E===L}else be=!0}}}}else{const v={params:{type:"object"}};null===N?N=[v]:N.push(v),L++}ge=E===L,K=K||ge}if(!K){const v={params:{}};return null===N?N=[v]:N.push(v),L++,p.errors=N,!1}return L=q,null!==N&&(q?N.length=q:N=null),p.errors=N,0===L}function f(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){let N=null,L=0;const q=L;let K=!1;const ae=L;if(L===ae)if(Array.isArray(v))if(v.length<1){const v={params:{limit:1}};null===N?N=[v]:N.push(v),L++}else{const E=v.length;for(let P=0;P1){const R={};for(;P--;){let $=E[P];if("string"==typeof $){if("number"==typeof R[$]){v=R[$];const E={params:{i:P,j:v}};null===q?q=[E]:q.push(E),K++;break}R[$]=P}}}}}else{const v={params:{type:"array"}};null===q?q=[v]:q.push(v),K++}var be=N===K;if($=$||be,!$){const v=K;if(K===v)if("string"==typeof E){if(E.length<1){const v={params:{}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}be=v===K,$=$||be}if(!$){const v={params:{}};return null===q?q=[v]:q.push(v),K++,m.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.filename){const P=K;l(v.filename,{instancePath:E+"/filename",parentData:v,parentDataProperty:"filename",rootData:L})||(q=null===q?l.errors:q.concat(l.errors),K=q.length),ae=P===K}else ae=!0;if(ae){if(void 0!==v.import){let E=v.import;const P=K,R=K;let $=!1;const N=K;if(K===N)if(Array.isArray(E))if(E.length<1){const v={params:{limit:1}};null===q?q=[v]:q.push(v),K++}else{var xe=!0;const v=E.length;for(let P=0;P1){const R={};for(;P--;){let $=E[P];if("string"==typeof $){if("number"==typeof R[$]){v=R[$];const E={params:{i:P,j:v}};null===q?q=[E]:q.push(E),K++;break}R[$]=P}}}}}else{const v={params:{type:"array"}};null===q?q=[v]:q.push(v),K++}var ve=N===K;if($=$||ve,!$){const v=K;if(K===v)if("string"==typeof E){if(E.length<1){const v={params:{}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}ve=v===K,$=$||ve}if(!$){const v={params:{}};return null===q?q=[v]:q.push(v),K++,m.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.layer){let E=v.layer;const P=K,R=K;let $=!1;const N=K;if(null!==E){const v={params:{}};null===q?q=[v]:q.push(v),K++}var Ae=N===K;if($=$||Ae,!$){const v=K;if(K===v)if("string"==typeof E){if(E.length<1){const v={params:{}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}Ae=v===K,$=$||Ae}if(!$){const v={params:{}};return null===q?q=[v]:q.push(v),K++,m.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.library){const P=K;u(v.library,{instancePath:E+"/library",parentData:v,parentDataProperty:"library",rootData:L})||(q=null===q?u.errors:q.concat(u.errors),K=q.length),ae=P===K}else ae=!0;if(ae){if(void 0!==v.publicPath){const P=K;c(v.publicPath,{instancePath:E+"/publicPath",parentData:v,parentDataProperty:"publicPath",rootData:L})||(q=null===q?c.errors:q.concat(c.errors),K=q.length),ae=P===K}else ae=!0;if(ae){if(void 0!==v.runtime){let E=v.runtime;const P=K,R=K;let $=!1;const N=K;if(!1!==E){const v={params:{}};null===q?q=[v]:q.push(v),K++}var Ie=N===K;if($=$||Ie,!$){const v=K;if(K===v)if("string"==typeof E){if(E.length<1){const v={params:{}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}Ie=v===K,$=$||Ie}if(!$){const v={params:{}};return null===q?q=[v]:q.push(v),K++,m.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae)if(void 0!==v.wasmLoading){const P=K;y(v.wasmLoading,{instancePath:E+"/wasmLoading",parentData:v,parentDataProperty:"wasmLoading",rootData:L})||(q=null===q?y.errors:q.concat(y.errors),K=q.length),ae=P===K}else ae=!0}}}}}}}}}}}}}return m.errors=q,0===K}function d(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){let N=null,L=0;if(0===L){if(!v||"object"!=typeof v||Array.isArray(v))return d.errors=[{params:{type:"object"}}],!1;for(const P in v){let R=v[P];const ge=L,be=L;let xe=!1;const ve=L,Ae=L;let Ie=!1;const He=L;if(L===He)if(Array.isArray(R))if(R.length<1){const v={params:{limit:1}};null===N?N=[v]:N.push(v),L++}else{var q=!0;const v=R.length;for(let E=0;E1){const P={};for(;E--;){let $=R[E];if("string"==typeof $){if("number"==typeof P[$]){v=P[$];const R={params:{i:E,j:v}};null===N?N=[R]:N.push(R),L++;break}P[$]=E}}}}}else{const v={params:{type:"array"}};null===N?N=[v]:N.push(v),L++}var K=He===L;if(Ie=Ie||K,!Ie){const v=L;if(L===v)if("string"==typeof R){if(R.length<1){const v={params:{}};null===N?N=[v]:N.push(v),L++}}else{const v={params:{type:"string"}};null===N?N=[v]:N.push(v),L++}K=v===L,Ie=Ie||K}if(Ie)L=Ae,null!==N&&(Ae?N.length=Ae:N=null);else{const v={params:{}};null===N?N=[v]:N.push(v),L++}var ae=ve===L;if(xe=xe||ae,!xe){const q=L;m(R,{instancePath:E+"/"+P.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:v,parentDataProperty:P,rootData:$})||(N=null===N?m.errors:N.concat(m.errors),L=N.length),ae=q===L,xe=xe||ae}if(!xe){const v={params:{}};return null===N?N=[v]:N.push(v),L++,d.errors=N,!1}if(L=be,null!==N&&(be?N.length=be:N=null),ge!==L)break}}return d.errors=N,0===L}function h(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){let N=null,L=0;const q=L;let K=!1,ae=null;const ge=L,be=L;let xe=!1;const ve=L;if(L===ve)if(Array.isArray(v))if(v.length<1){const v={params:{limit:1}};null===N?N=[v]:N.push(v),L++}else{var Ae=!0;const E=v.length;for(let P=0;P1){const R={};for(;P--;){let $=v[P];if("string"==typeof $){if("number"==typeof R[$]){E=R[$];const v={params:{i:P,j:E}};null===N?N=[v]:N.push(v),L++;break}R[$]=P}}}}}else{const v={params:{type:"array"}};null===N?N=[v]:N.push(v),L++}var Ie=ve===L;if(xe=xe||Ie,!xe){const E=L;if(L===E)if("string"==typeof v){if(v.length<1){const v={params:{}};null===N?N=[v]:N.push(v),L++}}else{const v={params:{type:"string"}};null===N?N=[v]:N.push(v),L++}Ie=E===L,xe=xe||Ie}if(xe)L=be,null!==N&&(be?N.length=be:N=null);else{const v={params:{}};null===N?N=[v]:N.push(v),L++}if(ge===L&&(K=!0,ae=0),!K){const v={params:{passingSchemas:ae}};return null===N?N=[v]:N.push(v),L++,h.errors=N,!1}return L=q,null!==N&&(q?N.length=q:N=null),h.errors=N,0===L}function g(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){let N=null,L=0;const q=L;let K=!1;const ae=L;d(v,{instancePath:E,parentData:P,parentDataProperty:R,rootData:$})||(N=null===N?d.errors:N.concat(d.errors),L=N.length);var ge=ae===L;if(K=K||ge,!K){const q=L;h(v,{instancePath:E,parentData:P,parentDataProperty:R,rootData:$})||(N=null===N?h.errors:N.concat(h.errors),L=N.length),ge=q===L,K=K||ge}if(!K){const v={params:{}};return null===N?N=[v]:N.push(v),L++,g.errors=N,!1}return L=q,null!==N&&(q?N.length=q:N=null),g.errors=N,0===L}function b(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){let N=null,L=0;const q=L;let K=!1;const ae=L;if(!(v instanceof Function)){const v={params:{}};null===N?N=[v]:N.push(v),L++}var ge=ae===L;if(K=K||ge,!K){const q=L;g(v,{instancePath:E,parentData:P,parentDataProperty:R,rootData:$})||(N=null===N?g.errors:N.concat(g.errors),L=N.length),ge=q===L,K=K||ge}if(!K){const v={params:{}};return null===N?N=[v]:N.push(v),L++,b.errors=N,!1}return L=q,null!==N&&(q?N.length=q:N=null),b.errors=N,0===L}const L={type:"object",additionalProperties:!1,properties:{asyncWebAssembly:{type:"boolean"},backCompat:{type:"boolean"},buildHttp:{anyOf:[{$ref:"#/definitions/HttpUriAllowedUris"},{$ref:"#/definitions/HttpUriOptions"}]},cacheUnaffected:{type:"boolean"},css:{type:"boolean"},futureDefaults:{type:"boolean"},layers:{type:"boolean"},lazyCompilation:{anyOf:[{type:"boolean"},{$ref:"#/definitions/LazyCompilationOptions"}]},outputModule:{type:"boolean"},syncWebAssembly:{type:"boolean"},topLevelAwait:{type:"boolean"}}},q=new RegExp("^https?://","u");function D(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){let N=null,L=0;const K=L;let ae=!1,ge=null;const be=L;if(L==L)if(Array.isArray(v)){const E=v.length;for(let P=0;P=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var be=ve===K;if(xe=xe||be,!xe){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}be=v===K,xe=xe||be}if(xe)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,Pe.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.filename){let P=v.filename;const R=K,$=K;let N=!1;const L=K;if(K===L)if("string"==typeof P){if(P.includes("!")||!1!==E.test(P)){const v={params:{}};null===q?q=[v]:q.push(v),K++}else if(P.length<1){const v={params:{}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}var xe=L===K;if(N=N||xe,!N){const v=K;if(!(P instanceof Function)){const v={params:{}};null===q?q=[v]:q.push(v),K++}xe=v===K,N=N||xe}if(!N){const v={params:{}};return null===q?q=[v]:q.push(v),K++,Pe.errors=q,!1}K=$,null!==q&&($?q.length=$:q=null),ae=R===K}else ae=!0;if(ae){if(void 0!==v.idHint){const E=K;if("string"!=typeof v.idHint)return Pe.errors=[{params:{type:"string"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.layer){let E=v.layer;const P=K,R=K;let $=!1;const N=K;if(!(E instanceof RegExp)){const v={params:{}};null===q?q=[v]:q.push(v),K++}var ve=N===K;if($=$||ve,!$){const v=K;if("string"!=typeof E){const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}if(ve=v===K,$=$||ve,!$){const v=K;if(!(E instanceof Function)){const v={params:{}};null===q?q=[v]:q.push(v),K++}ve=v===K,$=$||ve}}if(!$){const v={params:{}};return null===q?q=[v]:q.push(v),K++,Pe.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.maxAsyncRequests){let E=v.maxAsyncRequests;const P=K;if(K===P){if("number"!=typeof E)return Pe.errors=[{params:{type:"number"}}],!1;if(E<1||isNaN(E))return Pe.errors=[{params:{comparison:">=",limit:1}}],!1}ae=P===K}else ae=!0;if(ae){if(void 0!==v.maxAsyncSize){let E=v.maxAsyncSize;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var Ae=xe===K;if(be=be||Ae,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}Ae=v===K,be=be||Ae}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,Pe.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.maxInitialRequests){let E=v.maxInitialRequests;const P=K;if(K===P){if("number"!=typeof E)return Pe.errors=[{params:{type:"number"}}],!1;if(E<1||isNaN(E))return Pe.errors=[{params:{comparison:">=",limit:1}}],!1}ae=P===K}else ae=!0;if(ae){if(void 0!==v.maxInitialSize){let E=v.maxInitialSize;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var Ie=xe===K;if(be=be||Ie,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}Ie=v===K,be=be||Ie}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,Pe.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.maxSize){let E=v.maxSize;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var He=xe===K;if(be=be||He,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}He=v===K,be=be||He}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,Pe.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.minChunks){let E=v.minChunks;const P=K;if(K===P){if("number"!=typeof E)return Pe.errors=[{params:{type:"number"}}],!1;if(E<1||isNaN(E))return Pe.errors=[{params:{comparison:">=",limit:1}}],!1}ae=P===K}else ae=!0;if(ae){if(void 0!==v.minRemainingSize){let E=v.minRemainingSize;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var Qe=xe===K;if(be=be||Qe,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}Qe=v===K,be=be||Qe}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,Pe.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.minSize){let E=v.minSize;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var Je=xe===K;if(be=be||Je,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}Je=v===K,be=be||Je}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,Pe.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.minSizeReduction){let E=v.minSizeReduction;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var Ve=xe===K;if(be=be||Ve,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}Ve=v===K,be=be||Ve}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,Pe.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.name){let E=v.name;const P=K,R=K;let $=!1;const N=K;if(!1!==E){const v={params:{}};null===q?q=[v]:q.push(v),K++}var Ye=N===K;if($=$||Ye,!$){const v=K;if("string"!=typeof E){const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}if(Ye=v===K,$=$||Ye,!$){const v=K;if(!(E instanceof Function)){const v={params:{}};null===q?q=[v]:q.push(v),K++}Ye=v===K,$=$||Ye}}if(!$){const v={params:{}};return null===q?q=[v]:q.push(v),K++,Pe.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.priority){const E=K;if("number"!=typeof v.priority)return Pe.errors=[{params:{type:"number"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.reuseExistingChunk){const E=K;if("boolean"!=typeof v.reuseExistingChunk)return Pe.errors=[{params:{type:"boolean"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.test){let E=v.test;const P=K,R=K;let $=!1;const N=K;if(!(E instanceof RegExp)){const v={params:{}};null===q?q=[v]:q.push(v),K++}var Xe=N===K;if($=$||Xe,!$){const v=K;if("string"!=typeof E){const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}if(Xe=v===K,$=$||Xe,!$){const v=K;if(!(E instanceof Function)){const v={params:{}};null===q?q=[v]:q.push(v),K++}Xe=v===K,$=$||Xe}}if(!$){const v={params:{}};return null===q?q=[v]:q.push(v),K++,Pe.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.type){let E=v.type;const P=K,R=K;let $=!1;const N=K;if(!(E instanceof RegExp)){const v={params:{}};null===q?q=[v]:q.push(v),K++}var Ze=N===K;if($=$||Ze,!$){const v=K;if("string"!=typeof E){const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}if(Ze=v===K,$=$||Ze,!$){const v=K;if(!(E instanceof Function)){const v={params:{}};null===q?q=[v]:q.push(v),K++}Ze=v===K,$=$||Ze}}if(!$){const v={params:{}};return null===q?q=[v]:q.push(v),K++,Pe.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae)if(void 0!==v.usedExports){const E=K;if("boolean"!=typeof v.usedExports)return Pe.errors=[{params:{type:"boolean"}}],!1;ae=E===K}else ae=!0}}}}}}}}}}}}}}}}}}}}}}}return Pe.errors=q,0===K}function De(v,{instancePath:P="",parentData:$,parentDataProperty:N,rootData:L=v}={}){let q=null,K=0;if(0===K){if(!v||"object"!=typeof v||Array.isArray(v))return De.errors=[{params:{type:"object"}}],!1;{const $=K;for(const E in v)if(!R.call(Ve.properties,E))return De.errors=[{params:{additionalProperty:E}}],!1;if($===K){if(void 0!==v.automaticNameDelimiter){let E=v.automaticNameDelimiter;const P=K;if(K===P){if("string"!=typeof E)return De.errors=[{params:{type:"string"}}],!1;if(E.length<1)return De.errors=[{params:{}}],!1}var ae=P===K}else ae=!0;if(ae){if(void 0!==v.cacheGroups){let E=v.cacheGroups;const R=K,$=K,N=K;if(K===N)if(E&&"object"==typeof E&&!Array.isArray(E)){let v;if(void 0===E.test&&(v="test")){const v={};null===q?q=[v]:q.push(v),K++}else if(void 0!==E.test){let v=E.test;const P=K;let R=!1;const $=K;if(!(v instanceof RegExp)){const v={};null===q?q=[v]:q.push(v),K++}var ge=$===K;if(R=R||ge,!R){const E=K;if("string"!=typeof v){const v={};null===q?q=[v]:q.push(v),K++}if(ge=E===K,R=R||ge,!R){const E=K;if(!(v instanceof Function)){const v={};null===q?q=[v]:q.push(v),K++}ge=E===K,R=R||ge}}if(R)K=P,null!==q&&(P?q.length=P:q=null);else{const v={};null===q?q=[v]:q.push(v),K++}}}else{const v={};null===q?q=[v]:q.push(v),K++}if(N===K)return De.errors=[{params:{}}],!1;if(K=$,null!==q&&($?q.length=$:q=null),K===R){if(!E||"object"!=typeof E||Array.isArray(E))return De.errors=[{params:{type:"object"}}],!1;for(const v in E){let R=E[v];const $=K,N=K;let ae=!1;const ge=K;if(!1!==R){const v={params:{}};null===q?q=[v]:q.push(v),K++}var be=ge===K;if(ae=ae||be,!ae){const $=K;if(!(R instanceof RegExp)){const v={params:{}};null===q?q=[v]:q.push(v),K++}if(be=$===K,ae=ae||be,!ae){const $=K;if("string"!=typeof R){const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}if(be=$===K,ae=ae||be,!ae){const $=K;if(!(R instanceof Function)){const v={params:{}};null===q?q=[v]:q.push(v),K++}if(be=$===K,ae=ae||be,!ae){const $=K;Pe(R,{instancePath:P+"/cacheGroups/"+v.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:E,parentDataProperty:v,rootData:L})||(q=null===q?Pe.errors:q.concat(Pe.errors),K=q.length),be=$===K,ae=ae||be}}}}if(!ae){const v={params:{}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}if(K=N,null!==q&&(N?q.length=N:q=null),$!==K)break}}ae=R===K}else ae=!0;if(ae){if(void 0!==v.chunks){let E=v.chunks;const P=K,R=K;let $=!1;const N=K;if("initial"!==E&&"async"!==E&&"all"!==E){const v={params:{}};null===q?q=[v]:q.push(v),K++}var xe=N===K;if($=$||xe,!$){const v=K;if(!(E instanceof RegExp)){const v={params:{}};null===q?q=[v]:q.push(v),K++}if(xe=v===K,$=$||xe,!$){const v=K;if(!(E instanceof Function)){const v={params:{}};null===q?q=[v]:q.push(v),K++}xe=v===K,$=$||xe}}if(!$){const v={params:{}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.defaultSizeTypes){let E=v.defaultSizeTypes;const P=K;if(K===P){if(!Array.isArray(E))return De.errors=[{params:{type:"array"}}],!1;if(E.length<1)return De.errors=[{params:{limit:1}}],!1;{const v=E.length;for(let P=0;P=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var ve=xe===K;if(be=be||ve,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}ve=v===K,be=be||ve}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.fallbackCacheGroup){let E=v.fallbackCacheGroup;const P=K;if(K===P){if(!E||"object"!=typeof E||Array.isArray(E))return De.errors=[{params:{type:"object"}}],!1;{const v=K;for(const v in E)if("automaticNameDelimiter"!==v&&"chunks"!==v&&"maxAsyncSize"!==v&&"maxInitialSize"!==v&&"maxSize"!==v&&"minSize"!==v&&"minSizeReduction"!==v)return De.errors=[{params:{additionalProperty:v}}],!1;if(v===K){if(void 0!==E.automaticNameDelimiter){let v=E.automaticNameDelimiter;const P=K;if(K===P){if("string"!=typeof v)return De.errors=[{params:{type:"string"}}],!1;if(v.length<1)return De.errors=[{params:{}}],!1}var Ae=P===K}else Ae=!0;if(Ae){if(void 0!==E.chunks){let v=E.chunks;const P=K,R=K;let $=!1;const N=K;if("initial"!==v&&"async"!==v&&"all"!==v){const v={params:{}};null===q?q=[v]:q.push(v),K++}var Ie=N===K;if($=$||Ie,!$){const E=K;if(!(v instanceof RegExp)){const v={params:{}};null===q?q=[v]:q.push(v),K++}if(Ie=E===K,$=$||Ie,!$){const E=K;if(!(v instanceof Function)){const v={params:{}};null===q?q=[v]:q.push(v),K++}Ie=E===K,$=$||Ie}}if(!$){const v={params:{}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),Ae=P===K}else Ae=!0;if(Ae){if(void 0!==E.maxAsyncSize){let v=E.maxAsyncSize;const P=K,R=K;let $=!1,N=null;const L=K,ae=K;let ge=!1;const be=K;if(K===be)if("number"==typeof v){if(v<0||isNaN(v)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var He=be===K;if(ge=ge||He,!ge){const E=K;if(K===E)if(v&&"object"==typeof v&&!Array.isArray(v))for(const E in v){const P=K;if("number"!=typeof v[E]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}He=E===K,ge=ge||He}if(ge)K=ae,null!==q&&(ae?q.length=ae:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),Ae=P===K}else Ae=!0;if(Ae){if(void 0!==E.maxInitialSize){let v=E.maxInitialSize;const P=K,R=K;let $=!1,N=null;const L=K,ae=K;let ge=!1;const be=K;if(K===be)if("number"==typeof v){if(v<0||isNaN(v)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var Qe=be===K;if(ge=ge||Qe,!ge){const E=K;if(K===E)if(v&&"object"==typeof v&&!Array.isArray(v))for(const E in v){const P=K;if("number"!=typeof v[E]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}Qe=E===K,ge=ge||Qe}if(ge)K=ae,null!==q&&(ae?q.length=ae:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),Ae=P===K}else Ae=!0;if(Ae){if(void 0!==E.maxSize){let v=E.maxSize;const P=K,R=K;let $=!1,N=null;const L=K,ae=K;let ge=!1;const be=K;if(K===be)if("number"==typeof v){if(v<0||isNaN(v)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var Je=be===K;if(ge=ge||Je,!ge){const E=K;if(K===E)if(v&&"object"==typeof v&&!Array.isArray(v))for(const E in v){const P=K;if("number"!=typeof v[E]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}Je=E===K,ge=ge||Je}if(ge)K=ae,null!==q&&(ae?q.length=ae:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),Ae=P===K}else Ae=!0;if(Ae){if(void 0!==E.minSize){let v=E.minSize;const P=K,R=K;let $=!1,N=null;const L=K,ae=K;let ge=!1;const be=K;if(K===be)if("number"==typeof v){if(v<0||isNaN(v)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var Ke=be===K;if(ge=ge||Ke,!ge){const E=K;if(K===E)if(v&&"object"==typeof v&&!Array.isArray(v))for(const E in v){const P=K;if("number"!=typeof v[E]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}Ke=E===K,ge=ge||Ke}if(ge)K=ae,null!==q&&(ae?q.length=ae:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),Ae=P===K}else Ae=!0;if(Ae)if(void 0!==E.minSizeReduction){let v=E.minSizeReduction;const P=K,R=K;let $=!1,N=null;const L=K,ae=K;let ge=!1;const be=K;if(K===be)if("number"==typeof v){if(v<0||isNaN(v)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var Ye=be===K;if(ge=ge||Ye,!ge){const E=K;if(K===E)if(v&&"object"==typeof v&&!Array.isArray(v))for(const E in v){const P=K;if("number"!=typeof v[E]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}Ye=E===K,ge=ge||Ye}if(ge)K=ae,null!==q&&(ae?q.length=ae:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),Ae=P===K}else Ae=!0}}}}}}}}ae=P===K}else ae=!0;if(ae){if(void 0!==v.filename){let P=v.filename;const R=K,$=K;let N=!1;const L=K;if(K===L)if("string"==typeof P){if(P.includes("!")||!1!==E.test(P)){const v={params:{}};null===q?q=[v]:q.push(v),K++}else if(P.length<1){const v={params:{}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}var Xe=L===K;if(N=N||Xe,!N){const v=K;if(!(P instanceof Function)){const v={params:{}};null===q?q=[v]:q.push(v),K++}Xe=v===K,N=N||Xe}if(!N){const v={params:{}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=$,null!==q&&($?q.length=$:q=null),ae=R===K}else ae=!0;if(ae){if(void 0!==v.hidePathInfo){const E=K;if("boolean"!=typeof v.hidePathInfo)return De.errors=[{params:{type:"boolean"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.maxAsyncRequests){let E=v.maxAsyncRequests;const P=K;if(K===P){if("number"!=typeof E)return De.errors=[{params:{type:"number"}}],!1;if(E<1||isNaN(E))return De.errors=[{params:{comparison:">=",limit:1}}],!1}ae=P===K}else ae=!0;if(ae){if(void 0!==v.maxAsyncSize){let E=v.maxAsyncSize;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var Ze=xe===K;if(be=be||Ze,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}Ze=v===K,be=be||Ze}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.maxInitialRequests){let E=v.maxInitialRequests;const P=K;if(K===P){if("number"!=typeof E)return De.errors=[{params:{type:"number"}}],!1;if(E<1||isNaN(E))return De.errors=[{params:{comparison:">=",limit:1}}],!1}ae=P===K}else ae=!0;if(ae){if(void 0!==v.maxInitialSize){let E=v.maxInitialSize;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var et=xe===K;if(be=be||et,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}et=v===K,be=be||et}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.maxSize){let E=v.maxSize;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var tt=xe===K;if(be=be||tt,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}tt=v===K,be=be||tt}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.minChunks){let E=v.minChunks;const P=K;if(K===P){if("number"!=typeof E)return De.errors=[{params:{type:"number"}}],!1;if(E<1||isNaN(E))return De.errors=[{params:{comparison:">=",limit:1}}],!1}ae=P===K}else ae=!0;if(ae){if(void 0!==v.minRemainingSize){let E=v.minRemainingSize;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var nt=xe===K;if(be=be||nt,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}nt=v===K,be=be||nt}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.minSize){let E=v.minSize;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var st=xe===K;if(be=be||st,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}st=v===K,be=be||st}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.minSizeReduction){let E=v.minSizeReduction;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var rt=xe===K;if(be=be||rt,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}rt=v===K,be=be||rt}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.name){let E=v.name;const P=K,R=K;let $=!1;const N=K;if(!1!==E){const v={params:{}};null===q?q=[v]:q.push(v),K++}var ot=N===K;if($=$||ot,!$){const v=K;if("string"!=typeof E){const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}if(ot=v===K,$=$||ot,!$){const v=K;if(!(E instanceof Function)){const v={params:{}};null===q?q=[v]:q.push(v),K++}ot=v===K,$=$||ot}}if(!$){const v={params:{}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae)if(void 0!==v.usedExports){const E=K;if("boolean"!=typeof v.usedExports)return De.errors=[{params:{type:"boolean"}}],!1;ae=E===K}else ae=!0}}}}}}}}}}}}}}}}}}}}return De.errors=q,0===K}function Oe(v,{instancePath:E="",parentData:P,parentDataProperty:$,rootData:N=v}={}){let L=null,q=0;if(0===q){if(!v||"object"!=typeof v||Array.isArray(v))return Oe.errors=[{params:{type:"object"}}],!1;{const P=q;for(const E in v)if(!R.call(Je.properties,E))return Oe.errors=[{params:{additionalProperty:E}}],!1;if(P===q){if(void 0!==v.checkWasmTypes){const E=q;if("boolean"!=typeof v.checkWasmTypes)return Oe.errors=[{params:{type:"boolean"}}],!1;var K=E===q}else K=!0;if(K){if(void 0!==v.chunkIds){let E=v.chunkIds;const P=q;if("natural"!==E&&"named"!==E&&"deterministic"!==E&&"size"!==E&&"total-size"!==E&&!1!==E)return Oe.errors=[{params:{}}],!1;K=P===q}else K=!0;if(K){if(void 0!==v.concatenateModules){const E=q;if("boolean"!=typeof v.concatenateModules)return Oe.errors=[{params:{type:"boolean"}}],!1;K=E===q}else K=!0;if(K){if(void 0!==v.emitOnErrors){const E=q;if("boolean"!=typeof v.emitOnErrors)return Oe.errors=[{params:{type:"boolean"}}],!1;K=E===q}else K=!0;if(K){if(void 0!==v.flagIncludedChunks){const E=q;if("boolean"!=typeof v.flagIncludedChunks)return Oe.errors=[{params:{type:"boolean"}}],!1;K=E===q}else K=!0;if(K){if(void 0!==v.innerGraph){const E=q;if("boolean"!=typeof v.innerGraph)return Oe.errors=[{params:{type:"boolean"}}],!1;K=E===q}else K=!0;if(K){if(void 0!==v.mangleExports){let E=v.mangleExports;const P=q,R=q;let $=!1;const N=q;if("size"!==E&&"deterministic"!==E){const v={params:{}};null===L?L=[v]:L.push(v),q++}var ae=N===q;if($=$||ae,!$){const v=q;if("boolean"!=typeof E){const v={params:{type:"boolean"}};null===L?L=[v]:L.push(v),q++}ae=v===q,$=$||ae}if(!$){const v={params:{}};return null===L?L=[v]:L.push(v),q++,Oe.errors=L,!1}q=R,null!==L&&(R?L.length=R:L=null),K=P===q}else K=!0;if(K){if(void 0!==v.mangleWasmImports){const E=q;if("boolean"!=typeof v.mangleWasmImports)return Oe.errors=[{params:{type:"boolean"}}],!1;K=E===q}else K=!0;if(K){if(void 0!==v.mergeDuplicateChunks){const E=q;if("boolean"!=typeof v.mergeDuplicateChunks)return Oe.errors=[{params:{type:"boolean"}}],!1;K=E===q}else K=!0;if(K){if(void 0!==v.minimize){const E=q;if("boolean"!=typeof v.minimize)return Oe.errors=[{params:{type:"boolean"}}],!1;K=E===q}else K=!0;if(K){if(void 0!==v.minimizer){let E=v.minimizer;const P=q;if(q===P){if(!Array.isArray(E))return Oe.errors=[{params:{type:"array"}}],!1;{const v=E.length;for(let P=0;P=",limit:1}}],!1}ae=P===K}else ae=!0;if(ae){if(void 0!==v.hashFunction){let E=v.hashFunction;const P=K,R=K;let $=!1;const N=K;if(K===N)if("string"==typeof E){if(E.length<1){const v={params:{}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}var Ie=N===K;if($=$||Ie,!$){const v=K;if(!(E instanceof Function)){const v={params:{}};null===q?q=[v]:q.push(v),K++}Ie=v===K,$=$||Ie}if(!$){const v={params:{}};return null===q?q=[v]:q.push(v),K++,ze.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.hashSalt){let E=v.hashSalt;const P=K;if(K==K){if("string"!=typeof E)return ze.errors=[{params:{type:"string"}}],!1;if(E.length<1)return ze.errors=[{params:{}}],!1}ae=P===K}else ae=!0;if(ae){if(void 0!==v.hotUpdateChunkFilename){let P=v.hotUpdateChunkFilename;const R=K;if(K==K){if("string"!=typeof P)return ze.errors=[{params:{type:"string"}}],!1;if(P.includes("!")||!1!==E.test(P))return ze.errors=[{params:{}}],!1}ae=R===K}else ae=!0;if(ae){if(void 0!==v.hotUpdateGlobal){const E=K;if("string"!=typeof v.hotUpdateGlobal)return ze.errors=[{params:{type:"string"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.hotUpdateMainFilename){let P=v.hotUpdateMainFilename;const R=K;if(K==K){if("string"!=typeof P)return ze.errors=[{params:{type:"string"}}],!1;if(P.includes("!")||!1!==E.test(P))return ze.errors=[{params:{}}],!1}ae=R===K}else ae=!0;if(ae){if(void 0!==v.ignoreBrowserWarnings){const E=K;if("boolean"!=typeof v.ignoreBrowserWarnings)return ze.errors=[{params:{type:"boolean"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.iife){const E=K;if("boolean"!=typeof v.iife)return ze.errors=[{params:{type:"boolean"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.importFunctionName){const E=K;if("string"!=typeof v.importFunctionName)return ze.errors=[{params:{type:"string"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.importMetaName){const E=K;if("string"!=typeof v.importMetaName)return ze.errors=[{params:{type:"string"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.library){const E=K;Le(v.library,{instancePath:P+"/library",parentData:v,parentDataProperty:"library",rootData:L})||(q=null===q?Le.errors:q.concat(Le.errors),K=q.length),ae=E===K}else ae=!0;if(ae){if(void 0!==v.libraryExport){let E=v.libraryExport;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if(Array.isArray(E)){const v=E.length;for(let P=0;P=",limit:1}}],!1}be=P===ae}else be=!0;if(be){if(void 0!==v.performance){const E=ae;Me(v.performance,{instancePath:$+"/performance",parentData:v,parentDataProperty:"performance",rootData:q})||(K=null===K?Me.errors:K.concat(Me.errors),ae=K.length),be=E===ae}else be=!0;if(be){if(void 0!==v.plugins){const E=ae;we(v.plugins,{instancePath:$+"/plugins",parentData:v,parentDataProperty:"plugins",rootData:q})||(K=null===K?we.errors:K.concat(we.errors),ae=K.length),be=E===ae}else be=!0;if(be){if(void 0!==v.profile){const E=ae;if("boolean"!=typeof v.profile)return _e.errors=[{params:{type:"boolean"}}],!1;be=E===ae}else be=!0;if(be){if(void 0!==v.recordsInputPath){let P=v.recordsInputPath;const R=ae,$=ae;let N=!1;const L=ae;if(!1!==P){const v={params:{}};null===K?K=[v]:K.push(v),ae++}var Qe=L===ae;if(N=N||Qe,!N){const v=ae;if(ae===v)if("string"==typeof P){if(P.includes("!")||!0!==E.test(P)){const v={params:{}};null===K?K=[v]:K.push(v),ae++}}else{const v={params:{type:"string"}};null===K?K=[v]:K.push(v),ae++}Qe=v===ae,N=N||Qe}if(!N){const v={params:{}};return null===K?K=[v]:K.push(v),ae++,_e.errors=K,!1}ae=$,null!==K&&($?K.length=$:K=null),be=R===ae}else be=!0;if(be){if(void 0!==v.recordsOutputPath){let P=v.recordsOutputPath;const R=ae,$=ae;let N=!1;const L=ae;if(!1!==P){const v={params:{}};null===K?K=[v]:K.push(v),ae++}var Je=L===ae;if(N=N||Je,!N){const v=ae;if(ae===v)if("string"==typeof P){if(P.includes("!")||!0!==E.test(P)){const v={params:{}};null===K?K=[v]:K.push(v),ae++}}else{const v={params:{type:"string"}};null===K?K=[v]:K.push(v),ae++}Je=v===ae,N=N||Je}if(!N){const v={params:{}};return null===K?K=[v]:K.push(v),ae++,_e.errors=K,!1}ae=$,null!==K&&($?K.length=$:K=null),be=R===ae}else be=!0;if(be){if(void 0!==v.recordsPath){let P=v.recordsPath;const R=ae,$=ae;let N=!1;const L=ae;if(!1!==P){const v={params:{}};null===K?K=[v]:K.push(v),ae++}var Ve=L===ae;if(N=N||Ve,!N){const v=ae;if(ae===v)if("string"==typeof P){if(P.includes("!")||!0!==E.test(P)){const v={params:{}};null===K?K=[v]:K.push(v),ae++}}else{const v={params:{type:"string"}};null===K?K=[v]:K.push(v),ae++}Ve=v===ae,N=N||Ve}if(!N){const v={params:{}};return null===K?K=[v]:K.push(v),ae++,_e.errors=K,!1}ae=$,null!==K&&($?K.length=$:K=null),be=R===ae}else be=!0;if(be){if(void 0!==v.resolve){const E=ae;Te(v.resolve,{instancePath:$+"/resolve",parentData:v,parentDataProperty:"resolve",rootData:q})||(K=null===K?Te.errors:K.concat(Te.errors),ae=K.length),be=E===ae}else be=!0;if(be){if(void 0!==v.resolveLoader){const E=ae;Ne(v.resolveLoader,{instancePath:$+"/resolveLoader",parentData:v,parentDataProperty:"resolveLoader",rootData:q})||(K=null===K?Ne.errors:K.concat(Ne.errors),ae=K.length),be=E===ae}else be=!0;if(be){if(void 0!==v.snapshot){let P=v.snapshot;const R=ae;if(ae==ae){if(!P||"object"!=typeof P||Array.isArray(P))return _e.errors=[{params:{type:"object"}}],!1;{const v=ae;for(const v in P)if("buildDependencies"!==v&&"immutablePaths"!==v&&"managedPaths"!==v&&"module"!==v&&"resolve"!==v&&"resolveBuildDependencies"!==v&&"unmanagedPaths"!==v)return _e.errors=[{params:{additionalProperty:v}}],!1;if(v===ae){if(void 0!==P.buildDependencies){let v=P.buildDependencies;const E=ae;if(ae===E){if(!v||"object"!=typeof v||Array.isArray(v))return _e.errors=[{params:{type:"object"}}],!1;{const E=ae;for(const E in v)if("hash"!==E&&"timestamp"!==E)return _e.errors=[{params:{additionalProperty:E}}],!1;if(E===ae){if(void 0!==v.hash){const E=ae;if("boolean"!=typeof v.hash)return _e.errors=[{params:{type:"boolean"}}],!1;var Ke=E===ae}else Ke=!0;if(Ke)if(void 0!==v.timestamp){const E=ae;if("boolean"!=typeof v.timestamp)return _e.errors=[{params:{type:"boolean"}}],!1;Ke=E===ae}else Ke=!0}}}var Ye=E===ae}else Ye=!0;if(Ye){if(void 0!==P.immutablePaths){let v=P.immutablePaths;const R=ae;if(ae===R){if(!Array.isArray(v))return _e.errors=[{params:{type:"array"}}],!1;{const P=v.length;for(let R=0;R=",limit:1}}],!1}K=P===q}else K=!0;if(K)if(void 0!==v.hashFunction){let E=v.hashFunction;const P=q,R=q;let $=!1,N=null;const ge=q,be=q;let xe=!1;const ve=q;if(q===ve)if("string"==typeof E){if(E.length<1){const v={params:{}};null===L?L=[v]:L.push(v),q++}}else{const v={params:{type:"string"}};null===L?L=[v]:L.push(v),q++}var ae=ve===q;if(xe=xe||ae,!xe){const v=q;if(!(E instanceof Function)){const v={params:{}};null===L?L=[v]:L.push(v),q++}ae=v===q,xe=xe||ae}if(xe)q=be,null!==L&&(be?L.length=be:L=null);else{const v={params:{}};null===L?L=[v]:L.push(v),q++}if(ge===q&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===L?L=[v]:L.push(v),q++,e.errors=L,!1}q=R,null!==L&&(R?L.length=R:L=null),K=P===q}else K=!0}}}}}return e.errors=L,0===q}v.exports=e,v.exports["default"]=e},29315:function(v){"use strict";function e(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){let N=null,L=0;const q=L;let K=!1;const ae=L;if(L===ae)if(v&&"object"==typeof v&&!Array.isArray(v)){let E;if(void 0===v.resourceRegExp&&(E="resourceRegExp")){const v={params:{missingProperty:E}};null===N?N=[v]:N.push(v),L++}else{const E=L;for(const E in v)if("contextRegExp"!==E&&"resourceRegExp"!==E){const v={params:{additionalProperty:E}};null===N?N=[v]:N.push(v),L++;break}if(E===L){if(void 0!==v.contextRegExp){const E=L;if(!(v.contextRegExp instanceof RegExp)){const v={params:{}};null===N?N=[v]:N.push(v),L++}var ge=E===L}else ge=!0;if(ge)if(void 0!==v.resourceRegExp){const E=L;if(!(v.resourceRegExp instanceof RegExp)){const v={params:{}};null===N?N=[v]:N.push(v),L++}ge=E===L}else ge=!0}}}else{const v={params:{type:"object"}};null===N?N=[v]:N.push(v),L++}var be=ae===L;if(K=K||be,!K){const E=L;if(L===E)if(v&&"object"==typeof v&&!Array.isArray(v)){let E;if(void 0===v.checkResource&&(E="checkResource")){const v={params:{missingProperty:E}};null===N?N=[v]:N.push(v),L++}else{const E=L;for(const E in v)if("checkResource"!==E){const v={params:{additionalProperty:E}};null===N?N=[v]:N.push(v),L++;break}if(E===L&&void 0!==v.checkResource&&!(v.checkResource instanceof Function)){const v={params:{}};null===N?N=[v]:N.push(v),L++}}}else{const v={params:{type:"object"}};null===N?N=[v]:N.push(v),L++}be=E===L,K=K||be}if(!K){const v={params:{}};return null===N?N=[v]:N.push(v),L++,e.errors=N,!1}return L=q,null!==N&&(q?N.length=q:N=null),e.errors=N,0===L}v.exports=e,v.exports["default"]=e},19137:function(v){"use strict";function r(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){if(!v||"object"!=typeof v||Array.isArray(v))return r.errors=[{params:{type:"object"}}],!1;{const E=0;for(const E in v)if("parse"!==E)return r.errors=[{params:{additionalProperty:E}}],!1;if(0===E&&void 0!==v.parse&&!(v.parse instanceof Function))return r.errors=[{params:{}}],!1}return r.errors=null,!0}v.exports=r,v.exports["default"]=r},41599:function(v){const E=/^(?:[A-Za-z]:[\\/]|\\\\|\/)/;function e(v,{instancePath:P="",parentData:R,parentDataProperty:$,rootData:N=v}={}){if(!v||"object"!=typeof v||Array.isArray(v))return e.errors=[{params:{type:"object"}}],!1;if(void 0!==v.debug){const E=0;if("boolean"!=typeof v.debug)return e.errors=[{params:{type:"boolean"}}],!1;var L=0===E}else L=!0;if(L){if(void 0!==v.minimize){const E=0;if("boolean"!=typeof v.minimize)return e.errors=[{params:{type:"boolean"}}],!1;L=0===E}else L=!0;if(L)if(void 0!==v.options){let P=v.options;const R=0;if(0===R){if(!P||"object"!=typeof P||Array.isArray(P))return e.errors=[{params:{type:"object"}}],!1;if(void 0!==P.context){let v=P.context;if("string"!=typeof v)return e.errors=[{params:{type:"string"}}],!1;if(v.includes("!")||!0!==E.test(v))return e.errors=[{params:{}}],!1}}L=0===R}else L=!0}return e.errors=null,!0}v.exports=e,v.exports["default"]=e},6299:function(v){"use strict";v.exports=t,v.exports["default"]=t;const E={type:"object",additionalProperties:!1,properties:{activeModules:{type:"boolean"},dependencies:{type:"boolean"},dependenciesCount:{type:"number"},entries:{type:"boolean"},handler:{oneOf:[{$ref:"#/definitions/HandlerFunction"}]},modules:{type:"boolean"},modulesCount:{type:"number"},percentBy:{enum:["entries","modules","dependencies",null]},profile:{enum:[!0,!1,null]}}},P=Object.prototype.hasOwnProperty;function n(v,{instancePath:R="",parentData:$,parentDataProperty:N,rootData:L=v}={}){let q=null,K=0;if(0===K){if(!v||"object"!=typeof v||Array.isArray(v))return n.errors=[{params:{type:"object"}}],!1;{const R=K;for(const R in v)if(!P.call(E.properties,R))return n.errors=[{params:{additionalProperty:R}}],!1;if(R===K){if(void 0!==v.activeModules){const E=K;if("boolean"!=typeof v.activeModules)return n.errors=[{params:{type:"boolean"}}],!1;var ae=E===K}else ae=!0;if(ae){if(void 0!==v.dependencies){const E=K;if("boolean"!=typeof v.dependencies)return n.errors=[{params:{type:"boolean"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.dependenciesCount){const E=K;if("number"!=typeof v.dependenciesCount)return n.errors=[{params:{type:"number"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.entries){const E=K;if("boolean"!=typeof v.entries)return n.errors=[{params:{type:"boolean"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.handler){const E=K,P=K;let R=!1,$=null;const N=K;if(!(v.handler instanceof Function)){const v={params:{}};null===q?q=[v]:q.push(v),K++}if(N===K&&(R=!0,$=0),!R){const v={params:{passingSchemas:$}};return null===q?q=[v]:q.push(v),K++,n.errors=q,!1}K=P,null!==q&&(P?q.length=P:q=null),ae=E===K}else ae=!0;if(ae){if(void 0!==v.modules){const E=K;if("boolean"!=typeof v.modules)return n.errors=[{params:{type:"boolean"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.modulesCount){const E=K;if("number"!=typeof v.modulesCount)return n.errors=[{params:{type:"number"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.percentBy){let E=v.percentBy;const P=K;if("entries"!==E&&"modules"!==E&&"dependencies"!==E&&null!==E)return n.errors=[{params:{}}],!1;ae=P===K}else ae=!0;if(ae)if(void 0!==v.profile){let E=v.profile;const P=K;if(!0!==E&&!1!==E&&null!==E)return n.errors=[{params:{}}],!1;ae=P===K}else ae=!0}}}}}}}}}}return n.errors=q,0===K}function t(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){let N=null,L=0;const q=L;let K=!1;const ae=L;n(v,{instancePath:E,parentData:P,parentDataProperty:R,rootData:$})||(N=null===N?n.errors:N.concat(n.errors),L=N.length);var ge=ae===L;if(K=K||ge,!K){const E=L;if(!(v instanceof Function)){const v={params:{}};null===N?N=[v]:N.push(v),L++}ge=E===L,K=K||ge}if(!K){const v={params:{}};return null===N?N=[v]:N.push(v),L++,t.errors=N,!1}return L=q,null!==N&&(q?N.length=q:N=null),t.errors=N,0===L}},41499:function(v){const E=/^(?:[A-Za-z]:[\\/]|\\\\|\/)/;v.exports=l,v.exports["default"]=l;const P={definitions:{rule:{anyOf:[{instanceof:"RegExp"},{type:"string",minLength:1}]},rules:{anyOf:[{type:"array",items:{oneOf:[{$ref:"#/definitions/rule"}]}},{$ref:"#/definitions/rule"}]}},type:"object",additionalProperties:!1,properties:{append:{anyOf:[{enum:[!1,null]},{type:"string",minLength:1},{instanceof:"Function"}]},columns:{type:"boolean"},exclude:{oneOf:[{$ref:"#/definitions/rules"}]},fallbackModuleFilenameTemplate:{anyOf:[{type:"string",minLength:1},{instanceof:"Function"}]},fileContext:{type:"string"},filename:{anyOf:[{enum:[!1,null]},{type:"string",absolutePath:!1,minLength:1}]},include:{oneOf:[{$ref:"#/definitions/rules"}]},module:{type:"boolean"},moduleFilenameTemplate:{anyOf:[{type:"string",minLength:1},{instanceof:"Function"}]},namespace:{type:"string"},noSources:{type:"boolean"},publicPath:{type:"string"},sourceRoot:{type:"string"},test:{$ref:"#/definitions/rules"}}},R=Object.prototype.hasOwnProperty;function s(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){let N=null,L=0;const q=L;let K=!1;const ae=L;if(L===ae)if(Array.isArray(v)){const E=v.length;for(let P=0;P=",limit:1}}],!1}N=0===P}else N=!0}}}}return r.errors=null,!0}v.exports=r,v.exports["default"]=r},48059:function(v){"use strict";function r(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){if(!v||"object"!=typeof v||Array.isArray(v))return r.errors=[{params:{type:"object"}}],!1;{let E;if(void 0===v.minChunkSize&&(E="minChunkSize"))return r.errors=[{params:{missingProperty:E}}],!1;{const E=0;for(const E in v)if("chunkOverhead"!==E&&"entryChunkMultiplicator"!==E&&"minChunkSize"!==E)return r.errors=[{params:{additionalProperty:E}}],!1;if(0===E){if(void 0!==v.chunkOverhead){const E=0;if("number"!=typeof v.chunkOverhead)return r.errors=[{params:{type:"number"}}],!1;var N=0===E}else N=!0;if(N){if(void 0!==v.entryChunkMultiplicator){const E=0;if("number"!=typeof v.entryChunkMultiplicator)return r.errors=[{params:{type:"number"}}],!1;N=0===E}else N=!0;if(N)if(void 0!==v.minChunkSize){const E=0;if("number"!=typeof v.minChunkSize)return r.errors=[{params:{type:"number"}}],!1;N=0===E}else N=!0}}}}return r.errors=null,!0}v.exports=r,v.exports["default"]=r},12906:function(v){const E=/^(?:[A-Za-z]:[\\/]|\\\\|\/)/;v.exports=n,v.exports["default"]=n;const P=new RegExp("^https?://","u");function e(v,{instancePath:R="",parentData:$,parentDataProperty:N,rootData:L=v}={}){let q=null,K=0;if(0===K){if(!v||"object"!=typeof v||Array.isArray(v))return e.errors=[{params:{type:"object"}}],!1;{let R;if(void 0===v.allowedUris&&(R="allowedUris"))return e.errors=[{params:{missingProperty:R}}],!1;{const R=K;for(const E in v)if("allowedUris"!==E&&"cacheLocation"!==E&&"frozen"!==E&&"lockfileLocation"!==E&&"proxy"!==E&&"upgrade"!==E)return e.errors=[{params:{additionalProperty:E}}],!1;if(R===K){if(void 0!==v.allowedUris){let E=v.allowedUris;const R=K;if(K==K){if(!Array.isArray(E))return e.errors=[{params:{type:"array"}}],!1;{const v=E.length;for(let R=0;Rparse(v)));const N=v.length+1,L=(R.__heap_base.value||R.__heap_base)+4*N-R.memory.buffer.byteLength;L>0&&R.memory.grow(Math.ceil(L/65536));const q=R.sa(N-1);if((P?B:Q)(v,new Uint16Array(R.memory.buffer,q,N)),!R.parse())throw Object.assign(new Error(`Parse error ${E}:${v.slice(0,R.e()).split("\n").length}:${R.e()-v.lastIndexOf("\n",R.e()-1)}`),{idx:R.e()});const K=[],ae=[];for(;R.ri();){const E=R.is(),P=R.ie(),$=R.ai(),N=R.id(),L=R.ss(),q=R.se();let ae;R.ip()&&(ae=J(v.slice(-1===N?E-1:E,-1===N?P+1:P))),K.push({n:ae,s:E,e:P,ss:L,se:q,d:N,a:$})}for(;R.re();){const E=R.es(),P=R.ee(),$=R.els(),N=R.ele(),L=v.slice(E,P),q=L[0],K=$<0?void 0:v.slice($,N),ge=K?K[0]:"";ae.push({s:E,e:P,ls:$,le:N,n:'"'===q||"'"===q?J(L):L,ln:'"'===ge||"'"===ge?J(K):K})}function J(v){try{return(0,eval)(v)}catch(v){}}return[K,ae,!!R.f()]}function Q(v,E){const P=v.length;let R=0;for(;R>>8}}function B(v,E){const P=v.length;let R=0;for(;Rv.charCodeAt(0))))).then(WebAssembly.instantiate).then((({exports:v})=>{R=v}));var N;E.init=$},13348:function(v){"use strict";v.exports={i8:"5.1.1"}},14730:function(v){"use strict";v.exports={version:"4.3.0"}},61752:function(v){"use strict";v.exports={i8:"4.3.0"}},66282:function(v){"use strict";v.exports=JSON.parse('{"application/1d-interleaved-parityfec":{"source":"iana"},"application/3gpdash-qoe-report+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/3gpp-ims+xml":{"source":"iana","compressible":true},"application/a2l":{"source":"iana"},"application/activemessage":{"source":"iana"},"application/activity+json":{"source":"iana","compressible":true},"application/alto-costmap+json":{"source":"iana","compressible":true},"application/alto-costmapfilter+json":{"source":"iana","compressible":true},"application/alto-directory+json":{"source":"iana","compressible":true},"application/alto-endpointcost+json":{"source":"iana","compressible":true},"application/alto-endpointcostparams+json":{"source":"iana","compressible":true},"application/alto-endpointprop+json":{"source":"iana","compressible":true},"application/alto-endpointpropparams+json":{"source":"iana","compressible":true},"application/alto-error+json":{"source":"iana","compressible":true},"application/alto-networkmap+json":{"source":"iana","compressible":true},"application/alto-networkmapfilter+json":{"source":"iana","compressible":true},"application/alto-updatestreamcontrol+json":{"source":"iana","compressible":true},"application/alto-updatestreamparams+json":{"source":"iana","compressible":true},"application/aml":{"source":"iana"},"application/andrew-inset":{"source":"iana","extensions":["ez"]},"application/applefile":{"source":"iana"},"application/applixware":{"source":"apache","extensions":["aw"]},"application/atf":{"source":"iana"},"application/atfx":{"source":"iana"},"application/atom+xml":{"source":"iana","compressible":true,"extensions":["atom"]},"application/atomcat+xml":{"source":"iana","compressible":true,"extensions":["atomcat"]},"application/atomdeleted+xml":{"source":"iana","compressible":true,"extensions":["atomdeleted"]},"application/atomicmail":{"source":"iana"},"application/atomsvc+xml":{"source":"iana","compressible":true,"extensions":["atomsvc"]},"application/atsc-dwd+xml":{"source":"iana","compressible":true,"extensions":["dwd"]},"application/atsc-dynamic-event-message":{"source":"iana"},"application/atsc-held+xml":{"source":"iana","compressible":true,"extensions":["held"]},"application/atsc-rdt+json":{"source":"iana","compressible":true},"application/atsc-rsat+xml":{"source":"iana","compressible":true,"extensions":["rsat"]},"application/atxml":{"source":"iana"},"application/auth-policy+xml":{"source":"iana","compressible":true},"application/bacnet-xdd+zip":{"source":"iana","compressible":false},"application/batch-smtp":{"source":"iana"},"application/bdoc":{"compressible":false,"extensions":["bdoc"]},"application/beep+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/calendar+json":{"source":"iana","compressible":true},"application/calendar+xml":{"source":"iana","compressible":true,"extensions":["xcs"]},"application/call-completion":{"source":"iana"},"application/cals-1840":{"source":"iana"},"application/captive+json":{"source":"iana","compressible":true},"application/cbor":{"source":"iana"},"application/cbor-seq":{"source":"iana"},"application/cccex":{"source":"iana"},"application/ccmp+xml":{"source":"iana","compressible":true},"application/ccxml+xml":{"source":"iana","compressible":true,"extensions":["ccxml"]},"application/cdfx+xml":{"source":"iana","compressible":true,"extensions":["cdfx"]},"application/cdmi-capability":{"source":"iana","extensions":["cdmia"]},"application/cdmi-container":{"source":"iana","extensions":["cdmic"]},"application/cdmi-domain":{"source":"iana","extensions":["cdmid"]},"application/cdmi-object":{"source":"iana","extensions":["cdmio"]},"application/cdmi-queue":{"source":"iana","extensions":["cdmiq"]},"application/cdni":{"source":"iana"},"application/cea":{"source":"iana"},"application/cea-2018+xml":{"source":"iana","compressible":true},"application/cellml+xml":{"source":"iana","compressible":true},"application/cfw":{"source":"iana"},"application/clr":{"source":"iana"},"application/clue+xml":{"source":"iana","compressible":true},"application/clue_info+xml":{"source":"iana","compressible":true},"application/cms":{"source":"iana"},"application/cnrp+xml":{"source":"iana","compressible":true},"application/coap-group+json":{"source":"iana","compressible":true},"application/coap-payload":{"source":"iana"},"application/commonground":{"source":"iana"},"application/conference-info+xml":{"source":"iana","compressible":true},"application/cose":{"source":"iana"},"application/cose-key":{"source":"iana"},"application/cose-key-set":{"source":"iana"},"application/cpl+xml":{"source":"iana","compressible":true},"application/csrattrs":{"source":"iana"},"application/csta+xml":{"source":"iana","compressible":true},"application/cstadata+xml":{"source":"iana","compressible":true},"application/csvm+json":{"source":"iana","compressible":true},"application/cu-seeme":{"source":"apache","extensions":["cu"]},"application/cwt":{"source":"iana"},"application/cybercash":{"source":"iana"},"application/dart":{"compressible":true},"application/dash+xml":{"source":"iana","compressible":true,"extensions":["mpd"]},"application/dashdelta":{"source":"iana"},"application/davmount+xml":{"source":"iana","compressible":true,"extensions":["davmount"]},"application/dca-rft":{"source":"iana"},"application/dcd":{"source":"iana"},"application/dec-dx":{"source":"iana"},"application/dialog-info+xml":{"source":"iana","compressible":true},"application/dicom":{"source":"iana"},"application/dicom+json":{"source":"iana","compressible":true},"application/dicom+xml":{"source":"iana","compressible":true},"application/dii":{"source":"iana"},"application/dit":{"source":"iana"},"application/dns":{"source":"iana"},"application/dns+json":{"source":"iana","compressible":true},"application/dns-message":{"source":"iana"},"application/docbook+xml":{"source":"apache","compressible":true,"extensions":["dbk"]},"application/dots+cbor":{"source":"iana"},"application/dskpp+xml":{"source":"iana","compressible":true},"application/dssc+der":{"source":"iana","extensions":["dssc"]},"application/dssc+xml":{"source":"iana","compressible":true,"extensions":["xdssc"]},"application/dvcs":{"source":"iana"},"application/ecmascript":{"source":"iana","compressible":true,"extensions":["es","ecma"]},"application/edi-consent":{"source":"iana"},"application/edi-x12":{"source":"iana","compressible":false},"application/edifact":{"source":"iana","compressible":false},"application/efi":{"source":"iana"},"application/elm+json":{"source":"iana","charset":"UTF-8","compressible":true},"application/elm+xml":{"source":"iana","compressible":true},"application/emergencycalldata.cap+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/emergencycalldata.comment+xml":{"source":"iana","compressible":true},"application/emergencycalldata.control+xml":{"source":"iana","compressible":true},"application/emergencycalldata.deviceinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.ecall.msd":{"source":"iana"},"application/emergencycalldata.providerinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.serviceinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.subscriberinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.veds+xml":{"source":"iana","compressible":true},"application/emma+xml":{"source":"iana","compressible":true,"extensions":["emma"]},"application/emotionml+xml":{"source":"iana","compressible":true,"extensions":["emotionml"]},"application/encaprtp":{"source":"iana"},"application/epp+xml":{"source":"iana","compressible":true},"application/epub+zip":{"source":"iana","compressible":false,"extensions":["epub"]},"application/eshop":{"source":"iana"},"application/exi":{"source":"iana","extensions":["exi"]},"application/expect-ct-report+json":{"source":"iana","compressible":true},"application/fastinfoset":{"source":"iana"},"application/fastsoap":{"source":"iana"},"application/fdt+xml":{"source":"iana","compressible":true,"extensions":["fdt"]},"application/fhir+json":{"source":"iana","charset":"UTF-8","compressible":true},"application/fhir+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/fido.trusted-apps+json":{"compressible":true},"application/fits":{"source":"iana"},"application/flexfec":{"source":"iana"},"application/font-sfnt":{"source":"iana"},"application/font-tdpfr":{"source":"iana","extensions":["pfr"]},"application/font-woff":{"source":"iana","compressible":false},"application/framework-attributes+xml":{"source":"iana","compressible":true},"application/geo+json":{"source":"iana","compressible":true,"extensions":["geojson"]},"application/geo+json-seq":{"source":"iana"},"application/geopackage+sqlite3":{"source":"iana"},"application/geoxacml+xml":{"source":"iana","compressible":true},"application/gltf-buffer":{"source":"iana"},"application/gml+xml":{"source":"iana","compressible":true,"extensions":["gml"]},"application/gpx+xml":{"source":"apache","compressible":true,"extensions":["gpx"]},"application/gxf":{"source":"apache","extensions":["gxf"]},"application/gzip":{"source":"iana","compressible":false,"extensions":["gz"]},"application/h224":{"source":"iana"},"application/held+xml":{"source":"iana","compressible":true},"application/hjson":{"extensions":["hjson"]},"application/http":{"source":"iana"},"application/hyperstudio":{"source":"iana","extensions":["stk"]},"application/ibe-key-request+xml":{"source":"iana","compressible":true},"application/ibe-pkg-reply+xml":{"source":"iana","compressible":true},"application/ibe-pp-data":{"source":"iana"},"application/iges":{"source":"iana"},"application/im-iscomposing+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/index":{"source":"iana"},"application/index.cmd":{"source":"iana"},"application/index.obj":{"source":"iana"},"application/index.response":{"source":"iana"},"application/index.vnd":{"source":"iana"},"application/inkml+xml":{"source":"iana","compressible":true,"extensions":["ink","inkml"]},"application/iotp":{"source":"iana"},"application/ipfix":{"source":"iana","extensions":["ipfix"]},"application/ipp":{"source":"iana"},"application/isup":{"source":"iana"},"application/its+xml":{"source":"iana","compressible":true,"extensions":["its"]},"application/java-archive":{"source":"apache","compressible":false,"extensions":["jar","war","ear"]},"application/java-serialized-object":{"source":"apache","compressible":false,"extensions":["ser"]},"application/java-vm":{"source":"apache","compressible":false,"extensions":["class"]},"application/javascript":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["js","mjs"]},"application/jf2feed+json":{"source":"iana","compressible":true},"application/jose":{"source":"iana"},"application/jose+json":{"source":"iana","compressible":true},"application/jrd+json":{"source":"iana","compressible":true},"application/jscalendar+json":{"source":"iana","compressible":true},"application/json":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["json","map"]},"application/json-patch+json":{"source":"iana","compressible":true},"application/json-seq":{"source":"iana"},"application/json5":{"extensions":["json5"]},"application/jsonml+json":{"source":"apache","compressible":true,"extensions":["jsonml"]},"application/jwk+json":{"source":"iana","compressible":true},"application/jwk-set+json":{"source":"iana","compressible":true},"application/jwt":{"source":"iana"},"application/kpml-request+xml":{"source":"iana","compressible":true},"application/kpml-response+xml":{"source":"iana","compressible":true},"application/ld+json":{"source":"iana","compressible":true,"extensions":["jsonld"]},"application/lgr+xml":{"source":"iana","compressible":true,"extensions":["lgr"]},"application/link-format":{"source":"iana"},"application/load-control+xml":{"source":"iana","compressible":true},"application/lost+xml":{"source":"iana","compressible":true,"extensions":["lostxml"]},"application/lostsync+xml":{"source":"iana","compressible":true},"application/lpf+zip":{"source":"iana","compressible":false},"application/lxf":{"source":"iana"},"application/mac-binhex40":{"source":"iana","extensions":["hqx"]},"application/mac-compactpro":{"source":"apache","extensions":["cpt"]},"application/macwriteii":{"source":"iana"},"application/mads+xml":{"source":"iana","compressible":true,"extensions":["mads"]},"application/manifest+json":{"charset":"UTF-8","compressible":true,"extensions":["webmanifest"]},"application/marc":{"source":"iana","extensions":["mrc"]},"application/marcxml+xml":{"source":"iana","compressible":true,"extensions":["mrcx"]},"application/mathematica":{"source":"iana","extensions":["ma","nb","mb"]},"application/mathml+xml":{"source":"iana","compressible":true,"extensions":["mathml"]},"application/mathml-content+xml":{"source":"iana","compressible":true},"application/mathml-presentation+xml":{"source":"iana","compressible":true},"application/mbms-associated-procedure-description+xml":{"source":"iana","compressible":true},"application/mbms-deregister+xml":{"source":"iana","compressible":true},"application/mbms-envelope+xml":{"source":"iana","compressible":true},"application/mbms-msk+xml":{"source":"iana","compressible":true},"application/mbms-msk-response+xml":{"source":"iana","compressible":true},"application/mbms-protection-description+xml":{"source":"iana","compressible":true},"application/mbms-reception-report+xml":{"source":"iana","compressible":true},"application/mbms-register+xml":{"source":"iana","compressible":true},"application/mbms-register-response+xml":{"source":"iana","compressible":true},"application/mbms-schedule+xml":{"source":"iana","compressible":true},"application/mbms-user-service-description+xml":{"source":"iana","compressible":true},"application/mbox":{"source":"iana","extensions":["mbox"]},"application/media-policy-dataset+xml":{"source":"iana","compressible":true},"application/media_control+xml":{"source":"iana","compressible":true},"application/mediaservercontrol+xml":{"source":"iana","compressible":true,"extensions":["mscml"]},"application/merge-patch+json":{"source":"iana","compressible":true},"application/metalink+xml":{"source":"apache","compressible":true,"extensions":["metalink"]},"application/metalink4+xml":{"source":"iana","compressible":true,"extensions":["meta4"]},"application/mets+xml":{"source":"iana","compressible":true,"extensions":["mets"]},"application/mf4":{"source":"iana"},"application/mikey":{"source":"iana"},"application/mipc":{"source":"iana"},"application/mmt-aei+xml":{"source":"iana","compressible":true,"extensions":["maei"]},"application/mmt-usd+xml":{"source":"iana","compressible":true,"extensions":["musd"]},"application/mods+xml":{"source":"iana","compressible":true,"extensions":["mods"]},"application/moss-keys":{"source":"iana"},"application/moss-signature":{"source":"iana"},"application/mosskey-data":{"source":"iana"},"application/mosskey-request":{"source":"iana"},"application/mp21":{"source":"iana","extensions":["m21","mp21"]},"application/mp4":{"source":"iana","extensions":["mp4s","m4p"]},"application/mpeg4-generic":{"source":"iana"},"application/mpeg4-iod":{"source":"iana"},"application/mpeg4-iod-xmt":{"source":"iana"},"application/mrb-consumer+xml":{"source":"iana","compressible":true},"application/mrb-publish+xml":{"source":"iana","compressible":true},"application/msc-ivr+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/msc-mixer+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/msword":{"source":"iana","compressible":false,"extensions":["doc","dot"]},"application/mud+json":{"source":"iana","compressible":true},"application/multipart-core":{"source":"iana"},"application/mxf":{"source":"iana","extensions":["mxf"]},"application/n-quads":{"source":"iana","extensions":["nq"]},"application/n-triples":{"source":"iana","extensions":["nt"]},"application/nasdata":{"source":"iana"},"application/news-checkgroups":{"source":"iana","charset":"US-ASCII"},"application/news-groupinfo":{"source":"iana","charset":"US-ASCII"},"application/news-transmission":{"source":"iana"},"application/nlsml+xml":{"source":"iana","compressible":true},"application/node":{"source":"iana","extensions":["cjs"]},"application/nss":{"source":"iana"},"application/ocsp-request":{"source":"iana"},"application/ocsp-response":{"source":"iana"},"application/octet-stream":{"source":"iana","compressible":false,"extensions":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{"source":"iana","extensions":["oda"]},"application/odm+xml":{"source":"iana","compressible":true},"application/odx":{"source":"iana"},"application/oebps-package+xml":{"source":"iana","compressible":true,"extensions":["opf"]},"application/ogg":{"source":"iana","compressible":false,"extensions":["ogx"]},"application/omdoc+xml":{"source":"apache","compressible":true,"extensions":["omdoc"]},"application/onenote":{"source":"apache","extensions":["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{"source":"iana","compressible":true},"application/oscore":{"source":"iana"},"application/oxps":{"source":"iana","extensions":["oxps"]},"application/p2p-overlay+xml":{"source":"iana","compressible":true,"extensions":["relo"]},"application/parityfec":{"source":"iana"},"application/passport":{"source":"iana"},"application/patch-ops-error+xml":{"source":"iana","compressible":true,"extensions":["xer"]},"application/pdf":{"source":"iana","compressible":false,"extensions":["pdf"]},"application/pdx":{"source":"iana"},"application/pem-certificate-chain":{"source":"iana"},"application/pgp-encrypted":{"source":"iana","compressible":false,"extensions":["pgp"]},"application/pgp-keys":{"source":"iana"},"application/pgp-signature":{"source":"iana","extensions":["asc","sig"]},"application/pics-rules":{"source":"apache","extensions":["prf"]},"application/pidf+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/pidf-diff+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/pkcs10":{"source":"iana","extensions":["p10"]},"application/pkcs12":{"source":"iana"},"application/pkcs7-mime":{"source":"iana","extensions":["p7m","p7c"]},"application/pkcs7-signature":{"source":"iana","extensions":["p7s"]},"application/pkcs8":{"source":"iana","extensions":["p8"]},"application/pkcs8-encrypted":{"source":"iana"},"application/pkix-attr-cert":{"source":"iana","extensions":["ac"]},"application/pkix-cert":{"source":"iana","extensions":["cer"]},"application/pkix-crl":{"source":"iana","extensions":["crl"]},"application/pkix-pkipath":{"source":"iana","extensions":["pkipath"]},"application/pkixcmp":{"source":"iana","extensions":["pki"]},"application/pls+xml":{"source":"iana","compressible":true,"extensions":["pls"]},"application/poc-settings+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/postscript":{"source":"iana","compressible":true,"extensions":["ai","eps","ps"]},"application/ppsp-tracker+json":{"source":"iana","compressible":true},"application/problem+json":{"source":"iana","compressible":true},"application/problem+xml":{"source":"iana","compressible":true},"application/provenance+xml":{"source":"iana","compressible":true,"extensions":["provx"]},"application/prs.alvestrand.titrax-sheet":{"source":"iana"},"application/prs.cww":{"source":"iana","extensions":["cww"]},"application/prs.cyn":{"source":"iana","charset":"7-BIT"},"application/prs.hpub+zip":{"source":"iana","compressible":false},"application/prs.nprend":{"source":"iana"},"application/prs.plucker":{"source":"iana"},"application/prs.rdf-xml-crypt":{"source":"iana"},"application/prs.xsf+xml":{"source":"iana","compressible":true},"application/pskc+xml":{"source":"iana","compressible":true,"extensions":["pskcxml"]},"application/pvd+json":{"source":"iana","compressible":true},"application/qsig":{"source":"iana"},"application/raml+yaml":{"compressible":true,"extensions":["raml"]},"application/raptorfec":{"source":"iana"},"application/rdap+json":{"source":"iana","compressible":true},"application/rdf+xml":{"source":"iana","compressible":true,"extensions":["rdf","owl"]},"application/reginfo+xml":{"source":"iana","compressible":true,"extensions":["rif"]},"application/relax-ng-compact-syntax":{"source":"iana","extensions":["rnc"]},"application/remote-printing":{"source":"iana"},"application/reputon+json":{"source":"iana","compressible":true},"application/resource-lists+xml":{"source":"iana","compressible":true,"extensions":["rl"]},"application/resource-lists-diff+xml":{"source":"iana","compressible":true,"extensions":["rld"]},"application/rfc+xml":{"source":"iana","compressible":true},"application/riscos":{"source":"iana"},"application/rlmi+xml":{"source":"iana","compressible":true},"application/rls-services+xml":{"source":"iana","compressible":true,"extensions":["rs"]},"application/route-apd+xml":{"source":"iana","compressible":true,"extensions":["rapd"]},"application/route-s-tsid+xml":{"source":"iana","compressible":true,"extensions":["sls"]},"application/route-usd+xml":{"source":"iana","compressible":true,"extensions":["rusd"]},"application/rpki-ghostbusters":{"source":"iana","extensions":["gbr"]},"application/rpki-manifest":{"source":"iana","extensions":["mft"]},"application/rpki-publication":{"source":"iana"},"application/rpki-roa":{"source":"iana","extensions":["roa"]},"application/rpki-updown":{"source":"iana"},"application/rsd+xml":{"source":"apache","compressible":true,"extensions":["rsd"]},"application/rss+xml":{"source":"apache","compressible":true,"extensions":["rss"]},"application/rtf":{"source":"iana","compressible":true,"extensions":["rtf"]},"application/rtploopback":{"source":"iana"},"application/rtx":{"source":"iana"},"application/samlassertion+xml":{"source":"iana","compressible":true},"application/samlmetadata+xml":{"source":"iana","compressible":true},"application/sarif+json":{"source":"iana","compressible":true},"application/sbe":{"source":"iana"},"application/sbml+xml":{"source":"iana","compressible":true,"extensions":["sbml"]},"application/scaip+xml":{"source":"iana","compressible":true},"application/scim+json":{"source":"iana","compressible":true},"application/scvp-cv-request":{"source":"iana","extensions":["scq"]},"application/scvp-cv-response":{"source":"iana","extensions":["scs"]},"application/scvp-vp-request":{"source":"iana","extensions":["spq"]},"application/scvp-vp-response":{"source":"iana","extensions":["spp"]},"application/sdp":{"source":"iana","extensions":["sdp"]},"application/secevent+jwt":{"source":"iana"},"application/senml+cbor":{"source":"iana"},"application/senml+json":{"source":"iana","compressible":true},"application/senml+xml":{"source":"iana","compressible":true,"extensions":["senmlx"]},"application/senml-etch+cbor":{"source":"iana"},"application/senml-etch+json":{"source":"iana","compressible":true},"application/senml-exi":{"source":"iana"},"application/sensml+cbor":{"source":"iana"},"application/sensml+json":{"source":"iana","compressible":true},"application/sensml+xml":{"source":"iana","compressible":true,"extensions":["sensmlx"]},"application/sensml-exi":{"source":"iana"},"application/sep+xml":{"source":"iana","compressible":true},"application/sep-exi":{"source":"iana"},"application/session-info":{"source":"iana"},"application/set-payment":{"source":"iana"},"application/set-payment-initiation":{"source":"iana","extensions":["setpay"]},"application/set-registration":{"source":"iana"},"application/set-registration-initiation":{"source":"iana","extensions":["setreg"]},"application/sgml":{"source":"iana"},"application/sgml-open-catalog":{"source":"iana"},"application/shf+xml":{"source":"iana","compressible":true,"extensions":["shf"]},"application/sieve":{"source":"iana","extensions":["siv","sieve"]},"application/simple-filter+xml":{"source":"iana","compressible":true},"application/simple-message-summary":{"source":"iana"},"application/simplesymbolcontainer":{"source":"iana"},"application/sipc":{"source":"iana"},"application/slate":{"source":"iana"},"application/smil":{"source":"iana"},"application/smil+xml":{"source":"iana","compressible":true,"extensions":["smi","smil"]},"application/smpte336m":{"source":"iana"},"application/soap+fastinfoset":{"source":"iana"},"application/soap+xml":{"source":"iana","compressible":true},"application/sparql-query":{"source":"iana","extensions":["rq"]},"application/sparql-results+xml":{"source":"iana","compressible":true,"extensions":["srx"]},"application/spirits-event+xml":{"source":"iana","compressible":true},"application/sql":{"source":"iana"},"application/srgs":{"source":"iana","extensions":["gram"]},"application/srgs+xml":{"source":"iana","compressible":true,"extensions":["grxml"]},"application/sru+xml":{"source":"iana","compressible":true,"extensions":["sru"]},"application/ssdl+xml":{"source":"apache","compressible":true,"extensions":["ssdl"]},"application/ssml+xml":{"source":"iana","compressible":true,"extensions":["ssml"]},"application/stix+json":{"source":"iana","compressible":true},"application/swid+xml":{"source":"iana","compressible":true,"extensions":["swidtag"]},"application/tamp-apex-update":{"source":"iana"},"application/tamp-apex-update-confirm":{"source":"iana"},"application/tamp-community-update":{"source":"iana"},"application/tamp-community-update-confirm":{"source":"iana"},"application/tamp-error":{"source":"iana"},"application/tamp-sequence-adjust":{"source":"iana"},"application/tamp-sequence-adjust-confirm":{"source":"iana"},"application/tamp-status-query":{"source":"iana"},"application/tamp-status-response":{"source":"iana"},"application/tamp-update":{"source":"iana"},"application/tamp-update-confirm":{"source":"iana"},"application/tar":{"compressible":true},"application/taxii+json":{"source":"iana","compressible":true},"application/td+json":{"source":"iana","compressible":true},"application/tei+xml":{"source":"iana","compressible":true,"extensions":["tei","teicorpus"]},"application/tetra_isi":{"source":"iana"},"application/thraud+xml":{"source":"iana","compressible":true,"extensions":["tfi"]},"application/timestamp-query":{"source":"iana"},"application/timestamp-reply":{"source":"iana"},"application/timestamped-data":{"source":"iana","extensions":["tsd"]},"application/tlsrpt+gzip":{"source":"iana"},"application/tlsrpt+json":{"source":"iana","compressible":true},"application/tnauthlist":{"source":"iana"},"application/toml":{"compressible":true,"extensions":["toml"]},"application/trickle-ice-sdpfrag":{"source":"iana"},"application/trig":{"source":"iana"},"application/ttml+xml":{"source":"iana","compressible":true,"extensions":["ttml"]},"application/tve-trigger":{"source":"iana"},"application/tzif":{"source":"iana"},"application/tzif-leap":{"source":"iana"},"application/ubjson":{"compressible":false,"extensions":["ubj"]},"application/ulpfec":{"source":"iana"},"application/urc-grpsheet+xml":{"source":"iana","compressible":true},"application/urc-ressheet+xml":{"source":"iana","compressible":true,"extensions":["rsheet"]},"application/urc-targetdesc+xml":{"source":"iana","compressible":true,"extensions":["td"]},"application/urc-uisocketdesc+xml":{"source":"iana","compressible":true},"application/vcard+json":{"source":"iana","compressible":true},"application/vcard+xml":{"source":"iana","compressible":true},"application/vemmi":{"source":"iana"},"application/vividence.scriptfile":{"source":"apache"},"application/vnd.1000minds.decision-model+xml":{"source":"iana","compressible":true,"extensions":["1km"]},"application/vnd.3gpp-prose+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-prose-pc3ch+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-v2x-local-service-information":{"source":"iana"},"application/vnd.3gpp.access-transfer-events+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.bsf+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.gmop+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.interworking-data":{"source":"iana"},"application/vnd.3gpp.mc-signalling-ear":{"source":"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-payload":{"source":"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-signalling":{"source":"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-floor-request+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-location-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-signed+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-ue-init-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-location-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-transmission-request+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mid-call+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.pic-bw-large":{"source":"iana","extensions":["plb"]},"application/vnd.3gpp.pic-bw-small":{"source":"iana","extensions":["psb"]},"application/vnd.3gpp.pic-bw-var":{"source":"iana","extensions":["pvb"]},"application/vnd.3gpp.sms":{"source":"iana"},"application/vnd.3gpp.sms+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.srvcc-ext+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.srvcc-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.state-and-event-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.ussd+xml":{"source":"iana","compressible":true},"application/vnd.3gpp2.bcmcsinfo+xml":{"source":"iana","compressible":true},"application/vnd.3gpp2.sms":{"source":"iana"},"application/vnd.3gpp2.tcap":{"source":"iana","extensions":["tcap"]},"application/vnd.3lightssoftware.imagescal":{"source":"iana"},"application/vnd.3m.post-it-notes":{"source":"iana","extensions":["pwn"]},"application/vnd.accpac.simply.aso":{"source":"iana","extensions":["aso"]},"application/vnd.accpac.simply.imp":{"source":"iana","extensions":["imp"]},"application/vnd.acucobol":{"source":"iana","extensions":["acu"]},"application/vnd.acucorp":{"source":"iana","extensions":["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{"source":"apache","compressible":false,"extensions":["air"]},"application/vnd.adobe.flash.movie":{"source":"iana"},"application/vnd.adobe.formscentral.fcdt":{"source":"iana","extensions":["fcdt"]},"application/vnd.adobe.fxp":{"source":"iana","extensions":["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{"source":"iana"},"application/vnd.adobe.xdp+xml":{"source":"iana","compressible":true,"extensions":["xdp"]},"application/vnd.adobe.xfdf":{"source":"iana","extensions":["xfdf"]},"application/vnd.aether.imp":{"source":"iana"},"application/vnd.afpc.afplinedata":{"source":"iana"},"application/vnd.afpc.afplinedata-pagedef":{"source":"iana"},"application/vnd.afpc.cmoca-cmresource":{"source":"iana"},"application/vnd.afpc.foca-charset":{"source":"iana"},"application/vnd.afpc.foca-codedfont":{"source":"iana"},"application/vnd.afpc.foca-codepage":{"source":"iana"},"application/vnd.afpc.modca":{"source":"iana"},"application/vnd.afpc.modca-cmtable":{"source":"iana"},"application/vnd.afpc.modca-formdef":{"source":"iana"},"application/vnd.afpc.modca-mediummap":{"source":"iana"},"application/vnd.afpc.modca-objectcontainer":{"source":"iana"},"application/vnd.afpc.modca-overlay":{"source":"iana"},"application/vnd.afpc.modca-pagesegment":{"source":"iana"},"application/vnd.ah-barcode":{"source":"iana"},"application/vnd.ahead.space":{"source":"iana","extensions":["ahead"]},"application/vnd.airzip.filesecure.azf":{"source":"iana","extensions":["azf"]},"application/vnd.airzip.filesecure.azs":{"source":"iana","extensions":["azs"]},"application/vnd.amadeus+json":{"source":"iana","compressible":true},"application/vnd.amazon.ebook":{"source":"apache","extensions":["azw"]},"application/vnd.amazon.mobi8-ebook":{"source":"iana"},"application/vnd.americandynamics.acc":{"source":"iana","extensions":["acc"]},"application/vnd.amiga.ami":{"source":"iana","extensions":["ami"]},"application/vnd.amundsen.maze+xml":{"source":"iana","compressible":true},"application/vnd.android.ota":{"source":"iana"},"application/vnd.android.package-archive":{"source":"apache","compressible":false,"extensions":["apk"]},"application/vnd.anki":{"source":"iana"},"application/vnd.anser-web-certificate-issue-initiation":{"source":"iana","extensions":["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{"source":"apache","extensions":["fti"]},"application/vnd.antix.game-component":{"source":"iana","extensions":["atx"]},"application/vnd.apache.thrift.binary":{"source":"iana"},"application/vnd.apache.thrift.compact":{"source":"iana"},"application/vnd.apache.thrift.json":{"source":"iana"},"application/vnd.api+json":{"source":"iana","compressible":true},"application/vnd.aplextor.warrp+json":{"source":"iana","compressible":true},"application/vnd.apothekende.reservation+json":{"source":"iana","compressible":true},"application/vnd.apple.installer+xml":{"source":"iana","compressible":true,"extensions":["mpkg"]},"application/vnd.apple.keynote":{"source":"iana","extensions":["key"]},"application/vnd.apple.mpegurl":{"source":"iana","extensions":["m3u8"]},"application/vnd.apple.numbers":{"source":"iana","extensions":["numbers"]},"application/vnd.apple.pages":{"source":"iana","extensions":["pages"]},"application/vnd.apple.pkpass":{"compressible":false,"extensions":["pkpass"]},"application/vnd.arastra.swi":{"source":"iana"},"application/vnd.aristanetworks.swi":{"source":"iana","extensions":["swi"]},"application/vnd.artisan+json":{"source":"iana","compressible":true},"application/vnd.artsquare":{"source":"iana"},"application/vnd.astraea-software.iota":{"source":"iana","extensions":["iota"]},"application/vnd.audiograph":{"source":"iana","extensions":["aep"]},"application/vnd.autopackage":{"source":"iana"},"application/vnd.avalon+json":{"source":"iana","compressible":true},"application/vnd.avistar+xml":{"source":"iana","compressible":true},"application/vnd.balsamiq.bmml+xml":{"source":"iana","compressible":true,"extensions":["bmml"]},"application/vnd.balsamiq.bmpr":{"source":"iana"},"application/vnd.banana-accounting":{"source":"iana"},"application/vnd.bbf.usp.error":{"source":"iana"},"application/vnd.bbf.usp.msg":{"source":"iana"},"application/vnd.bbf.usp.msg+json":{"source":"iana","compressible":true},"application/vnd.bekitzur-stech+json":{"source":"iana","compressible":true},"application/vnd.bint.med-content":{"source":"iana"},"application/vnd.biopax.rdf+xml":{"source":"iana","compressible":true},"application/vnd.blink-idb-value-wrapper":{"source":"iana"},"application/vnd.blueice.multipass":{"source":"iana","extensions":["mpm"]},"application/vnd.bluetooth.ep.oob":{"source":"iana"},"application/vnd.bluetooth.le.oob":{"source":"iana"},"application/vnd.bmi":{"source":"iana","extensions":["bmi"]},"application/vnd.bpf":{"source":"iana"},"application/vnd.bpf3":{"source":"iana"},"application/vnd.businessobjects":{"source":"iana","extensions":["rep"]},"application/vnd.byu.uapi+json":{"source":"iana","compressible":true},"application/vnd.cab-jscript":{"source":"iana"},"application/vnd.canon-cpdl":{"source":"iana"},"application/vnd.canon-lips":{"source":"iana"},"application/vnd.capasystems-pg+json":{"source":"iana","compressible":true},"application/vnd.cendio.thinlinc.clientconf":{"source":"iana"},"application/vnd.century-systems.tcp_stream":{"source":"iana"},"application/vnd.chemdraw+xml":{"source":"iana","compressible":true,"extensions":["cdxml"]},"application/vnd.chess-pgn":{"source":"iana"},"application/vnd.chipnuts.karaoke-mmd":{"source":"iana","extensions":["mmd"]},"application/vnd.ciedi":{"source":"iana"},"application/vnd.cinderella":{"source":"iana","extensions":["cdy"]},"application/vnd.cirpack.isdn-ext":{"source":"iana"},"application/vnd.citationstyles.style+xml":{"source":"iana","compressible":true,"extensions":["csl"]},"application/vnd.claymore":{"source":"iana","extensions":["cla"]},"application/vnd.cloanto.rp9":{"source":"iana","extensions":["rp9"]},"application/vnd.clonk.c4group":{"source":"iana","extensions":["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{"source":"iana","extensions":["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{"source":"iana","extensions":["c11amz"]},"application/vnd.coffeescript":{"source":"iana"},"application/vnd.collabio.xodocuments.document":{"source":"iana"},"application/vnd.collabio.xodocuments.document-template":{"source":"iana"},"application/vnd.collabio.xodocuments.presentation":{"source":"iana"},"application/vnd.collabio.xodocuments.presentation-template":{"source":"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{"source":"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{"source":"iana"},"application/vnd.collection+json":{"source":"iana","compressible":true},"application/vnd.collection.doc+json":{"source":"iana","compressible":true},"application/vnd.collection.next+json":{"source":"iana","compressible":true},"application/vnd.comicbook+zip":{"source":"iana","compressible":false},"application/vnd.comicbook-rar":{"source":"iana"},"application/vnd.commerce-battelle":{"source":"iana"},"application/vnd.commonspace":{"source":"iana","extensions":["csp"]},"application/vnd.contact.cmsg":{"source":"iana","extensions":["cdbcmsg"]},"application/vnd.coreos.ignition+json":{"source":"iana","compressible":true},"application/vnd.cosmocaller":{"source":"iana","extensions":["cmc"]},"application/vnd.crick.clicker":{"source":"iana","extensions":["clkx"]},"application/vnd.crick.clicker.keyboard":{"source":"iana","extensions":["clkk"]},"application/vnd.crick.clicker.palette":{"source":"iana","extensions":["clkp"]},"application/vnd.crick.clicker.template":{"source":"iana","extensions":["clkt"]},"application/vnd.crick.clicker.wordbank":{"source":"iana","extensions":["clkw"]},"application/vnd.criticaltools.wbs+xml":{"source":"iana","compressible":true,"extensions":["wbs"]},"application/vnd.cryptii.pipe+json":{"source":"iana","compressible":true},"application/vnd.crypto-shade-file":{"source":"iana"},"application/vnd.cryptomator.encrypted":{"source":"iana"},"application/vnd.ctc-posml":{"source":"iana","extensions":["pml"]},"application/vnd.ctct.ws+xml":{"source":"iana","compressible":true},"application/vnd.cups-pdf":{"source":"iana"},"application/vnd.cups-postscript":{"source":"iana"},"application/vnd.cups-ppd":{"source":"iana","extensions":["ppd"]},"application/vnd.cups-raster":{"source":"iana"},"application/vnd.cups-raw":{"source":"iana"},"application/vnd.curl":{"source":"iana"},"application/vnd.curl.car":{"source":"apache","extensions":["car"]},"application/vnd.curl.pcurl":{"source":"apache","extensions":["pcurl"]},"application/vnd.cyan.dean.root+xml":{"source":"iana","compressible":true},"application/vnd.cybank":{"source":"iana"},"application/vnd.cyclonedx+json":{"source":"iana","compressible":true},"application/vnd.cyclonedx+xml":{"source":"iana","compressible":true},"application/vnd.d2l.coursepackage1p0+zip":{"source":"iana","compressible":false},"application/vnd.d3m-dataset":{"source":"iana"},"application/vnd.d3m-problem":{"source":"iana"},"application/vnd.dart":{"source":"iana","compressible":true,"extensions":["dart"]},"application/vnd.data-vision.rdz":{"source":"iana","extensions":["rdz"]},"application/vnd.datapackage+json":{"source":"iana","compressible":true},"application/vnd.dataresource+json":{"source":"iana","compressible":true},"application/vnd.dbf":{"source":"iana","extensions":["dbf"]},"application/vnd.debian.binary-package":{"source":"iana"},"application/vnd.dece.data":{"source":"iana","extensions":["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{"source":"iana","compressible":true,"extensions":["uvt","uvvt"]},"application/vnd.dece.unspecified":{"source":"iana","extensions":["uvx","uvvx"]},"application/vnd.dece.zip":{"source":"iana","extensions":["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{"source":"iana","extensions":["fe_launch"]},"application/vnd.desmume.movie":{"source":"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{"source":"iana"},"application/vnd.dm.delegation+xml":{"source":"iana","compressible":true},"application/vnd.dna":{"source":"iana","extensions":["dna"]},"application/vnd.document+json":{"source":"iana","compressible":true},"application/vnd.dolby.mlp":{"source":"apache","extensions":["mlp"]},"application/vnd.dolby.mobile.1":{"source":"iana"},"application/vnd.dolby.mobile.2":{"source":"iana"},"application/vnd.doremir.scorecloud-binary-document":{"source":"iana"},"application/vnd.dpgraph":{"source":"iana","extensions":["dpg"]},"application/vnd.dreamfactory":{"source":"iana","extensions":["dfac"]},"application/vnd.drive+json":{"source":"iana","compressible":true},"application/vnd.ds-keypoint":{"source":"apache","extensions":["kpxx"]},"application/vnd.dtg.local":{"source":"iana"},"application/vnd.dtg.local.flash":{"source":"iana"},"application/vnd.dtg.local.html":{"source":"iana"},"application/vnd.dvb.ait":{"source":"iana","extensions":["ait"]},"application/vnd.dvb.dvbisl+xml":{"source":"iana","compressible":true},"application/vnd.dvb.dvbj":{"source":"iana"},"application/vnd.dvb.esgcontainer":{"source":"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{"source":"iana"},"application/vnd.dvb.ipdcesgaccess":{"source":"iana"},"application/vnd.dvb.ipdcesgaccess2":{"source":"iana"},"application/vnd.dvb.ipdcesgpdd":{"source":"iana"},"application/vnd.dvb.ipdcroaming":{"source":"iana"},"application/vnd.dvb.iptv.alfec-base":{"source":"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{"source":"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-container+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-generic+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-msglist+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-registration-request+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-registration-response+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-init+xml":{"source":"iana","compressible":true},"application/vnd.dvb.pfr":{"source":"iana"},"application/vnd.dvb.service":{"source":"iana","extensions":["svc"]},"application/vnd.dxr":{"source":"iana"},"application/vnd.dynageo":{"source":"iana","extensions":["geo"]},"application/vnd.dzr":{"source":"iana"},"application/vnd.easykaraoke.cdgdownload":{"source":"iana"},"application/vnd.ecdis-update":{"source":"iana"},"application/vnd.ecip.rlp":{"source":"iana"},"application/vnd.ecowin.chart":{"source":"iana","extensions":["mag"]},"application/vnd.ecowin.filerequest":{"source":"iana"},"application/vnd.ecowin.fileupdate":{"source":"iana"},"application/vnd.ecowin.series":{"source":"iana"},"application/vnd.ecowin.seriesrequest":{"source":"iana"},"application/vnd.ecowin.seriesupdate":{"source":"iana"},"application/vnd.efi.img":{"source":"iana"},"application/vnd.efi.iso":{"source":"iana"},"application/vnd.emclient.accessrequest+xml":{"source":"iana","compressible":true},"application/vnd.enliven":{"source":"iana","extensions":["nml"]},"application/vnd.enphase.envoy":{"source":"iana"},"application/vnd.eprints.data+xml":{"source":"iana","compressible":true},"application/vnd.epson.esf":{"source":"iana","extensions":["esf"]},"application/vnd.epson.msf":{"source":"iana","extensions":["msf"]},"application/vnd.epson.quickanime":{"source":"iana","extensions":["qam"]},"application/vnd.epson.salt":{"source":"iana","extensions":["slt"]},"application/vnd.epson.ssf":{"source":"iana","extensions":["ssf"]},"application/vnd.ericsson.quickcall":{"source":"iana"},"application/vnd.espass-espass+zip":{"source":"iana","compressible":false},"application/vnd.eszigno3+xml":{"source":"iana","compressible":true,"extensions":["es3","et3"]},"application/vnd.etsi.aoc+xml":{"source":"iana","compressible":true},"application/vnd.etsi.asic-e+zip":{"source":"iana","compressible":false},"application/vnd.etsi.asic-s+zip":{"source":"iana","compressible":false},"application/vnd.etsi.cug+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvcommand+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvdiscovery+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvprofile+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-bc+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-cod+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-npvr+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvservice+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsync+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvueprofile+xml":{"source":"iana","compressible":true},"application/vnd.etsi.mcid+xml":{"source":"iana","compressible":true},"application/vnd.etsi.mheg5":{"source":"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{"source":"iana","compressible":true},"application/vnd.etsi.pstn+xml":{"source":"iana","compressible":true},"application/vnd.etsi.sci+xml":{"source":"iana","compressible":true},"application/vnd.etsi.simservs+xml":{"source":"iana","compressible":true},"application/vnd.etsi.timestamp-token":{"source":"iana"},"application/vnd.etsi.tsl+xml":{"source":"iana","compressible":true},"application/vnd.etsi.tsl.der":{"source":"iana"},"application/vnd.eudora.data":{"source":"iana"},"application/vnd.evolv.ecig.profile":{"source":"iana"},"application/vnd.evolv.ecig.settings":{"source":"iana"},"application/vnd.evolv.ecig.theme":{"source":"iana"},"application/vnd.exstream-empower+zip":{"source":"iana","compressible":false},"application/vnd.exstream-package":{"source":"iana"},"application/vnd.ezpix-album":{"source":"iana","extensions":["ez2"]},"application/vnd.ezpix-package":{"source":"iana","extensions":["ez3"]},"application/vnd.f-secure.mobile":{"source":"iana"},"application/vnd.fastcopy-disk-image":{"source":"iana"},"application/vnd.fdf":{"source":"iana","extensions":["fdf"]},"application/vnd.fdsn.mseed":{"source":"iana","extensions":["mseed"]},"application/vnd.fdsn.seed":{"source":"iana","extensions":["seed","dataless"]},"application/vnd.ffsns":{"source":"iana"},"application/vnd.ficlab.flb+zip":{"source":"iana","compressible":false},"application/vnd.filmit.zfc":{"source":"iana"},"application/vnd.fints":{"source":"iana"},"application/vnd.firemonkeys.cloudcell":{"source":"iana"},"application/vnd.flographit":{"source":"iana","extensions":["gph"]},"application/vnd.fluxtime.clip":{"source":"iana","extensions":["ftc"]},"application/vnd.font-fontforge-sfd":{"source":"iana"},"application/vnd.framemaker":{"source":"iana","extensions":["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{"source":"iana","extensions":["fnc"]},"application/vnd.frogans.ltf":{"source":"iana","extensions":["ltf"]},"application/vnd.fsc.weblaunch":{"source":"iana","extensions":["fsc"]},"application/vnd.fujitsu.oasys":{"source":"iana","extensions":["oas"]},"application/vnd.fujitsu.oasys2":{"source":"iana","extensions":["oa2"]},"application/vnd.fujitsu.oasys3":{"source":"iana","extensions":["oa3"]},"application/vnd.fujitsu.oasysgp":{"source":"iana","extensions":["fg5"]},"application/vnd.fujitsu.oasysprs":{"source":"iana","extensions":["bh2"]},"application/vnd.fujixerox.art-ex":{"source":"iana"},"application/vnd.fujixerox.art4":{"source":"iana"},"application/vnd.fujixerox.ddd":{"source":"iana","extensions":["ddd"]},"application/vnd.fujixerox.docuworks":{"source":"iana","extensions":["xdw"]},"application/vnd.fujixerox.docuworks.binder":{"source":"iana","extensions":["xbd"]},"application/vnd.fujixerox.docuworks.container":{"source":"iana"},"application/vnd.fujixerox.hbpl":{"source":"iana"},"application/vnd.fut-misnet":{"source":"iana"},"application/vnd.futoin+cbor":{"source":"iana"},"application/vnd.futoin+json":{"source":"iana","compressible":true},"application/vnd.fuzzysheet":{"source":"iana","extensions":["fzs"]},"application/vnd.genomatix.tuxedo":{"source":"iana","extensions":["txd"]},"application/vnd.gentics.grd+json":{"source":"iana","compressible":true},"application/vnd.geo+json":{"source":"iana","compressible":true},"application/vnd.geocube+xml":{"source":"iana","compressible":true},"application/vnd.geogebra.file":{"source":"iana","extensions":["ggb"]},"application/vnd.geogebra.slides":{"source":"iana"},"application/vnd.geogebra.tool":{"source":"iana","extensions":["ggt"]},"application/vnd.geometry-explorer":{"source":"iana","extensions":["gex","gre"]},"application/vnd.geonext":{"source":"iana","extensions":["gxt"]},"application/vnd.geoplan":{"source":"iana","extensions":["g2w"]},"application/vnd.geospace":{"source":"iana","extensions":["g3w"]},"application/vnd.gerber":{"source":"iana"},"application/vnd.globalplatform.card-content-mgt":{"source":"iana"},"application/vnd.globalplatform.card-content-mgt-response":{"source":"iana"},"application/vnd.gmx":{"source":"iana","extensions":["gmx"]},"application/vnd.google-apps.document":{"compressible":false,"extensions":["gdoc"]},"application/vnd.google-apps.presentation":{"compressible":false,"extensions":["gslides"]},"application/vnd.google-apps.spreadsheet":{"compressible":false,"extensions":["gsheet"]},"application/vnd.google-earth.kml+xml":{"source":"iana","compressible":true,"extensions":["kml"]},"application/vnd.google-earth.kmz":{"source":"iana","compressible":false,"extensions":["kmz"]},"application/vnd.gov.sk.e-form+xml":{"source":"iana","compressible":true},"application/vnd.gov.sk.e-form+zip":{"source":"iana","compressible":false},"application/vnd.gov.sk.xmldatacontainer+xml":{"source":"iana","compressible":true},"application/vnd.grafeq":{"source":"iana","extensions":["gqf","gqs"]},"application/vnd.gridmp":{"source":"iana"},"application/vnd.groove-account":{"source":"iana","extensions":["gac"]},"application/vnd.groove-help":{"source":"iana","extensions":["ghf"]},"application/vnd.groove-identity-message":{"source":"iana","extensions":["gim"]},"application/vnd.groove-injector":{"source":"iana","extensions":["grv"]},"application/vnd.groove-tool-message":{"source":"iana","extensions":["gtm"]},"application/vnd.groove-tool-template":{"source":"iana","extensions":["tpl"]},"application/vnd.groove-vcard":{"source":"iana","extensions":["vcg"]},"application/vnd.hal+json":{"source":"iana","compressible":true},"application/vnd.hal+xml":{"source":"iana","compressible":true,"extensions":["hal"]},"application/vnd.handheld-entertainment+xml":{"source":"iana","compressible":true,"extensions":["zmm"]},"application/vnd.hbci":{"source":"iana","extensions":["hbci"]},"application/vnd.hc+json":{"source":"iana","compressible":true},"application/vnd.hcl-bireports":{"source":"iana"},"application/vnd.hdt":{"source":"iana"},"application/vnd.heroku+json":{"source":"iana","compressible":true},"application/vnd.hhe.lesson-player":{"source":"iana","extensions":["les"]},"application/vnd.hp-hpgl":{"source":"iana","extensions":["hpgl"]},"application/vnd.hp-hpid":{"source":"iana","extensions":["hpid"]},"application/vnd.hp-hps":{"source":"iana","extensions":["hps"]},"application/vnd.hp-jlyt":{"source":"iana","extensions":["jlt"]},"application/vnd.hp-pcl":{"source":"iana","extensions":["pcl"]},"application/vnd.hp-pclxl":{"source":"iana","extensions":["pclxl"]},"application/vnd.httphone":{"source":"iana"},"application/vnd.hydrostatix.sof-data":{"source":"iana","extensions":["sfd-hdstx"]},"application/vnd.hyper+json":{"source":"iana","compressible":true},"application/vnd.hyper-item+json":{"source":"iana","compressible":true},"application/vnd.hyperdrive+json":{"source":"iana","compressible":true},"application/vnd.hzn-3d-crossword":{"source":"iana"},"application/vnd.ibm.afplinedata":{"source":"iana"},"application/vnd.ibm.electronic-media":{"source":"iana"},"application/vnd.ibm.minipay":{"source":"iana","extensions":["mpy"]},"application/vnd.ibm.modcap":{"source":"iana","extensions":["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{"source":"iana","extensions":["irm"]},"application/vnd.ibm.secure-container":{"source":"iana","extensions":["sc"]},"application/vnd.iccprofile":{"source":"iana","extensions":["icc","icm"]},"application/vnd.ieee.1905":{"source":"iana"},"application/vnd.igloader":{"source":"iana","extensions":["igl"]},"application/vnd.imagemeter.folder+zip":{"source":"iana","compressible":false},"application/vnd.imagemeter.image+zip":{"source":"iana","compressible":false},"application/vnd.immervision-ivp":{"source":"iana","extensions":["ivp"]},"application/vnd.immervision-ivu":{"source":"iana","extensions":["ivu"]},"application/vnd.ims.imsccv1p1":{"source":"iana"},"application/vnd.ims.imsccv1p2":{"source":"iana"},"application/vnd.ims.imsccv1p3":{"source":"iana"},"application/vnd.ims.lis.v2.result+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolproxy+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolproxy.id+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolsettings+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolsettings.simple+json":{"source":"iana","compressible":true},"application/vnd.informedcontrol.rms+xml":{"source":"iana","compressible":true},"application/vnd.informix-visionary":{"source":"iana"},"application/vnd.infotech.project":{"source":"iana"},"application/vnd.infotech.project+xml":{"source":"iana","compressible":true},"application/vnd.innopath.wamp.notification":{"source":"iana"},"application/vnd.insors.igm":{"source":"iana","extensions":["igm"]},"application/vnd.intercon.formnet":{"source":"iana","extensions":["xpw","xpx"]},"application/vnd.intergeo":{"source":"iana","extensions":["i2g"]},"application/vnd.intertrust.digibox":{"source":"iana"},"application/vnd.intertrust.nncp":{"source":"iana"},"application/vnd.intu.qbo":{"source":"iana","extensions":["qbo"]},"application/vnd.intu.qfx":{"source":"iana","extensions":["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.conceptitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.knowledgeitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.newsitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.newsmessage+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.packageitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.planningitem+xml":{"source":"iana","compressible":true},"application/vnd.ipunplugged.rcprofile":{"source":"iana","extensions":["rcprofile"]},"application/vnd.irepository.package+xml":{"source":"iana","compressible":true,"extensions":["irp"]},"application/vnd.is-xpr":{"source":"iana","extensions":["xpr"]},"application/vnd.isac.fcs":{"source":"iana","extensions":["fcs"]},"application/vnd.iso11783-10+zip":{"source":"iana","compressible":false},"application/vnd.jam":{"source":"iana","extensions":["jam"]},"application/vnd.japannet-directory-service":{"source":"iana"},"application/vnd.japannet-jpnstore-wakeup":{"source":"iana"},"application/vnd.japannet-payment-wakeup":{"source":"iana"},"application/vnd.japannet-registration":{"source":"iana"},"application/vnd.japannet-registration-wakeup":{"source":"iana"},"application/vnd.japannet-setstore-wakeup":{"source":"iana"},"application/vnd.japannet-verification":{"source":"iana"},"application/vnd.japannet-verification-wakeup":{"source":"iana"},"application/vnd.jcp.javame.midlet-rms":{"source":"iana","extensions":["rms"]},"application/vnd.jisp":{"source":"iana","extensions":["jisp"]},"application/vnd.joost.joda-archive":{"source":"iana","extensions":["joda"]},"application/vnd.jsk.isdn-ngn":{"source":"iana"},"application/vnd.kahootz":{"source":"iana","extensions":["ktz","ktr"]},"application/vnd.kde.karbon":{"source":"iana","extensions":["karbon"]},"application/vnd.kde.kchart":{"source":"iana","extensions":["chrt"]},"application/vnd.kde.kformula":{"source":"iana","extensions":["kfo"]},"application/vnd.kde.kivio":{"source":"iana","extensions":["flw"]},"application/vnd.kde.kontour":{"source":"iana","extensions":["kon"]},"application/vnd.kde.kpresenter":{"source":"iana","extensions":["kpr","kpt"]},"application/vnd.kde.kspread":{"source":"iana","extensions":["ksp"]},"application/vnd.kde.kword":{"source":"iana","extensions":["kwd","kwt"]},"application/vnd.kenameaapp":{"source":"iana","extensions":["htke"]},"application/vnd.kidspiration":{"source":"iana","extensions":["kia"]},"application/vnd.kinar":{"source":"iana","extensions":["kne","knp"]},"application/vnd.koan":{"source":"iana","extensions":["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{"source":"iana","extensions":["sse"]},"application/vnd.las":{"source":"iana"},"application/vnd.las.las+json":{"source":"iana","compressible":true},"application/vnd.las.las+xml":{"source":"iana","compressible":true,"extensions":["lasxml"]},"application/vnd.laszip":{"source":"iana"},"application/vnd.leap+json":{"source":"iana","compressible":true},"application/vnd.liberty-request+xml":{"source":"iana","compressible":true},"application/vnd.llamagraphics.life-balance.desktop":{"source":"iana","extensions":["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{"source":"iana","compressible":true,"extensions":["lbe"]},"application/vnd.logipipe.circuit+zip":{"source":"iana","compressible":false},"application/vnd.loom":{"source":"iana"},"application/vnd.lotus-1-2-3":{"source":"iana","extensions":["123"]},"application/vnd.lotus-approach":{"source":"iana","extensions":["apr"]},"application/vnd.lotus-freelance":{"source":"iana","extensions":["pre"]},"application/vnd.lotus-notes":{"source":"iana","extensions":["nsf"]},"application/vnd.lotus-organizer":{"source":"iana","extensions":["org"]},"application/vnd.lotus-screencam":{"source":"iana","extensions":["scm"]},"application/vnd.lotus-wordpro":{"source":"iana","extensions":["lwp"]},"application/vnd.macports.portpkg":{"source":"iana","extensions":["portpkg"]},"application/vnd.mapbox-vector-tile":{"source":"iana"},"application/vnd.marlin.drm.actiontoken+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.conftoken+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.license+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.mdcf":{"source":"iana"},"application/vnd.mason+json":{"source":"iana","compressible":true},"application/vnd.maxmind.maxmind-db":{"source":"iana"},"application/vnd.mcd":{"source":"iana","extensions":["mcd"]},"application/vnd.medcalcdata":{"source":"iana","extensions":["mc1"]},"application/vnd.mediastation.cdkey":{"source":"iana","extensions":["cdkey"]},"application/vnd.meridian-slingshot":{"source":"iana"},"application/vnd.mfer":{"source":"iana","extensions":["mwf"]},"application/vnd.mfmp":{"source":"iana","extensions":["mfm"]},"application/vnd.micro+json":{"source":"iana","compressible":true},"application/vnd.micrografx.flo":{"source":"iana","extensions":["flo"]},"application/vnd.micrografx.igx":{"source":"iana","extensions":["igx"]},"application/vnd.microsoft.portable-executable":{"source":"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{"source":"iana"},"application/vnd.miele+json":{"source":"iana","compressible":true},"application/vnd.mif":{"source":"iana","extensions":["mif"]},"application/vnd.minisoft-hp3000-save":{"source":"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{"source":"iana"},"application/vnd.mobius.daf":{"source":"iana","extensions":["daf"]},"application/vnd.mobius.dis":{"source":"iana","extensions":["dis"]},"application/vnd.mobius.mbk":{"source":"iana","extensions":["mbk"]},"application/vnd.mobius.mqy":{"source":"iana","extensions":["mqy"]},"application/vnd.mobius.msl":{"source":"iana","extensions":["msl"]},"application/vnd.mobius.plc":{"source":"iana","extensions":["plc"]},"application/vnd.mobius.txf":{"source":"iana","extensions":["txf"]},"application/vnd.mophun.application":{"source":"iana","extensions":["mpn"]},"application/vnd.mophun.certificate":{"source":"iana","extensions":["mpc"]},"application/vnd.motorola.flexsuite":{"source":"iana"},"application/vnd.motorola.flexsuite.adsi":{"source":"iana"},"application/vnd.motorola.flexsuite.fis":{"source":"iana"},"application/vnd.motorola.flexsuite.gotap":{"source":"iana"},"application/vnd.motorola.flexsuite.kmr":{"source":"iana"},"application/vnd.motorola.flexsuite.ttc":{"source":"iana"},"application/vnd.motorola.flexsuite.wem":{"source":"iana"},"application/vnd.motorola.iprm":{"source":"iana"},"application/vnd.mozilla.xul+xml":{"source":"iana","compressible":true,"extensions":["xul"]},"application/vnd.ms-3mfdocument":{"source":"iana"},"application/vnd.ms-artgalry":{"source":"iana","extensions":["cil"]},"application/vnd.ms-asf":{"source":"iana"},"application/vnd.ms-cab-compressed":{"source":"iana","extensions":["cab"]},"application/vnd.ms-color.iccprofile":{"source":"apache"},"application/vnd.ms-excel":{"source":"iana","compressible":false,"extensions":["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{"source":"iana","extensions":["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{"source":"iana","extensions":["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{"source":"iana","extensions":["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{"source":"iana","extensions":["xltm"]},"application/vnd.ms-fontobject":{"source":"iana","compressible":true,"extensions":["eot"]},"application/vnd.ms-htmlhelp":{"source":"iana","extensions":["chm"]},"application/vnd.ms-ims":{"source":"iana","extensions":["ims"]},"application/vnd.ms-lrm":{"source":"iana","extensions":["lrm"]},"application/vnd.ms-office.activex+xml":{"source":"iana","compressible":true},"application/vnd.ms-officetheme":{"source":"iana","extensions":["thmx"]},"application/vnd.ms-opentype":{"source":"apache","compressible":true},"application/vnd.ms-outlook":{"compressible":false,"extensions":["msg"]},"application/vnd.ms-package.obfuscated-opentype":{"source":"apache"},"application/vnd.ms-pki.seccat":{"source":"apache","extensions":["cat"]},"application/vnd.ms-pki.stl":{"source":"apache","extensions":["stl"]},"application/vnd.ms-playready.initiator+xml":{"source":"iana","compressible":true},"application/vnd.ms-powerpoint":{"source":"iana","compressible":false,"extensions":["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{"source":"iana","extensions":["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{"source":"iana","extensions":["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{"source":"iana","extensions":["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{"source":"iana","extensions":["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{"source":"iana","extensions":["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{"source":"iana","compressible":true},"application/vnd.ms-printing.printticket+xml":{"source":"apache","compressible":true},"application/vnd.ms-printschematicket+xml":{"source":"iana","compressible":true},"application/vnd.ms-project":{"source":"iana","extensions":["mpp","mpt"]},"application/vnd.ms-tnef":{"source":"iana"},"application/vnd.ms-windows.devicepairing":{"source":"iana"},"application/vnd.ms-windows.nwprinting.oob":{"source":"iana"},"application/vnd.ms-windows.printerpairing":{"source":"iana"},"application/vnd.ms-windows.wsd.oob":{"source":"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{"source":"iana"},"application/vnd.ms-wmdrm.lic-resp":{"source":"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{"source":"iana"},"application/vnd.ms-wmdrm.meter-resp":{"source":"iana"},"application/vnd.ms-word.document.macroenabled.12":{"source":"iana","extensions":["docm"]},"application/vnd.ms-word.template.macroenabled.12":{"source":"iana","extensions":["dotm"]},"application/vnd.ms-works":{"source":"iana","extensions":["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{"source":"iana","extensions":["wpl"]},"application/vnd.ms-xpsdocument":{"source":"iana","compressible":false,"extensions":["xps"]},"application/vnd.msa-disk-image":{"source":"iana"},"application/vnd.mseq":{"source":"iana","extensions":["mseq"]},"application/vnd.msign":{"source":"iana"},"application/vnd.multiad.creator":{"source":"iana"},"application/vnd.multiad.creator.cif":{"source":"iana"},"application/vnd.music-niff":{"source":"iana"},"application/vnd.musician":{"source":"iana","extensions":["mus"]},"application/vnd.muvee.style":{"source":"iana","extensions":["msty"]},"application/vnd.mynfc":{"source":"iana","extensions":["taglet"]},"application/vnd.ncd.control":{"source":"iana"},"application/vnd.ncd.reference":{"source":"iana"},"application/vnd.nearst.inv+json":{"source":"iana","compressible":true},"application/vnd.nebumind.line":{"source":"iana"},"application/vnd.nervana":{"source":"iana"},"application/vnd.netfpx":{"source":"iana"},"application/vnd.neurolanguage.nlu":{"source":"iana","extensions":["nlu"]},"application/vnd.nimn":{"source":"iana"},"application/vnd.nintendo.nitro.rom":{"source":"iana"},"application/vnd.nintendo.snes.rom":{"source":"iana"},"application/vnd.nitf":{"source":"iana","extensions":["ntf","nitf"]},"application/vnd.noblenet-directory":{"source":"iana","extensions":["nnd"]},"application/vnd.noblenet-sealer":{"source":"iana","extensions":["nns"]},"application/vnd.noblenet-web":{"source":"iana","extensions":["nnw"]},"application/vnd.nokia.catalogs":{"source":"iana"},"application/vnd.nokia.conml+wbxml":{"source":"iana"},"application/vnd.nokia.conml+xml":{"source":"iana","compressible":true},"application/vnd.nokia.iptv.config+xml":{"source":"iana","compressible":true},"application/vnd.nokia.isds-radio-presets":{"source":"iana"},"application/vnd.nokia.landmark+wbxml":{"source":"iana"},"application/vnd.nokia.landmark+xml":{"source":"iana","compressible":true},"application/vnd.nokia.landmarkcollection+xml":{"source":"iana","compressible":true},"application/vnd.nokia.n-gage.ac+xml":{"source":"iana","compressible":true,"extensions":["ac"]},"application/vnd.nokia.n-gage.data":{"source":"iana","extensions":["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{"source":"iana","extensions":["n-gage"]},"application/vnd.nokia.ncd":{"source":"iana"},"application/vnd.nokia.pcd+wbxml":{"source":"iana"},"application/vnd.nokia.pcd+xml":{"source":"iana","compressible":true},"application/vnd.nokia.radio-preset":{"source":"iana","extensions":["rpst"]},"application/vnd.nokia.radio-presets":{"source":"iana","extensions":["rpss"]},"application/vnd.novadigm.edm":{"source":"iana","extensions":["edm"]},"application/vnd.novadigm.edx":{"source":"iana","extensions":["edx"]},"application/vnd.novadigm.ext":{"source":"iana","extensions":["ext"]},"application/vnd.ntt-local.content-share":{"source":"iana"},"application/vnd.ntt-local.file-transfer":{"source":"iana"},"application/vnd.ntt-local.ogw_remote-access":{"source":"iana"},"application/vnd.ntt-local.sip-ta_remote":{"source":"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{"source":"iana"},"application/vnd.oasis.opendocument.chart":{"source":"iana","extensions":["odc"]},"application/vnd.oasis.opendocument.chart-template":{"source":"iana","extensions":["otc"]},"application/vnd.oasis.opendocument.database":{"source":"iana","extensions":["odb"]},"application/vnd.oasis.opendocument.formula":{"source":"iana","extensions":["odf"]},"application/vnd.oasis.opendocument.formula-template":{"source":"iana","extensions":["odft"]},"application/vnd.oasis.opendocument.graphics":{"source":"iana","compressible":false,"extensions":["odg"]},"application/vnd.oasis.opendocument.graphics-template":{"source":"iana","extensions":["otg"]},"application/vnd.oasis.opendocument.image":{"source":"iana","extensions":["odi"]},"application/vnd.oasis.opendocument.image-template":{"source":"iana","extensions":["oti"]},"application/vnd.oasis.opendocument.presentation":{"source":"iana","compressible":false,"extensions":["odp"]},"application/vnd.oasis.opendocument.presentation-template":{"source":"iana","extensions":["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{"source":"iana","compressible":false,"extensions":["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{"source":"iana","extensions":["ots"]},"application/vnd.oasis.opendocument.text":{"source":"iana","compressible":false,"extensions":["odt"]},"application/vnd.oasis.opendocument.text-master":{"source":"iana","extensions":["odm"]},"application/vnd.oasis.opendocument.text-template":{"source":"iana","extensions":["ott"]},"application/vnd.oasis.opendocument.text-web":{"source":"iana","extensions":["oth"]},"application/vnd.obn":{"source":"iana"},"application/vnd.ocf+cbor":{"source":"iana"},"application/vnd.oci.image.manifest.v1+json":{"source":"iana","compressible":true},"application/vnd.oftn.l10n+json":{"source":"iana","compressible":true},"application/vnd.oipf.contentaccessdownload+xml":{"source":"iana","compressible":true},"application/vnd.oipf.contentaccessstreaming+xml":{"source":"iana","compressible":true},"application/vnd.oipf.cspg-hexbinary":{"source":"iana"},"application/vnd.oipf.dae.svg+xml":{"source":"iana","compressible":true},"application/vnd.oipf.dae.xhtml+xml":{"source":"iana","compressible":true},"application/vnd.oipf.mippvcontrolmessage+xml":{"source":"iana","compressible":true},"application/vnd.oipf.pae.gem":{"source":"iana"},"application/vnd.oipf.spdiscovery+xml":{"source":"iana","compressible":true},"application/vnd.oipf.spdlist+xml":{"source":"iana","compressible":true},"application/vnd.oipf.ueprofile+xml":{"source":"iana","compressible":true},"application/vnd.oipf.userprofile+xml":{"source":"iana","compressible":true},"application/vnd.olpc-sugar":{"source":"iana","extensions":["xo"]},"application/vnd.oma-scws-config":{"source":"iana"},"application/vnd.oma-scws-http-request":{"source":"iana"},"application/vnd.oma-scws-http-response":{"source":"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.drm-trigger+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.imd+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.ltkm":{"source":"iana"},"application/vnd.oma.bcast.notification+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.provisioningtrigger":{"source":"iana"},"application/vnd.oma.bcast.sgboot":{"source":"iana"},"application/vnd.oma.bcast.sgdd+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.sgdu":{"source":"iana"},"application/vnd.oma.bcast.simple-symbol-container":{"source":"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.sprov+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.stkm":{"source":"iana"},"application/vnd.oma.cab-address-book+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-feature-handler+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-pcc+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-subs-invite+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-user-prefs+xml":{"source":"iana","compressible":true},"application/vnd.oma.dcd":{"source":"iana"},"application/vnd.oma.dcdc":{"source":"iana"},"application/vnd.oma.dd2+xml":{"source":"iana","compressible":true,"extensions":["dd2"]},"application/vnd.oma.drm.risd+xml":{"source":"iana","compressible":true},"application/vnd.oma.group-usage-list+xml":{"source":"iana","compressible":true},"application/vnd.oma.lwm2m+cbor":{"source":"iana"},"application/vnd.oma.lwm2m+json":{"source":"iana","compressible":true},"application/vnd.oma.lwm2m+tlv":{"source":"iana"},"application/vnd.oma.pal+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.detailed-progress-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.final-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.groups+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.invocation-descriptor+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.optimized-progress-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.push":{"source":"iana"},"application/vnd.oma.scidm.messages+xml":{"source":"iana","compressible":true},"application/vnd.oma.xcap-directory+xml":{"source":"iana","compressible":true},"application/vnd.omads-email+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omads-file+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omads-folder+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omaloc-supl-init":{"source":"iana"},"application/vnd.onepager":{"source":"iana"},"application/vnd.onepagertamp":{"source":"iana"},"application/vnd.onepagertamx":{"source":"iana"},"application/vnd.onepagertat":{"source":"iana"},"application/vnd.onepagertatp":{"source":"iana"},"application/vnd.onepagertatx":{"source":"iana"},"application/vnd.openblox.game+xml":{"source":"iana","compressible":true,"extensions":["obgx"]},"application/vnd.openblox.game-binary":{"source":"iana"},"application/vnd.openeye.oeb":{"source":"iana"},"application/vnd.openofficeorg.extension":{"source":"apache","extensions":["oxt"]},"application/vnd.openstreetmap.data+xml":{"source":"iana","compressible":true,"extensions":["osm"]},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawing+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{"source":"iana","compressible":false,"extensions":["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slide":{"source":"iana","extensions":["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{"source":"iana","extensions":["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.template":{"source":"iana","extensions":["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"source":"iana","compressible":false,"extensions":["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{"source":"iana","extensions":["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.theme+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.vmldrawing":{"source":"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{"source":"iana","compressible":false,"extensions":["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{"source":"iana","extensions":["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.core-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.relationships+xml":{"source":"iana","compressible":true},"application/vnd.oracle.resource+json":{"source":"iana","compressible":true},"application/vnd.orange.indata":{"source":"iana"},"application/vnd.osa.netdeploy":{"source":"iana"},"application/vnd.osgeo.mapguide.package":{"source":"iana","extensions":["mgp"]},"application/vnd.osgi.bundle":{"source":"iana"},"application/vnd.osgi.dp":{"source":"iana","extensions":["dp"]},"application/vnd.osgi.subsystem":{"source":"iana","extensions":["esa"]},"application/vnd.otps.ct-kip+xml":{"source":"iana","compressible":true},"application/vnd.oxli.countgraph":{"source":"iana"},"application/vnd.pagerduty+json":{"source":"iana","compressible":true},"application/vnd.palm":{"source":"iana","extensions":["pdb","pqa","oprc"]},"application/vnd.panoply":{"source":"iana"},"application/vnd.paos.xml":{"source":"iana"},"application/vnd.patentdive":{"source":"iana"},"application/vnd.patientecommsdoc":{"source":"iana"},"application/vnd.pawaafile":{"source":"iana","extensions":["paw"]},"application/vnd.pcos":{"source":"iana"},"application/vnd.pg.format":{"source":"iana","extensions":["str"]},"application/vnd.pg.osasli":{"source":"iana","extensions":["ei6"]},"application/vnd.piaccess.application-licence":{"source":"iana"},"application/vnd.picsel":{"source":"iana","extensions":["efif"]},"application/vnd.pmi.widget":{"source":"iana","extensions":["wg"]},"application/vnd.poc.group-advertisement+xml":{"source":"iana","compressible":true},"application/vnd.pocketlearn":{"source":"iana","extensions":["plf"]},"application/vnd.powerbuilder6":{"source":"iana","extensions":["pbd"]},"application/vnd.powerbuilder6-s":{"source":"iana"},"application/vnd.powerbuilder7":{"source":"iana"},"application/vnd.powerbuilder7-s":{"source":"iana"},"application/vnd.powerbuilder75":{"source":"iana"},"application/vnd.powerbuilder75-s":{"source":"iana"},"application/vnd.preminet":{"source":"iana"},"application/vnd.previewsystems.box":{"source":"iana","extensions":["box"]},"application/vnd.proteus.magazine":{"source":"iana","extensions":["mgz"]},"application/vnd.psfs":{"source":"iana"},"application/vnd.publishare-delta-tree":{"source":"iana","extensions":["qps"]},"application/vnd.pvi.ptid1":{"source":"iana","extensions":["ptid"]},"application/vnd.pwg-multiplexed":{"source":"iana"},"application/vnd.pwg-xhtml-print+xml":{"source":"iana","compressible":true},"application/vnd.qualcomm.brew-app-res":{"source":"iana"},"application/vnd.quarantainenet":{"source":"iana"},"application/vnd.quark.quarkxpress":{"source":"iana","extensions":["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{"source":"iana"},"application/vnd.radisys.moml+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-conf+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-conn+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-dialog+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-stream+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-conf+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-base+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-fax-detect+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-group+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-speech+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-transform+xml":{"source":"iana","compressible":true},"application/vnd.rainstor.data":{"source":"iana"},"application/vnd.rapid":{"source":"iana"},"application/vnd.rar":{"source":"iana","extensions":["rar"]},"application/vnd.realvnc.bed":{"source":"iana","extensions":["bed"]},"application/vnd.recordare.musicxml":{"source":"iana","extensions":["mxl"]},"application/vnd.recordare.musicxml+xml":{"source":"iana","compressible":true,"extensions":["musicxml"]},"application/vnd.renlearn.rlprint":{"source":"iana"},"application/vnd.restful+json":{"source":"iana","compressible":true},"application/vnd.rig.cryptonote":{"source":"iana","extensions":["cryptonote"]},"application/vnd.rim.cod":{"source":"apache","extensions":["cod"]},"application/vnd.rn-realmedia":{"source":"apache","extensions":["rm"]},"application/vnd.rn-realmedia-vbr":{"source":"apache","extensions":["rmvb"]},"application/vnd.route66.link66+xml":{"source":"iana","compressible":true,"extensions":["link66"]},"application/vnd.rs-274x":{"source":"iana"},"application/vnd.ruckus.download":{"source":"iana"},"application/vnd.s3sms":{"source":"iana"},"application/vnd.sailingtracker.track":{"source":"iana","extensions":["st"]},"application/vnd.sar":{"source":"iana"},"application/vnd.sbm.cid":{"source":"iana"},"application/vnd.sbm.mid2":{"source":"iana"},"application/vnd.scribus":{"source":"iana"},"application/vnd.sealed.3df":{"source":"iana"},"application/vnd.sealed.csf":{"source":"iana"},"application/vnd.sealed.doc":{"source":"iana"},"application/vnd.sealed.eml":{"source":"iana"},"application/vnd.sealed.mht":{"source":"iana"},"application/vnd.sealed.net":{"source":"iana"},"application/vnd.sealed.ppt":{"source":"iana"},"application/vnd.sealed.tiff":{"source":"iana"},"application/vnd.sealed.xls":{"source":"iana"},"application/vnd.sealedmedia.softseal.html":{"source":"iana"},"application/vnd.sealedmedia.softseal.pdf":{"source":"iana"},"application/vnd.seemail":{"source":"iana","extensions":["see"]},"application/vnd.seis+json":{"source":"iana","compressible":true},"application/vnd.sema":{"source":"iana","extensions":["sema"]},"application/vnd.semd":{"source":"iana","extensions":["semd"]},"application/vnd.semf":{"source":"iana","extensions":["semf"]},"application/vnd.shade-save-file":{"source":"iana"},"application/vnd.shana.informed.formdata":{"source":"iana","extensions":["ifm"]},"application/vnd.shana.informed.formtemplate":{"source":"iana","extensions":["itp"]},"application/vnd.shana.informed.interchange":{"source":"iana","extensions":["iif"]},"application/vnd.shana.informed.package":{"source":"iana","extensions":["ipk"]},"application/vnd.shootproof+json":{"source":"iana","compressible":true},"application/vnd.shopkick+json":{"source":"iana","compressible":true},"application/vnd.shp":{"source":"iana"},"application/vnd.shx":{"source":"iana"},"application/vnd.sigrok.session":{"source":"iana"},"application/vnd.simtech-mindmapper":{"source":"iana","extensions":["twd","twds"]},"application/vnd.siren+json":{"source":"iana","compressible":true},"application/vnd.smaf":{"source":"iana","extensions":["mmf"]},"application/vnd.smart.notebook":{"source":"iana"},"application/vnd.smart.teacher":{"source":"iana","extensions":["teacher"]},"application/vnd.snesdev-page-table":{"source":"iana"},"application/vnd.software602.filler.form+xml":{"source":"iana","compressible":true,"extensions":["fo"]},"application/vnd.software602.filler.form-xml-zip":{"source":"iana"},"application/vnd.solent.sdkm+xml":{"source":"iana","compressible":true,"extensions":["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{"source":"iana","extensions":["dxp"]},"application/vnd.spotfire.sfs":{"source":"iana","extensions":["sfs"]},"application/vnd.sqlite3":{"source":"iana"},"application/vnd.sss-cod":{"source":"iana"},"application/vnd.sss-dtf":{"source":"iana"},"application/vnd.sss-ntf":{"source":"iana"},"application/vnd.stardivision.calc":{"source":"apache","extensions":["sdc"]},"application/vnd.stardivision.draw":{"source":"apache","extensions":["sda"]},"application/vnd.stardivision.impress":{"source":"apache","extensions":["sdd"]},"application/vnd.stardivision.math":{"source":"apache","extensions":["smf"]},"application/vnd.stardivision.writer":{"source":"apache","extensions":["sdw","vor"]},"application/vnd.stardivision.writer-global":{"source":"apache","extensions":["sgl"]},"application/vnd.stepmania.package":{"source":"iana","extensions":["smzip"]},"application/vnd.stepmania.stepchart":{"source":"iana","extensions":["sm"]},"application/vnd.street-stream":{"source":"iana"},"application/vnd.sun.wadl+xml":{"source":"iana","compressible":true,"extensions":["wadl"]},"application/vnd.sun.xml.calc":{"source":"apache","extensions":["sxc"]},"application/vnd.sun.xml.calc.template":{"source":"apache","extensions":["stc"]},"application/vnd.sun.xml.draw":{"source":"apache","extensions":["sxd"]},"application/vnd.sun.xml.draw.template":{"source":"apache","extensions":["std"]},"application/vnd.sun.xml.impress":{"source":"apache","extensions":["sxi"]},"application/vnd.sun.xml.impress.template":{"source":"apache","extensions":["sti"]},"application/vnd.sun.xml.math":{"source":"apache","extensions":["sxm"]},"application/vnd.sun.xml.writer":{"source":"apache","extensions":["sxw"]},"application/vnd.sun.xml.writer.global":{"source":"apache","extensions":["sxg"]},"application/vnd.sun.xml.writer.template":{"source":"apache","extensions":["stw"]},"application/vnd.sus-calendar":{"source":"iana","extensions":["sus","susp"]},"application/vnd.svd":{"source":"iana","extensions":["svd"]},"application/vnd.swiftview-ics":{"source":"iana"},"application/vnd.sycle+xml":{"source":"iana","compressible":true},"application/vnd.symbian.install":{"source":"apache","extensions":["sis","sisx"]},"application/vnd.syncml+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["xsm"]},"application/vnd.syncml.dm+wbxml":{"source":"iana","charset":"UTF-8","extensions":["bdm"]},"application/vnd.syncml.dm+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["xdm"]},"application/vnd.syncml.dm.notification":{"source":"iana"},"application/vnd.syncml.dmddf+wbxml":{"source":"iana"},"application/vnd.syncml.dmddf+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{"source":"iana"},"application/vnd.syncml.dmtnds+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.syncml.ds.notification":{"source":"iana"},"application/vnd.tableschema+json":{"source":"iana","compressible":true},"application/vnd.tao.intent-module-archive":{"source":"iana","extensions":["tao"]},"application/vnd.tcpdump.pcap":{"source":"iana","extensions":["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{"source":"iana","compressible":true},"application/vnd.tmd.mediaflex.api+xml":{"source":"iana","compressible":true},"application/vnd.tml":{"source":"iana"},"application/vnd.tmobile-livetv":{"source":"iana","extensions":["tmo"]},"application/vnd.tri.onesource":{"source":"iana"},"application/vnd.trid.tpt":{"source":"iana","extensions":["tpt"]},"application/vnd.triscape.mxs":{"source":"iana","extensions":["mxs"]},"application/vnd.trueapp":{"source":"iana","extensions":["tra"]},"application/vnd.truedoc":{"source":"iana"},"application/vnd.ubisoft.webplayer":{"source":"iana"},"application/vnd.ufdl":{"source":"iana","extensions":["ufd","ufdl"]},"application/vnd.uiq.theme":{"source":"iana","extensions":["utz"]},"application/vnd.umajin":{"source":"iana","extensions":["umj"]},"application/vnd.unity":{"source":"iana","extensions":["unityweb"]},"application/vnd.uoml+xml":{"source":"iana","compressible":true,"extensions":["uoml"]},"application/vnd.uplanet.alert":{"source":"iana"},"application/vnd.uplanet.alert-wbxml":{"source":"iana"},"application/vnd.uplanet.bearer-choice":{"source":"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{"source":"iana"},"application/vnd.uplanet.cacheop":{"source":"iana"},"application/vnd.uplanet.cacheop-wbxml":{"source":"iana"},"application/vnd.uplanet.channel":{"source":"iana"},"application/vnd.uplanet.channel-wbxml":{"source":"iana"},"application/vnd.uplanet.list":{"source":"iana"},"application/vnd.uplanet.list-wbxml":{"source":"iana"},"application/vnd.uplanet.listcmd":{"source":"iana"},"application/vnd.uplanet.listcmd-wbxml":{"source":"iana"},"application/vnd.uplanet.signal":{"source":"iana"},"application/vnd.uri-map":{"source":"iana"},"application/vnd.valve.source.material":{"source":"iana"},"application/vnd.vcx":{"source":"iana","extensions":["vcx"]},"application/vnd.vd-study":{"source":"iana"},"application/vnd.vectorworks":{"source":"iana"},"application/vnd.vel+json":{"source":"iana","compressible":true},"application/vnd.verimatrix.vcas":{"source":"iana"},"application/vnd.veryant.thin":{"source":"iana"},"application/vnd.ves.encrypted":{"source":"iana"},"application/vnd.vidsoft.vidconference":{"source":"iana"},"application/vnd.visio":{"source":"iana","extensions":["vsd","vst","vss","vsw"]},"application/vnd.visionary":{"source":"iana","extensions":["vis"]},"application/vnd.vividence.scriptfile":{"source":"iana"},"application/vnd.vsf":{"source":"iana","extensions":["vsf"]},"application/vnd.wap.sic":{"source":"iana"},"application/vnd.wap.slc":{"source":"iana"},"application/vnd.wap.wbxml":{"source":"iana","charset":"UTF-8","extensions":["wbxml"]},"application/vnd.wap.wmlc":{"source":"iana","extensions":["wmlc"]},"application/vnd.wap.wmlscriptc":{"source":"iana","extensions":["wmlsc"]},"application/vnd.webturbo":{"source":"iana","extensions":["wtb"]},"application/vnd.wfa.dpp":{"source":"iana"},"application/vnd.wfa.p2p":{"source":"iana"},"application/vnd.wfa.wsc":{"source":"iana"},"application/vnd.windows.devicepairing":{"source":"iana"},"application/vnd.wmc":{"source":"iana"},"application/vnd.wmf.bootstrap":{"source":"iana"},"application/vnd.wolfram.mathematica":{"source":"iana"},"application/vnd.wolfram.mathematica.package":{"source":"iana"},"application/vnd.wolfram.player":{"source":"iana","extensions":["nbp"]},"application/vnd.wordperfect":{"source":"iana","extensions":["wpd"]},"application/vnd.wqd":{"source":"iana","extensions":["wqd"]},"application/vnd.wrq-hp3000-labelled":{"source":"iana"},"application/vnd.wt.stf":{"source":"iana","extensions":["stf"]},"application/vnd.wv.csp+wbxml":{"source":"iana"},"application/vnd.wv.csp+xml":{"source":"iana","compressible":true},"application/vnd.wv.ssp+xml":{"source":"iana","compressible":true},"application/vnd.xacml+json":{"source":"iana","compressible":true},"application/vnd.xara":{"source":"iana","extensions":["xar"]},"application/vnd.xfdl":{"source":"iana","extensions":["xfdl"]},"application/vnd.xfdl.webform":{"source":"iana"},"application/vnd.xmi+xml":{"source":"iana","compressible":true},"application/vnd.xmpie.cpkg":{"source":"iana"},"application/vnd.xmpie.dpkg":{"source":"iana"},"application/vnd.xmpie.plan":{"source":"iana"},"application/vnd.xmpie.ppkg":{"source":"iana"},"application/vnd.xmpie.xlim":{"source":"iana"},"application/vnd.yamaha.hv-dic":{"source":"iana","extensions":["hvd"]},"application/vnd.yamaha.hv-script":{"source":"iana","extensions":["hvs"]},"application/vnd.yamaha.hv-voice":{"source":"iana","extensions":["hvp"]},"application/vnd.yamaha.openscoreformat":{"source":"iana","extensions":["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{"source":"iana","compressible":true,"extensions":["osfpvg"]},"application/vnd.yamaha.remote-setup":{"source":"iana"},"application/vnd.yamaha.smaf-audio":{"source":"iana","extensions":["saf"]},"application/vnd.yamaha.smaf-phrase":{"source":"iana","extensions":["spf"]},"application/vnd.yamaha.through-ngn":{"source":"iana"},"application/vnd.yamaha.tunnel-udpencap":{"source":"iana"},"application/vnd.yaoweme":{"source":"iana"},"application/vnd.yellowriver-custom-menu":{"source":"iana","extensions":["cmp"]},"application/vnd.youtube.yt":{"source":"iana"},"application/vnd.zul":{"source":"iana","extensions":["zir","zirz"]},"application/vnd.zzazz.deck+xml":{"source":"iana","compressible":true,"extensions":["zaz"]},"application/voicexml+xml":{"source":"iana","compressible":true,"extensions":["vxml"]},"application/voucher-cms+json":{"source":"iana","compressible":true},"application/vq-rtcpxr":{"source":"iana"},"application/wasm":{"compressible":true,"extensions":["wasm"]},"application/watcherinfo+xml":{"source":"iana","compressible":true},"application/webpush-options+json":{"source":"iana","compressible":true},"application/whoispp-query":{"source":"iana"},"application/whoispp-response":{"source":"iana"},"application/widget":{"source":"iana","extensions":["wgt"]},"application/winhlp":{"source":"apache","extensions":["hlp"]},"application/wita":{"source":"iana"},"application/wordperfect5.1":{"source":"iana"},"application/wsdl+xml":{"source":"iana","compressible":true,"extensions":["wsdl"]},"application/wspolicy+xml":{"source":"iana","compressible":true,"extensions":["wspolicy"]},"application/x-7z-compressed":{"source":"apache","compressible":false,"extensions":["7z"]},"application/x-abiword":{"source":"apache","extensions":["abw"]},"application/x-ace-compressed":{"source":"apache","extensions":["ace"]},"application/x-amf":{"source":"apache"},"application/x-apple-diskimage":{"source":"apache","extensions":["dmg"]},"application/x-arj":{"compressible":false,"extensions":["arj"]},"application/x-authorware-bin":{"source":"apache","extensions":["aab","x32","u32","vox"]},"application/x-authorware-map":{"source":"apache","extensions":["aam"]},"application/x-authorware-seg":{"source":"apache","extensions":["aas"]},"application/x-bcpio":{"source":"apache","extensions":["bcpio"]},"application/x-bdoc":{"compressible":false,"extensions":["bdoc"]},"application/x-bittorrent":{"source":"apache","extensions":["torrent"]},"application/x-blorb":{"source":"apache","extensions":["blb","blorb"]},"application/x-bzip":{"source":"apache","compressible":false,"extensions":["bz"]},"application/x-bzip2":{"source":"apache","compressible":false,"extensions":["bz2","boz"]},"application/x-cbr":{"source":"apache","extensions":["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{"source":"apache","extensions":["vcd"]},"application/x-cfs-compressed":{"source":"apache","extensions":["cfs"]},"application/x-chat":{"source":"apache","extensions":["chat"]},"application/x-chess-pgn":{"source":"apache","extensions":["pgn"]},"application/x-chrome-extension":{"extensions":["crx"]},"application/x-cocoa":{"source":"nginx","extensions":["cco"]},"application/x-compress":{"source":"apache"},"application/x-conference":{"source":"apache","extensions":["nsc"]},"application/x-cpio":{"source":"apache","extensions":["cpio"]},"application/x-csh":{"source":"apache","extensions":["csh"]},"application/x-deb":{"compressible":false},"application/x-debian-package":{"source":"apache","extensions":["deb","udeb"]},"application/x-dgc-compressed":{"source":"apache","extensions":["dgc"]},"application/x-director":{"source":"apache","extensions":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{"source":"apache","extensions":["wad"]},"application/x-dtbncx+xml":{"source":"apache","compressible":true,"extensions":["ncx"]},"application/x-dtbook+xml":{"source":"apache","compressible":true,"extensions":["dtb"]},"application/x-dtbresource+xml":{"source":"apache","compressible":true,"extensions":["res"]},"application/x-dvi":{"source":"apache","compressible":false,"extensions":["dvi"]},"application/x-envoy":{"source":"apache","extensions":["evy"]},"application/x-eva":{"source":"apache","extensions":["eva"]},"application/x-font-bdf":{"source":"apache","extensions":["bdf"]},"application/x-font-dos":{"source":"apache"},"application/x-font-framemaker":{"source":"apache"},"application/x-font-ghostscript":{"source":"apache","extensions":["gsf"]},"application/x-font-libgrx":{"source":"apache"},"application/x-font-linux-psf":{"source":"apache","extensions":["psf"]},"application/x-font-pcf":{"source":"apache","extensions":["pcf"]},"application/x-font-snf":{"source":"apache","extensions":["snf"]},"application/x-font-speedo":{"source":"apache"},"application/x-font-sunos-news":{"source":"apache"},"application/x-font-type1":{"source":"apache","extensions":["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{"source":"apache"},"application/x-freearc":{"source":"apache","extensions":["arc"]},"application/x-futuresplash":{"source":"apache","extensions":["spl"]},"application/x-gca-compressed":{"source":"apache","extensions":["gca"]},"application/x-glulx":{"source":"apache","extensions":["ulx"]},"application/x-gnumeric":{"source":"apache","extensions":["gnumeric"]},"application/x-gramps-xml":{"source":"apache","extensions":["gramps"]},"application/x-gtar":{"source":"apache","extensions":["gtar"]},"application/x-gzip":{"source":"apache"},"application/x-hdf":{"source":"apache","extensions":["hdf"]},"application/x-httpd-php":{"compressible":true,"extensions":["php"]},"application/x-install-instructions":{"source":"apache","extensions":["install"]},"application/x-iso9660-image":{"source":"apache","extensions":["iso"]},"application/x-java-archive-diff":{"source":"nginx","extensions":["jardiff"]},"application/x-java-jnlp-file":{"source":"apache","compressible":false,"extensions":["jnlp"]},"application/x-javascript":{"compressible":true},"application/x-keepass2":{"extensions":["kdbx"]},"application/x-latex":{"source":"apache","compressible":false,"extensions":["latex"]},"application/x-lua-bytecode":{"extensions":["luac"]},"application/x-lzh-compressed":{"source":"apache","extensions":["lzh","lha"]},"application/x-makeself":{"source":"nginx","extensions":["run"]},"application/x-mie":{"source":"apache","extensions":["mie"]},"application/x-mobipocket-ebook":{"source":"apache","extensions":["prc","mobi"]},"application/x-mpegurl":{"compressible":false},"application/x-ms-application":{"source":"apache","extensions":["application"]},"application/x-ms-shortcut":{"source":"apache","extensions":["lnk"]},"application/x-ms-wmd":{"source":"apache","extensions":["wmd"]},"application/x-ms-wmz":{"source":"apache","extensions":["wmz"]},"application/x-ms-xbap":{"source":"apache","extensions":["xbap"]},"application/x-msaccess":{"source":"apache","extensions":["mdb"]},"application/x-msbinder":{"source":"apache","extensions":["obd"]},"application/x-mscardfile":{"source":"apache","extensions":["crd"]},"application/x-msclip":{"source":"apache","extensions":["clp"]},"application/x-msdos-program":{"extensions":["exe"]},"application/x-msdownload":{"source":"apache","extensions":["exe","dll","com","bat","msi"]},"application/x-msmediaview":{"source":"apache","extensions":["mvb","m13","m14"]},"application/x-msmetafile":{"source":"apache","extensions":["wmf","wmz","emf","emz"]},"application/x-msmoney":{"source":"apache","extensions":["mny"]},"application/x-mspublisher":{"source":"apache","extensions":["pub"]},"application/x-msschedule":{"source":"apache","extensions":["scd"]},"application/x-msterminal":{"source":"apache","extensions":["trm"]},"application/x-mswrite":{"source":"apache","extensions":["wri"]},"application/x-netcdf":{"source":"apache","extensions":["nc","cdf"]},"application/x-ns-proxy-autoconfig":{"compressible":true,"extensions":["pac"]},"application/x-nzb":{"source":"apache","extensions":["nzb"]},"application/x-perl":{"source":"nginx","extensions":["pl","pm"]},"application/x-pilot":{"source":"nginx","extensions":["prc","pdb"]},"application/x-pkcs12":{"source":"apache","compressible":false,"extensions":["p12","pfx"]},"application/x-pkcs7-certificates":{"source":"apache","extensions":["p7b","spc"]},"application/x-pkcs7-certreqresp":{"source":"apache","extensions":["p7r"]},"application/x-pki-message":{"source":"iana"},"application/x-rar-compressed":{"source":"apache","compressible":false,"extensions":["rar"]},"application/x-redhat-package-manager":{"source":"nginx","extensions":["rpm"]},"application/x-research-info-systems":{"source":"apache","extensions":["ris"]},"application/x-sea":{"source":"nginx","extensions":["sea"]},"application/x-sh":{"source":"apache","compressible":true,"extensions":["sh"]},"application/x-shar":{"source":"apache","extensions":["shar"]},"application/x-shockwave-flash":{"source":"apache","compressible":false,"extensions":["swf"]},"application/x-silverlight-app":{"source":"apache","extensions":["xap"]},"application/x-sql":{"source":"apache","extensions":["sql"]},"application/x-stuffit":{"source":"apache","compressible":false,"extensions":["sit"]},"application/x-stuffitx":{"source":"apache","extensions":["sitx"]},"application/x-subrip":{"source":"apache","extensions":["srt"]},"application/x-sv4cpio":{"source":"apache","extensions":["sv4cpio"]},"application/x-sv4crc":{"source":"apache","extensions":["sv4crc"]},"application/x-t3vm-image":{"source":"apache","extensions":["t3"]},"application/x-tads":{"source":"apache","extensions":["gam"]},"application/x-tar":{"source":"apache","compressible":true,"extensions":["tar"]},"application/x-tcl":{"source":"apache","extensions":["tcl","tk"]},"application/x-tex":{"source":"apache","extensions":["tex"]},"application/x-tex-tfm":{"source":"apache","extensions":["tfm"]},"application/x-texinfo":{"source":"apache","extensions":["texinfo","texi"]},"application/x-tgif":{"source":"apache","extensions":["obj"]},"application/x-ustar":{"source":"apache","extensions":["ustar"]},"application/x-virtualbox-hdd":{"compressible":true,"extensions":["hdd"]},"application/x-virtualbox-ova":{"compressible":true,"extensions":["ova"]},"application/x-virtualbox-ovf":{"compressible":true,"extensions":["ovf"]},"application/x-virtualbox-vbox":{"compressible":true,"extensions":["vbox"]},"application/x-virtualbox-vbox-extpack":{"compressible":false,"extensions":["vbox-extpack"]},"application/x-virtualbox-vdi":{"compressible":true,"extensions":["vdi"]},"application/x-virtualbox-vhd":{"compressible":true,"extensions":["vhd"]},"application/x-virtualbox-vmdk":{"compressible":true,"extensions":["vmdk"]},"application/x-wais-source":{"source":"apache","extensions":["src"]},"application/x-web-app-manifest+json":{"compressible":true,"extensions":["webapp"]},"application/x-www-form-urlencoded":{"source":"iana","compressible":true},"application/x-x509-ca-cert":{"source":"iana","extensions":["der","crt","pem"]},"application/x-x509-ca-ra-cert":{"source":"iana"},"application/x-x509-next-ca-cert":{"source":"iana"},"application/x-xfig":{"source":"apache","extensions":["fig"]},"application/x-xliff+xml":{"source":"apache","compressible":true,"extensions":["xlf"]},"application/x-xpinstall":{"source":"apache","compressible":false,"extensions":["xpi"]},"application/x-xz":{"source":"apache","extensions":["xz"]},"application/x-zmachine":{"source":"apache","extensions":["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{"source":"iana"},"application/xacml+xml":{"source":"iana","compressible":true},"application/xaml+xml":{"source":"apache","compressible":true,"extensions":["xaml"]},"application/xcap-att+xml":{"source":"iana","compressible":true,"extensions":["xav"]},"application/xcap-caps+xml":{"source":"iana","compressible":true,"extensions":["xca"]},"application/xcap-diff+xml":{"source":"iana","compressible":true,"extensions":["xdf"]},"application/xcap-el+xml":{"source":"iana","compressible":true,"extensions":["xel"]},"application/xcap-error+xml":{"source":"iana","compressible":true},"application/xcap-ns+xml":{"source":"iana","compressible":true,"extensions":["xns"]},"application/xcon-conference-info+xml":{"source":"iana","compressible":true},"application/xcon-conference-info-diff+xml":{"source":"iana","compressible":true},"application/xenc+xml":{"source":"iana","compressible":true,"extensions":["xenc"]},"application/xhtml+xml":{"source":"iana","compressible":true,"extensions":["xhtml","xht"]},"application/xhtml-voice+xml":{"source":"apache","compressible":true},"application/xliff+xml":{"source":"iana","compressible":true,"extensions":["xlf"]},"application/xml":{"source":"iana","compressible":true,"extensions":["xml","xsl","xsd","rng"]},"application/xml-dtd":{"source":"iana","compressible":true,"extensions":["dtd"]},"application/xml-external-parsed-entity":{"source":"iana"},"application/xml-patch+xml":{"source":"iana","compressible":true},"application/xmpp+xml":{"source":"iana","compressible":true},"application/xop+xml":{"source":"iana","compressible":true,"extensions":["xop"]},"application/xproc+xml":{"source":"apache","compressible":true,"extensions":["xpl"]},"application/xslt+xml":{"source":"iana","compressible":true,"extensions":["xsl","xslt"]},"application/xspf+xml":{"source":"apache","compressible":true,"extensions":["xspf"]},"application/xv+xml":{"source":"iana","compressible":true,"extensions":["mxml","xhvml","xvml","xvm"]},"application/yang":{"source":"iana","extensions":["yang"]},"application/yang-data+json":{"source":"iana","compressible":true},"application/yang-data+xml":{"source":"iana","compressible":true},"application/yang-patch+json":{"source":"iana","compressible":true},"application/yang-patch+xml":{"source":"iana","compressible":true},"application/yin+xml":{"source":"iana","compressible":true,"extensions":["yin"]},"application/zip":{"source":"iana","compressible":false,"extensions":["zip"]},"application/zlib":{"source":"iana"},"application/zstd":{"source":"iana"},"audio/1d-interleaved-parityfec":{"source":"iana"},"audio/32kadpcm":{"source":"iana"},"audio/3gpp":{"source":"iana","compressible":false,"extensions":["3gpp"]},"audio/3gpp2":{"source":"iana"},"audio/aac":{"source":"iana"},"audio/ac3":{"source":"iana"},"audio/adpcm":{"source":"apache","extensions":["adp"]},"audio/amr":{"source":"iana","extensions":["amr"]},"audio/amr-wb":{"source":"iana"},"audio/amr-wb+":{"source":"iana"},"audio/aptx":{"source":"iana"},"audio/asc":{"source":"iana"},"audio/atrac-advanced-lossless":{"source":"iana"},"audio/atrac-x":{"source":"iana"},"audio/atrac3":{"source":"iana"},"audio/basic":{"source":"iana","compressible":false,"extensions":["au","snd"]},"audio/bv16":{"source":"iana"},"audio/bv32":{"source":"iana"},"audio/clearmode":{"source":"iana"},"audio/cn":{"source":"iana"},"audio/dat12":{"source":"iana"},"audio/dls":{"source":"iana"},"audio/dsr-es201108":{"source":"iana"},"audio/dsr-es202050":{"source":"iana"},"audio/dsr-es202211":{"source":"iana"},"audio/dsr-es202212":{"source":"iana"},"audio/dv":{"source":"iana"},"audio/dvi4":{"source":"iana"},"audio/eac3":{"source":"iana"},"audio/encaprtp":{"source":"iana"},"audio/evrc":{"source":"iana"},"audio/evrc-qcp":{"source":"iana"},"audio/evrc0":{"source":"iana"},"audio/evrc1":{"source":"iana"},"audio/evrcb":{"source":"iana"},"audio/evrcb0":{"source":"iana"},"audio/evrcb1":{"source":"iana"},"audio/evrcnw":{"source":"iana"},"audio/evrcnw0":{"source":"iana"},"audio/evrcnw1":{"source":"iana"},"audio/evrcwb":{"source":"iana"},"audio/evrcwb0":{"source":"iana"},"audio/evrcwb1":{"source":"iana"},"audio/evs":{"source":"iana"},"audio/flexfec":{"source":"iana"},"audio/fwdred":{"source":"iana"},"audio/g711-0":{"source":"iana"},"audio/g719":{"source":"iana"},"audio/g722":{"source":"iana"},"audio/g7221":{"source":"iana"},"audio/g723":{"source":"iana"},"audio/g726-16":{"source":"iana"},"audio/g726-24":{"source":"iana"},"audio/g726-32":{"source":"iana"},"audio/g726-40":{"source":"iana"},"audio/g728":{"source":"iana"},"audio/g729":{"source":"iana"},"audio/g7291":{"source":"iana"},"audio/g729d":{"source":"iana"},"audio/g729e":{"source":"iana"},"audio/gsm":{"source":"iana"},"audio/gsm-efr":{"source":"iana"},"audio/gsm-hr-08":{"source":"iana"},"audio/ilbc":{"source":"iana"},"audio/ip-mr_v2.5":{"source":"iana"},"audio/isac":{"source":"apache"},"audio/l16":{"source":"iana"},"audio/l20":{"source":"iana"},"audio/l24":{"source":"iana","compressible":false},"audio/l8":{"source":"iana"},"audio/lpc":{"source":"iana"},"audio/melp":{"source":"iana"},"audio/melp1200":{"source":"iana"},"audio/melp2400":{"source":"iana"},"audio/melp600":{"source":"iana"},"audio/mhas":{"source":"iana"},"audio/midi":{"source":"apache","extensions":["mid","midi","kar","rmi"]},"audio/mobile-xmf":{"source":"iana","extensions":["mxmf"]},"audio/mp3":{"compressible":false,"extensions":["mp3"]},"audio/mp4":{"source":"iana","compressible":false,"extensions":["m4a","mp4a"]},"audio/mp4a-latm":{"source":"iana"},"audio/mpa":{"source":"iana"},"audio/mpa-robust":{"source":"iana"},"audio/mpeg":{"source":"iana","compressible":false,"extensions":["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{"source":"iana"},"audio/musepack":{"source":"apache"},"audio/ogg":{"source":"iana","compressible":false,"extensions":["oga","ogg","spx","opus"]},"audio/opus":{"source":"iana"},"audio/parityfec":{"source":"iana"},"audio/pcma":{"source":"iana"},"audio/pcma-wb":{"source":"iana"},"audio/pcmu":{"source":"iana"},"audio/pcmu-wb":{"source":"iana"},"audio/prs.sid":{"source":"iana"},"audio/qcelp":{"source":"iana"},"audio/raptorfec":{"source":"iana"},"audio/red":{"source":"iana"},"audio/rtp-enc-aescm128":{"source":"iana"},"audio/rtp-midi":{"source":"iana"},"audio/rtploopback":{"source":"iana"},"audio/rtx":{"source":"iana"},"audio/s3m":{"source":"apache","extensions":["s3m"]},"audio/scip":{"source":"iana"},"audio/silk":{"source":"apache","extensions":["sil"]},"audio/smv":{"source":"iana"},"audio/smv-qcp":{"source":"iana"},"audio/smv0":{"source":"iana"},"audio/sofa":{"source":"iana"},"audio/sp-midi":{"source":"iana"},"audio/speex":{"source":"iana"},"audio/t140c":{"source":"iana"},"audio/t38":{"source":"iana"},"audio/telephone-event":{"source":"iana"},"audio/tetra_acelp":{"source":"iana"},"audio/tetra_acelp_bb":{"source":"iana"},"audio/tone":{"source":"iana"},"audio/tsvcis":{"source":"iana"},"audio/uemclip":{"source":"iana"},"audio/ulpfec":{"source":"iana"},"audio/usac":{"source":"iana"},"audio/vdvi":{"source":"iana"},"audio/vmr-wb":{"source":"iana"},"audio/vnd.3gpp.iufp":{"source":"iana"},"audio/vnd.4sb":{"source":"iana"},"audio/vnd.audiokoz":{"source":"iana"},"audio/vnd.celp":{"source":"iana"},"audio/vnd.cisco.nse":{"source":"iana"},"audio/vnd.cmles.radio-events":{"source":"iana"},"audio/vnd.cns.anp1":{"source":"iana"},"audio/vnd.cns.inf1":{"source":"iana"},"audio/vnd.dece.audio":{"source":"iana","extensions":["uva","uvva"]},"audio/vnd.digital-winds":{"source":"iana","extensions":["eol"]},"audio/vnd.dlna.adts":{"source":"iana"},"audio/vnd.dolby.heaac.1":{"source":"iana"},"audio/vnd.dolby.heaac.2":{"source":"iana"},"audio/vnd.dolby.mlp":{"source":"iana"},"audio/vnd.dolby.mps":{"source":"iana"},"audio/vnd.dolby.pl2":{"source":"iana"},"audio/vnd.dolby.pl2x":{"source":"iana"},"audio/vnd.dolby.pl2z":{"source":"iana"},"audio/vnd.dolby.pulse.1":{"source":"iana"},"audio/vnd.dra":{"source":"iana","extensions":["dra"]},"audio/vnd.dts":{"source":"iana","extensions":["dts"]},"audio/vnd.dts.hd":{"source":"iana","extensions":["dtshd"]},"audio/vnd.dts.uhd":{"source":"iana"},"audio/vnd.dvb.file":{"source":"iana"},"audio/vnd.everad.plj":{"source":"iana"},"audio/vnd.hns.audio":{"source":"iana"},"audio/vnd.lucent.voice":{"source":"iana","extensions":["lvp"]},"audio/vnd.ms-playready.media.pya":{"source":"iana","extensions":["pya"]},"audio/vnd.nokia.mobile-xmf":{"source":"iana"},"audio/vnd.nortel.vbk":{"source":"iana"},"audio/vnd.nuera.ecelp4800":{"source":"iana","extensions":["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{"source":"iana","extensions":["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{"source":"iana","extensions":["ecelp9600"]},"audio/vnd.octel.sbc":{"source":"iana"},"audio/vnd.presonus.multitrack":{"source":"iana"},"audio/vnd.qcelp":{"source":"iana"},"audio/vnd.rhetorex.32kadpcm":{"source":"iana"},"audio/vnd.rip":{"source":"iana","extensions":["rip"]},"audio/vnd.rn-realaudio":{"compressible":false},"audio/vnd.sealedmedia.softseal.mpeg":{"source":"iana"},"audio/vnd.vmx.cvsd":{"source":"iana"},"audio/vnd.wave":{"compressible":false},"audio/vorbis":{"source":"iana","compressible":false},"audio/vorbis-config":{"source":"iana"},"audio/wav":{"compressible":false,"extensions":["wav"]},"audio/wave":{"compressible":false,"extensions":["wav"]},"audio/webm":{"source":"apache","compressible":false,"extensions":["weba"]},"audio/x-aac":{"source":"apache","compressible":false,"extensions":["aac"]},"audio/x-aiff":{"source":"apache","extensions":["aif","aiff","aifc"]},"audio/x-caf":{"source":"apache","compressible":false,"extensions":["caf"]},"audio/x-flac":{"source":"apache","extensions":["flac"]},"audio/x-m4a":{"source":"nginx","extensions":["m4a"]},"audio/x-matroska":{"source":"apache","extensions":["mka"]},"audio/x-mpegurl":{"source":"apache","extensions":["m3u"]},"audio/x-ms-wax":{"source":"apache","extensions":["wax"]},"audio/x-ms-wma":{"source":"apache","extensions":["wma"]},"audio/x-pn-realaudio":{"source":"apache","extensions":["ram","ra"]},"audio/x-pn-realaudio-plugin":{"source":"apache","extensions":["rmp"]},"audio/x-realaudio":{"source":"nginx","extensions":["ra"]},"audio/x-tta":{"source":"apache"},"audio/x-wav":{"source":"apache","extensions":["wav"]},"audio/xm":{"source":"apache","extensions":["xm"]},"chemical/x-cdx":{"source":"apache","extensions":["cdx"]},"chemical/x-cif":{"source":"apache","extensions":["cif"]},"chemical/x-cmdf":{"source":"apache","extensions":["cmdf"]},"chemical/x-cml":{"source":"apache","extensions":["cml"]},"chemical/x-csml":{"source":"apache","extensions":["csml"]},"chemical/x-pdb":{"source":"apache"},"chemical/x-xyz":{"source":"apache","extensions":["xyz"]},"font/collection":{"source":"iana","extensions":["ttc"]},"font/otf":{"source":"iana","compressible":true,"extensions":["otf"]},"font/sfnt":{"source":"iana"},"font/ttf":{"source":"iana","compressible":true,"extensions":["ttf"]},"font/woff":{"source":"iana","extensions":["woff"]},"font/woff2":{"source":"iana","extensions":["woff2"]},"image/aces":{"source":"iana","extensions":["exr"]},"image/apng":{"compressible":false,"extensions":["apng"]},"image/avci":{"source":"iana"},"image/avcs":{"source":"iana"},"image/avif":{"source":"iana","compressible":false,"extensions":["avif"]},"image/bmp":{"source":"iana","compressible":true,"extensions":["bmp"]},"image/cgm":{"source":"iana","extensions":["cgm"]},"image/dicom-rle":{"source":"iana","extensions":["drle"]},"image/emf":{"source":"iana","extensions":["emf"]},"image/fits":{"source":"iana","extensions":["fits"]},"image/g3fax":{"source":"iana","extensions":["g3"]},"image/gif":{"source":"iana","compressible":false,"extensions":["gif"]},"image/heic":{"source":"iana","extensions":["heic"]},"image/heic-sequence":{"source":"iana","extensions":["heics"]},"image/heif":{"source":"iana","extensions":["heif"]},"image/heif-sequence":{"source":"iana","extensions":["heifs"]},"image/hej2k":{"source":"iana","extensions":["hej2"]},"image/hsj2":{"source":"iana","extensions":["hsj2"]},"image/ief":{"source":"iana","extensions":["ief"]},"image/jls":{"source":"iana","extensions":["jls"]},"image/jp2":{"source":"iana","compressible":false,"extensions":["jp2","jpg2"]},"image/jpeg":{"source":"iana","compressible":false,"extensions":["jpeg","jpg","jpe"]},"image/jph":{"source":"iana","extensions":["jph"]},"image/jphc":{"source":"iana","extensions":["jhc"]},"image/jpm":{"source":"iana","compressible":false,"extensions":["jpm"]},"image/jpx":{"source":"iana","compressible":false,"extensions":["jpx","jpf"]},"image/jxr":{"source":"iana","extensions":["jxr"]},"image/jxra":{"source":"iana","extensions":["jxra"]},"image/jxrs":{"source":"iana","extensions":["jxrs"]},"image/jxs":{"source":"iana","extensions":["jxs"]},"image/jxsc":{"source":"iana","extensions":["jxsc"]},"image/jxsi":{"source":"iana","extensions":["jxsi"]},"image/jxss":{"source":"iana","extensions":["jxss"]},"image/ktx":{"source":"iana","extensions":["ktx"]},"image/ktx2":{"source":"iana","extensions":["ktx2"]},"image/naplps":{"source":"iana"},"image/pjpeg":{"compressible":false},"image/png":{"source":"iana","compressible":false,"extensions":["png"]},"image/prs.btif":{"source":"iana","extensions":["btif"]},"image/prs.pti":{"source":"iana","extensions":["pti"]},"image/pwg-raster":{"source":"iana"},"image/sgi":{"source":"apache","extensions":["sgi"]},"image/svg+xml":{"source":"iana","compressible":true,"extensions":["svg","svgz"]},"image/t38":{"source":"iana","extensions":["t38"]},"image/tiff":{"source":"iana","compressible":false,"extensions":["tif","tiff"]},"image/tiff-fx":{"source":"iana","extensions":["tfx"]},"image/vnd.adobe.photoshop":{"source":"iana","compressible":true,"extensions":["psd"]},"image/vnd.airzip.accelerator.azv":{"source":"iana","extensions":["azv"]},"image/vnd.cns.inf2":{"source":"iana"},"image/vnd.dece.graphic":{"source":"iana","extensions":["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{"source":"iana","extensions":["djvu","djv"]},"image/vnd.dvb.subtitle":{"source":"iana","extensions":["sub"]},"image/vnd.dwg":{"source":"iana","extensions":["dwg"]},"image/vnd.dxf":{"source":"iana","extensions":["dxf"]},"image/vnd.fastbidsheet":{"source":"iana","extensions":["fbs"]},"image/vnd.fpx":{"source":"iana","extensions":["fpx"]},"image/vnd.fst":{"source":"iana","extensions":["fst"]},"image/vnd.fujixerox.edmics-mmr":{"source":"iana","extensions":["mmr"]},"image/vnd.fujixerox.edmics-rlc":{"source":"iana","extensions":["rlc"]},"image/vnd.globalgraphics.pgb":{"source":"iana"},"image/vnd.microsoft.icon":{"source":"iana","extensions":["ico"]},"image/vnd.mix":{"source":"iana"},"image/vnd.mozilla.apng":{"source":"iana"},"image/vnd.ms-dds":{"extensions":["dds"]},"image/vnd.ms-modi":{"source":"iana","extensions":["mdi"]},"image/vnd.ms-photo":{"source":"apache","extensions":["wdp"]},"image/vnd.net-fpx":{"source":"iana","extensions":["npx"]},"image/vnd.pco.b16":{"source":"iana","extensions":["b16"]},"image/vnd.radiance":{"source":"iana"},"image/vnd.sealed.png":{"source":"iana"},"image/vnd.sealedmedia.softseal.gif":{"source":"iana"},"image/vnd.sealedmedia.softseal.jpg":{"source":"iana"},"image/vnd.svf":{"source":"iana"},"image/vnd.tencent.tap":{"source":"iana","extensions":["tap"]},"image/vnd.valve.source.texture":{"source":"iana","extensions":["vtf"]},"image/vnd.wap.wbmp":{"source":"iana","extensions":["wbmp"]},"image/vnd.xiff":{"source":"iana","extensions":["xif"]},"image/vnd.zbrush.pcx":{"source":"iana","extensions":["pcx"]},"image/webp":{"source":"apache","extensions":["webp"]},"image/wmf":{"source":"iana","extensions":["wmf"]},"image/x-3ds":{"source":"apache","extensions":["3ds"]},"image/x-cmu-raster":{"source":"apache","extensions":["ras"]},"image/x-cmx":{"source":"apache","extensions":["cmx"]},"image/x-freehand":{"source":"apache","extensions":["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{"source":"apache","compressible":true,"extensions":["ico"]},"image/x-jng":{"source":"nginx","extensions":["jng"]},"image/x-mrsid-image":{"source":"apache","extensions":["sid"]},"image/x-ms-bmp":{"source":"nginx","compressible":true,"extensions":["bmp"]},"image/x-pcx":{"source":"apache","extensions":["pcx"]},"image/x-pict":{"source":"apache","extensions":["pic","pct"]},"image/x-portable-anymap":{"source":"apache","extensions":["pnm"]},"image/x-portable-bitmap":{"source":"apache","extensions":["pbm"]},"image/x-portable-graymap":{"source":"apache","extensions":["pgm"]},"image/x-portable-pixmap":{"source":"apache","extensions":["ppm"]},"image/x-rgb":{"source":"apache","extensions":["rgb"]},"image/x-tga":{"source":"apache","extensions":["tga"]},"image/x-xbitmap":{"source":"apache","extensions":["xbm"]},"image/x-xcf":{"compressible":false},"image/x-xpixmap":{"source":"apache","extensions":["xpm"]},"image/x-xwindowdump":{"source":"apache","extensions":["xwd"]},"message/cpim":{"source":"iana"},"message/delivery-status":{"source":"iana"},"message/disposition-notification":{"source":"iana","extensions":["disposition-notification"]},"message/external-body":{"source":"iana"},"message/feedback-report":{"source":"iana"},"message/global":{"source":"iana","extensions":["u8msg"]},"message/global-delivery-status":{"source":"iana","extensions":["u8dsn"]},"message/global-disposition-notification":{"source":"iana","extensions":["u8mdn"]},"message/global-headers":{"source":"iana","extensions":["u8hdr"]},"message/http":{"source":"iana","compressible":false},"message/imdn+xml":{"source":"iana","compressible":true},"message/news":{"source":"iana"},"message/partial":{"source":"iana","compressible":false},"message/rfc822":{"source":"iana","compressible":true,"extensions":["eml","mime"]},"message/s-http":{"source":"iana"},"message/sip":{"source":"iana"},"message/sipfrag":{"source":"iana"},"message/tracking-status":{"source":"iana"},"message/vnd.si.simp":{"source":"iana"},"message/vnd.wfa.wsc":{"source":"iana","extensions":["wsc"]},"model/3mf":{"source":"iana","extensions":["3mf"]},"model/e57":{"source":"iana"},"model/gltf+json":{"source":"iana","compressible":true,"extensions":["gltf"]},"model/gltf-binary":{"source":"iana","compressible":true,"extensions":["glb"]},"model/iges":{"source":"iana","compressible":false,"extensions":["igs","iges"]},"model/mesh":{"source":"iana","compressible":false,"extensions":["msh","mesh","silo"]},"model/mtl":{"source":"iana","extensions":["mtl"]},"model/obj":{"source":"iana","extensions":["obj"]},"model/stl":{"source":"iana","extensions":["stl"]},"model/vnd.collada+xml":{"source":"iana","compressible":true,"extensions":["dae"]},"model/vnd.dwf":{"source":"iana","extensions":["dwf"]},"model/vnd.flatland.3dml":{"source":"iana"},"model/vnd.gdl":{"source":"iana","extensions":["gdl"]},"model/vnd.gs-gdl":{"source":"apache"},"model/vnd.gs.gdl":{"source":"iana"},"model/vnd.gtw":{"source":"iana","extensions":["gtw"]},"model/vnd.moml+xml":{"source":"iana","compressible":true},"model/vnd.mts":{"source":"iana","extensions":["mts"]},"model/vnd.opengex":{"source":"iana","extensions":["ogex"]},"model/vnd.parasolid.transmit.binary":{"source":"iana","extensions":["x_b"]},"model/vnd.parasolid.transmit.text":{"source":"iana","extensions":["x_t"]},"model/vnd.rosette.annotated-data-model":{"source":"iana"},"model/vnd.sap.vds":{"source":"iana","extensions":["vds"]},"model/vnd.usdz+zip":{"source":"iana","compressible":false,"extensions":["usdz"]},"model/vnd.valve.source.compiled-map":{"source":"iana","extensions":["bsp"]},"model/vnd.vtu":{"source":"iana","extensions":["vtu"]},"model/vrml":{"source":"iana","compressible":false,"extensions":["wrl","vrml"]},"model/x3d+binary":{"source":"apache","compressible":false,"extensions":["x3db","x3dbz"]},"model/x3d+fastinfoset":{"source":"iana","extensions":["x3db"]},"model/x3d+vrml":{"source":"apache","compressible":false,"extensions":["x3dv","x3dvz"]},"model/x3d+xml":{"source":"iana","compressible":true,"extensions":["x3d","x3dz"]},"model/x3d-vrml":{"source":"iana","extensions":["x3dv"]},"multipart/alternative":{"source":"iana","compressible":false},"multipart/appledouble":{"source":"iana"},"multipart/byteranges":{"source":"iana"},"multipart/digest":{"source":"iana"},"multipart/encrypted":{"source":"iana","compressible":false},"multipart/form-data":{"source":"iana","compressible":false},"multipart/header-set":{"source":"iana"},"multipart/mixed":{"source":"iana"},"multipart/multilingual":{"source":"iana"},"multipart/parallel":{"source":"iana"},"multipart/related":{"source":"iana","compressible":false},"multipart/report":{"source":"iana"},"multipart/signed":{"source":"iana","compressible":false},"multipart/vnd.bint.med-plus":{"source":"iana"},"multipart/voice-message":{"source":"iana"},"multipart/x-mixed-replace":{"source":"iana"},"text/1d-interleaved-parityfec":{"source":"iana"},"text/cache-manifest":{"source":"iana","compressible":true,"extensions":["appcache","manifest"]},"text/calendar":{"source":"iana","extensions":["ics","ifb"]},"text/calender":{"compressible":true},"text/cmd":{"compressible":true},"text/coffeescript":{"extensions":["coffee","litcoffee"]},"text/cql":{"source":"iana"},"text/cql-expression":{"source":"iana"},"text/cql-identifier":{"source":"iana"},"text/css":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["css"]},"text/csv":{"source":"iana","compressible":true,"extensions":["csv"]},"text/csv-schema":{"source":"iana"},"text/directory":{"source":"iana"},"text/dns":{"source":"iana"},"text/ecmascript":{"source":"iana"},"text/encaprtp":{"source":"iana"},"text/enriched":{"source":"iana"},"text/fhirpath":{"source":"iana"},"text/flexfec":{"source":"iana"},"text/fwdred":{"source":"iana"},"text/gff3":{"source":"iana"},"text/grammar-ref-list":{"source":"iana"},"text/html":{"source":"iana","compressible":true,"extensions":["html","htm","shtml"]},"text/jade":{"extensions":["jade"]},"text/javascript":{"source":"iana","compressible":true},"text/jcr-cnd":{"source":"iana"},"text/jsx":{"compressible":true,"extensions":["jsx"]},"text/less":{"compressible":true,"extensions":["less"]},"text/markdown":{"source":"iana","compressible":true,"extensions":["markdown","md"]},"text/mathml":{"source":"nginx","extensions":["mml"]},"text/mdx":{"compressible":true,"extensions":["mdx"]},"text/mizar":{"source":"iana"},"text/n3":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["n3"]},"text/parameters":{"source":"iana","charset":"UTF-8"},"text/parityfec":{"source":"iana"},"text/plain":{"source":"iana","compressible":true,"extensions":["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{"source":"iana","charset":"UTF-8"},"text/prs.fallenstein.rst":{"source":"iana"},"text/prs.lines.tag":{"source":"iana","extensions":["dsc"]},"text/prs.prop.logic":{"source":"iana"},"text/raptorfec":{"source":"iana"},"text/red":{"source":"iana"},"text/rfc822-headers":{"source":"iana"},"text/richtext":{"source":"iana","compressible":true,"extensions":["rtx"]},"text/rtf":{"source":"iana","compressible":true,"extensions":["rtf"]},"text/rtp-enc-aescm128":{"source":"iana"},"text/rtploopback":{"source":"iana"},"text/rtx":{"source":"iana"},"text/sgml":{"source":"iana","extensions":["sgml","sgm"]},"text/shaclc":{"source":"iana"},"text/shex":{"extensions":["shex"]},"text/slim":{"extensions":["slim","slm"]},"text/spdx":{"source":"iana","extensions":["spdx"]},"text/strings":{"source":"iana"},"text/stylus":{"extensions":["stylus","styl"]},"text/t140":{"source":"iana"},"text/tab-separated-values":{"source":"iana","compressible":true,"extensions":["tsv"]},"text/troff":{"source":"iana","extensions":["t","tr","roff","man","me","ms"]},"text/turtle":{"source":"iana","charset":"UTF-8","extensions":["ttl"]},"text/ulpfec":{"source":"iana"},"text/uri-list":{"source":"iana","compressible":true,"extensions":["uri","uris","urls"]},"text/vcard":{"source":"iana","compressible":true,"extensions":["vcard"]},"text/vnd.a":{"source":"iana"},"text/vnd.abc":{"source":"iana"},"text/vnd.ascii-art":{"source":"iana"},"text/vnd.curl":{"source":"iana","extensions":["curl"]},"text/vnd.curl.dcurl":{"source":"apache","extensions":["dcurl"]},"text/vnd.curl.mcurl":{"source":"apache","extensions":["mcurl"]},"text/vnd.curl.scurl":{"source":"apache","extensions":["scurl"]},"text/vnd.debian.copyright":{"source":"iana","charset":"UTF-8"},"text/vnd.dmclientscript":{"source":"iana"},"text/vnd.dvb.subtitle":{"source":"iana","extensions":["sub"]},"text/vnd.esmertec.theme-descriptor":{"source":"iana","charset":"UTF-8"},"text/vnd.ficlab.flt":{"source":"iana"},"text/vnd.fly":{"source":"iana","extensions":["fly"]},"text/vnd.fmi.flexstor":{"source":"iana","extensions":["flx"]},"text/vnd.gml":{"source":"iana"},"text/vnd.graphviz":{"source":"iana","extensions":["gv"]},"text/vnd.hans":{"source":"iana"},"text/vnd.hgl":{"source":"iana"},"text/vnd.in3d.3dml":{"source":"iana","extensions":["3dml"]},"text/vnd.in3d.spot":{"source":"iana","extensions":["spot"]},"text/vnd.iptc.newsml":{"source":"iana"},"text/vnd.iptc.nitf":{"source":"iana"},"text/vnd.latex-z":{"source":"iana"},"text/vnd.motorola.reflex":{"source":"iana"},"text/vnd.ms-mediapackage":{"source":"iana"},"text/vnd.net2phone.commcenter.command":{"source":"iana"},"text/vnd.radisys.msml-basic-layout":{"source":"iana"},"text/vnd.senx.warpscript":{"source":"iana"},"text/vnd.si.uricatalogue":{"source":"iana"},"text/vnd.sosi":{"source":"iana"},"text/vnd.sun.j2me.app-descriptor":{"source":"iana","charset":"UTF-8","extensions":["jad"]},"text/vnd.trolltech.linguist":{"source":"iana","charset":"UTF-8"},"text/vnd.wap.si":{"source":"iana"},"text/vnd.wap.sl":{"source":"iana"},"text/vnd.wap.wml":{"source":"iana","extensions":["wml"]},"text/vnd.wap.wmlscript":{"source":"iana","extensions":["wmls"]},"text/vtt":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["vtt"]},"text/x-asm":{"source":"apache","extensions":["s","asm"]},"text/x-c":{"source":"apache","extensions":["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{"source":"nginx","extensions":["htc"]},"text/x-fortran":{"source":"apache","extensions":["f","for","f77","f90"]},"text/x-gwt-rpc":{"compressible":true},"text/x-handlebars-template":{"extensions":["hbs"]},"text/x-java-source":{"source":"apache","extensions":["java"]},"text/x-jquery-tmpl":{"compressible":true},"text/x-lua":{"extensions":["lua"]},"text/x-markdown":{"compressible":true,"extensions":["mkd"]},"text/x-nfo":{"source":"apache","extensions":["nfo"]},"text/x-opml":{"source":"apache","extensions":["opml"]},"text/x-org":{"compressible":true,"extensions":["org"]},"text/x-pascal":{"source":"apache","extensions":["p","pas"]},"text/x-processing":{"compressible":true,"extensions":["pde"]},"text/x-sass":{"extensions":["sass"]},"text/x-scss":{"extensions":["scss"]},"text/x-setext":{"source":"apache","extensions":["etx"]},"text/x-sfv":{"source":"apache","extensions":["sfv"]},"text/x-suse-ymp":{"compressible":true,"extensions":["ymp"]},"text/x-uuencode":{"source":"apache","extensions":["uu"]},"text/x-vcalendar":{"source":"apache","extensions":["vcs"]},"text/x-vcard":{"source":"apache","extensions":["vcf"]},"text/xml":{"source":"iana","compressible":true,"extensions":["xml"]},"text/xml-external-parsed-entity":{"source":"iana"},"text/yaml":{"extensions":["yaml","yml"]},"video/1d-interleaved-parityfec":{"source":"iana"},"video/3gpp":{"source":"iana","extensions":["3gp","3gpp"]},"video/3gpp-tt":{"source":"iana"},"video/3gpp2":{"source":"iana","extensions":["3g2"]},"video/av1":{"source":"iana"},"video/bmpeg":{"source":"iana"},"video/bt656":{"source":"iana"},"video/celb":{"source":"iana"},"video/dv":{"source":"iana"},"video/encaprtp":{"source":"iana"},"video/ffv1":{"source":"iana"},"video/flexfec":{"source":"iana"},"video/h261":{"source":"iana","extensions":["h261"]},"video/h263":{"source":"iana","extensions":["h263"]},"video/h263-1998":{"source":"iana"},"video/h263-2000":{"source":"iana"},"video/h264":{"source":"iana","extensions":["h264"]},"video/h264-rcdo":{"source":"iana"},"video/h264-svc":{"source":"iana"},"video/h265":{"source":"iana"},"video/iso.segment":{"source":"iana","extensions":["m4s"]},"video/jpeg":{"source":"iana","extensions":["jpgv"]},"video/jpeg2000":{"source":"iana"},"video/jpm":{"source":"apache","extensions":["jpm","jpgm"]},"video/mj2":{"source":"iana","extensions":["mj2","mjp2"]},"video/mp1s":{"source":"iana"},"video/mp2p":{"source":"iana"},"video/mp2t":{"source":"iana","extensions":["ts"]},"video/mp4":{"source":"iana","compressible":false,"extensions":["mp4","mp4v","mpg4"]},"video/mp4v-es":{"source":"iana"},"video/mpeg":{"source":"iana","compressible":false,"extensions":["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{"source":"iana"},"video/mpv":{"source":"iana"},"video/nv":{"source":"iana"},"video/ogg":{"source":"iana","compressible":false,"extensions":["ogv"]},"video/parityfec":{"source":"iana"},"video/pointer":{"source":"iana"},"video/quicktime":{"source":"iana","compressible":false,"extensions":["qt","mov"]},"video/raptorfec":{"source":"iana"},"video/raw":{"source":"iana"},"video/rtp-enc-aescm128":{"source":"iana"},"video/rtploopback":{"source":"iana"},"video/rtx":{"source":"iana"},"video/scip":{"source":"iana"},"video/smpte291":{"source":"iana"},"video/smpte292m":{"source":"iana"},"video/ulpfec":{"source":"iana"},"video/vc1":{"source":"iana"},"video/vc2":{"source":"iana"},"video/vnd.cctv":{"source":"iana"},"video/vnd.dece.hd":{"source":"iana","extensions":["uvh","uvvh"]},"video/vnd.dece.mobile":{"source":"iana","extensions":["uvm","uvvm"]},"video/vnd.dece.mp4":{"source":"iana"},"video/vnd.dece.pd":{"source":"iana","extensions":["uvp","uvvp"]},"video/vnd.dece.sd":{"source":"iana","extensions":["uvs","uvvs"]},"video/vnd.dece.video":{"source":"iana","extensions":["uvv","uvvv"]},"video/vnd.directv.mpeg":{"source":"iana"},"video/vnd.directv.mpeg-tts":{"source":"iana"},"video/vnd.dlna.mpeg-tts":{"source":"iana"},"video/vnd.dvb.file":{"source":"iana","extensions":["dvb"]},"video/vnd.fvt":{"source":"iana","extensions":["fvt"]},"video/vnd.hns.video":{"source":"iana"},"video/vnd.iptvforum.1dparityfec-1010":{"source":"iana"},"video/vnd.iptvforum.1dparityfec-2005":{"source":"iana"},"video/vnd.iptvforum.2dparityfec-1010":{"source":"iana"},"video/vnd.iptvforum.2dparityfec-2005":{"source":"iana"},"video/vnd.iptvforum.ttsavc":{"source":"iana"},"video/vnd.iptvforum.ttsmpeg2":{"source":"iana"},"video/vnd.motorola.video":{"source":"iana"},"video/vnd.motorola.videop":{"source":"iana"},"video/vnd.mpegurl":{"source":"iana","extensions":["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{"source":"iana","extensions":["pyv"]},"video/vnd.nokia.interleaved-multimedia":{"source":"iana"},"video/vnd.nokia.mp4vr":{"source":"iana"},"video/vnd.nokia.videovoip":{"source":"iana"},"video/vnd.objectvideo":{"source":"iana"},"video/vnd.radgamettools.bink":{"source":"iana"},"video/vnd.radgamettools.smacker":{"source":"iana"},"video/vnd.sealed.mpeg1":{"source":"iana"},"video/vnd.sealed.mpeg4":{"source":"iana"},"video/vnd.sealed.swf":{"source":"iana"},"video/vnd.sealedmedia.softseal.mov":{"source":"iana"},"video/vnd.uvvu.mp4":{"source":"iana","extensions":["uvu","uvvu"]},"video/vnd.vivo":{"source":"iana","extensions":["viv"]},"video/vnd.youtube.yt":{"source":"iana"},"video/vp8":{"source":"iana"},"video/webm":{"source":"apache","compressible":false,"extensions":["webm"]},"video/x-f4v":{"source":"apache","extensions":["f4v"]},"video/x-fli":{"source":"apache","extensions":["fli"]},"video/x-flv":{"source":"apache","compressible":false,"extensions":["flv"]},"video/x-m4v":{"source":"apache","extensions":["m4v"]},"video/x-matroska":{"source":"apache","compressible":false,"extensions":["mkv","mk3d","mks"]},"video/x-mng":{"source":"apache","extensions":["mng"]},"video/x-ms-asf":{"source":"apache","extensions":["asf","asx"]},"video/x-ms-vob":{"source":"apache","extensions":["vob"]},"video/x-ms-wm":{"source":"apache","extensions":["wm"]},"video/x-ms-wmv":{"source":"apache","compressible":false,"extensions":["wmv"]},"video/x-ms-wmx":{"source":"apache","extensions":["wmx"]},"video/x-ms-wvx":{"source":"apache","extensions":["wvx"]},"video/x-msvideo":{"source":"apache","extensions":["avi"]},"video/x-sgi-movie":{"source":"apache","extensions":["movie"]},"video/x-smv":{"source":"apache","extensions":["smv"]},"x-conference/x-cooltalk":{"source":"apache","extensions":["ice"]},"x-shader/x-fragment":{"compressible":true},"x-shader/x-vertex":{"compressible":true}}')},98727:function(v){"use strict";v.exports={i8:"5.90.0"}},6497:function(v){"use strict";v.exports=JSON.parse('{"definitions":{"Amd":{"description":"Set the value of `require.amd` and `define.amd`. Or disable AMD support.","anyOf":[{"description":"You can pass `false` to disable AMD support.","enum":[false]},{"description":"You can pass an object to set the value of `require.amd` and `define.amd`.","type":"object"}]},"AmdContainer":{"description":"Add a container for define/require functions in the AMD module.","type":"string","minLength":1},"AssetFilterItemTypes":{"description":"Filtering value, regexp or function.","cli":{"helper":true},"anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string","absolutePath":false},{"instanceof":"Function","tsType":"((name: string, asset: import(\'../lib/stats/DefaultStatsFactoryPlugin\').StatsAsset) => boolean)"}]},"AssetFilterTypes":{"description":"Filtering modules.","cli":{"helper":true},"anyOf":[{"type":"array","items":{"description":"Rule to filter.","cli":{"helper":true},"oneOf":[{"$ref":"#/definitions/AssetFilterItemTypes"}]}},{"$ref":"#/definitions/AssetFilterItemTypes"}]},"AssetGeneratorDataUrl":{"description":"The options for data url generator.","anyOf":[{"$ref":"#/definitions/AssetGeneratorDataUrlOptions"},{"$ref":"#/definitions/AssetGeneratorDataUrlFunction"}]},"AssetGeneratorDataUrlFunction":{"description":"Function that executes for module and should return an DataUrl string. It can have a string as \'ident\' property which contributes to the module hash.","instanceof":"Function","tsType":"((source: string | Buffer, context: { filename: string, module: import(\'../lib/Module\') }) => string)"},"AssetGeneratorDataUrlOptions":{"description":"Options object for data url generation.","type":"object","additionalProperties":false,"properties":{"encoding":{"description":"Asset encoding (defaults to base64).","enum":[false,"base64"]},"mimetype":{"description":"Asset mimetype (getting from file extension by default).","type":"string"}}},"AssetGeneratorOptions":{"description":"Generator options for asset modules.","type":"object","implements":["#/definitions/AssetInlineGeneratorOptions","#/definitions/AssetResourceGeneratorOptions"],"additionalProperties":false,"properties":{"dataUrl":{"$ref":"#/definitions/AssetGeneratorDataUrl"},"emit":{"description":"Emit an output asset from this asset module. This can be set to \'false\' to omit emitting e. g. for SSR.","type":"boolean"},"filename":{"$ref":"#/definitions/FilenameTemplate"},"outputPath":{"$ref":"#/definitions/AssetModuleOutputPath"},"publicPath":{"$ref":"#/definitions/RawPublicPath"}}},"AssetInlineGeneratorOptions":{"description":"Generator options for asset/inline modules.","type":"object","additionalProperties":false,"properties":{"dataUrl":{"$ref":"#/definitions/AssetGeneratorDataUrl"}}},"AssetModuleFilename":{"description":"The filename of asset modules as relative path inside the \'output.path\' directory.","anyOf":[{"type":"string","absolutePath":false},{"instanceof":"Function","tsType":"((pathData: import(\\"../lib/Compilation\\").PathData, assetInfo?: import(\\"../lib/Compilation\\").AssetInfo) => string)"}]},"AssetModuleOutputPath":{"description":"Emit the asset in the specified folder relative to \'output.path\'. This should only be needed when custom \'publicPath\' is specified to match the folder structure there.","anyOf":[{"type":"string","absolutePath":false},{"instanceof":"Function","tsType":"((pathData: import(\\"../lib/Compilation\\").PathData, assetInfo?: import(\\"../lib/Compilation\\").AssetInfo) => string)"}]},"AssetParserDataUrlFunction":{"description":"Function that executes for module and should return whenever asset should be inlined as DataUrl.","instanceof":"Function","tsType":"((source: string | Buffer, context: { filename: string, module: import(\'../lib/Module\') }) => boolean)"},"AssetParserDataUrlOptions":{"description":"Options object for DataUrl condition.","type":"object","additionalProperties":false,"properties":{"maxSize":{"description":"Maximum size of asset that should be inline as modules. Default: 8kb.","type":"number"}}},"AssetParserOptions":{"description":"Parser options for asset modules.","type":"object","additionalProperties":false,"properties":{"dataUrlCondition":{"description":"The condition for inlining the asset as DataUrl.","anyOf":[{"$ref":"#/definitions/AssetParserDataUrlOptions"},{"$ref":"#/definitions/AssetParserDataUrlFunction"}]}}},"AssetResourceGeneratorOptions":{"description":"Generator options for asset/resource modules.","type":"object","additionalProperties":false,"properties":{"emit":{"description":"Emit an output asset from this asset module. This can be set to \'false\' to omit emitting e. g. for SSR.","type":"boolean"},"filename":{"$ref":"#/definitions/FilenameTemplate"},"outputPath":{"$ref":"#/definitions/AssetModuleOutputPath"},"publicPath":{"$ref":"#/definitions/RawPublicPath"}}},"AuxiliaryComment":{"description":"Add a comment in the UMD wrapper.","anyOf":[{"description":"Append the same comment above each import style.","type":"string"},{"$ref":"#/definitions/LibraryCustomUmdCommentObject"}]},"Bail":{"description":"Report the first error as a hard error instead of tolerating it.","type":"boolean"},"CacheOptions":{"description":"Cache generated modules and chunks to improve performance for multiple incremental builds.","anyOf":[{"description":"Enable in memory caching.","enum":[true]},{"$ref":"#/definitions/CacheOptionsNormalized"}]},"CacheOptionsNormalized":{"description":"Cache generated modules and chunks to improve performance for multiple incremental builds.","anyOf":[{"description":"Disable caching.","enum":[false]},{"$ref":"#/definitions/MemoryCacheOptions"},{"$ref":"#/definitions/FileCacheOptions"}]},"Charset":{"description":"Add charset attribute for script tag.","type":"boolean"},"ChunkFilename":{"description":"Specifies the filename template of output files of non-initial chunks on disk. You must **not** specify an absolute path here, but the path may contain folders separated by \'/\'! The specified path is joined with the value of the \'output.path\' option to determine the location on disk.","oneOf":[{"$ref":"#/definitions/FilenameTemplate"}]},"ChunkFormat":{"description":"The format of chunks (formats included by default are \'array-push\' (web/WebWorker), \'commonjs\' (node.js), \'module\' (ESM), but others might be added by plugins).","anyOf":[{"enum":["array-push","commonjs","module",false]},{"type":"string"}]},"ChunkLoadTimeout":{"description":"Number of milliseconds before chunk request expires.","type":"number"},"ChunkLoading":{"description":"The method of loading chunks (methods included by default are \'jsonp\' (web), \'import\' (ESM), \'importScripts\' (WebWorker), \'require\' (sync node.js), \'async-node\' (async node.js), but others might be added by plugins).","anyOf":[{"enum":[false]},{"$ref":"#/definitions/ChunkLoadingType"}]},"ChunkLoadingGlobal":{"description":"The global variable used by webpack for loading of chunks.","type":"string"},"ChunkLoadingType":{"description":"The method of loading chunks (methods included by default are \'jsonp\' (web), \'import\' (ESM), \'importScripts\' (WebWorker), \'require\' (sync node.js), \'async-node\' (async node.js), but others might be added by plugins).","anyOf":[{"enum":["jsonp","import-scripts","require","async-node","import"]},{"type":"string"}]},"Clean":{"description":"Clean the output directory before emit.","anyOf":[{"type":"boolean"},{"$ref":"#/definitions/CleanOptions"}]},"CleanOptions":{"description":"Advanced options for cleaning assets.","type":"object","additionalProperties":false,"properties":{"dry":{"description":"Log the assets that should be removed instead of deleting them.","type":"boolean"},"keep":{"description":"Keep these assets.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string","absolutePath":false},{"instanceof":"Function","tsType":"((filename: string) => boolean)"}]}}},"CompareBeforeEmit":{"description":"Check if to be emitted file already exists and have the same content before writing to output filesystem.","type":"boolean"},"Context":{"description":"The base directory (absolute path!) for resolving the `entry` option. If `output.pathinfo` is set, the included pathinfo is shortened to this directory.","type":"string","absolutePath":true},"CrossOriginLoading":{"description":"This option enables cross-origin loading of chunks.","enum":[false,"anonymous","use-credentials"]},"CssAutoGeneratorOptions":{"description":"Generator options for css/auto modules.","type":"object","additionalProperties":false,"properties":{"exportsOnly":{"$ref":"#/definitions/CssGeneratorExportsOnly"}}},"CssAutoParserOptions":{"description":"Parser options for css/auto modules.","type":"object","additionalProperties":false,"properties":{"namedExports":{"$ref":"#/definitions/CssParserNamedExports"}}},"CssChunkFilename":{"description":"Specifies the filename template of non-initial output css files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by \'/\'! The specified path is joined with the value of the \'output.path\' option to determine the location on disk.","oneOf":[{"$ref":"#/definitions/FilenameTemplate"}]},"CssFilename":{"description":"Specifies the filename template of output css files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by \'/\'! The specified path is joined with the value of the \'output.path\' option to determine the location on disk.","oneOf":[{"$ref":"#/definitions/FilenameTemplate"}]},"CssGeneratorExportsOnly":{"description":"Avoid generating and loading a stylesheet and only embed exports from css into output javascript files.","type":"boolean"},"CssGeneratorOptions":{"description":"Generator options for css modules.","type":"object","additionalProperties":false,"properties":{"exportsOnly":{"$ref":"#/definitions/CssGeneratorExportsOnly"}}},"CssGlobalGeneratorOptions":{"description":"Generator options for css/global modules.","type":"object","additionalProperties":false,"properties":{"exportsOnly":{"$ref":"#/definitions/CssGeneratorExportsOnly"}}},"CssGlobalParserOptions":{"description":"Parser options for css/global modules.","type":"object","additionalProperties":false,"properties":{"namedExports":{"$ref":"#/definitions/CssParserNamedExports"}}},"CssModuleGeneratorOptions":{"description":"Generator options for css/module modules.","type":"object","additionalProperties":false,"properties":{"exportsOnly":{"$ref":"#/definitions/CssGeneratorExportsOnly"}}},"CssModuleParserOptions":{"description":"Parser options for css/module modules.","type":"object","additionalProperties":false,"properties":{"namedExports":{"$ref":"#/definitions/CssParserNamedExports"}}},"CssParserNamedExports":{"description":"Use ES modules named export for css exports.","type":"boolean"},"CssParserOptions":{"description":"Parser options for css modules.","type":"object","additionalProperties":false,"properties":{"namedExports":{"$ref":"#/definitions/CssParserNamedExports"}}},"Dependencies":{"description":"References to other configurations to depend on.","type":"array","items":{"description":"References to another configuration to depend on.","type":"string"}},"DevServer":{"description":"Options for the webpack-dev-server.","anyOf":[{"description":"Disable dev server.","enum":[false]},{"description":"Options for the webpack-dev-server.","type":"object"}]},"DevTool":{"description":"A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map).","anyOf":[{"enum":[false,"eval"]},{"type":"string","pattern":"^(inline-|hidden-|eval-)?(nosources-)?(cheap-(module-)?)?source-map$"}]},"DevtoolFallbackModuleFilenameTemplate":{"description":"Similar to `output.devtoolModuleFilenameTemplate`, but used in the case of duplicate module identifiers.","anyOf":[{"type":"string"},{"instanceof":"Function","tsType":"Function"}]},"DevtoolModuleFilenameTemplate":{"description":"Filename template string of function for the sources array in a generated SourceMap.","anyOf":[{"type":"string"},{"instanceof":"Function","tsType":"Function"}]},"DevtoolNamespace":{"description":"Module namespace to use when interpolating filename template string for the sources array in a generated SourceMap. Defaults to `output.library` if not set. It\'s useful for avoiding runtime collisions in sourcemaps from multiple webpack projects built as libraries.","type":"string"},"EmptyGeneratorOptions":{"description":"No generator options are supported for this module type.","type":"object","additionalProperties":false},"EmptyParserOptions":{"description":"No parser options are supported for this module type.","type":"object","additionalProperties":false},"EnabledChunkLoadingTypes":{"description":"List of chunk loading types enabled for use by entry points.","type":"array","items":{"$ref":"#/definitions/ChunkLoadingType"}},"EnabledLibraryTypes":{"description":"List of library types enabled for use by entry points.","type":"array","items":{"$ref":"#/definitions/LibraryType"}},"EnabledWasmLoadingTypes":{"description":"List of wasm loading types enabled for use by entry points.","type":"array","items":{"$ref":"#/definitions/WasmLoadingType"}},"Entry":{"description":"The entry point(s) of the compilation.","anyOf":[{"$ref":"#/definitions/EntryDynamic"},{"$ref":"#/definitions/EntryStatic"}]},"EntryDescription":{"description":"An object with entry point description.","type":"object","additionalProperties":false,"properties":{"asyncChunks":{"description":"Enable/disable creating async chunks that are loaded on demand.","type":"boolean"},"baseUri":{"description":"Base uri for this entry.","type":"string"},"chunkLoading":{"$ref":"#/definitions/ChunkLoading"},"dependOn":{"description":"The entrypoints that the current entrypoint depend on. They must be loaded when this entrypoint is loaded.","anyOf":[{"description":"The entrypoints that the current entrypoint depend on. They must be loaded when this entrypoint is loaded.","type":"array","items":{"description":"An entrypoint that the current entrypoint depend on. It must be loaded when this entrypoint is loaded.","type":"string","minLength":1},"minItems":1,"uniqueItems":true},{"description":"An entrypoint that the current entrypoint depend on. It must be loaded when this entrypoint is loaded.","type":"string","minLength":1}]},"filename":{"$ref":"#/definitions/EntryFilename"},"import":{"$ref":"#/definitions/EntryItem"},"layer":{"$ref":"#/definitions/Layer"},"library":{"$ref":"#/definitions/LibraryOptions"},"publicPath":{"$ref":"#/definitions/PublicPath"},"runtime":{"$ref":"#/definitions/EntryRuntime"},"wasmLoading":{"$ref":"#/definitions/WasmLoading"}},"required":["import"]},"EntryDescriptionNormalized":{"description":"An object with entry point description.","type":"object","additionalProperties":false,"properties":{"asyncChunks":{"description":"Enable/disable creating async chunks that are loaded on demand.","type":"boolean"},"baseUri":{"description":"Base uri for this entry.","type":"string"},"chunkLoading":{"$ref":"#/definitions/ChunkLoading"},"dependOn":{"description":"The entrypoints that the current entrypoint depend on. They must be loaded when this entrypoint is loaded.","type":"array","items":{"description":"An entrypoint that the current entrypoint depend on. It must be loaded when this entrypoint is loaded.","type":"string","minLength":1},"minItems":1,"uniqueItems":true},"filename":{"$ref":"#/definitions/Filename"},"import":{"description":"Module(s) that are loaded upon startup. The last one is exported.","type":"array","items":{"description":"Module that is loaded upon startup. Only the last one is exported.","type":"string","minLength":1},"minItems":1,"uniqueItems":true},"layer":{"$ref":"#/definitions/Layer"},"library":{"$ref":"#/definitions/LibraryOptions"},"publicPath":{"$ref":"#/definitions/PublicPath"},"runtime":{"$ref":"#/definitions/EntryRuntime"},"wasmLoading":{"$ref":"#/definitions/WasmLoading"}}},"EntryDynamic":{"description":"A Function returning an entry object, an entry string, an entry array or a promise to these things.","instanceof":"Function","tsType":"(() => EntryStatic | Promise)"},"EntryDynamicNormalized":{"description":"A Function returning a Promise resolving to a normalized entry.","instanceof":"Function","tsType":"(() => Promise)"},"EntryFilename":{"description":"Specifies the filename of the output file on disk. You must **not** specify an absolute path here, but the path may contain folders separated by \'/\'! The specified path is joined with the value of the \'output.path\' option to determine the location on disk.","oneOf":[{"$ref":"#/definitions/FilenameTemplate"}]},"EntryItem":{"description":"Module(s) that are loaded upon startup.","anyOf":[{"description":"All modules are loaded upon startup. The last one is exported.","type":"array","items":{"description":"A module that is loaded upon startup. Only the last one is exported.","type":"string","minLength":1},"minItems":1,"uniqueItems":true},{"description":"The string is resolved to a module which is loaded upon startup.","type":"string","minLength":1}]},"EntryNormalized":{"description":"The entry point(s) of the compilation.","anyOf":[{"$ref":"#/definitions/EntryDynamicNormalized"},{"$ref":"#/definitions/EntryStaticNormalized"}]},"EntryObject":{"description":"Multiple entry bundles are created. The key is the entry name. The value can be a string, an array or an entry description object.","type":"object","additionalProperties":{"description":"An entry point with name.","anyOf":[{"$ref":"#/definitions/EntryItem"},{"$ref":"#/definitions/EntryDescription"}]}},"EntryRuntime":{"description":"The name of the runtime chunk. If set a runtime chunk with this name is created or an existing entrypoint is used as runtime.","anyOf":[{"enum":[false]},{"type":"string","minLength":1}]},"EntryStatic":{"description":"A static entry description.","anyOf":[{"$ref":"#/definitions/EntryObject"},{"$ref":"#/definitions/EntryUnnamed"}]},"EntryStaticNormalized":{"description":"Multiple entry bundles are created. The key is the entry name. The value is an entry description object.","type":"object","additionalProperties":{"description":"An object with entry point description.","oneOf":[{"$ref":"#/definitions/EntryDescriptionNormalized"}]}},"EntryUnnamed":{"description":"An entry point without name.","oneOf":[{"$ref":"#/definitions/EntryItem"}]},"Environment":{"description":"The abilities of the environment where the webpack generated code should run.","type":"object","additionalProperties":false,"properties":{"arrowFunction":{"description":"The environment supports arrow functions (\'() => { ... }\').","type":"boolean"},"asyncFunction":{"description":"The environment supports async function and await (\'async function () { await ... }\').","type":"boolean"},"bigIntLiteral":{"description":"The environment supports BigInt as literal (123n).","type":"boolean"},"const":{"description":"The environment supports const and let for variable declarations.","type":"boolean"},"destructuring":{"description":"The environment supports destructuring (\'{ a, b } = obj\').","type":"boolean"},"dynamicImport":{"description":"The environment supports an async import() function to import EcmaScript modules.","type":"boolean"},"dynamicImportInWorker":{"description":"The environment supports an async import() is available when creating a worker.","type":"boolean"},"forOf":{"description":"The environment supports \'for of\' iteration (\'for (const x of array) { ... }\').","type":"boolean"},"globalThis":{"description":"The environment supports \'globalThis\'.","type":"boolean"},"module":{"description":"The environment supports EcmaScript Module syntax to import EcmaScript modules (import ... from \'...\').","type":"boolean"},"optionalChaining":{"description":"The environment supports optional chaining (\'obj?.a\' or \'obj?.()\').","type":"boolean"},"templateLiteral":{"description":"The environment supports template literals.","type":"boolean"}}},"Experiments":{"description":"Enables/Disables experiments (experimental features with relax SemVer compatibility).","type":"object","implements":["#/definitions/ExperimentsCommon"],"additionalProperties":false,"properties":{"asyncWebAssembly":{"description":"Support WebAssembly as asynchronous EcmaScript Module.","type":"boolean"},"backCompat":{"description":"Enable backward-compat layer with deprecation warnings for many webpack 4 APIs.","type":"boolean"},"buildHttp":{"description":"Build http(s): urls using a lockfile and resource content cache.","anyOf":[{"$ref":"#/definitions/HttpUriAllowedUris"},{"$ref":"#/definitions/HttpUriOptions"}]},"cacheUnaffected":{"description":"Enable additional in memory caching of modules that are unchanged and reference only unchanged modules.","type":"boolean"},"css":{"description":"Enable css support.","type":"boolean"},"futureDefaults":{"description":"Apply defaults of next major version.","type":"boolean"},"layers":{"description":"Enable module layers.","type":"boolean"},"lazyCompilation":{"description":"Compile entrypoints and import()s only when they are accessed.","anyOf":[{"type":"boolean"},{"$ref":"#/definitions/LazyCompilationOptions"}]},"outputModule":{"description":"Allow output javascript files as module source type.","type":"boolean"},"syncWebAssembly":{"description":"Support WebAssembly as synchronous EcmaScript Module (outdated).","type":"boolean"},"topLevelAwait":{"description":"Allow using top-level-await in EcmaScript Modules.","type":"boolean"}}},"ExperimentsCommon":{"description":"Enables/Disables experiments (experimental features with relax SemVer compatibility).","type":"object","additionalProperties":false,"properties":{"asyncWebAssembly":{"description":"Support WebAssembly as asynchronous EcmaScript Module.","type":"boolean"},"backCompat":{"description":"Enable backward-compat layer with deprecation warnings for many webpack 4 APIs.","type":"boolean"},"cacheUnaffected":{"description":"Enable additional in memory caching of modules that are unchanged and reference only unchanged modules.","type":"boolean"},"futureDefaults":{"description":"Apply defaults of next major version.","type":"boolean"},"layers":{"description":"Enable module layers.","type":"boolean"},"outputModule":{"description":"Allow output javascript files as module source type.","type":"boolean"},"syncWebAssembly":{"description":"Support WebAssembly as synchronous EcmaScript Module (outdated).","type":"boolean"},"topLevelAwait":{"description":"Allow using top-level-await in EcmaScript Modules.","type":"boolean"}}},"ExperimentsNormalized":{"description":"Enables/Disables experiments (experimental features with relax SemVer compatibility).","type":"object","implements":["#/definitions/ExperimentsCommon"],"additionalProperties":false,"properties":{"asyncWebAssembly":{"description":"Support WebAssembly as asynchronous EcmaScript Module.","type":"boolean"},"backCompat":{"description":"Enable backward-compat layer with deprecation warnings for many webpack 4 APIs.","type":"boolean"},"buildHttp":{"description":"Build http(s): urls using a lockfile and resource content cache.","oneOf":[{"$ref":"#/definitions/HttpUriOptions"}]},"cacheUnaffected":{"description":"Enable additional in memory caching of modules that are unchanged and reference only unchanged modules.","type":"boolean"},"css":{"description":"Enable css support.","type":"boolean"},"futureDefaults":{"description":"Apply defaults of next major version.","type":"boolean"},"layers":{"description":"Enable module layers.","type":"boolean"},"lazyCompilation":{"description":"Compile entrypoints and import()s only when they are accessed.","anyOf":[{"enum":[false]},{"$ref":"#/definitions/LazyCompilationOptions"}]},"outputModule":{"description":"Allow output javascript files as module source type.","type":"boolean"},"syncWebAssembly":{"description":"Support WebAssembly as synchronous EcmaScript Module (outdated).","type":"boolean"},"topLevelAwait":{"description":"Allow using top-level-await in EcmaScript Modules.","type":"boolean"}}},"Extends":{"description":"Extend configuration from another configuration (only works when using webpack-cli).","anyOf":[{"type":"array","items":{"$ref":"#/definitions/ExtendsItem"}},{"$ref":"#/definitions/ExtendsItem"}]},"ExtendsItem":{"description":"Path to the configuration to be extended (only works when using webpack-cli).","type":"string"},"ExternalItem":{"description":"Specify dependency that shouldn\'t be resolved by webpack, but should become dependencies of the resulting bundle. The kind of the dependency depends on `output.libraryTarget`.","anyOf":[{"description":"Every matched dependency becomes external.","instanceof":"RegExp","tsType":"RegExp"},{"description":"An exact matched dependency becomes external. The same string is used as external dependency.","type":"string"},{"description":"If an dependency matches exactly a property of the object, the property value is used as dependency.","type":"object","additionalProperties":{"$ref":"#/definitions/ExternalItemValue"},"properties":{"byLayer":{"description":"Specify externals depending on the layer.","anyOf":[{"type":"object","additionalProperties":{"$ref":"#/definitions/ExternalItem"}},{"instanceof":"Function","tsType":"((layer: string | null) => ExternalItem)"}]}}},{"description":"The function is called on each dependency (`function(context, request, callback(err, result))`).","instanceof":"Function","tsType":"(((data: ExternalItemFunctionData, callback: (err?: (Error | null), result?: ExternalItemValue) => void) => void) | ((data: ExternalItemFunctionData) => Promise))"}]},"ExternalItemFunctionData":{"description":"Data object passed as argument when a function is set for \'externals\'.","type":"object","additionalProperties":false,"properties":{"context":{"description":"The directory in which the request is placed.","type":"string"},"contextInfo":{"description":"Contextual information.","type":"object","tsType":"import(\'../lib/ModuleFactory\').ModuleFactoryCreateDataContextInfo"},"dependencyType":{"description":"The category of the referencing dependencies.","type":"string"},"getResolve":{"description":"Get a resolve function with the current resolver options.","instanceof":"Function","tsType":"((options?: ResolveOptions) => ((context: string, request: string, callback: (err?: Error, result?: string) => void) => void) | ((context: string, request: string) => Promise))"},"request":{"description":"The request as written by the user in the require/import expression/statement.","type":"string"}}},"ExternalItemValue":{"description":"The dependency used for the external.","anyOf":[{"type":"array","items":{"description":"A part of the target of the external.","type":"string","minLength":1}},{"description":"`true`: The dependency name is used as target of the external.","type":"boolean"},{"description":"The target of the external.","type":"string"},{"type":"object"}]},"Externals":{"description":"Specify dependencies that shouldn\'t be resolved by webpack, but should become dependencies of the resulting bundle. The kind of the dependency depends on `output.libraryTarget`.","anyOf":[{"type":"array","items":{"$ref":"#/definitions/ExternalItem"}},{"$ref":"#/definitions/ExternalItem"}]},"ExternalsPresets":{"description":"Enable presets of externals for specific targets.","type":"object","additionalProperties":false,"properties":{"electron":{"description":"Treat common electron built-in modules in main and preload context like \'electron\', \'ipc\' or \'shell\' as external and load them via require() when used.","type":"boolean"},"electronMain":{"description":"Treat electron built-in modules in the main context like \'app\', \'ipc-main\' or \'shell\' as external and load them via require() when used.","type":"boolean"},"electronPreload":{"description":"Treat electron built-in modules in the preload context like \'web-frame\', \'ipc-renderer\' or \'shell\' as external and load them via require() when used.","type":"boolean"},"electronRenderer":{"description":"Treat electron built-in modules in the renderer context like \'web-frame\', \'ipc-renderer\' or \'shell\' as external and load them via require() when used.","type":"boolean"},"node":{"description":"Treat node.js built-in modules like fs, path or vm as external and load them via require() when used.","type":"boolean"},"nwjs":{"description":"Treat NW.js legacy nw.gui module as external and load it via require() when used.","type":"boolean"},"web":{"description":"Treat references to \'http(s)://...\' and \'std:...\' as external and load them via import when used (Note that this changes execution order as externals are executed before any other code in the chunk).","type":"boolean"},"webAsync":{"description":"Treat references to \'http(s)://...\' and \'std:...\' as external and load them via async import() when used (Note that this external type is an async module, which has various effects on the execution).","type":"boolean"}}},"ExternalsType":{"description":"Specifies the default type of externals (\'amd*\', \'umd*\', \'system\' and \'jsonp\' depend on output.libraryTarget set to the same value).","enum":["var","module","assign","this","window","self","global","commonjs","commonjs2","commonjs-module","commonjs-static","amd","amd-require","umd","umd2","jsonp","system","promise","import","script","node-commonjs"]},"Falsy":{"description":"These values will be ignored by webpack and created to be used with \'&&\' or \'||\' to improve readability of configurations.","cli":{"exclude":true},"enum":[false,0,"",null],"undefinedAsNull":true,"tsType":"false | 0 | \'\' | null | undefined"},"FileCacheOptions":{"description":"Options object for persistent file-based caching.","type":"object","additionalProperties":false,"properties":{"allowCollectingMemory":{"description":"Allows to collect unused memory allocated during deserialization. This requires copying data into smaller buffers and has a performance cost.","type":"boolean"},"buildDependencies":{"description":"Dependencies the build depends on (in multiple categories, default categories: \'defaultWebpack\').","type":"object","additionalProperties":{"description":"List of dependencies the build depends on.","type":"array","items":{"description":"Request to a dependency (resolved as directory relative to the context directory).","type":"string","minLength":1}}},"cacheDirectory":{"description":"Base directory for the cache (defaults to node_modules/.cache/webpack).","type":"string","absolutePath":true},"cacheLocation":{"description":"Locations for the cache (defaults to cacheDirectory / name).","type":"string","absolutePath":true},"compression":{"description":"Compression type used for the cache files.","enum":[false,"gzip","brotli"]},"hashAlgorithm":{"description":"Algorithm used for generation the hash (see node.js crypto package).","type":"string"},"idleTimeout":{"description":"Time in ms after which idle period the cache storing should happen.","type":"number","minimum":0},"idleTimeoutAfterLargeChanges":{"description":"Time in ms after which idle period the cache storing should happen when larger changes has been detected (cumulative build time > 2 x avg cache store time).","type":"number","minimum":0},"idleTimeoutForInitialStore":{"description":"Time in ms after which idle period the initial cache storing should happen.","type":"number","minimum":0},"immutablePaths":{"description":"List of paths that are managed by a package manager and contain a version or hash in its path so all files are immutable.","type":"array","items":{"description":"List of paths that are managed by a package manager and contain a version or hash in its path so all files are immutable.","anyOf":[{"description":"A RegExp matching an immutable directory (usually a package manager cache directory, including the tailing slash)","instanceof":"RegExp","tsType":"RegExp"},{"description":"A path to an immutable directory (usually a package manager cache directory).","type":"string","absolutePath":true,"minLength":1}]}},"managedPaths":{"description":"List of paths that are managed by a package manager and can be trusted to not be modified otherwise.","type":"array","items":{"description":"List of paths that are managed by a package manager and can be trusted to not be modified otherwise.","anyOf":[{"description":"A RegExp matching a managed directory (usually a node_modules directory, including the tailing slash)","instanceof":"RegExp","tsType":"RegExp"},{"description":"A path to a managed directory (usually a node_modules directory).","type":"string","absolutePath":true,"minLength":1}]}},"maxAge":{"description":"Time for which unused cache entries stay in the filesystem cache at minimum (in milliseconds).","type":"number","minimum":0},"maxMemoryGenerations":{"description":"Number of generations unused cache entries stay in memory cache at minimum (0 = no memory cache used, 1 = may be removed after unused for a single compilation, ..., Infinity: kept forever). Cache entries will be deserialized from disk when removed from memory cache.","type":"number","minimum":0},"memoryCacheUnaffected":{"description":"Additionally cache computation of modules that are unchanged and reference only unchanged modules in memory.","type":"boolean"},"name":{"description":"Name for the cache. Different names will lead to different coexisting caches.","type":"string"},"profile":{"description":"Track and log detailed timing information for individual cache items.","type":"boolean"},"readonly":{"description":"Enable/disable readonly mode.","type":"boolean"},"store":{"description":"When to store data to the filesystem. (pack: Store data when compiler is idle in a single file).","enum":["pack"]},"type":{"description":"Filesystem caching.","enum":["filesystem"]},"version":{"description":"Version of the cache data. Different versions won\'t allow to reuse the cache and override existing content. Update the version when config changed in a way which doesn\'t allow to reuse cache. This will invalidate the cache.","type":"string"}},"required":["type"]},"Filename":{"description":"Specifies the filename of output files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by \'/\'! The specified path is joined with the value of the \'output.path\' option to determine the location on disk.","oneOf":[{"$ref":"#/definitions/FilenameTemplate"}]},"FilenameTemplate":{"description":"Specifies the filename template of output files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by \'/\'! The specified path is joined with the value of the \'output.path\' option to determine the location on disk.","anyOf":[{"type":"string","absolutePath":false,"minLength":1},{"instanceof":"Function","tsType":"((pathData: import(\\"../lib/Compilation\\").PathData, assetInfo?: import(\\"../lib/Compilation\\").AssetInfo) => string)"}]},"FilterItemTypes":{"description":"Filtering value, regexp or function.","cli":{"helper":true},"anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string","absolutePath":false},{"instanceof":"Function","tsType":"((value: string) => boolean)"}]},"FilterTypes":{"description":"Filtering values.","cli":{"helper":true},"anyOf":[{"type":"array","items":{"description":"Rule to filter.","cli":{"helper":true},"oneOf":[{"$ref":"#/definitions/FilterItemTypes"}]}},{"$ref":"#/definitions/FilterItemTypes"}]},"GeneratorOptionsByModuleType":{"description":"Specify options for each generator.","type":"object","additionalProperties":{"description":"Options for generating.","type":"object","additionalProperties":true},"properties":{"asset":{"$ref":"#/definitions/AssetGeneratorOptions"},"asset/inline":{"$ref":"#/definitions/AssetInlineGeneratorOptions"},"asset/resource":{"$ref":"#/definitions/AssetResourceGeneratorOptions"},"css":{"$ref":"#/definitions/CssGeneratorOptions"},"css/auto":{"$ref":"#/definitions/CssAutoGeneratorOptions"},"css/global":{"$ref":"#/definitions/CssGlobalGeneratorOptions"},"css/module":{"$ref":"#/definitions/CssModuleGeneratorOptions"},"javascript":{"$ref":"#/definitions/EmptyGeneratorOptions"},"javascript/auto":{"$ref":"#/definitions/EmptyGeneratorOptions"},"javascript/dynamic":{"$ref":"#/definitions/EmptyGeneratorOptions"},"javascript/esm":{"$ref":"#/definitions/EmptyGeneratorOptions"}}},"GlobalObject":{"description":"An expression which is used to address the global object/scope in runtime code.","type":"string","minLength":1},"HashDigest":{"description":"Digest type used for the hash.","type":"string"},"HashDigestLength":{"description":"Number of chars which are used for the hash.","type":"number","minimum":1},"HashFunction":{"description":"Algorithm used for generation the hash (see node.js crypto package).","anyOf":[{"type":"string","minLength":1},{"instanceof":"Function","tsType":"typeof import(\'../lib/util/Hash\')"}]},"HashSalt":{"description":"Any string which is added to the hash to salt it.","type":"string","minLength":1},"HotUpdateChunkFilename":{"description":"The filename of the Hot Update Chunks. They are inside the output.path directory.","type":"string","absolutePath":false},"HotUpdateGlobal":{"description":"The global variable used by webpack for loading of hot update chunks.","type":"string"},"HotUpdateMainFilename":{"description":"The filename of the Hot Update Main File. It is inside the \'output.path\' directory.","type":"string","absolutePath":false},"HttpUriAllowedUris":{"description":"List of allowed URIs for building http resources.","cli":{"exclude":true},"oneOf":[{"$ref":"#/definitions/HttpUriOptionsAllowedUris"}]},"HttpUriOptions":{"description":"Options for building http resources.","type":"object","additionalProperties":false,"properties":{"allowedUris":{"$ref":"#/definitions/HttpUriOptionsAllowedUris"},"cacheLocation":{"description":"Location where resource content is stored for lockfile entries. It\'s also possible to disable storing by passing false.","anyOf":[{"enum":[false]},{"type":"string","absolutePath":true}]},"frozen":{"description":"When set, anything that would lead to a modification of the lockfile or any resource content, will result in an error.","type":"boolean"},"lockfileLocation":{"description":"Location of the lockfile.","type":"string","absolutePath":true},"proxy":{"description":"Proxy configuration, which can be used to specify a proxy server to use for HTTP requests.","type":"string"},"upgrade":{"description":"When set, resources of existing lockfile entries will be fetched and entries will be upgraded when resource content has changed.","type":"boolean"}},"required":["allowedUris"]},"HttpUriOptionsAllowedUris":{"description":"List of allowed URIs (resp. the beginning of them).","type":"array","items":{"description":"List of allowed URIs (resp. the beginning of them).","anyOf":[{"description":"Allowed URI pattern.","instanceof":"RegExp","tsType":"RegExp"},{"description":"Allowed URI (resp. the beginning of it).","type":"string","pattern":"^https?://"},{"description":"Allowed URI filter function.","instanceof":"Function","tsType":"((uri: string) => boolean)"}]}},"IgnoreWarnings":{"description":"Ignore specific warnings.","type":"array","items":{"description":"Ignore specific warnings.","anyOf":[{"description":"A RegExp to select the warning message.","instanceof":"RegExp","tsType":"RegExp"},{"type":"object","additionalProperties":false,"properties":{"file":{"description":"A RegExp to select the origin file for the warning.","instanceof":"RegExp","tsType":"RegExp"},"message":{"description":"A RegExp to select the warning message.","instanceof":"RegExp","tsType":"RegExp"},"module":{"description":"A RegExp to select the origin module for the warning.","instanceof":"RegExp","tsType":"RegExp"}}},{"description":"A custom function to select warnings based on the raw warning instance.","instanceof":"Function","tsType":"((warning: import(\'../lib/WebpackError\'), compilation: import(\'../lib/Compilation\')) => boolean)"}]}},"IgnoreWarningsNormalized":{"description":"Ignore specific warnings.","type":"array","items":{"description":"A function to select warnings based on the raw warning instance.","instanceof":"Function","tsType":"((warning: import(\'../lib/WebpackError\'), compilation: import(\'../lib/Compilation\')) => boolean)"}},"Iife":{"description":"Wrap javascript code into IIFE\'s to avoid leaking into global scope.","type":"boolean"},"ImportFunctionName":{"description":"The name of the native import() function (can be exchanged for a polyfill).","type":"string"},"ImportMetaName":{"description":"The name of the native import.meta object (can be exchanged for a polyfill).","type":"string"},"InfrastructureLogging":{"description":"Options for infrastructure level logging.","type":"object","additionalProperties":false,"properties":{"appendOnly":{"description":"Only appends lines to the output. Avoids updating existing output e. g. for status messages. This option is only used when no custom console is provided.","type":"boolean"},"colors":{"description":"Enables/Disables colorful output. This option is only used when no custom console is provided.","type":"boolean"},"console":{"description":"Custom console used for logging.","tsType":"Console"},"debug":{"description":"Enable debug logging for specific loggers.","anyOf":[{"description":"Enable/Disable debug logging for all loggers.","type":"boolean"},{"$ref":"#/definitions/FilterTypes"}]},"level":{"description":"Log level.","enum":["none","error","warn","info","log","verbose"]},"stream":{"description":"Stream used for logging output. Defaults to process.stderr. This option is only used when no custom console is provided.","tsType":"NodeJS.WritableStream"}}},"JavascriptParserOptions":{"description":"Parser options for javascript modules.","type":"object","additionalProperties":true,"properties":{"amd":{"$ref":"#/definitions/Amd"},"browserify":{"description":"Enable/disable special handling for browserify bundles.","type":"boolean"},"commonjs":{"description":"Enable/disable parsing of CommonJs syntax.","type":"boolean"},"commonjsMagicComments":{"description":"Enable/disable parsing of magic comments in CommonJs syntax.","type":"boolean"},"createRequire":{"description":"Enable/disable parsing \\"import { createRequire } from \\"module\\"\\" and evaluating createRequire().","anyOf":[{"type":"boolean"},{"type":"string"}]},"dynamicImportFetchPriority":{"description":"Specifies global fetchPriority for dynamic import.","enum":["low","high","auto",false]},"dynamicImportMode":{"description":"Specifies global mode for dynamic import.","enum":["eager","weak","lazy","lazy-once"]},"dynamicImportPrefetch":{"description":"Specifies global prefetch for dynamic import.","anyOf":[{"type":"number"},{"type":"boolean"}]},"dynamicImportPreload":{"description":"Specifies global preload for dynamic import.","anyOf":[{"type":"number"},{"type":"boolean"}]},"exportsPresence":{"description":"Specifies the behavior of invalid export names in \\"import ... from ...\\" and \\"export ... from ...\\".","enum":["error","warn","auto",false]},"exprContextCritical":{"description":"Enable warnings for full dynamic dependencies.","type":"boolean"},"exprContextRecursive":{"description":"Enable recursive directory lookup for full dynamic dependencies.","type":"boolean"},"exprContextRegExp":{"description":"Sets the default regular expression for full dynamic dependencies.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"boolean"}]},"exprContextRequest":{"description":"Set the default request for full dynamic dependencies.","type":"string"},"harmony":{"description":"Enable/disable parsing of EcmaScript Modules syntax.","type":"boolean"},"import":{"description":"Enable/disable parsing of import() syntax.","type":"boolean"},"importExportsPresence":{"description":"Specifies the behavior of invalid export names in \\"import ... from ...\\".","enum":["error","warn","auto",false]},"importMeta":{"description":"Enable/disable evaluating import.meta.","type":"boolean"},"importMetaContext":{"description":"Enable/disable evaluating import.meta.webpackContext.","type":"boolean"},"node":{"$ref":"#/definitions/Node"},"reexportExportsPresence":{"description":"Specifies the behavior of invalid export names in \\"export ... from ...\\". This might be useful to disable during the migration from \\"export ... from ...\\" to \\"export type ... from ...\\" when reexporting types in TypeScript.","enum":["error","warn","auto",false]},"requireContext":{"description":"Enable/disable parsing of require.context syntax.","type":"boolean"},"requireEnsure":{"description":"Enable/disable parsing of require.ensure syntax.","type":"boolean"},"requireInclude":{"description":"Enable/disable parsing of require.include syntax.","type":"boolean"},"requireJs":{"description":"Enable/disable parsing of require.js special syntax like require.config, requirejs.config, require.version and requirejs.onError.","type":"boolean"},"strictExportPresence":{"description":"Deprecated in favor of \\"exportsPresence\\". Emit errors instead of warnings when imported names don\'t exist in imported module.","type":"boolean"},"strictThisContextOnImports":{"description":"Handle the this context correctly according to the spec for namespace objects.","type":"boolean"},"system":{"description":"Enable/disable parsing of System.js special syntax like System.import, System.get, System.set and System.register.","type":"boolean"},"unknownContextCritical":{"description":"Enable warnings when using the require function in a not statically analyse-able way.","type":"boolean"},"unknownContextRecursive":{"description":"Enable recursive directory lookup when using the require function in a not statically analyse-able way.","type":"boolean"},"unknownContextRegExp":{"description":"Sets the regular expression when using the require function in a not statically analyse-able way.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"boolean"}]},"unknownContextRequest":{"description":"Sets the request when using the require function in a not statically analyse-able way.","type":"string"},"url":{"description":"Enable/disable parsing of new URL() syntax.","anyOf":[{"enum":["relative"]},{"type":"boolean"}]},"worker":{"description":"Disable or configure parsing of WebWorker syntax like new Worker() or navigator.serviceWorker.register().","anyOf":[{"type":"array","items":{"description":"Specify a syntax that should be parsed as WebWorker reference. \'Abc\' handles \'new Abc()\', \'Abc from xyz\' handles \'import { Abc } from \\"xyz\\"; new Abc()\', \'abc()\' handles \'abc()\', and combinations are also possible.","type":"string","minLength":1}},{"type":"boolean"}]},"wrappedContextCritical":{"description":"Enable warnings for partial dynamic dependencies.","type":"boolean"},"wrappedContextRecursive":{"description":"Enable recursive directory lookup for partial dynamic dependencies.","type":"boolean"},"wrappedContextRegExp":{"description":"Set the inner regular expression for partial dynamic dependencies.","instanceof":"RegExp","tsType":"RegExp"}}},"Layer":{"description":"Specifies the layer in which modules of this entrypoint are placed.","anyOf":[{"enum":[null]},{"type":"string","minLength":1}]},"LazyCompilationDefaultBackendOptions":{"description":"Options for the default backend.","type":"object","additionalProperties":false,"properties":{"client":{"description":"A custom client.","type":"string"},"listen":{"description":"Specifies where to listen to from the server.","anyOf":[{"description":"A port.","type":"number"},{"description":"Listen options.","type":"object","additionalProperties":true,"properties":{"host":{"description":"A host.","type":"string"},"port":{"description":"A port.","type":"number"}},"tsType":"import(\\"net\\").ListenOptions"},{"description":"A custom listen function.","instanceof":"Function","tsType":"((server: import(\\"net\\").Server) => void)"}]},"protocol":{"description":"Specifies the protocol the client should use to connect to the server.","enum":["http","https"]},"server":{"description":"Specifies how to create the server handling the EventSource requests.","anyOf":[{"description":"ServerOptions for the http or https createServer call.","type":"object","additionalProperties":true,"properties":{},"tsType":"(import(\\"https\\").ServerOptions | import(\\"http\\").ServerOptions)"},{"description":"A custom create server function.","instanceof":"Function","tsType":"(() => import(\\"net\\").Server)"}]}}},"LazyCompilationOptions":{"description":"Options for compiling entrypoints and import()s only when they are accessed.","type":"object","additionalProperties":false,"properties":{"backend":{"description":"Specifies the backend that should be used for handling client keep alive.","anyOf":[{"description":"A custom backend.","instanceof":"Function","tsType":"(((compiler: import(\'../lib/Compiler\'), callback: (err?: Error, api?: import(\\"../lib/hmr/LazyCompilationPlugin\\").BackendApi) => void) => void) | ((compiler: import(\'../lib/Compiler\')) => Promise))"},{"$ref":"#/definitions/LazyCompilationDefaultBackendOptions"}]},"entries":{"description":"Enable/disable lazy compilation for entries.","type":"boolean"},"imports":{"description":"Enable/disable lazy compilation for import() modules.","type":"boolean"},"test":{"description":"Specify which entrypoints or import()ed modules should be lazily compiled. This is matched with the imported module and not the entrypoint name.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string"},{"instanceof":"Function","tsType":"((module: import(\'../lib/Module\')) => boolean)"}]}}},"Library":{"description":"Make the output files a library, exporting the exports of the entry point.","anyOf":[{"$ref":"#/definitions/LibraryName"},{"$ref":"#/definitions/LibraryOptions"}]},"LibraryCustomUmdCommentObject":{"description":"Set explicit comments for `commonjs`, `commonjs2`, `amd`, and `root`.","type":"object","additionalProperties":false,"properties":{"amd":{"description":"Set comment for `amd` section in UMD.","type":"string"},"commonjs":{"description":"Set comment for `commonjs` (exports) section in UMD.","type":"string"},"commonjs2":{"description":"Set comment for `commonjs2` (module.exports) section in UMD.","type":"string"},"root":{"description":"Set comment for `root` (global variable) section in UMD.","type":"string"}}},"LibraryCustomUmdObject":{"description":"Description object for all UMD variants of the library name.","type":"object","additionalProperties":false,"properties":{"amd":{"description":"Name of the exposed AMD library in the UMD.","type":"string","minLength":1},"commonjs":{"description":"Name of the exposed commonjs export in the UMD.","type":"string","minLength":1},"root":{"description":"Name of the property exposed globally by a UMD library.","anyOf":[{"type":"array","items":{"description":"Part of the name of the property exposed globally by a UMD library.","type":"string","minLength":1}},{"type":"string","minLength":1}]}}},"LibraryExport":{"description":"Specify which export should be exposed as library.","anyOf":[{"type":"array","items":{"description":"Part of the export that should be exposed as library.","type":"string","minLength":1}},{"type":"string","minLength":1}]},"LibraryName":{"description":"The name of the library (some types allow unnamed libraries too).","anyOf":[{"type":"array","items":{"description":"A part of the library name.","type":"string","minLength":1},"minItems":1},{"type":"string","minLength":1},{"$ref":"#/definitions/LibraryCustomUmdObject"}]},"LibraryOptions":{"description":"Options for library.","type":"object","additionalProperties":false,"properties":{"amdContainer":{"$ref":"#/definitions/AmdContainer"},"auxiliaryComment":{"$ref":"#/definitions/AuxiliaryComment"},"export":{"$ref":"#/definitions/LibraryExport"},"name":{"$ref":"#/definitions/LibraryName"},"type":{"$ref":"#/definitions/LibraryType"},"umdNamedDefine":{"$ref":"#/definitions/UmdNamedDefine"}},"required":["type"]},"LibraryType":{"description":"Type of library (types included by default are \'var\', \'module\', \'assign\', \'assign-properties\', \'this\', \'window\', \'self\', \'global\', \'commonjs\', \'commonjs2\', \'commonjs-module\', \'commonjs-static\', \'amd\', \'amd-require\', \'umd\', \'umd2\', \'jsonp\', \'system\', but others might be added by plugins).","anyOf":[{"enum":["var","module","assign","assign-properties","this","window","self","global","commonjs","commonjs2","commonjs-module","commonjs-static","amd","amd-require","umd","umd2","jsonp","system"]},{"type":"string"}]},"Loader":{"description":"Custom values available in the loader context.","type":"object"},"MemoryCacheOptions":{"description":"Options object for in-memory caching.","type":"object","additionalProperties":false,"properties":{"cacheUnaffected":{"description":"Additionally cache computation of modules that are unchanged and reference only unchanged modules.","type":"boolean"},"maxGenerations":{"description":"Number of generations unused cache entries stay in memory cache at minimum (1 = may be removed after unused for a single compilation, ..., Infinity: kept forever).","type":"number","minimum":1},"type":{"description":"In memory caching.","enum":["memory"]}},"required":["type"]},"Mode":{"description":"Enable production optimizations or development hints.","enum":["development","production","none"]},"ModuleFilterItemTypes":{"description":"Filtering value, regexp or function.","cli":{"helper":true},"anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string","absolutePath":false},{"instanceof":"Function","tsType":"((name: string, module: import(\'../lib/stats/DefaultStatsFactoryPlugin\').StatsModule, type: \'module\' | \'chunk\' | \'root-of-chunk\' | \'nested\') => boolean)"}]},"ModuleFilterTypes":{"description":"Filtering modules.","cli":{"helper":true},"anyOf":[{"type":"array","items":{"description":"Rule to filter.","cli":{"helper":true},"oneOf":[{"$ref":"#/definitions/ModuleFilterItemTypes"}]}},{"$ref":"#/definitions/ModuleFilterItemTypes"}]},"ModuleOptions":{"description":"Options affecting the normal modules (`NormalModuleFactory`).","type":"object","additionalProperties":false,"properties":{"defaultRules":{"description":"An array of rules applied by default for modules.","cli":{"exclude":true},"oneOf":[{"$ref":"#/definitions/RuleSetRules"}]},"exprContextCritical":{"description":"Enable warnings for full dynamic dependencies.","type":"boolean"},"exprContextRecursive":{"description":"Enable recursive directory lookup for full dynamic dependencies. Deprecated: This option has moved to \'module.parser.javascript.exprContextRecursive\'.","type":"boolean"},"exprContextRegExp":{"description":"Sets the default regular expression for full dynamic dependencies. Deprecated: This option has moved to \'module.parser.javascript.exprContextRegExp\'.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"boolean"}]},"exprContextRequest":{"description":"Set the default request for full dynamic dependencies. Deprecated: This option has moved to \'module.parser.javascript.exprContextRequest\'.","type":"string"},"generator":{"$ref":"#/definitions/GeneratorOptionsByModuleType"},"noParse":{"$ref":"#/definitions/NoParse"},"parser":{"$ref":"#/definitions/ParserOptionsByModuleType"},"rules":{"description":"An array of rules applied for modules.","oneOf":[{"$ref":"#/definitions/RuleSetRules"}]},"strictExportPresence":{"description":"Emit errors instead of warnings when imported names don\'t exist in imported module. Deprecated: This option has moved to \'module.parser.javascript.strictExportPresence\'.","type":"boolean"},"strictThisContextOnImports":{"description":"Handle the this context correctly according to the spec for namespace objects. Deprecated: This option has moved to \'module.parser.javascript.strictThisContextOnImports\'.","type":"boolean"},"unknownContextCritical":{"description":"Enable warnings when using the require function in a not statically analyse-able way. Deprecated: This option has moved to \'module.parser.javascript.unknownContextCritical\'.","type":"boolean"},"unknownContextRecursive":{"description":"Enable recursive directory lookup when using the require function in a not statically analyse-able way. Deprecated: This option has moved to \'module.parser.javascript.unknownContextRecursive\'.","type":"boolean"},"unknownContextRegExp":{"description":"Sets the regular expression when using the require function in a not statically analyse-able way. Deprecated: This option has moved to \'module.parser.javascript.unknownContextRegExp\'.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"boolean"}]},"unknownContextRequest":{"description":"Sets the request when using the require function in a not statically analyse-able way. Deprecated: This option has moved to \'module.parser.javascript.unknownContextRequest\'.","type":"string"},"unsafeCache":{"description":"Cache the resolving of module requests.","anyOf":[{"type":"boolean"},{"instanceof":"Function","tsType":"Function"}]},"wrappedContextCritical":{"description":"Enable warnings for partial dynamic dependencies. Deprecated: This option has moved to \'module.parser.javascript.wrappedContextCritical\'.","type":"boolean"},"wrappedContextRecursive":{"description":"Enable recursive directory lookup for partial dynamic dependencies. Deprecated: This option has moved to \'module.parser.javascript.wrappedContextRecursive\'.","type":"boolean"},"wrappedContextRegExp":{"description":"Set the inner regular expression for partial dynamic dependencies. Deprecated: This option has moved to \'module.parser.javascript.wrappedContextRegExp\'.","instanceof":"RegExp","tsType":"RegExp"}}},"ModuleOptionsNormalized":{"description":"Options affecting the normal modules (`NormalModuleFactory`).","type":"object","additionalProperties":false,"properties":{"defaultRules":{"description":"An array of rules applied by default for modules.","cli":{"exclude":true},"oneOf":[{"$ref":"#/definitions/RuleSetRules"}]},"generator":{"$ref":"#/definitions/GeneratorOptionsByModuleType"},"noParse":{"$ref":"#/definitions/NoParse"},"parser":{"$ref":"#/definitions/ParserOptionsByModuleType"},"rules":{"description":"An array of rules applied for modules.","oneOf":[{"$ref":"#/definitions/RuleSetRules"}]},"unsafeCache":{"description":"Cache the resolving of module requests.","anyOf":[{"type":"boolean"},{"instanceof":"Function","tsType":"Function"}]}},"required":["defaultRules","generator","parser","rules"]},"Name":{"description":"Name of the configuration. Used when loading multiple configurations.","type":"string"},"NoParse":{"description":"Don\'t parse files matching. It\'s matched against the full resolved request.","anyOf":[{"type":"array","items":{"description":"Don\'t parse files matching. It\'s matched against the full resolved request.","anyOf":[{"description":"A regular expression, when matched the module is not parsed.","instanceof":"RegExp","tsType":"RegExp"},{"description":"An absolute path, when the module starts with this path it is not parsed.","type":"string","absolutePath":true},{"instanceof":"Function","tsType":"Function"}]},"minItems":1},{"description":"A regular expression, when matched the module is not parsed.","instanceof":"RegExp","tsType":"RegExp"},{"description":"An absolute path, when the module starts with this path it is not parsed.","type":"string","absolutePath":true},{"instanceof":"Function","tsType":"Function"}]},"Node":{"description":"Include polyfills or mocks for various node stuff.","anyOf":[{"enum":[false]},{"$ref":"#/definitions/NodeOptions"}]},"NodeOptions":{"description":"Options object for node compatibility features.","type":"object","additionalProperties":false,"properties":{"__dirname":{"description":"Include a polyfill for the \'__dirname\' variable.","enum":[false,true,"warn-mock","mock","node-module","eval-only"]},"__filename":{"description":"Include a polyfill for the \'__filename\' variable.","enum":[false,true,"warn-mock","mock","node-module","eval-only"]},"global":{"description":"Include a polyfill for the \'global\' variable.","enum":[false,true,"warn"]}}},"Optimization":{"description":"Enables/Disables integrated optimizations.","type":"object","additionalProperties":false,"properties":{"checkWasmTypes":{"description":"Check for incompatible wasm types when importing/exporting from/to ESM.","type":"boolean"},"chunkIds":{"description":"Define the algorithm to choose chunk ids (named: readable ids for better debugging, deterministic: numeric hash ids for better long term caching, size: numeric ids focused on minimal initial download size, total-size: numeric ids focused on minimal total download size, false: no algorithm used, as custom one can be provided via plugin).","enum":["natural","named","deterministic","size","total-size",false]},"concatenateModules":{"description":"Concatenate modules when possible to generate less modules, more efficient code and enable more optimizations by the minimizer.","type":"boolean"},"emitOnErrors":{"description":"Emit assets even when errors occur. Critical errors are emitted into the generated code and will cause errors at runtime.","type":"boolean"},"flagIncludedChunks":{"description":"Also flag chunks as loaded which contain a subset of the modules.","type":"boolean"},"innerGraph":{"description":"Creates a module-internal dependency graph for top level symbols, exports and imports, to improve unused exports detection.","type":"boolean"},"mangleExports":{"description":"Rename exports when possible to generate shorter code (depends on optimization.usedExports and optimization.providedExports, true/\\"deterministic\\": generate short deterministic names optimized for caching, \\"size\\": generate the shortest possible names).","anyOf":[{"enum":["size","deterministic"]},{"type":"boolean"}]},"mangleWasmImports":{"description":"Reduce size of WASM by changing imports to shorter strings.","type":"boolean"},"mergeDuplicateChunks":{"description":"Merge chunks which contain the same modules.","type":"boolean"},"minimize":{"description":"Enable minimizing the output. Uses optimization.minimizer.","type":"boolean"},"minimizer":{"description":"Minimizer(s) to use for minimizing the output.","type":"array","cli":{"exclude":true},"items":{"description":"Plugin of type object or instanceof Function.","anyOf":[{"enum":["..."]},{"$ref":"#/definitions/Falsy"},{"$ref":"#/definitions/WebpackPluginInstance"},{"$ref":"#/definitions/WebpackPluginFunction"}]}},"moduleIds":{"description":"Define the algorithm to choose module ids (natural: numeric ids in order of usage, named: readable ids for better debugging, hashed: (deprecated) short hashes as ids for better long term caching, deterministic: numeric hash ids for better long term caching, size: numeric ids focused on minimal initial download size, false: no algorithm used, as custom one can be provided via plugin).","enum":["natural","named","hashed","deterministic","size",false]},"noEmitOnErrors":{"description":"Avoid emitting assets when errors occur (deprecated: use \'emitOnErrors\' instead).","type":"boolean","cli":{"exclude":true}},"nodeEnv":{"description":"Set process.env.NODE_ENV to a specific value.","anyOf":[{"enum":[false]},{"type":"string"}]},"portableRecords":{"description":"Generate records with relative paths to be able to move the context folder.","type":"boolean"},"providedExports":{"description":"Figure out which exports are provided by modules to generate more efficient code.","type":"boolean"},"realContentHash":{"description":"Use real [contenthash] based on final content of the assets.","type":"boolean"},"removeAvailableModules":{"description":"Removes modules from chunks when these modules are already included in all parents.","type":"boolean"},"removeEmptyChunks":{"description":"Remove chunks which are empty.","type":"boolean"},"runtimeChunk":{"$ref":"#/definitions/OptimizationRuntimeChunk"},"sideEffects":{"description":"Skip over modules which contain no side effects when exports are not used (false: disabled, \'flag\': only use manually placed side effects flag, true: also analyse source code for side effects).","anyOf":[{"enum":["flag"]},{"type":"boolean"}]},"splitChunks":{"description":"Optimize duplication and caching by splitting chunks by shared modules and cache group.","anyOf":[{"enum":[false]},{"$ref":"#/definitions/OptimizationSplitChunksOptions"}]},"usedExports":{"description":"Figure out which exports are used by modules to mangle export names, omit unused exports and generate more efficient code (true: analyse used exports for each runtime, \\"global\\": analyse exports globally for all runtimes combined).","anyOf":[{"enum":["global"]},{"type":"boolean"}]}}},"OptimizationRuntimeChunk":{"description":"Create an additional chunk which contains only the webpack runtime and chunk hash maps.","anyOf":[{"enum":["single","multiple"]},{"type":"boolean"},{"type":"object","additionalProperties":false,"properties":{"name":{"description":"The name or name factory for the runtime chunks.","anyOf":[{"type":"string"},{"instanceof":"Function","tsType":"Function"}]}}}]},"OptimizationRuntimeChunkNormalized":{"description":"Create an additional chunk which contains only the webpack runtime and chunk hash maps.","anyOf":[{"enum":[false]},{"type":"object","additionalProperties":false,"properties":{"name":{"description":"The name factory for the runtime chunks.","instanceof":"Function","tsType":"Function"}}}]},"OptimizationSplitChunksCacheGroup":{"description":"Options object for describing behavior of a cache group selecting modules that should be cached together.","type":"object","additionalProperties":false,"properties":{"automaticNameDelimiter":{"description":"Sets the name delimiter for created chunks.","type":"string","minLength":1},"chunks":{"description":"Select chunks for determining cache group content (defaults to \\"initial\\", \\"initial\\" and \\"all\\" requires adding these chunks to the HTML).","anyOf":[{"enum":["initial","async","all"]},{"instanceof":"RegExp","tsType":"RegExp"},{"instanceof":"Function","tsType":"((chunk: import(\'../lib/Chunk\')) => boolean)"}]},"enforce":{"description":"Ignore minimum size, minimum chunks and maximum requests and always create chunks for this cache group.","type":"boolean"},"enforceSizeThreshold":{"description":"Size threshold at which splitting is enforced and other restrictions (minRemainingSize, maxAsyncRequests, maxInitialRequests) are ignored.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"filename":{"description":"Sets the template for the filename for created chunks.","anyOf":[{"type":"string","absolutePath":false,"minLength":1},{"instanceof":"Function","tsType":"((pathData: import(\\"../lib/Compilation\\").PathData, assetInfo?: import(\\"../lib/Compilation\\").AssetInfo) => string)"}]},"idHint":{"description":"Sets the hint for chunk id.","type":"string"},"layer":{"description":"Assign modules to a cache group by module layer.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string"},{"instanceof":"Function","tsType":"Function"}]},"maxAsyncRequests":{"description":"Maximum number of requests which are accepted for on-demand loading.","type":"number","minimum":1},"maxAsyncSize":{"description":"Maximal size hint for the on-demand chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"maxInitialRequests":{"description":"Maximum number of initial chunks which are accepted for an entry point.","type":"number","minimum":1},"maxInitialSize":{"description":"Maximal size hint for the initial chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"maxSize":{"description":"Maximal size hint for the created chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"minChunks":{"description":"Minimum number of times a module has to be duplicated until it\'s considered for splitting.","type":"number","minimum":1},"minRemainingSize":{"description":"Minimal size for the chunks the stay after moving the modules to a new chunk.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"minSize":{"description":"Minimal size for the created chunk.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"minSizeReduction":{"description":"Minimum size reduction due to the created chunk.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"name":{"description":"Give chunks for this cache group a name (chunks with equal name are merged).","anyOf":[{"enum":[false]},{"type":"string"},{"instanceof":"Function","tsType":"Function"}]},"priority":{"description":"Priority of this cache group.","type":"number"},"reuseExistingChunk":{"description":"Try to reuse existing chunk (with name) when it has matching modules.","type":"boolean"},"test":{"description":"Assign modules to a cache group by module name.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string"},{"instanceof":"Function","tsType":"Function"}]},"type":{"description":"Assign modules to a cache group by module type.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string"},{"instanceof":"Function","tsType":"Function"}]},"usedExports":{"description":"Compare used exports when checking common modules. Modules will only be put in the same chunk when exports are equal.","type":"boolean"}}},"OptimizationSplitChunksGetCacheGroups":{"description":"A function returning cache groups.","instanceof":"Function","tsType":"((module: import(\'../lib/Module\')) => OptimizationSplitChunksCacheGroup | OptimizationSplitChunksCacheGroup[] | void)"},"OptimizationSplitChunksOptions":{"description":"Options object for splitting chunks into smaller chunks.","type":"object","additionalProperties":false,"properties":{"automaticNameDelimiter":{"description":"Sets the name delimiter for created chunks.","type":"string","minLength":1},"cacheGroups":{"description":"Assign modules to a cache group (modules from different cache groups are tried to keep in separate chunks, default categories: \'default\', \'defaultVendors\').","type":"object","additionalProperties":{"description":"Configuration for a cache group.","anyOf":[{"enum":[false]},{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string"},{"instanceof":"Function","tsType":"Function"},{"$ref":"#/definitions/OptimizationSplitChunksCacheGroup"}]},"not":{"description":"Using the cacheGroup shorthand syntax with a cache group named \'test\' is a potential config error\\nDid you intent to define a cache group with a test instead?\\ncacheGroups: {\\n : {\\n test: ...\\n }\\n}.","type":"object","additionalProperties":true,"properties":{"test":{"description":"The test property is a cache group name, but using the test option of the cache group could be intended instead.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string"},{"instanceof":"Function","tsType":"Function"}]}},"required":["test"]}},"chunks":{"description":"Select chunks for determining shared modules (defaults to \\"async\\", \\"initial\\" and \\"all\\" requires adding these chunks to the HTML).","anyOf":[{"enum":["initial","async","all"]},{"instanceof":"RegExp","tsType":"RegExp"},{"instanceof":"Function","tsType":"((chunk: import(\'../lib/Chunk\')) => boolean)"}]},"defaultSizeTypes":{"description":"Sets the size types which are used when a number is used for sizes.","type":"array","items":{"description":"Size type, like \'javascript\', \'webassembly\'.","type":"string"},"minItems":1},"enforceSizeThreshold":{"description":"Size threshold at which splitting is enforced and other restrictions (minRemainingSize, maxAsyncRequests, maxInitialRequests) are ignored.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"fallbackCacheGroup":{"description":"Options for modules not selected by any other cache group.","type":"object","additionalProperties":false,"properties":{"automaticNameDelimiter":{"description":"Sets the name delimiter for created chunks.","type":"string","minLength":1},"chunks":{"description":"Select chunks for determining shared modules (defaults to \\"async\\", \\"initial\\" and \\"all\\" requires adding these chunks to the HTML).","anyOf":[{"enum":["initial","async","all"]},{"instanceof":"RegExp","tsType":"RegExp"},{"instanceof":"Function","tsType":"((chunk: import(\'../lib/Chunk\')) => boolean)"}]},"maxAsyncSize":{"description":"Maximal size hint for the on-demand chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"maxInitialSize":{"description":"Maximal size hint for the initial chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"maxSize":{"description":"Maximal size hint for the created chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"minSize":{"description":"Minimal size for the created chunk.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"minSizeReduction":{"description":"Minimum size reduction due to the created chunk.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]}}},"filename":{"description":"Sets the template for the filename for created chunks.","anyOf":[{"type":"string","absolutePath":false,"minLength":1},{"instanceof":"Function","tsType":"((pathData: import(\\"../lib/Compilation\\").PathData, assetInfo?: import(\\"../lib/Compilation\\").AssetInfo) => string)"}]},"hidePathInfo":{"description":"Prevents exposing path info when creating names for parts splitted by maxSize.","type":"boolean"},"maxAsyncRequests":{"description":"Maximum number of requests which are accepted for on-demand loading.","type":"number","minimum":1},"maxAsyncSize":{"description":"Maximal size hint for the on-demand chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"maxInitialRequests":{"description":"Maximum number of initial chunks which are accepted for an entry point.","type":"number","minimum":1},"maxInitialSize":{"description":"Maximal size hint for the initial chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"maxSize":{"description":"Maximal size hint for the created chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"minChunks":{"description":"Minimum number of times a module has to be duplicated until it\'s considered for splitting.","type":"number","minimum":1},"minRemainingSize":{"description":"Minimal size for the chunks the stay after moving the modules to a new chunk.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"minSize":{"description":"Minimal size for the created chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"minSizeReduction":{"description":"Minimum size reduction due to the created chunk.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"name":{"description":"Give chunks created a name (chunks with equal name are merged).","anyOf":[{"enum":[false]},{"type":"string"},{"instanceof":"Function","tsType":"Function"}]},"usedExports":{"description":"Compare used exports when checking common modules. Modules will only be put in the same chunk when exports are equal.","type":"boolean"}}},"OptimizationSplitChunksSizes":{"description":"Size description for limits.","anyOf":[{"description":"Size of the javascript part of the chunk.","type":"number","minimum":0},{"description":"Specify size limits per size type.","type":"object","additionalProperties":{"description":"Size of the part of the chunk with the type of the key.","type":"number"}}]},"Output":{"description":"Options affecting the output of the compilation. `output` options tell webpack how to write the compiled files to disk.","type":"object","additionalProperties":false,"properties":{"amdContainer":{"cli":{"exclude":true},"oneOf":[{"$ref":"#/definitions/AmdContainer"}]},"assetModuleFilename":{"$ref":"#/definitions/AssetModuleFilename"},"asyncChunks":{"description":"Enable/disable creating async chunks that are loaded on demand.","type":"boolean"},"auxiliaryComment":{"cli":{"exclude":true},"oneOf":[{"$ref":"#/definitions/AuxiliaryComment"}]},"charset":{"$ref":"#/definitions/Charset"},"chunkFilename":{"$ref":"#/definitions/ChunkFilename"},"chunkFormat":{"$ref":"#/definitions/ChunkFormat"},"chunkLoadTimeout":{"$ref":"#/definitions/ChunkLoadTimeout"},"chunkLoading":{"$ref":"#/definitions/ChunkLoading"},"chunkLoadingGlobal":{"$ref":"#/definitions/ChunkLoadingGlobal"},"clean":{"$ref":"#/definitions/Clean"},"compareBeforeEmit":{"$ref":"#/definitions/CompareBeforeEmit"},"crossOriginLoading":{"$ref":"#/definitions/CrossOriginLoading"},"cssChunkFilename":{"$ref":"#/definitions/CssChunkFilename"},"cssFilename":{"$ref":"#/definitions/CssFilename"},"devtoolFallbackModuleFilenameTemplate":{"$ref":"#/definitions/DevtoolFallbackModuleFilenameTemplate"},"devtoolModuleFilenameTemplate":{"$ref":"#/definitions/DevtoolModuleFilenameTemplate"},"devtoolNamespace":{"$ref":"#/definitions/DevtoolNamespace"},"enabledChunkLoadingTypes":{"$ref":"#/definitions/EnabledChunkLoadingTypes"},"enabledLibraryTypes":{"$ref":"#/definitions/EnabledLibraryTypes"},"enabledWasmLoadingTypes":{"$ref":"#/definitions/EnabledWasmLoadingTypes"},"environment":{"$ref":"#/definitions/Environment"},"filename":{"$ref":"#/definitions/Filename"},"globalObject":{"$ref":"#/definitions/GlobalObject"},"hashDigest":{"$ref":"#/definitions/HashDigest"},"hashDigestLength":{"$ref":"#/definitions/HashDigestLength"},"hashFunction":{"$ref":"#/definitions/HashFunction"},"hashSalt":{"$ref":"#/definitions/HashSalt"},"hotUpdateChunkFilename":{"$ref":"#/definitions/HotUpdateChunkFilename"},"hotUpdateGlobal":{"$ref":"#/definitions/HotUpdateGlobal"},"hotUpdateMainFilename":{"$ref":"#/definitions/HotUpdateMainFilename"},"ignoreBrowserWarnings":{"description":"Ignore warnings in the browser.","type":"boolean"},"iife":{"$ref":"#/definitions/Iife"},"importFunctionName":{"$ref":"#/definitions/ImportFunctionName"},"importMetaName":{"$ref":"#/definitions/ImportMetaName"},"library":{"$ref":"#/definitions/Library"},"libraryExport":{"cli":{"exclude":true},"oneOf":[{"$ref":"#/definitions/LibraryExport"}]},"libraryTarget":{"cli":{"exclude":true},"oneOf":[{"$ref":"#/definitions/LibraryType"}]},"module":{"$ref":"#/definitions/OutputModule"},"path":{"$ref":"#/definitions/Path"},"pathinfo":{"$ref":"#/definitions/Pathinfo"},"publicPath":{"$ref":"#/definitions/PublicPath"},"scriptType":{"$ref":"#/definitions/ScriptType"},"sourceMapFilename":{"$ref":"#/definitions/SourceMapFilename"},"sourcePrefix":{"$ref":"#/definitions/SourcePrefix"},"strictModuleErrorHandling":{"$ref":"#/definitions/StrictModuleErrorHandling"},"strictModuleExceptionHandling":{"$ref":"#/definitions/StrictModuleExceptionHandling"},"trustedTypes":{"description":"Use a Trusted Types policy to create urls for chunks. \'output.uniqueName\' is used a default policy name. Passing a string sets a custom policy name.","anyOf":[{"enum":[true]},{"description":"The name of the Trusted Types policy created by webpack to serve bundle chunks.","type":"string","minLength":1},{"$ref":"#/definitions/TrustedTypes"}]},"umdNamedDefine":{"cli":{"exclude":true},"oneOf":[{"$ref":"#/definitions/UmdNamedDefine"}]},"uniqueName":{"$ref":"#/definitions/UniqueName"},"wasmLoading":{"$ref":"#/definitions/WasmLoading"},"webassemblyModuleFilename":{"$ref":"#/definitions/WebassemblyModuleFilename"},"workerChunkLoading":{"$ref":"#/definitions/ChunkLoading"},"workerPublicPath":{"$ref":"#/definitions/WorkerPublicPath"},"workerWasmLoading":{"$ref":"#/definitions/WasmLoading"}}},"OutputModule":{"description":"Output javascript files as module source type.","type":"boolean"},"OutputNormalized":{"description":"Normalized options affecting the output of the compilation. `output` options tell webpack how to write the compiled files to disk.","type":"object","additionalProperties":false,"properties":{"assetModuleFilename":{"$ref":"#/definitions/AssetModuleFilename"},"asyncChunks":{"description":"Enable/disable creating async chunks that are loaded on demand.","type":"boolean"},"charset":{"$ref":"#/definitions/Charset"},"chunkFilename":{"$ref":"#/definitions/ChunkFilename"},"chunkFormat":{"$ref":"#/definitions/ChunkFormat"},"chunkLoadTimeout":{"$ref":"#/definitions/ChunkLoadTimeout"},"chunkLoading":{"$ref":"#/definitions/ChunkLoading"},"chunkLoadingGlobal":{"$ref":"#/definitions/ChunkLoadingGlobal"},"clean":{"$ref":"#/definitions/Clean"},"compareBeforeEmit":{"$ref":"#/definitions/CompareBeforeEmit"},"crossOriginLoading":{"$ref":"#/definitions/CrossOriginLoading"},"cssChunkFilename":{"$ref":"#/definitions/CssChunkFilename"},"cssFilename":{"$ref":"#/definitions/CssFilename"},"devtoolFallbackModuleFilenameTemplate":{"$ref":"#/definitions/DevtoolFallbackModuleFilenameTemplate"},"devtoolModuleFilenameTemplate":{"$ref":"#/definitions/DevtoolModuleFilenameTemplate"},"devtoolNamespace":{"$ref":"#/definitions/DevtoolNamespace"},"enabledChunkLoadingTypes":{"$ref":"#/definitions/EnabledChunkLoadingTypes"},"enabledLibraryTypes":{"$ref":"#/definitions/EnabledLibraryTypes"},"enabledWasmLoadingTypes":{"$ref":"#/definitions/EnabledWasmLoadingTypes"},"environment":{"$ref":"#/definitions/Environment"},"filename":{"$ref":"#/definitions/Filename"},"globalObject":{"$ref":"#/definitions/GlobalObject"},"hashDigest":{"$ref":"#/definitions/HashDigest"},"hashDigestLength":{"$ref":"#/definitions/HashDigestLength"},"hashFunction":{"$ref":"#/definitions/HashFunction"},"hashSalt":{"$ref":"#/definitions/HashSalt"},"hotUpdateChunkFilename":{"$ref":"#/definitions/HotUpdateChunkFilename"},"hotUpdateGlobal":{"$ref":"#/definitions/HotUpdateGlobal"},"hotUpdateMainFilename":{"$ref":"#/definitions/HotUpdateMainFilename"},"ignoreBrowserWarnings":{"description":"Ignore warnings in the browser.","type":"boolean"},"iife":{"$ref":"#/definitions/Iife"},"importFunctionName":{"$ref":"#/definitions/ImportFunctionName"},"importMetaName":{"$ref":"#/definitions/ImportMetaName"},"library":{"$ref":"#/definitions/LibraryOptions"},"module":{"$ref":"#/definitions/OutputModule"},"path":{"$ref":"#/definitions/Path"},"pathinfo":{"$ref":"#/definitions/Pathinfo"},"publicPath":{"$ref":"#/definitions/PublicPath"},"scriptType":{"$ref":"#/definitions/ScriptType"},"sourceMapFilename":{"$ref":"#/definitions/SourceMapFilename"},"sourcePrefix":{"$ref":"#/definitions/SourcePrefix"},"strictModuleErrorHandling":{"$ref":"#/definitions/StrictModuleErrorHandling"},"strictModuleExceptionHandling":{"$ref":"#/definitions/StrictModuleExceptionHandling"},"trustedTypes":{"$ref":"#/definitions/TrustedTypes"},"uniqueName":{"$ref":"#/definitions/UniqueName"},"wasmLoading":{"$ref":"#/definitions/WasmLoading"},"webassemblyModuleFilename":{"$ref":"#/definitions/WebassemblyModuleFilename"},"workerChunkLoading":{"$ref":"#/definitions/ChunkLoading"},"workerPublicPath":{"$ref":"#/definitions/WorkerPublicPath"},"workerWasmLoading":{"$ref":"#/definitions/WasmLoading"}}},"Parallelism":{"description":"The number of parallel processed modules in the compilation.","type":"number","minimum":1},"ParserOptionsByModuleType":{"description":"Specify options for each parser.","type":"object","additionalProperties":{"description":"Options for parsing.","type":"object","additionalProperties":true},"properties":{"asset":{"$ref":"#/definitions/AssetParserOptions"},"asset/inline":{"$ref":"#/definitions/EmptyParserOptions"},"asset/resource":{"$ref":"#/definitions/EmptyParserOptions"},"asset/source":{"$ref":"#/definitions/EmptyParserOptions"},"css":{"$ref":"#/definitions/CssParserOptions"},"css/auto":{"$ref":"#/definitions/CssAutoParserOptions"},"css/global":{"$ref":"#/definitions/CssGlobalParserOptions"},"css/module":{"$ref":"#/definitions/CssModuleParserOptions"},"javascript":{"$ref":"#/definitions/JavascriptParserOptions"},"javascript/auto":{"$ref":"#/definitions/JavascriptParserOptions"},"javascript/dynamic":{"$ref":"#/definitions/JavascriptParserOptions"},"javascript/esm":{"$ref":"#/definitions/JavascriptParserOptions"}}},"Path":{"description":"The output directory as **absolute path** (required).","type":"string","absolutePath":true},"Pathinfo":{"description":"Include comments with information about the modules.","anyOf":[{"enum":["verbose"]},{"type":"boolean"}]},"Performance":{"description":"Configuration for web performance recommendations.","anyOf":[{"enum":[false]},{"$ref":"#/definitions/PerformanceOptions"}]},"PerformanceOptions":{"description":"Configuration object for web performance recommendations.","type":"object","additionalProperties":false,"properties":{"assetFilter":{"description":"Filter function to select assets that are checked.","instanceof":"Function","tsType":"Function"},"hints":{"description":"Sets the format of the hints: warnings, errors or nothing at all.","enum":[false,"warning","error"]},"maxAssetSize":{"description":"File size limit (in bytes) when exceeded, that webpack will provide performance hints.","type":"number"},"maxEntrypointSize":{"description":"Total size of an entry point (in bytes).","type":"number"}}},"Plugins":{"description":"Add additional plugins to the compiler.","type":"array","items":{"description":"Plugin of type object or instanceof Function.","anyOf":[{"$ref":"#/definitions/Falsy"},{"$ref":"#/definitions/WebpackPluginInstance"},{"$ref":"#/definitions/WebpackPluginFunction"}]}},"Profile":{"description":"Capture timing information for each module.","type":"boolean"},"PublicPath":{"description":"The \'publicPath\' specifies the public URL address of the output files when referenced in a browser.","anyOf":[{"enum":["auto"]},{"$ref":"#/definitions/RawPublicPath"}]},"RawPublicPath":{"description":"The \'publicPath\' specifies the public URL address of the output files when referenced in a browser.","anyOf":[{"type":"string"},{"instanceof":"Function","tsType":"((pathData: import(\\"../lib/Compilation\\").PathData, assetInfo?: import(\\"../lib/Compilation\\").AssetInfo) => string)"}]},"RecordsInputPath":{"description":"Store compiler state to a json file.","anyOf":[{"enum":[false]},{"type":"string","absolutePath":true}]},"RecordsOutputPath":{"description":"Load compiler state from a json file.","anyOf":[{"enum":[false]},{"type":"string","absolutePath":true}]},"RecordsPath":{"description":"Store/Load compiler state from/to a json file. This will result in persistent ids of modules and chunks. An absolute path is expected. `recordsPath` is used for `recordsInputPath` and `recordsOutputPath` if they left undefined.","anyOf":[{"enum":[false]},{"type":"string","absolutePath":true}]},"Resolve":{"description":"Options for the resolver.","oneOf":[{"$ref":"#/definitions/ResolveOptions"}]},"ResolveAlias":{"description":"Redirect module requests.","anyOf":[{"type":"array","items":{"description":"Alias configuration.","type":"object","additionalProperties":false,"properties":{"alias":{"description":"New request.","anyOf":[{"description":"Multiple alternative requests.","type":"array","items":{"description":"One choice of request.","type":"string","minLength":1}},{"description":"Ignore request (replace with empty module).","enum":[false]},{"description":"New request.","type":"string","minLength":1}]},"name":{"description":"Request to be redirected.","type":"string"},"onlyModule":{"description":"Redirect only exact matching request.","type":"boolean"}},"required":["alias","name"]}},{"type":"object","additionalProperties":{"description":"New request.","anyOf":[{"description":"Multiple alternative requests.","type":"array","items":{"description":"One choice of request.","type":"string","minLength":1}},{"description":"Ignore request (replace with empty module).","enum":[false]},{"description":"New request.","type":"string","minLength":1}]}}]},"ResolveLoader":{"description":"Options for the resolver when resolving loaders.","oneOf":[{"$ref":"#/definitions/ResolveOptions"}]},"ResolveOptions":{"description":"Options object for resolving requests.","type":"object","additionalProperties":false,"properties":{"alias":{"$ref":"#/definitions/ResolveAlias"},"aliasFields":{"description":"Fields in the description file (usually package.json) which are used to redirect requests inside the module.","type":"array","items":{"description":"Field in the description file (usually package.json) which are used to redirect requests inside the module.","anyOf":[{"type":"array","items":{"description":"Part of the field path in the description file (usually package.json) which are used to redirect requests inside the module.","type":"string","minLength":1}},{"type":"string","minLength":1}]}},"byDependency":{"description":"Extra resolve options per dependency category. Typical categories are \\"commonjs\\", \\"amd\\", \\"esm\\".","type":"object","additionalProperties":{"description":"Options object for resolving requests.","oneOf":[{"$ref":"#/definitions/ResolveOptions"}]}},"cache":{"description":"Enable caching of successfully resolved requests (cache entries are revalidated).","type":"boolean"},"cachePredicate":{"description":"Predicate function to decide which requests should be cached.","instanceof":"Function","tsType":"((request: import(\'enhanced-resolve\').ResolveRequest) => boolean)"},"cacheWithContext":{"description":"Include the context information in the cache identifier when caching.","type":"boolean"},"conditionNames":{"description":"Condition names for exports field entry point.","type":"array","items":{"description":"Condition names for exports field entry point.","type":"string"}},"descriptionFiles":{"description":"Filenames used to find a description file (like a package.json).","type":"array","items":{"description":"Filename used to find a description file (like a package.json).","type":"string","minLength":1}},"enforceExtension":{"description":"Enforce the resolver to use one of the extensions from the extensions option (User must specify requests without extension).","type":"boolean"},"exportsFields":{"description":"Field names from the description file (usually package.json) which are used to provide entry points of a package.","type":"array","items":{"description":"Field name from the description file (usually package.json) which is used to provide entry points of a package.","type":"string"}},"extensionAlias":{"description":"An object which maps extension to extension aliases.","type":"object","additionalProperties":{"description":"Extension alias.","anyOf":[{"description":"Multiple extensions.","type":"array","items":{"description":"Aliased extension.","type":"string","minLength":1}},{"description":"Aliased extension.","type":"string","minLength":1}]}},"extensions":{"description":"Extensions added to the request when trying to find the file.","type":"array","items":{"description":"Extension added to the request when trying to find the file.","type":"string"}},"fallback":{"description":"Redirect module requests when normal resolving fails.","oneOf":[{"$ref":"#/definitions/ResolveAlias"}]},"fileSystem":{"description":"Filesystem for the resolver.","tsType":"(import(\'../lib/util/fs\').InputFileSystem)"},"fullySpecified":{"description":"Treats the request specified by the user as fully specified, meaning no extensions are added and the mainFiles in directories are not resolved (This doesn\'t affect requests from mainFields, aliasFields or aliases).","type":"boolean"},"importsFields":{"description":"Field names from the description file (usually package.json) which are used to provide internal request of a package (requests starting with # are considered as internal).","type":"array","items":{"description":"Field name from the description file (usually package.json) which is used to provide internal request of a package (requests starting with # are considered as internal).","type":"string"}},"mainFields":{"description":"Field names from the description file (package.json) which are used to find the default entry point.","type":"array","items":{"description":"Field name from the description file (package.json) which are used to find the default entry point.","anyOf":[{"type":"array","items":{"description":"Part of the field path from the description file (package.json) which are used to find the default entry point.","type":"string","minLength":1}},{"type":"string","minLength":1}]}},"mainFiles":{"description":"Filenames used to find the default entry point if there is no description file or main field.","type":"array","items":{"description":"Filename used to find the default entry point if there is no description file or main field.","type":"string","minLength":1}},"modules":{"description":"Folder names or directory paths where to find modules.","type":"array","items":{"description":"Folder name or directory path where to find modules.","type":"string","minLength":1}},"plugins":{"description":"Plugins for the resolver.","type":"array","cli":{"exclude":true},"items":{"description":"Plugin of type object or instanceof Function.","anyOf":[{"enum":["..."]},{"$ref":"#/definitions/Falsy"},{"$ref":"#/definitions/ResolvePluginInstance"}]}},"preferAbsolute":{"description":"Prefer to resolve server-relative URLs (starting with \'/\') as absolute paths before falling back to resolve in \'resolve.roots\'.","type":"boolean"},"preferRelative":{"description":"Prefer to resolve module requests as relative request and fallback to resolving as module.","type":"boolean"},"resolver":{"description":"Custom resolver.","tsType":"(import(\'enhanced-resolve\').Resolver)"},"restrictions":{"description":"A list of resolve restrictions. Resolve results must fulfill all of these restrictions to resolve successfully. Other resolve paths are taken when restrictions are not met.","type":"array","items":{"description":"Resolve restriction. Resolve result must fulfill this restriction.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string","absolutePath":true,"minLength":1}]}},"roots":{"description":"A list of directories in which requests that are server-relative URLs (starting with \'/\') are resolved.","type":"array","items":{"description":"Directory in which requests that are server-relative URLs (starting with \'/\') are resolved.","type":"string"}},"symlinks":{"description":"Enable resolving symlinks to the original location.","type":"boolean"},"unsafeCache":{"description":"Enable caching of successfully resolved requests (cache entries are not revalidated).","anyOf":[{"type":"boolean"},{"type":"object","additionalProperties":true}]},"useSyncFileSystemCalls":{"description":"Use synchronous filesystem calls for the resolver.","type":"boolean"}}},"ResolvePluginInstance":{"description":"Plugin instance.","type":"object","additionalProperties":true,"properties":{"apply":{"description":"The run point of the plugin, required method.","instanceof":"Function","tsType":"(resolver: import(\'enhanced-resolve\').Resolver) => void"}},"required":["apply"]},"RuleSetCondition":{"description":"A condition matcher.","cli":{"helper":true},"anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string"},{"instanceof":"Function","tsType":"((value: string) => boolean)"},{"$ref":"#/definitions/RuleSetLogicalConditions"},{"$ref":"#/definitions/RuleSetConditions"}]},"RuleSetConditionAbsolute":{"description":"A condition matcher matching an absolute path.","cli":{"helper":true},"anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string","absolutePath":true},{"instanceof":"Function","tsType":"((value: string) => boolean)"},{"$ref":"#/definitions/RuleSetLogicalConditionsAbsolute"},{"$ref":"#/definitions/RuleSetConditionsAbsolute"}]},"RuleSetConditionOrConditions":{"description":"One or multiple rule conditions.","cli":{"helper":true},"anyOf":[{"$ref":"#/definitions/RuleSetCondition"},{"$ref":"#/definitions/RuleSetConditions"}]},"RuleSetConditionOrConditionsAbsolute":{"description":"One or multiple rule conditions matching an absolute path.","cli":{"helper":true},"anyOf":[{"$ref":"#/definitions/RuleSetConditionAbsolute"},{"$ref":"#/definitions/RuleSetConditionsAbsolute"}]},"RuleSetConditions":{"description":"A list of rule conditions.","type":"array","items":{"description":"A rule condition.","oneOf":[{"$ref":"#/definitions/RuleSetCondition"}]}},"RuleSetConditionsAbsolute":{"description":"A list of rule conditions matching an absolute path.","type":"array","items":{"description":"A rule condition matching an absolute path.","oneOf":[{"$ref":"#/definitions/RuleSetConditionAbsolute"}]}},"RuleSetLoader":{"description":"A loader request.","type":"string","minLength":1},"RuleSetLoaderOptions":{"description":"Options passed to a loader.","anyOf":[{"type":"string"},{"type":"object"}]},"RuleSetLogicalConditions":{"description":"Logic operators used in a condition matcher.","type":"object","additionalProperties":false,"properties":{"and":{"description":"Logical AND.","oneOf":[{"$ref":"#/definitions/RuleSetConditions"}]},"not":{"description":"Logical NOT.","oneOf":[{"$ref":"#/definitions/RuleSetCondition"}]},"or":{"description":"Logical OR.","oneOf":[{"$ref":"#/definitions/RuleSetConditions"}]}}},"RuleSetLogicalConditionsAbsolute":{"description":"Logic operators used in a condition matcher.","type":"object","additionalProperties":false,"properties":{"and":{"description":"Logical AND.","oneOf":[{"$ref":"#/definitions/RuleSetConditionsAbsolute"}]},"not":{"description":"Logical NOT.","oneOf":[{"$ref":"#/definitions/RuleSetConditionAbsolute"}]},"or":{"description":"Logical OR.","oneOf":[{"$ref":"#/definitions/RuleSetConditionsAbsolute"}]}}},"RuleSetRule":{"description":"A rule description with conditions and effects for modules.","type":"object","additionalProperties":false,"properties":{"assert":{"description":"Match on import assertions of the dependency.","type":"object","additionalProperties":{"$ref":"#/definitions/RuleSetConditionOrConditions"}},"compiler":{"description":"Match the child compiler name.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditions"}]},"dependency":{"description":"Match dependency type.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditions"}]},"descriptionData":{"description":"Match values of properties in the description file (usually package.json).","type":"object","additionalProperties":{"$ref":"#/definitions/RuleSetConditionOrConditions"}},"enforce":{"description":"Enforce this rule as pre or post step.","enum":["pre","post"]},"exclude":{"description":"Shortcut for resource.exclude.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},"generator":{"description":"The options for the module generator.","type":"object"},"include":{"description":"Shortcut for resource.include.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},"issuer":{"description":"Match the issuer of the module (The module pointing to this module).","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},"issuerLayer":{"description":"Match layer of the issuer of this module (The module pointing to this module).","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditions"}]},"layer":{"description":"Specifies the layer in which the module should be placed in.","type":"string"},"loader":{"description":"Shortcut for use.loader.","oneOf":[{"$ref":"#/definitions/RuleSetLoader"}]},"mimetype":{"description":"Match module mimetype when load from Data URI.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditions"}]},"oneOf":{"description":"Only execute the first matching rule in this array.","type":"array","items":{"description":"A rule.","anyOf":[{"$ref":"#/definitions/Falsy"},{"$ref":"#/definitions/RuleSetRule"}]}},"options":{"description":"Shortcut for use.options.","cli":{"exclude":true},"oneOf":[{"$ref":"#/definitions/RuleSetLoaderOptions"}]},"parser":{"description":"Options for parsing.","type":"object","additionalProperties":true},"realResource":{"description":"Match the real resource path of the module.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},"resolve":{"description":"Options for the resolver.","type":"object","oneOf":[{"$ref":"#/definitions/ResolveOptions"}]},"resource":{"description":"Match the resource path of the module.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},"resourceFragment":{"description":"Match the resource fragment of the module.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditions"}]},"resourceQuery":{"description":"Match the resource query of the module.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditions"}]},"rules":{"description":"Match and execute these rules when this rule is matched.","type":"array","items":{"description":"A rule.","anyOf":[{"$ref":"#/definitions/Falsy"},{"$ref":"#/definitions/RuleSetRule"}]}},"scheme":{"description":"Match module scheme.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditions"}]},"sideEffects":{"description":"Flags a module as with or without side effects.","type":"boolean"},"test":{"description":"Shortcut for resource.test.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},"type":{"description":"Module type to use for the module.","type":"string"},"use":{"description":"Modifiers applied to the module when rule is matched.","oneOf":[{"$ref":"#/definitions/RuleSetUse"}]}}},"RuleSetRules":{"description":"A list of rules.","type":"array","items":{"description":"A rule.","anyOf":[{"cli":{"exclude":true},"enum":["..."]},{"$ref":"#/definitions/Falsy"},{"$ref":"#/definitions/RuleSetRule"}]}},"RuleSetUse":{"description":"A list of descriptions of loaders applied.","anyOf":[{"type":"array","items":{"description":"An use item.","anyOf":[{"$ref":"#/definitions/Falsy"},{"$ref":"#/definitions/RuleSetUseItem"}]}},{"instanceof":"Function","tsType":"((data: { resource: string, realResource: string, resourceQuery: string, issuer: string, compiler: string }) => (Falsy | RuleSetUseItem)[])"},{"$ref":"#/definitions/RuleSetUseItem"}]},"RuleSetUseItem":{"description":"A description of an applied loader.","anyOf":[{"type":"object","additionalProperties":false,"properties":{"ident":{"description":"Unique loader options identifier.","type":"string"},"loader":{"description":"Loader name.","oneOf":[{"$ref":"#/definitions/RuleSetLoader"}]},"options":{"description":"Loader options.","oneOf":[{"$ref":"#/definitions/RuleSetLoaderOptions"}]}}},{"instanceof":"Function","tsType":"((data: object) => RuleSetUseItem | (Falsy | RuleSetUseItem)[])"},{"$ref":"#/definitions/RuleSetLoader"}]},"ScriptType":{"description":"This option enables loading async chunks via a custom script type, such as script type=\\"module\\".","enum":[false,"text/javascript","module"]},"SnapshotOptions":{"description":"Options affecting how file system snapshots are created and validated.","type":"object","additionalProperties":false,"properties":{"buildDependencies":{"description":"Options for snapshotting build dependencies to determine if the whole cache need to be invalidated.","type":"object","additionalProperties":false,"properties":{"hash":{"description":"Use hashes of the content of the files/directories to determine invalidation.","type":"boolean"},"timestamp":{"description":"Use timestamps of the files/directories to determine invalidation.","type":"boolean"}}},"immutablePaths":{"description":"List of paths that are managed by a package manager and contain a version or hash in its path so all files are immutable.","type":"array","items":{"description":"List of paths that are managed by a package manager and contain a version or hash in its path so all files are immutable.","anyOf":[{"description":"A RegExp matching an immutable directory (usually a package manager cache directory, including the tailing slash)","instanceof":"RegExp","tsType":"RegExp"},{"description":"A path to an immutable directory (usually a package manager cache directory).","type":"string","absolutePath":true,"minLength":1}]}},"managedPaths":{"description":"List of paths that are managed by a package manager and can be trusted to not be modified otherwise.","type":"array","items":{"description":"List of paths that are managed by a package manager and can be trusted to not be modified otherwise.","anyOf":[{"description":"A RegExp matching a managed directory (usually a node_modules directory, including the tailing slash)","instanceof":"RegExp","tsType":"RegExp"},{"description":"A path to a managed directory (usually a node_modules directory).","type":"string","absolutePath":true,"minLength":1}]}},"module":{"description":"Options for snapshotting dependencies of modules to determine if they need to be built again.","type":"object","additionalProperties":false,"properties":{"hash":{"description":"Use hashes of the content of the files/directories to determine invalidation.","type":"boolean"},"timestamp":{"description":"Use timestamps of the files/directories to determine invalidation.","type":"boolean"}}},"resolve":{"description":"Options for snapshotting dependencies of request resolving to determine if requests need to be re-resolved.","type":"object","additionalProperties":false,"properties":{"hash":{"description":"Use hashes of the content of the files/directories to determine invalidation.","type":"boolean"},"timestamp":{"description":"Use timestamps of the files/directories to determine invalidation.","type":"boolean"}}},"resolveBuildDependencies":{"description":"Options for snapshotting the resolving of build dependencies to determine if the build dependencies need to be re-resolved.","type":"object","additionalProperties":false,"properties":{"hash":{"description":"Use hashes of the content of the files/directories to determine invalidation.","type":"boolean"},"timestamp":{"description":"Use timestamps of the files/directories to determine invalidation.","type":"boolean"}}},"unmanagedPaths":{"description":"List of paths that are not managed by a package manager and the contents are subject to change.","type":"array","items":{"description":"List of paths that are not managed by a package manager and the contents are subject to change.","anyOf":[{"description":"A RegExp matching an unmanaged directory.","instanceof":"RegExp","tsType":"RegExp"},{"description":"A path to an unmanaged directory.","type":"string","absolutePath":true,"minLength":1}]}}}},"SourceMapFilename":{"description":"The filename of the SourceMaps for the JavaScript files. They are inside the \'output.path\' directory.","type":"string","absolutePath":false},"SourcePrefix":{"description":"Prefixes every line of the source in the bundle with this string.","type":"string"},"StatsOptions":{"description":"Stats options object.","type":"object","additionalProperties":false,"properties":{"all":{"description":"Fallback value for stats options when an option is not defined (has precedence over local webpack defaults).","type":"boolean"},"assets":{"description":"Add assets information.","type":"boolean"},"assetsSort":{"description":"Sort the assets by that field.","type":"string"},"assetsSpace":{"description":"Space to display assets (groups will be collapsed to fit this space).","type":"number"},"builtAt":{"description":"Add built at time information.","type":"boolean"},"cached":{"description":"Add information about cached (not built) modules (deprecated: use \'cachedModules\' instead).","type":"boolean"},"cachedAssets":{"description":"Show cached assets (setting this to `false` only shows emitted files).","type":"boolean"},"cachedModules":{"description":"Add information about cached (not built) modules.","type":"boolean"},"children":{"description":"Add children information.","type":"boolean"},"chunkGroupAuxiliary":{"description":"Display auxiliary assets in chunk groups.","type":"boolean"},"chunkGroupChildren":{"description":"Display children of chunk groups.","type":"boolean"},"chunkGroupMaxAssets":{"description":"Limit of assets displayed in chunk groups.","type":"number"},"chunkGroups":{"description":"Display all chunk groups with the corresponding bundles.","type":"boolean"},"chunkModules":{"description":"Add built modules information to chunk information.","type":"boolean"},"chunkModulesSpace":{"description":"Space to display chunk modules (groups will be collapsed to fit this space, value is in number of modules/group).","type":"number"},"chunkOrigins":{"description":"Add the origins of chunks and chunk merging info.","type":"boolean"},"chunkRelations":{"description":"Add information about parent, children and sibling chunks to chunk information.","type":"boolean"},"chunks":{"description":"Add chunk information.","type":"boolean"},"chunksSort":{"description":"Sort the chunks by that field.","type":"string"},"colors":{"description":"Enables/Disables colorful output.","anyOf":[{"description":"Enables/Disables colorful output.","type":"boolean"},{"type":"object","additionalProperties":false,"properties":{"bold":{"description":"Custom color for bold text.","type":"string"},"cyan":{"description":"Custom color for cyan text.","type":"string"},"green":{"description":"Custom color for green text.","type":"string"},"magenta":{"description":"Custom color for magenta text.","type":"string"},"red":{"description":"Custom color for red text.","type":"string"},"yellow":{"description":"Custom color for yellow text.","type":"string"}}}]},"context":{"description":"Context directory for request shortening.","type":"string","absolutePath":true},"dependentModules":{"description":"Show chunk modules that are dependencies of other modules of the chunk.","type":"boolean"},"depth":{"description":"Add module depth in module graph.","type":"boolean"},"entrypoints":{"description":"Display the entry points with the corresponding bundles.","anyOf":[{"enum":["auto"]},{"type":"boolean"}]},"env":{"description":"Add --env information.","type":"boolean"},"errorDetails":{"description":"Add details to errors (like resolving log).","anyOf":[{"enum":["auto"]},{"type":"boolean"}]},"errorStack":{"description":"Add internal stack trace to errors.","type":"boolean"},"errors":{"description":"Add errors.","type":"boolean"},"errorsCount":{"description":"Add errors count.","type":"boolean"},"errorsSpace":{"description":"Space to display errors (value is in number of lines).","type":"number"},"exclude":{"description":"Please use excludeModules instead.","cli":{"exclude":true},"anyOf":[{"type":"boolean"},{"$ref":"#/definitions/ModuleFilterTypes"}]},"excludeAssets":{"description":"Suppress assets that match the specified filters. Filters can be Strings, RegExps or Functions.","oneOf":[{"$ref":"#/definitions/AssetFilterTypes"}]},"excludeModules":{"description":"Suppress modules that match the specified filters. Filters can be Strings, RegExps, Booleans or Functions.","anyOf":[{"type":"boolean"},{"$ref":"#/definitions/ModuleFilterTypes"}]},"groupAssetsByChunk":{"description":"Group assets by how their are related to chunks.","type":"boolean"},"groupAssetsByEmitStatus":{"description":"Group assets by their status (emitted, compared for emit or cached).","type":"boolean"},"groupAssetsByExtension":{"description":"Group assets by their extension.","type":"boolean"},"groupAssetsByInfo":{"description":"Group assets by their asset info (immutable, development, hotModuleReplacement, etc).","type":"boolean"},"groupAssetsByPath":{"description":"Group assets by their path.","type":"boolean"},"groupModulesByAttributes":{"description":"Group modules by their attributes (errors, warnings, assets, optional, orphan, or dependent).","type":"boolean"},"groupModulesByCacheStatus":{"description":"Group modules by their status (cached or built and cacheable).","type":"boolean"},"groupModulesByExtension":{"description":"Group modules by their extension.","type":"boolean"},"groupModulesByLayer":{"description":"Group modules by their layer.","type":"boolean"},"groupModulesByPath":{"description":"Group modules by their path.","type":"boolean"},"groupModulesByType":{"description":"Group modules by their type.","type":"boolean"},"groupReasonsByOrigin":{"description":"Group reasons by their origin module.","type":"boolean"},"hash":{"description":"Add the hash of the compilation.","type":"boolean"},"ids":{"description":"Add ids.","type":"boolean"},"logging":{"description":"Add logging output.","anyOf":[{"description":"Specify log level of logging output.","enum":["none","error","warn","info","log","verbose"]},{"description":"Enable/disable logging output (`true`: shows normal logging output, loglevel: log).","type":"boolean"}]},"loggingDebug":{"description":"Include debug logging of specified loggers (i. e. for plugins or loaders). Filters can be Strings, RegExps or Functions.","anyOf":[{"description":"Enable/Disable debug logging for all loggers.","type":"boolean"},{"$ref":"#/definitions/FilterTypes"}]},"loggingTrace":{"description":"Add stack traces to logging output.","type":"boolean"},"moduleAssets":{"description":"Add information about assets inside modules.","type":"boolean"},"moduleTrace":{"description":"Add dependencies and origin of warnings/errors.","type":"boolean"},"modules":{"description":"Add built modules information.","type":"boolean"},"modulesSort":{"description":"Sort the modules by that field.","type":"string"},"modulesSpace":{"description":"Space to display modules (groups will be collapsed to fit this space, value is in number of modules/groups).","type":"number"},"nestedModules":{"description":"Add information about modules nested in other modules (like with module concatenation).","type":"boolean"},"nestedModulesSpace":{"description":"Space to display modules nested within other modules (groups will be collapsed to fit this space, value is in number of modules/group).","type":"number"},"optimizationBailout":{"description":"Show reasons why optimization bailed out for modules.","type":"boolean"},"orphanModules":{"description":"Add information about orphan modules.","type":"boolean"},"outputPath":{"description":"Add output path information.","type":"boolean"},"performance":{"description":"Add performance hint flags.","type":"boolean"},"preset":{"description":"Preset for the default values.","anyOf":[{"type":"boolean"},{"type":"string"}]},"providedExports":{"description":"Show exports provided by modules.","type":"boolean"},"publicPath":{"description":"Add public path information.","type":"boolean"},"reasons":{"description":"Add information about the reasons why modules are included.","type":"boolean"},"reasonsSpace":{"description":"Space to display reasons (groups will be collapsed to fit this space).","type":"number"},"relatedAssets":{"description":"Add information about assets that are related to other assets (like SourceMaps for assets).","type":"boolean"},"runtime":{"description":"Add information about runtime modules (deprecated: use \'runtimeModules\' instead).","type":"boolean"},"runtimeModules":{"description":"Add information about runtime modules.","type":"boolean"},"source":{"description":"Add the source code of modules.","type":"boolean"},"timings":{"description":"Add timing information.","type":"boolean"},"usedExports":{"description":"Show exports used by modules.","type":"boolean"},"version":{"description":"Add webpack version information.","type":"boolean"},"warnings":{"description":"Add warnings.","type":"boolean"},"warningsCount":{"description":"Add warnings count.","type":"boolean"},"warningsFilter":{"description":"Suppress listing warnings that match the specified filters (they will still be counted). Filters can be Strings, RegExps or Functions.","oneOf":[{"$ref":"#/definitions/WarningFilterTypes"}]},"warningsSpace":{"description":"Space to display warnings (value is in number of lines).","type":"number"}}},"StatsValue":{"description":"Stats options object or preset name.","anyOf":[{"enum":["none","summary","errors-only","errors-warnings","minimal","normal","detailed","verbose"]},{"type":"boolean"},{"$ref":"#/definitions/StatsOptions"}]},"StrictModuleErrorHandling":{"description":"Handles error in module loading correctly at a performance cost. This will handle module error compatible with the EcmaScript Modules spec.","type":"boolean"},"StrictModuleExceptionHandling":{"description":"Handles exceptions in module loading correctly at a performance cost (Deprecated). This will handle module error compatible with the Node.js CommonJS way.","type":"boolean"},"Target":{"description":"Environment to build for. An array of environments to build for all of them when possible.","anyOf":[{"type":"array","items":{"description":"Environment to build for.","type":"string","minLength":1},"minItems":1},{"enum":[false]},{"type":"string","minLength":1}]},"TrustedTypes":{"description":"Use a Trusted Types policy to create urls for chunks.","type":"object","additionalProperties":false,"properties":{"onPolicyCreationFailure":{"description":"If the call to `trustedTypes.createPolicy(...)` fails -- e.g., due to the policy name missing from the CSP `trusted-types` list, or it being a duplicate name, etc. -- controls whether to continue with loading in the hope that `require-trusted-types-for \'script\'` isn\'t enforced yet, versus fail immediately. Default behavior is \'stop\'.","enum":["continue","stop"]},"policyName":{"description":"The name of the Trusted Types policy created by webpack to serve bundle chunks.","type":"string","minLength":1}}},"UmdNamedDefine":{"description":"If `output.libraryTarget` is set to umd and `output.library` is set, setting this to true will name the AMD module.","type":"boolean"},"UniqueName":{"description":"A unique name of the webpack build to avoid multiple webpack runtimes to conflict when using globals.","type":"string","minLength":1},"WarningFilterItemTypes":{"description":"Filtering value, regexp or function.","cli":{"helper":true},"anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string","absolutePath":false},{"instanceof":"Function","tsType":"((warning: import(\'../lib/stats/DefaultStatsFactoryPlugin\').StatsError, value: string) => boolean)"}]},"WarningFilterTypes":{"description":"Filtering warnings.","cli":{"helper":true},"anyOf":[{"type":"array","items":{"description":"Rule to filter.","cli":{"helper":true},"oneOf":[{"$ref":"#/definitions/WarningFilterItemTypes"}]}},{"$ref":"#/definitions/WarningFilterItemTypes"}]},"WasmLoading":{"description":"The method of loading WebAssembly Modules (methods included by default are \'fetch\' (web/WebWorker), \'async-node\' (node.js), but others might be added by plugins).","anyOf":[{"enum":[false]},{"$ref":"#/definitions/WasmLoadingType"}]},"WasmLoadingType":{"description":"The method of loading WebAssembly Modules (methods included by default are \'fetch\' (web/WebWorker), \'async-node\' (node.js), but others might be added by plugins).","anyOf":[{"enum":["fetch-streaming","fetch","async-node"]},{"type":"string"}]},"Watch":{"description":"Enter watch mode, which rebuilds on file change.","type":"boolean"},"WatchOptions":{"description":"Options for the watcher.","type":"object","additionalProperties":false,"properties":{"aggregateTimeout":{"description":"Delay the rebuilt after the first change. Value is a time in ms.","type":"number"},"followSymlinks":{"description":"Resolve symlinks and watch symlink and real file. This is usually not needed as webpack already resolves symlinks (\'resolve.symlinks\').","type":"boolean"},"ignored":{"description":"Ignore some files from watching (glob pattern or regexp).","anyOf":[{"type":"array","items":{"description":"A glob pattern for files that should be ignored from watching.","type":"string","minLength":1}},{"instanceof":"RegExp","tsType":"RegExp"},{"description":"A single glob pattern for files that should be ignored from watching.","type":"string","minLength":1}]},"poll":{"description":"Enable polling mode for watching.","anyOf":[{"description":"`number`: use polling with specified interval.","type":"number"},{"description":"`true`: use polling.","type":"boolean"}]},"stdin":{"description":"Stop watching when stdin stream has ended.","type":"boolean"}}},"WebassemblyModuleFilename":{"description":"The filename of WebAssembly modules as relative path inside the \'output.path\' directory.","type":"string","absolutePath":false},"WebpackOptionsNormalized":{"description":"Normalized webpack options object.","type":"object","additionalProperties":false,"properties":{"amd":{"$ref":"#/definitions/Amd"},"bail":{"$ref":"#/definitions/Bail"},"cache":{"$ref":"#/definitions/CacheOptionsNormalized"},"context":{"$ref":"#/definitions/Context"},"dependencies":{"$ref":"#/definitions/Dependencies"},"devServer":{"$ref":"#/definitions/DevServer"},"devtool":{"$ref":"#/definitions/DevTool"},"entry":{"$ref":"#/definitions/EntryNormalized"},"experiments":{"$ref":"#/definitions/ExperimentsNormalized"},"externals":{"$ref":"#/definitions/Externals"},"externalsPresets":{"$ref":"#/definitions/ExternalsPresets"},"externalsType":{"$ref":"#/definitions/ExternalsType"},"ignoreWarnings":{"$ref":"#/definitions/IgnoreWarningsNormalized"},"infrastructureLogging":{"$ref":"#/definitions/InfrastructureLogging"},"loader":{"$ref":"#/definitions/Loader"},"mode":{"$ref":"#/definitions/Mode"},"module":{"$ref":"#/definitions/ModuleOptionsNormalized"},"name":{"$ref":"#/definitions/Name"},"node":{"$ref":"#/definitions/Node"},"optimization":{"$ref":"#/definitions/Optimization"},"output":{"$ref":"#/definitions/OutputNormalized"},"parallelism":{"$ref":"#/definitions/Parallelism"},"performance":{"$ref":"#/definitions/Performance"},"plugins":{"$ref":"#/definitions/Plugins"},"profile":{"$ref":"#/definitions/Profile"},"recordsInputPath":{"$ref":"#/definitions/RecordsInputPath"},"recordsOutputPath":{"$ref":"#/definitions/RecordsOutputPath"},"resolve":{"$ref":"#/definitions/Resolve"},"resolveLoader":{"$ref":"#/definitions/ResolveLoader"},"snapshot":{"$ref":"#/definitions/SnapshotOptions"},"stats":{"$ref":"#/definitions/StatsValue"},"target":{"$ref":"#/definitions/Target"},"watch":{"$ref":"#/definitions/Watch"},"watchOptions":{"$ref":"#/definitions/WatchOptions"}},"required":["cache","snapshot","entry","experiments","externals","externalsPresets","infrastructureLogging","module","node","optimization","output","plugins","resolve","resolveLoader","stats","watchOptions"]},"WebpackPluginFunction":{"description":"Function acting as plugin.","instanceof":"Function","tsType":"(this: import(\'../lib/Compiler\'), compiler: import(\'../lib/Compiler\')) => void"},"WebpackPluginInstance":{"description":"Plugin instance.","type":"object","additionalProperties":true,"properties":{"apply":{"description":"The run point of the plugin, required method.","instanceof":"Function","tsType":"(compiler: import(\'../lib/Compiler\')) => void"}},"required":["apply"]},"WorkerPublicPath":{"description":"Worker public path. Much like the public path, this sets the location where the worker script file is intended to be found. If not set, webpack will use the publicPath. Don\'t set this option unless your worker scripts are located at a different path from your other script files.","type":"string"}},"title":"WebpackOptions","description":"Options object as provided by the user.","type":"object","additionalProperties":false,"properties":{"amd":{"$ref":"#/definitions/Amd"},"bail":{"$ref":"#/definitions/Bail"},"cache":{"$ref":"#/definitions/CacheOptions"},"context":{"$ref":"#/definitions/Context"},"dependencies":{"$ref":"#/definitions/Dependencies"},"devServer":{"$ref":"#/definitions/DevServer"},"devtool":{"$ref":"#/definitions/DevTool"},"entry":{"$ref":"#/definitions/Entry"},"experiments":{"$ref":"#/definitions/Experiments"},"extends":{"$ref":"#/definitions/Extends"},"externals":{"$ref":"#/definitions/Externals"},"externalsPresets":{"$ref":"#/definitions/ExternalsPresets"},"externalsType":{"$ref":"#/definitions/ExternalsType"},"ignoreWarnings":{"$ref":"#/definitions/IgnoreWarnings"},"infrastructureLogging":{"$ref":"#/definitions/InfrastructureLogging"},"loader":{"$ref":"#/definitions/Loader"},"mode":{"$ref":"#/definitions/Mode"},"module":{"$ref":"#/definitions/ModuleOptions"},"name":{"$ref":"#/definitions/Name"},"node":{"$ref":"#/definitions/Node"},"optimization":{"$ref":"#/definitions/Optimization"},"output":{"$ref":"#/definitions/Output"},"parallelism":{"$ref":"#/definitions/Parallelism"},"performance":{"$ref":"#/definitions/Performance"},"plugins":{"$ref":"#/definitions/Plugins"},"profile":{"$ref":"#/definitions/Profile"},"recordsInputPath":{"$ref":"#/definitions/RecordsInputPath"},"recordsOutputPath":{"$ref":"#/definitions/RecordsOutputPath"},"recordsPath":{"$ref":"#/definitions/RecordsPath"},"resolve":{"$ref":"#/definitions/Resolve"},"resolveLoader":{"$ref":"#/definitions/ResolveLoader"},"snapshot":{"$ref":"#/definitions/SnapshotOptions"},"stats":{"$ref":"#/definitions/StatsValue"},"target":{"$ref":"#/definitions/Target"},"watch":{"$ref":"#/definitions/Watch"},"watchOptions":{"$ref":"#/definitions/WatchOptions"}}}')},84223:function(v){"use strict";v.exports=JSON.parse('{"definitions":{"BannerFunction":{"description":"The banner as function, it will be wrapped in a comment.","instanceof":"Function","tsType":"(data: { hash: string, chunk: import(\'../../lib/Chunk\'), filename: string }) => string"},"Rule":{"description":"Filtering rule as regex or string.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string","minLength":1}]},"Rules":{"description":"Filtering rules.","anyOf":[{"type":"array","items":{"description":"A rule condition.","oneOf":[{"$ref":"#/definitions/Rule"}]}},{"$ref":"#/definitions/Rule"}]}},"title":"BannerPluginArgument","anyOf":[{"description":"The banner as string, it will be wrapped in a comment.","type":"string","minLength":1},{"title":"BannerPluginOptions","type":"object","additionalProperties":false,"properties":{"banner":{"description":"Specifies the banner.","anyOf":[{"type":"string"},{"$ref":"#/definitions/BannerFunction"}]},"entryOnly":{"description":"If true, the banner will only be added to the entry chunks.","type":"boolean"},"exclude":{"description":"Exclude all modules matching any of these conditions.","oneOf":[{"$ref":"#/definitions/Rules"}]},"footer":{"description":"If true, banner will be placed at the end of the output.","type":"boolean"},"include":{"description":"Include all modules matching any of these conditions.","oneOf":[{"$ref":"#/definitions/Rules"}]},"raw":{"description":"If true, banner will not be wrapped in a comment.","type":"boolean"},"test":{"description":"Include all modules that pass test assertion.","oneOf":[{"$ref":"#/definitions/Rules"}]}},"required":["banner"]},{"$ref":"#/definitions/BannerFunction"}]}')},45053:function(v){"use strict";v.exports=JSON.parse('{"title":"DllPluginOptions","type":"object","additionalProperties":false,"properties":{"context":{"description":"Context of requests in the manifest file (defaults to the webpack context).","type":"string","minLength":1},"entryOnly":{"description":"If true, only entry points will be exposed (default: true).","type":"boolean"},"format":{"description":"If true, manifest json file (output) will be formatted.","type":"boolean"},"name":{"description":"Name of the exposed dll function (external name, use value of \'output.library\').","type":"string","minLength":1},"path":{"description":"Absolute path to the manifest json file (output).","type":"string","minLength":1},"type":{"description":"Type of the dll bundle (external type, use value of \'output.libraryTarget\').","type":"string","minLength":1}},"required":["path"]}')},82121:function(v){"use strict";v.exports=JSON.parse('{"definitions":{"DllReferencePluginOptionsContent":{"description":"The mappings from request to module info.","type":"object","additionalProperties":{"description":"Module info.","type":"object","additionalProperties":false,"properties":{"buildMeta":{"description":"Meta information about the module.","type":"object"},"exports":{"description":"Information about the provided exports of the module.","anyOf":[{"description":"List of provided exports of the module.","type":"array","items":{"description":"Name of the export.","type":"string","minLength":1}},{"description":"Exports unknown/dynamic.","enum":[true]}]},"id":{"description":"Module ID.","anyOf":[{"type":"number"},{"type":"string","minLength":1}]}},"required":["id"]},"minProperties":1},"DllReferencePluginOptionsManifest":{"description":"An object containing content, name and type.","type":"object","additionalProperties":false,"properties":{"content":{"description":"The mappings from request to module info.","oneOf":[{"$ref":"#/definitions/DllReferencePluginOptionsContent"}]},"name":{"description":"The name where the dll is exposed (external name).","type":"string","minLength":1},"type":{"description":"The type how the dll is exposed (external type).","oneOf":[{"$ref":"#/definitions/DllReferencePluginOptionsSourceType"}]}},"required":["content"]},"DllReferencePluginOptionsSourceType":{"description":"The type how the dll is exposed (external type).","enum":["var","assign","this","window","global","commonjs","commonjs2","commonjs-module","amd","amd-require","umd","umd2","jsonp","system"]}},"title":"DllReferencePluginOptions","anyOf":[{"type":"object","additionalProperties":false,"properties":{"context":{"description":"Context of requests in the manifest (or content property) as absolute path.","type":"string","absolutePath":true},"extensions":{"description":"Extensions used to resolve modules in the dll bundle (only used when using \'scope\').","type":"array","items":{"description":"An extension.","type":"string"}},"manifest":{"description":"An object containing content and name or a string to the absolute path of the JSON manifest to be loaded upon compilation.","anyOf":[{"type":"string","absolutePath":true},{"$ref":"#/definitions/DllReferencePluginOptionsManifest"}]},"name":{"description":"The name where the dll is exposed (external name, defaults to manifest.name).","type":"string","minLength":1},"scope":{"description":"Prefix which is used for accessing the content of the dll.","type":"string","minLength":1},"sourceType":{"description":"How the dll is exposed (libraryTarget, defaults to manifest.type).","oneOf":[{"$ref":"#/definitions/DllReferencePluginOptionsSourceType"}]},"type":{"description":"The way how the export of the dll bundle is used.","enum":["require","object"]}},"required":["manifest"]},{"type":"object","additionalProperties":false,"properties":{"content":{"description":"The mappings from request to module info.","oneOf":[{"$ref":"#/definitions/DllReferencePluginOptionsContent"}]},"context":{"description":"Context of requests in the manifest (or content property) as absolute path.","type":"string","absolutePath":true},"extensions":{"description":"Extensions used to resolve modules in the dll bundle (only used when using \'scope\').","type":"array","items":{"description":"An extension.","type":"string"}},"name":{"description":"The name where the dll is exposed (external name).","type":"string","minLength":1},"scope":{"description":"Prefix which is used for accessing the content of the dll.","type":"string","minLength":1},"sourceType":{"description":"How the dll is exposed (libraryTarget).","oneOf":[{"$ref":"#/definitions/DllReferencePluginOptionsSourceType"}]},"type":{"description":"The way how the export of the dll bundle is used.","enum":["require","object"]}},"required":["content","name"]}]}')},17079:function(v){"use strict";v.exports=JSON.parse('{"definitions":{"HashFunction":{"description":"Algorithm used for generation the hash (see node.js crypto package).","anyOf":[{"type":"string","minLength":1},{"instanceof":"Function","tsType":"typeof import(\'../../lib/util/Hash\')"}]}},"title":"HashedModuleIdsPluginOptions","type":"object","additionalProperties":false,"properties":{"context":{"description":"The context directory for creating names.","type":"string","absolutePath":true},"hashDigest":{"description":"The encoding to use when generating the hash, defaults to \'base64\'. All encodings from Node.JS\' hash.digest are supported.","enum":["hex","latin1","base64"]},"hashDigestLength":{"description":"The prefix length of the hash digest to use, defaults to 4.","type":"number","minimum":1},"hashFunction":{"description":"The hashing algorithm to use, defaults to \'md4\'. All functions from Node.JS\' crypto.createHash are supported.","oneOf":[{"$ref":"#/definitions/HashFunction"}]}}}')},49953:function(v){"use strict";v.exports=JSON.parse('{"title":"IgnorePluginOptions","anyOf":[{"type":"object","additionalProperties":false,"properties":{"contextRegExp":{"description":"A RegExp to test the context (directory) against.","instanceof":"RegExp","tsType":"RegExp"},"resourceRegExp":{"description":"A RegExp to test the request against.","instanceof":"RegExp","tsType":"RegExp"}},"required":["resourceRegExp"]},{"type":"object","additionalProperties":false,"properties":{"checkResource":{"description":"A filter function for resource and context.","instanceof":"Function","tsType":"((resource: string, context: string) => boolean)"}},"required":["checkResource"]}]}')},86409:function(v){"use strict";v.exports=JSON.parse('{"title":"JsonModulesPluginParserOptions","type":"object","additionalProperties":false,"properties":{"parse":{"description":"Function that executes for a module source string and should return json-compatible data.","instanceof":"Function","tsType":"((input: string) => any)"}}}')},13200:function(v){"use strict";v.exports=JSON.parse('{"title":"LoaderOptionsPluginOptions","type":"object","additionalProperties":true,"properties":{"debug":{"description":"Whether loaders should be in debug mode or not. debug will be removed as of webpack 3.","type":"boolean"},"minimize":{"description":"Where loaders can be switched to minimize mode.","type":"boolean"},"options":{"description":"A configuration object that can be used to configure older loaders.","type":"object","additionalProperties":true,"properties":{"context":{"description":"The context that can be used to configure older loaders.","type":"string","absolutePath":true}}}}}')},74200:function(v){"use strict";v.exports=JSON.parse('{"definitions":{"HandlerFunction":{"description":"Function that executes for every progress step.","instanceof":"Function","tsType":"((percentage: number, msg: string, ...args: string[]) => void)"},"ProgressPluginOptions":{"description":"Options object for the ProgressPlugin.","type":"object","additionalProperties":false,"properties":{"activeModules":{"description":"Show active modules count and one active module in progress message.","type":"boolean"},"dependencies":{"description":"Show dependencies count in progress message.","type":"boolean"},"dependenciesCount":{"description":"Minimum dependencies count to start with. For better progress calculation. Default: 10000.","type":"number"},"entries":{"description":"Show entries count in progress message.","type":"boolean"},"handler":{"description":"Function that executes for every progress step.","oneOf":[{"$ref":"#/definitions/HandlerFunction"}]},"modules":{"description":"Show modules count in progress message.","type":"boolean"},"modulesCount":{"description":"Minimum modules count to start with. For better progress calculation. Default: 5000.","type":"number"},"percentBy":{"description":"Collect percent algorithm. By default it calculates by a median from modules, entries and dependencies percent.","enum":["entries","modules","dependencies",null]},"profile":{"description":"Collect profile data for progress steps. Default: false.","enum":[true,false,null]}}}},"title":"ProgressPluginArgument","anyOf":[{"$ref":"#/definitions/ProgressPluginOptions"},{"$ref":"#/definitions/HandlerFunction"}]}')},4469:function(v){"use strict";v.exports=JSON.parse('{"definitions":{"rule":{"description":"Include source maps for modules based on their extension (defaults to .js and .css).","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string","minLength":1}]},"rules":{"description":"Include source maps for modules based on their extension (defaults to .js and .css).","anyOf":[{"type":"array","items":{"description":"A rule condition.","oneOf":[{"$ref":"#/definitions/rule"}]}},{"$ref":"#/definitions/rule"}]}},"title":"SourceMapDevToolPluginOptions","type":"object","additionalProperties":false,"properties":{"append":{"description":"Appends the given value to the original asset. Usually the #sourceMappingURL comment. [url] is replaced with a URL to the source map file. false disables the appending.","anyOf":[{"description":"Append no SourceMap comment to the bundle, but still generate SourceMaps.","enum":[false,null]},{"type":"string","minLength":1},{"instanceof":"Function","tsType":"((pathData: import(\\"../../lib/Compilation\\").PathData, assetInfo?: import(\\"../../lib/Compilation\\").AssetInfo) => string)"}]},"columns":{"description":"Indicates whether column mappings should be used (defaults to true).","type":"boolean"},"exclude":{"description":"Exclude modules that match the given value from source map generation.","oneOf":[{"$ref":"#/definitions/rules"}]},"fallbackModuleFilenameTemplate":{"description":"Generator string or function to create identifiers of modules for the \'sources\' array in the SourceMap used only if \'moduleFilenameTemplate\' would result in a conflict.","anyOf":[{"type":"string","minLength":1},{"description":"Custom function generating the identifier.","instanceof":"Function","tsType":"Function"}]},"fileContext":{"description":"Path prefix to which the [file] placeholder is relative to.","type":"string"},"filename":{"description":"Defines the output filename of the SourceMap (will be inlined if no value is provided).","anyOf":[{"description":"Disable separate SourceMap file and inline SourceMap as DataUrl.","enum":[false,null]},{"type":"string","absolutePath":false,"minLength":1}]},"include":{"description":"Include source maps for module paths that match the given value.","oneOf":[{"$ref":"#/definitions/rules"}]},"module":{"description":"Indicates whether SourceMaps from loaders should be used (defaults to true).","type":"boolean"},"moduleFilenameTemplate":{"description":"Generator string or function to create identifiers of modules for the \'sources\' array in the SourceMap.","anyOf":[{"type":"string","minLength":1},{"description":"Custom function generating the identifier.","instanceof":"Function","tsType":"Function"}]},"namespace":{"description":"Namespace prefix to allow multiple webpack roots in the devtools.","type":"string"},"noSources":{"description":"Omit the \'sourceContents\' array from the SourceMap.","type":"boolean"},"publicPath":{"description":"Provide a custom public path for the SourceMapping comment.","type":"string"},"sourceRoot":{"description":"Provide a custom value for the \'sourceRoot\' property in the SourceMap.","type":"string"},"test":{"$ref":"#/definitions/rules"}}}')},1561:function(v){"use strict";v.exports=JSON.parse('{"title":"WatchIgnorePluginOptions","type":"object","additionalProperties":false,"properties":{"paths":{"description":"A list of RegExps or absolute paths to directories or files that should be ignored.","type":"array","items":{"description":"RegExp or absolute path to directories or files that should be ignored.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string"}]},"minItems":1}},"required":["paths"]}')},54572:function(v){"use strict";v.exports=JSON.parse('{"definitions":{"AmdContainer":{"description":"Add a container for define/require functions in the AMD module.","type":"string","minLength":1},"AuxiliaryComment":{"description":"Add a comment in the UMD wrapper.","anyOf":[{"description":"Append the same comment above each import style.","type":"string"},{"$ref":"#/definitions/LibraryCustomUmdCommentObject"}]},"EntryRuntime":{"description":"The name of the runtime chunk. If set a runtime chunk with this name is created or an existing entrypoint is used as runtime.","anyOf":[{"enum":[false]},{"type":"string","minLength":1}]},"Exposes":{"description":"Modules that should be exposed by this container. When provided, property name is used as public name, otherwise public name is automatically inferred from request.","anyOf":[{"type":"array","items":{"description":"Modules that should be exposed by this container.","anyOf":[{"$ref":"#/definitions/ExposesItem"},{"$ref":"#/definitions/ExposesObject"}]}},{"$ref":"#/definitions/ExposesObject"}]},"ExposesConfig":{"description":"Advanced configuration for modules that should be exposed by this container.","type":"object","additionalProperties":false,"properties":{"import":{"description":"Request to a module that should be exposed by this container.","anyOf":[{"$ref":"#/definitions/ExposesItem"},{"$ref":"#/definitions/ExposesItems"}]},"name":{"description":"Custom chunk name for the exposed module.","type":"string"}},"required":["import"]},"ExposesItem":{"description":"Module that should be exposed by this container.","type":"string","minLength":1},"ExposesItems":{"description":"Modules that should be exposed by this container.","type":"array","items":{"$ref":"#/definitions/ExposesItem"}},"ExposesObject":{"description":"Modules that should be exposed by this container. Property names are used as public paths.","type":"object","additionalProperties":{"description":"Modules that should be exposed by this container.","anyOf":[{"$ref":"#/definitions/ExposesConfig"},{"$ref":"#/definitions/ExposesItem"},{"$ref":"#/definitions/ExposesItems"}]}},"LibraryCustomUmdCommentObject":{"description":"Set explicit comments for `commonjs`, `commonjs2`, `amd`, and `root`.","type":"object","additionalProperties":false,"properties":{"amd":{"description":"Set comment for `amd` section in UMD.","type":"string"},"commonjs":{"description":"Set comment for `commonjs` (exports) section in UMD.","type":"string"},"commonjs2":{"description":"Set comment for `commonjs2` (module.exports) section in UMD.","type":"string"},"root":{"description":"Set comment for `root` (global variable) section in UMD.","type":"string"}}},"LibraryCustomUmdObject":{"description":"Description object for all UMD variants of the library name.","type":"object","additionalProperties":false,"properties":{"amd":{"description":"Name of the exposed AMD library in the UMD.","type":"string","minLength":1},"commonjs":{"description":"Name of the exposed commonjs export in the UMD.","type":"string","minLength":1},"root":{"description":"Name of the property exposed globally by a UMD library.","anyOf":[{"type":"array","items":{"description":"Part of the name of the property exposed globally by a UMD library.","type":"string","minLength":1}},{"type":"string","minLength":1}]}}},"LibraryExport":{"description":"Specify which export should be exposed as library.","anyOf":[{"type":"array","items":{"description":"Part of the export that should be exposed as library.","type":"string","minLength":1}},{"type":"string","minLength":1}]},"LibraryName":{"description":"The name of the library (some types allow unnamed libraries too).","anyOf":[{"type":"array","items":{"description":"A part of the library name.","type":"string","minLength":1},"minItems":1},{"type":"string","minLength":1},{"$ref":"#/definitions/LibraryCustomUmdObject"}]},"LibraryOptions":{"description":"Options for library.","type":"object","additionalProperties":false,"properties":{"amdContainer":{"$ref":"#/definitions/AmdContainer"},"auxiliaryComment":{"$ref":"#/definitions/AuxiliaryComment"},"export":{"$ref":"#/definitions/LibraryExport"},"name":{"$ref":"#/definitions/LibraryName"},"type":{"$ref":"#/definitions/LibraryType"},"umdNamedDefine":{"$ref":"#/definitions/UmdNamedDefine"}},"required":["type"]},"LibraryType":{"description":"Type of library (types included by default are \'var\', \'module\', \'assign\', \'assign-properties\', \'this\', \'window\', \'self\', \'global\', \'commonjs\', \'commonjs2\', \'commonjs-module\', \'commonjs-static\', \'amd\', \'amd-require\', \'umd\', \'umd2\', \'jsonp\', \'system\', but others might be added by plugins).","anyOf":[{"enum":["var","module","assign","assign-properties","this","window","self","global","commonjs","commonjs2","commonjs-module","commonjs-static","amd","amd-require","umd","umd2","jsonp","system"]},{"type":"string"}]},"UmdNamedDefine":{"description":"If `output.libraryTarget` is set to umd and `output.library` is set, setting this to true will name the AMD module.","type":"boolean"}},"title":"ContainerPluginOptions","type":"object","additionalProperties":false,"properties":{"exposes":{"$ref":"#/definitions/Exposes"},"filename":{"description":"The filename for this container relative path inside the `output.path` directory.","type":"string","absolutePath":false,"minLength":1},"library":{"$ref":"#/definitions/LibraryOptions"},"name":{"description":"The name for this container.","type":"string","minLength":1},"runtime":{"$ref":"#/definitions/EntryRuntime"},"shareScope":{"description":"The name of the share scope which is shared with the host (defaults to \'default\').","type":"string","minLength":1}},"required":["name","exposes"]}')},59410:function(v){"use strict";v.exports=JSON.parse('{"definitions":{"ExternalsType":{"description":"Specifies the default type of externals (\'amd*\', \'umd*\', \'system\' and \'jsonp\' depend on output.libraryTarget set to the same value).","enum":["var","module","assign","this","window","self","global","commonjs","commonjs2","commonjs-module","commonjs-static","amd","amd-require","umd","umd2","jsonp","system","promise","import","script","node-commonjs"]},"Remotes":{"description":"Container locations and request scopes from which modules should be resolved and loaded at runtime. When provided, property name is used as request scope, otherwise request scope is automatically inferred from container location.","anyOf":[{"type":"array","items":{"description":"Container locations and request scopes from which modules should be resolved and loaded at runtime.","anyOf":[{"$ref":"#/definitions/RemotesItem"},{"$ref":"#/definitions/RemotesObject"}]}},{"$ref":"#/definitions/RemotesObject"}]},"RemotesConfig":{"description":"Advanced configuration for container locations from which modules should be resolved and loaded at runtime.","type":"object","additionalProperties":false,"properties":{"external":{"description":"Container locations from which modules should be resolved and loaded at runtime.","anyOf":[{"$ref":"#/definitions/RemotesItem"},{"$ref":"#/definitions/RemotesItems"}]},"shareScope":{"description":"The name of the share scope shared with this remote.","type":"string","minLength":1}},"required":["external"]},"RemotesItem":{"description":"Container location from which modules should be resolved and loaded at runtime.","type":"string","minLength":1},"RemotesItems":{"description":"Container locations from which modules should be resolved and loaded at runtime.","type":"array","items":{"$ref":"#/definitions/RemotesItem"}},"RemotesObject":{"description":"Container locations from which modules should be resolved and loaded at runtime. Property names are used as request scopes.","type":"object","additionalProperties":{"description":"Container locations from which modules should be resolved and loaded at runtime.","anyOf":[{"$ref":"#/definitions/RemotesConfig"},{"$ref":"#/definitions/RemotesItem"},{"$ref":"#/definitions/RemotesItems"}]}}},"title":"ContainerReferencePluginOptions","type":"object","additionalProperties":false,"properties":{"remoteType":{"description":"The external type of the remote containers.","oneOf":[{"$ref":"#/definitions/ExternalsType"}]},"remotes":{"$ref":"#/definitions/Remotes"},"shareScope":{"description":"The name of the share scope shared with all remotes (defaults to \'default\').","type":"string","minLength":1}},"required":["remoteType","remotes"]}')},34337:function(v){"use strict";v.exports=JSON.parse('{"definitions":{"AmdContainer":{"description":"Add a container for define/require functions in the AMD module.","type":"string","minLength":1},"AuxiliaryComment":{"description":"Add a comment in the UMD wrapper.","anyOf":[{"description":"Append the same comment above each import style.","type":"string"},{"$ref":"#/definitions/LibraryCustomUmdCommentObject"}]},"EntryRuntime":{"description":"The name of the runtime chunk. If set a runtime chunk with this name is created or an existing entrypoint is used as runtime.","anyOf":[{"enum":[false]},{"type":"string","minLength":1}]},"Exposes":{"description":"Modules that should be exposed by this container. When provided, property name is used as public name, otherwise public name is automatically inferred from request.","anyOf":[{"type":"array","items":{"description":"Modules that should be exposed by this container.","anyOf":[{"$ref":"#/definitions/ExposesItem"},{"$ref":"#/definitions/ExposesObject"}]}},{"$ref":"#/definitions/ExposesObject"}]},"ExposesConfig":{"description":"Advanced configuration for modules that should be exposed by this container.","type":"object","additionalProperties":false,"properties":{"import":{"description":"Request to a module that should be exposed by this container.","anyOf":[{"$ref":"#/definitions/ExposesItem"},{"$ref":"#/definitions/ExposesItems"}]},"name":{"description":"Custom chunk name for the exposed module.","type":"string"}},"required":["import"]},"ExposesItem":{"description":"Module that should be exposed by this container.","type":"string","minLength":1},"ExposesItems":{"description":"Modules that should be exposed by this container.","type":"array","items":{"$ref":"#/definitions/ExposesItem"}},"ExposesObject":{"description":"Modules that should be exposed by this container. Property names are used as public paths.","type":"object","additionalProperties":{"description":"Modules that should be exposed by this container.","anyOf":[{"$ref":"#/definitions/ExposesConfig"},{"$ref":"#/definitions/ExposesItem"},{"$ref":"#/definitions/ExposesItems"}]}},"ExternalsType":{"description":"Specifies the default type of externals (\'amd*\', \'umd*\', \'system\' and \'jsonp\' depend on output.libraryTarget set to the same value).","enum":["var","module","assign","this","window","self","global","commonjs","commonjs2","commonjs-module","commonjs-static","amd","amd-require","umd","umd2","jsonp","system","promise","import","script","node-commonjs"]},"LibraryCustomUmdCommentObject":{"description":"Set explicit comments for `commonjs`, `commonjs2`, `amd`, and `root`.","type":"object","additionalProperties":false,"properties":{"amd":{"description":"Set comment for `amd` section in UMD.","type":"string"},"commonjs":{"description":"Set comment for `commonjs` (exports) section in UMD.","type":"string"},"commonjs2":{"description":"Set comment for `commonjs2` (module.exports) section in UMD.","type":"string"},"root":{"description":"Set comment for `root` (global variable) section in UMD.","type":"string"}}},"LibraryCustomUmdObject":{"description":"Description object for all UMD variants of the library name.","type":"object","additionalProperties":false,"properties":{"amd":{"description":"Name of the exposed AMD library in the UMD.","type":"string","minLength":1},"commonjs":{"description":"Name of the exposed commonjs export in the UMD.","type":"string","minLength":1},"root":{"description":"Name of the property exposed globally by a UMD library.","anyOf":[{"type":"array","items":{"description":"Part of the name of the property exposed globally by a UMD library.","type":"string","minLength":1}},{"type":"string","minLength":1}]}}},"LibraryExport":{"description":"Specify which export should be exposed as library.","anyOf":[{"type":"array","items":{"description":"Part of the export that should be exposed as library.","type":"string","minLength":1}},{"type":"string","minLength":1}]},"LibraryName":{"description":"The name of the library (some types allow unnamed libraries too).","anyOf":[{"type":"array","items":{"description":"A part of the library name.","type":"string","minLength":1},"minItems":1},{"type":"string","minLength":1},{"$ref":"#/definitions/LibraryCustomUmdObject"}]},"LibraryOptions":{"description":"Options for library.","type":"object","additionalProperties":false,"properties":{"amdContainer":{"$ref":"#/definitions/AmdContainer"},"auxiliaryComment":{"$ref":"#/definitions/AuxiliaryComment"},"export":{"$ref":"#/definitions/LibraryExport"},"name":{"$ref":"#/definitions/LibraryName"},"type":{"$ref":"#/definitions/LibraryType"},"umdNamedDefine":{"$ref":"#/definitions/UmdNamedDefine"}},"required":["type"]},"LibraryType":{"description":"Type of library (types included by default are \'var\', \'module\', \'assign\', \'assign-properties\', \'this\', \'window\', \'self\', \'global\', \'commonjs\', \'commonjs2\', \'commonjs-module\', \'commonjs-static\', \'amd\', \'amd-require\', \'umd\', \'umd2\', \'jsonp\', \'system\', but others might be added by plugins).","anyOf":[{"enum":["var","module","assign","assign-properties","this","window","self","global","commonjs","commonjs2","commonjs-module","commonjs-static","amd","amd-require","umd","umd2","jsonp","system"]},{"type":"string"}]},"Remotes":{"description":"Container locations and request scopes from which modules should be resolved and loaded at runtime. When provided, property name is used as request scope, otherwise request scope is automatically inferred from container location.","anyOf":[{"type":"array","items":{"description":"Container locations and request scopes from which modules should be resolved and loaded at runtime.","anyOf":[{"$ref":"#/definitions/RemotesItem"},{"$ref":"#/definitions/RemotesObject"}]}},{"$ref":"#/definitions/RemotesObject"}]},"RemotesConfig":{"description":"Advanced configuration for container locations from which modules should be resolved and loaded at runtime.","type":"object","additionalProperties":false,"properties":{"external":{"description":"Container locations from which modules should be resolved and loaded at runtime.","anyOf":[{"$ref":"#/definitions/RemotesItem"},{"$ref":"#/definitions/RemotesItems"}]},"shareScope":{"description":"The name of the share scope shared with this remote.","type":"string","minLength":1}},"required":["external"]},"RemotesItem":{"description":"Container location from which modules should be resolved and loaded at runtime.","type":"string","minLength":1},"RemotesItems":{"description":"Container locations from which modules should be resolved and loaded at runtime.","type":"array","items":{"$ref":"#/definitions/RemotesItem"}},"RemotesObject":{"description":"Container locations from which modules should be resolved and loaded at runtime. Property names are used as request scopes.","type":"object","additionalProperties":{"description":"Container locations from which modules should be resolved and loaded at runtime.","anyOf":[{"$ref":"#/definitions/RemotesConfig"},{"$ref":"#/definitions/RemotesItem"},{"$ref":"#/definitions/RemotesItems"}]}},"Shared":{"description":"Modules that should be shared in the share scope. When provided, property names are used to match requested modules in this compilation.","anyOf":[{"type":"array","items":{"description":"Modules that should be shared in the share scope.","anyOf":[{"$ref":"#/definitions/SharedItem"},{"$ref":"#/definitions/SharedObject"}]}},{"$ref":"#/definitions/SharedObject"}]},"SharedConfig":{"description":"Advanced configuration for modules that should be shared in the share scope.","type":"object","additionalProperties":false,"properties":{"eager":{"description":"Include the provided and fallback module directly instead behind an async request. This allows to use this shared module in initial load too. All possible shared modules need to be eager too.","type":"boolean"},"import":{"description":"Provided module that should be provided to share scope. Also acts as fallback module if no shared module is found in share scope or version isn\'t valid. Defaults to the property name.","anyOf":[{"description":"No provided or fallback module.","enum":[false]},{"$ref":"#/definitions/SharedItem"}]},"packageName":{"description":"Package name to determine required version from description file. This is only needed when package name can\'t be automatically determined from request.","type":"string","minLength":1},"requiredVersion":{"description":"Version requirement from module in share scope.","anyOf":[{"description":"No version requirement check.","enum":[false]},{"description":"Version as string. Can be prefixed with \'^\' or \'~\' for minimum matches. Each part of the version should be separated by a dot \'.\'.","type":"string"}]},"shareKey":{"description":"Module is looked up under this key from the share scope.","type":"string","minLength":1},"shareScope":{"description":"Share scope name.","type":"string","minLength":1},"singleton":{"description":"Allow only a single version of the shared module in share scope (disabled by default).","type":"boolean"},"strictVersion":{"description":"Do not accept shared module if version is not valid (defaults to yes, if local fallback module is available and shared module is not a singleton, otherwise no, has no effect if there is no required version specified).","type":"boolean"},"version":{"description":"Version of the provided module. Will replace lower matching versions, but not higher.","anyOf":[{"description":"Don\'t provide a version.","enum":[false]},{"description":"Version as string. Each part of the version should be separated by a dot \'.\'.","type":"string"}]}}},"SharedItem":{"description":"A module that should be shared in the share scope.","type":"string","minLength":1},"SharedObject":{"description":"Modules that should be shared in the share scope. Property names are used to match requested modules in this compilation. Relative requests are resolved, module requests are matched unresolved, absolute paths will match resolved requests. A trailing slash will match all requests with this prefix. In this case shareKey must also have a trailing slash.","type":"object","additionalProperties":{"description":"Modules that should be shared in the share scope.","anyOf":[{"$ref":"#/definitions/SharedConfig"},{"$ref":"#/definitions/SharedItem"}]}},"UmdNamedDefine":{"description":"If `output.libraryTarget` is set to umd and `output.library` is set, setting this to true will name the AMD module.","type":"boolean"}},"title":"ModuleFederationPluginOptions","type":"object","additionalProperties":false,"properties":{"exposes":{"$ref":"#/definitions/Exposes"},"filename":{"description":"The filename of the container as relative path inside the `output.path` directory.","type":"string","absolutePath":false},"library":{"$ref":"#/definitions/LibraryOptions"},"name":{"description":"The name of the container.","type":"string"},"remoteType":{"description":"The external type of the remote containers.","oneOf":[{"$ref":"#/definitions/ExternalsType"}]},"remotes":{"$ref":"#/definitions/Remotes"},"runtime":{"$ref":"#/definitions/EntryRuntime"},"shareScope":{"description":"Share scope name used for all shared modules (defaults to \'default\').","type":"string","minLength":1},"shared":{"$ref":"#/definitions/Shared"}}}')},78333:function(v){"use strict";v.exports=JSON.parse('{"title":"ProfilingPluginOptions","type":"object","additionalProperties":false,"properties":{"outputPath":{"description":"Path to the output file e.g. `path.resolve(__dirname, \'profiling/events.json\')`. Defaults to `events.json`.","type":"string","absolutePath":true}}}')},94504:function(v){"use strict";v.exports=JSON.parse('{"title":"OccurrenceChunkIdsPluginOptions","type":"object","additionalProperties":false,"properties":{"prioritiseInitial":{"description":"Prioritise initial size over total size.","type":"boolean"}}}')},36389:function(v){"use strict";v.exports=JSON.parse('{"title":"OccurrenceModuleIdsPluginOptions","type":"object","additionalProperties":false,"properties":{"prioritiseInitial":{"description":"Prioritise initial size over total size.","type":"boolean"}}}')},36568:function(v){"use strict";v.exports=JSON.parse('{"title":"AggressiveSplittingPluginOptions","type":"object","additionalProperties":false,"properties":{"chunkOverhead":{"description":"Extra cost for each chunk (Default: 9.8kiB).","type":"number"},"entryChunkMultiplicator":{"description":"Extra cost multiplicator for entry chunks (Default: 10).","type":"number"},"maxSize":{"description":"Byte, max size of per file (Default: 50kiB).","type":"number"},"minSize":{"description":"Byte, split point. (Default: 30kiB).","type":"number"}}}')},20904:function(v){"use strict";v.exports=JSON.parse('{"title":"LimitChunkCountPluginOptions","type":"object","additionalProperties":false,"properties":{"chunkOverhead":{"description":"Constant overhead for a chunk.","type":"number"},"entryChunkMultiplicator":{"description":"Multiplicator for initial chunks.","type":"number"},"maxChunks":{"description":"Limit the maximum number of chunks using a value greater greater than or equal to 1.","type":"number","minimum":1}},"required":["maxChunks"]}')},22227:function(v){"use strict";v.exports=JSON.parse('{"title":"MinChunkSizePluginOptions","type":"object","additionalProperties":false,"properties":{"chunkOverhead":{"description":"Constant overhead for a chunk.","type":"number"},"entryChunkMultiplicator":{"description":"Multiplicator for initial chunks.","type":"number"},"minChunkSize":{"description":"Minimum number of characters.","type":"number"}},"required":["minChunkSize"]}')},14225:function(v){"use strict";v.exports=JSON.parse('{"definitions":{"HttpUriOptions":{"description":"Options for building http resources.","type":"object","additionalProperties":false,"properties":{"allowedUris":{"$ref":"#/definitions/HttpUriOptionsAllowedUris"},"cacheLocation":{"description":"Location where resource content is stored for lockfile entries. It\'s also possible to disable storing by passing false.","anyOf":[{"enum":[false]},{"type":"string","absolutePath":true}]},"frozen":{"description":"When set, anything that would lead to a modification of the lockfile or any resource content, will result in an error.","type":"boolean"},"lockfileLocation":{"description":"Location of the lockfile.","type":"string","absolutePath":true},"proxy":{"description":"Proxy configuration, which can be used to specify a proxy server to use for HTTP requests.","type":"string"},"upgrade":{"description":"When set, resources of existing lockfile entries will be fetched and entries will be upgraded when resource content has changed.","type":"boolean"}},"required":["allowedUris"]},"HttpUriOptionsAllowedUris":{"description":"List of allowed URIs (resp. the beginning of them).","type":"array","items":{"description":"List of allowed URIs (resp. the beginning of them).","anyOf":[{"description":"Allowed URI pattern.","instanceof":"RegExp","tsType":"RegExp"},{"description":"Allowed URI (resp. the beginning of it).","type":"string","pattern":"^https?://"},{"description":"Allowed URI filter function.","instanceof":"Function","tsType":"((uri: string) => boolean)"}]}}},"title":"HttpUriPluginOptions","oneOf":[{"$ref":"#/definitions/HttpUriOptions"}]}')},34446:function(v){"use strict";v.exports=JSON.parse('{"definitions":{"Consumes":{"description":"Modules that should be consumed from share scope. When provided, property names are used to match requested modules in this compilation.","anyOf":[{"type":"array","items":{"description":"Modules that should be consumed from share scope.","anyOf":[{"$ref":"#/definitions/ConsumesItem"},{"$ref":"#/definitions/ConsumesObject"}]}},{"$ref":"#/definitions/ConsumesObject"}]},"ConsumesConfig":{"description":"Advanced configuration for modules that should be consumed from share scope.","type":"object","additionalProperties":false,"properties":{"eager":{"description":"Include the fallback module directly instead behind an async request. This allows to use fallback module in initial load too. All possible shared modules need to be eager too.","type":"boolean"},"import":{"description":"Fallback module if no shared module is found in share scope. Defaults to the property name.","anyOf":[{"description":"No fallback module.","enum":[false]},{"$ref":"#/definitions/ConsumesItem"}]},"packageName":{"description":"Package name to determine required version from description file. This is only needed when package name can\'t be automatically determined from request.","type":"string","minLength":1},"requiredVersion":{"description":"Version requirement from module in share scope.","anyOf":[{"description":"No version requirement check.","enum":[false]},{"description":"Version as string. Can be prefixed with \'^\' or \'~\' for minimum matches. Each part of the version should be separated by a dot \'.\'.","type":"string"}]},"shareKey":{"description":"Module is looked up under this key from the share scope.","type":"string","minLength":1},"shareScope":{"description":"Share scope name.","type":"string","minLength":1},"singleton":{"description":"Allow only a single version of the shared module in share scope (disabled by default).","type":"boolean"},"strictVersion":{"description":"Do not accept shared module if version is not valid (defaults to yes, if local fallback module is available and shared module is not a singleton, otherwise no, has no effect if there is no required version specified).","type":"boolean"}}},"ConsumesItem":{"description":"A module that should be consumed from share scope.","type":"string","minLength":1},"ConsumesObject":{"description":"Modules that should be consumed from share scope. Property names are used to match requested modules in this compilation. Relative requests are resolved, module requests are matched unresolved, absolute paths will match resolved requests. A trailing slash will match all requests with this prefix. In this case shareKey must also have a trailing slash.","type":"object","additionalProperties":{"description":"Modules that should be consumed from share scope.","anyOf":[{"$ref":"#/definitions/ConsumesConfig"},{"$ref":"#/definitions/ConsumesItem"}]}}},"title":"ConsumeSharedPluginOptions","description":"Options for consuming shared modules.","type":"object","additionalProperties":false,"properties":{"consumes":{"$ref":"#/definitions/Consumes"},"shareScope":{"description":"Share scope name used for all consumed modules (defaults to \'default\').","type":"string","minLength":1}},"required":["consumes"]}')},34097:function(v){"use strict";v.exports=JSON.parse('{"definitions":{"Provides":{"description":"Modules that should be provided as shared modules to the share scope. When provided, property name is used to match modules, otherwise this is automatically inferred from share key.","anyOf":[{"type":"array","items":{"description":"Modules that should be provided as shared modules to the share scope.","anyOf":[{"$ref":"#/definitions/ProvidesItem"},{"$ref":"#/definitions/ProvidesObject"}]}},{"$ref":"#/definitions/ProvidesObject"}]},"ProvidesConfig":{"description":"Advanced configuration for modules that should be provided as shared modules to the share scope.","type":"object","additionalProperties":false,"properties":{"eager":{"description":"Include the provided module directly instead behind an async request. This allows to use this shared module in initial load too. All possible shared modules need to be eager too.","type":"boolean"},"shareKey":{"description":"Key in the share scope under which the shared modules should be stored.","type":"string","minLength":1},"shareScope":{"description":"Share scope name.","type":"string","minLength":1},"version":{"description":"Version of the provided module. Will replace lower matching versions, but not higher.","anyOf":[{"description":"Don\'t provide a version.","enum":[false]},{"description":"Version as string. Each part of the version should be separated by a dot \'.\'.","type":"string"}]}}},"ProvidesItem":{"description":"Request to a module that should be provided as shared module to the share scope (will be resolved when relative).","type":"string","minLength":1},"ProvidesObject":{"description":"Modules that should be provided as shared modules to the share scope. Property names are used as share keys.","type":"object","additionalProperties":{"description":"Modules that should be provided as shared modules to the share scope.","anyOf":[{"$ref":"#/definitions/ProvidesConfig"},{"$ref":"#/definitions/ProvidesItem"}]}}},"title":"ProvideSharedPluginOptions","type":"object","additionalProperties":false,"properties":{"provides":{"$ref":"#/definitions/Provides"},"shareScope":{"description":"Share scope name used for all provided modules (defaults to \'default\').","type":"string","minLength":1}},"required":["provides"]}')}};var E={};function __webpack_require__(P){var R=E[P];if(R!==undefined){return R.exports}var $=E[P]={exports:{}};var N=true;try{v[P].call($.exports,$,$.exports,__webpack_require__);N=false}finally{if(N)delete E[P]}return $.exports}if(typeof __webpack_require__!=="undefined")__webpack_require__.ab=__dirname+"/";var P=__webpack_require__(83182);module.exports=P})(); \ No newline at end of file +var E;var P;var R;var $;var N;var L;var q;var K;var ae;var ge;var be;var xe;var ve;var Ae;var Ie;var He;var Qe;var Je;var Ve;var Ke;var Ye;var Xe;var Ze;(function(E){var P=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:{};if(typeof define==="function"&&define.amd){define("tslib",["exports"],(function(v){E(createExporter(P,createExporter(v)))}))}else if(true&&typeof v.exports==="object"){E(createExporter(P,createExporter(v.exports)))}else{E(createExporter(P))}function createExporter(v,E){if(v!==P){if(typeof Object.create==="function"){Object.defineProperty(v,"__esModule",{value:true})}else{v.__esModule=true}}return function(P,R){return v[P]=E?E(P,R):R}}})((function(v){var et=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,E){v.__proto__=E}||function(v,E){for(var P in E)if(E.hasOwnProperty(P))v[P]=E[P]};E=function(v,E){et(v,E);function __(){this.constructor=v}v.prototype=E===null?Object.create(E):(__.prototype=E.prototype,new __)};P=Object.assign||function(v){for(var E,P=1,R=arguments.length;P=0;q--)if(L=v[q])N=($<3?L(N):$>3?L(E,P,N):L(E,P))||N;return $>3&&N&&Object.defineProperty(E,P,N),N};N=function(v,E){return function(P,R){E(P,R,v)}};L=function(v,E){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(v,E)};q=function(v,E,P,R){function adopt(v){return v instanceof P?v:new P((function(E){E(v)}))}return new(P||(P=Promise))((function(P,$){function fulfilled(v){try{step(R.next(v))}catch(v){$(v)}}function rejected(v){try{step(R["throw"](v))}catch(v){$(v)}}function step(v){v.done?P(v.value):adopt(v.value).then(fulfilled,rejected)}step((R=R.apply(v,E||[])).next())}))};K=function(v,E){var P={label:0,sent:function(){if(N[0]&1)throw N[1];return N[1]},trys:[],ops:[]},R,$,N,L;return L={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(L[Symbol.iterator]=function(){return this}),L;function verb(v){return function(E){return step([v,E])}}function step(L){if(R)throw new TypeError("Generator is already executing.");while(P)try{if(R=1,$&&(N=L[0]&2?$["return"]:L[0]?$["throw"]||((N=$["return"])&&N.call($),0):$.next)&&!(N=N.call($,L[1])).done)return N;if($=0,N)L=[L[0]&2,N.value];switch(L[0]){case 0:case 1:N=L;break;case 4:P.label++;return{value:L[1],done:false};case 5:P.label++;$=L[1];L=[0];continue;case 7:L=P.ops.pop();P.trys.pop();continue;default:if(!(N=P.trys,N=N.length>0&&N[N.length-1])&&(L[0]===6||L[0]===2)){P=0;continue}if(L[0]===3&&(!N||L[1]>N[0]&&L[1]=v.length)v=void 0;return{value:v&&v[R++],done:!v}}};throw new TypeError(E?"Object is not iterable.":"Symbol.iterator is not defined.")};be=function(v,E){var P=typeof Symbol==="function"&&v[Symbol.iterator];if(!P)return v;var R=P.call(v),$,N=[],L;try{while((E===void 0||E-- >0)&&!($=R.next()).done)N.push($.value)}catch(v){L={error:v}}finally{try{if($&&!$.done&&(P=R["return"]))P.call(R)}finally{if(L)throw L.error}}return N};xe=function(){for(var v=[],E=0;E1||resume(v,E)}))}}function resume(v,E){try{step(R[v](E))}catch(v){settle(N[0][3],v)}}function step(v){v.value instanceof Ae?Promise.resolve(v.value.v).then(fulfill,reject):settle(N[0][2],v)}function fulfill(v){resume("next",v)}function reject(v){resume("throw",v)}function settle(v,E){if(v(E),N.shift(),N.length)resume(N[0][0],N[0][1])}};He=function(v){var E,P;return E={},verb("next"),verb("throw",(function(v){throw v})),verb("return"),E[Symbol.iterator]=function(){return this},E;function verb(R,$){E[R]=v[R]?function(E){return(P=!P)?{value:Ae(v[R](E)),done:R==="return"}:$?$(E):E}:$}};Qe=function(v){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var E=v[Symbol.asyncIterator],P;return E?E.call(v):(v=typeof ge==="function"?ge(v):v[Symbol.iterator](),P={},verb("next"),verb("throw"),verb("return"),P[Symbol.asyncIterator]=function(){return this},P);function verb(E){P[E]=v[E]&&function(P){return new Promise((function(R,$){P=v[E](P),settle(R,$,P.done,P.value)}))}}function settle(v,E,P,R){Promise.resolve(R).then((function(E){v({value:E,done:P})}),E)}};Je=function(v,E){if(Object.defineProperty){Object.defineProperty(v,"raw",{value:E})}else{v.raw=E}return v};Ve=function(v){if(v&&v.__esModule)return v;var E={};if(v!=null)for(var P in v)if(Object.hasOwnProperty.call(v,P))E[P]=v[P];E["default"]=v;return E};Ke=function(v){return v&&v.__esModule?v:{default:v}};Ye=function(v,E){if(!E.has(v)){throw new TypeError("attempted to get private field on non-instance")}return E.get(v)};Xe=function(v,E,P){if(!E.has(v)){throw new TypeError("attempted to set private field on non-instance")}E.set(v,P);return P};v("__extends",E);v("__assign",P);v("__rest",R);v("__decorate",$);v("__param",N);v("__metadata",L);v("__awaiter",q);v("__generator",K);v("__exportStar",ae);v("__createBinding",Ze);v("__values",ge);v("__read",be);v("__spread",xe);v("__spreadArrays",ve);v("__await",Ae);v("__asyncGenerator",Ie);v("__asyncDelegator",He);v("__asyncValues",Qe);v("__makeTemplateObject",Je);v("__importStar",Ve);v("__importDefault",Ke);v("__classPrivateFieldGet",Ye);v("__classPrivateFieldSet",Xe)}))},41782:function(v,E,P){"use strict";const R=P(23596);const{JAVASCRIPT_MODULE_TYPE_AUTO:$,JAVASCRIPT_MODULE_TYPE_DYNAMIC:N,JAVASCRIPT_MODULE_TYPE_ESM:L}=P(96170);const q=P(92529);const K=P(16413);const ae=P(9297);const ge=P(81792);const be=P(42453);const{toConstantDependency:xe,evaluateToString:ve}=P(73320);const Ae=P(91416);const Ie=P(45652);function getReplacements(v,E){return{__webpack_require__:{expr:q.require,req:[q.require],type:"function",assign:false},__webpack_public_path__:{expr:q.publicPath,req:[q.publicPath],type:"string",assign:true},__webpack_base_uri__:{expr:q.baseURI,req:[q.baseURI],type:"string",assign:true},__webpack_modules__:{expr:q.moduleFactories,req:[q.moduleFactories],type:"object",assign:false},__webpack_chunk_load__:{expr:q.ensureChunk,req:[q.ensureChunk],type:"function",assign:true},__non_webpack_require__:{expr:v?`__WEBPACK_EXTERNAL_createRequire(${E}.url)`:"require",req:null,type:undefined,assign:true},__webpack_nonce__:{expr:q.scriptNonce,req:[q.scriptNonce],type:"string",assign:true},__webpack_hash__:{expr:`${q.getFullHash}()`,req:[q.getFullHash],type:"string",assign:false},__webpack_chunkname__:{expr:q.chunkName,req:[q.chunkName],type:"string",assign:false},__webpack_get_script_filename__:{expr:q.getChunkScriptFilename,req:[q.getChunkScriptFilename],type:"function",assign:true},__webpack_runtime_id__:{expr:q.runtimeId,req:[q.runtimeId],assign:false},"require.onError":{expr:q.uncaughtErrorHandler,req:[q.uncaughtErrorHandler],type:undefined,assign:true},__system_context__:{expr:q.systemContext,req:[q.systemContext],type:"object",assign:false},__webpack_share_scopes__:{expr:q.shareScopeMap,req:[q.shareScopeMap],type:"object",assign:false},__webpack_init_sharing__:{expr:q.initializeSharing,req:[q.initializeSharing],type:"function",assign:true}}}const He="APIPlugin";class APIPlugin{constructor(v={}){this.options=v}apply(v){v.hooks.compilation.tap(He,((v,{normalModuleFactory:E})=>{const{importMetaName:P}=v.outputOptions;const Qe=getReplacements(this.options.module,P);v.dependencyTemplates.set(ae,new ae.Template);v.hooks.runtimeRequirementInTree.for(q.chunkName).tap(He,(E=>{v.addRuntimeModule(E,new Ae(E.name));return true}));v.hooks.runtimeRequirementInTree.for(q.getFullHash).tap(He,((E,P)=>{v.addRuntimeModule(E,new Ie);return true}));const Je=be.getCompilationHooks(v);Je.renderModuleContent.tap(He,((v,E,P)=>{if(E.buildInfo.needCreateRequire){const v=[new R('import { createRequire as __WEBPACK_EXTERNAL_createRequire } from "module";\n',R.STAGE_HARMONY_IMPORTS,0,"external module node-commonjs")];P.chunkInitFragments.push(...v)}return v}));const handler=v=>{Object.keys(Qe).forEach((E=>{const P=Qe[E];v.hooks.expression.for(E).tap(He,(R=>{const $=xe(v,P.expr,P.req);if(E==="__non_webpack_require__"&&this.options.module){v.state.module.buildInfo.needCreateRequire=true}return $(R)}));if(P.assign===false){v.hooks.assign.for(E).tap(He,(v=>{const P=new K(`${E} must not be assigned`);P.loc=v.loc;throw P}))}if(P.type){v.hooks.evaluateTypeof.for(E).tap(He,ve(P.type))}}));v.hooks.expression.for("__webpack_layer__").tap(He,(E=>{const P=new ae(JSON.stringify(v.state.module.layer),E.range);P.loc=E.loc;v.state.module.addPresentationalDependency(P);return true}));v.hooks.evaluateIdentifier.for("__webpack_layer__").tap(He,(E=>(v.state.module.layer===null?(new ge).setNull():(new ge).setString(v.state.module.layer)).setRange(E.range)));v.hooks.evaluateTypeof.for("__webpack_layer__").tap(He,(E=>(new ge).setString(v.state.module.layer===null?"object":"string").setRange(E.range)));v.hooks.expression.for("__webpack_module__.id").tap(He,(E=>{v.state.module.buildInfo.moduleConcatenationBailout="__webpack_module__.id";const P=new ae(v.state.module.moduleArgument+".id",E.range,[q.moduleId]);P.loc=E.loc;v.state.module.addPresentationalDependency(P);return true}));v.hooks.expression.for("__webpack_module__").tap(He,(E=>{v.state.module.buildInfo.moduleConcatenationBailout="__webpack_module__";const P=new ae(v.state.module.moduleArgument,E.range,[q.module]);P.loc=E.loc;v.state.module.addPresentationalDependency(P);return true}));v.hooks.evaluateTypeof.for("__webpack_module__").tap(He,ve("object"))};E.hooks.parser.for($).tap(He,handler);E.hooks.parser.for(N).tap(He,handler);E.hooks.parser.for(L).tap(He,handler)}))}}v.exports=APIPlugin},71432:function(v,E,P){"use strict";const R=P(16413);const $=/at ([a-zA-Z0-9_.]*)/;function createMessage(v){return`Abstract method${v?" "+v:""}. Must be overridden.`}function Message(){this.stack=undefined;Error.captureStackTrace(this);const v=this.stack.split("\n")[3].match($);this.message=v&&v[1]?createMessage(v[1]):createMessage()}class AbstractMethodError extends R{constructor(){super((new Message).message);this.name="AbstractMethodError"}}v.exports=AbstractMethodError},55936:function(v,E,P){"use strict";const R=P(60890);const $=P(41718);class AsyncDependenciesBlock extends R{constructor(v,E,P){super();if(typeof v==="string"){v={name:v}}else if(!v){v={name:undefined}}this.groupOptions=v;this.loc=E;this.request=P;this._stringifiedGroupOptions=undefined}get chunkName(){return this.groupOptions.name}set chunkName(v){if(this.groupOptions.name!==v){this.groupOptions.name=v;this._stringifiedGroupOptions=undefined}}updateHash(v,E){const{chunkGraph:P}=E;if(this._stringifiedGroupOptions===undefined){this._stringifiedGroupOptions=JSON.stringify(this.groupOptions)}const R=P.getBlockChunkGroup(this);v.update(`${this._stringifiedGroupOptions}${R?R.id:""}`);super.updateHash(v,E)}serialize(v){const{write:E}=v;E(this.groupOptions);E(this.loc);E(this.request);super.serialize(v)}deserialize(v){const{read:E}=v;this.groupOptions=E();this.loc=E();this.request=E();super.deserialize(v)}}$(AsyncDependenciesBlock,"webpack/lib/AsyncDependenciesBlock");Object.defineProperty(AsyncDependenciesBlock.prototype,"module",{get(){throw new Error("module property was removed from AsyncDependenciesBlock (it's not needed)")},set(){throw new Error("module property was removed from AsyncDependenciesBlock (it's not needed)")}});v.exports=AsyncDependenciesBlock},40708:function(v,E,P){"use strict";const R=P(16413);class AsyncDependencyToInitialChunkError extends R{constructor(v,E,P){super(`It's not allowed to load an initial chunk on demand. The chunk name "${v}" is already used by an entrypoint.`);this.name="AsyncDependencyToInitialChunkError";this.module=E;this.loc=P}}v.exports=AsyncDependencyToInitialChunkError},28917:function(v,E,P){"use strict";const R=P(78175);const $=P(80346);const N=P(67727);class AutomaticPrefetchPlugin{apply(v){v.hooks.compilation.tap("AutomaticPrefetchPlugin",((v,{normalModuleFactory:E})=>{v.dependencyFactories.set(N,E)}));let E=null;v.hooks.afterCompile.tap("AutomaticPrefetchPlugin",(v=>{E=[];for(const P of v.modules){if(P instanceof $){E.push({context:P.context,request:P.request})}}}));v.hooks.make.tapAsync("AutomaticPrefetchPlugin",((P,$)=>{if(!E)return $();R.forEach(E,((E,R)=>{P.addModuleChain(E.context||v.context,new N(`!!${E.request}`),R)}),(v=>{E=null;$(v)}))}))}}v.exports=AutomaticPrefetchPlugin},62897:function(v,E,P){"use strict";const{ConcatSource:R}=P(51255);const $=P(6944);const N=P(15321);const L=P(25233);const q=P(21596);const K=q(P(39710),(()=>P(31042)),{name:"Banner Plugin",baseDataPath:"options"});const wrapComment=v=>{if(!v.includes("\n")){return L.toComment(v)}return`/*!\n * ${v.replace(/\*\//g,"* /").split("\n").join("\n * ").replace(/\s+\n/g,"\n").trimEnd()}\n */`};class BannerPlugin{constructor(v){if(typeof v==="string"||typeof v==="function"){v={banner:v}}K(v);this.options=v;const E=v.banner;if(typeof E==="function"){const v=E;this.banner=this.options.raw?v:E=>wrapComment(v(E))}else{const v=this.options.raw?E:wrapComment(E);this.banner=()=>v}}apply(v){const E=this.options;const P=this.banner;const L=N.matchObject.bind(undefined,E);const q=new WeakMap;v.hooks.compilation.tap("BannerPlugin",(v=>{v.hooks.processAssets.tap({name:"BannerPlugin",stage:$.PROCESS_ASSETS_STAGE_ADDITIONS},(()=>{for(const $ of v.chunks){if(E.entryOnly&&!$.canBeInitial()){continue}for(const N of $.files){if(!L(N)){continue}const K={chunk:$,filename:N};const ae=v.getPath(P,K);v.updateAsset(N,(v=>{let P=q.get(v);if(!P||P.comment!==ae){const P=E.footer?new R(v,"\n",ae):new R(ae,"\n",v);q.set(v,{source:P,comment:ae});return P}return P.source}))}}}))}))}}v.exports=BannerPlugin},55254:function(v,E,P){"use strict";const{AsyncParallelHook:R,AsyncSeriesBailHook:$,SyncHook:N}=P(79846);const{makeWebpackError:L,makeWebpackErrorCallback:q}=P(2202);const needCalls=(v,E)=>P=>{if(--v===0){return E(P)}if(P&&v>0){v=0;return E(P)}};class Cache{constructor(){this.hooks={get:new $(["identifier","etag","gotHandlers"]),store:new R(["identifier","etag","data"]),storeBuildDependencies:new R(["dependencies"]),beginIdle:new N([]),endIdle:new R([]),shutdown:new R([])}}get(v,E,P){const R=[];this.hooks.get.callAsync(v,E,R,((v,E)=>{if(v){P(L(v,"Cache.hooks.get"));return}if(E===null){E=undefined}if(R.length>1){const v=needCalls(R.length,(()=>P(null,E)));for(const P of R){P(E,v)}}else if(R.length===1){R[0](E,(()=>P(null,E)))}else{P(null,E)}}))}store(v,E,P,R){this.hooks.store.callAsync(v,E,P,q(R,"Cache.hooks.store"))}storeBuildDependencies(v,E){this.hooks.storeBuildDependencies.callAsync(v,q(E,"Cache.hooks.storeBuildDependencies"))}beginIdle(){this.hooks.beginIdle.call()}endIdle(v){this.hooks.endIdle.callAsync(q(v,"Cache.hooks.endIdle"))}shutdown(v){this.hooks.shutdown.callAsync(q(v,"Cache.hooks.shutdown"))}}Cache.STAGE_MEMORY=-10;Cache.STAGE_DEFAULT=0;Cache.STAGE_DISK=10;Cache.STAGE_NETWORK=20;v.exports=Cache},54252:function(v,E,P){"use strict";const{forEachBail:R}=P(32613);const $=P(78175);const N=P(15051);const L=P(63630);class MultiItemCache{constructor(v){this._items=v;if(v.length===1)return v[0]}get(v){R(this._items,((v,E)=>v.get(E)),v)}getPromise(){const next=v=>this._items[v].getPromise().then((E=>{if(E!==undefined)return E;if(++vE.store(v,P)),E)}storePromise(v){return Promise.all(this._items.map((E=>E.storePromise(v)))).then((()=>{}))}}class ItemCacheFacade{constructor(v,E,P){this._cache=v;this._name=E;this._etag=P}get(v){this._cache.get(this._name,this._etag,v)}getPromise(){return new Promise(((v,E)=>{this._cache.get(this._name,this._etag,((P,R)=>{if(P){E(P)}else{v(R)}}))}))}store(v,E){this._cache.store(this._name,this._etag,v,E)}storePromise(v){return new Promise(((E,P)=>{this._cache.store(this._name,this._etag,v,(v=>{if(v){P(v)}else{E()}}))}))}provide(v,E){this.get(((P,R)=>{if(P)return E(P);if(R!==undefined)return R;v(((v,P)=>{if(v)return E(v);this.store(P,(v=>{if(v)return E(v);E(null,P)}))}))}))}async providePromise(v){const E=await this.getPromise();if(E!==undefined)return E;const P=await v();await this.storePromise(P);return P}}class CacheFacade{constructor(v,E,P){this._cache=v;this._name=E;this._hashFunction=P}getChildCache(v){return new CacheFacade(this._cache,`${this._name}|${v}`,this._hashFunction)}getItemCache(v,E){return new ItemCacheFacade(this._cache,`${this._name}|${v}`,E)}getLazyHashedEtag(v){return N(v,this._hashFunction)}mergeEtags(v,E){return L(v,E)}get(v,E,P){this._cache.get(`${this._name}|${v}`,E,P)}getPromise(v,E){return new Promise(((P,R)=>{this._cache.get(`${this._name}|${v}`,E,((v,E)=>{if(v){R(v)}else{P(E)}}))}))}store(v,E,P,R){this._cache.store(`${this._name}|${v}`,E,P,R)}storePromise(v,E,P){return new Promise(((R,$)=>{this._cache.store(`${this._name}|${v}`,E,P,(v=>{if(v){$(v)}else{R()}}))}))}provide(v,E,P,R){this.get(v,E,(($,N)=>{if($)return R($);if(N!==undefined)return N;P(((P,$)=>{if(P)return R(P);this.store(v,E,$,(v=>{if(v)return R(v);R(null,$)}))}))}))}async providePromise(v,E,P){const R=await this.getPromise(v,E);if(R!==undefined)return R;const $=await P();await this.storePromise(v,E,$);return $}}v.exports=CacheFacade;v.exports.ItemCacheFacade=ItemCacheFacade;v.exports.MultiItemCache=MultiItemCache},58226:function(v,E,P){"use strict";const R=P(16413);const sortModules=v=>v.sort(((v,E)=>{const P=v.identifier();const R=E.identifier();if(PR)return 1;return 0}));const createModulesListMessage=(v,E)=>v.map((v=>{let P=`* ${v.identifier()}`;const R=Array.from(E.getIncomingConnectionsByOriginModule(v).keys()).filter((v=>v));if(R.length>0){P+=`\n Used by ${R.length} module(s), i. e.`;P+=`\n ${R[0].identifier()}`}return P})).join("\n");class CaseSensitiveModulesWarning extends R{constructor(v,E){const P=sortModules(Array.from(v));const R=createModulesListMessage(P,E);super(`There are multiple modules with names that only differ in casing.\nThis can lead to unexpected behavior when compiling on a filesystem with other case-semantic.\nUse equal casing. Compare these module identifiers:\n${R}`);this.name="CaseSensitiveModulesWarning";this.module=P[0]}}v.exports=CaseSensitiveModulesWarning},56738:function(v,E,P){"use strict";const R=P(86255);const $=P(30116);const{intersect:N}=P(64960);const L=P(68001);const q=P(19943);const{compareModulesByIdentifier:K,compareChunkGroupsByIndex:ae,compareModulesById:ge}=P(28273);const{createArrayToSetDeprecationSet:be}=P(31950);const{mergeRuntime:xe}=P(65153);const ve=be("chunk.files");let Ae=1e3;class Chunk{constructor(v,E=true){this.id=null;this.ids=null;this.debugId=Ae++;this.name=v;this.idNameHints=new L;this.preventIntegration=false;this.filenameTemplate=undefined;this.cssFilenameTemplate=undefined;this._groups=new L(undefined,ae);this.runtime=undefined;this.files=E?new ve:new Set;this.auxiliaryFiles=new Set;this.rendered=false;this.hash=undefined;this.contentHash=Object.create(null);this.renderedHash=undefined;this.chunkReason=undefined;this.extraAsync=false}get entryModule(){const v=Array.from(R.getChunkGraphForChunk(this,"Chunk.entryModule","DEP_WEBPACK_CHUNK_ENTRY_MODULE").getChunkEntryModulesIterable(this));if(v.length===0){return undefined}else if(v.length===1){return v[0]}else{throw new Error("Module.entryModule: Multiple entry modules are not supported by the deprecated API (Use the new ChunkGroup API)")}}hasEntryModule(){return R.getChunkGraphForChunk(this,"Chunk.hasEntryModule","DEP_WEBPACK_CHUNK_HAS_ENTRY_MODULE").getNumberOfEntryModules(this)>0}addModule(v){const E=R.getChunkGraphForChunk(this,"Chunk.addModule","DEP_WEBPACK_CHUNK_ADD_MODULE");if(E.isModuleInChunk(v,this))return false;E.connectChunkAndModule(this,v);return true}removeModule(v){R.getChunkGraphForChunk(this,"Chunk.removeModule","DEP_WEBPACK_CHUNK_REMOVE_MODULE").disconnectChunkAndModule(this,v)}getNumberOfModules(){return R.getChunkGraphForChunk(this,"Chunk.getNumberOfModules","DEP_WEBPACK_CHUNK_GET_NUMBER_OF_MODULES").getNumberOfChunkModules(this)}get modulesIterable(){const v=R.getChunkGraphForChunk(this,"Chunk.modulesIterable","DEP_WEBPACK_CHUNK_MODULES_ITERABLE");return v.getOrderedChunkModulesIterable(this,K)}compareTo(v){const E=R.getChunkGraphForChunk(this,"Chunk.compareTo","DEP_WEBPACK_CHUNK_COMPARE_TO");return E.compareChunks(this,v)}containsModule(v){return R.getChunkGraphForChunk(this,"Chunk.containsModule","DEP_WEBPACK_CHUNK_CONTAINS_MODULE").isModuleInChunk(v,this)}getModules(){return R.getChunkGraphForChunk(this,"Chunk.getModules","DEP_WEBPACK_CHUNK_GET_MODULES").getChunkModules(this)}remove(){const v=R.getChunkGraphForChunk(this,"Chunk.remove","DEP_WEBPACK_CHUNK_REMOVE");v.disconnectChunk(this);this.disconnectFromGroups()}moveModule(v,E){const P=R.getChunkGraphForChunk(this,"Chunk.moveModule","DEP_WEBPACK_CHUNK_MOVE_MODULE");P.disconnectChunkAndModule(this,v);P.connectChunkAndModule(E,v)}integrate(v){const E=R.getChunkGraphForChunk(this,"Chunk.integrate","DEP_WEBPACK_CHUNK_INTEGRATE");if(E.canChunksBeIntegrated(this,v)){E.integrateChunks(this,v);return true}else{return false}}canBeIntegrated(v){const E=R.getChunkGraphForChunk(this,"Chunk.canBeIntegrated","DEP_WEBPACK_CHUNK_CAN_BE_INTEGRATED");return E.canChunksBeIntegrated(this,v)}isEmpty(){const v=R.getChunkGraphForChunk(this,"Chunk.isEmpty","DEP_WEBPACK_CHUNK_IS_EMPTY");return v.getNumberOfChunkModules(this)===0}modulesSize(){const v=R.getChunkGraphForChunk(this,"Chunk.modulesSize","DEP_WEBPACK_CHUNK_MODULES_SIZE");return v.getChunkModulesSize(this)}size(v={}){const E=R.getChunkGraphForChunk(this,"Chunk.size","DEP_WEBPACK_CHUNK_SIZE");return E.getChunkSize(this,v)}integratedSize(v,E){const P=R.getChunkGraphForChunk(this,"Chunk.integratedSize","DEP_WEBPACK_CHUNK_INTEGRATED_SIZE");return P.getIntegratedChunksSize(this,v,E)}getChunkModuleMaps(v){const E=R.getChunkGraphForChunk(this,"Chunk.getChunkModuleMaps","DEP_WEBPACK_CHUNK_GET_CHUNK_MODULE_MAPS");const P=Object.create(null);const $=Object.create(null);for(const R of this.getAllAsyncChunks()){let N;for(const L of E.getOrderedChunkModulesIterable(R,ge(E))){if(v(L)){if(N===undefined){N=[];P[R.id]=N}const v=E.getModuleId(L);N.push(v);$[v]=E.getRenderedModuleHash(L,undefined)}}}return{id:P,hash:$}}hasModuleInGraph(v,E){const P=R.getChunkGraphForChunk(this,"Chunk.hasModuleInGraph","DEP_WEBPACK_CHUNK_HAS_MODULE_IN_GRAPH");return P.hasModuleInGraph(this,v,E)}getChunkMaps(v){const E=Object.create(null);const P=Object.create(null);const R=Object.create(null);for(const $ of this.getAllAsyncChunks()){const N=$.id;E[N]=v?$.hash:$.renderedHash;for(const v of Object.keys($.contentHash)){if(!P[v]){P[v]=Object.create(null)}P[v][N]=$.contentHash[v]}if($.name){R[N]=$.name}}return{hash:E,contentHash:P,name:R}}hasRuntime(){for(const v of this._groups){if(v instanceof $&&v.getRuntimeChunk()===this){return true}}return false}canBeInitial(){for(const v of this._groups){if(v.isInitial())return true}return false}isOnlyInitial(){if(this._groups.size<=0)return false;for(const v of this._groups){if(!v.isInitial())return false}return true}getEntryOptions(){for(const v of this._groups){if(v instanceof $){return v.options}}return undefined}addGroup(v){this._groups.add(v)}removeGroup(v){this._groups.delete(v)}isInGroup(v){return this._groups.has(v)}getNumberOfGroups(){return this._groups.size}get groupsIterable(){this._groups.sort();return this._groups}disconnectFromGroups(){for(const v of this._groups){v.removeChunk(this)}}split(v){for(const E of this._groups){E.insertChunk(v,this);v.addGroup(E)}for(const E of this.idNameHints){v.idNameHints.add(E)}v.runtime=xe(v.runtime,this.runtime)}updateHash(v,E){v.update(`${this.id} ${this.ids?this.ids.join():""} ${this.name||""} `);const P=new q;for(const v of E.getChunkModulesIterable(this)){P.add(E.getModuleHash(v,this.runtime))}P.updateHash(v);const R=E.getChunkEntryModulesWithChunkGroupIterable(this);for(const[P,$]of R){v.update(`entry${E.getModuleId(P)}${$.id}`)}}getAllAsyncChunks(){const v=new Set;const E=new Set;const P=N(Array.from(this.groupsIterable,(v=>new Set(v.chunks))));const R=new Set(this.groupsIterable);for(const E of R){for(const P of E.childrenIterable){if(P instanceof $){R.add(P)}else{v.add(P)}}}for(const R of v){for(const v of R.chunks){if(!P.has(v)){E.add(v)}}for(const E of R.childrenIterable){v.add(E)}}return E}getAllInitialChunks(){const v=new Set;const E=new Set(this.groupsIterable);for(const P of E){if(P.isInitial()){for(const E of P.chunks)v.add(E);for(const v of P.childrenIterable)E.add(v)}}return v}getAllReferencedChunks(){const v=new Set(this.groupsIterable);const E=new Set;for(const P of v){for(const v of P.chunks){E.add(v)}for(const E of P.childrenIterable){v.add(E)}}return E}getAllReferencedAsyncEntrypoints(){const v=new Set(this.groupsIterable);const E=new Set;for(const P of v){for(const v of P.asyncEntrypointsIterable){E.add(v)}for(const E of P.childrenIterable){v.add(E)}}return E}hasAsyncChunks(){const v=new Set;const E=N(Array.from(this.groupsIterable,(v=>new Set(v.chunks))));for(const E of this.groupsIterable){for(const P of E.childrenIterable){v.add(P)}}for(const P of v){for(const v of P.chunks){if(!E.has(v)){return true}}for(const E of P.childrenIterable){v.add(E)}}return false}getChildIdsByOrders(v,E){const P=new Map;for(const v of this.groupsIterable){if(v.chunks[v.chunks.length-1]===this){for(const E of v.childrenIterable){for(const v of Object.keys(E.options)){if(v.endsWith("Order")){const R=v.slice(0,v.length-"Order".length);let $=P.get(R);if($===undefined){$=[];P.set(R,$)}$.push({order:E.options[v],group:E})}}}}}const R=Object.create(null);for(const[$,N]of P){N.sort(((E,P)=>{const R=P.order-E.order;if(R!==0)return R;return E.group.compareTo(v,P.group)}));const P=new Set;for(const R of N){for(const $ of R.group.chunks){if(E&&!E($,v))continue;P.add($.id)}}if(P.size>0){R[$]=Array.from(P)}}return R}getChildrenOfTypeInOrder(v,E){const P=[];for(const v of this.groupsIterable){for(const R of v.childrenIterable){const $=R.options[E];if($===undefined)continue;P.push({order:$,group:v,childGroup:R})}}if(P.length===0)return undefined;P.sort(((E,P)=>{const R=P.order-E.order;if(R!==0)return R;return E.group.compareTo(v,P.group)}));const R=[];let $;for(const{group:v,childGroup:E}of P){if($&&$.onChunks===v.chunks){for(const v of E.chunks){$.chunks.add(v)}}else{R.push($={onChunks:v.chunks,chunks:new Set(E.chunks)})}}return R}getChildIdsByOrdersMap(v,E,P){const R=Object.create(null);const addChildIdsByOrdersToMap=E=>{const $=E.getChildIdsByOrders(v,P);for(const v of Object.keys($)){let P=R[v];if(P===undefined){R[v]=P=Object.create(null)}P[E.id]=$[v]}};if(E){const v=new Set;for(const E of this.groupsIterable){for(const P of E.chunks){v.add(P)}}for(const E of v){addChildIdsByOrdersToMap(E)}}for(const v of this.getAllAsyncChunks()){addChildIdsByOrdersToMap(v)}return R}}v.exports=Chunk},86255:function(v,E,P){"use strict";const R=P(73837);const $=P(30116);const N=P(1709);const{first:L}=P(64960);const q=P(68001);const{compareModulesById:K,compareIterables:ae,compareModulesByIdentifier:ge,concatComparators:be,compareSelect:xe,compareIds:ve}=P(28273);const Ae=P(20932);const Ie=P(65874);const{RuntimeSpecMap:He,RuntimeSpecSet:Qe,runtimeToString:Je,mergeRuntime:Ve,forEachRuntime:Ke}=P(65153);const Ye=new Set;const Xe=BigInt(0);const Ze=ae(ge);class ModuleHashInfo{constructor(v,E){this.hash=v;this.renderedHash=E}}const getArray=v=>Array.from(v);const getModuleRuntimes=v=>{const E=new Qe;for(const P of v){E.add(P.runtime)}return E};const modulesBySourceType=v=>E=>{const P=new Map;for(const R of E){const E=v&&v.get(R)||R.getSourceTypes();for(const v of E){let E=P.get(v);if(E===undefined){E=new q;P.set(v,E)}E.add(R)}}for(const[v,R]of P){if(R.size===E.size){P.set(v,E)}}return P};const et=modulesBySourceType(undefined);const tt=new WeakMap;const createOrderedArrayFunction=v=>{let E=tt.get(v);if(E!==undefined)return E;E=E=>{E.sortWith(v);return Array.from(E)};tt.set(v,E);return E};const getModulesSize=v=>{let E=0;for(const P of v){for(const v of P.getSourceTypes()){E+=P.size(v)}}return E};const getModulesSizes=v=>{let E=Object.create(null);for(const P of v){for(const v of P.getSourceTypes()){E[v]=(E[v]||0)+P.size(v)}}return E};const isAvailableChunk=(v,E)=>{const P=new Set(E.groupsIterable);for(const E of P){if(v.isInGroup(E))continue;if(E.isInitial())return false;for(const v of E.parentsIterable){P.add(v)}}return true};class ChunkGraphModule{constructor(){this.chunks=new q;this.entryInChunks=undefined;this.runtimeInChunks=undefined;this.hashes=undefined;this.id=null;this.runtimeRequirements=undefined;this.graphHashes=undefined;this.graphHashesWithConnections=undefined}}class ChunkGraphChunk{constructor(){this.modules=new q;this.sourceTypesByModule=undefined;this.entryModules=new Map;this.runtimeModules=new q;this.fullHashModules=undefined;this.dependentHashModules=undefined;this.runtimeRequirements=undefined;this.runtimeRequirementsInTree=new Set;this._modulesBySourceType=et}}class ChunkGraph{constructor(v,E="md4"){this._modules=new WeakMap;this._chunks=new WeakMap;this._blockChunkGroups=new WeakMap;this._runtimeIds=new Map;this.moduleGraph=v;this._hashFunction=E;this._getGraphRoots=this._getGraphRoots.bind(this)}_getChunkGraphModule(v){let E=this._modules.get(v);if(E===undefined){E=new ChunkGraphModule;this._modules.set(v,E)}return E}_getChunkGraphChunk(v){let E=this._chunks.get(v);if(E===undefined){E=new ChunkGraphChunk;this._chunks.set(v,E)}return E}_getGraphRoots(v){const{moduleGraph:E}=this;return Array.from(Ie(v,(v=>{const P=new Set;const addDependencies=v=>{for(const R of E.getOutgoingConnections(v)){if(!R.module)continue;const v=R.getActiveState(undefined);if(v===false)continue;if(v===N.TRANSITIVE_ONLY){addDependencies(R.module);continue}P.add(R.module)}};addDependencies(v);return P}))).sort(ge)}connectChunkAndModule(v,E){const P=this._getChunkGraphModule(E);const R=this._getChunkGraphChunk(v);P.chunks.add(v);R.modules.add(E)}disconnectChunkAndModule(v,E){const P=this._getChunkGraphModule(E);const R=this._getChunkGraphChunk(v);R.modules.delete(E);if(R.sourceTypesByModule)R.sourceTypesByModule.delete(E);P.chunks.delete(v)}disconnectChunk(v){const E=this._getChunkGraphChunk(v);for(const P of E.modules){const E=this._getChunkGraphModule(P);E.chunks.delete(v)}E.modules.clear();v.disconnectFromGroups();ChunkGraph.clearChunkGraphForChunk(v)}attachModules(v,E){const P=this._getChunkGraphChunk(v);for(const v of E){P.modules.add(v)}}attachRuntimeModules(v,E){const P=this._getChunkGraphChunk(v);for(const v of E){P.runtimeModules.add(v)}}attachFullHashModules(v,E){const P=this._getChunkGraphChunk(v);if(P.fullHashModules===undefined)P.fullHashModules=new Set;for(const v of E){P.fullHashModules.add(v)}}attachDependentHashModules(v,E){const P=this._getChunkGraphChunk(v);if(P.dependentHashModules===undefined)P.dependentHashModules=new Set;for(const v of E){P.dependentHashModules.add(v)}}replaceModule(v,E){const P=this._getChunkGraphModule(v);const R=this._getChunkGraphModule(E);for(const $ of P.chunks){const P=this._getChunkGraphChunk($);P.modules.delete(v);P.modules.add(E);R.chunks.add($)}P.chunks.clear();if(P.entryInChunks!==undefined){if(R.entryInChunks===undefined){R.entryInChunks=new Set}for(const $ of P.entryInChunks){const P=this._getChunkGraphChunk($);const N=P.entryModules.get(v);const L=new Map;for(const[R,$]of P.entryModules){if(R===v){L.set(E,N)}else{L.set(R,$)}}P.entryModules=L;R.entryInChunks.add($)}P.entryInChunks=undefined}if(P.runtimeInChunks!==undefined){if(R.runtimeInChunks===undefined){R.runtimeInChunks=new Set}for(const $ of P.runtimeInChunks){const P=this._getChunkGraphChunk($);P.runtimeModules.delete(v);P.runtimeModules.add(E);R.runtimeInChunks.add($);if(P.fullHashModules!==undefined&&P.fullHashModules.has(v)){P.fullHashModules.delete(v);P.fullHashModules.add(E)}if(P.dependentHashModules!==undefined&&P.dependentHashModules.has(v)){P.dependentHashModules.delete(v);P.dependentHashModules.add(E)}}P.runtimeInChunks=undefined}}isModuleInChunk(v,E){const P=this._getChunkGraphChunk(E);return P.modules.has(v)}isModuleInChunkGroup(v,E){for(const P of E.chunks){if(this.isModuleInChunk(v,P))return true}return false}isEntryModule(v){const E=this._getChunkGraphModule(v);return E.entryInChunks!==undefined}getModuleChunksIterable(v){const E=this._getChunkGraphModule(v);return E.chunks}getOrderedModuleChunksIterable(v,E){const P=this._getChunkGraphModule(v);P.chunks.sortWith(E);return P.chunks}getModuleChunks(v){const E=this._getChunkGraphModule(v);return E.chunks.getFromCache(getArray)}getNumberOfModuleChunks(v){const E=this._getChunkGraphModule(v);return E.chunks.size}getModuleRuntimes(v){const E=this._getChunkGraphModule(v);return E.chunks.getFromUnorderedCache(getModuleRuntimes)}getNumberOfChunkModules(v){const E=this._getChunkGraphChunk(v);return E.modules.size}getNumberOfChunkFullHashModules(v){const E=this._getChunkGraphChunk(v);return E.fullHashModules===undefined?0:E.fullHashModules.size}getChunkModulesIterable(v){const E=this._getChunkGraphChunk(v);return E.modules}getChunkModulesIterableBySourceType(v,E){const P=this._getChunkGraphChunk(v);const R=P.modules.getFromUnorderedCache(P._modulesBySourceType).get(E);return R}setChunkModuleSourceTypes(v,E,P){const R=this._getChunkGraphChunk(v);if(R.sourceTypesByModule===undefined){R.sourceTypesByModule=new WeakMap}R.sourceTypesByModule.set(E,P);R._modulesBySourceType=modulesBySourceType(R.sourceTypesByModule)}getChunkModuleSourceTypes(v,E){const P=this._getChunkGraphChunk(v);if(P.sourceTypesByModule===undefined){return E.getSourceTypes()}return P.sourceTypesByModule.get(E)||E.getSourceTypes()}getModuleSourceTypes(v){return this._getOverwrittenModuleSourceTypes(v)||v.getSourceTypes()}_getOverwrittenModuleSourceTypes(v){let E=false;let P;for(const R of this.getModuleChunksIterable(v)){const $=this._getChunkGraphChunk(R);if($.sourceTypesByModule===undefined)return;const N=$.sourceTypesByModule.get(v);if(N===undefined)return;if(!P){P=N;continue}else if(!E){for(const v of N){if(!E){if(!P.has(v)){E=true;P=new Set(P);P.add(v)}}else{P.add(v)}}}else{for(const v of N)P.add(v)}}return P}getOrderedChunkModulesIterable(v,E){const P=this._getChunkGraphChunk(v);P.modules.sortWith(E);return P.modules}getOrderedChunkModulesIterableBySourceType(v,E,P){const R=this._getChunkGraphChunk(v);const $=R.modules.getFromUnorderedCache(R._modulesBySourceType).get(E);if($===undefined)return undefined;$.sortWith(P);return $}getChunkModules(v){const E=this._getChunkGraphChunk(v);return E.modules.getFromUnorderedCache(getArray)}getOrderedChunkModules(v,E){const P=this._getChunkGraphChunk(v);const R=createOrderedArrayFunction(E);return P.modules.getFromUnorderedCache(R)}getChunkModuleIdMap(v,E,P=false){const R=Object.create(null);for(const $ of P?v.getAllReferencedChunks():v.getAllAsyncChunks()){let v;for(const P of this.getOrderedChunkModulesIterable($,K(this))){if(E(P)){if(v===undefined){v=[];R[$.id]=v}const E=this.getModuleId(P);v.push(E)}}}return R}getChunkModuleRenderedHashMap(v,E,P=0,R=false){const $=Object.create(null);for(const N of R?v.getAllReferencedChunks():v.getAllAsyncChunks()){let v;for(const R of this.getOrderedChunkModulesIterable(N,K(this))){if(E(R)){if(v===undefined){v=Object.create(null);$[N.id]=v}const E=this.getModuleId(R);const L=this.getRenderedModuleHash(R,N.runtime);v[E]=P?L.slice(0,P):L}}}return $}getChunkConditionMap(v,E){const P=Object.create(null);for(const R of v.getAllReferencedChunks()){P[R.id]=E(R,this)}return P}hasModuleInGraph(v,E,P){const R=new Set(v.groupsIterable);const $=new Set;for(const v of R){for(const R of v.chunks){if(!$.has(R)){$.add(R);if(!P||P(R,this)){for(const v of this.getChunkModulesIterable(R)){if(E(v)){return true}}}}}for(const E of v.childrenIterable){R.add(E)}}return false}compareChunks(v,E){const P=this._getChunkGraphChunk(v);const R=this._getChunkGraphChunk(E);if(P.modules.size>R.modules.size)return-1;if(P.modules.size0||this.getNumberOfEntryModules(E)>0){return false}return true}integrateChunks(v,E){if(v.name&&E.name){if(this.getNumberOfEntryModules(v)>0===this.getNumberOfEntryModules(E)>0){if(v.name.length!==E.name.length){v.name=v.name.length0){v.name=E.name}}else if(E.name){v.name=E.name}for(const P of E.idNameHints){v.idNameHints.add(P)}v.runtime=Ve(v.runtime,E.runtime);for(const P of this.getChunkModules(E)){this.disconnectChunkAndModule(E,P);this.connectChunkAndModule(v,P)}for(const[P,R]of Array.from(this.getChunkEntryModulesWithChunkGroupIterable(E))){this.disconnectChunkAndEntryModule(E,P);this.connectChunkAndEntryModule(v,P,R)}for(const P of E.groupsIterable){P.replaceChunk(E,v);v.addGroup(P);E.removeGroup(P)}ChunkGraph.clearChunkGraphForChunk(E)}upgradeDependentToFullHashModules(v){const E=this._getChunkGraphChunk(v);if(E.dependentHashModules===undefined)return;if(E.fullHashModules===undefined){E.fullHashModules=E.dependentHashModules}else{for(const v of E.dependentHashModules){E.fullHashModules.add(v)}E.dependentHashModules=undefined}}isEntryModuleInChunk(v,E){const P=this._getChunkGraphChunk(E);return P.entryModules.has(v)}connectChunkAndEntryModule(v,E,P){const R=this._getChunkGraphModule(E);const $=this._getChunkGraphChunk(v);if(R.entryInChunks===undefined){R.entryInChunks=new Set}R.entryInChunks.add(v);$.entryModules.set(E,P)}connectChunkAndRuntimeModule(v,E){const P=this._getChunkGraphModule(E);const R=this._getChunkGraphChunk(v);if(P.runtimeInChunks===undefined){P.runtimeInChunks=new Set}P.runtimeInChunks.add(v);R.runtimeModules.add(E)}addFullHashModuleToChunk(v,E){const P=this._getChunkGraphChunk(v);if(P.fullHashModules===undefined)P.fullHashModules=new Set;P.fullHashModules.add(E)}addDependentHashModuleToChunk(v,E){const P=this._getChunkGraphChunk(v);if(P.dependentHashModules===undefined)P.dependentHashModules=new Set;P.dependentHashModules.add(E)}disconnectChunkAndEntryModule(v,E){const P=this._getChunkGraphModule(E);const R=this._getChunkGraphChunk(v);P.entryInChunks.delete(v);if(P.entryInChunks.size===0){P.entryInChunks=undefined}R.entryModules.delete(E)}disconnectChunkAndRuntimeModule(v,E){const P=this._getChunkGraphModule(E);const R=this._getChunkGraphChunk(v);P.runtimeInChunks.delete(v);if(P.runtimeInChunks.size===0){P.runtimeInChunks=undefined}R.runtimeModules.delete(E)}disconnectEntryModule(v){const E=this._getChunkGraphModule(v);for(const P of E.entryInChunks){const E=this._getChunkGraphChunk(P);E.entryModules.delete(v)}E.entryInChunks=undefined}disconnectEntries(v){const E=this._getChunkGraphChunk(v);for(const P of E.entryModules.keys()){const E=this._getChunkGraphModule(P);E.entryInChunks.delete(v);if(E.entryInChunks.size===0){E.entryInChunks=undefined}}E.entryModules.clear()}getNumberOfEntryModules(v){const E=this._getChunkGraphChunk(v);return E.entryModules.size}getNumberOfRuntimeModules(v){const E=this._getChunkGraphChunk(v);return E.runtimeModules.size}getChunkEntryModulesIterable(v){const E=this._getChunkGraphChunk(v);return E.entryModules.keys()}getChunkEntryDependentChunksIterable(v){const E=new Set;for(const P of v.groupsIterable){if(P instanceof $){const R=P.getEntrypointChunk();const $=this._getChunkGraphChunk(R);for(const P of $.entryModules.values()){for(const $ of P.chunks){if($!==v&&$!==R&&!$.hasRuntime()){E.add($)}}}}}return E}hasChunkEntryDependentChunks(v){const E=this._getChunkGraphChunk(v);for(const P of E.entryModules.values()){for(const E of P.chunks){if(E!==v){return true}}}return false}getChunkRuntimeModulesIterable(v){const E=this._getChunkGraphChunk(v);return E.runtimeModules}getChunkRuntimeModulesInOrder(v){const E=this._getChunkGraphChunk(v);const P=Array.from(E.runtimeModules);P.sort(be(xe((v=>v.stage),ve),ge));return P}getChunkFullHashModulesIterable(v){const E=this._getChunkGraphChunk(v);return E.fullHashModules}getChunkFullHashModulesSet(v){const E=this._getChunkGraphChunk(v);return E.fullHashModules}getChunkDependentHashModulesIterable(v){const E=this._getChunkGraphChunk(v);return E.dependentHashModules}getChunkEntryModulesWithChunkGroupIterable(v){const E=this._getChunkGraphChunk(v);return E.entryModules}getBlockChunkGroup(v){return this._blockChunkGroups.get(v)}connectBlockAndChunkGroup(v,E){this._blockChunkGroups.set(v,E);E.addBlock(v)}disconnectChunkGroup(v){for(const E of v.blocksIterable){this._blockChunkGroups.delete(E)}v._blocks.clear()}getModuleId(v){const E=this._getChunkGraphModule(v);return E.id}setModuleId(v,E){const P=this._getChunkGraphModule(v);P.id=E}getRuntimeId(v){return this._runtimeIds.get(v)}setRuntimeId(v,E){this._runtimeIds.set(v,E)}_getModuleHashInfo(v,E,P){if(!E){throw new Error(`Module ${v.identifier()} has no hash info for runtime ${Je(P)} (hashes not set at all)`)}else if(P===undefined){const P=new Set(E.values());if(P.size!==1){throw new Error(`No unique hash info entry for unspecified runtime for ${v.identifier()} (existing runtimes: ${Array.from(E.keys(),(v=>Je(v))).join(", ")}).\nCaller might not support runtime-dependent code generation (opt-out via optimization.usedExports: "global").`)}return L(P)}else{const R=E.get(P);if(!R){throw new Error(`Module ${v.identifier()} has no hash info for runtime ${Je(P)} (available runtimes ${Array.from(E.keys(),Je).join(", ")})`)}return R}}hasModuleHashes(v,E){const P=this._getChunkGraphModule(v);const R=P.hashes;return R&&R.has(E)}getModuleHash(v,E){const P=this._getChunkGraphModule(v);const R=P.hashes;return this._getModuleHashInfo(v,R,E).hash}getRenderedModuleHash(v,E){const P=this._getChunkGraphModule(v);const R=P.hashes;return this._getModuleHashInfo(v,R,E).renderedHash}setModuleHashes(v,E,P,R){const $=this._getChunkGraphModule(v);if($.hashes===undefined){$.hashes=new He}$.hashes.set(E,new ModuleHashInfo(P,R))}addModuleRuntimeRequirements(v,E,P,R=true){const $=this._getChunkGraphModule(v);const N=$.runtimeRequirements;if(N===undefined){const v=new He;v.set(E,R?P:new Set(P));$.runtimeRequirements=v;return}N.update(E,(v=>{if(v===undefined){return R?P:new Set(P)}else if(!R||v.size>=P.size){for(const E of P)v.add(E);return v}else{for(const E of v)P.add(E);return P}}))}addChunkRuntimeRequirements(v,E){const P=this._getChunkGraphChunk(v);const R=P.runtimeRequirements;if(R===undefined){P.runtimeRequirements=E}else if(R.size>=E.size){for(const v of E)R.add(v)}else{for(const v of R)E.add(v);P.runtimeRequirements=E}}addTreeRuntimeRequirements(v,E){const P=this._getChunkGraphChunk(v);const R=P.runtimeRequirementsInTree;for(const v of E)R.add(v)}getModuleRuntimeRequirements(v,E){const P=this._getChunkGraphModule(v);const R=P.runtimeRequirements&&P.runtimeRequirements.get(E);return R===undefined?Ye:R}getChunkRuntimeRequirements(v){const E=this._getChunkGraphChunk(v);const P=E.runtimeRequirements;return P===undefined?Ye:P}getModuleGraphHash(v,E,P=true){const R=this._getChunkGraphModule(v);return P?this._getModuleGraphHashWithConnections(R,v,E):this._getModuleGraphHashBigInt(R,v,E).toString(16)}getModuleGraphHashBigInt(v,E,P=true){const R=this._getChunkGraphModule(v);return P?BigInt(`0x${this._getModuleGraphHashWithConnections(R,v,E)}`):this._getModuleGraphHashBigInt(R,v,E)}_getModuleGraphHashBigInt(v,E,P){if(v.graphHashes===undefined){v.graphHashes=new He}const R=v.graphHashes.provide(P,(()=>{const R=Ae(this._hashFunction);R.update(`${v.id}${this.moduleGraph.isAsync(E)}`);const $=this._getOverwrittenModuleSourceTypes(E);if($!==undefined){for(const v of $)R.update(v)}this.moduleGraph.getExportsInfo(E).updateHash(R,P);return BigInt(`0x${R.digest("hex")}`)}));return R}_getModuleGraphHashWithConnections(v,E,P){if(v.graphHashesWithConnections===undefined){v.graphHashesWithConnections=new He}const activeStateToString=v=>{if(v===false)return"F";if(v===true)return"T";if(v===N.TRANSITIVE_ONLY)return"O";throw new Error("Not implemented active state")};const R=E.buildMeta&&E.buildMeta.strictHarmonyModule;return v.graphHashesWithConnections.provide(P,(()=>{const $=this._getModuleGraphHashBigInt(v,E,P).toString(16);const N=this.moduleGraph.getOutgoingConnections(E);const q=new Set;const K=new Map;const processConnection=(v,E)=>{const P=v.module;E+=P.getExportsType(this.moduleGraph,R);if(E==="Tnamespace")q.add(P);else{const v=K.get(E);if(v===undefined){K.set(E,P)}else if(v instanceof Set){v.add(P)}else if(v!==P){K.set(E,new Set([v,P]))}}};if(P===undefined||typeof P==="string"){for(const v of N){const E=v.getActiveState(P);if(E===false)continue;processConnection(v,E===true?"T":"O")}}else{for(const v of N){const E=new Set;let R="";Ke(P,(P=>{const $=v.getActiveState(P);E.add($);R+=activeStateToString($)+P}),true);if(E.size===1){const v=L(E);if(v===false)continue;R=activeStateToString(v)}processConnection(v,R)}}if(q.size===0&&K.size===0)return $;const ae=K.size>1?Array.from(K).sort((([v],[E])=>v{ge.update(this._getModuleGraphHashBigInt(this._getChunkGraphModule(v),v,P).toString(16))};const addModulesToHash=v=>{let E=Xe;for(const R of v){E=E^this._getModuleGraphHashBigInt(this._getChunkGraphModule(R),R,P)}ge.update(E.toString(16))};if(q.size===1)addModuleToHash(q.values().next().value);else if(q.size>1)addModulesToHash(q);for(const[v,E]of ae){ge.update(v);if(E instanceof Set){addModulesToHash(E)}else{addModuleToHash(E)}}ge.update($);return ge.digest("hex")}))}getTreeRuntimeRequirements(v){const E=this._getChunkGraphChunk(v);return E.runtimeRequirementsInTree}static getChunkGraphForModule(v,E,P){const $=rt.get(E);if($)return $(v);const N=R.deprecate((v=>{const P=nt.get(v);if(!P)throw new Error(E+": There was no ChunkGraph assigned to the Module for backward-compat (Use the new API)");return P}),E+": Use new ChunkGraph API",P);rt.set(E,N);return N(v)}static setChunkGraphForModule(v,E){nt.set(v,E)}static clearChunkGraphForModule(v){nt.delete(v)}static getChunkGraphForChunk(v,E,P){const $=ot.get(E);if($)return $(v);const N=R.deprecate((v=>{const P=st.get(v);if(!P)throw new Error(E+"There was no ChunkGraph assigned to the Chunk for backward-compat (Use the new API)");return P}),E+": Use new ChunkGraph API",P);ot.set(E,N);return N(v)}static setChunkGraphForChunk(v,E){st.set(v,E)}static clearChunkGraphForChunk(v){st.delete(v)}}const nt=new WeakMap;const st=new WeakMap;const rt=new Map;const ot=new Map;v.exports=ChunkGraph},1353:function(v,E,P){"use strict";const R=P(73837);const $=P(68001);const{compareLocations:N,compareChunks:L,compareIterables:q}=P(28273);let K=5e3;const getArray=v=>Array.from(v);const sortById=(v,E)=>{if(v.id{const P=v.module?v.module.identifier():"";const R=E.module?E.module.identifier():"";if(PR)return 1;return N(v.loc,E.loc)};class ChunkGroup{constructor(v){if(typeof v==="string"){v={name:v}}else if(!v){v={name:undefined}}this.groupDebugId=K++;this.options=v;this._children=new $(undefined,sortById);this._parents=new $(undefined,sortById);this._asyncEntrypoints=new $(undefined,sortById);this._blocks=new $;this.chunks=[];this.origins=[];this._modulePreOrderIndices=new Map;this._modulePostOrderIndices=new Map;this.index=undefined}addOptions(v){for(const E of Object.keys(v)){if(this.options[E]===undefined){this.options[E]=v[E]}else if(this.options[E]!==v[E]){if(E.endsWith("Order")){this.options[E]=Math.max(this.options[E],v[E])}else{throw new Error(`ChunkGroup.addOptions: No option merge strategy for ${E}`)}}}}get name(){return this.options.name}set name(v){this.options.name=v}get debugId(){return Array.from(this.chunks,(v=>v.debugId)).join("+")}get id(){return Array.from(this.chunks,(v=>v.id)).join("+")}unshiftChunk(v){const E=this.chunks.indexOf(v);if(E>0){this.chunks.splice(E,1);this.chunks.unshift(v)}else if(E<0){this.chunks.unshift(v);return true}return false}insertChunk(v,E){const P=this.chunks.indexOf(v);const R=this.chunks.indexOf(E);if(R<0){throw new Error("before chunk not found")}if(P>=0&&P>R){this.chunks.splice(P,1);this.chunks.splice(R,0,v)}else if(P<0){this.chunks.splice(R,0,v);return true}return false}pushChunk(v){const E=this.chunks.indexOf(v);if(E>=0){return false}this.chunks.push(v);return true}replaceChunk(v,E){const P=this.chunks.indexOf(v);if(P<0)return false;const R=this.chunks.indexOf(E);if(R<0){this.chunks[P]=E;return true}if(R=0){this.chunks.splice(E,1);return true}return false}isInitial(){return false}addChild(v){const E=this._children.size;this._children.add(v);return E!==this._children.size}getChildren(){return this._children.getFromCache(getArray)}getNumberOfChildren(){return this._children.size}get childrenIterable(){return this._children}removeChild(v){if(!this._children.has(v)){return false}this._children.delete(v);v.removeParent(this);return true}addParent(v){if(!this._parents.has(v)){this._parents.add(v);return true}return false}getParents(){return this._parents.getFromCache(getArray)}getNumberOfParents(){return this._parents.size}hasParent(v){return this._parents.has(v)}get parentsIterable(){return this._parents}removeParent(v){if(this._parents.delete(v)){v.removeChild(this);return true}return false}addAsyncEntrypoint(v){const E=this._asyncEntrypoints.size;this._asyncEntrypoints.add(v);return E!==this._asyncEntrypoints.size}get asyncEntrypointsIterable(){return this._asyncEntrypoints}getBlocks(){return this._blocks.getFromCache(getArray)}getNumberOfBlocks(){return this._blocks.size}hasBlock(v){return this._blocks.has(v)}get blocksIterable(){return this._blocks}addBlock(v){if(!this._blocks.has(v)){this._blocks.add(v);return true}return false}addOrigin(v,E,P){this.origins.push({module:v,loc:E,request:P})}getFiles(){const v=new Set;for(const E of this.chunks){for(const P of E.files){v.add(P)}}return Array.from(v)}remove(){for(const v of this._parents){v._children.delete(this);for(const E of this._children){E.addParent(v);v.addChild(E)}}for(const v of this._children){v._parents.delete(this)}for(const v of this.chunks){v.removeGroup(this)}}sortItems(){this.origins.sort(sortOrigin)}compareTo(v,E){if(this.chunks.length>E.chunks.length)return-1;if(this.chunks.length{const R=P.order-v.order;if(R!==0)return R;return v.group.compareTo(E,P.group)}));R[v]=$.map((v=>v.group))}return R}setModulePreOrderIndex(v,E){this._modulePreOrderIndices.set(v,E)}getModulePreOrderIndex(v){return this._modulePreOrderIndices.get(v)}setModulePostOrderIndex(v,E){this._modulePostOrderIndices.set(v,E)}getModulePostOrderIndex(v){return this._modulePostOrderIndices.get(v)}checkConstraints(){const v=this;for(const E of v._children){if(!E._parents.has(v)){throw new Error(`checkConstraints: child missing parent ${v.debugId} -> ${E.debugId}`)}}for(const E of v._parents){if(!E._children.has(v)){throw new Error(`checkConstraints: parent missing child ${E.debugId} <- ${v.debugId}`)}}}}ChunkGroup.prototype.getModuleIndex=R.deprecate(ChunkGroup.prototype.getModulePreOrderIndex,"ChunkGroup.getModuleIndex was renamed to getModulePreOrderIndex","DEP_WEBPACK_CHUNK_GROUP_GET_MODULE_INDEX");ChunkGroup.prototype.getModuleIndex2=R.deprecate(ChunkGroup.prototype.getModulePostOrderIndex,"ChunkGroup.getModuleIndex2 was renamed to getModulePostOrderIndex","DEP_WEBPACK_CHUNK_GROUP_GET_MODULE_INDEX_2");v.exports=ChunkGroup},27714:function(v,E,P){"use strict";const R=P(16413);class ChunkRenderError extends R{constructor(v,E,P){super();this.name="ChunkRenderError";this.error=P;this.message=P.message;this.details=P.stack;this.file=E;this.chunk=v}}v.exports=ChunkRenderError},48797:function(v,E,P){"use strict";const R=P(73837);const $=P(25689);const N=$((()=>P(42453)));class ChunkTemplate{constructor(v,E){this._outputOptions=v||{};this.hooks=Object.freeze({renderManifest:{tap:R.deprecate(((v,P)=>{E.hooks.renderManifest.tap(v,((v,E)=>{if(E.chunk.hasRuntime())return v;return P(v,E)}))}),"ChunkTemplate.hooks.renderManifest is deprecated (use Compilation.hooks.renderManifest instead)","DEP_WEBPACK_CHUNK_TEMPLATE_RENDER_MANIFEST")},modules:{tap:R.deprecate(((v,P)=>{N().getCompilationHooks(E).renderChunk.tap(v,((v,R)=>P(v,E.moduleTemplates.javascript,R)))}),"ChunkTemplate.hooks.modules is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderChunk instead)","DEP_WEBPACK_CHUNK_TEMPLATE_MODULES")},render:{tap:R.deprecate(((v,P)=>{N().getCompilationHooks(E).renderChunk.tap(v,((v,R)=>P(v,E.moduleTemplates.javascript,R)))}),"ChunkTemplate.hooks.render is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderChunk instead)","DEP_WEBPACK_CHUNK_TEMPLATE_RENDER")},renderWithEntry:{tap:R.deprecate(((v,P)=>{N().getCompilationHooks(E).render.tap(v,((v,E)=>{if(E.chunkGraph.getNumberOfEntryModules(E.chunk)===0||E.chunk.hasRuntime()){return v}return P(v,E.chunk)}))}),"ChunkTemplate.hooks.renderWithEntry is deprecated (use JavascriptModulesPlugin.getCompilationHooks().render instead)","DEP_WEBPACK_CHUNK_TEMPLATE_RENDER_WITH_ENTRY")},hash:{tap:R.deprecate(((v,P)=>{E.hooks.fullHash.tap(v,P)}),"ChunkTemplate.hooks.hash is deprecated (use Compilation.hooks.fullHash instead)","DEP_WEBPACK_CHUNK_TEMPLATE_HASH")},hashForChunk:{tap:R.deprecate(((v,P)=>{N().getCompilationHooks(E).chunkHash.tap(v,((v,E,R)=>{if(v.hasRuntime())return;P(E,v,R)}))}),"ChunkTemplate.hooks.hashForChunk is deprecated (use JavascriptModulesPlugin.getCompilationHooks().chunkHash instead)","DEP_WEBPACK_CHUNK_TEMPLATE_HASH_FOR_CHUNK")}})}}Object.defineProperty(ChunkTemplate.prototype,"outputOptions",{get:R.deprecate((function(){return this._outputOptions}),"ChunkTemplate.outputOptions is deprecated (use Compilation.outputOptions instead)","DEP_WEBPACK_CHUNK_TEMPLATE_OUTPUT_OPTIONS")});v.exports=ChunkTemplate},68747:function(v,E,P){"use strict";const R=P(78175);const{SyncBailHook:$}=P(79846);const N=P(6944);const L=P(21596);const{join:q}=P(43860);const K=P(63842);const ae=L(undefined,(()=>{const{definitions:v}=P(74792);return{definitions:v,oneOf:[{$ref:"#/definitions/CleanOptions"}]}}),{name:"Clean Plugin",baseDataPath:"options"});const ge=10*1e3;const mergeAssets=(v,E)=>{for(const[P,R]of E){const E=v.get(P);if(!E||R>E)v.set(P,R)}};const getDiffToFs=(v,E,P,$)=>{const N=new Set;for(const[v]of P){N.add(v.replace(/(^|\/)[^/]*$/,""))}for(const v of N){N.add(v.replace(/(^|\/)[^/]*$/,""))}const L=new Set;R.forEachLimit(N,10,((R,$)=>{v.readdir(q(v,E,R),((v,E)=>{if(v){if(v.code==="ENOENT")return $();if(v.code==="ENOTDIR"){L.add(R);return $()}return $(v)}for(const v of E){const E=v;const $=R?`${R}/${E}`:E;if(!N.has($)&&!P.has($)){L.add($)}}$()}))}),(v=>{if(v)return $(v);$(null,L)}))};const getDiffToOldAssets=(v,E)=>{const P=new Set;const R=Date.now();for(const[$,N]of E){if(N>=R)continue;if(!v.has($))P.add($)}return P};const doStat=(v,E,P)=>{if("lstat"in v){v.lstat(E,P)}else{v.stat(E,P)}};const applyDiff=(v,E,P,R,$,N,L)=>{const log=v=>{if(P){R.info(v)}else{R.log(v)}};const ae=Array.from($.keys(),(v=>({type:"check",filename:v,parent:undefined})));const ge=new Map;K(ae,10,(({type:$,filename:L,parent:K},ae,be)=>{const handleError=v=>{if(v.code==="ENOENT"){log(`${L} was removed during cleaning by something else`);handleParent();return be()}return be(v)};const handleParent=()=>{if(K&&--K.remaining===0)ae(K.job)};const xe=q(v,E,L);switch($){case"check":if(N(L)){ge.set(L,0);log(`${L} will be kept`);return process.nextTick(be)}doStat(v,xe,((E,P)=>{if(E)return handleError(E);if(!P.isDirectory()){ae({type:"unlink",filename:L,parent:K});return be()}v.readdir(xe,((v,E)=>{if(v)return handleError(v);const P={type:"rmdir",filename:L,parent:K};if(E.length===0){ae(P)}else{const v={remaining:E.length,job:P};for(const P of E){const E=P;if(E.startsWith(".")){log(`${L} will be kept (dot-files will never be removed)`);continue}ae({type:"check",filename:`${L}/${E}`,parent:v})}}return be()}))}));break;case"rmdir":log(`${L} will be removed`);if(P){handleParent();return process.nextTick(be)}if(!v.rmdir){R.warn(`${L} can't be removed because output file system doesn't support removing directories (rmdir)`);return process.nextTick(be)}v.rmdir(xe,(v=>{if(v)return handleError(v);handleParent();be()}));break;case"unlink":log(`${L} will be removed`);if(P){handleParent();return process.nextTick(be)}if(!v.unlink){R.warn(`${L} can't be removed because output file system doesn't support removing files (rmdir)`);return process.nextTick(be)}v.unlink(xe,(v=>{if(v)return handleError(v);handleParent();be()}));break}}),(v=>{if(v)return L(v);L(undefined,ge)}))};const be=new WeakMap;class CleanPlugin{static getCompilationHooks(v){if(!(v instanceof N)){throw new TypeError("The 'compilation' argument must be an instance of Compilation")}let E=be.get(v);if(E===undefined){E={keep:new $(["ignore"])};be.set(v,E)}return E}constructor(v={}){ae(v);this.options={dry:false,...v}}apply(v){const{dry:E,keep:P}=this.options;const R=typeof P==="function"?P:typeof P==="string"?v=>v.startsWith(P):typeof P==="object"&&P.test?v=>P.test(v):()=>false;let $;v.hooks.emit.tapAsync({name:"CleanPlugin",stage:100},((P,N)=>{const L=CleanPlugin.getCompilationHooks(P);const q=P.getLogger("webpack.CleanPlugin");const K=v.outputFileSystem;if(!K.readdir){return N(new Error("CleanPlugin: Output filesystem doesn't support listing directories (readdir)"))}const ae=new Map;const be=Date.now();for(const v of Object.keys(P.assets)){if(/^[A-Za-z]:\\|^\/|^\\\\/.test(v))continue;let E;let R=v.replace(/\\/g,"/");do{E=R;R=E.replace(/(^|\/)(?!\.\.)[^/]+\/\.\.\//g,"$1")}while(R!==E);if(E.startsWith("../"))continue;const $=P.assetsInfo.get(v);if($&&$.hotModuleReplacement){ae.set(E,be+ge)}else{ae.set(E,0)}}const xe=P.getPath(v.outputPath,{});const isKept=v=>{const E=L.keep.call(v);if(E!==undefined)return E;return R(v)};const diffCallback=(v,P)=>{if(v){$=undefined;N(v);return}applyDiff(K,xe,E,q,P,isKept,((v,E)=>{if(v){$=undefined}else{if($)mergeAssets(ae,$);$=ae;if(E)mergeAssets($,E)}N(v)}))};if($){diffCallback(null,getDiffToOldAssets(ae,$))}else{getDiffToFs(K,xe,ae,diffCallback)}}))}}v.exports=CleanPlugin},22591:function(v,E,P){"use strict";const R=P(16413);class CodeGenerationError extends R{constructor(v,E){super();this.name="CodeGenerationError";this.error=E;this.message=E.message;this.details=E.stack;this.module=v}}v.exports=CodeGenerationError},36779:function(v,E,P){"use strict";const{getOrInsert:R}=P(98630);const{first:$}=P(64960);const N=P(20932);const{runtimeToString:L,RuntimeSpecMap:q}=P(65153);class CodeGenerationResults{constructor(v="md4"){this.map=new Map;this._hashFunction=v}get(v,E){const P=this.map.get(v);if(P===undefined){throw new Error(`No code generation entry for ${v.identifier()} (existing entries: ${Array.from(this.map.keys(),(v=>v.identifier())).join(", ")})`)}if(E===undefined){if(P.size>1){const E=new Set(P.values());if(E.size!==1){throw new Error(`No unique code generation entry for unspecified runtime for ${v.identifier()} (existing runtimes: ${Array.from(P.keys(),(v=>L(v))).join(", ")}).\nCaller might not support runtime-dependent code generation (opt-out via optimization.usedExports: "global").`)}return $(E)}return P.values().next().value}const R=P.get(E);if(R===undefined){throw new Error(`No code generation entry for runtime ${L(E)} for ${v.identifier()} (existing runtimes: ${Array.from(P.keys(),(v=>L(v))).join(", ")})`)}return R}has(v,E){const P=this.map.get(v);if(P===undefined){return false}if(E!==undefined){return P.has(E)}else if(P.size>1){const v=new Set(P.values());return v.size===1}else{return P.size===1}}getSource(v,E,P){return this.get(v,E).sources.get(P)}getRuntimeRequirements(v,E){return this.get(v,E).runtimeRequirements}getData(v,E,P){const R=this.get(v,E).data;return R===undefined?undefined:R.get(P)}getHash(v,E){const P=this.get(v,E);if(P.hash!==undefined)return P.hash;const R=N(this._hashFunction);for(const[v,E]of P.sources){R.update(v);E.updateHash(R)}if(P.runtimeRequirements){for(const v of P.runtimeRequirements)R.update(v)}return P.hash=R.digest("hex")}add(v,E,P){const $=R(this.map,v,(()=>new q));$.set(E,P)}}v.exports=CodeGenerationResults},64584:function(v,E,P){"use strict";const R=P(16413);const $=P(41718);class CommentCompilationWarning extends R{constructor(v,E){super(v);this.name="CommentCompilationWarning";this.loc=E}}$(CommentCompilationWarning,"webpack/lib/CommentCompilationWarning");v.exports=CommentCompilationWarning},61832:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$,JAVASCRIPT_MODULE_TYPE_ESM:N}=P(96170);const L=P(92529);const q=P(9297);const K=Symbol("nested webpack identifier");const ae="CompatibilityPlugin";class CompatibilityPlugin{apply(v){v.hooks.compilation.tap(ae,((v,{normalModuleFactory:E})=>{v.dependencyTemplates.set(q,new q.Template);E.hooks.parser.for(R).tap(ae,((v,E)=>{if(E.browserify!==undefined&&!E.browserify)return;v.hooks.call.for("require").tap(ae,(E=>{if(E.arguments.length!==2)return;const P=v.evaluateExpression(E.arguments[1]);if(!P.isBoolean())return;if(P.asBool()!==true)return;const R=new q("require",E.callee.range);R.loc=E.loc;if(v.state.current.dependencies.length>0){const E=v.state.current.dependencies[v.state.current.dependencies.length-1];if(E.critical&&E.options&&E.options.request==="."&&E.userRequest==="."&&E.options.recursive)v.state.current.dependencies.pop()}v.state.module.addPresentationalDependency(R);return true}))}));const handler=v=>{v.hooks.preStatement.tap(ae,(E=>{if(E.type==="FunctionDeclaration"&&E.id&&E.id.name===L.require){const P=`__nested_webpack_require_${E.range[0]}__`;v.tagVariable(E.id.name,K,{name:P,declaration:{updated:false,loc:E.id.loc,range:E.id.range}});return true}}));v.hooks.pattern.for(L.require).tap(ae,(E=>{const P=`__nested_webpack_require_${E.range[0]}__`;v.tagVariable(E.name,K,{name:P,declaration:{updated:false,loc:E.loc,range:E.range}});return true}));v.hooks.pattern.for(L.exports).tap(ae,(E=>{v.tagVariable(E.name,K,{name:"__nested_webpack_exports__",declaration:{updated:false,loc:E.loc,range:E.range}});return true}));v.hooks.expression.for(K).tap(ae,(E=>{const{name:P,declaration:R}=v.currentTagData;if(!R.updated){const E=new q(P,R.range);E.loc=R.loc;v.state.module.addPresentationalDependency(E);R.updated=true}const $=new q(P,E.range);$.loc=E.loc;v.state.module.addPresentationalDependency($);return true}));v.hooks.program.tap(ae,((E,P)=>{if(P.length===0)return;const R=P[0];if(R.type==="Line"&&R.range[0]===0){if(v.state.source.slice(0,2).toString()!=="#!")return;const E=new q("//",0);E.loc=R.loc;v.state.module.addPresentationalDependency(E)}}))};E.hooks.parser.for(R).tap(ae,handler);E.hooks.parser.for($).tap(ae,handler);E.hooks.parser.for(N).tap(ae,handler)}))}}v.exports=CompatibilityPlugin},6944:function(v,E,P){"use strict";const R=P(78175);const{HookMap:$,SyncHook:N,SyncBailHook:L,SyncWaterfallHook:q,AsyncSeriesHook:K,AsyncSeriesBailHook:ae,AsyncParallelHook:ge}=P(79846);const be=P(73837);const{CachedSource:xe}=P(51255);const{MultiItemCache:ve}=P(54252);const Ae=P(56738);const Ie=P(86255);const He=P(1353);const Qe=P(27714);const Je=P(48797);const Ve=P(22591);const Ke=P(36779);const Ye=P(38204);const Xe=P(73928);const Ze=P(30116);const et=P(56555);const tt=P(24965);const{connectChunkGroupAndChunk:nt,connectChunkGroupParentAndChild:st}=P(59760);const{makeWebpackError:rt,tryRunOrWebpackError:ot}=P(2202);const it=P(34617);const at=P(72011);const ct=P(21606);const lt=P(34734);const ut=P(49188);const pt=P(56434);const dt=P(1758);const ft=P(54382);const ht=P(62106);const mt=P(88425);const gt=P(71285);const{WEBPACK_MODULE_TYPE_RUNTIME:yt}=P(96170);const bt=P(92529);const xt=P(65252);const kt=P(90476);const vt=P(16413);const wt=P(7362);const Et=P(97929);const{Logger:At,LogType:Ct}=P(61348);const St=P(4901);const _t=P(6419);const{equals:Pt}=P(30806);const Mt=P(71262);const It=P(2035);const{getOrInsert:Ot}=P(98630);const Dt=P(34410);const{cachedCleverMerge:Rt}=P(36671);const{compareLocations:Tt,concatComparators:$t,compareSelect:Ft,compareIds:jt,compareStringsNumeric:Nt,compareModulesByIdentifier:Lt}=P(28273);const Bt=P(20932);const{arrayToSetDeprecation:qt,soonFrozenObjectDeprecation:zt,createFakeHook:Ut}=P(31950);const Gt=P(63842);const{getRuntimeKey:Ht}=P(65153);const{isSourceEqual:Wt}=P(74022);const Qt=Object.freeze({});const Jt="esm";const Vt=be.deprecate((v=>P(80346).getCompilationHooks(v).loader),"Compilation.hooks.normalModuleLoader was moved to NormalModule.getCompilationHooks(compilation).loader","DEP_WEBPACK_COMPILATION_NORMAL_MODULE_LOADER_HOOK");const defineRemovedModuleTemplates=v=>{Object.defineProperties(v,{asset:{enumerable:false,configurable:false,get:()=>{throw new vt("Compilation.moduleTemplates.asset has been removed")}},webassembly:{enumerable:false,configurable:false,get:()=>{throw new vt("Compilation.moduleTemplates.webassembly has been removed")}}});v=undefined};const Kt=Ft((v=>v.id),jt);const Yt=$t(Ft((v=>v.name),jt),Ft((v=>v.fullHash),jt));const Xt=Ft((v=>`${v.message}`),Nt);const Zt=Ft((v=>v.module&&v.module.identifier()||""),Nt);const en=Ft((v=>v.loc),Tt);const tn=$t(Zt,en,Xt);const nn=new WeakMap;const sn=new WeakMap;class Compilation{constructor(v,E){this._backCompat=v._backCompat;const getNormalModuleLoader=()=>Vt(this);const P=new K(["assets"]);let R=new Set;const popNewAssets=v=>{let E=undefined;for(const P of Object.keys(v)){if(R.has(P))continue;if(E===undefined){E=Object.create(null)}E[P]=v[P];R.add(P)}return E};P.intercept({name:"Compilation",call:()=>{R=new Set(Object.keys(this.assets))},register:v=>{const{type:E,name:P}=v;const{fn:R,additionalAssets:$,...N}=v;const L=$===true?R:$;const q=L?new WeakSet:undefined;switch(E){case"sync":if(L){this.hooks.processAdditionalAssets.tap(P,(v=>{if(q.has(this.assets))L(v)}))}return{...N,type:"async",fn:(v,E)=>{try{R(v)}catch(v){return E(v)}if(q!==undefined)q.add(this.assets);const P=popNewAssets(v);if(P!==undefined){this.hooks.processAdditionalAssets.callAsync(P,E);return}E()}};case"async":if(L){this.hooks.processAdditionalAssets.tapAsync(P,((v,E)=>{if(q.has(this.assets))return L(v,E);E()}))}return{...N,fn:(v,E)=>{R(v,(P=>{if(P)return E(P);if(q!==undefined)q.add(this.assets);const R=popNewAssets(v);if(R!==undefined){this.hooks.processAdditionalAssets.callAsync(R,E);return}E()}))}};case"promise":if(L){this.hooks.processAdditionalAssets.tapPromise(P,(v=>{if(q.has(this.assets))return L(v);return Promise.resolve()}))}return{...N,fn:v=>{const E=R(v);if(!E||!E.then)return E;return E.then((()=>{if(q!==undefined)q.add(this.assets);const E=popNewAssets(v);if(E!==undefined){return this.hooks.processAdditionalAssets.promise(E)}}))}}}}});const xe=new N(["assets"]);const createProcessAssetsHook=(v,E,R,$)=>{if(!this._backCompat&&$)return undefined;const errorMessage=E=>`Can't automatically convert plugin using Compilation.hooks.${v} to Compilation.hooks.processAssets because ${E}.\nBREAKING CHANGE: Asset processing hooks in Compilation has been merged into a single Compilation.hooks.processAssets hook.`;const getOptions=v=>{if(typeof v==="string")v={name:v};if(v.stage){throw new Error(errorMessage("it's using the 'stage' option"))}return{...v,stage:E}};return Ut({name:v,intercept(v){throw new Error(errorMessage("it's using 'intercept'"))},tap:(v,E)=>{P.tap(getOptions(v),(()=>E(...R())))},tapAsync:(v,E)=>{P.tapAsync(getOptions(v),((v,P)=>E(...R(),P)))},tapPromise:(v,E)=>{P.tapPromise(getOptions(v),(()=>E(...R())))}},`${v} is deprecated (use Compilation.hooks.processAssets instead and use one of Compilation.PROCESS_ASSETS_STAGE_* as stage option)`,$)};this.hooks=Object.freeze({buildModule:new N(["module"]),rebuildModule:new N(["module"]),failedModule:new N(["module","error"]),succeedModule:new N(["module"]),stillValidModule:new N(["module"]),addEntry:new N(["entry","options"]),failedEntry:new N(["entry","options","error"]),succeedEntry:new N(["entry","options","module"]),dependencyReferencedExports:new q(["referencedExports","dependency","runtime"]),executeModule:new N(["options","context"]),prepareModuleExecution:new ge(["options","context"]),finishModules:new K(["modules"]),finishRebuildingModule:new K(["module"]),unseal:new N([]),seal:new N([]),beforeChunks:new N([]),afterChunks:new N(["chunks"]),optimizeDependencies:new L(["modules"]),afterOptimizeDependencies:new N(["modules"]),optimize:new N([]),optimizeModules:new L(["modules"]),afterOptimizeModules:new N(["modules"]),optimizeChunks:new L(["chunks","chunkGroups"]),afterOptimizeChunks:new N(["chunks","chunkGroups"]),optimizeTree:new K(["chunks","modules"]),afterOptimizeTree:new N(["chunks","modules"]),optimizeChunkModules:new ae(["chunks","modules"]),afterOptimizeChunkModules:new N(["chunks","modules"]),shouldRecord:new L([]),additionalChunkRuntimeRequirements:new N(["chunk","runtimeRequirements","context"]),runtimeRequirementInChunk:new $((()=>new L(["chunk","runtimeRequirements","context"]))),additionalModuleRuntimeRequirements:new N(["module","runtimeRequirements","context"]),runtimeRequirementInModule:new $((()=>new L(["module","runtimeRequirements","context"]))),additionalTreeRuntimeRequirements:new N(["chunk","runtimeRequirements","context"]),runtimeRequirementInTree:new $((()=>new L(["chunk","runtimeRequirements","context"]))),runtimeModule:new N(["module","chunk"]),reviveModules:new N(["modules","records"]),beforeModuleIds:new N(["modules"]),moduleIds:new N(["modules"]),optimizeModuleIds:new N(["modules"]),afterOptimizeModuleIds:new N(["modules"]),reviveChunks:new N(["chunks","records"]),beforeChunkIds:new N(["chunks"]),chunkIds:new N(["chunks"]),optimizeChunkIds:new N(["chunks"]),afterOptimizeChunkIds:new N(["chunks"]),recordModules:new N(["modules","records"]),recordChunks:new N(["chunks","records"]),optimizeCodeGeneration:new N(["modules"]),beforeModuleHash:new N([]),afterModuleHash:new N([]),beforeCodeGeneration:new N([]),afterCodeGeneration:new N([]),beforeRuntimeRequirements:new N([]),afterRuntimeRequirements:new N([]),beforeHash:new N([]),contentHash:new N(["chunk"]),afterHash:new N([]),recordHash:new N(["records"]),record:new N(["compilation","records"]),beforeModuleAssets:new N([]),shouldGenerateChunkAssets:new L([]),beforeChunkAssets:new N([]),additionalChunkAssets:createProcessAssetsHook("additionalChunkAssets",Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL,(()=>[this.chunks]),"DEP_WEBPACK_COMPILATION_ADDITIONAL_CHUNK_ASSETS"),additionalAssets:createProcessAssetsHook("additionalAssets",Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL,(()=>[])),optimizeChunkAssets:createProcessAssetsHook("optimizeChunkAssets",Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE,(()=>[this.chunks]),"DEP_WEBPACK_COMPILATION_OPTIMIZE_CHUNK_ASSETS"),afterOptimizeChunkAssets:createProcessAssetsHook("afterOptimizeChunkAssets",Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE+1,(()=>[this.chunks]),"DEP_WEBPACK_COMPILATION_AFTER_OPTIMIZE_CHUNK_ASSETS"),optimizeAssets:P,afterOptimizeAssets:xe,processAssets:P,afterProcessAssets:xe,processAdditionalAssets:new K(["assets"]),needAdditionalSeal:new L([]),afterSeal:new K([]),renderManifest:new q(["result","options"]),fullHash:new N(["hash"]),chunkHash:new N(["chunk","chunkHash","ChunkHashContext"]),moduleAsset:new N(["module","filename"]),chunkAsset:new N(["chunk","filename"]),assetPath:new q(["path","options","assetInfo"]),needAdditionalPass:new L([]),childCompiler:new N(["childCompiler","compilerName","compilerIndex"]),log:new L(["origin","logEntry"]),processWarnings:new q(["warnings"]),processErrors:new q(["errors"]),statsPreset:new $((()=>new N(["options","context"]))),statsNormalize:new N(["options","context"]),statsFactory:new N(["statsFactory","options"]),statsPrinter:new N(["statsPrinter","options"]),get normalModuleLoader(){return getNormalModuleLoader()}});this.name=undefined;this.startTime=undefined;this.endTime=undefined;this.compiler=v;this.resolverFactory=v.resolverFactory;this.inputFileSystem=v.inputFileSystem;this.fileSystemInfo=new tt(this.inputFileSystem,{unmanagedPaths:v.unmanagedPaths,managedPaths:v.managedPaths,immutablePaths:v.immutablePaths,logger:this.getLogger("webpack.FileSystemInfo"),hashFunction:v.options.output.hashFunction});if(v.fileTimestamps){this.fileSystemInfo.addFileTimestamps(v.fileTimestamps,true)}if(v.contextTimestamps){this.fileSystemInfo.addContextTimestamps(v.contextTimestamps,true)}this.valueCacheVersions=new Map;this.requestShortener=v.requestShortener;this.compilerPath=v.compilerPath;this.logger=this.getLogger("webpack.Compilation");const ve=v.options;this.options=ve;this.outputOptions=ve&&ve.output;this.bail=ve&&ve.bail||false;this.profile=ve&&ve.profile||false;this.params=E;this.mainTemplate=new it(this.outputOptions,this);this.chunkTemplate=new Je(this.outputOptions,this);this.runtimeTemplate=new xt(this,this.outputOptions,this.requestShortener);this.moduleTemplates={javascript:new gt(this.runtimeTemplate,this)};defineRemovedModuleTemplates(this.moduleTemplates);this.moduleMemCaches=undefined;this.moduleMemCaches2=undefined;this.moduleGraph=new ut;this.chunkGraph=undefined;this.codeGenerationResults=undefined;this.processDependenciesQueue=new Mt({name:"processDependencies",parallelism:ve.parallelism||100,processor:this._processModuleDependencies.bind(this)});this.addModuleQueue=new Mt({name:"addModule",parent:this.processDependenciesQueue,getKey:v=>v.identifier(),processor:this._addModule.bind(this)});this.factorizeQueue=new Mt({name:"factorize",parent:this.addModuleQueue,processor:this._factorizeModule.bind(this)});this.buildQueue=new Mt({name:"build",parent:this.factorizeQueue,processor:this._buildModule.bind(this)});this.rebuildQueue=new Mt({name:"rebuild",parallelism:ve.parallelism||100,processor:this._rebuildModule.bind(this)});this.creatingModuleDuringBuild=new WeakMap;this.entries=new Map;this.globalEntry={dependencies:[],includeDependencies:[],options:{name:undefined}};this.entrypoints=new Map;this.asyncEntrypoints=[];this.chunks=new Set;this.chunkGroups=[];this.namedChunkGroups=new Map;this.namedChunks=new Map;this.modules=new Set;if(this._backCompat){qt(this.chunks,"Compilation.chunks");qt(this.modules,"Compilation.modules")}this._modules=new Map;this.records=null;this.additionalChunkAssets=[];this.assets={};this.assetsInfo=new Map;this._assetsRelatedIn=new Map;this.errors=[];this.warnings=[];this.children=[];this.logging=new Map;this.dependencyFactories=new Map;this.dependencyTemplates=new Xe(this.outputOptions.hashFunction);this.childrenCounters={};this.usedChunkIds=null;this.usedModuleIds=null;this.needAdditionalPass=false;this._restoredUnsafeCacheModuleEntries=new Set;this._restoredUnsafeCacheEntries=new Map;this.builtModules=new WeakSet;this.codeGeneratedModules=new WeakSet;this.buildTimeExecutedModules=new WeakSet;this._rebuildingModules=new Map;this.emittedAssets=new Set;this.comparedForEmitAssets=new Set;this.fileDependencies=new It;this.contextDependencies=new It;this.missingDependencies=new It;this.buildDependencies=new It;this.compilationDependencies={add:be.deprecate((v=>this.fileDependencies.add(v)),"Compilation.compilationDependencies is deprecated (used Compilation.fileDependencies instead)","DEP_WEBPACK_COMPILATION_COMPILATION_DEPENDENCIES")};this._modulesCache=this.getCache("Compilation/modules");this._assetsCache=this.getCache("Compilation/assets");this._codeGenerationCache=this.getCache("Compilation/codeGeneration");const Ae=ve.module.unsafeCache;this._unsafeCache=!!Ae;this._unsafeCachePredicate=typeof Ae==="function"?Ae:()=>true}getStats(){return new kt(this)}createStatsOptions(v,E={}){if(typeof v==="boolean"||typeof v==="string"){v={preset:v}}if(typeof v==="object"&&v!==null){const P={};for(const E in v){P[E]=v[E]}if(P.preset!==undefined){this.hooks.statsPreset.for(P.preset).call(P,E)}this.hooks.statsNormalize.call(P,E);return P}else{const v={};this.hooks.statsNormalize.call(v,E);return v}}createStatsFactory(v){const E=new St;this.hooks.statsFactory.call(E,v);return E}createStatsPrinter(v){const E=new _t;this.hooks.statsPrinter.call(E,v);return E}getCache(v){return this.compiler.getCache(v)}getLogger(v){if(!v){throw new TypeError("Compilation.getLogger(name) called without a name")}let E;return new At(((P,R)=>{if(typeof v==="function"){v=v();if(!v){throw new TypeError("Compilation.getLogger(name) called with a function not returning a name")}}let $;switch(P){case Ct.warn:case Ct.error:case Ct.trace:$=et.cutOffLoaderExecution(new Error("Trace").stack).split("\n").slice(3);break}const N={time:Date.now(),type:P,args:R,trace:$};if(this.hooks.log.call(v,N)===undefined){if(N.type===Ct.profileEnd){if(typeof console.profileEnd==="function"){console.profileEnd(`[${v}] ${N.args[0]}`)}}if(E===undefined){E=this.logging.get(v);if(E===undefined){E=[];this.logging.set(v,E)}}E.push(N);if(N.type===Ct.profile){if(typeof console.profile==="function"){console.profile(`[${v}] ${N.args[0]}`)}}}}),(E=>{if(typeof v==="function"){if(typeof E==="function"){return this.getLogger((()=>{if(typeof v==="function"){v=v();if(!v){throw new TypeError("Compilation.getLogger(name) called with a function not returning a name")}}if(typeof E==="function"){E=E();if(!E){throw new TypeError("Logger.getChildLogger(name) called with a function not returning a name")}}return`${v}/${E}`}))}else{return this.getLogger((()=>{if(typeof v==="function"){v=v();if(!v){throw new TypeError("Compilation.getLogger(name) called with a function not returning a name")}}return`${v}/${E}`}))}}else{if(typeof E==="function"){return this.getLogger((()=>{if(typeof E==="function"){E=E();if(!E){throw new TypeError("Logger.getChildLogger(name) called with a function not returning a name")}}return`${v}/${E}`}))}else{return this.getLogger(`${v}/${E}`)}}}))}addModule(v,E){this.addModuleQueue.add(v,E)}_addModule(v,E){const P=v.identifier();const R=this._modules.get(P);if(R){return E(null,R)}const $=this.profile?this.moduleGraph.getProfile(v):undefined;if($!==undefined){$.markRestoringStart()}this._modulesCache.get(P,null,((R,N)=>{if(R)return E(new ht(v,R));if($!==undefined){$.markRestoringEnd();$.markIntegrationStart()}if(N){N.updateCacheModule(v);v=N}this._modules.set(P,v);this.modules.add(v);if(this._backCompat)ut.setModuleGraphForModule(v,this.moduleGraph);if($!==undefined){$.markIntegrationEnd()}E(null,v)}))}getModule(v){const E=v.identifier();return this._modules.get(E)}findModule(v){return this._modules.get(v)}buildModule(v,E){this.buildQueue.add(v,E)}_buildModule(v,E){const P=this.profile?this.moduleGraph.getProfile(v):undefined;if(P!==undefined){P.markBuildingStart()}v.needBuild({compilation:this,fileSystemInfo:this.fileSystemInfo,valueCacheVersions:this.valueCacheVersions},((R,$)=>{if(R)return E(R);if(!$){if(P!==undefined){P.markBuildingEnd()}this.hooks.stillValidModule.call(v);return E()}this.hooks.buildModule.call(v);this.builtModules.add(v);v.build(this.options,this,this.resolverFactory.get("normal",v.resolveOptions),this.inputFileSystem,(R=>{if(P!==undefined){P.markBuildingEnd()}if(R){this.hooks.failedModule.call(v,R);return E(R)}if(P!==undefined){P.markStoringStart()}this._modulesCache.store(v.identifier(),null,v,(R=>{if(P!==undefined){P.markStoringEnd()}if(R){this.hooks.failedModule.call(v,R);return E(new mt(v,R))}this.hooks.succeedModule.call(v);return E()}))}))}))}processModuleDependencies(v,E){this.processDependenciesQueue.add(v,E)}processModuleDependenciesNonRecursive(v){const processDependenciesBlock=E=>{if(E.dependencies){let P=0;for(const R of E.dependencies){this.moduleGraph.setParents(R,E,v,P++)}}if(E.blocks){for(const v of E.blocks)processDependenciesBlock(v)}};processDependenciesBlock(v)}_processModuleDependencies(v,E){const P=[];let R;let $;let N;let L;let q;let K;let ae;let ge;let be=1;let xe=1;const onDependenciesSorted=v=>{if(v)return E(v);if(P.length===0&&xe===1){return E()}this.processDependenciesQueue.increaseParallelism();for(const v of P){xe++;this.handleModuleCreation(v,(v=>{if(v&&this.bail){if(xe<=0)return;xe=-1;v.stack=v.stack;onTransitiveTasksFinished(v);return}if(--xe===0)onTransitiveTasksFinished()}))}if(--xe===0)onTransitiveTasksFinished()};const onTransitiveTasksFinished=v=>{if(v)return E(v);this.processDependenciesQueue.decreaseParallelism();return E()};const processDependency=(E,P)=>{this.moduleGraph.setParents(E,R,v,P);if(this._unsafeCache){try{const P=nn.get(E);if(P===null)return;if(P!==undefined){if(this._restoredUnsafeCacheModuleEntries.has(P)){this._handleExistingModuleFromUnsafeCache(v,E,P);return}const R=P.identifier();const $=this._restoredUnsafeCacheEntries.get(R);if($!==undefined){nn.set(E,$);this._handleExistingModuleFromUnsafeCache(v,E,$);return}be++;this._modulesCache.get(R,null,(($,N)=>{if($){if(be<=0)return;be=-1;onDependenciesSorted($);return}try{if(!this._restoredUnsafeCacheEntries.has(R)){const $=sn.get(N);if($===undefined){processDependencyForResolving(E);if(--be===0)onDependenciesSorted();return}if(N!==P){nn.set(E,N)}N.restoreFromUnsafeCache($,this.params.normalModuleFactory,this.params);this._restoredUnsafeCacheEntries.set(R,N);this._restoredUnsafeCacheModuleEntries.add(N);if(!this.modules.has(N)){xe++;this._handleNewModuleFromUnsafeCache(v,E,N,(v=>{if(v){if(xe<=0)return;xe=-1;onTransitiveTasksFinished(v)}if(--xe===0)return onTransitiveTasksFinished()}));if(--be===0)onDependenciesSorted();return}}if(P!==N){nn.set(E,N)}this._handleExistingModuleFromUnsafeCache(v,E,N)}catch($){if(be<=0)return;be=-1;onDependenciesSorted($);return}if(--be===0)onDependenciesSorted()}));return}}catch(v){console.error(v)}}processDependencyForResolving(E)};const processDependencyForResolving=E=>{const R=E.getResourceIdentifier();if(R!==undefined&&R!==null){const be=E.category;const xe=E.constructor;if(N===xe){if(K===be&&ae===R){ge.push(E);return}}else{const v=this.dependencyFactories.get(xe);if(v===undefined){throw new Error(`No module factory available for dependency type: ${xe.name}`)}if(L===v){N=xe;if(K===be&&ae===R){ge.push(E);return}}else{if(L!==undefined){if($===undefined)$=new Map;$.set(L,q);q=$.get(v);if(q===undefined){q=new Map}}else{q=new Map}N=xe;L=v}}const ve=be===Jt?R:`${be}${R}`;let Ae=q.get(ve);if(Ae===undefined){q.set(ve,Ae=[]);P.push({factory:L,dependencies:Ae,context:E.getContext(),originModule:v})}Ae.push(E);K=be;ae=R;ge=Ae}};try{const E=[v];do{const v=E.pop();if(v.dependencies){R=v;let E=0;for(const P of v.dependencies)processDependency(P,E++)}if(v.blocks){for(const P of v.blocks)E.push(P)}}while(E.length!==0)}catch(v){return E(v)}if(--be===0)onDependenciesSorted()}_handleNewModuleFromUnsafeCache(v,E,P,R){const $=this.moduleGraph;$.setResolvedModule(v,E,P);$.setIssuerIfUnset(P,v!==undefined?v:null);this._modules.set(P.identifier(),P);this.modules.add(P);if(this._backCompat)ut.setModuleGraphForModule(P,this.moduleGraph);this._handleModuleBuildAndDependencies(v,P,true,false,R)}_handleExistingModuleFromUnsafeCache(v,E,P){const R=this.moduleGraph;R.setResolvedModule(v,E,P)}handleModuleCreation({factory:v,dependencies:E,originModule:P,contextInfo:R,context:$,recursive:N=true,connectOrigin:L=N,checkCycle:q=!N},K){const ae=this.moduleGraph;const ge=this.profile?new ft:undefined;this.factorizeModule({currentProfile:ge,factory:v,dependencies:E,factoryResult:true,originModule:P,contextInfo:R,context:$},((v,R)=>{const applyFactoryResultDependencies=()=>{const{fileDependencies:v,contextDependencies:E,missingDependencies:P}=R;if(v){this.fileDependencies.addAll(v)}if(E){this.contextDependencies.addAll(E)}if(P){this.missingDependencies.addAll(P)}};if(v){if(R)applyFactoryResultDependencies();if(E.every((v=>v.optional))){this.warnings.push(v);return K()}else{this.errors.push(v);return K(v)}}const $=R.module;if(!$){applyFactoryResultDependencies();return K()}if(ge!==undefined){ae.setProfile($,ge)}this.addModule($,((v,be)=>{if(v){applyFactoryResultDependencies();if(!v.module){v.module=be}this.errors.push(v);return K(v)}if(this._unsafeCache&&R.cacheable!==false&&be.restoreFromUnsafeCache&&this._unsafeCachePredicate(be)){const v=be;for(let R=0;R{if(N!==undefined){N.delete(E)}if(v){if(!v.module){v.module=E}this.errors.push(v);return $(v)}if(!P){this.processModuleDependenciesNonRecursive(E);$(null,E);return}if(this.processDependenciesQueue.isProcessing(E)){return $(null,E)}this.processModuleDependencies(E,(v=>{if(v){return $(v)}$(null,E)}))}))}_factorizeModule({currentProfile:v,factory:E,dependencies:P,originModule:R,factoryResult:$,contextInfo:N,context:L},q){if(v!==undefined){v.markFactoryStart()}E.create({contextInfo:{issuer:R?R.nameForCondition():"",issuerLayer:R?R.layer:null,compiler:this.compiler.name,...N},resolveOptions:R?R.resolveOptions:undefined,context:L?L:R?R.context:this.compiler.context,dependencies:P},((E,N)=>{if(N){if(N.module===undefined&&N instanceof at){N={module:N}}if(!$){const{fileDependencies:v,contextDependencies:E,missingDependencies:P}=N;if(v){this.fileDependencies.addAll(v)}if(E){this.contextDependencies.addAll(E)}if(P){this.missingDependencies.addAll(P)}}}if(E){const v=new dt(R,E,P.map((v=>v.loc)).filter(Boolean)[0]);return q(v,$?N:undefined)}if(!N){return q()}if(v!==undefined){v.markFactoryEnd()}q(null,$?N:N.module)}))}addModuleChain(v,E,P){return this.addModuleTree({context:v,dependency:E},P)}addModuleTree({context:v,dependency:E,contextInfo:P},R){if(typeof E!=="object"||E===null||!E.constructor){return R(new vt("Parameter 'dependency' must be a Dependency"))}const $=E.constructor;const N=this.dependencyFactories.get($);if(!N){return R(new vt(`No dependency factory available for this dependency type: ${E.constructor.name}`))}this.handleModuleCreation({factory:N,dependencies:[E],originModule:null,contextInfo:P,context:v},((v,E)=>{if(v&&this.bail){R(v);this.buildQueue.stop();this.rebuildQueue.stop();this.processDependenciesQueue.stop();this.factorizeQueue.stop()}else if(!v&&E){R(null,E)}else{R()}}))}addEntry(v,E,P,R){const $=typeof P==="object"?P:{name:P};this._addEntryItem(v,E,"dependencies",$,R)}addInclude(v,E,P,R){this._addEntryItem(v,E,"includeDependencies",P,R)}_addEntryItem(v,E,P,R,$){const{name:N}=R;let L=N!==undefined?this.entries.get(N):this.globalEntry;if(L===undefined){L={dependencies:[],includeDependencies:[],options:{name:undefined,...R}};L[P].push(E);this.entries.set(N,L)}else{L[P].push(E);for(const v of Object.keys(R)){if(R[v]===undefined)continue;if(L.options[v]===R[v])continue;if(Array.isArray(L.options[v])&&Array.isArray(R[v])&&Pt(L.options[v],R[v])){continue}if(L.options[v]===undefined){L.options[v]=R[v]}else{return $(new vt(`Conflicting entry option ${v} = ${L.options[v]} vs ${R[v]}`))}}}this.hooks.addEntry.call(E,R);this.addModuleTree({context:v,dependency:E,contextInfo:L.options.layer?{issuerLayer:L.options.layer}:undefined},((v,P)=>{if(v){this.hooks.failedEntry.call(E,R,v);return $(v)}this.hooks.succeedEntry.call(E,R,P);return $(null,P)}))}rebuildModule(v,E){this.rebuildQueue.add(v,E)}_rebuildModule(v,E){this.hooks.rebuildModule.call(v);const P=v.dependencies.slice();const R=v.blocks.slice();v.invalidateBuild();this.buildQueue.invalidate(v);this.buildModule(v,($=>{if($){return this.hooks.finishRebuildingModule.callAsync(v,(v=>{if(v){E(rt(v,"Compilation.hooks.finishRebuildingModule"));return}E($)}))}this.processDependenciesQueue.invalidate(v);this.moduleGraph.unfreeze();this.processModuleDependencies(v,($=>{if($)return E($);this.removeReasonsOfDependencyBlock(v,{dependencies:P,blocks:R});this.hooks.finishRebuildingModule.callAsync(v,(P=>{if(P){E(rt(P,"Compilation.hooks.finishRebuildingModule"));return}E(null,v)}))}))}))}_computeAffectedModules(v){const E=this.compiler.moduleMemCaches;if(!E)return;if(!this.moduleMemCaches){this.moduleMemCaches=new Map;this.moduleGraph.setModuleMemCaches(this.moduleMemCaches)}const{moduleGraph:P,moduleMemCaches:R}=this;const $=new Set;const N=new Set;let L=0;let q=0;let K=0;let ae=0;let ge=0;const computeReferences=v=>{let E=undefined;for(const R of P.getOutgoingConnections(v)){const v=R.dependency;const P=R.module;if(!v||!P||nn.has(v))continue;if(E===undefined)E=new WeakMap;E.set(v,P)}return E};const compareReferences=(v,E)=>{if(E===undefined)return true;for(const R of P.getOutgoingConnections(v)){const v=R.dependency;if(!v)continue;const P=E.get(v);if(P===undefined)continue;if(P!==R.module)return false}return true};const be=new Set(v);for(const[v,P]of E){if(be.has(v)){const L=v.buildInfo;if(L){if(P.buildInfo!==L){const E=new Dt;R.set(v,E);$.add(v);P.buildInfo=L;P.references=computeReferences(v);P.memCache=E;q++}else if(!compareReferences(v,P.references)){const E=new Dt;R.set(v,E);$.add(v);P.references=computeReferences(v);P.memCache=E;ae++}else{R.set(v,P.memCache);K++}}else{N.add(v);E.delete(v);ge++}be.delete(v)}else{E.delete(v)}}for(const v of be){const P=v.buildInfo;if(P){const N=new Dt;E.set(v,{buildInfo:P,references:computeReferences(v),memCache:N});R.set(v,N);$.add(v);L++}else{N.add(v);ge++}}const reduceAffectType=v=>{let E=false;for(const{dependency:P}of v){if(!P)continue;const v=P.couldAffectReferencingModule();if(v===Ye.TRANSITIVE)return Ye.TRANSITIVE;if(v===false)continue;E=true}return E};const xe=new Set;for(const v of N){for(const[E,R]of P.getIncomingConnectionsByOriginModule(v)){if(!E)continue;if(N.has(E))continue;const v=reduceAffectType(R);if(!v)continue;if(v===true){xe.add(E)}else{N.add(E)}}}for(const v of xe)N.add(v);const ve=new Set;for(const v of $){for(const[L,q]of P.getIncomingConnectionsByOriginModule(v)){if(!L)continue;if(N.has(L))continue;if($.has(L))continue;const v=reduceAffectType(q);if(!v)continue;if(v===true){ve.add(L)}else{$.add(L)}const P=new Dt;const K=E.get(L);K.memCache=P;R.set(L,P)}}for(const v of ve)$.add(v);this.logger.log(`${Math.round(100*($.size+N.size)/this.modules.size)}% (${$.size} affected + ${N.size} infected of ${this.modules.size}) modules flagged as affected (${L} new modules, ${q} changed, ${ae} references changed, ${K} unchanged, ${ge} were not built)`)}_computeAffectedModulesWithChunkGraph(){const{moduleMemCaches:v}=this;if(!v)return;const E=this.moduleMemCaches2=new Map;const{moduleGraph:P,chunkGraph:R}=this;const $="memCache2";let N=0;let L=0;let q=0;const computeReferences=v=>{const E=R.getModuleId(v);let $=undefined;let N=undefined;const L=P.getOutgoingConnectionsByModule(v);if(L!==undefined){for(const v of L.keys()){if(!v)continue;if($===undefined)$=new Map;$.set(v,R.getModuleId(v))}}if(v.blocks.length>0){N=[];const E=Array.from(v.blocks);for(const v of E){const P=R.getBlockChunkGroup(v);if(P){for(const v of P.chunks){N.push(v.id)}}else{N.push(null)}E.push.apply(E,v.blocks)}}return{id:E,modules:$,blocks:N}};const compareReferences=(v,{id:E,modules:P,blocks:$})=>{if(E!==R.getModuleId(v))return false;if(P!==undefined){for(const[v,E]of P){if(R.getModuleId(v)!==E)return false}}if($!==undefined){const E=Array.from(v.blocks);let P=0;for(const v of E){const N=R.getBlockChunkGroup(v);if(N){for(const v of N.chunks){if(P>=$.length||$[P++]!==v.id)return false}}else{if(P>=$.length||$[P++]!==null)return false}E.push.apply(E,v.blocks)}if(P!==$.length)return false}return true};for(const[P,R]of v){const v=R.get($);if(v===undefined){const v=new Dt;R.set($,{references:computeReferences(P),memCache:v});E.set(P,v);q++}else if(!compareReferences(P,v.references)){const R=new Dt;v.references=computeReferences(P);v.memCache=R;E.set(P,R);L++}else{E.set(P,v.memCache);N++}}this.logger.log(`${Math.round(100*L/(q+L+N))}% modules flagged as affected by chunk graph (${q} new modules, ${L} changed, ${N} unchanged)`)}finish(v){this.factorizeQueue.clear();if(this.profile){this.logger.time("finish module profiles");const v=P(93058);const E=new v;const R=this.moduleGraph;const $=new Map;for(const v of this.modules){const P=R.getProfile(v);if(!P)continue;$.set(v,P);E.range(P.buildingStartTime,P.buildingEndTime,(v=>P.buildingParallelismFactor=v));E.range(P.factoryStartTime,P.factoryEndTime,(v=>P.factoryParallelismFactor=v));E.range(P.integrationStartTime,P.integrationEndTime,(v=>P.integrationParallelismFactor=v));E.range(P.storingStartTime,P.storingEndTime,(v=>P.storingParallelismFactor=v));E.range(P.restoringStartTime,P.restoringEndTime,(v=>P.restoringParallelismFactor=v));if(P.additionalFactoryTimes){for(const{start:v,end:R}of P.additionalFactoryTimes){const $=(R-v)/P.additionalFactories;E.range(v,R,(v=>P.additionalFactoriesParallelismFactor+=v*$))}}}E.calculate();const N=this.getLogger("webpack.Compilation.ModuleProfile");const logByValue=(v,E)=>{if(v>1e3){N.error(E)}else if(v>500){N.warn(E)}else if(v>200){N.info(E)}else if(v>30){N.log(E)}else{N.debug(E)}};const logNormalSummary=(v,E,P)=>{let R=0;let N=0;for(const[L,q]of $){const $=P(q);const K=E(q);if(K===0||$===0)continue;const ae=K/$;R+=ae;if(ae<=10)continue;logByValue(ae,` | ${Math.round(ae)} ms${$>=1.1?` (parallelism ${Math.round($*10)/10})`:""} ${v} > ${L.readableIdentifier(this.requestShortener)}`);N=Math.max(N,ae)}if(R<=10)return;logByValue(Math.max(R/10,N),`${Math.round(R)} ms ${v}`)};const logByLoadersSummary=(v,E,P)=>{const R=new Map;for(const[v,E]of $){const P=Ot(R,v.type+"!"+v.identifier().replace(/(!|^)[^!]*$/,""),(()=>[]));P.push({module:v,profile:E})}let N=0;let L=0;for(const[$,q]of R){let R=0;let K=0;for(const{module:$,profile:N}of q){const L=P(N);const q=E(N);if(q===0||L===0)continue;const ae=q/L;R+=ae;if(ae<=10)continue;logByValue(ae,` | | ${Math.round(ae)} ms${L>=1.1?` (parallelism ${Math.round(L*10)/10})`:""} ${v} > ${$.readableIdentifier(this.requestShortener)}`);K=Math.max(K,ae)}N+=R;if(R<=10)continue;const ae=$.indexOf("!");const ge=$.slice(ae+1);const be=$.slice(0,ae);const xe=Math.max(R/10,K);logByValue(xe,` | ${Math.round(R)} ms ${v} > ${ge?`${q.length} x ${be} with ${this.requestShortener.shorten(ge)}`:`${q.length} x ${be}`}`);L=Math.max(L,xe)}if(N<=10)return;logByValue(Math.max(N/10,L),`${Math.round(N)} ms ${v}`)};logNormalSummary("resolve to new modules",(v=>v.factory),(v=>v.factoryParallelismFactor));logNormalSummary("resolve to existing modules",(v=>v.additionalFactories),(v=>v.additionalFactoriesParallelismFactor));logNormalSummary("integrate modules",(v=>v.restoring),(v=>v.restoringParallelismFactor));logByLoadersSummary("build modules",(v=>v.building),(v=>v.buildingParallelismFactor));logNormalSummary("store modules",(v=>v.storing),(v=>v.storingParallelismFactor));logNormalSummary("restore modules",(v=>v.restoring),(v=>v.restoringParallelismFactor));this.logger.timeEnd("finish module profiles")}this.logger.time("compute affected modules");this._computeAffectedModules(this.modules);this.logger.timeEnd("compute affected modules");this.logger.time("finish modules");const{modules:E,moduleMemCaches:R}=this;this.hooks.finishModules.callAsync(E,(P=>{this.logger.timeEnd("finish modules");if(P)return v(P);this.moduleGraph.freeze("dependency errors");this.logger.time("report dependency errors and warnings");for(const v of E){const E=R&&R.get(v);if(E&&E.get("noWarningsOrErrors"))continue;let P=this.reportDependencyErrorsAndWarnings(v,[v]);const $=v.getErrors();if($!==undefined){for(const E of $){if(!E.module){E.module=v}this.errors.push(E);P=true}}const N=v.getWarnings();if(N!==undefined){for(const E of N){if(!E.module){E.module=v}this.warnings.push(E);P=true}}if(!P&&E)E.set("noWarningsOrErrors",true)}this.moduleGraph.unfreeze();this.logger.timeEnd("report dependency errors and warnings");v()}))}unseal(){this.hooks.unseal.call();this.chunks.clear();this.chunkGroups.length=0;this.namedChunks.clear();this.namedChunkGroups.clear();this.entrypoints.clear();this.additionalChunkAssets.length=0;this.assets={};this.assetsInfo.clear();this.moduleGraph.removeAllModuleAttributes();this.moduleGraph.unfreeze();this.moduleMemCaches2=undefined}seal(v){const finalCallback=E=>{this.factorizeQueue.clear();this.buildQueue.clear();this.rebuildQueue.clear();this.processDependenciesQueue.clear();this.addModuleQueue.clear();return v(E)};const E=new Ie(this.moduleGraph,this.outputOptions.hashFunction);this.chunkGraph=E;if(this._backCompat){for(const v of this.modules){Ie.setChunkGraphForModule(v,E)}}this.hooks.seal.call();this.logger.time("optimize dependencies");while(this.hooks.optimizeDependencies.call(this.modules)){}this.hooks.afterOptimizeDependencies.call(this.modules);this.logger.timeEnd("optimize dependencies");this.logger.time("create chunks");this.hooks.beforeChunks.call();this.moduleGraph.freeze("seal");const P=new Map;for(const[v,{dependencies:R,includeDependencies:$,options:N}]of this.entries){const L=this.addChunk(v);if(N.filename){L.filenameTemplate=N.filename}const q=new Ze(N);if(!N.dependOn&&!N.runtime){q.setRuntimeChunk(L)}q.setEntrypointChunk(L);this.namedChunkGroups.set(v,q);this.entrypoints.set(v,q);this.chunkGroups.push(q);nt(q,L);const K=new Set;for(const $ of[...this.globalEntry.dependencies,...R]){q.addOrigin(null,{name:v},$.request);const R=this.moduleGraph.getModule($);if(R){E.connectChunkAndEntryModule(L,R,q);K.add(R);const v=P.get(q);if(v===undefined){P.set(q,[R])}else{v.push(R)}}}this.assignDepths(K);const mapAndSort=v=>v.map((v=>this.moduleGraph.getModule(v))).filter(Boolean).sort(Lt);const ae=[...mapAndSort(this.globalEntry.includeDependencies),...mapAndSort($)];let ge=P.get(q);if(ge===undefined){P.set(q,ge=[])}for(const v of ae){this.assignDepth(v);ge.push(v)}}const R=new Set;e:for(const[v,{options:{dependOn:E,runtime:P}}]of this.entries){if(E&&P){const E=new vt(`Entrypoint '${v}' has 'dependOn' and 'runtime' specified. This is not valid.\nEntrypoints that depend on other entrypoints do not have their own runtime.\nThey will use the runtime(s) from referenced entrypoints instead.\nRemove the 'runtime' option from the entrypoint.`);const P=this.entrypoints.get(v);E.chunk=P.getEntrypointChunk();this.errors.push(E)}if(E){const P=this.entrypoints.get(v);const R=P.getEntrypointChunk().getAllReferencedChunks();const $=[];for(const N of E){const E=this.entrypoints.get(N);if(!E){throw new Error(`Entry ${v} depends on ${N}, but this entry was not found`)}if(R.has(E.getEntrypointChunk())){const E=new vt(`Entrypoints '${v}' and '${N}' use 'dependOn' to depend on each other in a circular way.`);const R=P.getEntrypointChunk();E.chunk=R;this.errors.push(E);P.setRuntimeChunk(R);continue e}$.push(E)}for(const v of $){st(v,P)}}else if(P){const E=this.entrypoints.get(v);let $=this.namedChunks.get(P);if($){if(!R.has($)){const R=new vt(`Entrypoint '${v}' has a 'runtime' option which points to another entrypoint named '${P}'.\nIt's not valid to use other entrypoints as runtime chunk.\nDid you mean to use 'dependOn: ${JSON.stringify(P)}' instead to allow using entrypoint '${v}' within the runtime of entrypoint '${P}'? For this '${P}' must always be loaded when '${v}' is used.\nOr do you want to use the entrypoints '${v}' and '${P}' independently on the same page with a shared runtime? In this case give them both the same value for the 'runtime' option. It must be a name not already used by an entrypoint.`);const $=E.getEntrypointChunk();R.chunk=$;this.errors.push(R);E.setRuntimeChunk($);continue}}else{$=this.addChunk(P);$.preventIntegration=true;R.add($)}E.unshiftChunk($);$.addGroup(E);E.setRuntimeChunk($)}}wt(this,P);this.hooks.afterChunks.call(this.chunks);this.logger.timeEnd("create chunks");this.logger.time("optimize");this.hooks.optimize.call();while(this.hooks.optimizeModules.call(this.modules)){}this.hooks.afterOptimizeModules.call(this.modules);while(this.hooks.optimizeChunks.call(this.chunks,this.chunkGroups)){}this.hooks.afterOptimizeChunks.call(this.chunks,this.chunkGroups);this.hooks.optimizeTree.callAsync(this.chunks,this.modules,(E=>{if(E){return finalCallback(rt(E,"Compilation.hooks.optimizeTree"))}this.hooks.afterOptimizeTree.call(this.chunks,this.modules);this.hooks.optimizeChunkModules.callAsync(this.chunks,this.modules,(E=>{if(E){return finalCallback(rt(E,"Compilation.hooks.optimizeChunkModules"))}this.hooks.afterOptimizeChunkModules.call(this.chunks,this.modules);const P=this.hooks.shouldRecord.call()!==false;this.hooks.reviveModules.call(this.modules,this.records);this.hooks.beforeModuleIds.call(this.modules);this.hooks.moduleIds.call(this.modules);this.hooks.optimizeModuleIds.call(this.modules);this.hooks.afterOptimizeModuleIds.call(this.modules);this.hooks.reviveChunks.call(this.chunks,this.records);this.hooks.beforeChunkIds.call(this.chunks);this.hooks.chunkIds.call(this.chunks);this.hooks.optimizeChunkIds.call(this.chunks);this.hooks.afterOptimizeChunkIds.call(this.chunks);this.assignRuntimeIds();this.logger.time("compute affected modules with chunk graph");this._computeAffectedModulesWithChunkGraph();this.logger.timeEnd("compute affected modules with chunk graph");this.sortItemsWithChunkIds();if(P){this.hooks.recordModules.call(this.modules,this.records);this.hooks.recordChunks.call(this.chunks,this.records)}this.hooks.optimizeCodeGeneration.call(this.modules);this.logger.timeEnd("optimize");this.logger.time("module hashing");this.hooks.beforeModuleHash.call();this.createModuleHashes();this.hooks.afterModuleHash.call();this.logger.timeEnd("module hashing");this.logger.time("code generation");this.hooks.beforeCodeGeneration.call();this.codeGeneration((E=>{if(E){return finalCallback(E)}this.hooks.afterCodeGeneration.call();this.logger.timeEnd("code generation");this.logger.time("runtime requirements");this.hooks.beforeRuntimeRequirements.call();this.processRuntimeRequirements();this.hooks.afterRuntimeRequirements.call();this.logger.timeEnd("runtime requirements");this.logger.time("hashing");this.hooks.beforeHash.call();const R=this.createHash();this.hooks.afterHash.call();this.logger.timeEnd("hashing");this._runCodeGenerationJobs(R,(E=>{if(E){return finalCallback(E)}if(P){this.logger.time("record hash");this.hooks.recordHash.call(this.records);this.logger.timeEnd("record hash")}this.logger.time("module assets");this.clearAssets();this.hooks.beforeModuleAssets.call();this.createModuleAssets();this.logger.timeEnd("module assets");const cont=()=>{this.logger.time("process assets");this.hooks.processAssets.callAsync(this.assets,(E=>{if(E){return finalCallback(rt(E,"Compilation.hooks.processAssets"))}this.hooks.afterProcessAssets.call(this.assets);this.logger.timeEnd("process assets");this.assets=this._backCompat?zt(this.assets,"Compilation.assets","DEP_WEBPACK_COMPILATION_ASSETS",`BREAKING CHANGE: No more changes should happen to Compilation.assets after sealing the Compilation.\n\tDo changes to assets earlier, e. g. in Compilation.hooks.processAssets.\n\tMake sure to select an appropriate stage from Compilation.PROCESS_ASSETS_STAGE_*.`):Object.freeze(this.assets);this.summarizeDependencies();if(P){this.hooks.record.call(this,this.records)}if(this.hooks.needAdditionalSeal.call()){this.unseal();return this.seal(v)}return this.hooks.afterSeal.callAsync((v=>{if(v){return finalCallback(rt(v,"Compilation.hooks.afterSeal"))}this.fileSystemInfo.logStatistics();finalCallback()}))}))};this.logger.time("create chunk assets");if(this.hooks.shouldGenerateChunkAssets.call()!==false){this.hooks.beforeChunkAssets.call();this.createChunkAssets((v=>{this.logger.timeEnd("create chunk assets");if(v){return finalCallback(v)}cont()}))}else{this.logger.timeEnd("create chunk assets");cont()}}))}))}))}))}reportDependencyErrorsAndWarnings(v,E){let P=false;for(let R=0;R1){const $=new Map;for(const N of R){const R=E.getModuleHash(v,N);const L=$.get(R);if(L===undefined){const E={module:v,hash:R,runtime:N,runtimes:[N]};P.push(E);$.set(R,E)}else{L.runtimes.push(N)}}}}this._runCodeGenerationJobs(P,v)}_runCodeGenerationJobs(v,E){if(v.length===0){return E()}let P=0;let $=0;const{chunkGraph:N,moduleGraph:L,dependencyTemplates:q,runtimeTemplate:K}=this;const ae=this.codeGenerationResults;const ge=[];let be=undefined;const runIteration=()=>{let xe=[];let ve=new Set;R.eachLimit(v,this.options.parallelism,((v,E)=>{const{module:R}=v;const{codeGenerationDependencies:Ae}=R;if(Ae!==undefined){if(be===undefined||Ae.some((v=>{const E=L.getModule(v);return be.has(E)}))){xe.push(v);ve.add(R);return E()}}const{hash:Ie,runtime:He,runtimes:Qe}=v;this._codeGenerationModule(R,He,Qe,Ie,q,N,L,K,ge,ae,((v,R)=>{if(R)$++;else P++;E(v)}))}),(R=>{if(R)return E(R);if(xe.length>0){if(xe.length===v.length){return E(new Error(`Unable to make progress during code generation because of circular code generation dependency: ${Array.from(ve,(v=>v.identifier())).join(", ")}`))}v=xe;xe=[];be=ve;ve=new Set;return runIteration()}if(ge.length>0){ge.sort(Ft((v=>v.module),Lt));for(const v of ge){this.errors.push(v)}}this.logger.log(`${Math.round(100*$/($+P))}% code generated (${$} generated, ${P} from cache)`);E()}))};runIteration()}_codeGenerationModule(v,E,P,R,$,N,L,q,K,ae,ge){let be=false;const xe=new ve(P.map((E=>this._codeGenerationCache.getItemCache(`${v.identifier()}|${Ht(E)}`,`${R}|${$.getHash()}`))));xe.get(((R,ve)=>{if(R)return ge(R);let Ae;if(!ve){try{be=true;this.codeGeneratedModules.add(v);Ae=v.codeGeneration({chunkGraph:N,moduleGraph:L,dependencyTemplates:$,runtimeTemplate:q,runtime:E,runtimes:P,codeGenerationResults:ae,compilation:this})}catch(R){K.push(new Ve(v,R));Ae=ve={sources:new Map,runtimeRequirements:null}}}else{Ae=ve}for(const E of P){ae.add(v,E,Ae)}if(!ve){xe.store(Ae,(v=>ge(v,be)))}else{ge(null,be)}}))}_getChunkGraphEntries(){const v=new Set;for(const E of this.entrypoints.values()){const P=E.getRuntimeChunk();if(P)v.add(P)}for(const E of this.asyncEntrypoints){const P=E.getRuntimeChunk();if(P)v.add(P)}return v}processRuntimeRequirements({chunkGraph:v=this.chunkGraph,modules:E=this.modules,chunks:P=this.chunks,codeGenerationResults:R=this.codeGenerationResults,chunkGraphEntries:$=this._getChunkGraphEntries()}={}){const N={chunkGraph:v,codeGenerationResults:R};const{moduleMemCaches2:L}=this;this.logger.time("runtime requirements.modules");const q=this.hooks.additionalModuleRuntimeRequirements;const K=this.hooks.runtimeRequirementInModule;for(const P of E){if(v.getNumberOfModuleChunks(P)>0){const E=L&&L.get(P);for(const $ of v.getModuleRuntimes(P)){if(E){const R=E.get(`moduleRuntimeRequirements-${Ht($)}`);if(R!==undefined){if(R!==null){v.addModuleRuntimeRequirements(P,$,R,false)}continue}}let L;const ae=R.getRuntimeRequirements(P,$);if(ae&&ae.size>0){L=new Set(ae)}else if(q.isUsed()){L=new Set}else{if(E){E.set(`moduleRuntimeRequirements-${Ht($)}`,null)}continue}q.call(P,L,N);for(const v of L){const E=K.get(v);if(E!==undefined)E.call(P,L,N)}if(L.size===0){if(E){E.set(`moduleRuntimeRequirements-${Ht($)}`,null)}}else{if(E){E.set(`moduleRuntimeRequirements-${Ht($)}`,L);v.addModuleRuntimeRequirements(P,$,L,false)}else{v.addModuleRuntimeRequirements(P,$,L)}}}}}this.logger.timeEnd("runtime requirements.modules");this.logger.time("runtime requirements.chunks");for(const E of P){const P=new Set;for(const R of v.getChunkModulesIterable(E)){const $=v.getModuleRuntimeRequirements(R,E.runtime);for(const v of $)P.add(v)}this.hooks.additionalChunkRuntimeRequirements.call(E,P,N);for(const v of P){this.hooks.runtimeRequirementInChunk.for(v).call(E,P,N)}v.addChunkRuntimeRequirements(E,P)}this.logger.timeEnd("runtime requirements.chunks");this.logger.time("runtime requirements.entries");for(const E of $){const P=new Set;for(const R of E.getAllReferencedChunks()){const E=v.getChunkRuntimeRequirements(R);for(const v of E)P.add(v)}this.hooks.additionalTreeRuntimeRequirements.call(E,P,N);for(const v of P){this.hooks.runtimeRequirementInTree.for(v).call(E,P,N)}v.addTreeRuntimeRequirements(E,P)}this.logger.timeEnd("runtime requirements.entries")}addRuntimeModule(v,E,P=this.chunkGraph){if(this._backCompat)ut.setModuleGraphForModule(E,this.moduleGraph);this.modules.add(E);this._modules.set(E.identifier(),E);P.connectChunkAndModule(v,E);P.connectChunkAndRuntimeModule(v,E);if(E.fullHash){P.addFullHashModuleToChunk(v,E)}else if(E.dependentHash){P.addDependentHashModuleToChunk(v,E)}E.attach(this,v,P);const R=this.moduleGraph.getExportsInfo(E);R.setHasProvideInfo();if(typeof v.runtime==="string"){R.setUsedForSideEffectsOnly(v.runtime)}else if(v.runtime===undefined){R.setUsedForSideEffectsOnly(undefined)}else{for(const E of v.runtime){R.setUsedForSideEffectsOnly(E)}}P.addModuleRuntimeRequirements(E,v.runtime,new Set([bt.requireScope]));P.setModuleId(E,"");this.hooks.runtimeModule.call(E,v)}addChunkInGroup(v,E,P,R){if(typeof v==="string"){v={name:v}}const $=v.name;if($){const N=this.namedChunkGroups.get($);if(N!==undefined){N.addOptions(v);if(E){N.addOrigin(E,P,R)}return N}}const N=new He(v);if(E)N.addOrigin(E,P,R);const L=this.addChunk($);nt(N,L);this.chunkGroups.push(N);if($){this.namedChunkGroups.set($,N)}return N}addAsyncEntrypoint(v,E,P,R){const $=v.name;if($){const v=this.namedChunkGroups.get($);if(v instanceof Ze){if(v!==undefined){if(E){v.addOrigin(E,P,R)}return v}}else if(v){throw new Error(`Cannot add an async entrypoint with the name '${$}', because there is already an chunk group with this name`)}}const N=this.addChunk($);if(v.filename){N.filenameTemplate=v.filename}const L=new Ze(v,false);L.setRuntimeChunk(N);L.setEntrypointChunk(N);if($){this.namedChunkGroups.set($,L)}this.chunkGroups.push(L);this.asyncEntrypoints.push(L);nt(L,N);if(E){L.addOrigin(E,P,R)}return L}addChunk(v){if(v){const E=this.namedChunks.get(v);if(E!==undefined){return E}}const E=new Ae(v,this._backCompat);this.chunks.add(E);if(this._backCompat)Ie.setChunkGraphForChunk(E,this.chunkGraph);if(v){this.namedChunks.set(v,E)}return E}assignDepth(v){const E=this.moduleGraph;const P=new Set([v]);let R;E.setDepth(v,0);const processModule=v=>{if(!E.setDepthIfLower(v,R))return;P.add(v)};for(v of P){P.delete(v);R=E.getDepth(v)+1;for(const P of E.getOutgoingConnections(v)){const v=P.module;if(v){processModule(v)}}}}assignDepths(v){const E=this.moduleGraph;const P=new Set(v);P.add(1);let R=0;let $=0;for(const v of P){$++;if(typeof v==="number"){R=v;if(P.size===$)return;P.add(R+1)}else{E.setDepth(v,R);for(const{module:R}of E.getOutgoingConnections(v)){if(R){P.add(R)}}}}}getDependencyReferencedExports(v,E){const P=v.getReferencedExports(this.moduleGraph,E);return this.hooks.dependencyReferencedExports.call(P,v,E)}removeReasonsOfDependencyBlock(v,E){if(E.blocks){for(const P of E.blocks){this.removeReasonsOfDependencyBlock(v,P)}}if(E.dependencies){for(const v of E.dependencies){const E=this.moduleGraph.getModule(v);if(E){this.moduleGraph.removeConnection(v);if(this.chunkGraph){for(const v of this.chunkGraph.getModuleChunks(E)){this.patchChunksAfterReasonRemoval(E,v)}}}}}}patchChunksAfterReasonRemoval(v,E){if(!v.hasReasons(this.moduleGraph,E.runtime)){this.removeReasonsOfDependencyBlock(v,v)}if(!v.hasReasonForChunk(E,this.moduleGraph,this.chunkGraph)){if(this.chunkGraph.isModuleInChunk(v,E)){this.chunkGraph.disconnectChunkAndModule(E,v);this.removeChunkFromDependencies(v,E)}}}removeChunkFromDependencies(v,E){const iteratorDependency=v=>{const P=this.moduleGraph.getModule(v);if(!P){return}this.patchChunksAfterReasonRemoval(P,E)};const P=v.blocks;for(let E=0;E{const P=E.options.runtime||E.name;const R=E.getRuntimeChunk();v.setRuntimeId(P,R.id)};for(const v of this.entrypoints.values()){processEntrypoint(v)}for(const v of this.asyncEntrypoints){processEntrypoint(v)}}sortItemsWithChunkIds(){for(const v of this.chunkGroups){v.sortItems()}this.errors.sort(tn);this.warnings.sort(tn);this.children.sort(Yt)}summarizeDependencies(){for(let v=0;v0){K.sort(Ft((v=>v.module),Lt));for(const v of K){this.errors.push(v)}}this.logger.log(`${v} modules hashed, ${E} from cache (${Math.round(100*(v+E)/this.modules.size)/100} variants per module in average)`)}_createModuleHash(v,E,P,R,$,N,L,q){let K;try{const L=Bt(R);v.updateHash(L,{chunkGraph:E,runtime:P,runtimeTemplate:$});K=L.digest(N)}catch(E){q.push(new pt(v,E));K="XXXXXX"}E.setModuleHashes(v,P,K,K.slice(0,L));return K}createHash(){this.logger.time("hashing: initialize hash");const v=this.chunkGraph;const E=this.runtimeTemplate;const P=this.outputOptions;const R=P.hashFunction;const $=P.hashDigest;const N=P.hashDigestLength;const L=Bt(R);if(P.hashSalt){L.update(P.hashSalt)}this.logger.timeEnd("hashing: initialize hash");if(this.children.length>0){this.logger.time("hashing: hash child compilations");for(const v of this.children){L.update(v.hash)}this.logger.timeEnd("hashing: hash child compilations")}if(this.warnings.length>0){this.logger.time("hashing: hash warnings");for(const v of this.warnings){L.update(`${v.message}`)}this.logger.timeEnd("hashing: hash warnings")}if(this.errors.length>0){this.logger.time("hashing: hash errors");for(const v of this.errors){L.update(`${v.message}`)}this.logger.timeEnd("hashing: hash errors")}this.logger.time("hashing: sort chunks");const q=[];const K=[];for(const v of this.chunks){if(v.hasRuntime()){q.push(v)}else{K.push(v)}}q.sort(Kt);K.sort(Kt);const ae=new Map;for(const v of q){ae.set(v,{chunk:v,referencedBy:[],remaining:0})}let ge=0;for(const v of ae.values()){for(const E of new Set(Array.from(v.chunk.getAllReferencedAsyncEntrypoints()).map((v=>v.chunks[v.chunks.length-1])))){const P=ae.get(E);P.referencedBy.push(v);v.remaining++;ge++}}const be=[];for(const v of ae.values()){if(v.remaining===0){be.push(v.chunk)}}if(ge>0){const E=[];for(const P of be){const R=v.getNumberOfChunkFullHashModules(P)!==0;const $=ae.get(P);for(const P of $.referencedBy){if(R){v.upgradeDependentToFullHashModules(P.chunk)}ge--;if(--P.remaining===0){E.push(P.chunk)}}if(E.length>0){E.sort(Kt);for(const v of E)be.push(v);E.length=0}}}if(ge>0){let v=[];for(const E of ae.values()){if(E.remaining!==0){v.push(E)}}v.sort(Ft((v=>v.chunk),Kt));const E=new vt(`Circular dependency between chunks with runtime (${Array.from(v,(v=>v.chunk.name||v.chunk.id)).join(", ")})\nThis prevents using hashes of each other and should be avoided.`);E.chunk=v[0].chunk;this.warnings.push(E);for(const E of v)be.push(E.chunk)}this.logger.timeEnd("hashing: sort chunks");const xe=new Set;const ve=[];const Ae=new Map;const Ie=[];const processChunk=q=>{this.logger.time("hashing: hash runtime modules");const K=q.runtime;for(const P of v.getChunkModulesIterable(q)){if(!v.hasModuleHashes(P,K)){const L=this._createModuleHash(P,v,K,R,E,$,N,Ie);let q=Ae.get(L);if(q){const v=q.get(P);if(v){v.runtimes.push(K);continue}}else{q=new Map;Ae.set(L,q)}const ae={module:P,hash:L,runtime:K,runtimes:[K]};q.set(P,ae);ve.push(ae)}}this.logger.timeAggregate("hashing: hash runtime modules");try{this.logger.time("hashing: hash chunks");const E=Bt(R);if(P.hashSalt){E.update(P.hashSalt)}q.updateHash(E,v);this.hooks.chunkHash.call(q,E,{chunkGraph:v,codeGenerationResults:this.codeGenerationResults,moduleGraph:this.moduleGraph,runtimeTemplate:this.runtimeTemplate});const K=E.digest($);L.update(K);q.hash=K;q.renderedHash=q.hash.slice(0,N);const ae=v.getChunkFullHashModulesIterable(q);if(ae){xe.add(q)}else{this.hooks.contentHash.call(q)}}catch(v){this.errors.push(new Qe(q,"",v))}this.logger.timeAggregate("hashing: hash chunks")};K.forEach(processChunk);for(const v of be)processChunk(v);if(Ie.length>0){Ie.sort(Ft((v=>v.module),Lt));for(const v of Ie){this.errors.push(v)}}this.logger.timeAggregateEnd("hashing: hash runtime modules");this.logger.timeAggregateEnd("hashing: hash chunks");this.logger.time("hashing: hash digest");this.hooks.fullHash.call(L);this.fullHash=L.digest($);this.hash=this.fullHash.slice(0,N);this.logger.timeEnd("hashing: hash digest");this.logger.time("hashing: process full hash modules");for(const P of xe){for(const L of v.getChunkFullHashModulesIterable(P)){const q=Bt(R);L.updateHash(q,{chunkGraph:v,runtime:P.runtime,runtimeTemplate:E});const K=q.digest($);const ae=v.getModuleHash(L,P.runtime);v.setModuleHashes(L,P.runtime,K,K.slice(0,N));Ae.get(ae).get(L).hash=K}const L=Bt(R);L.update(P.hash);L.update(this.hash);const q=L.digest($);P.hash=q;P.renderedHash=P.hash.slice(0,N);this.hooks.contentHash.call(P)}this.logger.timeEnd("hashing: process full hash modules");return ve}emitAsset(v,E,P={}){if(this.assets[v]){if(!Wt(this.assets[v],E)){this.errors.push(new vt(`Conflict: Multiple assets emit different content to the same filename ${v}${P.sourceFilename?`. Original source ${P.sourceFilename}`:""}`));this.assets[v]=E;this._setAssetInfo(v,P);return}const R=this.assetsInfo.get(v);const $=Object.assign({},R,P);this._setAssetInfo(v,$,R);return}this.assets[v]=E;this._setAssetInfo(v,P,undefined)}_setAssetInfo(v,E,P=this.assetsInfo.get(v)){if(E===undefined){this.assetsInfo.delete(v)}else{this.assetsInfo.set(v,E)}const R=P&&P.related;const $=E&&E.related;if(R){for(const E of Object.keys(R)){const remove=P=>{const R=this._assetsRelatedIn.get(P);if(R===undefined)return;const $=R.get(E);if($===undefined)return;$.delete(v);if($.size!==0)return;R.delete(E);if(R.size===0)this._assetsRelatedIn.delete(P)};const P=R[E];if(Array.isArray(P)){P.forEach(remove)}else if(P){remove(P)}}}if($){for(const E of Object.keys($)){const add=P=>{let R=this._assetsRelatedIn.get(P);if(R===undefined){this._assetsRelatedIn.set(P,R=new Map)}let $=R.get(E);if($===undefined){R.set(E,$=new Set)}$.add(v)};const P=$[E];if(Array.isArray(P)){P.forEach(add)}else if(P){add(P)}}}}updateAsset(v,E,P=undefined){if(!this.assets[v]){throw new Error(`Called Compilation.updateAsset for not existing filename ${v}`)}if(typeof E==="function"){this.assets[v]=E(this.assets[v])}else{this.assets[v]=E}if(P!==undefined){const E=this.assetsInfo.get(v)||Qt;if(typeof P==="function"){this._setAssetInfo(v,P(E),E)}else{this._setAssetInfo(v,Rt(E,P),E)}}}renameAsset(v,E){const P=this.assets[v];if(!P){throw new Error(`Called Compilation.renameAsset for not existing filename ${v}`)}if(this.assets[E]){if(!Wt(this.assets[v],P)){this.errors.push(new vt(`Conflict: Called Compilation.renameAsset for already existing filename ${E} with different content`))}}const R=this.assetsInfo.get(v);const $=this._assetsRelatedIn.get(v);if($){for(const[P,R]of $){for(const $ of R){const R=this.assetsInfo.get($);if(!R)continue;const N=R.related;if(!N)continue;const L=N[P];let q;if(Array.isArray(L)){q=L.map((P=>P===v?E:P))}else if(L===v){q=E}else continue;this.assetsInfo.set($,{...R,related:{...N,[P]:q}})}}}this._setAssetInfo(v,undefined,R);this._setAssetInfo(E,R);delete this.assets[v];this.assets[E]=P;for(const P of this.chunks){{const R=P.files.size;P.files.delete(v);if(R!==P.files.size){P.files.add(E)}}{const R=P.auxiliaryFiles.size;P.auxiliaryFiles.delete(v);if(R!==P.auxiliaryFiles.size){P.auxiliaryFiles.add(E)}}}}deleteAsset(v){if(!this.assets[v]){return}delete this.assets[v];const E=this.assetsInfo.get(v);this._setAssetInfo(v,undefined,E);const P=E&&E.related;if(P){for(const v of Object.keys(P)){const checkUsedAndDelete=v=>{if(!this._assetsRelatedIn.has(v)){this.deleteAsset(v)}};const E=P[v];if(Array.isArray(E)){E.forEach(checkUsedAndDelete)}else if(E){checkUsedAndDelete(E)}}}for(const E of this.chunks){E.files.delete(v);E.auxiliaryFiles.delete(v)}}getAssets(){const v=[];for(const E of Object.keys(this.assets)){if(Object.prototype.hasOwnProperty.call(this.assets,E)){v.push({name:E,source:this.assets[E],info:this.assetsInfo.get(E)||Qt})}}return v}getAsset(v){if(!Object.prototype.hasOwnProperty.call(this.assets,v))return undefined;return{name:v,source:this.assets[v],info:this.assetsInfo.get(v)||Qt}}clearAssets(){for(const v of this.chunks){v.files.clear();v.auxiliaryFiles.clear()}}createModuleAssets(){const{chunkGraph:v}=this;for(const E of this.modules){if(E.buildInfo.assets){const P=E.buildInfo.assetsInfo;for(const R of Object.keys(E.buildInfo.assets)){const $=this.getPath(R,{chunkGraph:this.chunkGraph,module:E});for(const P of v.getModuleChunksIterable(E)){P.auxiliaryFiles.add($)}this.emitAsset($,E.buildInfo.assets[R],P?P.get(R):undefined);this.hooks.moduleAsset.call(E,$)}}}}getRenderManifest(v){return this.hooks.renderManifest.call([],v)}createChunkAssets(v){const E=this.outputOptions;const P=new WeakMap;const $=new Map;R.forEachLimit(this.chunks,15,((v,N)=>{let L;try{L=this.getRenderManifest({chunk:v,hash:this.hash,fullHash:this.fullHash,outputOptions:E,codeGenerationResults:this.codeGenerationResults,moduleTemplates:this.moduleTemplates,dependencyTemplates:this.dependencyTemplates,chunkGraph:this.chunkGraph,moduleGraph:this.moduleGraph,runtimeTemplate:this.runtimeTemplate})}catch(E){this.errors.push(new Qe(v,"",E));return N()}R.forEach(L,((E,R)=>{const N=E.identifier;const L=E.hash;const q=this._assetsCache.getItemCache(N,L);q.get(((N,K)=>{let ae;let ge;let be;let ve=true;const errorAndCallback=E=>{const P=ge||(typeof ge==="string"?ge:typeof ae==="string"?ae:"");this.errors.push(new Qe(v,P,E));ve=false;return R()};try{if("filename"in E){ge=E.filename;be=E.info}else{ae=E.filenameTemplate;const v=this.getPathWithInfo(ae,E.pathOptions);ge=v.path;be=E.info?{...v.info,...E.info}:v.info}if(N){return errorAndCallback(N)}let Ae=K;const Ie=$.get(ge);if(Ie!==undefined){if(Ie.hash!==L){ve=false;return R(new vt(`Conflict: Multiple chunks emit assets to the same filename ${ge}`+` (chunks ${Ie.chunk.id} and ${v.id})`))}else{Ae=Ie.source}}else if(!Ae){Ae=E.render();if(!(Ae instanceof xe)){const v=P.get(Ae);if(v){Ae=v}else{const v=new xe(Ae);P.set(Ae,v);Ae=v}}}this.emitAsset(ge,Ae,be);if(E.auxiliary){v.auxiliaryFiles.add(ge)}else{v.files.add(ge)}this.hooks.chunkAsset.call(v,ge);$.set(ge,{hash:L,source:Ae,chunk:v});if(Ae!==K){q.store(Ae,(v=>{if(v)return errorAndCallback(v);ve=false;return R()}))}else{ve=false;R()}}catch(N){if(!ve)throw N;errorAndCallback(N)}}))}),N)}),v)}getPath(v,E={}){if(!E.hash){E={hash:this.hash,...E}}return this.getAssetPath(v,E)}getPathWithInfo(v,E={}){if(!E.hash){E={hash:this.hash,...E}}return this.getAssetPathWithInfo(v,E)}getAssetPath(v,E){return this.hooks.assetPath.call(typeof v==="function"?v(E):v,E,undefined)}getAssetPathWithInfo(v,E){const P={};const R=this.hooks.assetPath.call(typeof v==="function"?v(E,P):v,E,P);return{path:R,info:P}}getWarnings(){return this.hooks.processWarnings.call(this.warnings)}getErrors(){return this.hooks.processErrors.call(this.errors)}createChildCompiler(v,E,P){const R=this.childrenCounters[v]||0;this.childrenCounters[v]=R+1;return this.compiler.createChildCompiler(this,v,R,E,P)}executeModule(v,E,P){const $=new Set([v]);Gt($,10,((v,E,P)=>{this.buildQueue.waitFor(v,(R=>{if(R)return P(R);this.processDependenciesQueue.waitFor(v,(R=>{if(R)return P(R);for(const{module:P}of this.moduleGraph.getOutgoingConnections(v)){const v=$.size;$.add(P);if($.size!==v)E(P)}P()}))}))}),(N=>{if(N)return P(N);const L=new Ie(this.moduleGraph,this.outputOptions.hashFunction);const q="build time";const{hashFunction:K,hashDigest:ae,hashDigestLength:ge}=this.outputOptions;const be=this.runtimeTemplate;const xe=new Ae("build time chunk",this._backCompat);xe.id=xe.name;xe.ids=[xe.id];xe.runtime=q;const ve=new Ze({runtime:q,chunkLoading:false,...E.entryOptions});L.connectChunkAndEntryModule(xe,v,ve);nt(ve,xe);ve.setRuntimeChunk(xe);ve.setEntrypointChunk(xe);const He=new Set([xe]);for(const v of $){const E=v.identifier();L.setModuleId(v,E);L.connectChunkAndModule(xe,v)}const Qe=[];for(const v of $){this._createModuleHash(v,L,q,K,be,ae,ge,Qe)}const Je=new Ke(this.outputOptions.hashFunction);const codeGen=(v,E)=>{this._codeGenerationModule(v,q,[q],L.getModuleHash(v,q),this.dependencyTemplates,L,this.moduleGraph,be,Qe,Je,((v,P)=>{E(v)}))};const reportErrors=()=>{if(Qe.length>0){Qe.sort(Ft((v=>v.module),Lt));for(const v of Qe){this.errors.push(v)}Qe.length=0}};R.eachLimit($,10,codeGen,(E=>{if(E)return P(E);reportErrors();const N=this.chunkGraph;this.chunkGraph=L;this.processRuntimeRequirements({chunkGraph:L,modules:$,chunks:He,codeGenerationResults:Je,chunkGraphEntries:He});this.chunkGraph=N;const ve=L.getChunkRuntimeModulesIterable(xe);for(const v of ve){$.add(v);this._createModuleHash(v,L,q,K,be,ae,ge,Qe)}R.eachLimit(ve,10,codeGen,(E=>{if(E)return P(E);reportErrors();const N=new Map;const K=new Map;const ae=new It;const ge=new It;const be=new It;const ve=new It;const Ae=new Map;let Ie=true;const He={assets:Ae,__webpack_require__:undefined,chunk:xe,chunkGraph:L};R.eachLimit($,10,((v,E)=>{const P=Je.get(v,q);const R={module:v,codeGenerationResult:P,preparedInfo:undefined,moduleObject:undefined};N.set(v,R);K.set(v.identifier(),R);v.addCacheDependencies(ae,ge,be,ve);if(v.buildInfo.cacheable===false){Ie=false}if(v.buildInfo&&v.buildInfo.assets){const{assets:E,assetsInfo:P}=v.buildInfo;for(const v of Object.keys(E)){Ae.set(v,{source:E[v],info:P?P.get(v):undefined})}}this.hooks.prepareModuleExecution.callAsync(R,He,E)}),(E=>{if(E)return P(E);let R;try{const{strictModuleErrorHandling:E,strictModuleExceptionHandling:P}=this.outputOptions;const __nested_webpack_require_153728__=v=>{const E=q[v];if(E!==undefined){if(E.error)throw E.error;return E.exports}const P=K.get(v);return __webpack_require_module__(P,v)};const $=__nested_webpack_require_153728__[bt.interceptModuleExecution.replace(`${bt.require}.`,"")]=[];const q=__nested_webpack_require_153728__[bt.moduleCache.replace(`${bt.require}.`,"")]={};He.__webpack_require__=__nested_webpack_require_153728__;const __webpack_require_module__=(v,R)=>{var N={id:R,module:{id:R,exports:{},loaded:false,error:undefined},require:__nested_webpack_require_153728__};$.forEach((v=>v(N)));const L=v.module;this.buildTimeExecutedModules.add(L);const K=N.module;v.moduleObject=K;try{if(R)q[R]=K;ot((()=>this.hooks.executeModule.call(v,He)),"Compilation.hooks.executeModule");K.loaded=true;return K.exports}catch(v){if(P){if(R)delete q[R]}else if(E){K.error=v}if(!v.module)v.module=L;throw v}};for(const v of L.getChunkRuntimeModulesInOrder(xe)){__webpack_require_module__(N.get(v))}R=__nested_webpack_require_153728__(v.identifier())}catch(E){const R=new vt(`Execution of module code from module graph (${v.readableIdentifier(this.requestShortener)}) failed: ${E.message}`);R.stack=E.stack;R.module=E.module;return P(R)}P(null,{exports:R,assets:Ae,cacheable:Ie,fileDependencies:ae,contextDependencies:ge,missingDependencies:be,buildDependencies:ve})}))}))}))}))}checkConstraints(){const v=this.chunkGraph;const E=new Set;for(const P of this.modules){if(P.type===yt)continue;const R=v.getModuleId(P);if(R===null)continue;if(E.has(R)){throw new Error(`checkConstraints: duplicate module id ${R}`)}E.add(R)}for(const E of this.chunks){for(const P of v.getChunkModulesIterable(E)){if(!this.modules.has(P)){throw new Error("checkConstraints: module in chunk but not in compilation "+` ${E.debugId} ${P.debugId}`)}}for(const P of v.getChunkEntryModulesIterable(E)){if(!this.modules.has(P)){throw new Error("checkConstraints: entry module in chunk but not in compilation "+` ${E.debugId} ${P.debugId}`)}}}for(const v of this.chunkGroups){v.checkConstraints()}}}Compilation.prototype.factorizeModule=function(v,E){this.factorizeQueue.add(v,E)};const rn=Compilation.prototype;Object.defineProperty(rn,"modifyHash",{writable:false,enumerable:false,configurable:false,value:()=>{throw new Error("Compilation.modifyHash was removed in favor of Compilation.hooks.fullHash")}});Object.defineProperty(rn,"cache",{enumerable:false,configurable:false,get:be.deprecate((function(){return this.compiler.cache}),"Compilation.cache was removed in favor of Compilation.getCache()","DEP_WEBPACK_COMPILATION_CACHE"),set:be.deprecate((v=>{}),"Compilation.cache was removed in favor of Compilation.getCache()","DEP_WEBPACK_COMPILATION_CACHE")});Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL=-2e3;Compilation.PROCESS_ASSETS_STAGE_PRE_PROCESS=-1e3;Compilation.PROCESS_ASSETS_STAGE_DERIVED=-200;Compilation.PROCESS_ASSETS_STAGE_ADDITIONS=-100;Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE=100;Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_COUNT=200;Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_COMPATIBILITY=300;Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_SIZE=400;Compilation.PROCESS_ASSETS_STAGE_DEV_TOOLING=500;Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_INLINE=700;Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE=1e3;Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_HASH=2500;Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_TRANSFER=3e3;Compilation.PROCESS_ASSETS_STAGE_ANALYSE=4e3;Compilation.PROCESS_ASSETS_STAGE_REPORT=5e3;v.exports=Compilation},74883:function(v,E,P){"use strict";const R=P(54650);const $=P(78175);const{SyncHook:N,SyncBailHook:L,AsyncParallelHook:q,AsyncSeriesHook:K}=P(79846);const{SizeOnlySource:ae}=P(51255);const ge=P(3266);const be=P(55254);const xe=P(54252);const ve=P(86255);const Ae=P(6944);const Ie=P(72217);const He=P(1695);const Qe=P(49188);const Je=P(17083);const Ve=P(55071);const Ke=P(52033);const Ye=P(90476);const Xe=P(50251);const Ze=P(16413);const{Logger:et}=P(61348);const{join:tt,dirname:nt,mkdirp:st}=P(43860);const{makePathsRelative:rt}=P(51984);const{isSourceEqual:ot}=P(74022);const isSorted=v=>{for(let E=1;Ev[E])return false}return true};const sortObject=(v,E)=>{const P={};for(const R of E.sort()){P[R]=v[R]}return P};const includesHash=(v,E)=>{if(!E)return false;if(Array.isArray(E)){return E.some((E=>v.includes(E)))}else{return v.includes(E)}};class Compiler{constructor(v,E={}){this.hooks=Object.freeze({initialize:new N([]),shouldEmit:new L(["compilation"]),done:new K(["stats"]),afterDone:new N(["stats"]),additionalPass:new K([]),beforeRun:new K(["compiler"]),run:new K(["compiler"]),emit:new K(["compilation"]),assetEmitted:new K(["file","info"]),afterEmit:new K(["compilation"]),thisCompilation:new N(["compilation","params"]),compilation:new N(["compilation","params"]),normalModuleFactory:new N(["normalModuleFactory"]),contextModuleFactory:new N(["contextModuleFactory"]),beforeCompile:new K(["params"]),compile:new N(["params"]),make:new q(["compilation"]),finishMake:new K(["compilation"]),afterCompile:new K(["compilation"]),readRecords:new K([]),emitRecords:new K([]),watchRun:new K(["compiler"]),failed:new N(["error"]),invalid:new N(["filename","changeTime"]),watchClose:new N([]),shutdown:new K([]),infrastructureLog:new L(["origin","type","args"]),environment:new N([]),afterEnvironment:new N([]),afterPlugins:new N(["compiler"]),afterResolvers:new N(["compiler"]),entryOption:new L(["context","entry"])});this.webpack=ge;this.name=undefined;this.parentCompilation=undefined;this.root=this;this.outputPath="";this.watching=undefined;this.outputFileSystem=null;this.intermediateFileSystem=null;this.inputFileSystem=null;this.watchFileSystem=null;this.recordsInputPath=null;this.recordsOutputPath=null;this.records={};this.managedPaths=new Set;this.unmanagedPaths=new Set;this.immutablePaths=new Set;this.modifiedFiles=undefined;this.removedFiles=undefined;this.fileTimestamps=undefined;this.contextTimestamps=undefined;this.fsStartTime=undefined;this.resolverFactory=new Ke;this.infrastructureLogger=undefined;this.options=E;this.context=v;this.requestShortener=new Ve(v,this.root);this.cache=new be;this.moduleMemCaches=undefined;this.compilerPath="";this.running=false;this.idle=false;this.watchMode=false;this._backCompat=this.options.experiments.backCompat!==false;this._lastCompilation=undefined;this._lastNormalModuleFactory=undefined;this._assetEmittingSourceCache=new WeakMap;this._assetEmittingWrittenFiles=new Map;this._assetEmittingPreviousFiles=new Set}getCache(v){return new xe(this.cache,`${this.compilerPath}${v}`,this.options.output.hashFunction)}getInfrastructureLogger(v){if(!v){throw new TypeError("Compiler.getInfrastructureLogger(name) called without a name")}return new et(((E,P)=>{if(typeof v==="function"){v=v();if(!v){throw new TypeError("Compiler.getInfrastructureLogger(name) called with a function not returning a name")}}if(this.hooks.infrastructureLog.call(v,E,P)===undefined){if(this.infrastructureLogger!==undefined){this.infrastructureLogger(v,E,P)}}}),(E=>{if(typeof v==="function"){if(typeof E==="function"){return this.getInfrastructureLogger((()=>{if(typeof v==="function"){v=v();if(!v){throw new TypeError("Compiler.getInfrastructureLogger(name) called with a function not returning a name")}}if(typeof E==="function"){E=E();if(!E){throw new TypeError("Logger.getChildLogger(name) called with a function not returning a name")}}return`${v}/${E}`}))}else{return this.getInfrastructureLogger((()=>{if(typeof v==="function"){v=v();if(!v){throw new TypeError("Compiler.getInfrastructureLogger(name) called with a function not returning a name")}}return`${v}/${E}`}))}}else{if(typeof E==="function"){return this.getInfrastructureLogger((()=>{if(typeof E==="function"){E=E();if(!E){throw new TypeError("Logger.getChildLogger(name) called with a function not returning a name")}}return`${v}/${E}`}))}else{return this.getInfrastructureLogger(`${v}/${E}`)}}}))}_cleanupLastCompilation(){if(this._lastCompilation!==undefined){for(const v of this._lastCompilation.children){for(const E of v.modules){ve.clearChunkGraphForModule(E);Qe.clearModuleGraphForModule(E);E.cleanupForCache()}for(const E of v.chunks){ve.clearChunkGraphForChunk(E)}}for(const v of this._lastCompilation.modules){ve.clearChunkGraphForModule(v);Qe.clearModuleGraphForModule(v);v.cleanupForCache()}for(const v of this._lastCompilation.chunks){ve.clearChunkGraphForChunk(v)}this._lastCompilation=undefined}}_cleanupLastNormalModuleFactory(){if(this._lastNormalModuleFactory!==undefined){this._lastNormalModuleFactory.cleanupForCache();this._lastNormalModuleFactory=undefined}}watch(v,E){if(this.running){return E(new Ie)}this.running=true;this.watchMode=true;this.watching=new Xe(this,v,E);return this.watching}run(v){if(this.running){return v(new Ie)}let E;const finalCallback=(P,R)=>{if(E)E.time("beginIdle");this.idle=true;this.cache.beginIdle();this.idle=true;if(E)E.timeEnd("beginIdle");this.running=false;if(P){this.hooks.failed.call(P)}if(v!==undefined)v(P,R);this.hooks.afterDone.call(R)};const P=Date.now();this.running=true;const onCompiled=(v,R)=>{if(v)return finalCallback(v);if(this.hooks.shouldEmit.call(R)===false){R.startTime=P;R.endTime=Date.now();const v=new Ye(R);this.hooks.done.callAsync(v,(E=>{if(E)return finalCallback(E);return finalCallback(null,v)}));return}process.nextTick((()=>{E=R.getLogger("webpack.Compiler");E.time("emitAssets");this.emitAssets(R,(v=>{E.timeEnd("emitAssets");if(v)return finalCallback(v);if(R.hooks.needAdditionalPass.call()){R.needAdditionalPass=true;R.startTime=P;R.endTime=Date.now();E.time("done hook");const v=new Ye(R);this.hooks.done.callAsync(v,(v=>{E.timeEnd("done hook");if(v)return finalCallback(v);this.hooks.additionalPass.callAsync((v=>{if(v)return finalCallback(v);this.compile(onCompiled)}))}));return}E.time("emitRecords");this.emitRecords((v=>{E.timeEnd("emitRecords");if(v)return finalCallback(v);R.startTime=P;R.endTime=Date.now();E.time("done hook");const $=new Ye(R);this.hooks.done.callAsync($,(v=>{E.timeEnd("done hook");if(v)return finalCallback(v);this.cache.storeBuildDependencies(R.buildDependencies,(v=>{if(v)return finalCallback(v);return finalCallback(null,$)}))}))}))}))}))};const run=()=>{this.hooks.beforeRun.callAsync(this,(v=>{if(v)return finalCallback(v);this.hooks.run.callAsync(this,(v=>{if(v)return finalCallback(v);this.readRecords((v=>{if(v)return finalCallback(v);this.compile(onCompiled)}))}))}))};if(this.idle){this.cache.endIdle((v=>{if(v)return finalCallback(v);this.idle=false;run()}))}else{run()}}runAsChild(v){const E=Date.now();const finalCallback=(E,P,R)=>{try{v(E,P,R)}catch(v){const E=new Ze(`compiler.runAsChild callback error: ${v}`);E.details=v.stack;this.parentCompilation.errors.push(E)}};this.compile(((v,P)=>{if(v)return finalCallback(v);this.parentCompilation.children.push(P);for(const{name:v,source:E,info:R}of P.getAssets()){this.parentCompilation.emitAsset(v,E,R)}const R=[];for(const v of P.entrypoints.values()){R.push(...v.chunks)}P.startTime=E;P.endTime=Date.now();return finalCallback(null,R,P)}))}purgeInputFileSystem(){if(this.inputFileSystem&&this.inputFileSystem.purge){this.inputFileSystem.purge()}}emitAssets(v,E){let P;const emitFiles=R=>{if(R)return E(R);const N=v.getAssets();v.assets={...v.assets};const L=new Map;const q=new Set;$.forEachLimit(N,15,(({name:E,source:R,info:$},N)=>{let K=E;let ge=$.immutable;const be=K.indexOf("?");if(be>=0){K=K.slice(0,be);ge=ge&&(includesHash(K,$.contenthash)||includesHash(K,$.chunkhash)||includesHash(K,$.modulehash)||includesHash(K,$.fullhash))}const writeOut=$=>{if($)return N($);const be=tt(this.outputFileSystem,P,K);q.add(be);const xe=this._assetEmittingWrittenFiles.get(be);let ve=this._assetEmittingSourceCache.get(R);if(ve===undefined){ve={sizeOnlySource:undefined,writtenTo:new Map};this._assetEmittingSourceCache.set(R,ve)}let Ae;const checkSimilarFile=()=>{const v=be.toLowerCase();Ae=L.get(v);if(Ae!==undefined){const{path:v,source:P}=Ae;if(ot(P,R)){if(Ae.size!==undefined){updateWithReplacementSource(Ae.size)}else{if(!Ae.waiting)Ae.waiting=[];Ae.waiting.push({file:E,cacheEntry:ve})}alreadyWritten()}else{const P=new Ze(`Prevent writing to file that only differs in casing or query string from already written file.\nThis will lead to a race-condition and corrupted files on case-insensitive file systems.\n${be}\n${v}`);P.file=E;N(P)}return true}else{L.set(v,Ae={path:be,source:R,size:undefined,waiting:undefined});return false}};const getContent=()=>{if(typeof R.buffer==="function"){return R.buffer()}else{const v=R.source();if(Buffer.isBuffer(v)){return v}else{return Buffer.from(v,"utf8")}}};const alreadyWritten=()=>{if(xe===undefined){const v=1;this._assetEmittingWrittenFiles.set(be,v);ve.writtenTo.set(be,v)}else{ve.writtenTo.set(be,xe)}N()};const doWrite=$=>{this.outputFileSystem.writeFile(be,$,(L=>{if(L)return N(L);v.emittedAssets.add(E);const q=xe===undefined?1:xe+1;ve.writtenTo.set(be,q);this._assetEmittingWrittenFiles.set(be,q);this.hooks.assetEmitted.callAsync(E,{content:$,source:R,outputPath:P,compilation:v,targetPath:be},N)}))};const updateWithReplacementSource=v=>{updateFileWithReplacementSource(E,ve,v);Ae.size=v;if(Ae.waiting!==undefined){for(const{file:E,cacheEntry:P}of Ae.waiting){updateFileWithReplacementSource(E,P,v)}}};const updateFileWithReplacementSource=(E,P,R)=>{if(!P.sizeOnlySource){P.sizeOnlySource=new ae(R)}v.updateAsset(E,P.sizeOnlySource,{size:R})};const processExistingFile=P=>{if(ge){updateWithReplacementSource(P.size);return alreadyWritten()}const R=getContent();updateWithReplacementSource(R.length);if(R.length===P.size){v.comparedForEmitAssets.add(E);return this.outputFileSystem.readFile(be,((v,E)=>{if(v||!R.equals(E)){return doWrite(R)}else{return alreadyWritten()}}))}return doWrite(R)};const processMissingFile=()=>{const v=getContent();updateWithReplacementSource(v.length);return doWrite(v)};if(xe!==undefined){const P=ve.writtenTo.get(be);if(P===xe){if(this._assetEmittingPreviousFiles.has(be)){v.updateAsset(E,ve.sizeOnlySource,{size:ve.sizeOnlySource.size()});return N()}else{ge=true}}else if(!ge){if(checkSimilarFile())return;return processMissingFile()}}if(checkSimilarFile())return;if(this.options.output.compareBeforeEmit){this.outputFileSystem.stat(be,((v,E)=>{const P=!v&&E.isFile();if(P){processExistingFile(E)}else{processMissingFile()}}))}else{processMissingFile()}};if(K.match(/\/|\\/)){const v=this.outputFileSystem;const E=nt(v,tt(v,P,K));st(v,E,writeOut)}else{writeOut()}}),(P=>{L.clear();if(P){this._assetEmittingPreviousFiles.clear();return E(P)}this._assetEmittingPreviousFiles=q;this.hooks.afterEmit.callAsync(v,(v=>{if(v)return E(v);return E()}))}))};this.hooks.emit.callAsync(v,(R=>{if(R)return E(R);P=v.getPath(this.outputPath,{});st(this.outputFileSystem,P,emitFiles)}))}emitRecords(v){if(this.hooks.emitRecords.isUsed()){if(this.recordsOutputPath){$.parallel([v=>this.hooks.emitRecords.callAsync(v),this._emitRecords.bind(this)],(E=>v(E)))}else{this.hooks.emitRecords.callAsync(v)}}else{if(this.recordsOutputPath){this._emitRecords(v)}else{v()}}}_emitRecords(v){const writeFile=()=>{this.outputFileSystem.writeFile(this.recordsOutputPath,JSON.stringify(this.records,((v,E)=>{if(typeof E==="object"&&E!==null&&!Array.isArray(E)){const v=Object.keys(E);if(!isSorted(v)){return sortObject(E,v)}}return E}),2),v)};const E=nt(this.outputFileSystem,this.recordsOutputPath);if(!E){return writeFile()}st(this.outputFileSystem,E,(E=>{if(E)return v(E);writeFile()}))}readRecords(v){if(this.hooks.readRecords.isUsed()){if(this.recordsInputPath){$.parallel([v=>this.hooks.readRecords.callAsync(v),this._readRecords.bind(this)],(E=>v(E)))}else{this.records={};this.hooks.readRecords.callAsync(v)}}else{if(this.recordsInputPath){this._readRecords(v)}else{this.records={};v()}}}_readRecords(v){if(!this.recordsInputPath){this.records={};return v()}this.inputFileSystem.stat(this.recordsInputPath,(E=>{if(E)return v();this.inputFileSystem.readFile(this.recordsInputPath,((E,P)=>{if(E)return v(E);try{this.records=R(P.toString("utf-8"))}catch(E){return v(new Error(`Cannot parse records: ${E.message}`))}return v()}))}))}createChildCompiler(v,E,P,R,$){const N=new Compiler(this.context,{...this.options,output:{...this.options.output,...R}});N.name=E;N.outputPath=this.outputPath;N.inputFileSystem=this.inputFileSystem;N.outputFileSystem=null;N.resolverFactory=this.resolverFactory;N.modifiedFiles=this.modifiedFiles;N.removedFiles=this.removedFiles;N.fileTimestamps=this.fileTimestamps;N.contextTimestamps=this.contextTimestamps;N.fsStartTime=this.fsStartTime;N.cache=this.cache;N.compilerPath=`${this.compilerPath}${E}|${P}|`;N._backCompat=this._backCompat;const L=rt(this.context,E,this.root);if(!this.records[L]){this.records[L]=[]}if(this.records[L][P]){N.records=this.records[L][P]}else{this.records[L].push(N.records={})}N.parentCompilation=v;N.root=this.root;if(Array.isArray($)){for(const v of $){if(v){v.apply(N)}}}for(const v in this.hooks){if(!["make","compile","emit","afterEmit","invalid","done","thisCompilation"].includes(v)){if(N.hooks[v]){N.hooks[v].taps=this.hooks[v].taps.slice()}}}v.hooks.childCompiler.call(N,E,P);return N}isChild(){return!!this.parentCompilation}createCompilation(v){this._cleanupLastCompilation();return this._lastCompilation=new Ae(this,v)}newCompilation(v){const E=this.createCompilation(v);E.name=this.name;E.records=this.records;this.hooks.thisCompilation.call(E,v);this.hooks.compilation.call(E,v);return E}createNormalModuleFactory(){this._cleanupLastNormalModuleFactory();const v=new Je({context:this.options.context,fs:this.inputFileSystem,resolverFactory:this.resolverFactory,options:this.options.module,associatedObjectForCache:this.root,layers:this.options.experiments.layers});this._lastNormalModuleFactory=v;this.hooks.normalModuleFactory.call(v);return v}createContextModuleFactory(){const v=new He(this.resolverFactory);this.hooks.contextModuleFactory.call(v);return v}newCompilationParams(){const v={normalModuleFactory:this.createNormalModuleFactory(),contextModuleFactory:this.createContextModuleFactory()};return v}compile(v){const E=this.newCompilationParams();this.hooks.beforeCompile.callAsync(E,(P=>{if(P)return v(P);this.hooks.compile.call(E);const R=this.newCompilation(E);const $=R.getLogger("webpack.Compiler");$.time("make hook");this.hooks.make.callAsync(R,(E=>{$.timeEnd("make hook");if(E)return v(E);$.time("finish make hook");this.hooks.finishMake.callAsync(R,(E=>{$.timeEnd("finish make hook");if(E)return v(E);process.nextTick((()=>{$.time("finish compilation");R.finish((E=>{$.timeEnd("finish compilation");if(E)return v(E);$.time("seal compilation");R.seal((E=>{$.timeEnd("seal compilation");if(E)return v(E);$.time("afterCompile hook");this.hooks.afterCompile.callAsync(R,(E=>{$.timeEnd("afterCompile hook");if(E)return v(E);return v(null,R)}))}))}))}))}))}))}))}close(v){if(this.watching){this.watching.close((E=>{this.close(v)}));return}this.hooks.shutdown.callAsync((E=>{if(E)return v(E);this._lastCompilation=undefined;this._lastNormalModuleFactory=undefined;this.cache.shutdown(v)}))}}v.exports=Compiler},32757:function(v){"use strict";const E=/^__WEBPACK_MODULE_REFERENCE__(\d+)_([\da-f]+|ns)(_call)?(_directImport)?(?:_asiSafe(\d))?__$/;const P="__WEBPACK_DEFAULT_EXPORT__";const R="__WEBPACK_NAMESPACE_OBJECT__";class ConcatenationScope{constructor(v,E){this._currentModule=E;if(Array.isArray(v)){const E=new Map;for(const P of v){E.set(P.module,P)}v=E}this._modulesMap=v}isModuleInScope(v){return this._modulesMap.has(v)}registerExport(v,E){if(!this._currentModule.exportMap){this._currentModule.exportMap=new Map}if(!this._currentModule.exportMap.has(v)){this._currentModule.exportMap.set(v,E)}}registerRawExport(v,E){if(!this._currentModule.rawExportMap){this._currentModule.rawExportMap=new Map}if(!this._currentModule.rawExportMap.has(v)){this._currentModule.rawExportMap.set(v,E)}}registerNamespaceExport(v){this._currentModule.namespaceExportSymbol=v}createModuleReference(v,{ids:E=undefined,call:P=false,directImport:R=false,asiSafe:$=false}){const N=this._modulesMap.get(v);const L=P?"_call":"";const q=R?"_directImport":"";const K=$?"_asiSafe1":$===false?"_asiSafe0":"";const ae=E?Buffer.from(JSON.stringify(E),"utf-8").toString("hex"):"ns";return`__WEBPACK_MODULE_REFERENCE__${N.index}_${ae}${L}${q}${K}__._`}static isModuleReference(v){return E.test(v)}static matchModuleReference(v){const P=E.exec(v);if(!P)return null;const R=+P[1];const $=P[5];return{index:R,ids:P[2]==="ns"?[]:JSON.parse(Buffer.from(P[2],"hex").toString("utf-8")),call:!!P[3],directImport:!!P[4],asiSafe:$?$==="1":undefined}}}ConcatenationScope.DEFAULT_EXPORT=P;ConcatenationScope.NAMESPACE_OBJECT_EXPORT=R;v.exports=ConcatenationScope},72217:function(v,E,P){"use strict";const R=P(16413);v.exports=class ConcurrentCompilationError extends R{constructor(){super();this.name="ConcurrentCompilationError";this.message="You ran Webpack twice. Each instance only supports a single concurrent compilation at a time."}}},55558:function(v,E,P){"use strict";const{ConcatSource:R,PrefixSource:$}=P(51255);const N=P(23596);const L=P(25233);const{mergeRuntime:q}=P(65153);const wrapInCondition=(v,E)=>{if(typeof E==="string"){return L.asString([`if (${v}) {`,L.indent(E),"}",""])}else{return new R(`if (${v}) {\n`,new $("\t",E),"}\n")}};class ConditionalInitFragment extends N{constructor(v,E,P,R,$=true,N){super(v,E,P,R,N);this.runtimeCondition=$}getContent(v){if(this.runtimeCondition===false||!this.content)return"";if(this.runtimeCondition===true)return this.content;const E=v.runtimeTemplate.runtimeConditionExpression({chunkGraph:v.chunkGraph,runtimeRequirements:v.runtimeRequirements,runtime:v.runtime,runtimeCondition:this.runtimeCondition});if(E==="true")return this.content;return wrapInCondition(E,this.content)}getEndContent(v){if(this.runtimeCondition===false||!this.endContent)return"";if(this.runtimeCondition===true)return this.endContent;const E=v.runtimeTemplate.runtimeConditionExpression({chunkGraph:v.chunkGraph,runtimeRequirements:v.runtimeRequirements,runtime:v.runtime,runtimeCondition:this.runtimeCondition});if(E==="true")return this.endContent;return wrapInCondition(E,this.endContent)}merge(v){if(this.runtimeCondition===true)return this;if(v.runtimeCondition===true)return v;if(this.runtimeCondition===false)return v;if(v.runtimeCondition===false)return this;const E=q(this.runtimeCondition,v.runtimeCondition);return new ConditionalInitFragment(this.content,this.stage,this.position,this.key,E,this.endContent)}}v.exports=ConditionalInitFragment},37701:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$,JAVASCRIPT_MODULE_TYPE_ESM:N}=P(96170);const L=P(10194);const q=P(9297);const{evaluateToString:K}=P(73320);const{parseResource:ae}=P(51984);const collectDeclaration=(v,E)=>{const P=[E];while(P.length>0){const E=P.pop();switch(E.type){case"Identifier":v.add(E.name);break;case"ArrayPattern":for(const v of E.elements){if(v){P.push(v)}}break;case"AssignmentPattern":P.push(E.left);break;case"ObjectPattern":for(const v of E.properties){P.push(v.value)}break;case"RestElement":P.push(E.argument);break}}};const getHoistedDeclarations=(v,E)=>{const P=new Set;const R=[v];while(R.length>0){const v=R.pop();if(!v)continue;switch(v.type){case"BlockStatement":for(const E of v.body){R.push(E)}break;case"IfStatement":R.push(v.consequent);R.push(v.alternate);break;case"ForStatement":R.push(v.init);R.push(v.body);break;case"ForInStatement":case"ForOfStatement":R.push(v.left);R.push(v.body);break;case"DoWhileStatement":case"WhileStatement":case"LabeledStatement":R.push(v.body);break;case"SwitchStatement":for(const E of v.cases){for(const v of E.consequent){R.push(v)}}break;case"TryStatement":R.push(v.block);if(v.handler){R.push(v.handler.body)}R.push(v.finalizer);break;case"FunctionDeclaration":if(E){collectDeclaration(P,v.id)}break;case"VariableDeclaration":if(v.kind==="var"){for(const E of v.declarations){collectDeclaration(P,E.id)}}break}}return Array.from(P)};const ge="ConstPlugin";class ConstPlugin{apply(v){const E=ae.bindCache(v.root);v.hooks.compilation.tap(ge,((v,{normalModuleFactory:P})=>{v.dependencyTemplates.set(q,new q.Template);v.dependencyTemplates.set(L,new L.Template);const handler=v=>{v.hooks.statementIf.tap(ge,(E=>{if(v.scope.isAsmJs)return;const P=v.evaluateExpression(E.test);const R=P.asBool();if(typeof R==="boolean"){if(!P.couldHaveSideEffects()){const $=new q(`${R}`,P.range);$.loc=E.loc;v.state.module.addPresentationalDependency($)}else{v.walkExpression(E.test)}const $=R?E.alternate:E.consequent;if($){let E;if(v.scope.isStrict){E=getHoistedDeclarations($,false)}else{E=getHoistedDeclarations($,true)}let P;if(E.length>0){P=`{ var ${E.join(", ")}; }`}else{P="{}"}const R=new q(P,$.range);R.loc=$.loc;v.state.module.addPresentationalDependency(R)}return R}}));v.hooks.expressionConditionalOperator.tap(ge,(E=>{if(v.scope.isAsmJs)return;const P=v.evaluateExpression(E.test);const R=P.asBool();if(typeof R==="boolean"){if(!P.couldHaveSideEffects()){const $=new q(` ${R}`,P.range);$.loc=E.loc;v.state.module.addPresentationalDependency($)}else{v.walkExpression(E.test)}const $=R?E.alternate:E.consequent;const N=new q("0",$.range);N.loc=$.loc;v.state.module.addPresentationalDependency(N);return R}}));v.hooks.expressionLogicalOperator.tap(ge,(E=>{if(v.scope.isAsmJs)return;if(E.operator==="&&"||E.operator==="||"){const P=v.evaluateExpression(E.left);const R=P.asBool();if(typeof R==="boolean"){const $=E.operator==="&&"&&R||E.operator==="||"&&!R;if(!P.couldHaveSideEffects()&&(P.isBoolean()||$)){const $=new q(` ${R}`,P.range);$.loc=E.loc;v.state.module.addPresentationalDependency($)}else{v.walkExpression(E.left)}if(!$){const P=new q("0",E.right.range);P.loc=E.loc;v.state.module.addPresentationalDependency(P)}return $}}else if(E.operator==="??"){const P=v.evaluateExpression(E.left);const R=P.asNullish();if(typeof R==="boolean"){if(!P.couldHaveSideEffects()&&R){const R=new q(" null",P.range);R.loc=E.loc;v.state.module.addPresentationalDependency(R)}else{const P=new q("0",E.right.range);P.loc=E.loc;v.state.module.addPresentationalDependency(P);v.walkExpression(E.left)}return R}}}));v.hooks.optionalChaining.tap(ge,(E=>{const P=[];let R=E.expression;while(R.type==="MemberExpression"||R.type==="CallExpression"){if(R.type==="MemberExpression"){if(R.optional){P.push(R.object)}R=R.object}else{if(R.optional){P.push(R.callee)}R=R.callee}}while(P.length){const R=P.pop();const $=v.evaluateExpression(R);if($.asNullish()){const P=new q(" undefined",E.range);P.loc=E.loc;v.state.module.addPresentationalDependency(P);return true}}}));v.hooks.evaluateIdentifier.for("__resourceQuery").tap(ge,(P=>{if(v.scope.isAsmJs)return;if(!v.state.module)return;return K(E(v.state.module.resource).query)(P)}));v.hooks.expression.for("__resourceQuery").tap(ge,(P=>{if(v.scope.isAsmJs)return;if(!v.state.module)return;const R=new L(JSON.stringify(E(v.state.module.resource).query),P.range,"__resourceQuery");R.loc=P.loc;v.state.module.addPresentationalDependency(R);return true}));v.hooks.evaluateIdentifier.for("__resourceFragment").tap(ge,(P=>{if(v.scope.isAsmJs)return;if(!v.state.module)return;return K(E(v.state.module.resource).fragment)(P)}));v.hooks.expression.for("__resourceFragment").tap(ge,(P=>{if(v.scope.isAsmJs)return;if(!v.state.module)return;const R=new L(JSON.stringify(E(v.state.module.resource).fragment),P.range,"__resourceFragment");R.loc=P.loc;v.state.module.addPresentationalDependency(R);return true}))};P.hooks.parser.for(R).tap(ge,handler);P.hooks.parser.for($).tap(ge,handler);P.hooks.parser.for(N).tap(ge,handler)}))}}v.exports=ConstPlugin},82874:function(v){"use strict";class ContextExclusionPlugin{constructor(v){this.negativeMatcher=v}apply(v){v.hooks.contextModuleFactory.tap("ContextExclusionPlugin",(v=>{v.hooks.contextModuleFiles.tap("ContextExclusionPlugin",(v=>v.filter((v=>!this.negativeMatcher.test(v)))))}))}}v.exports=ContextExclusionPlugin},11076:function(v,E,P){"use strict";const{OriginalSource:R,RawSource:$}=P(51255);const N=P(55936);const{makeWebpackError:L}=P(2202);const q=P(72011);const{JAVASCRIPT_MODULE_TYPE_DYNAMIC:K}=P(96170);const ae=P(92529);const ge=P(25233);const be=P(16413);const{compareLocations:xe,concatComparators:ve,compareSelect:Ae,keepOriginalOrder:Ie,compareModulesById:He}=P(28273);const{contextify:Qe,parseResource:Je,makePathsRelative:Ve}=P(51984);const Ke=P(41718);const Ye={timestamp:true};const Xe=new Set(["javascript"]);class ContextModule extends q{constructor(v,E){if(!E||typeof E.resource==="string"){const v=Je(E?E.resource:"");const P=v.path;const R=E&&E.resourceQuery||v.query;const $=E&&E.resourceFragment||v.fragment;const N=E&&E.layer;super(K,P,N);this.options={...E,resource:P,resourceQuery:R,resourceFragment:$}}else{super(K,undefined,E.layer);this.options={...E,resource:E.resource,resourceQuery:E.resourceQuery||"",resourceFragment:E.resourceFragment||""}}this.resolveDependencies=v;if(E&&E.resolveOptions!==undefined){this.resolveOptions=E.resolveOptions}if(E&&typeof E.mode!=="string"){throw new Error("options.mode is a required option")}this._identifier=this._createIdentifier();this._forceBuild=true}getSourceTypes(){return Xe}updateCacheModule(v){const E=v;this.resolveDependencies=E.resolveDependencies;this.options=E.options}cleanupForCache(){super.cleanupForCache();this.resolveDependencies=undefined}_prettyRegExp(v,E=true){const P=(v+"").replace(/!/g,"%21").replace(/\|/g,"%7C");return E?P.substring(1,P.length-1):P}_createIdentifier(){let v=this.context||(typeof this.options.resource==="string"||this.options.resource===false?`${this.options.resource}`:this.options.resource.join("|"));if(this.options.resourceQuery){v+=`|${this.options.resourceQuery}`}if(this.options.resourceFragment){v+=`|${this.options.resourceFragment}`}if(this.options.mode){v+=`|${this.options.mode}`}if(!this.options.recursive){v+="|nonrecursive"}if(this.options.addon){v+=`|${this.options.addon}`}if(this.options.regExp){v+=`|${this._prettyRegExp(this.options.regExp,false)}`}if(this.options.include){v+=`|include: ${this._prettyRegExp(this.options.include,false)}`}if(this.options.exclude){v+=`|exclude: ${this._prettyRegExp(this.options.exclude,false)}`}if(this.options.referencedExports){v+=`|referencedExports: ${JSON.stringify(this.options.referencedExports)}`}if(this.options.chunkName){v+=`|chunkName: ${this.options.chunkName}`}if(this.options.groupOptions){v+=`|groupOptions: ${JSON.stringify(this.options.groupOptions)}`}if(this.options.namespaceObject==="strict"){v+="|strict namespace object"}else if(this.options.namespaceObject){v+="|namespace object"}if(this.layer){v+=`|layer: ${this.layer}`}return v}identifier(){return this._identifier}readableIdentifier(v){let E;if(this.context){E=v.shorten(this.context)+"/"}else if(typeof this.options.resource==="string"||this.options.resource===false){E=v.shorten(`${this.options.resource}`)+"/"}else{E=this.options.resource.map((E=>v.shorten(E)+"/")).join(" ")}if(this.options.resourceQuery){E+=` ${this.options.resourceQuery}`}if(this.options.mode){E+=` ${this.options.mode}`}if(!this.options.recursive){E+=" nonrecursive"}if(this.options.addon){E+=` ${v.shorten(this.options.addon)}`}if(this.options.regExp){E+=` ${this._prettyRegExp(this.options.regExp)}`}if(this.options.include){E+=` include: ${this._prettyRegExp(this.options.include)}`}if(this.options.exclude){E+=` exclude: ${this._prettyRegExp(this.options.exclude)}`}if(this.options.referencedExports){E+=` referencedExports: ${this.options.referencedExports.map((v=>v.join("."))).join(", ")}`}if(this.options.chunkName){E+=` chunkName: ${this.options.chunkName}`}if(this.options.groupOptions){const v=this.options.groupOptions;for(const P of Object.keys(v)){E+=` ${P}: ${v[P]}`}}if(this.options.namespaceObject==="strict"){E+=" strict namespace object"}else if(this.options.namespaceObject){E+=" namespace object"}return E}libIdent(v){let E;if(this.context){E=Qe(v.context,this.context,v.associatedObjectForCache)}else if(typeof this.options.resource==="string"){E=Qe(v.context,this.options.resource,v.associatedObjectForCache)}else if(this.options.resource===false){E="false"}else{E=this.options.resource.map((E=>Qe(v.context,E,v.associatedObjectForCache))).join(" ")}if(this.layer)E=`(${this.layer})/${E}`;if(this.options.mode){E+=` ${this.options.mode}`}if(this.options.recursive){E+=" recursive"}if(this.options.addon){E+=` ${Qe(v.context,this.options.addon,v.associatedObjectForCache)}`}if(this.options.regExp){E+=` ${this._prettyRegExp(this.options.regExp)}`}if(this.options.include){E+=` include: ${this._prettyRegExp(this.options.include)}`}if(this.options.exclude){E+=` exclude: ${this._prettyRegExp(this.options.exclude)}`}if(this.options.referencedExports){E+=` referencedExports: ${this.options.referencedExports.map((v=>v.join("."))).join(", ")}`}return E}invalidateBuild(){this._forceBuild=true}needBuild({fileSystemInfo:v},E){if(this._forceBuild)return E(null,true);if(!this.buildInfo.snapshot)return E(null,Boolean(this.context||this.options.resource));v.checkSnapshotValid(this.buildInfo.snapshot,((v,P)=>{E(v,!P)}))}build(v,E,P,R,$){this._forceBuild=false;this.buildMeta={exportsType:"default",defaultObject:"redirect-warn"};this.buildInfo={snapshot:undefined};this.dependencies.length=0;this.blocks.length=0;const q=Date.now();this.resolveDependencies(R,this.options,((v,P)=>{if(v){return $(L(v,"ContextModule.resolveDependencies"))}if(!P){$();return}for(const v of P){v.loc={name:v.userRequest};v.request=this.options.addon+v.request}P.sort(ve(Ae((v=>v.loc),xe),Ie(this.dependencies)));if(this.options.mode==="sync"||this.options.mode==="eager"){this.dependencies=P}else if(this.options.mode==="lazy-once"){if(P.length>0){const v=new N({...this.options.groupOptions,name:this.options.chunkName});for(const E of P){v.addDependency(E)}this.addBlock(v)}}else if(this.options.mode==="weak"||this.options.mode==="async-weak"){for(const v of P){v.weak=true}this.dependencies=P}else if(this.options.mode==="lazy"){let v=0;for(const E of P){let P=this.options.chunkName;if(P){if(!/\[(index|request)\]/.test(P)){P+="[index]"}P=P.replace(/\[index\]/g,`${v++}`);P=P.replace(/\[request\]/g,ge.toPath(E.userRequest))}const R=new N({...this.options.groupOptions,name:P},E.loc,E.userRequest);R.addDependency(E);this.addBlock(R)}}else{$(new be(`Unsupported mode "${this.options.mode}" in context`));return}if(!this.context&&!this.options.resource)return $();E.fileSystemInfo.createSnapshot(q,null,this.context?[this.context]:typeof this.options.resource==="string"?[this.options.resource]:this.options.resource,null,Ye,((v,E)=>{if(v)return $(v);this.buildInfo.snapshot=E;$()}))}))}addCacheDependencies(v,E,P,R){if(this.context){E.add(this.context)}else if(typeof this.options.resource==="string"){E.add(this.options.resource)}else if(this.options.resource===false){return}else{for(const v of this.options.resource)E.add(v)}}getUserRequestMap(v,E){const P=E.moduleGraph;const R=v.filter((v=>P.getModule(v))).sort(((v,E)=>{if(v.userRequest===E.userRequest){return 0}return v.userRequestP.getModule(v))).filter(Boolean).sort($);const L=Object.create(null);for(const v of N){const $=v.getExportsType(P,this.options.namespaceObject==="strict");const N=E.getModuleId(v);switch($){case"namespace":L[N]=9;R|=1;break;case"dynamic":L[N]=7;R|=2;break;case"default-only":L[N]=1;R|=4;break;case"default-with-named":L[N]=3;R|=8;break;default:throw new Error(`Unexpected exports type ${$}`)}}if(R===1){return 9}if(R===2){return 7}if(R===4){return 1}if(R===8){return 3}if(R===0){return 9}return L}getFakeMapInitStatement(v){return typeof v==="object"?`var fakeMap = ${JSON.stringify(v,null,"\t")};`:""}getReturn(v,E){if(v===9){return`${ae.require}(id)`}return`${ae.createFakeNamespaceObject}(id, ${v}${E?" | 16":""})`}getReturnModuleObjectSource(v,E,P="fakeMap[id]"){if(typeof v==="number"){return`return ${this.getReturn(v,E)};`}return`return ${ae.createFakeNamespaceObject}(id, ${P}${E?" | 16":""})`}getSyncSource(v,E,P){const R=this.getUserRequestMap(v,P);const $=this.getFakeMap(v,P);const N=this.getReturnModuleObjectSource($);return`var map = ${JSON.stringify(R,null,"\t")};\n${this.getFakeMapInitStatement($)}\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\t${N}\n}\nfunction webpackContextResolve(req) {\n\tif(!${ae.hasOwnProperty}(map, req)) {\n\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = ${JSON.stringify(E)};`}getWeakSyncSource(v,E,P){const R=this.getUserRequestMap(v,P);const $=this.getFakeMap(v,P);const N=this.getReturnModuleObjectSource($);return`var map = ${JSON.stringify(R,null,"\t")};\n${this.getFakeMapInitStatement($)}\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\tif(!${ae.moduleFactories}[id]) {\n\t\tvar e = new Error("Module '" + req + "' ('" + id + "') is not available (weak dependency)");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\t${N}\n}\nfunction webpackContextResolve(req) {\n\tif(!${ae.hasOwnProperty}(map, req)) {\n\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nwebpackContext.id = ${JSON.stringify(E)};\nmodule.exports = webpackContext;`}getAsyncWeakSource(v,E,{chunkGraph:P,runtimeTemplate:R}){const $=R.supportsArrowFunction();const N=this.getUserRequestMap(v,P);const L=this.getFakeMap(v,P);const q=this.getReturnModuleObjectSource(L,true);return`var map = ${JSON.stringify(N,null,"\t")};\n${this.getFakeMapInitStatement(L)}\n\nfunction webpackAsyncContext(req) {\n\treturn webpackAsyncContextResolve(req).then(${$?"id =>":"function(id)"} {\n\t\tif(!${ae.moduleFactories}[id]) {\n\t\t\tvar e = new Error("Module '" + req + "' ('" + id + "') is not available (weak dependency)");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t}\n\t\t${q}\n\t});\n}\nfunction webpackAsyncContextResolve(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(${$?"() =>":"function()"} {\n\t\tif(!${ae.hasOwnProperty}(map, req)) {\n\t\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t}\n\t\treturn map[req];\n\t});\n}\nwebpackAsyncContext.keys = ${R.returningFunction("Object.keys(map)")};\nwebpackAsyncContext.resolve = webpackAsyncContextResolve;\nwebpackAsyncContext.id = ${JSON.stringify(E)};\nmodule.exports = webpackAsyncContext;`}getEagerSource(v,E,{chunkGraph:P,runtimeTemplate:R}){const $=R.supportsArrowFunction();const N=this.getUserRequestMap(v,P);const L=this.getFakeMap(v,P);const q=L!==9?`${$?"id =>":"function(id)"} {\n\t\t${this.getReturnModuleObjectSource(L)}\n\t}`:ae.require;return`var map = ${JSON.stringify(N,null,"\t")};\n${this.getFakeMapInitStatement(L)}\n\nfunction webpackAsyncContext(req) {\n\treturn webpackAsyncContextResolve(req).then(${q});\n}\nfunction webpackAsyncContextResolve(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(${$?"() =>":"function()"} {\n\t\tif(!${ae.hasOwnProperty}(map, req)) {\n\t\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t}\n\t\treturn map[req];\n\t});\n}\nwebpackAsyncContext.keys = ${R.returningFunction("Object.keys(map)")};\nwebpackAsyncContext.resolve = webpackAsyncContextResolve;\nwebpackAsyncContext.id = ${JSON.stringify(E)};\nmodule.exports = webpackAsyncContext;`}getLazyOnceSource(v,E,P,{runtimeTemplate:R,chunkGraph:$}){const N=R.blockPromise({chunkGraph:$,block:v,message:"lazy-once context",runtimeRequirements:new Set});const L=R.supportsArrowFunction();const q=this.getUserRequestMap(E,$);const K=this.getFakeMap(E,$);const ge=K!==9?`${L?"id =>":"function(id)"} {\n\t\t${this.getReturnModuleObjectSource(K,true)};\n\t}`:ae.require;return`var map = ${JSON.stringify(q,null,"\t")};\n${this.getFakeMapInitStatement(K)}\n\nfunction webpackAsyncContext(req) {\n\treturn webpackAsyncContextResolve(req).then(${ge});\n}\nfunction webpackAsyncContextResolve(req) {\n\treturn ${N}.then(${L?"() =>":"function()"} {\n\t\tif(!${ae.hasOwnProperty}(map, req)) {\n\t\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t}\n\t\treturn map[req];\n\t});\n}\nwebpackAsyncContext.keys = ${R.returningFunction("Object.keys(map)")};\nwebpackAsyncContext.resolve = webpackAsyncContextResolve;\nwebpackAsyncContext.id = ${JSON.stringify(P)};\nmodule.exports = webpackAsyncContext;`}getLazySource(v,E,{chunkGraph:P,runtimeTemplate:R}){const $=P.moduleGraph;const N=R.supportsArrowFunction();let L=false;let q=true;const K=this.getFakeMap(v.map((v=>v.dependencies[0])),P);const ge=typeof K==="object";const be=v.map((v=>{const E=v.dependencies[0];return{dependency:E,module:$.getModule(E),block:v,userRequest:E.userRequest,chunks:undefined}})).filter((v=>v.module));for(const v of be){const E=P.getBlockChunkGroup(v.block);const R=E&&E.chunks||[];v.chunks=R;if(R.length>0){q=false}if(R.length!==1){L=true}}const xe=q&&!ge;const ve=be.sort(((v,E)=>{if(v.userRequest===E.userRequest)return 0;return v.userRequestv.id)))}}const Ie=ge?2:1;const He=q?"Promise.resolve()":L?`Promise.all(ids.slice(${Ie}).map(${ae.ensureChunk}))`:`${ae.ensureChunk}(ids[${Ie}])`;const Qe=this.getReturnModuleObjectSource(K,true,xe?"invalid":"ids[1]");const Je=He==="Promise.resolve()"?`\nfunction webpackAsyncContext(req) {\n\treturn Promise.resolve().then(${N?"() =>":"function()"} {\n\t\tif(!${ae.hasOwnProperty}(map, req)) {\n\t\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t}\n\n\t\t${xe?"var id = map[req];":"var ids = map[req], id = ids[0];"}\n\t\t${Qe}\n\t});\n}`:`function webpackAsyncContext(req) {\n\tif(!${ae.hasOwnProperty}(map, req)) {\n\t\treturn Promise.resolve().then(${N?"() =>":"function()"} {\n\t\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn ${He}.then(${N?"() =>":"function()"} {\n\t\t${Qe}\n\t});\n}`;return`var map = ${JSON.stringify(Ae,null,"\t")};\n${Je}\nwebpackAsyncContext.keys = ${R.returningFunction("Object.keys(map)")};\nwebpackAsyncContext.id = ${JSON.stringify(E)};\nmodule.exports = webpackAsyncContext;`}getSourceForEmptyContext(v,E){return`function webpackEmptyContext(req) {\n\tvar e = new Error("Cannot find module '" + req + "'");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = ${E.returningFunction("[]")};\nwebpackEmptyContext.resolve = webpackEmptyContext;\nwebpackEmptyContext.id = ${JSON.stringify(v)};\nmodule.exports = webpackEmptyContext;`}getSourceForEmptyAsyncContext(v,E){const P=E.supportsArrowFunction();return`function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(${P?"() =>":"function()"} {\n\t\tvar e = new Error("Cannot find module '" + req + "'");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = ${E.returningFunction("[]")};\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = ${JSON.stringify(v)};\nmodule.exports = webpackEmptyAsyncContext;`}getSourceString(v,{runtimeTemplate:E,chunkGraph:P}){const R=P.getModuleId(this);if(v==="lazy"){if(this.blocks&&this.blocks.length>0){return this.getLazySource(this.blocks,R,{runtimeTemplate:E,chunkGraph:P})}return this.getSourceForEmptyAsyncContext(R,E)}if(v==="eager"){if(this.dependencies&&this.dependencies.length>0){return this.getEagerSource(this.dependencies,R,{chunkGraph:P,runtimeTemplate:E})}return this.getSourceForEmptyAsyncContext(R,E)}if(v==="lazy-once"){const v=this.blocks[0];if(v){return this.getLazyOnceSource(v,v.dependencies,R,{runtimeTemplate:E,chunkGraph:P})}return this.getSourceForEmptyAsyncContext(R,E)}if(v==="async-weak"){if(this.dependencies&&this.dependencies.length>0){return this.getAsyncWeakSource(this.dependencies,R,{chunkGraph:P,runtimeTemplate:E})}return this.getSourceForEmptyAsyncContext(R,E)}if(v==="weak"){if(this.dependencies&&this.dependencies.length>0){return this.getWeakSyncSource(this.dependencies,R,P)}}if(this.dependencies&&this.dependencies.length>0){return this.getSyncSource(this.dependencies,R,P)}return this.getSourceForEmptyContext(R,E)}getSource(v,E){if(this.useSourceMap||this.useSimpleSourceMap){return new R(v,`webpack://${Ve(E&&E.compiler.context||"",this.identifier(),E&&E.compiler.root)}`)}return new $(v)}codeGeneration(v){const{chunkGraph:E,compilation:P}=v;const R=new Map;R.set("javascript",this.getSource(this.getSourceString(this.options.mode,v),P));const $=new Set;const N=this.dependencies.length>0?this.dependencies.slice():[];for(const v of this.blocks)for(const E of v.dependencies)N.push(E);$.add(ae.module);$.add(ae.hasOwnProperty);if(N.length>0){const v=this.options.mode;$.add(ae.require);if(v==="weak"){$.add(ae.moduleFactories)}else if(v==="async-weak"){$.add(ae.moduleFactories);$.add(ae.ensureChunk)}else if(v==="lazy"||v==="lazy-once"){$.add(ae.ensureChunk)}if(this.getFakeMap(N,E)!==9){$.add(ae.createFakeNamespaceObject)}}return{sources:R,runtimeRequirements:$}}size(v){let E=160;for(const v of this.dependencies){const P=v;E+=5+P.userRequest.length}return E}serialize(v){const{write:E}=v;E(this._identifier);E(this._forceBuild);super.serialize(v)}deserialize(v){const{read:E}=v;this._identifier=E();this._forceBuild=E();super.deserialize(v)}}Ke(ContextModule,"webpack/lib/ContextModule");v.exports=ContextModule},1695:function(v,E,P){"use strict";const R=P(78175);const{AsyncSeriesWaterfallHook:$,SyncWaterfallHook:N}=P(79846);const L=P(11076);const q=P(22362);const K=P(17817);const ae=P(2035);const{cachedSetProperty:ge}=P(36671);const{createFakeHook:be}=P(31950);const{join:xe}=P(43860);const ve={};v.exports=class ContextModuleFactory extends q{constructor(v){super();const E=new $(["modules","options"]);this.hooks=Object.freeze({beforeResolve:new $(["data"]),afterResolve:new $(["data"]),contextModuleFiles:new N(["files"]),alternatives:be({name:"alternatives",intercept:v=>{throw new Error("Intercepting fake hook ContextModuleFactory.hooks.alternatives is not possible, use ContextModuleFactory.hooks.alternativeRequests instead")},tap:(v,P)=>{E.tap(v,P)},tapAsync:(v,P)=>{E.tapAsync(v,((v,E,R)=>P(v,R)))},tapPromise:(v,P)=>{E.tapPromise(v,P)}},"ContextModuleFactory.hooks.alternatives has deprecated in favor of ContextModuleFactory.hooks.alternativeRequests with an additional options argument.","DEP_WEBPACK_CONTEXT_MODULE_FACTORY_ALTERNATIVES"),alternativeRequests:E});this.resolverFactory=v}create(v,E){const P=v.context;const $=v.dependencies;const N=v.resolveOptions;const q=$[0];const K=new ae;const be=new ae;const xe=new ae;this.hooks.beforeResolve.callAsync({context:P,dependencies:$,layer:v.contextInfo.issuerLayer,resolveOptions:N,fileDependencies:K,missingDependencies:be,contextDependencies:xe,...q.options},((v,P)=>{if(v){return E(v,{fileDependencies:K,missingDependencies:be,contextDependencies:xe})}if(!P){return E(null,{fileDependencies:K,missingDependencies:be,contextDependencies:xe})}const N=P.context;const q=P.request;const ae=P.resolveOptions;let Ae,Ie,He="";const Qe=q.lastIndexOf("!");if(Qe>=0){let v=q.slice(0,Qe+1);let E;for(E=0;E0?ge(ae||ve,"dependencyType",$[0].category):ae);const Ve=this.resolverFactory.get("loader");R.parallel([v=>{const E=[];const yield_=v=>E.push(v);Je.resolve({},N,Ie,{fileDependencies:K,missingDependencies:be,contextDependencies:xe,yield:yield_},(P=>{if(P)return v(P);v(null,E)}))},v=>{R.map(Ae,((v,E)=>{Ve.resolve({},N,v,{fileDependencies:K,missingDependencies:be,contextDependencies:xe},((v,P)=>{if(v)return E(v);E(null,P)}))}),v)}],((v,R)=>{if(v){return E(v,{fileDependencies:K,missingDependencies:be,contextDependencies:xe})}let[$,N]=R;if($.length>1){const v=$[0];$=$.filter((v=>v.path));if($.length===0)$.push(v)}this.hooks.afterResolve.callAsync({addon:He+N.join("!")+(N.length>0?"!":""),resource:$.length>1?$.map((v=>v.path)):$[0].path,resolveDependencies:this.resolveDependencies.bind(this),resourceQuery:$[0].query,resourceFragment:$[0].fragment,...P},((v,P)=>{if(v){return E(v,{fileDependencies:K,missingDependencies:be,contextDependencies:xe})}if(!P){return E(null,{fileDependencies:K,missingDependencies:be,contextDependencies:xe})}return E(null,{module:new L(P.resolveDependencies,P),fileDependencies:K,missingDependencies:be,contextDependencies:xe})}))}))}))}resolveDependencies(v,E,P){const $=this;const{resource:N,resourceQuery:L,resourceFragment:q,recursive:ae,regExp:ge,include:be,exclude:ve,referencedExports:Ae,category:Ie,typePrefix:He}=E;if(!ge||!N)return P(null,[]);const addDirectoryChecked=(E,P,R,$)=>{v.realpath(P,((v,N)=>{if(v)return $(v);if(R.has(N))return $(null,[]);let L;addDirectory(E,P,((v,P,$)=>{if(L===undefined){L=new Set(R);L.add(N)}addDirectoryChecked(E,P,L,$)}),$)}))};const addDirectory=(P,N,Qe,Je)=>{v.readdir(N,((Ve,Ke)=>{if(Ve)return Je(Ve);const Ye=$.hooks.contextModuleFiles.call(Ke.map((v=>v.normalize("NFC"))));if(!Ye||Ye.length===0)return Je(null,[]);R.map(Ye.filter((v=>v.indexOf(".")!==0)),((R,$)=>{const Je=xe(v,N,R);if(!ve||!Je.match(ve)){v.stat(Je,((v,R)=>{if(v){if(v.code==="ENOENT"){return $()}else{return $(v)}}if(R.isDirectory()){if(!ae)return $();Qe(P,Je,$)}else if(R.isFile()&&(!be||Je.match(be))){const v={context:P,request:"."+Je.slice(P.length).replace(/\\/g,"/")};this.hooks.alternativeRequests.callAsync([v],E,((v,E)=>{if(v)return $(v);E=E.filter((v=>ge.test(v.request))).map((v=>{const E=new K(`${v.request}${L}${q}`,v.request,He,Ie,Ae,v.context);E.optional=true;return E}));$(null,E)}))}else{$()}}))}else{$()}}),((v,E)=>{if(v)return Je(v);if(!E)return Je(null,[]);const P=[];for(const v of E){if(v)P.push(...v)}Je(null,P)}))}))};const addSubDirectory=(v,E,P)=>addDirectory(v,E,addSubDirectory,P);const visitResource=(E,P)=>{if(typeof v.realpath==="function"){addDirectoryChecked(E,E,new Set,P)}else{addDirectory(E,E,addSubDirectory,P)}};if(typeof N==="string"){visitResource(N,P)}else{R.map(N,visitResource,((v,E)=>{if(v)return P(v);const R=new Set;const $=[];for(let v=0;v{E(null,P)}}else if(typeof E==="string"&&typeof P==="function"){this.newContentResource=E;this.newContentCreateContextMap=P}else{if(typeof E!=="string"){R=P;P=E;E=undefined}if(typeof P!=="boolean"){R=P;P=undefined}this.newContentResource=E;this.newContentRecursive=P;this.newContentRegExp=R}}apply(v){const E=this.resourceRegExp;const P=this.newContentCallback;const R=this.newContentResource;const N=this.newContentRecursive;const L=this.newContentRegExp;const q=this.newContentCreateContextMap;v.hooks.contextModuleFactory.tap("ContextReplacementPlugin",(K=>{K.hooks.beforeResolve.tap("ContextReplacementPlugin",(v=>{if(!v)return;if(E.test(v.request)){if(R!==undefined){v.request=R}if(N!==undefined){v.recursive=N}if(L!==undefined){v.regExp=L}if(typeof P==="function"){P(v)}else{for(const E of v.dependencies){if(E.critical)E.critical=false}}}return v}));K.hooks.afterResolve.tap("ContextReplacementPlugin",(K=>{if(!K)return;if(E.test(K.resource)){if(R!==undefined){if(R.startsWith("/")||R.length>1&&R[1]===":"){K.resource=R}else{K.resource=$(v.inputFileSystem,K.resource,R)}}if(N!==undefined){K.recursive=N}if(L!==undefined){K.regExp=L}if(typeof q==="function"){K.resolveDependencies=createResolveDependenciesFromContextMap(q)}if(typeof P==="function"){const E=K.resource;P(K);if(K.resource!==E&&!K.resource.startsWith("/")&&(K.resource.length<=1||K.resource[1]!==":")){K.resource=$(v.inputFileSystem,E,K.resource)}}else{for(const v of K.dependencies){if(v.critical)v.critical=false}}}return K}))}))}}const createResolveDependenciesFromContextMap=v=>{const resolveDependenciesFromContextMap=(E,P,$)=>{v(E,((v,E)=>{if(v)return $(v);const N=Object.keys(E).map((v=>new R(E[v]+P.resourceQuery+P.resourceFragment,v,P.category,P.referencedExports)));$(null,N)}))};return resolveDependenciesFromContextMap};v.exports=ContextReplacementPlugin},72702:function(v,E,P){"use strict";const R=P(80346);const $=P(41718);class CssModule extends R{constructor(v){super(v);this.cssLayer=v.cssLayer;this.supports=v.supports;this.media=v.media;this.inheritance=v.inheritance}identifier(){let v=super.identifier();if(this.cssLayer){v+=`|${this.cssLayer}`}if(this.supports){v+=`|${this.supports}`}if(this.media){v+=`|${this.media}`}if(this.inheritance){const E=this.inheritance.map(((v,E)=>`inheritance_${E}|${v[0]||""}|${v[1]||""}|${v[2]||""}`));v+=`|${E.join("|")}`}return v}readableIdentifier(v){const E=super.readableIdentifier(v);let P=`css ${E}`;if(this.cssLayer){P+=` (layer: ${this.cssLayer})`}if(this.supports){P+=` (supports: ${this.supports})`}if(this.media){P+=` (media: ${this.media})`}return P}updateCacheModule(v){super.updateCacheModule(v);const E=v;this.cssLayer=E.cssLayer;this.supports=E.supports;this.media=E.media;this.inheritance=E.inheritance}serialize(v){const{write:E}=v;E(this.cssLayer);E(this.supports);E(this.media);E(this.inheritance);super.serialize(v)}static deserialize(v){const E=new CssModule({layer:null,type:"",resource:"",context:"",request:null,userRequest:null,rawRequest:null,loaders:null,matchResource:null,parser:null,parserOptions:null,generator:null,generatorOptions:null,resolveOptions:null,cssLayer:null,supports:null,media:null,inheritance:null});E.deserialize(v);return E}deserialize(v){const{read:E}=v;this.cssLayer=E();this.supports=E();this.media=E();this.inheritance=E();super.deserialize(v)}}$(CssModule,"webpack/lib/CssModule");v.exports=CssModule},54892:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_ESM:$,JAVASCRIPT_MODULE_TYPE_DYNAMIC:N}=P(96170);const L=P(92529);const q=P(16413);const K=P(9297);const ae=P(81792);const{evaluateToString:ge,toConstantDependency:be}=P(73320);const xe=P(20932);class RuntimeValue{constructor(v,E){this.fn=v;if(Array.isArray(E)){E={fileDependencies:E}}this.options=E||{}}get fileDependencies(){return this.options===true?true:this.options.fileDependencies}exec(v,E,P){const R=v.state.module.buildInfo;if(this.options===true){R.cacheable=false}else{if(this.options.fileDependencies){for(const v of this.options.fileDependencies){R.fileDependencies.add(v)}}if(this.options.contextDependencies){for(const v of this.options.contextDependencies){R.contextDependencies.add(v)}}if(this.options.missingDependencies){for(const v of this.options.missingDependencies){R.missingDependencies.add(v)}}if(this.options.buildDependencies){for(const v of this.options.buildDependencies){R.buildDependencies.add(v)}}}return this.fn({module:v.state.module,key:P,get version(){return E.get(Ae+P)}})}getCacheVersion(){return this.options===true?undefined:(typeof this.options.version==="function"?this.options.version():this.options.version)||"unset"}}const stringifyObj=(v,E,P,R,$,N,L,q)=>{let K;let ae=Array.isArray(v);if(ae){K=`[${v.map((v=>toCode(v,E,P,R,$,N,null))).join(",")}]`}else{let R=Object.keys(v);if(q){if(q.size===0)R=[];else R=R.filter((v=>q.has(v)))}K=`{${R.map((R=>{const L=v[R];return JSON.stringify(R)+":"+toCode(L,E,P,R,$,N,null)})).join(",")}}`}switch(L){case null:return K;case true:return ae?K:`(${K})`;case false:return ae?`;${K}`:`;(${K})`;default:return`/*#__PURE__*/Object(${K})`}};const toCode=(v,E,P,R,$,N,L,q)=>{const transformToCode=()=>{if(v===null){return"null"}if(v===undefined){return"undefined"}if(Object.is(v,-0)){return"-0"}if(v instanceof RuntimeValue){return toCode(v.exec(E,P,R),E,P,R,$,N,L)}if(v instanceof RegExp&&v.toString){return v.toString()}if(typeof v==="function"&&v.toString){return"("+v.toString()+")"}if(typeof v==="object"){return stringifyObj(v,E,P,R,$,N,L,q)}if(typeof v==="bigint"){return $.supportsBigIntLiteral()?`${v}n`:`BigInt("${v}")`}return v+""};const K=transformToCode();N.log(`Replaced "${R}" with "${K}"`);return K};const toCacheVersion=v=>{if(v===null){return"null"}if(v===undefined){return"undefined"}if(Object.is(v,-0)){return"-0"}if(v instanceof RuntimeValue){return v.getCacheVersion()}if(v instanceof RegExp&&v.toString){return v.toString()}if(typeof v==="function"&&v.toString){return"("+v.toString()+")"}if(typeof v==="object"){const E=Object.keys(v).map((E=>({key:E,value:toCacheVersion(v[E])})));if(E.some((({value:v})=>v===undefined)))return undefined;return`{${E.map((({key:v,value:E})=>`${v}: ${E}`)).join(", ")}}`}if(typeof v==="bigint"){return`${v}n`}return v+""};const ve="DefinePlugin";const Ae=`webpack/${ve} `;const Ie=`webpack/${ve}_hash`;const He=/^typeof\s+/;const Qe=/__webpack_require__\s*(!?\.)/;const Je=/__webpack_require__/;class DefinePlugin{constructor(v){this.definitions=v}static runtimeValue(v,E){return new RuntimeValue(v,E)}apply(v){const E=this.definitions;v.hooks.compilation.tap(ve,((v,{normalModuleFactory:P})=>{const Ve=v.getLogger("webpack.DefinePlugin");v.dependencyTemplates.set(K,new K.Template);const{runtimeTemplate:Ke}=v;const Ye=xe(v.outputOptions.hashFunction);Ye.update(v.valueCacheVersions.get(Ie)||"");const handler=P=>{const R=v.valueCacheVersions.get(Ie);P.hooks.program.tap(ve,(()=>{const{buildInfo:v}=P.state.module;if(!v.valueDependencies)v.valueDependencies=new Map;v.valueDependencies.set(Ie,R)}));const addValueDependency=E=>{const{buildInfo:R}=P.state.module;R.valueDependencies.set(Ae+E,v.valueCacheVersions.get(Ae+E))};const withValueDependency=(v,E)=>(...P)=>{addValueDependency(v);return E(...P)};const walkDefinitions=(v,E)=>{Object.keys(v).forEach((P=>{const R=v[P];if(R&&typeof R==="object"&&!(R instanceof RuntimeValue)&&!(R instanceof RegExp)){walkDefinitions(R,E+P+".");applyObjectDefine(E+P,R);return}applyDefineKey(E,P);applyDefine(E+P,R)}))};const applyDefineKey=(v,E)=>{const R=E.split(".");R.slice(1).forEach((($,N)=>{const L=v+R.slice(0,N+1).join(".");P.hooks.canRename.for(L).tap(ve,(()=>{addValueDependency(E);return true}))}))};const applyDefine=(E,R)=>{const $=E;const N=He.test(E);if(N)E=E.replace(He,"");let q=false;let K=false;if(!N){P.hooks.canRename.for(E).tap(ve,(()=>{addValueDependency($);return true}));P.hooks.evaluateIdentifier.for(E).tap(ve,(N=>{if(q)return;addValueDependency($);q=true;const L=P.evaluate(toCode(R,P,v.valueCacheVersions,E,Ke,Ve,null));q=false;L.setRange(N.range);return L}));P.hooks.expression.for(E).tap(ve,(E=>{addValueDependency($);let N=toCode(R,P,v.valueCacheVersions,$,Ke,Ve,!P.isAsiPosition(E.range[0]),P.destructuringAssignmentPropertiesFor(E));if(P.scope.inShorthand){N=P.scope.inShorthand+":"+N}if(Qe.test(N)){return be(P,N,[L.require])(E)}else if(Je.test(N)){return be(P,N,[L.requireScope])(E)}else{return be(P,N)(E)}}))}P.hooks.evaluateTypeof.for(E).tap(ve,(E=>{if(K)return;K=true;addValueDependency($);const L=toCode(R,P,v.valueCacheVersions,$,Ke,Ve,null);const q=N?L:"typeof ("+L+")";const ae=P.evaluate(q);K=false;ae.setRange(E.range);return ae}));P.hooks.typeof.for(E).tap(ve,(E=>{addValueDependency($);const L=toCode(R,P,v.valueCacheVersions,$,Ke,Ve,null);const q=N?L:"typeof ("+L+")";const K=P.evaluate(q);if(!K.isString())return;return be(P,JSON.stringify(K.string)).bind(P)(E)}))};const applyObjectDefine=(E,R)=>{P.hooks.canRename.for(E).tap(ve,(()=>{addValueDependency(E);return true}));P.hooks.evaluateIdentifier.for(E).tap(ve,(v=>{addValueDependency(E);return(new ae).setTruthy().setSideEffects(false).setRange(v.range)}));P.hooks.evaluateTypeof.for(E).tap(ve,withValueDependency(E,ge("object")));P.hooks.expression.for(E).tap(ve,($=>{addValueDependency(E);let N=stringifyObj(R,P,v.valueCacheVersions,E,Ke,Ve,!P.isAsiPosition($.range[0]),P.destructuringAssignmentPropertiesFor($));if(P.scope.inShorthand){N=P.scope.inShorthand+":"+N}if(Qe.test(N)){return be(P,N,[L.require])($)}else if(Je.test(N)){return be(P,N,[L.requireScope])($)}else{return be(P,N)($)}}));P.hooks.typeof.for(E).tap(ve,withValueDependency(E,be(P,JSON.stringify("object"))))};walkDefinitions(E,"")};P.hooks.parser.for(R).tap(ve,handler);P.hooks.parser.for(N).tap(ve,handler);P.hooks.parser.for($).tap(ve,handler);const walkDefinitionsForValues=(E,P)=>{Object.keys(E).forEach((R=>{const $=E[R];const N=toCacheVersion($);const L=Ae+P+R;Ye.update("|"+P+R);const K=v.valueCacheVersions.get(L);if(K===undefined){v.valueCacheVersions.set(L,N)}else if(K!==N){const E=new q(`${ve}\nConflicting values for '${P+R}'`);E.details=`'${K}' !== '${N}'`;E.hideStack=true;v.warnings.push(E)}if($&&typeof $==="object"&&!($ instanceof RuntimeValue)&&!($ instanceof RegExp)){walkDefinitionsForValues($,P+R+".")}}))};walkDefinitionsForValues(E,"");v.valueCacheVersions.set(Ie,Ye.digest("hex").slice(0,8))}))}}v.exports=DefinePlugin},87238:function(v,E,P){"use strict";const{OriginalSource:R,RawSource:$}=P(51255);const N=P(72011);const{JAVASCRIPT_MODULE_TYPE_DYNAMIC:L}=P(96170);const q=P(92529);const K=P(88278);const ae=P(92090);const ge=P(41718);const be=new Set(["javascript"]);const xe=new Set([q.module,q.require]);class DelegatedModule extends N{constructor(v,E,P,R,$){super(L,null);this.sourceRequest=v;this.request=E.id;this.delegationType=P;this.userRequest=R;this.originalRequest=$;this.delegateData=E;this.delegatedSourceDependency=undefined}getSourceTypes(){return be}libIdent(v){return typeof this.originalRequest==="string"?this.originalRequest:this.originalRequest.libIdent(v)}identifier(){return`delegated ${JSON.stringify(this.request)} from ${this.sourceRequest}`}readableIdentifier(v){return`delegated ${this.userRequest} from ${this.sourceRequest}`}needBuild(v,E){return E(null,!this.buildMeta)}build(v,E,P,R,$){const N=this.delegateData;this.buildMeta={...N.buildMeta};this.buildInfo={};this.dependencies.length=0;this.delegatedSourceDependency=new K(this.sourceRequest);this.addDependency(this.delegatedSourceDependency);this.addDependency(new ae(N.exports||true,false));$()}codeGeneration({runtimeTemplate:v,moduleGraph:E,chunkGraph:P}){const N=this.dependencies[0];const L=E.getModule(N);let q;if(!L){q=v.throwMissingModuleErrorBlock({request:this.sourceRequest})}else{q=`module.exports = (${v.moduleExports({module:L,chunkGraph:P,request:N.request,runtimeRequirements:new Set})})`;switch(this.delegationType){case"require":q+=`(${JSON.stringify(this.request)})`;break;case"object":q+=`[${JSON.stringify(this.request)}]`;break}q+=";"}const K=new Map;if(this.useSourceMap||this.useSimpleSourceMap){K.set("javascript",new R(q,this.identifier()))}else{K.set("javascript",new $(q))}return{sources:K,runtimeRequirements:xe}}size(v){return 42}updateHash(v,E){v.update(this.delegationType);v.update(JSON.stringify(this.request));super.updateHash(v,E)}serialize(v){const{write:E}=v;E(this.sourceRequest);E(this.delegateData);E(this.delegationType);E(this.userRequest);E(this.originalRequest);super.serialize(v)}static deserialize(v){const{read:E}=v;const P=new DelegatedModule(E(),E(),E(),E(),E());P.deserialize(v);return P}updateCacheModule(v){super.updateCacheModule(v);const E=v;this.delegationType=E.delegationType;this.userRequest=E.userRequest;this.originalRequest=E.originalRequest;this.delegateData=E.delegateData}cleanupForCache(){super.cleanupForCache();this.delegateData=undefined}}ge(DelegatedModule,"webpack/lib/DelegatedModule");v.exports=DelegatedModule},95879:function(v,E,P){"use strict";const R=P(87238);class DelegatedModuleFactoryPlugin{constructor(v){this.options=v;v.type=v.type||"require";v.extensions=v.extensions||["",".js",".json",".wasm"]}apply(v){const E=this.options.scope;if(E){v.hooks.factorize.tapAsync("DelegatedModuleFactoryPlugin",((v,P)=>{const[$]=v.dependencies;const{request:N}=$;if(N&&N.startsWith(`${E}/`)){const v="."+N.slice(E.length);let $;if(v in this.options.content){$=this.options.content[v];return P(null,new R(this.options.source,$,this.options.type,v,N))}for(let E=0;E{const E=v.libIdent(this.options);if(E){if(E in this.options.content){const P=this.options.content[E];return new R(this.options.source,P,this.options.type,E,v)}}return v}))}}}v.exports=DelegatedModuleFactoryPlugin},66665:function(v,E,P){"use strict";const R=P(95879);const $=P(88278);class DelegatedPlugin{constructor(v){this.options=v}apply(v){v.hooks.compilation.tap("DelegatedPlugin",((v,{normalModuleFactory:E})=>{v.dependencyFactories.set($,E)}));v.hooks.compile.tap("DelegatedPlugin",(({normalModuleFactory:E})=>{new R({associatedObjectForCache:v.root,...this.options}).apply(E)}))}}v.exports=DelegatedPlugin},60890:function(v,E,P){"use strict";const R=P(41718);class DependenciesBlock{constructor(){this.dependencies=[];this.blocks=[];this.parent=undefined}getRootBlock(){let v=this;while(v.parent)v=v.parent;return v}addBlock(v){this.blocks.push(v);v.parent=this}addDependency(v){this.dependencies.push(v)}removeDependency(v){const E=this.dependencies.indexOf(v);if(E>=0){this.dependencies.splice(E,1)}}clearDependenciesAndBlocks(){this.dependencies.length=0;this.blocks.length=0}updateHash(v,E){for(const P of this.dependencies){P.updateHash(v,E)}for(const P of this.blocks){P.updateHash(v,E)}}serialize({write:v}){v(this.dependencies);v(this.blocks)}deserialize({read:v}){this.dependencies=v();this.blocks=v();for(const v of this.blocks){v.parent=this}}}R(DependenciesBlock,"webpack/lib/DependenciesBlock");v.exports=DependenciesBlock},38204:function(v,E,P){"use strict";const R=P(25689);const $=Symbol("transitive");const N=R((()=>{const v=P(35976);return new v("/* (ignored) */",`ignored`,`(ignored)`)}));class Dependency{constructor(){this._parentModule=undefined;this._parentDependenciesBlock=undefined;this._parentDependenciesBlockIndex=-1;this.weak=false;this.optional=false;this._locSL=0;this._locSC=0;this._locEL=0;this._locEC=0;this._locI=undefined;this._locN=undefined;this._loc=undefined}get type(){return"unknown"}get category(){return"unknown"}get loc(){if(this._loc!==undefined)return this._loc;const v={};if(this._locSL>0){v.start={line:this._locSL,column:this._locSC}}if(this._locEL>0){v.end={line:this._locEL,column:this._locEC}}if(this._locN!==undefined){v.name=this._locN}if(this._locI!==undefined){v.index=this._locI}return this._loc=v}set loc(v){if("start"in v&&typeof v.start==="object"){this._locSL=v.start.line||0;this._locSC=v.start.column||0}else{this._locSL=0;this._locSC=0}if("end"in v&&typeof v.end==="object"){this._locEL=v.end.line||0;this._locEC=v.end.column||0}else{this._locEL=0;this._locEC=0}if("index"in v){this._locI=v.index}else{this._locI=undefined}if("name"in v){this._locN=v.name}else{this._locN=undefined}this._loc=v}setLoc(v,E,P,R){this._locSL=v;this._locSC=E;this._locEL=P;this._locEC=R;this._locI=undefined;this._locN=undefined;this._loc=undefined}getContext(){return undefined}getResourceIdentifier(){return null}couldAffectReferencingModule(){return $}getReference(v){throw new Error("Dependency.getReference was removed in favor of Dependency.getReferencedExports, ModuleGraph.getModule and ModuleGraph.getConnection().active")}getReferencedExports(v,E){return Dependency.EXPORTS_OBJECT_REFERENCED}getCondition(v){return null}getExports(v){return undefined}getWarnings(v){return null}getErrors(v){return null}updateHash(v,E){}getNumberOfIdOccurrences(){return 1}getModuleEvaluationSideEffectsState(v){return true}createIgnoredModule(v){return N()}serialize({write:v}){v(this.weak);v(this.optional);v(this._locSL);v(this._locSC);v(this._locEL);v(this._locEC);v(this._locI);v(this._locN)}deserialize({read:v}){this.weak=v();this.optional=v();this._locSL=v();this._locSC=v();this._locEL=v();this._locEC=v();this._locI=v();this._locN=v()}}Dependency.NO_EXPORTS_REFERENCED=[];Dependency.EXPORTS_OBJECT_REFERENCED=[[]];Object.defineProperty(Dependency.prototype,"module",{get(){throw new Error("module property was removed from Dependency (use compilation.moduleGraph.getModule(dependency) instead)")},set(){throw new Error("module property was removed from Dependency (use compilation.moduleGraph.updateModule(dependency, module) instead)")}});Object.defineProperty(Dependency.prototype,"disconnect",{get(){throw new Error("disconnect was removed from Dependency (Dependency no longer carries graph specific information)")}});Dependency.TRANSITIVE=$;v.exports=Dependency},23131:function(v,E,P){"use strict";class DependencyTemplate{apply(v,E,R){const $=P(71432);throw new $}}v.exports=DependencyTemplate},73928:function(v,E,P){"use strict";const R=P(20932);class DependencyTemplates{constructor(v="md4"){this._map=new Map;this._hash="31d6cfe0d16ae931b73c59d7e0c089c0";this._hashFunction=v}get(v){return this._map.get(v)}set(v,E){this._map.set(v,E)}updateHash(v){const E=R(this._hashFunction);E.update(`${this._hash}${v}`);this._hash=E.digest("hex")}getHash(){return this._hash}clone(){const v=new DependencyTemplates(this._hashFunction);v._map=new Map(this._map);v._hash=this._hash;return v}}v.exports=DependencyTemplates},31325:function(v,E,P){"use strict";const R=P(38786);const $=P(19191);const N=P(99520);class DllEntryPlugin{constructor(v,E,P){this.context=v;this.entries=E;this.options=P}apply(v){v.hooks.compilation.tap("DllEntryPlugin",((v,{normalModuleFactory:E})=>{const P=new R;v.dependencyFactories.set($,P);v.dependencyFactories.set(N,E)}));v.hooks.make.tapAsync("DllEntryPlugin",((v,E)=>{v.addEntry(this.context,new $(this.entries.map(((v,E)=>{const P=new N(v);P.loc={name:this.options.name,index:E};return P})),this.options.name),this.options,(v=>{if(v)return E(v);E()}))}))}}v.exports=DllEntryPlugin},63744:function(v,E,P){"use strict";const{RawSource:R}=P(51255);const $=P(72011);const{JAVASCRIPT_MODULE_TYPE_DYNAMIC:N}=P(96170);const L=P(92529);const q=P(41718);const K=new Set(["javascript"]);const ae=new Set([L.require,L.module]);class DllModule extends ${constructor(v,E,P){super(N,v);this.dependencies=E;this.name=P}getSourceTypes(){return K}identifier(){return`dll ${this.name}`}readableIdentifier(v){return`dll ${this.name}`}build(v,E,P,R,$){this.buildMeta={};this.buildInfo={};return $()}codeGeneration(v){const E=new Map;E.set("javascript",new R(`module.exports = ${L.require};`));return{sources:E,runtimeRequirements:ae}}needBuild(v,E){return E(null,!this.buildMeta)}size(v){return 12}updateHash(v,E){v.update(`dll module${this.name||""}`);super.updateHash(v,E)}serialize(v){v.write(this.name);super.serialize(v)}deserialize(v){this.name=v.read();super.deserialize(v)}updateCacheModule(v){super.updateCacheModule(v);this.dependencies=v.dependencies}cleanupForCache(){super.cleanupForCache();this.dependencies=undefined}}q(DllModule,"webpack/lib/DllModule");v.exports=DllModule},38786:function(v,E,P){"use strict";const R=P(63744);const $=P(22362);class DllModuleFactory extends ${constructor(){super();this.hooks=Object.freeze({})}create(v,E){const P=v.dependencies[0];E(null,{module:new R(v.context,P.dependencies,P.name)})}}v.exports=DllModuleFactory},78859:function(v,E,P){"use strict";const R=P(31325);const $=P(94147);const N=P(63855);const L=P(21596);const q=L(P(92905),(()=>P(47080)),{name:"Dll Plugin",baseDataPath:"options"});class DllPlugin{constructor(v){q(v);this.options={...v,entryOnly:v.entryOnly!==false}}apply(v){v.hooks.entryOption.tap("DllPlugin",((E,P)=>{if(typeof P!=="function"){for(const $ of Object.keys(P)){const N={name:$,filename:P.filename};new R(E,P[$].import,N).apply(v)}}else{throw new Error("DllPlugin doesn't support dynamic entry (function) yet")}return true}));new N(this.options).apply(v);if(!this.options.entryOnly){new $("DllPlugin").apply(v)}}}v.exports=DllPlugin},16191:function(v,E,P){"use strict";const R=P(54650);const $=P(95879);const N=P(44345);const L=P(16413);const q=P(88278);const K=P(21596);const ae=P(51984).makePathsRelative;const ge=K(P(22206),(()=>P(15557)),{name:"Dll Reference Plugin",baseDataPath:"options"});class DllReferencePlugin{constructor(v){ge(v);this.options=v;this._compilationData=new WeakMap}apply(v){v.hooks.compilation.tap("DllReferencePlugin",((v,{normalModuleFactory:E})=>{v.dependencyFactories.set(q,E)}));v.hooks.beforeCompile.tapAsync("DllReferencePlugin",((E,P)=>{if("manifest"in this.options){const $=this.options.manifest;if(typeof $==="string"){v.inputFileSystem.readFile($,((N,L)=>{if(N)return P(N);const q={path:$,data:undefined,error:undefined};try{q.data=R(L.toString("utf-8"))}catch(E){const P=ae(v.options.context,$,v.root);q.error=new DllManifestError(P,E.message)}this._compilationData.set(E,q);return P()}));return}}return P()}));v.hooks.compile.tap("DllReferencePlugin",(E=>{let P=this.options.name;let R=this.options.sourceType;let L="content"in this.options?this.options.content:undefined;if("manifest"in this.options){let v=this.options.manifest;let $;if(typeof v==="string"){const v=this._compilationData.get(E);if(v.error){return}$=v.data}else{$=v}if($){if(!P)P=$.name;if(!R)R=$.type;if(!L)L=$.content}}const q={};const K="dll-reference "+P;q[K]=P;const ae=E.normalModuleFactory;new N(R||"var",q).apply(ae);new $({source:K,type:this.options.type,scope:this.options.scope,context:this.options.context||v.options.context,content:L,extensions:this.options.extensions,associatedObjectForCache:v.root}).apply(ae)}));v.hooks.compilation.tap("DllReferencePlugin",((v,E)=>{if("manifest"in this.options){let P=this.options.manifest;if(typeof P==="string"){const R=this._compilationData.get(E);if(R.error){v.errors.push(R.error)}v.fileDependencies.add(P)}}}))}}class DllManifestError extends L{constructor(v,E){super();this.name="DllManifestError";this.message=`Dll manifest ${v}\n${E}`}}v.exports=DllReferencePlugin},57519:function(v,E,P){"use strict";const R=P(61886);const $=P(80871);const N=P(99520);class DynamicEntryPlugin{constructor(v,E){this.context=v;this.entry=E}apply(v){v.hooks.compilation.tap("DynamicEntryPlugin",((v,{normalModuleFactory:E})=>{v.dependencyFactories.set(N,E)}));v.hooks.make.tapPromise("DynamicEntryPlugin",((E,P)=>Promise.resolve(this.entry()).then((P=>{const N=[];for(const L of Object.keys(P)){const q=P[L];const K=R.entryDescriptionToOptions(v,L,q);for(const v of q.import){N.push(new Promise(((P,R)=>{E.addEntry(this.context,$.createDependency(v,K),K,(v=>{if(v)return R(v);P()}))})))}}return Promise.all(N)})).then((v=>{}))))}}v.exports=DynamicEntryPlugin},61886:function(v,E,P){"use strict";class EntryOptionPlugin{apply(v){v.hooks.entryOption.tap("EntryOptionPlugin",((E,P)=>{EntryOptionPlugin.applyEntryOption(v,E,P);return true}))}static applyEntryOption(v,E,R){if(typeof R==="function"){const $=P(57519);new $(E,R).apply(v)}else{const $=P(80871);for(const P of Object.keys(R)){const N=R[P];const L=EntryOptionPlugin.entryDescriptionToOptions(v,P,N);for(const P of N.import){new $(E,P,L).apply(v)}}}}static entryDescriptionToOptions(v,E,R){const $={name:E,filename:R.filename,runtime:R.runtime,layer:R.layer,dependOn:R.dependOn,baseUri:R.baseUri,publicPath:R.publicPath,chunkLoading:R.chunkLoading,asyncChunks:R.asyncChunks,wasmLoading:R.wasmLoading,library:R.library};if(R.layer!==undefined&&!v.options.experiments.layers){throw new Error("'entryOptions.layer' is only allowed when 'experiments.layers' is enabled")}if(R.chunkLoading){const E=P(31371);E.checkEnabled(v,R.chunkLoading)}if(R.wasmLoading){const E=P(58878);E.checkEnabled(v,R.wasmLoading)}if(R.library){const E=P(61201);E.checkEnabled(v,R.library.type)}return $}}v.exports=EntryOptionPlugin},80871:function(v,E,P){"use strict";const R=P(99520);class EntryPlugin{constructor(v,E,P){this.context=v;this.entry=E;this.options=P||""}apply(v){v.hooks.compilation.tap("EntryPlugin",((v,{normalModuleFactory:E})=>{v.dependencyFactories.set(R,E)}));const{entry:E,options:P,context:$}=this;const N=EntryPlugin.createDependency(E,P);v.hooks.make.tapAsync("EntryPlugin",((v,E)=>{v.addEntry($,N,P,(v=>{E(v)}))}))}static createDependency(v,E){const P=new R(v);P.loc={name:typeof E==="object"?E.name:E};return P}}v.exports=EntryPlugin},30116:function(v,E,P){"use strict";const R=P(1353);class Entrypoint extends R{constructor(v,E=true){if(typeof v==="string"){v={name:v}}super({name:v.name});this.options=v;this._runtimeChunk=undefined;this._entrypointChunk=undefined;this._initial=E}isInitial(){return this._initial}setRuntimeChunk(v){this._runtimeChunk=v}getRuntimeChunk(){if(this._runtimeChunk)return this._runtimeChunk;for(const v of this.parentsIterable){if(v instanceof Entrypoint)return v.getRuntimeChunk()}return null}setEntrypointChunk(v){this._entrypointChunk=v}getEntrypointChunk(){return this._entrypointChunk}replaceChunk(v,E){if(this._runtimeChunk===v)this._runtimeChunk=E;if(this._entrypointChunk===v)this._entrypointChunk=E;return super.replaceChunk(v,E)}}v.exports=Entrypoint},66866:function(v,E,P){"use strict";const R=P(16413);const $=P(41718);class EnvironmentNotSupportAsyncWarning extends R{constructor(v,E){const P=`The generated code contains 'async/await' because this module is using "${E}".\nHowever, your target environment does not appear to support 'async/await'.\nAs a result, the code may not run as expected or may cause runtime errors.`;super(P);this.name="EnvironmentNotSupportAsyncWarning";this.module=v}static check(v,E,P){if(!E.supportsAsyncFunction()){v.addWarning(new EnvironmentNotSupportAsyncWarning(v,P))}}}$(EnvironmentNotSupportAsyncWarning,"webpack/lib/EnvironmentNotSupportAsyncWarning");v.exports=EnvironmentNotSupportAsyncWarning},48209:function(v,E,P){"use strict";const R=P(54892);const $=P(16413);class EnvironmentPlugin{constructor(...v){if(v.length===1&&Array.isArray(v[0])){this.keys=v[0];this.defaultValues={}}else if(v.length===1&&v[0]&&typeof v[0]==="object"){this.keys=Object.keys(v[0]);this.defaultValues=v[0]}else{this.keys=v;this.defaultValues={}}}apply(v){const E={};for(const P of this.keys){const R=process.env[P]!==undefined?process.env[P]:this.defaultValues[P];if(R===undefined){v.hooks.thisCompilation.tap("EnvironmentPlugin",(v=>{const E=new $(`EnvironmentPlugin - ${P} environment variable is undefined.\n\n`+"You can pass an object with default values to suppress this warning.\n"+"See https://webpack.js.org/plugins/environment-plugin for example.");E.name="EnvVariableNotDefinedError";v.errors.push(E)}))}E[`process.env.${P}`]=R===undefined?"undefined":JSON.stringify(R)}new R(E).apply(v)}}v.exports=EnvironmentPlugin},56555:function(v,E){"use strict";const P="LOADER_EXECUTION";const R="WEBPACK_OPTIONS";const cutOffByFlag=(v,E)=>{const P=v.split("\n");for(let v=0;vcutOffByFlag(v,P);const cutOffWebpackOptions=v=>cutOffByFlag(v,R);const cutOffMultilineMessage=(v,E)=>{const P=v.split("\n");const R=E.split("\n");const $=[];P.forEach(((v,E)=>{if(!v.includes(R[E]))$.push(v)}));return $.join("\n")};const cutOffMessage=(v,E)=>{const P=v.indexOf("\n");if(P===-1){return v===E?"":v}else{const R=v.slice(0,P);return R===E?v.slice(P+1):v}};const cleanUp=(v,E)=>{v=cutOffLoaderExecution(v);v=cutOffMessage(v,E);return v};const cleanUpWebpackOptions=(v,E)=>{v=cutOffWebpackOptions(v);v=cutOffMultilineMessage(v,E);return v};E.cutOffByFlag=cutOffByFlag;E.cutOffLoaderExecution=cutOffLoaderExecution;E.cutOffWebpackOptions=cutOffWebpackOptions;E.cutOffMultilineMessage=cutOffMultilineMessage;E.cutOffMessage=cutOffMessage;E.cleanUp=cleanUp;E.cleanUpWebpackOptions=cleanUpWebpackOptions},15742:function(v,E,P){"use strict";const{ConcatSource:R,RawSource:$}=P(51255);const N=P(74805);const L=P(15321);const q=P(92529);const K=P(42453);const ae=new WeakMap;const ge=new $(`/*\n * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").\n * This devtool is neither made for production nor for readable output files.\n * It uses "eval()" calls to create a separate source file in the browser devtools.\n * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)\n * or disable the default devtool with "devtool: false".\n * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).\n */\n`);class EvalDevToolModulePlugin{constructor(v){this.namespace=v.namespace||"";this.sourceUrlComment=v.sourceUrlComment||"\n//# sourceURL=[url]";this.moduleFilenameTemplate=v.moduleFilenameTemplate||"webpack://[namespace]/[resourcePath]?[loaders]"}apply(v){v.hooks.compilation.tap("EvalDevToolModulePlugin",(v=>{const E=K.getCompilationHooks(v);E.renderModuleContent.tap("EvalDevToolModulePlugin",((E,P,{runtimeTemplate:R,chunkGraph:K})=>{const ge=ae.get(E);if(ge!==undefined)return ge;if(P instanceof N){ae.set(E,E);return E}const be=E.source();const xe=L.createFilename(P,{moduleFilenameTemplate:this.moduleFilenameTemplate,namespace:this.namespace},{requestShortener:R.requestShortener,chunkGraph:K,hashFunction:v.outputOptions.hashFunction});const ve="\n"+this.sourceUrlComment.replace(/\[url\]/g,encodeURI(xe).replace(/%2F/g,"/").replace(/%20/g,"_").replace(/%5E/g,"^").replace(/%5C/g,"\\").replace(/^\//,""));const Ae=new $(`eval(${v.outputOptions.trustedTypes?`${q.createScript}(${JSON.stringify(be+ve)})`:JSON.stringify(be+ve)});`);ae.set(E,Ae);return Ae}));E.inlineInRuntimeBailout.tap("EvalDevToolModulePlugin",(()=>"the eval devtool is used."));E.render.tap("EvalDevToolModulePlugin",(v=>new R(ge,v)));E.chunkHash.tap("EvalDevToolModulePlugin",((v,E)=>{E.update("EvalDevToolModulePlugin");E.update("2")}));if(v.outputOptions.trustedTypes){v.hooks.additionalModuleRuntimeRequirements.tap("EvalDevToolModulePlugin",((v,E,P)=>{E.add(q.createScript)}))}}))}}v.exports=EvalDevToolModulePlugin},79487:function(v,E,P){"use strict";const{ConcatSource:R,RawSource:$}=P(51255);const N=P(15321);const L=P(80346);const q=P(92529);const K=P(55292);const ae=P(42453);const ge=P(98557);const{makePathsAbsolute:be}=P(51984);const xe=new WeakMap;const ve=new $(`/*\n * ATTENTION: An "eval-source-map" devtool has been used.\n * This devtool is neither made for production nor for readable output files.\n * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.\n * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)\n * or disable the default devtool with "devtool: false".\n * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).\n */\n`);class EvalSourceMapDevToolPlugin{constructor(v){let E;if(typeof v==="string"){E={append:v}}else{E=v}this.sourceMapComment=E.append&&typeof E.append!=="function"?E.append:"//# sourceURL=[module]\n//# sourceMappingURL=[url]";this.moduleFilenameTemplate=E.moduleFilenameTemplate||"webpack://[namespace]/[resource-path]?[hash]";this.namespace=E.namespace||"";this.options=E}apply(v){const E=this.options;v.hooks.compilation.tap("EvalSourceMapDevToolPlugin",(P=>{const Ae=ae.getCompilationHooks(P);new K(E).apply(P);const Ie=N.matchObject.bind(N,E);Ae.renderModuleContent.tap("EvalSourceMapDevToolPlugin",((R,K,{runtimeTemplate:ae,chunkGraph:ve})=>{const Ae=xe.get(R);if(Ae!==undefined){return Ae}const result=v=>{xe.set(R,v);return v};if(K instanceof L){const v=K;if(!Ie(v.resource)){return result(R)}}else if(K instanceof ge){const v=K;if(v.rootModule instanceof L){const E=v.rootModule;if(!Ie(E.resource)){return result(R)}}else{return result(R)}}else{return result(R)}let He;let Qe;if(R.sourceAndMap){const v=R.sourceAndMap(E);He=v.map;Qe=v.source}else{He=R.map(E);Qe=R.source()}if(!He){return result(R)}He={...He};const Je=v.options.context;const Ve=v.root;const Ke=He.sources.map((v=>{if(!v.startsWith("webpack://"))return v;v=be(Je,v.slice(10),Ve);const E=P.findModule(v);return E||v}));let Ye=Ke.map((v=>N.createFilename(v,{moduleFilenameTemplate:this.moduleFilenameTemplate,namespace:this.namespace},{requestShortener:ae.requestShortener,chunkGraph:ve,hashFunction:P.outputOptions.hashFunction})));Ye=N.replaceDuplicates(Ye,((v,E,P)=>{for(let E=0;E"the eval-source-map devtool is used."));Ae.render.tap("EvalSourceMapDevToolPlugin",(v=>new R(ve,v)));Ae.chunkHash.tap("EvalSourceMapDevToolPlugin",((v,E)=>{E.update("EvalSourceMapDevToolPlugin");E.update("2")}));if(P.outputOptions.trustedTypes){P.hooks.additionalModuleRuntimeRequirements.tap("EvalSourceMapDevToolPlugin",((v,E,P)=>{E.add(q.createScript)}))}}))}}v.exports=EvalSourceMapDevToolPlugin},8435:function(v,E,P){"use strict";const{equals:R}=P(30806);const $=P(68001);const N=P(41718);const{forEachRuntime:L}=P(65153);const q=Object.freeze({Unused:0,OnlyPropertiesUsed:1,NoInfo:2,Unknown:3,Used:4});const RETURNS_TRUE=()=>true;const K=Symbol("circular target");class RestoreProvidedData{constructor(v,E,P,R){this.exports=v;this.otherProvided=E;this.otherCanMangleProvide=P;this.otherTerminalBinding=R}serialize({write:v}){v(this.exports);v(this.otherProvided);v(this.otherCanMangleProvide);v(this.otherTerminalBinding)}static deserialize({read:v}){return new RestoreProvidedData(v(),v(),v(),v())}}N(RestoreProvidedData,"webpack/lib/ModuleGraph","RestoreProvidedData");class ExportsInfo{constructor(){this._exports=new Map;this._otherExportsInfo=new ExportInfo(null);this._sideEffectsOnlyInfo=new ExportInfo("*side effects only*");this._exportsAreOrdered=false;this._redirectTo=undefined}get ownedExports(){return this._exports.values()}get orderedOwnedExports(){if(!this._exportsAreOrdered){this._sortExports()}return this._exports.values()}get exports(){if(this._redirectTo!==undefined){const v=new Map(this._redirectTo._exports);for(const[E,P]of this._exports){v.set(E,P)}return v.values()}return this._exports.values()}get orderedExports(){if(!this._exportsAreOrdered){this._sortExports()}if(this._redirectTo!==undefined){const v=new Map(Array.from(this._redirectTo.orderedExports,(v=>[v.name,v])));for(const[E,P]of this._exports){v.set(E,P)}this._sortExportsMap(v);return v.values()}return this._exports.values()}get otherExportsInfo(){if(this._redirectTo!==undefined)return this._redirectTo.otherExportsInfo;return this._otherExportsInfo}_sortExportsMap(v){if(v.size>1){const E=[];for(const P of v.values()){E.push(P.name)}E.sort();let P=0;for(const R of v.values()){const v=E[P];if(R.name!==v)break;P++}for(;P0){const E=this.getReadOnlyExportInfo(v[0]);if(!E.exportsInfo)return undefined;return E.exportsInfo.getNestedExportsInfo(v.slice(1))}return this}setUnknownExportsProvided(v,E,P,R,$){let N=false;if(E){for(const v of E){this.getExportInfo(v)}}for(const $ of this._exports.values()){if(!v&&$.canMangleProvide!==false){$.canMangleProvide=false;N=true}if(E&&E.has($.name))continue;if($.provided!==true&&$.provided!==null){$.provided=null;N=true}if(P){$.setTarget(P,R,[$.name],-1)}}if(this._redirectTo!==undefined){if(this._redirectTo.setUnknownExportsProvided(v,E,P,R,$)){N=true}}else{if(this._otherExportsInfo.provided!==true&&this._otherExportsInfo.provided!==null){this._otherExportsInfo.provided=null;N=true}if(!v&&this._otherExportsInfo.canMangleProvide!==false){this._otherExportsInfo.canMangleProvide=false;N=true}if(P){this._otherExportsInfo.setTarget(P,R,undefined,$)}}return N}setUsedInUnknownWay(v){let E=false;for(const P of this._exports.values()){if(P.setUsedInUnknownWay(v)){E=true}}if(this._redirectTo!==undefined){if(this._redirectTo.setUsedInUnknownWay(v)){E=true}}else{if(this._otherExportsInfo.setUsedConditionally((v=>vv===q.Unused),q.Used,v)}isUsed(v){if(this._redirectTo!==undefined){if(this._redirectTo.isUsed(v)){return true}}else{if(this._otherExportsInfo.getUsed(v)!==q.Unused){return true}}for(const E of this._exports.values()){if(E.getUsed(v)!==q.Unused){return true}}return false}isModuleUsed(v){if(this.isUsed(v))return true;if(this._sideEffectsOnlyInfo.getUsed(v)!==q.Unused)return true;return false}getUsedExports(v){if(!this._redirectTo!==undefined){switch(this._otherExportsInfo.getUsed(v)){case q.NoInfo:return null;case q.Unknown:case q.OnlyPropertiesUsed:case q.Used:return true}}const E=[];if(!this._exportsAreOrdered)this._sortExports();for(const P of this._exports.values()){switch(P.getUsed(v)){case q.NoInfo:return null;case q.Unknown:return true;case q.OnlyPropertiesUsed:case q.Used:E.push(P.name)}}if(this._redirectTo!==undefined){const P=this._redirectTo.getUsedExports(v);if(P===null)return null;if(P===true)return true;if(P!==false){for(const v of P){E.push(v)}}}if(E.length===0){switch(this._sideEffectsOnlyInfo.getUsed(v)){case q.NoInfo:return null;case q.Unused:return false}}return new $(E)}getProvidedExports(){if(!this._redirectTo!==undefined){switch(this._otherExportsInfo.provided){case undefined:return null;case null:return true;case true:return true}}const v=[];if(!this._exportsAreOrdered)this._sortExports();for(const E of this._exports.values()){switch(E.provided){case undefined:return null;case null:return true;case true:v.push(E.name)}}if(this._redirectTo!==undefined){const E=this._redirectTo.getProvidedExports();if(E===null)return null;if(E===true)return true;for(const P of E){if(!v.includes(P)){v.push(P)}}}return v}getRelevantExports(v){const E=[];for(const P of this._exports.values()){const R=P.getUsed(v);if(R===q.Unused)continue;if(P.provided===false)continue;E.push(P)}if(this._redirectTo!==undefined){for(const P of this._redirectTo.getRelevantExports(v)){if(!this._exports.has(P.name))E.push(P)}}if(this._otherExportsInfo.provided!==false&&this._otherExportsInfo.getUsed(v)!==q.Unused){E.push(this._otherExportsInfo)}return E}isExportProvided(v){if(Array.isArray(v)){const E=this.getReadOnlyExportInfo(v[0]);if(E.exportsInfo&&v.length>1){return E.exportsInfo.isExportProvided(v.slice(1))}return E.provided?v.length===1||undefined:E.provided}const E=this.getReadOnlyExportInfo(v);return E.provided}getUsageKey(v){const E=[];if(this._redirectTo!==undefined){E.push(this._redirectTo.getUsageKey(v))}else{E.push(this._otherExportsInfo.getUsed(v))}E.push(this._sideEffectsOnlyInfo.getUsed(v));for(const P of this.orderedOwnedExports){E.push(P.getUsed(v))}return E.join("|")}isEquallyUsed(v,E){if(this._redirectTo!==undefined){if(!this._redirectTo.isEquallyUsed(v,E))return false}else{if(this._otherExportsInfo.getUsed(v)!==this._otherExportsInfo.getUsed(E)){return false}}if(this._sideEffectsOnlyInfo.getUsed(v)!==this._sideEffectsOnlyInfo.getUsed(E)){return false}for(const P of this.ownedExports){if(P.getUsed(v)!==P.getUsed(E))return false}return true}getUsed(v,E){if(Array.isArray(v)){if(v.length===0)return this.otherExportsInfo.getUsed(E);let P=this.getReadOnlyExportInfo(v[0]);if(P.exportsInfo&&v.length>1){return P.exportsInfo.getUsed(v.slice(1),E)}return P.getUsed(E)}let P=this.getReadOnlyExportInfo(v);return P.getUsed(E)}getUsedName(v,E){if(Array.isArray(v)){if(v.length===0){if(!this.isUsed(E))return false;return v}let P=this.getReadOnlyExportInfo(v[0]);const R=P.getUsedName(v[0],E);if(R===false)return false;const $=R===v[0]&&v.length===1?v:[R];if(v.length===1){return $}if(P.exportsInfo&&P.getUsed(E)===q.OnlyPropertiesUsed){const R=P.exportsInfo.getUsedName(v.slice(1),E);if(!R)return false;return $.concat(R)}else{return $.concat(v.slice(1))}}else{let P=this.getReadOnlyExportInfo(v);const R=P.getUsedName(v,E);return R}}updateHash(v,E){this._updateHash(v,E,new Set)}_updateHash(v,E,P){const R=new Set(P);R.add(this);for(const P of this.orderedExports){if(P.hasInfo(this._otherExportsInfo,E)){P._updateHash(v,E,R)}}this._sideEffectsOnlyInfo._updateHash(v,E,R);this._otherExportsInfo._updateHash(v,E,R);if(this._redirectTo!==undefined){this._redirectTo._updateHash(v,E,R)}}getRestoreProvidedData(){const v=this._otherExportsInfo.provided;const E=this._otherExportsInfo.canMangleProvide;const P=this._otherExportsInfo.terminalBinding;const R=[];for(const $ of this.orderedExports){if($.provided!==v||$.canMangleProvide!==E||$.terminalBinding!==P||$.exportsInfoOwned){R.push({name:$.name,provided:$.provided,canMangleProvide:$.canMangleProvide,terminalBinding:$.terminalBinding,exportsInfo:$.exportsInfoOwned?$.exportsInfo.getRestoreProvidedData():undefined})}}return new RestoreProvidedData(R,v,E,P)}restoreProvided({otherProvided:v,otherCanMangleProvide:E,otherTerminalBinding:P,exports:R}){let $=true;for(const R of this._exports.values()){$=false;R.provided=v;R.canMangleProvide=E;R.terminalBinding=P}this._otherExportsInfo.provided=v;this._otherExportsInfo.canMangleProvide=E;this._otherExportsInfo.terminalBinding=P;for(const v of R){const E=this.getExportInfo(v.name);E.provided=v.provided;E.canMangleProvide=v.canMangleProvide;E.terminalBinding=v.terminalBinding;if(v.exportsInfo){const P=E.createNestedExportsInfo();P.restoreProvided(v.exportsInfo)}}if($)this._exportsAreOrdered=true}}class ExportInfo{constructor(v,E){this.name=v;this._usedName=E?E._usedName:null;this._globalUsed=E?E._globalUsed:undefined;this._usedInRuntime=E&&E._usedInRuntime?new Map(E._usedInRuntime):undefined;this._hasUseInRuntimeInfo=E?E._hasUseInRuntimeInfo:false;this.provided=E?E.provided:undefined;this.terminalBinding=E?E.terminalBinding:false;this.canMangleProvide=E?E.canMangleProvide:undefined;this.canMangleUse=E?E.canMangleUse:undefined;this.exportsInfoOwned=false;this.exportsInfo=undefined;this._target=undefined;if(E&&E._target){this._target=new Map;for(const[P,R]of E._target){this._target.set(P,{connection:R.connection,export:R.export||[v],priority:R.priority})}}this._maxTarget=undefined}get used(){throw new Error("REMOVED")}get usedName(){throw new Error("REMOVED")}set used(v){throw new Error("REMOVED")}set usedName(v){throw new Error("REMOVED")}get canMangle(){switch(this.canMangleProvide){case undefined:return this.canMangleUse===false?false:undefined;case false:return false;case true:switch(this.canMangleUse){case undefined:return undefined;case false:return false;case true:return true}}throw new Error(`Unexpected flags for canMangle ${this.canMangleProvide} ${this.canMangleUse}`)}setUsedInUnknownWay(v){let E=false;if(this.setUsedConditionally((v=>vthis._usedInRuntime.set(v,E)));return true}}else{let R=false;L(P,(P=>{let $=this._usedInRuntime.get(P);if($===undefined)$=q.Unused;if(E!==$&&v($)){if(E===q.Unused){this._usedInRuntime.delete(P)}else{this._usedInRuntime.set(P,E)}R=true}}));if(R){if(this._usedInRuntime.size===0)this._usedInRuntime=undefined;return true}}return false}setUsed(v,E){if(E===undefined){if(this._globalUsed!==v){this._globalUsed=v;return true}}else if(this._usedInRuntime===undefined){if(v!==q.Unused){this._usedInRuntime=new Map;L(E,(E=>this._usedInRuntime.set(E,v)));return true}}else{let P=false;L(E,(E=>{let R=this._usedInRuntime.get(E);if(R===undefined)R=q.Unused;if(v!==R){if(v===q.Unused){this._usedInRuntime.delete(E)}else{this._usedInRuntime.set(E,v)}P=true}}));if(P){if(this._usedInRuntime.size===0)this._usedInRuntime=undefined;return true}}return false}unsetTarget(v){if(!this._target)return false;if(this._target.delete(v)){this._maxTarget=undefined;return true}return false}setTarget(v,E,P,$=0){if(P)P=[...P];if(!this._target){this._target=new Map;this._target.set(v,{connection:E,export:P,priority:$});return true}const N=this._target.get(v);if(!N){if(N===null&&!E)return false;this._target.set(v,{connection:E,export:P,priority:$});this._maxTarget=undefined;return true}if(N.connection!==E||N.priority!==$||(P?!N.export||!R(N.export,P):N.export)){N.connection=E;N.export=P;N.priority=$;this._maxTarget=undefined;return true}return false}getUsed(v){if(!this._hasUseInRuntimeInfo)return q.NoInfo;if(this._globalUsed!==undefined)return this._globalUsed;if(this._usedInRuntime===undefined){return q.Unused}else if(typeof v==="string"){const E=this._usedInRuntime.get(v);return E===undefined?q.Unused:E}else if(v===undefined){let v=q.Unused;for(const E of this._usedInRuntime.values()){if(E===q.Used){return q.Used}if(v!this._usedInRuntime.has(v)))){return false}}}}if(this._usedName!==null)return this._usedName;return this.name||v}hasUsedName(){return this._usedName!==null}setUsedName(v){this._usedName=v}getTerminalBinding(v,E=RETURNS_TRUE){if(this.terminalBinding)return this;const P=this.getTarget(v,E);if(!P)return undefined;const R=v.getExportsInfo(P.module);if(!P.export)return R;return R.getReadOnlyExportInfoRecursive(P.export)}isReexport(){return!this.terminalBinding&&this._target&&this._target.size>0}_getMaxTarget(){if(this._maxTarget!==undefined)return this._maxTarget;if(this._target.size<=1)return this._maxTarget=this._target;let v=-Infinity;let E=Infinity;for(const{priority:P}of this._target.values()){if(vP)E=P}if(v===E)return this._maxTarget=this._target;const P=new Map;for(const[E,R]of this._target){if(v===R.priority){P.set(E,R)}}this._maxTarget=P;return P}findTarget(v,E){return this._findTarget(v,E,new Set)}_findTarget(v,E,P){if(!this._target||this._target.size===0)return undefined;let R=this._getMaxTarget().values().next().value;if(!R)return undefined;let $={module:R.connection.module,export:R.export};for(;;){if(E($.module))return $;const R=v.getExportsInfo($.module);const N=R.getExportInfo($.export[0]);if(P.has(N))return null;const L=N._findTarget(v,E,P);if(!L)return false;if($.export.length===1){$=L}else{$={module:L.module,export:L.export?L.export.concat($.export.slice(1)):$.export.slice(1)}}}}getTarget(v,E=RETURNS_TRUE){const P=this._getTarget(v,E,undefined);if(P===K)return undefined;return P}_getTarget(v,E,P){const resolveTarget=(P,R)=>{if(!P)return null;if(!P.export){return{module:P.connection.module,connection:P.connection,export:undefined}}let $={module:P.connection.module,connection:P.connection,export:P.export};if(!E($))return $;let N=false;for(;;){const P=v.getExportsInfo($.module);const L=P.getExportInfo($.export[0]);if(!L)return $;if(R.has(L))return K;const q=L._getTarget(v,E,R);if(q===K)return K;if(!q)return $;if($.export.length===1){$=q;if(!$.export)return $}else{$={module:q.module,connection:q.connection,export:q.export?q.export.concat($.export.slice(1)):$.export.slice(1)}}if(!E($))return $;if(!N){R=new Set(R);N=true}R.add(L)}};if(!this._target||this._target.size===0)return undefined;if(P&&P.has(this))return K;const $=new Set(P);$.add(this);const N=this._getMaxTarget().values();const L=resolveTarget(N.next().value,$);if(L===K)return K;if(L===null)return undefined;let q=N.next();while(!q.done){const v=resolveTarget(q.value,$);if(v===K)return K;if(v===null)return undefined;if(v.module!==L.module)return undefined;if(!v.export!==!L.export)return undefined;if(L.export&&!R(v.export,L.export))return undefined;q=N.next()}return L}moveTarget(v,E,P){const R=this._getTarget(v,E,undefined);if(R===K)return undefined;if(!R)return undefined;const $=this._getMaxTarget().values().next().value;if($.connection===R.connection&&$.export===R.export){return undefined}this._target.clear();this._target.set(undefined,{connection:P?P(R):R.connection,export:R.export,priority:0});return R}createNestedExportsInfo(){if(this.exportsInfoOwned)return this.exportsInfo;this.exportsInfoOwned=true;const v=this.exportsInfo;this.exportsInfo=new ExportsInfo;this.exportsInfo.setHasProvideInfo();if(v){this.exportsInfo.setRedirectNamedTo(v)}return this.exportsInfo}getNestedExportsInfo(){return this.exportsInfo}hasInfo(v,E){return this._usedName&&this._usedName!==this.name||this.provided||this.terminalBinding||this.getUsed(E)!==v.getUsed(E)}updateHash(v,E){this._updateHash(v,E,new Set)}_updateHash(v,E,P){v.update(`${this._usedName||this.name}${this.getUsed(E)}${this.provided}${this.terminalBinding}`);if(this.exportsInfo&&!P.has(this.exportsInfo)){this.exportsInfo._updateHash(v,E,P)}}getUsedInfo(){if(this._globalUsed!==undefined){switch(this._globalUsed){case q.Unused:return"unused";case q.NoInfo:return"no usage info";case q.Unknown:return"maybe used (runtime-defined)";case q.Used:return"used";case q.OnlyPropertiesUsed:return"only properties used"}}else if(this._usedInRuntime!==undefined){const v=new Map;for(const[E,P]of this._usedInRuntime){const R=v.get(P);if(R!==undefined)R.push(E);else v.set(P,[E])}const E=Array.from(v,(([v,E])=>{switch(v){case q.NoInfo:return`no usage info in ${E.join(", ")}`;case q.Unknown:return`maybe used in ${E.join(", ")} (runtime-defined)`;case q.Used:return`used in ${E.join(", ")}`;case q.OnlyPropertiesUsed:return`only properties used in ${E.join(", ")}`}}));if(E.length>0){return E.join("; ")}}return this._hasUseInRuntimeInfo?"unused":"no usage info"}getProvidedInfo(){switch(this.provided){case undefined:return"no provided info";case null:return"maybe provided (runtime-defined)";case true:return"provided";case false:return"not provided"}}getRenameInfo(){if(this._usedName!==null&&this._usedName!==this.name){return`renamed to ${JSON.stringify(this._usedName).slice(1,-1)}`}switch(this.canMangleProvide){case undefined:switch(this.canMangleUse){case undefined:return"missing provision and use info prevents renaming";case false:return"usage prevents renaming (no provision info)";case true:return"missing provision info prevents renaming"}break;case true:switch(this.canMangleUse){case undefined:return"missing usage info prevents renaming";case false:return"usage prevents renaming";case true:return"could be renamed"}break;case false:switch(this.canMangleUse){case undefined:return"provision prevents renaming (no use info)";case false:return"usage and provision prevents renaming";case true:return"provision prevents renaming"}break}throw new Error(`Unexpected flags for getRenameInfo ${this.canMangleProvide} ${this.canMangleUse}`)}}v.exports=ExportsInfo;v.exports.ExportInfo=ExportInfo;v.exports.UsageState=q},69864:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$,JAVASCRIPT_MODULE_TYPE_ESM:N}=P(96170);const L=P(9297);const q=P(48535);const K="ExportsInfoApiPlugin";class ExportsInfoApiPlugin{apply(v){v.hooks.compilation.tap(K,((v,{normalModuleFactory:E})=>{v.dependencyTemplates.set(q,new q.Template);const handler=v=>{v.hooks.expressionMemberChain.for("__webpack_exports_info__").tap(K,((E,P)=>{const R=P.length>=2?new q(E.range,P.slice(0,-1),P[P.length-1]):new q(E.range,null,P[0]);R.loc=E.loc;v.state.module.addDependency(R);return true}));v.hooks.expression.for("__webpack_exports_info__").tap(K,(E=>{const P=new L("true",E.range);P.loc=E.loc;v.state.module.addPresentationalDependency(P);return true}))};E.hooks.parser.for(R).tap(K,handler);E.hooks.parser.for($).tap(K,handler);E.hooks.parser.for(N).tap(K,handler)}))}}v.exports=ExportsInfoApiPlugin},74805:function(v,E,P){"use strict";const{OriginalSource:R,RawSource:$}=P(51255);const N=P(32757);const L=P(66866);const{UsageState:q}=P(8435);const K=P(23596);const ae=P(72011);const{JAVASCRIPT_MODULE_TYPE_DYNAMIC:ge}=P(96170);const be=P(92529);const xe=P(25233);const ve=P(92090);const Ae=P(20932);const Ie=P(72059);const He=P(41718);const Qe=P(11930);const{register:Je}=P(29260);const Ve=new Set(["javascript"]);const Ke=new Set(["css-import"]);const Ye=new Set([be.module]);const Xe=new Set([be.loadScript]);const Ze=new Set([be.definePropertyGetters]);const et=new Set([]);const getSourceForGlobalVariableExternal=(v,E)=>{if(!Array.isArray(v)){v=[v]}const P=v.map((v=>`[${JSON.stringify(v)}]`)).join("");return{iife:E==="this",expression:`${E}${P}`}};const getSourceForCommonJsExternal=v=>{if(!Array.isArray(v)){return{expression:`require(${JSON.stringify(v)})`}}const E=v[0];return{expression:`require(${JSON.stringify(E)})${Qe(v,1)}`}};const getSourceForCommonJsExternalInNodeModule=(v,E)=>{const P=[new K('import { createRequire as __WEBPACK_EXTERNAL_createRequire } from "module";\n',K.STAGE_HARMONY_IMPORTS,0,"external module node-commonjs")];if(!Array.isArray(v)){return{chunkInitFragments:P,expression:`__WEBPACK_EXTERNAL_createRequire(${E}.url)(${JSON.stringify(v)})`}}const R=v[0];return{chunkInitFragments:P,expression:`__WEBPACK_EXTERNAL_createRequire(${E}.url)(${JSON.stringify(R)})${Qe(v,1)}`}};const getSourceForImportExternal=(v,E)=>{const P=E.outputOptions.importFunctionName;if(!E.supportsDynamicImport()&&P==="import"){throw new Error("The target environment doesn't support 'import()' so it's not possible to use external type 'import'")}if(!Array.isArray(v)){return{expression:`${P}(${JSON.stringify(v)});`}}if(v.length===1){return{expression:`${P}(${JSON.stringify(v[0])});`}}const R=v[0];return{expression:`${P}(${JSON.stringify(R)}).then(${E.returningFunction(`module${Qe(v,1)}`,"module")});`}};class ModuleExternalInitFragment extends K{constructor(v,E,P="md4"){if(E===undefined){E=xe.toIdentifier(v);if(E!==v){E+=`_${Ae(P).update(v).digest("hex").slice(0,8)}`}}const R=`__WEBPACK_EXTERNAL_MODULE_${E}__`;super(`import * as ${R} from ${JSON.stringify(v)};\n`,K.STAGE_HARMONY_IMPORTS,0,`external module import ${E}`);this._ident=E;this._identifier=R;this._request=v}getNamespaceIdentifier(){return this._identifier}}Je(ModuleExternalInitFragment,"webpack/lib/ExternalModule","ModuleExternalInitFragment",{serialize(v,{write:E}){E(v._request);E(v._ident)},deserialize({read:v}){return new ModuleExternalInitFragment(v(),v())}});const generateModuleRemapping=(v,E,P,R)=>{if(E.otherExportsInfo.getUsed(P)===q.Unused){const $=[];for(const N of E.orderedExports){const E=N.getUsedName(N.name,P);if(!E)continue;const L=N.getNestedExportsInfo();if(L){const P=generateModuleRemapping(`${v}${Qe([N.name])}`,L);if(P){$.push(`[${JSON.stringify(E)}]: y(${P})`);continue}}$.push(`[${JSON.stringify(E)}]: ${R.returningFunction(`${v}${Qe([N.name])}`)}`)}return`x({ ${$.join(", ")} })`}};const getSourceForModuleExternal=(v,E,P,R)=>{if(!Array.isArray(v))v=[v];const $=new ModuleExternalInitFragment(v[0],undefined,R.outputOptions.hashFunction);const N=`${$.getNamespaceIdentifier()}${Qe(v,1)}`;const L=generateModuleRemapping(N,E,P,R);let q=L||N;return{expression:q,init:`var x = ${R.basicFunction("y",`var x = {}; ${be.definePropertyGetters}(x, y); return x`)} \nvar y = ${R.returningFunction(R.returningFunction("x"),"x")}`,runtimeRequirements:L?Ze:undefined,chunkInitFragments:[$]}};const getSourceForScriptExternal=(v,E)=>{if(typeof v==="string"){v=Ie(v)}const P=v[0];const R=v[1];return{init:"var __webpack_error__ = new Error();",expression:`new Promise(${E.basicFunction("resolve, reject",[`if(typeof ${R} !== "undefined") return resolve();`,`${be.loadScript}(${JSON.stringify(P)}, ${E.basicFunction("event",[`if(typeof ${R} !== "undefined") return resolve();`,"var errorType = event && (event.type === 'load' ? 'missing' : event.type);","var realSrc = event && event.target && event.target.src;","__webpack_error__.message = 'Loading script failed.\\n(' + errorType + ': ' + realSrc + ')';","__webpack_error__.name = 'ScriptExternalLoadError';","__webpack_error__.type = errorType;","__webpack_error__.request = realSrc;","reject(__webpack_error__);"])}, ${JSON.stringify(R)});`])}).then(${E.returningFunction(`${R}${Qe(v,2)}`)})`,runtimeRequirements:Xe}};const checkExternalVariable=(v,E,P)=>`if(typeof ${v} === 'undefined') { ${P.throwMissingModuleErrorBlock({request:E})} }\n`;const getSourceForAmdOrUmdExternal=(v,E,P,R)=>{const $=`__WEBPACK_EXTERNAL_MODULE_${xe.toIdentifier(`${v}`)}__`;return{init:E?checkExternalVariable($,Array.isArray(P)?P.join("."):P,R):undefined,expression:$}};const getSourceForDefaultCase=(v,E,P)=>{if(!Array.isArray(E)){E=[E]}const R=E[0];const $=Qe(E,1);return{init:v?checkExternalVariable(R,E.join("."),P):undefined,expression:`${R}${$}`}};class ExternalModule extends ae{constructor(v,E,P){super(ge,null);this.request=v;this.externalType=E;this.userRequest=P}getSourceTypes(){return this.externalType==="css-import"?Ke:Ve}libIdent(v){return this.userRequest}chunkCondition(v,{chunkGraph:E}){return this.externalType==="css-import"?true:E.getNumberOfEntryModules(v)>0}identifier(){return`external ${this.externalType} ${JSON.stringify(this.request)}`}readableIdentifier(v){return"external "+JSON.stringify(this.request)}needBuild(v,E){return E(null,!this.buildMeta)}build(v,E,P,R,$){this.buildMeta={async:false,exportsType:undefined};this.buildInfo={strict:true,topLevelDeclarations:new Set,module:E.outputOptions.module};const{request:N,externalType:q}=this._getRequestAndExternalType();this.buildMeta.exportsType="dynamic";let K=false;this.clearDependenciesAndBlocks();switch(q){case"this":this.buildInfo.strict=false;break;case"system":if(!Array.isArray(N)||N.length===1){this.buildMeta.exportsType="namespace";K=true}break;case"module":if(this.buildInfo.module){if(!Array.isArray(N)||N.length===1){this.buildMeta.exportsType="namespace";K=true}}else{this.buildMeta.async=true;L.check(this,E.runtimeTemplate,"external module");if(!Array.isArray(N)||N.length===1){this.buildMeta.exportsType="namespace";K=false}}break;case"script":this.buildMeta.async=true;L.check(this,E.runtimeTemplate,"external script");break;case"promise":this.buildMeta.async=true;L.check(this,E.runtimeTemplate,"external promise");break;case"import":this.buildMeta.async=true;L.check(this,E.runtimeTemplate,"external import");if(!Array.isArray(N)||N.length===1){this.buildMeta.exportsType="namespace";K=false}break}this.addDependency(new ve(true,K));$()}restoreFromUnsafeCache(v,E){this._restoreFromUnsafeCache(v,E)}getConcatenationBailoutReason({moduleGraph:v}){switch(this.externalType){case"amd":case"amd-require":case"umd":case"umd2":case"system":case"jsonp":return`${this.externalType} externals can't be concatenated`}return undefined}_getRequestAndExternalType(){let{request:v,externalType:E}=this;if(typeof v==="object"&&!Array.isArray(v))v=v[E];return{request:v,externalType:E}}_getSourceData(v,E,P,R,$,N){switch(E){case"this":case"window":case"self":return getSourceForGlobalVariableExternal(v,this.externalType);case"global":return getSourceForGlobalVariableExternal(v,P.globalObject);case"commonjs":case"commonjs2":case"commonjs-module":case"commonjs-static":return getSourceForCommonJsExternal(v);case"node-commonjs":return this.buildInfo.module?getSourceForCommonJsExternalInNodeModule(v,P.outputOptions.importMetaName):getSourceForCommonJsExternal(v);case"amd":case"amd-require":case"umd":case"umd2":case"system":case"jsonp":{const E=$.getModuleId(this);return getSourceForAmdOrUmdExternal(E!==null?E:this.identifier(),this.isOptional(R),v,P)}case"import":return getSourceForImportExternal(v,P);case"script":return getSourceForScriptExternal(v,P);case"module":{if(!this.buildInfo.module){if(!P.supportsDynamicImport()){throw new Error("The target environment doesn't support dynamic import() syntax so it's not possible to use external type 'module' within a script"+(P.supportsEcmaScriptModuleSyntax()?"\nDid you mean to build a EcmaScript Module ('output.module: true')?":""))}return getSourceForImportExternal(v,P)}if(!P.supportsEcmaScriptModuleSyntax()){throw new Error("The target environment doesn't support EcmaScriptModule syntax so it's not possible to use external type 'module'")}return getSourceForModuleExternal(v,R.getExportsInfo(this),N,P)}case"var":case"promise":case"const":case"let":case"assign":default:return getSourceForDefaultCase(this.isOptional(R),v,P)}}codeGeneration({runtimeTemplate:v,moduleGraph:E,chunkGraph:P,runtime:L,concatenationScope:q}){const{request:K,externalType:ae}=this._getRequestAndExternalType();switch(ae){case"asset":{const v=new Map;v.set("javascript",new $(`module.exports = ${JSON.stringify(K)};`));const E=new Map;E.set("url",K);return{sources:v,runtimeRequirements:Ye,data:E}}case"css-import":{const v=new Map;v.set("css-import",new $(`@import url(${JSON.stringify(K)});`));return{sources:v,runtimeRequirements:et}}default:{const ge=this._getSourceData(K,ae,v,E,P,L);let xe=ge.expression;if(ge.iife)xe=`(function() { return ${xe}; }())`;if(q){xe=`${v.supportsConst()?"const":"var"} ${N.NAMESPACE_OBJECT_EXPORT} = ${xe};`;q.registerNamespaceExport(N.NAMESPACE_OBJECT_EXPORT)}else{xe=`module.exports = ${xe};`}if(ge.init)xe=`${ge.init}\n${xe}`;let ve=undefined;if(ge.chunkInitFragments){ve=new Map;ve.set("chunkInitFragments",ge.chunkInitFragments)}const Ae=new Map;if(this.useSourceMap||this.useSimpleSourceMap){Ae.set("javascript",new R(xe,this.identifier()))}else{Ae.set("javascript",new $(xe))}let Ie=ge.runtimeRequirements;if(!q){if(!Ie){Ie=Ye}else{const v=new Set(Ie);v.add(be.module);Ie=v}}return{sources:Ae,runtimeRequirements:Ie||et,data:ve}}}}size(v){return 42}updateHash(v,E){const{chunkGraph:P}=E;v.update(`${this.externalType}${JSON.stringify(this.request)}${this.isOptional(P.moduleGraph)}`);super.updateHash(v,E)}serialize(v){const{write:E}=v;E(this.request);E(this.externalType);E(this.userRequest);super.serialize(v)}deserialize(v){const{read:E}=v;this.request=E();this.externalType=E();this.userRequest=E();super.deserialize(v)}}He(ExternalModule,"webpack/lib/ExternalModule");v.exports=ExternalModule},44345:function(v,E,P){"use strict";const R=P(73837);const $=P(74805);const{resolveByProperty:N,cachedSetProperty:L}=P(36671);const q=/^[a-z0-9-]+ /;const K={};const ae=R.deprecate(((v,E,P,R)=>{v.call(null,E,P,R)}),"The externals-function should be defined like ({context, request}, cb) => { ... }","DEP_WEBPACK_EXTERNALS_FUNCTION_PARAMETERS");const ge=new WeakMap;const resolveLayer=(v,E)=>{let P=ge.get(v);if(P===undefined){P=new Map;ge.set(v,P)}else{const v=P.get(E);if(v!==undefined)return v}const R=N(v,"byLayer",E);P.set(E,R);return R};class ExternalModuleFactoryPlugin{constructor(v,E){this.type=v;this.externals=E}apply(v){const E=this.type;v.hooks.factorize.tapAsync("ExternalModuleFactoryPlugin",((P,R)=>{const N=P.context;const ge=P.contextInfo;const be=P.dependencies[0];const xe=P.dependencyType;const handleExternal=(v,P,R)=>{if(v===false){return R()}let N;if(v===true){N=be.request}else{N=v}if(P===undefined){if(typeof N==="string"&&q.test(N)){const v=N.indexOf(" ");P=N.slice(0,v);N=N.slice(v+1)}else if(Array.isArray(N)&&N.length>0&&q.test(N[0])){const v=N[0];const E=v.indexOf(" ");P=v.slice(0,E);N=[v.slice(E+1),...N.slice(1)]}}R(null,new $(N,P||E,be.request))};const handleExternals=(E,R)=>{if(typeof E==="string"){if(E===be.request){return handleExternal(be.request,undefined,R)}}else if(Array.isArray(E)){let v=0;const next=()=>{let P;const handleExternalsAndCallback=(v,E)=>{if(v)return R(v);if(!E){if(P){P=false;return}return next()}R(null,E)};do{P=true;if(v>=E.length)return R();handleExternals(E[v++],handleExternalsAndCallback)}while(!P);P=false};next();return}else if(E instanceof RegExp){if(E.test(be.request)){return handleExternal(be.request,undefined,R)}}else if(typeof E==="function"){const cb=(v,E,P)=>{if(v)return R(v);if(E!==undefined){handleExternal(E,P,R)}else{R()}};if(E.length===3){ae(E,N,be.request,cb)}else{const R=E({context:N,request:be.request,dependencyType:xe,contextInfo:ge,getResolve:E=>(R,$,N)=>{const q={fileDependencies:P.fileDependencies,missingDependencies:P.missingDependencies,contextDependencies:P.contextDependencies};let ae=v.getResolver("normal",xe?L(P.resolveOptions||K,"dependencyType",xe):P.resolveOptions);if(E)ae=ae.withOptions(E);if(N){ae.resolve({},R,$,q,N)}else{return new Promise(((v,E)=>{ae.resolve({},R,$,q,((P,R)=>{if(P)E(P);else v(R)}))}))}}},cb);if(R&&R.then)R.then((v=>cb(null,v)),cb)}return}else if(typeof E==="object"){const v=resolveLayer(E,ge.issuerLayer);if(Object.prototype.hasOwnProperty.call(v,be.request)){return handleExternal(v[be.request],undefined,R)}}R()};handleExternals(this.externals,R)}))}}v.exports=ExternalModuleFactoryPlugin},33554:function(v,E,P){"use strict";const R=P(44345);class ExternalsPlugin{constructor(v,E){this.type=v;this.externals=E}apply(v){v.hooks.compile.tap("ExternalsPlugin",(({normalModuleFactory:v})=>{new R(this.type,this.externals).apply(v)}))}}v.exports=ExternalsPlugin},24965:function(v,E,P){"use strict";const{create:R}=P(32613);const $=P(98188);const N=P(78175);const{isAbsolute:L}=P(71017);const q=P(71262);const K=P(14413);const ae=P(20932);const{join:ge,dirname:be,relative:xe,lstatReadlinkAbsolute:ve}=P(43860);const Ae=P(41718);const Ie=P(63842);const He=+process.versions.modules>=83;const Qe=new Set($.builtinModules);let Je=2e3;const Ve=new Set;const Ke=0;const Ye=1;const Xe=2;const Ze=3;const et=4;const tt=5;const nt=6;const st=7;const rt=8;const ot=9;const it=Symbol("invalid");const at=(new Set).keys().next();class SnapshotIterator{constructor(v){this.next=v}}class SnapshotIterable{constructor(v,E){this.snapshot=v;this.getMaps=E}[Symbol.iterator](){let v=0;let E;let P;let R;let $;let N;return new SnapshotIterator((()=>{for(;;){switch(v){case 0:$=this.snapshot;P=this.getMaps;R=P($);v=1;case 1:if(R.length>0){const P=R.pop();if(P!==undefined){E=P.keys();v=2}else{break}}else{v=3;break}case 2:{const P=E.next();if(!P.done)return P;v=1;break}case 3:{const E=$.children;if(E!==undefined){if(E.size===1){for(const v of E)$=v;R=P($);v=1;break}if(N===undefined)N=[];for(const v of E){N.push(v)}}if(N!==undefined&&N.length>0){$=N.pop();R=P($);v=1;break}else{v=4}}case 4:return at}}}))}}class Snapshot{constructor(){this._flags=0;this._cachedFileIterable=undefined;this._cachedContextIterable=undefined;this._cachedMissingIterable=undefined;this.startTime=undefined;this.fileTimestamps=undefined;this.fileHashes=undefined;this.fileTshs=undefined;this.contextTimestamps=undefined;this.contextHashes=undefined;this.contextTshs=undefined;this.missingExistence=undefined;this.managedItemInfo=undefined;this.managedFiles=undefined;this.managedContexts=undefined;this.managedMissing=undefined;this.children=undefined}hasStartTime(){return(this._flags&1)!==0}setStartTime(v){this._flags=this._flags|1;this.startTime=v}setMergedStartTime(v,E){if(v){if(E.hasStartTime()){this.setStartTime(Math.min(v,E.startTime))}else{this.setStartTime(v)}}else{if(E.hasStartTime())this.setStartTime(E.startTime)}}hasFileTimestamps(){return(this._flags&2)!==0}setFileTimestamps(v){this._flags=this._flags|2;this.fileTimestamps=v}hasFileHashes(){return(this._flags&4)!==0}setFileHashes(v){this._flags=this._flags|4;this.fileHashes=v}hasFileTshs(){return(this._flags&8)!==0}setFileTshs(v){this._flags=this._flags|8;this.fileTshs=v}hasContextTimestamps(){return(this._flags&16)!==0}setContextTimestamps(v){this._flags=this._flags|16;this.contextTimestamps=v}hasContextHashes(){return(this._flags&32)!==0}setContextHashes(v){this._flags=this._flags|32;this.contextHashes=v}hasContextTshs(){return(this._flags&64)!==0}setContextTshs(v){this._flags=this._flags|64;this.contextTshs=v}hasMissingExistence(){return(this._flags&128)!==0}setMissingExistence(v){this._flags=this._flags|128;this.missingExistence=v}hasManagedItemInfo(){return(this._flags&256)!==0}setManagedItemInfo(v){this._flags=this._flags|256;this.managedItemInfo=v}hasManagedFiles(){return(this._flags&512)!==0}setManagedFiles(v){this._flags=this._flags|512;this.managedFiles=v}hasManagedContexts(){return(this._flags&1024)!==0}setManagedContexts(v){this._flags=this._flags|1024;this.managedContexts=v}hasManagedMissing(){return(this._flags&2048)!==0}setManagedMissing(v){this._flags=this._flags|2048;this.managedMissing=v}hasChildren(){return(this._flags&4096)!==0}setChildren(v){this._flags=this._flags|4096;this.children=v}addChild(v){if(!this.hasChildren()){this.setChildren(new Set)}this.children.add(v)}serialize({write:v}){v(this._flags);if(this.hasStartTime())v(this.startTime);if(this.hasFileTimestamps())v(this.fileTimestamps);if(this.hasFileHashes())v(this.fileHashes);if(this.hasFileTshs())v(this.fileTshs);if(this.hasContextTimestamps())v(this.contextTimestamps);if(this.hasContextHashes())v(this.contextHashes);if(this.hasContextTshs())v(this.contextTshs);if(this.hasMissingExistence())v(this.missingExistence);if(this.hasManagedItemInfo())v(this.managedItemInfo);if(this.hasManagedFiles())v(this.managedFiles);if(this.hasManagedContexts())v(this.managedContexts);if(this.hasManagedMissing())v(this.managedMissing);if(this.hasChildren())v(this.children)}deserialize({read:v}){this._flags=v();if(this.hasStartTime())this.startTime=v();if(this.hasFileTimestamps())this.fileTimestamps=v();if(this.hasFileHashes())this.fileHashes=v();if(this.hasFileTshs())this.fileTshs=v();if(this.hasContextTimestamps())this.contextTimestamps=v();if(this.hasContextHashes())this.contextHashes=v();if(this.hasContextTshs())this.contextTshs=v();if(this.hasMissingExistence())this.missingExistence=v();if(this.hasManagedItemInfo())this.managedItemInfo=v();if(this.hasManagedFiles())this.managedFiles=v();if(this.hasManagedContexts())this.managedContexts=v();if(this.hasManagedMissing())this.managedMissing=v();if(this.hasChildren())this.children=v()}_createIterable(v){return new SnapshotIterable(this,v)}getFileIterable(){if(this._cachedFileIterable===undefined){this._cachedFileIterable=this._createIterable((v=>[v.fileTimestamps,v.fileHashes,v.fileTshs,v.managedFiles]))}return this._cachedFileIterable}getContextIterable(){if(this._cachedContextIterable===undefined){this._cachedContextIterable=this._createIterable((v=>[v.contextTimestamps,v.contextHashes,v.contextTshs,v.managedContexts]))}return this._cachedContextIterable}getMissingIterable(){if(this._cachedMissingIterable===undefined){this._cachedMissingIterable=this._createIterable((v=>[v.missingExistence,v.managedMissing]))}return this._cachedMissingIterable}}Ae(Snapshot,"webpack/lib/FileSystemInfo","Snapshot");const ct=3;class SnapshotOptimization{constructor(v,E,P,R=true,$=false){this._has=v;this._get=E;this._set=P;this._useStartTime=R;this._isSet=$;this._map=new Map;this._statItemsShared=0;this._statItemsUnshared=0;this._statSharedSnapshots=0;this._statReusedSharedSnapshots=0}getStatisticMessage(){const v=this._statItemsShared+this._statItemsUnshared;if(v===0)return undefined;return`${this._statItemsShared&&Math.round(this._statItemsShared*100/v)}% (${this._statItemsShared}/${v}) entries shared via ${this._statSharedSnapshots} shared snapshots (${this._statReusedSharedSnapshots+this._statSharedSnapshots} times referenced)`}clear(){this._map.clear();this._statItemsShared=0;this._statItemsUnshared=0;this._statSharedSnapshots=0;this._statReusedSharedSnapshots=0}optimize(v,E){const increaseSharedAndStoreOptimizationEntry=v=>{if(v.children!==undefined){v.children.forEach(increaseSharedAndStoreOptimizationEntry)}v.shared++;storeOptimizationEntry(v)};const storeOptimizationEntry=v=>{for(const P of v.snapshotContent){const R=this._map.get(P);if(R.shared0){if(this._useStartTime&&v.startTime&&(!R.startTime||R.startTime>v.startTime)){continue}const $=new Set;const N=P.snapshotContent;const L=this._get(R);for(const v of N){if(!E.has(v)){if(!L.has(v)){continue e}$.add(v);continue}}if($.size===0){v.addChild(R);increaseSharedAndStoreOptimizationEntry(P);this._statReusedSharedSnapshots++}else{const E=N.size-$.size;if(E{if(v[0]==="'"||v[0]==="`")v=`"${v.slice(1,-1).replace(/"/g,'\\"')}"`;return JSON.parse(v)};const applyMtime=v=>{if(Je>1&&v%2!==0)Je=1;else if(Je>10&&v%20!==0)Je=10;else if(Je>100&&v%200!==0)Je=100;else if(Je>1e3&&v%2e3!==0)Je=1e3};const mergeMaps=(v,E)=>{if(!E||E.size===0)return v;if(!v||v.size===0)return E;const P=new Map(v);for(const[v,R]of E){P.set(v,R)}return P};const mergeSets=(v,E)=>{if(!E||E.size===0)return v;if(!v||v.size===0)return E;const P=new Set(v);for(const v of E){P.add(v)}return P};const getManagedItem=(v,E)=>{let P=v.length;let R=1;let $=true;e:while(P=P+13&&E.charCodeAt(P+1)===110&&E.charCodeAt(P+2)===111&&E.charCodeAt(P+3)===100&&E.charCodeAt(P+4)===101&&E.charCodeAt(P+5)===95&&E.charCodeAt(P+6)===109&&E.charCodeAt(P+7)===111&&E.charCodeAt(P+8)===100&&E.charCodeAt(P+9)===117&&E.charCodeAt(P+10)===108&&E.charCodeAt(P+11)===101&&E.charCodeAt(P+12)===115){if(E.length===P+13){return E}const v=E.charCodeAt(P+13);if(v===47||v===92){return getManagedItem(E.slice(0,P+14),E)}}return E.slice(0,P)};const getResolvedTimestamp=v=>{if(v===null)return null;if(v.resolved!==undefined)return v.resolved;return v.symlinks===undefined?v:undefined};const getResolvedHash=v=>{if(v===null)return null;if(v.resolved!==undefined)return v.resolved;return v.symlinks===undefined?v.hash:undefined};const addAll=(v,E)=>{for(const P of v)E.add(P)};class FileSystemInfo{constructor(v,{unmanagedPaths:E=[],managedPaths:P=[],immutablePaths:R=[],logger:$,hashFunction:N="md4"}={}){this.fs=v;this.logger=$;this._remainingLogs=$?40:0;this._loggedPaths=$?new Set:undefined;this._hashFunction=N;this._snapshotCache=new WeakMap;this._fileTimestampsOptimization=new SnapshotOptimization((v=>v.hasFileTimestamps()),(v=>v.fileTimestamps),((v,E)=>v.setFileTimestamps(E)));this._fileHashesOptimization=new SnapshotOptimization((v=>v.hasFileHashes()),(v=>v.fileHashes),((v,E)=>v.setFileHashes(E)),false);this._fileTshsOptimization=new SnapshotOptimization((v=>v.hasFileTshs()),(v=>v.fileTshs),((v,E)=>v.setFileTshs(E)));this._contextTimestampsOptimization=new SnapshotOptimization((v=>v.hasContextTimestamps()),(v=>v.contextTimestamps),((v,E)=>v.setContextTimestamps(E)));this._contextHashesOptimization=new SnapshotOptimization((v=>v.hasContextHashes()),(v=>v.contextHashes),((v,E)=>v.setContextHashes(E)),false);this._contextTshsOptimization=new SnapshotOptimization((v=>v.hasContextTshs()),(v=>v.contextTshs),((v,E)=>v.setContextTshs(E)));this._missingExistenceOptimization=new SnapshotOptimization((v=>v.hasMissingExistence()),(v=>v.missingExistence),((v,E)=>v.setMissingExistence(E)),false);this._managedItemInfoOptimization=new SnapshotOptimization((v=>v.hasManagedItemInfo()),(v=>v.managedItemInfo),((v,E)=>v.setManagedItemInfo(E)),false);this._managedFilesOptimization=new SnapshotOptimization((v=>v.hasManagedFiles()),(v=>v.managedFiles),((v,E)=>v.setManagedFiles(E)),false,true);this._managedContextsOptimization=new SnapshotOptimization((v=>v.hasManagedContexts()),(v=>v.managedContexts),((v,E)=>v.setManagedContexts(E)),false,true);this._managedMissingOptimization=new SnapshotOptimization((v=>v.hasManagedMissing()),(v=>v.managedMissing),((v,E)=>v.setManagedMissing(E)),false,true);this._fileTimestamps=new K;this._fileHashes=new Map;this._fileTshs=new Map;this._contextTimestamps=new K;this._contextHashes=new Map;this._contextTshs=new Map;this._managedItems=new Map;this.fileTimestampQueue=new q({name:"file timestamp",parallelism:30,processor:this._readFileTimestamp.bind(this)});this.fileHashQueue=new q({name:"file hash",parallelism:10,processor:this._readFileHash.bind(this)});this.contextTimestampQueue=new q({name:"context timestamp",parallelism:2,processor:this._readContextTimestamp.bind(this)});this.contextHashQueue=new q({name:"context hash",parallelism:2,processor:this._readContextHash.bind(this)});this.contextTshQueue=new q({name:"context hash and timestamp",parallelism:2,processor:this._readContextTimestampAndHash.bind(this)});this.managedItemQueue=new q({name:"managed item info",parallelism:10,processor:this._getManagedItemInfo.bind(this)});this.managedItemDirectoryQueue=new q({name:"managed item directory info",parallelism:10,processor:this._getManagedItemDirectoryInfo.bind(this)});const L=Array.from(E);this.unmanagedPathsWithSlash=L.filter((v=>typeof v==="string")).map((E=>ge(v,E,"_").slice(0,-1)));this.unmanagedPathsRegExps=L.filter((v=>typeof v!=="string"));this.managedPaths=Array.from(P);this.managedPathsWithSlash=this.managedPaths.filter((v=>typeof v==="string")).map((E=>ge(v,E,"_").slice(0,-1)));this.managedPathsRegExps=this.managedPaths.filter((v=>typeof v!=="string"));this.immutablePaths=Array.from(R);this.immutablePathsWithSlash=this.immutablePaths.filter((v=>typeof v==="string")).map((E=>ge(v,E,"_").slice(0,-1)));this.immutablePathsRegExps=this.immutablePaths.filter((v=>typeof v!=="string"));this._cachedDeprecatedFileTimestamps=undefined;this._cachedDeprecatedContextTimestamps=undefined;this._warnAboutExperimentalEsmTracking=false;this._statCreatedSnapshots=0;this._statTestedSnapshotsCached=0;this._statTestedSnapshotsNotCached=0;this._statTestedChildrenCached=0;this._statTestedChildrenNotCached=0;this._statTestedEntries=0}logStatistics(){const logWhenMessage=(v,E)=>{if(E){this.logger.log(`${v}: ${E}`)}};this.logger.log(`${this._statCreatedSnapshots} new snapshots created`);this.logger.log(`${this._statTestedSnapshotsNotCached&&Math.round(this._statTestedSnapshotsNotCached*100/(this._statTestedSnapshotsCached+this._statTestedSnapshotsNotCached))}% root snapshot uncached (${this._statTestedSnapshotsNotCached} / ${this._statTestedSnapshotsCached+this._statTestedSnapshotsNotCached})`);this.logger.log(`${this._statTestedChildrenNotCached&&Math.round(this._statTestedChildrenNotCached*100/(this._statTestedChildrenCached+this._statTestedChildrenNotCached))}% children snapshot uncached (${this._statTestedChildrenNotCached} / ${this._statTestedChildrenCached+this._statTestedChildrenNotCached})`);this.logger.log(`${this._statTestedEntries} entries tested`);this.logger.log(`File info in cache: ${this._fileTimestamps.size} timestamps ${this._fileHashes.size} hashes ${this._fileTshs.size} timestamp hash combinations`);logWhenMessage(`File timestamp snapshot optimization`,this._fileTimestampsOptimization.getStatisticMessage());logWhenMessage(`File hash snapshot optimization`,this._fileHashesOptimization.getStatisticMessage());logWhenMessage(`File timestamp hash combination snapshot optimization`,this._fileTshsOptimization.getStatisticMessage());this.logger.log(`Directory info in cache: ${this._contextTimestamps.size} timestamps ${this._contextHashes.size} hashes ${this._contextTshs.size} timestamp hash combinations`);logWhenMessage(`Directory timestamp snapshot optimization`,this._contextTimestampsOptimization.getStatisticMessage());logWhenMessage(`Directory hash snapshot optimization`,this._contextHashesOptimization.getStatisticMessage());logWhenMessage(`Directory timestamp hash combination snapshot optimization`,this._contextTshsOptimization.getStatisticMessage());logWhenMessage(`Missing items snapshot optimization`,this._missingExistenceOptimization.getStatisticMessage());this.logger.log(`Managed items info in cache: ${this._managedItems.size} items`);logWhenMessage(`Managed items snapshot optimization`,this._managedItemInfoOptimization.getStatisticMessage());logWhenMessage(`Managed files snapshot optimization`,this._managedFilesOptimization.getStatisticMessage());logWhenMessage(`Managed contexts snapshot optimization`,this._managedContextsOptimization.getStatisticMessage());logWhenMessage(`Managed missing snapshot optimization`,this._managedMissingOptimization.getStatisticMessage())}_log(v,E,...P){const R=v+E;if(this._loggedPaths.has(R))return;this._loggedPaths.add(R);this.logger.debug(`${v} invalidated because ${E}`,...P);if(--this._remainingLogs===0){this.logger.debug("Logging limit has been reached and no further logging will be emitted by FileSystemInfo")}}clear(){this._remainingLogs=this.logger?40:0;if(this._loggedPaths!==undefined)this._loggedPaths.clear();this._snapshotCache=new WeakMap;this._fileTimestampsOptimization.clear();this._fileHashesOptimization.clear();this._fileTshsOptimization.clear();this._contextTimestampsOptimization.clear();this._contextHashesOptimization.clear();this._contextTshsOptimization.clear();this._missingExistenceOptimization.clear();this._managedItemInfoOptimization.clear();this._managedFilesOptimization.clear();this._managedContextsOptimization.clear();this._managedMissingOptimization.clear();this._fileTimestamps.clear();this._fileHashes.clear();this._fileTshs.clear();this._contextTimestamps.clear();this._contextHashes.clear();this._contextTshs.clear();this._managedItems.clear();this._managedItems.clear();this._cachedDeprecatedFileTimestamps=undefined;this._cachedDeprecatedContextTimestamps=undefined;this._statCreatedSnapshots=0;this._statTestedSnapshotsCached=0;this._statTestedSnapshotsNotCached=0;this._statTestedChildrenCached=0;this._statTestedChildrenNotCached=0;this._statTestedEntries=0}addFileTimestamps(v,E){this._fileTimestamps.addAll(v,E);this._cachedDeprecatedFileTimestamps=undefined}addContextTimestamps(v,E){this._contextTimestamps.addAll(v,E);this._cachedDeprecatedContextTimestamps=undefined}getFileTimestamp(v,E){const P=this._fileTimestamps.get(v);if(P!==undefined)return E(null,P);this.fileTimestampQueue.add(v,E)}getContextTimestamp(v,E){const P=this._contextTimestamps.get(v);if(P!==undefined){if(P==="ignore")return E(null,"ignore");const v=getResolvedTimestamp(P);if(v!==undefined)return E(null,v);return this._resolveContextTimestamp(P,E)}this.contextTimestampQueue.add(v,((v,P)=>{if(v)return E(v);const R=getResolvedTimestamp(P);if(R!==undefined)return E(null,R);this._resolveContextTimestamp(P,E)}))}_getUnresolvedContextTimestamp(v,E){const P=this._contextTimestamps.get(v);if(P!==undefined)return E(null,P);this.contextTimestampQueue.add(v,E)}getFileHash(v,E){const P=this._fileHashes.get(v);if(P!==undefined)return E(null,P);this.fileHashQueue.add(v,E)}getContextHash(v,E){const P=this._contextHashes.get(v);if(P!==undefined){const v=getResolvedHash(P);if(v!==undefined)return E(null,v);return this._resolveContextHash(P,E)}this.contextHashQueue.add(v,((v,P)=>{if(v)return E(v);const R=getResolvedHash(P);if(R!==undefined)return E(null,R);this._resolveContextHash(P,E)}))}_getUnresolvedContextHash(v,E){const P=this._contextHashes.get(v);if(P!==undefined)return E(null,P);this.contextHashQueue.add(v,E)}getContextTsh(v,E){const P=this._contextTshs.get(v);if(P!==undefined){const v=getResolvedTimestamp(P);if(v!==undefined)return E(null,v);return this._resolveContextTsh(P,E)}this.contextTshQueue.add(v,((v,P)=>{if(v)return E(v);const R=getResolvedTimestamp(P);if(R!==undefined)return E(null,R);this._resolveContextTsh(P,E)}))}_getUnresolvedContextTsh(v,E){const P=this._contextTshs.get(v);if(P!==undefined)return E(null,P);this.contextTshQueue.add(v,E)}_createBuildDependenciesResolvers(){const v=R({resolveToContext:true,exportsFields:[],fileSystem:this.fs});const E=R({extensions:[".js",".json",".node"],conditionNames:["require","node"],exportsFields:["exports"],fileSystem:this.fs});const P=R({extensions:[".js",".json",".node"],conditionNames:["require","node"],exportsFields:[],fileSystem:this.fs});const $=R({extensions:[".js",".json",".node"],fullySpecified:true,conditionNames:["import","node"],exportsFields:["exports"],fileSystem:this.fs});return{resolveContext:v,resolveEsm:$,resolveCjs:E,resolveCjsAsChild:P}}resolveBuildDependencies(v,E,R){const{resolveContext:$,resolveEsm:N,resolveCjs:q,resolveCjsAsChild:K}=this._createBuildDependenciesResolvers();const ae=new Set;const ve=new Set;const Ae=new Set;const Je=new Set;const Ve=new Set;const it=new Set;const at=new Set;const ct=new Set;const lt=new Map;const ut=new Set;const pt={fileDependencies:it,contextDependencies:at,missingDependencies:ct};const expectedToString=v=>v?` (expected ${v})`:"";const jobToString=v=>{switch(v.type){case Ke:return`resolve commonjs ${v.path}${expectedToString(v.expected)}`;case Ye:return`resolve esm ${v.path}${expectedToString(v.expected)}`;case Xe:return`resolve directory ${v.path}`;case Ze:return`resolve commonjs file ${v.path}${expectedToString(v.expected)}`;case tt:return`resolve esm file ${v.path}${expectedToString(v.expected)}`;case nt:return`directory ${v.path}`;case st:return`file ${v.path}`;case rt:return`directory dependencies ${v.path}`;case ot:return`file dependencies ${v.path}`}return`unknown ${v.type} ${v.path}`};const pathToString=v=>{let E=` at ${jobToString(v)}`;v=v.issuer;while(v!==undefined){E+=`\n at ${jobToString(v)}`;v=v.issuer}return E};Ie(Array.from(E,(E=>({type:Ke,context:v,path:E,expected:undefined,issuer:undefined}))),20,((v,E,R)=>{const{type:Ie,context:Ve,path:at,expected:dt}=v;const resolveDirectory=P=>{const N=`d\n${Ve}\n${P}`;if(lt.has(N)){return R()}lt.set(N,undefined);$(Ve,P,pt,(($,L,q)=>{if($){if(dt===false){lt.set(N,false);return R()}ut.add(N);$.message+=`\nwhile resolving '${P}' in ${Ve} to a directory`;return R($)}const K=q.path;lt.set(N,K);E({type:nt,context:undefined,path:K,expected:undefined,issuer:v});R()}))};const resolveFile=(P,$,N)=>{const L=`${$}\n${Ve}\n${P}`;if(lt.has(L)){return R()}lt.set(L,undefined);N(Ve,P,pt,(($,N,q)=>{if(typeof dt==="string"){if(!$&&q&&q.path===dt){lt.set(L,q.path)}else{ut.add(L);this.logger.warn(`Resolving '${P}' in ${Ve} for build dependencies doesn't lead to expected result '${dt}', but to '${$||q&&q.path}' instead. Resolving dependencies are ignored for this path.\n${pathToString(v)}`)}}else{if($){if(dt===false){lt.set(L,false);return R()}ut.add(L);$.message+=`\nwhile resolving '${P}' in ${Ve} as file\n${pathToString(v)}`;return R($)}const N=q.path;lt.set(L,N);E({type:st,context:undefined,path:N,expected:undefined,issuer:v})}R()}))};switch(Ie){case Ke:{const v=/[\\/]$/.test(at);if(v){resolveDirectory(at.slice(0,at.length-1))}else{resolveFile(at,"f",q)}break}case Ye:{const v=/[\\/]$/.test(at);if(v){resolveDirectory(at.slice(0,at.length-1))}else{resolveFile(at)}break}case Xe:{resolveDirectory(at);break}case Ze:{resolveFile(at,"f",q);break}case et:{resolveFile(at,"c",K);break}case tt:{resolveFile(at,"e",N);break}case st:{if(ae.has(at)){R();break}ae.add(at);this.fs.realpath(at,((P,$)=>{if(P)return R(P);const N=$;if(N!==at){ve.add(at);it.add(at);if(ae.has(N))return R();ae.add(N)}E({type:ot,context:undefined,path:N,expected:undefined,issuer:v});R()}));break}case nt:{if(Ae.has(at)){R();break}Ae.add(at);this.fs.realpath(at,((P,$)=>{if(P)return R(P);const N=$;if(N!==at){Je.add(at);it.add(at);if(Ae.has(N))return R();Ae.add(N)}E({type:rt,context:undefined,path:N,expected:undefined,issuer:v});R()}));break}case ot:{if(/\.json5?$|\.yarn-integrity$|yarn\.lock$|\.ya?ml/.test(at)){process.nextTick(R);break}const $=require.cache[at];if($&&Array.isArray($.children)){e:for(const P of $.children){let R=P.filename;if(R){E({type:st,context:undefined,path:R,expected:undefined,issuer:v});const N=be(this.fs,at);for(const L of $.paths){if(R.startsWith(L)){let $=R.slice(L.length+1);const q=/^(@[^\\/]+[\\/])[^\\/]+/.exec($);if(q){E({type:st,context:undefined,path:L+R[L.length]+q[0]+R[L.length]+"package.json",expected:false,issuer:v})}let K=$.replace(/\\/g,"/");if(K.endsWith(".js"))K=K.slice(0,-3);E({type:et,context:N,path:K,expected:P.filename,issuer:v});continue e}}let q=xe(this.fs,N,R);if(q.endsWith(".js"))q=q.slice(0,-3);q=q.replace(/\\/g,"/");if(!q.startsWith("../")&&!L(q)){q=`./${q}`}E({type:Ze,context:N,path:q,expected:P.filename,issuer:v})}}}else if(He&&/\.m?js$/.test(at)){if(!this._warnAboutExperimentalEsmTracking){this.logger.log("Node.js doesn't offer a (nice) way to introspect the ESM dependency graph yet.\n"+"Until a full solution is available webpack uses an experimental ESM tracking based on parsing.\n"+"As best effort webpack parses the ESM files to guess dependencies. But this can lead to expensive and incorrect tracking.");this._warnAboutExperimentalEsmTracking=true}const $=P(97998);$.init.then((()=>{this.fs.readFile(at,((P,N)=>{if(P)return R(P);try{const P=be(this.fs,at);const R=N.toString();const[L]=$.parse(R);for(const $ of L){try{let N;if($.d===-1){N=parseString(R.substring($.s-1,$.e+1))}else if($.d>-1){let v=R.substring($.s,$.e).trim();N=parseString(v)}else{continue}if(N.startsWith("node:"))continue;if(Qe.has(N))continue;E({type:tt,context:P,path:N,expected:$.d>-1?false:undefined,issuer:v})}catch(E){this.logger.warn(`Parsing of ${at} for build dependencies failed at 'import(${R.substring($.s,$.e)})'.\n`+"Build dependencies behind this expression are ignored and might cause incorrect cache invalidation.");this.logger.debug(pathToString(v));this.logger.debug(E.stack)}}}catch(E){this.logger.warn(`Parsing of ${at} for build dependencies failed and all dependencies of this file are ignored, which might cause incorrect cache invalidation..`);this.logger.debug(pathToString(v));this.logger.debug(E.stack)}process.nextTick(R)}))}),R);break}else{this.logger.log(`Assuming ${at} has no dependencies as we were unable to assign it to any module system.`);this.logger.debug(pathToString(v))}process.nextTick(R);break}case rt:{const P=/(^.+[\\/]node_modules[\\/](?:@[^\\/]+[\\/])?[^\\/]+)/.exec(at);const $=P?P[1]:at;const N=ge(this.fs,$,"package.json");this.fs.readFile(N,((P,L)=>{if(P){if(P.code==="ENOENT"){ct.add(N);const P=be(this.fs,$);if(P!==$){E({type:rt,context:undefined,path:P,expected:undefined,issuer:v})}R();return}return R(P)}it.add(N);let q;try{q=JSON.parse(L.toString("utf-8"))}catch(v){return R(v)}const K=q.dependencies;const ae=q.optionalDependencies;const ge=new Set;const xe=new Set;if(typeof K==="object"&&K){for(const v of Object.keys(K)){ge.add(v)}}if(typeof ae==="object"&&ae){for(const v of Object.keys(ae)){ge.add(v);xe.add(v)}}for(const P of ge){E({type:Xe,context:$,path:P,expected:!xe.has(P),issuer:v})}R()}));break}}}),(v=>{if(v)return R(v);for(const v of ve)ae.delete(v);for(const v of Je)Ae.delete(v);for(const v of ut)lt.delete(v);R(null,{files:ae,directories:Ae,missing:Ve,resolveResults:lt,resolveDependencies:{files:it,directories:at,missing:ct}})}))}checkResolveResultsValid(v,E){const{resolveCjs:P,resolveCjsAsChild:R,resolveEsm:$,resolveContext:L}=this._createBuildDependenciesResolvers();N.eachLimit(v,20,(([v,E],N)=>{const[q,K,ae]=v.split("\n");switch(q){case"d":L(K,ae,{},((v,P,R)=>{if(E===false)return N(v?undefined:it);if(v)return N(v);const $=R.path;if($!==E)return N(it);N()}));break;case"f":P(K,ae,{},((v,P,R)=>{if(E===false)return N(v?undefined:it);if(v)return N(v);const $=R.path;if($!==E)return N(it);N()}));break;case"c":R(K,ae,{},((v,P,R)=>{if(E===false)return N(v?undefined:it);if(v)return N(v);const $=R.path;if($!==E)return N(it);N()}));break;case"e":$(K,ae,{},((v,P,R)=>{if(E===false)return N(v?undefined:it);if(v)return N(v);const $=R.path;if($!==E)return N(it);N()}));break;default:N(new Error("Unexpected type in resolve result key"));break}}),(v=>{if(v===it){return E(null,false)}if(v){return E(v)}return E(null,true)}))}createSnapshot(v,E,P,R,$,N){const L=new Map;const q=new Map;const K=new Map;const ae=new Map;const be=new Map;const xe=new Map;const ve=new Map;const Ae=new Map;const Ie=new Set;const He=new Set;const Qe=new Set;const Je=new Set;const Ve=new Snapshot;if(v)Ve.setStartTime(v);const Ke=new Set;const Ye=$&&$.hash?$.timestamp?3:2:1;let Xe=1;const jobDone=()=>{if(--Xe===0){if(L.size!==0){Ve.setFileTimestamps(L)}if(q.size!==0){Ve.setFileHashes(q)}if(K.size!==0){Ve.setFileTshs(K)}if(ae.size!==0){Ve.setContextTimestamps(ae)}if(be.size!==0){Ve.setContextHashes(be)}if(xe.size!==0){Ve.setContextTshs(xe)}if(ve.size!==0){Ve.setMissingExistence(ve)}if(Ae.size!==0){Ve.setManagedItemInfo(Ae)}this._managedFilesOptimization.optimize(Ve,Ie);if(Ie.size!==0){Ve.setManagedFiles(Ie)}this._managedContextsOptimization.optimize(Ve,He);if(He.size!==0){Ve.setManagedContexts(He)}this._managedMissingOptimization.optimize(Ve,Qe);if(Qe.size!==0){Ve.setManagedMissing(Qe)}if(Je.size!==0){Ve.setChildren(Je)}this._snapshotCache.set(Ve,true);this._statCreatedSnapshots++;N(null,Ve)}};const jobError=()=>{if(Xe>0){Xe=-1e8;N(null,null)}};const checkManaged=(v,E)=>{for(const E of this.unmanagedPathsRegExps){if(E.test(v))return false}for(const E of this.unmanagedPathsWithSlash){if(v.startsWith(E))return false}for(const P of this.immutablePathsRegExps){if(P.test(v)){E.add(v);return true}}for(const P of this.immutablePathsWithSlash){if(v.startsWith(P)){E.add(v);return true}}for(const P of this.managedPathsRegExps){const R=P.exec(v);if(R){const P=getManagedItem(R[1],v);if(P){Ke.add(P);E.add(v);return true}}}for(const P of this.managedPathsWithSlash){if(v.startsWith(P)){const R=getManagedItem(P,v);if(R){Ke.add(R);E.add(v);return true}}}return false};const captureNonManaged=(v,E)=>{const P=new Set;for(const R of v){if(!checkManaged(R,E))P.add(R)}return P};const processCapturedFiles=v=>{switch(Ye){case 3:this._fileTshsOptimization.optimize(Ve,v);for(const E of v){const v=this._fileTshs.get(E);if(v!==undefined){K.set(E,v)}else{Xe++;this._getFileTimestampAndHash(E,((v,P)=>{if(v){if(this.logger){this.logger.debug(`Error snapshotting file timestamp hash combination of ${E}: ${v.stack}`)}jobError()}else{K.set(E,P);jobDone()}}))}}break;case 2:this._fileHashesOptimization.optimize(Ve,v);for(const E of v){const v=this._fileHashes.get(E);if(v!==undefined){q.set(E,v)}else{Xe++;this.fileHashQueue.add(E,((v,P)=>{if(v){if(this.logger){this.logger.debug(`Error snapshotting file hash of ${E}: ${v.stack}`)}jobError()}else{q.set(E,P);jobDone()}}))}}break;case 1:this._fileTimestampsOptimization.optimize(Ve,v);for(const E of v){const v=this._fileTimestamps.get(E);if(v!==undefined){if(v!=="ignore"){L.set(E,v)}}else{Xe++;this.fileTimestampQueue.add(E,((v,P)=>{if(v){if(this.logger){this.logger.debug(`Error snapshotting file timestamp of ${E}: ${v.stack}`)}jobError()}else{L.set(E,P);jobDone()}}))}}break}};if(E){processCapturedFiles(captureNonManaged(E,Ie))}const processCapturedDirectories=v=>{switch(Ye){case 3:this._contextTshsOptimization.optimize(Ve,v);for(const E of v){const v=this._contextTshs.get(E);let P;if(v!==undefined&&(P=getResolvedTimestamp(v))!==undefined){xe.set(E,P)}else{Xe++;const callback=(v,P)=>{if(v){if(this.logger){this.logger.debug(`Error snapshotting context timestamp hash combination of ${E}: ${v.stack}`)}jobError()}else{xe.set(E,P);jobDone()}};if(v!==undefined){this._resolveContextTsh(v,callback)}else{this.getContextTsh(E,callback)}}}break;case 2:this._contextHashesOptimization.optimize(Ve,v);for(const E of v){const v=this._contextHashes.get(E);let P;if(v!==undefined&&(P=getResolvedHash(v))!==undefined){be.set(E,P)}else{Xe++;const callback=(v,P)=>{if(v){if(this.logger){this.logger.debug(`Error snapshotting context hash of ${E}: ${v.stack}`)}jobError()}else{be.set(E,P);jobDone()}};if(v!==undefined){this._resolveContextHash(v,callback)}else{this.getContextHash(E,callback)}}}break;case 1:this._contextTimestampsOptimization.optimize(Ve,v);for(const E of v){const v=this._contextTimestamps.get(E);if(v==="ignore")continue;let P;if(v!==undefined&&(P=getResolvedTimestamp(v))!==undefined){ae.set(E,P)}else{Xe++;const callback=(v,P)=>{if(v){if(this.logger){this.logger.debug(`Error snapshotting context timestamp of ${E}: ${v.stack}`)}jobError()}else{ae.set(E,P);jobDone()}};if(v!==undefined){this._resolveContextTimestamp(v,callback)}else{this.getContextTimestamp(E,callback)}}}break}};if(P){processCapturedDirectories(captureNonManaged(P,He))}const processCapturedMissing=v=>{this._missingExistenceOptimization.optimize(Ve,v);for(const E of v){const v=this._fileTimestamps.get(E);if(v!==undefined){if(v!=="ignore"){ve.set(E,Boolean(v))}}else{Xe++;this.fileTimestampQueue.add(E,((v,P)=>{if(v){if(this.logger){this.logger.debug(`Error snapshotting missing timestamp of ${E}: ${v.stack}`)}jobError()}else{ve.set(E,Boolean(P));jobDone()}}))}}};if(R){processCapturedMissing(captureNonManaged(R,Qe))}this._managedItemInfoOptimization.optimize(Ve,Ke);for(const v of Ke){const E=this._managedItems.get(v);if(E!==undefined){if(!E.startsWith("*")){Ie.add(ge(this.fs,v,"package.json"))}else if(E==="*nested"){Qe.add(ge(this.fs,v,"package.json"))}Ae.set(v,E)}else{Xe++;this.managedItemQueue.add(v,((P,R)=>{if(P){if(this.logger){this.logger.debug(`Error snapshotting managed item ${v}: ${P.stack}`)}jobError()}else if(R){if(!R.startsWith("*")){Ie.add(ge(this.fs,v,"package.json"))}else if(E==="*nested"){Qe.add(ge(this.fs,v,"package.json"))}Ae.set(v,R);jobDone()}else{const process=(E,P)=>{if(E.size===0)return;const R=new Set;for(const P of E){if(P.startsWith(v))R.add(P)}if(R.size>0)P(R)};process(Ie,processCapturedFiles);process(He,processCapturedDirectories);process(Qe,processCapturedMissing);jobDone()}}))}}jobDone()}mergeSnapshots(v,E){const P=new Snapshot;if(v.hasStartTime()&&E.hasStartTime())P.setStartTime(Math.min(v.startTime,E.startTime));else if(E.hasStartTime())P.startTime=E.startTime;else if(v.hasStartTime())P.startTime=v.startTime;if(v.hasFileTimestamps()||E.hasFileTimestamps()){P.setFileTimestamps(mergeMaps(v.fileTimestamps,E.fileTimestamps))}if(v.hasFileHashes()||E.hasFileHashes()){P.setFileHashes(mergeMaps(v.fileHashes,E.fileHashes))}if(v.hasFileTshs()||E.hasFileTshs()){P.setFileTshs(mergeMaps(v.fileTshs,E.fileTshs))}if(v.hasContextTimestamps()||E.hasContextTimestamps()){P.setContextTimestamps(mergeMaps(v.contextTimestamps,E.contextTimestamps))}if(v.hasContextHashes()||E.hasContextHashes()){P.setContextHashes(mergeMaps(v.contextHashes,E.contextHashes))}if(v.hasContextTshs()||E.hasContextTshs()){P.setContextTshs(mergeMaps(v.contextTshs,E.contextTshs))}if(v.hasMissingExistence()||E.hasMissingExistence()){P.setMissingExistence(mergeMaps(v.missingExistence,E.missingExistence))}if(v.hasManagedItemInfo()||E.hasManagedItemInfo()){P.setManagedItemInfo(mergeMaps(v.managedItemInfo,E.managedItemInfo))}if(v.hasManagedFiles()||E.hasManagedFiles()){P.setManagedFiles(mergeSets(v.managedFiles,E.managedFiles))}if(v.hasManagedContexts()||E.hasManagedContexts()){P.setManagedContexts(mergeSets(v.managedContexts,E.managedContexts))}if(v.hasManagedMissing()||E.hasManagedMissing()){P.setManagedMissing(mergeSets(v.managedMissing,E.managedMissing))}if(v.hasChildren()||E.hasChildren()){P.setChildren(mergeSets(v.children,E.children))}if(this._snapshotCache.get(v)===true&&this._snapshotCache.get(E)===true){this._snapshotCache.set(P,true)}return P}checkSnapshotValid(v,E){const P=this._snapshotCache.get(v);if(P!==undefined){this._statTestedSnapshotsCached++;if(typeof P==="boolean"){E(null,P)}else{P.push(E)}return}this._statTestedSnapshotsNotCached++;this._checkSnapshotValidNoCache(v,E)}_checkSnapshotValidNoCache(v,E){let P=undefined;if(v.hasStartTime()){P=v.startTime}let R=1;const jobDone=()=>{if(--R===0){this._snapshotCache.set(v,true);E(null,true)}};const invalid=()=>{if(R>0){R=-1e8;this._snapshotCache.set(v,false);E(null,false)}};const invalidWithError=(v,E)=>{if(this._remainingLogs>0){this._log(v,`error occurred: %s`,E)}invalid()};const checkHash=(v,E,P)=>{if(E!==P){if(this._remainingLogs>0){this._log(v,`hashes differ (%s != %s)`,E,P)}return false}return true};const checkExistence=(v,E,P)=>{if(!E!==!P){if(this._remainingLogs>0){this._log(v,E?"it didn't exist before":"it does no longer exist")}return false}return true};const checkFile=(v,E,R,$=true)=>{if(E===R)return true;if(!checkExistence(v,Boolean(E),Boolean(R)))return false;if(E){if(typeof P==="number"&&E.safeTime>P){if($&&this._remainingLogs>0){this._log(v,`it may have changed (%d) after the start time of the snapshot (%d)`,E.safeTime,P)}return false}if(R.timestamp!==undefined&&E.timestamp!==R.timestamp){if($&&this._remainingLogs>0){this._log(v,`timestamps differ (%d != %d)`,E.timestamp,R.timestamp)}return false}}return true};const checkContext=(v,E,R,$=true)=>{if(E===R)return true;if(!checkExistence(v,Boolean(E),Boolean(R)))return false;if(E){if(typeof P==="number"&&E.safeTime>P){if($&&this._remainingLogs>0){this._log(v,`it may have changed (%d) after the start time of the snapshot (%d)`,E.safeTime,P)}return false}if(R.timestampHash!==undefined&&E.timestampHash!==R.timestampHash){if($&&this._remainingLogs>0){this._log(v,`timestamps hashes differ (%s != %s)`,E.timestampHash,R.timestampHash)}return false}}return true};if(v.hasChildren()){const childCallback=(v,E)=>{if(v||!E)return invalid();else jobDone()};for(const E of v.children){const v=this._snapshotCache.get(E);if(v!==undefined){this._statTestedChildrenCached++;if(typeof v==="boolean"){if(v===false){invalid();return}}else{R++;v.push(childCallback)}}else{this._statTestedChildrenNotCached++;R++;this._checkSnapshotValidNoCache(E,childCallback)}}}if(v.hasFileTimestamps()){const{fileTimestamps:E}=v;this._statTestedEntries+=E.size;for(const[v,P]of E){const E=this._fileTimestamps.get(v);if(E!==undefined){if(E!=="ignore"&&!checkFile(v,E,P)){invalid();return}}else{R++;this.fileTimestampQueue.add(v,((E,R)=>{if(E)return invalidWithError(v,E);if(!checkFile(v,R,P)){invalid()}else{jobDone()}}))}}}const processFileHashSnapshot=(v,E)=>{const P=this._fileHashes.get(v);if(P!==undefined){if(P!=="ignore"&&!checkHash(v,P,E)){invalid();return}}else{R++;this.fileHashQueue.add(v,((P,R)=>{if(P)return invalidWithError(v,P);if(!checkHash(v,R,E)){invalid()}else{jobDone()}}))}};if(v.hasFileHashes()){const{fileHashes:E}=v;this._statTestedEntries+=E.size;for(const[v,P]of E){processFileHashSnapshot(v,P)}}if(v.hasFileTshs()){const{fileTshs:E}=v;this._statTestedEntries+=E.size;for(const[v,P]of E){if(typeof P==="string"){processFileHashSnapshot(v,P)}else{const E=this._fileTimestamps.get(v);if(E!==undefined){if(E==="ignore"||!checkFile(v,E,P,false)){processFileHashSnapshot(v,P&&P.hash)}}else{R++;this.fileTimestampQueue.add(v,((E,R)=>{if(E)return invalidWithError(v,E);if(!checkFile(v,R,P,false)){processFileHashSnapshot(v,P&&P.hash)}jobDone()}))}}}}if(v.hasContextTimestamps()){const{contextTimestamps:E}=v;this._statTestedEntries+=E.size;for(const[v,P]of E){const E=this._contextTimestamps.get(v);if(E==="ignore")continue;let $;if(E!==undefined&&($=getResolvedTimestamp(E))!==undefined){if(!checkContext(v,$,P)){invalid();return}}else{R++;const callback=(E,R)=>{if(E)return invalidWithError(v,E);if(!checkContext(v,R,P)){invalid()}else{jobDone()}};if(E!==undefined){this._resolveContextTimestamp(E,callback)}else{this.getContextTimestamp(v,callback)}}}}const processContextHashSnapshot=(v,E)=>{const P=this._contextHashes.get(v);let $;if(P!==undefined&&($=getResolvedHash(P))!==undefined){if(!checkHash(v,$,E)){invalid();return}}else{R++;const callback=(P,R)=>{if(P)return invalidWithError(v,P);if(!checkHash(v,R,E)){invalid()}else{jobDone()}};if(P!==undefined){this._resolveContextHash(P,callback)}else{this.getContextHash(v,callback)}}};if(v.hasContextHashes()){const{contextHashes:E}=v;this._statTestedEntries+=E.size;for(const[v,P]of E){processContextHashSnapshot(v,P)}}if(v.hasContextTshs()){const{contextTshs:E}=v;this._statTestedEntries+=E.size;for(const[v,P]of E){if(typeof P==="string"){processContextHashSnapshot(v,P)}else{const E=this._contextTimestamps.get(v);if(E==="ignore")continue;let $;if(E!==undefined&&($=getResolvedTimestamp(E))!==undefined){if(!checkContext(v,$,P,false)){processContextHashSnapshot(v,P&&P.hash)}}else{R++;const callback=(E,R)=>{if(E)return invalidWithError(v,E);if(!checkContext(v,R,P,false)){processContextHashSnapshot(v,P&&P.hash)}jobDone()};if(E!==undefined){this._resolveContextTimestamp(E,callback)}else{this.getContextTimestamp(v,callback)}}}}}if(v.hasMissingExistence()){const{missingExistence:E}=v;this._statTestedEntries+=E.size;for(const[v,P]of E){const E=this._fileTimestamps.get(v);if(E!==undefined){if(E!=="ignore"&&!checkExistence(v,Boolean(E),Boolean(P))){invalid();return}}else{R++;this.fileTimestampQueue.add(v,((E,R)=>{if(E)return invalidWithError(v,E);if(!checkExistence(v,Boolean(R),Boolean(P))){invalid()}else{jobDone()}}))}}}if(v.hasManagedItemInfo()){const{managedItemInfo:E}=v;this._statTestedEntries+=E.size;for(const[v,P]of E){const E=this._managedItems.get(v);if(E!==undefined){if(!checkHash(v,E,P)){invalid();return}}else{R++;this.managedItemQueue.add(v,((E,R)=>{if(E)return invalidWithError(v,E);if(!checkHash(v,R,P)){invalid()}else{jobDone()}}))}}}jobDone();if(R>0){const P=[E];E=(v,E)=>{for(const R of P)R(v,E)};this._snapshotCache.set(v,P)}}_readFileTimestamp(v,E){this.fs.stat(v,((P,R)=>{if(P){if(P.code==="ENOENT"){this._fileTimestamps.set(v,null);this._cachedDeprecatedFileTimestamps=undefined;return E(null,null)}return E(P)}let $;if(R.isDirectory()){$={safeTime:0,timestamp:undefined}}else{const v=+R.mtime;if(v)applyMtime(v);$={safeTime:v?v+Je:Infinity,timestamp:v}}this._fileTimestamps.set(v,$);this._cachedDeprecatedFileTimestamps=undefined;E(null,$)}))}_readFileHash(v,E){this.fs.readFile(v,((P,R)=>{if(P){if(P.code==="EISDIR"){this._fileHashes.set(v,"directory");return E(null,"directory")}if(P.code==="ENOENT"){this._fileHashes.set(v,null);return E(null,null)}if(P.code==="ERR_FS_FILE_TOO_LARGE"){this.logger.warn(`Ignoring ${v} for hashing as it's very large`);this._fileHashes.set(v,"too large");return E(null,"too large")}return E(P)}const $=ae(this._hashFunction);$.update(R);const N=$.digest("hex");this._fileHashes.set(v,N);E(null,N)}))}_getFileTimestampAndHash(v,E){const continueWithHash=P=>{const R=this._fileTimestamps.get(v);if(R!==undefined){if(R!=="ignore"){const $={...R,hash:P};this._fileTshs.set(v,$);return E(null,$)}else{this._fileTshs.set(v,P);return E(null,P)}}else{this.fileTimestampQueue.add(v,((R,$)=>{if(R){return E(R)}const N={...$,hash:P};this._fileTshs.set(v,N);return E(null,N)}))}};const P=this._fileHashes.get(v);if(P!==undefined){continueWithHash(P)}else{this.fileHashQueue.add(v,((v,P)=>{if(v){return E(v)}continueWithHash(P)}))}}_readContext({path:v,fromImmutablePath:E,fromManagedItem:P,fromSymlink:R,fromFile:$,fromDirectory:L,reduce:q},K){this.fs.readdir(v,((ae,be)=>{if(ae){if(ae.code==="ENOENT"){return K(null,null)}return K(ae)}const xe=be.map((v=>v.normalize("NFC"))).filter((v=>!/^\./.test(v))).sort();N.map(xe,((N,q)=>{const K=ge(this.fs,v,N);for(const P of this.immutablePathsRegExps){if(P.test(v)){return q(null,E(v))}}for(const P of this.immutablePathsWithSlash){if(v.startsWith(P)){return q(null,E(v))}}for(const E of this.managedPathsRegExps){const R=E.exec(v);if(R){const E=getManagedItem(R[1],v);if(E){return this.managedItemQueue.add(E,((v,E)=>{if(v)return q(v);return q(null,P(E))}))}}}for(const E of this.managedPathsWithSlash){if(v.startsWith(E)){const v=getManagedItem(E,K);if(v){return this.managedItemQueue.add(v,((v,E)=>{if(v)return q(v);return q(null,P(E))}))}}}ve(this.fs,K,((v,E)=>{if(v)return q(v);if(typeof E==="string"){return R(K,E,q)}if(E.isFile()){return $(K,E,q)}if(E.isDirectory()){return L(K,E,q)}q(null,null)}))}),((v,E)=>{if(v)return K(v);const P=q(xe,E);K(null,P)}))}))}_readContextTimestamp(v,E){this._readContext({path:v,fromImmutablePath:()=>null,fromManagedItem:v=>({safeTime:0,timestampHash:v}),fromSymlink:(v,E,P)=>{P(null,{timestampHash:E,symlinks:new Set([E])})},fromFile:(v,E,P)=>{const R=this._fileTimestamps.get(v);if(R!==undefined)return P(null,R==="ignore"?null:R);const $=+E.mtime;if($)applyMtime($);const N={safeTime:$?$+Je:Infinity,timestamp:$};this._fileTimestamps.set(v,N);this._cachedDeprecatedFileTimestamps=undefined;P(null,N)},fromDirectory:(v,E,P)=>{this.contextTimestampQueue.increaseParallelism();this._getUnresolvedContextTimestamp(v,((v,E)=>{this.contextTimestampQueue.decreaseParallelism();P(v,E)}))},reduce:(v,E)=>{let P=undefined;const R=ae(this._hashFunction);for(const E of v)R.update(E);let $=0;for(const v of E){if(!v){R.update("n");continue}if(v.timestamp){R.update("f");R.update(`${v.timestamp}`)}else if(v.timestampHash){R.update("d");R.update(`${v.timestampHash}`)}if(v.symlinks!==undefined){if(P===undefined)P=new Set;addAll(v.symlinks,P)}if(v.safeTime){$=Math.max($,v.safeTime)}}const N=R.digest("hex");const L={safeTime:$,timestampHash:N};if(P)L.symlinks=P;return L}},((P,R)=>{if(P)return E(P);this._contextTimestamps.set(v,R);this._cachedDeprecatedContextTimestamps=undefined;E(null,R)}))}_resolveContextTimestamp(v,E){const P=[];let R=0;Ie(v.symlinks,10,((v,E,$)=>{this._getUnresolvedContextTimestamp(v,((v,N)=>{if(v)return $(v);if(N&&N!=="ignore"){P.push(N.timestampHash);if(N.safeTime){R=Math.max(R,N.safeTime)}if(N.symlinks!==undefined){for(const v of N.symlinks)E(v)}}$()}))}),($=>{if($)return E($);const N=ae(this._hashFunction);N.update(v.timestampHash);if(v.safeTime){R=Math.max(R,v.safeTime)}P.sort();for(const v of P){N.update(v)}E(null,v.resolved={safeTime:R,timestampHash:N.digest("hex")})}))}_readContextHash(v,E){this._readContext({path:v,fromImmutablePath:()=>"",fromManagedItem:v=>v||"",fromSymlink:(v,E,P)=>{P(null,{hash:E,symlinks:new Set([E])})},fromFile:(v,E,P)=>this.getFileHash(v,((v,E)=>{P(v,E||"")})),fromDirectory:(v,E,P)=>{this.contextHashQueue.increaseParallelism();this._getUnresolvedContextHash(v,((v,E)=>{this.contextHashQueue.decreaseParallelism();P(v,E||"")}))},reduce:(v,E)=>{let P=undefined;const R=ae(this._hashFunction);for(const E of v)R.update(E);for(const v of E){if(typeof v==="string"){R.update(v)}else{R.update(v.hash);if(v.symlinks){if(P===undefined)P=new Set;addAll(v.symlinks,P)}}}const $={hash:R.digest("hex")};if(P)$.symlinks=P;return $}},((P,R)=>{if(P)return E(P);this._contextHashes.set(v,R);return E(null,R)}))}_resolveContextHash(v,E){const P=[];Ie(v.symlinks,10,((v,E,R)=>{this._getUnresolvedContextHash(v,((v,$)=>{if(v)return R(v);if($){P.push($.hash);if($.symlinks!==undefined){for(const v of $.symlinks)E(v)}}R()}))}),(R=>{if(R)return E(R);const $=ae(this._hashFunction);$.update(v.hash);P.sort();for(const v of P){$.update(v)}E(null,v.resolved=$.digest("hex"))}))}_readContextTimestampAndHash(v,E){const finalize=(P,R)=>{const $=P==="ignore"?R:{...P,...R};this._contextTshs.set(v,$);E(null,$)};const P=this._contextHashes.get(v);const R=this._contextTimestamps.get(v);if(P!==undefined){if(R!==undefined){finalize(R,P)}else{this.contextTimestampQueue.add(v,((v,R)=>{if(v)return E(v);finalize(R,P)}))}}else{if(R!==undefined){this.contextHashQueue.add(v,((v,P)=>{if(v)return E(v);finalize(R,P)}))}else{this._readContext({path:v,fromImmutablePath:()=>null,fromManagedItem:v=>({safeTime:0,timestampHash:v,hash:v||""}),fromSymlink:(v,E,P)=>{P(null,{timestampHash:E,hash:E,symlinks:new Set([E])})},fromFile:(v,E,P)=>{this._getFileTimestampAndHash(v,P)},fromDirectory:(v,E,P)=>{this.contextTshQueue.increaseParallelism();this.contextTshQueue.add(v,((v,E)=>{this.contextTshQueue.decreaseParallelism();P(v,E)}))},reduce:(v,E)=>{let P=undefined;const R=ae(this._hashFunction);const $=ae(this._hashFunction);for(const E of v){R.update(E);$.update(E)}let N=0;for(const v of E){if(!v){R.update("n");continue}if(typeof v==="string"){R.update("n");$.update(v);continue}if(v.timestamp){R.update("f");R.update(`${v.timestamp}`)}else if(v.timestampHash){R.update("d");R.update(`${v.timestampHash}`)}if(v.symlinks!==undefined){if(P===undefined)P=new Set;addAll(v.symlinks,P)}if(v.safeTime){N=Math.max(N,v.safeTime)}$.update(v.hash)}const L={safeTime:N,timestampHash:R.digest("hex"),hash:$.digest("hex")};if(P)L.symlinks=P;return L}},((P,R)=>{if(P)return E(P);this._contextTshs.set(v,R);return E(null,R)}))}}}_resolveContextTsh(v,E){const P=[];const R=[];let $=0;Ie(v.symlinks,10,((v,E,N)=>{this._getUnresolvedContextTsh(v,((v,L)=>{if(v)return N(v);if(L){P.push(L.hash);if(L.timestampHash)R.push(L.timestampHash);if(L.safeTime){$=Math.max($,L.safeTime)}if(L.symlinks!==undefined){for(const v of L.symlinks)E(v)}}N()}))}),(N=>{if(N)return E(N);const L=ae(this._hashFunction);const q=ae(this._hashFunction);L.update(v.hash);if(v.timestampHash)q.update(v.timestampHash);if(v.safeTime){$=Math.max($,v.safeTime)}P.sort();for(const v of P){L.update(v)}R.sort();for(const v of R){q.update(v)}E(null,v.resolved={safeTime:$,timestampHash:q.digest("hex"),hash:L.digest("hex")})}))}_getManagedItemDirectoryInfo(v,E){this.fs.readdir(v,((P,R)=>{if(P){if(P.code==="ENOENT"||P.code==="ENOTDIR"){return E(null,Ve)}return E(P)}const $=new Set(R.map((E=>ge(this.fs,v,E))));E(null,$)}))}_getManagedItemInfo(v,E){const P=be(this.fs,v);this.managedItemDirectoryQueue.add(P,((P,R)=>{if(P){return E(P)}if(!R.has(v)){this._managedItems.set(v,"*missing");return E(null,"*missing")}if(v.endsWith("node_modules")&&(v.endsWith("/node_modules")||v.endsWith("\\node_modules"))){this._managedItems.set(v,"*node_modules");return E(null,"*node_modules")}const $=ge(this.fs,v,"package.json");this.fs.readFile($,((P,R)=>{if(P){if(P.code==="ENOENT"||P.code==="ENOTDIR"){this.fs.readdir(v,((P,R)=>{if(!P&&R.length===1&&R[0]==="node_modules"){this._managedItems.set(v,"*nested");return E(null,"*nested")}this.logger.warn(`Managed item ${v} isn't a directory or doesn't contain a package.json (see snapshot.managedPaths option)`);return E()}));return}return E(P)}let N;try{N=JSON.parse(R.toString("utf-8"))}catch(v){return E(v)}if(!N.name){this.logger.warn(`${$} doesn't contain a "name" property (see snapshot.managedPaths option)`);return E()}const L=`${N.name||""}@${N.version||""}`;this._managedItems.set(v,L);E(null,L)}))}))}getDeprecatedFileTimestamps(){if(this._cachedDeprecatedFileTimestamps!==undefined)return this._cachedDeprecatedFileTimestamps;const v=new Map;for(const[E,P]of this._fileTimestamps){if(P)v.set(E,typeof P==="object"?P.safeTime:null)}return this._cachedDeprecatedFileTimestamps=v}getDeprecatedContextTimestamps(){if(this._cachedDeprecatedContextTimestamps!==undefined)return this._cachedDeprecatedContextTimestamps;const v=new Map;for(const[E,P]of this._contextTimestamps){if(P)v.set(E,typeof P==="object"?P.safeTime:null)}return this._cachedDeprecatedContextTimestamps=v}}v.exports=FileSystemInfo;v.exports.Snapshot=Snapshot},94147:function(v,E,P){"use strict";const{getEntryRuntime:R,mergeRuntimeOwned:$}=P(65153);const N="FlagAllModulesAsUsedPlugin";class FlagAllModulesAsUsedPlugin{constructor(v){this.explanation=v}apply(v){v.hooks.compilation.tap(N,(v=>{const E=v.moduleGraph;v.hooks.optimizeDependencies.tap(N,(P=>{let N=undefined;for(const[E,{options:P}]of v.entries){N=$(N,R(v,E,P))}for(const v of P){const P=E.getExportsInfo(v);P.setUsedInUnknownWay(N);E.addExtraReason(v,this.explanation);if(v.factoryMeta===undefined){v.factoryMeta={}}v.factoryMeta.sideEffectFree=false}}))}))}}v.exports=FlagAllModulesAsUsedPlugin},72283:function(v,E,P){"use strict";const R=P(78175);const $=P(52029);const N="FlagDependencyExportsPlugin";const L=`webpack.${N}`;class FlagDependencyExportsPlugin{apply(v){v.hooks.compilation.tap(N,(v=>{const E=v.moduleGraph;const P=v.getCache(N);v.hooks.finishModules.tapAsync(N,((N,q)=>{const K=v.getLogger(L);let ae=0;let ge=0;let be=0;let xe=0;let ve=0;let Ae=0;const{moduleMemCaches:Ie}=v;const He=new $;K.time("restore cached provided exports");R.each(N,((v,R)=>{const $=E.getExportsInfo(v);if(!v.buildMeta||!v.buildMeta.exportsType){if($.otherExportsInfo.provided!==null){be++;$.setHasProvideInfo();$.setUnknownExportsProvided();return R()}}if(typeof v.buildInfo.hash!=="string"){xe++;He.enqueue(v);$.setHasProvideInfo();return R()}const N=Ie&&Ie.get(v);const L=N&&N.get(this);if(L!==undefined){ae++;$.restoreProvided(L);return R()}P.get(v.identifier(),v.buildInfo.hash,((E,P)=>{if(E)return R(E);if(P!==undefined){ge++;$.restoreProvided(P)}else{ve++;He.enqueue(v);$.setHasProvideInfo()}R()}))}),(v=>{K.timeEnd("restore cached provided exports");if(v)return q(v);const $=new Set;const N=new Map;let L;let Qe;const Je=new Map;let Ve=true;let Ke=false;const processDependenciesBlock=v=>{for(const E of v.dependencies){processDependency(E)}for(const E of v.blocks){processDependenciesBlock(E)}};const processDependency=v=>{const P=v.getExports(E);if(!P)return;Je.set(v,P)};const processExportsSpec=(v,P)=>{const R=P.exports;const $=P.canMangle;const q=P.from;const K=P.priority;const ae=P.terminalBinding||false;const ge=P.dependencies;if(P.hideExports){for(const E of P.hideExports){const P=Qe.getExportInfo(E);P.unsetTarget(v)}}if(R===true){if(Qe.setUnknownExportsProvided($,P.excludeExports,q&&v,q,K)){Ke=true}}else if(Array.isArray(R)){const mergeExports=(P,R)=>{for(const ge of R){let R;let be=$;let xe=ae;let ve=undefined;let Ae=q;let Ie=undefined;let He=K;let Qe=false;if(typeof ge==="string"){R=ge}else{R=ge.name;if(ge.canMangle!==undefined)be=ge.canMangle;if(ge.export!==undefined)Ie=ge.export;if(ge.exports!==undefined)ve=ge.exports;if(ge.from!==undefined)Ae=ge.from;if(ge.priority!==undefined)He=ge.priority;if(ge.terminalBinding!==undefined)xe=ge.terminalBinding;if(ge.hidden!==undefined)Qe=ge.hidden}const Je=P.getExportInfo(R);if(Je.provided===false||Je.provided===null){Je.provided=true;Ke=true}if(Je.canMangleProvide!==false&&be===false){Je.canMangleProvide=false;Ke=true}if(xe&&!Je.terminalBinding){Je.terminalBinding=true;Ke=true}if(ve){const v=Je.createNestedExportsInfo();mergeExports(v,ve)}if(Ae&&(Qe?Je.unsetTarget(v):Je.setTarget(v,Ae,Ie===undefined?[R]:Ie,He))){Ke=true}const Ve=Je.getTarget(E);let Ye=undefined;if(Ve){const v=E.getExportsInfo(Ve.module);Ye=v.getNestedExportsInfo(Ve.export);const P=N.get(Ve.module);if(P===undefined){N.set(Ve.module,new Set([L]))}else{P.add(L)}}if(Je.exportsInfoOwned){if(Je.exportsInfo.setRedirectNamedTo(Ye)){Ke=true}}else if(Je.exportsInfo!==Ye){Je.exportsInfo=Ye;Ke=true}}};mergeExports(Qe,R)}if(ge){Ve=false;for(const v of ge){const E=N.get(v);if(E===undefined){N.set(v,new Set([L]))}else{E.add(L)}}}};const notifyDependencies=()=>{const v=N.get(L);if(v!==undefined){for(const E of v){He.enqueue(E)}}};K.time("figure out provided exports");while(He.length>0){L=He.dequeue();Ae++;Qe=E.getExportsInfo(L);Ve=true;Ke=false;Je.clear();E.freeze();processDependenciesBlock(L);E.unfreeze();for(const[v,E]of Je){processExportsSpec(v,E)}if(Ve){$.add(L)}if(Ke){notifyDependencies()}}K.timeEnd("figure out provided exports");K.log(`${Math.round(100*(xe+ve)/(ae+ge+ve+xe+be))}% of exports of modules have been determined (${be} no declared exports, ${ve} not cached, ${xe} flagged uncacheable, ${ge} from cache, ${ae} from mem cache, ${Ae-ve-xe} additional calculations due to dependencies)`);K.time("store provided exports into cache");R.each($,((v,R)=>{if(typeof v.buildInfo.hash!=="string"){return R()}const $=E.getExportsInfo(v).getRestoreProvidedData();const N=Ie&&Ie.get(v);if(N){N.set(this,$)}P.store(v.identifier(),v.buildInfo.hash,$,R)}),(v=>{K.timeEnd("store provided exports into cache");q(v)}))}))}));const q=new WeakMap;v.hooks.rebuildModule.tap(N,(v=>{q.set(v,E.getExportsInfo(v).getRestoreProvidedData())}));v.hooks.finishRebuildingModule.tap(N,(v=>{E.getExportsInfo(v).restoreProvided(q.get(v))}))}))}}v.exports=FlagDependencyExportsPlugin},38252:function(v,E,P){"use strict";const R=P(38204);const{UsageState:$}=P(8435);const N=P(1709);const{STAGE_DEFAULT:L}=P(63171);const q=P(41452);const K=P(20179);const{getEntryRuntime:ae,mergeRuntimeOwned:ge}=P(65153);const{NO_EXPORTS_REFERENCED:be,EXPORTS_OBJECT_REFERENCED:xe}=R;const ve="FlagDependencyUsagePlugin";const Ae=`webpack.${ve}`;class FlagDependencyUsagePlugin{constructor(v){this.global=v}apply(v){v.hooks.compilation.tap(ve,(v=>{const E=v.moduleGraph;v.hooks.optimizeDependencies.tap({name:ve,stage:L},(P=>{if(v.moduleMemCaches){throw new Error("optimization.usedExports can't be used with cacheUnaffected as export usage is a global effect")}const R=v.getLogger(Ae);const L=new Map;const ve=new K;const processReferencedModule=(v,P,R,N)=>{const q=E.getExportsInfo(v);if(P.length>0){if(!v.buildMeta||!v.buildMeta.exportsType){if(q.setUsedWithoutInfo(R)){ve.enqueue(v,R)}return}for(const E of P){let P;let N=true;if(Array.isArray(E)){P=E}else{P=E.name;N=E.canMangle!==false}if(P.length===0){if(q.setUsedInUnknownWay(R)){ve.enqueue(v,R)}}else{let E=q;for(let K=0;Kv===$.Unused),$.OnlyPropertiesUsed,R)){const P=E===q?v:L.get(E);if(P){ve.enqueue(P,R)}}E=P;continue}}if(ae.setUsedConditionally((v=>v!==$.Used),$.Used,R)){const P=E===q?v:L.get(E);if(P){ve.enqueue(P,R)}}break}}}}else{if(!N&&v.factoryMeta!==undefined&&v.factoryMeta.sideEffectFree){return}if(q.setUsedForSideEffectsOnly(R)){ve.enqueue(v,R)}}};const processModule=(P,R,$)=>{const L=new Map;const K=new q;K.enqueue(P);for(;;){const P=K.dequeue();if(P===undefined)break;for(const v of P.blocks){if(!this.global&&v.groupOptions&&v.groupOptions.entryOptions){processModule(v,v.groupOptions.entryOptions.runtime||undefined,true)}else{K.enqueue(v)}}for(const $ of P.dependencies){const P=E.getConnection($);if(!P||!P.module){continue}const q=P.getActiveState(R);if(q===false)continue;const{module:K}=P;if(q===N.TRANSITIVE_ONLY){processModule(K,R,false);continue}const ae=L.get(K);if(ae===xe){continue}const ge=v.getDependencyReferencedExports($,R);if(ae===undefined||ae===be||ge===xe){L.set(K,ge)}else if(ae!==undefined&&ge===be){continue}else{let v;if(Array.isArray(ae)){v=new Map;for(const E of ae){if(Array.isArray(E)){v.set(E.join("\n"),E)}else{v.set(E.name.join("\n"),E)}}L.set(K,v)}else{v=ae}for(const E of ge){if(Array.isArray(E)){const P=E.join("\n");const R=v.get(P);if(R===undefined){v.set(P,E)}}else{const P=E.name.join("\n");const R=v.get(P);if(R===undefined||Array.isArray(R)){v.set(P,E)}else{v.set(P,{name:E.name,canMangle:E.canMangle&&R.canMangle})}}}}}}for(const[v,E]of L){if(Array.isArray(E)){processReferencedModule(v,E,R,$)}else{processReferencedModule(v,Array.from(E.values()),R,$)}}};R.time("initialize exports usage");for(const v of P){const P=E.getExportsInfo(v);L.set(P,v);P.setHasUseInfo()}R.timeEnd("initialize exports usage");R.time("trace exports usage in graph");const processEntryDependency=(v,P)=>{const R=E.getModule(v);if(R){processReferencedModule(R,be,P,true)}};let Ie=undefined;for(const[E,{dependencies:P,includeDependencies:R,options:$}]of v.entries){const N=this.global?undefined:ae(v,E,$);for(const v of P){processEntryDependency(v,N)}for(const v of R){processEntryDependency(v,N)}Ie=ge(Ie,N)}for(const E of v.globalEntry.dependencies){processEntryDependency(E,Ie)}for(const E of v.globalEntry.includeDependencies){processEntryDependency(E,Ie)}while(ve.length){const[v,E]=ve.dequeue();processModule(v,E,false)}R.timeEnd("trace exports usage in graph")}))}))}}v.exports=FlagDependencyUsagePlugin},29900:function(v,E,P){"use strict";class Generator{static byType(v){return new ByTypeGenerator(v)}getTypes(v){const E=P(71432);throw new E}getSize(v,E){const R=P(71432);throw new R}generate(v,{dependencyTemplates:E,runtimeTemplate:R,moduleGraph:$,type:N}){const L=P(71432);throw new L}getConcatenationBailoutReason(v,E){return`Module Concatenation is not implemented for ${this.constructor.name}`}updateHash(v,{module:E,runtime:P}){}}class ByTypeGenerator extends Generator{constructor(v){super();this.map=v;this._types=new Set(Object.keys(v))}getTypes(v){return this._types}getSize(v,E){const P=E||"javascript";const R=this.map[P];return R?R.getSize(v,P):0}generate(v,E){const P=E.type;const R=this.map[P];if(!R){throw new Error(`Generator.byType: no generator specified for ${P}`)}return R.generate(v,E)}}v.exports=Generator},59760:function(v,E){"use strict";const connectChunkGroupAndChunk=(v,E)=>{if(v.pushChunk(E)){E.addGroup(v)}};const connectChunkGroupParentAndChild=(v,E)=>{if(v.addChild(E)){E.addParent(v)}};E.connectChunkGroupAndChunk=connectChunkGroupAndChunk;E.connectChunkGroupParentAndChild=connectChunkGroupParentAndChild},80726:function(v,E,P){"use strict";const R=P(16413);v.exports=class HarmonyLinkingError extends R{constructor(v){super(v);this.name="HarmonyLinkingError";this.hideStack=true}}},2202:function(v,E,P){"use strict";const R=P(16413);class HookWebpackError extends R{constructor(v,E){super(v.message);this.name="HookWebpackError";this.hook=E;this.error=v;this.hideStack=true;this.details=`caused by plugins in ${E}\n${v.stack}`;this.stack+=`\n-- inner error --\n${v.stack}`}}v.exports=HookWebpackError;const makeWebpackError=(v,E)=>{if(v instanceof R)return v;return new HookWebpackError(v,E)};v.exports.makeWebpackError=makeWebpackError;const makeWebpackErrorCallback=(v,E)=>(P,$)=>{if(P){if(P instanceof R){v(P);return}v(new HookWebpackError(P,E));return}v(null,$)};v.exports.makeWebpackErrorCallback=makeWebpackErrorCallback;const tryRunOrWebpackError=(v,E)=>{let P;try{P=v()}catch(v){if(v instanceof R){throw v}throw new HookWebpackError(v,E)}return P};v.exports.tryRunOrWebpackError=tryRunOrWebpackError},68064:function(v,E,P){"use strict";const{SyncBailHook:R}=P(79846);const{RawSource:$}=P(51255);const N=P(86255);const L=P(6944);const q=P(5195);const K=P(80346);const ae=P(92529);const ge=P(16413);const be=P(9297);const xe=P(2920);const ve=P(24949);const Ae=P(8082);const Ie=P(29653);const He=P(40751);const Qe=P(51224);const{evaluateToIdentifier:Je}=P(73320);const{find:Ve,isSubset:Ke}=P(64960);const Ye=P(22748);const{compareModulesById:Xe}=P(28273);const{getRuntimeKey:Ze,keyToRuntime:et,forEachRuntime:tt,mergeRuntimeOwned:nt,subtractRuntime:st,intersectRuntime:rt}=P(65153);const{JAVASCRIPT_MODULE_TYPE_AUTO:ot,JAVASCRIPT_MODULE_TYPE_DYNAMIC:it,JAVASCRIPT_MODULE_TYPE_ESM:at,WEBPACK_MODULE_TYPE_RUNTIME:ct}=P(96170);const lt=new WeakMap;const ut="HotModuleReplacementPlugin";class HotModuleReplacementPlugin{static getParserHooks(v){if(!(v instanceof Qe)){throw new TypeError("The 'parser' argument must be an instance of JavascriptParser")}let E=lt.get(v);if(E===undefined){E={hotAcceptCallback:new R(["expression","requests"]),hotAcceptWithoutCallback:new R(["expression","requests"])};lt.set(v,E)}return E}constructor(v){this.options=v||{}}apply(v){const{_backCompat:E}=v;if(v.options.output.strictModuleErrorHandling===undefined)v.options.output.strictModuleErrorHandling=true;const P=[ae.module];const createAcceptHandler=(v,E)=>{const{hotAcceptCallback:R,hotAcceptWithoutCallback:$}=HotModuleReplacementPlugin.getParserHooks(v);return N=>{const L=v.state.module;const q=new be(`${L.moduleArgument}.hot.accept`,N.callee.range,P);q.loc=N.loc;L.addPresentationalDependency(q);L.buildInfo.moduleConcatenationBailout="Hot Module Replacement";if(N.arguments.length>=1){const P=v.evaluateExpression(N.arguments[0]);let q=[];let K=[];if(P.isString()){q=[P]}else if(P.isArray()){q=P.items.filter((v=>v.isString()))}if(q.length>0){q.forEach(((v,P)=>{const R=v.string;const $=new E(R,v.range);$.optional=true;$.loc=Object.create(N.loc);$.loc.index=P;L.addDependency($);K.push(R)}));if(N.arguments.length>1){R.call(N.arguments[1],K);for(let E=1;ER=>{const $=v.state.module;const N=new be(`${$.moduleArgument}.hot.decline`,R.callee.range,P);N.loc=R.loc;$.addPresentationalDependency(N);$.buildInfo.moduleConcatenationBailout="Hot Module Replacement";if(R.arguments.length===1){const P=v.evaluateExpression(R.arguments[0]);let N=[];if(P.isString()){N=[P]}else if(P.isArray()){N=P.items.filter((v=>v.isString()))}N.forEach(((v,P)=>{const N=new E(v.string,v.range);N.optional=true;N.loc=Object.create(R.loc);N.loc.index=P;$.addDependency(N)}))}return true};const createHMRExpressionHandler=v=>E=>{const R=v.state.module;const $=new be(`${R.moduleArgument}.hot`,E.range,P);$.loc=E.loc;R.addPresentationalDependency($);R.buildInfo.moduleConcatenationBailout="Hot Module Replacement";return true};const applyModuleHot=v=>{v.hooks.evaluateIdentifier.for("module.hot").tap({name:ut,before:"NodeStuffPlugin"},(v=>Je("module.hot","module",(()=>["hot"]),true)(v)));v.hooks.call.for("module.hot.accept").tap(ut,createAcceptHandler(v,Ae));v.hooks.call.for("module.hot.decline").tap(ut,createDeclineHandler(v,Ie));v.hooks.expression.for("module.hot").tap(ut,createHMRExpressionHandler(v))};const applyImportMetaHot=v=>{v.hooks.evaluateIdentifier.for("import.meta.webpackHot").tap(ut,(v=>Je("import.meta.webpackHot","import.meta",(()=>["webpackHot"]),true)(v)));v.hooks.call.for("import.meta.webpackHot.accept").tap(ut,createAcceptHandler(v,xe));v.hooks.call.for("import.meta.webpackHot.decline").tap(ut,createDeclineHandler(v,ve));v.hooks.expression.for("import.meta.webpackHot").tap(ut,createHMRExpressionHandler(v))};v.hooks.compilation.tap(ut,((P,{normalModuleFactory:R})=>{if(P.compiler!==v)return;P.dependencyFactories.set(Ae,R);P.dependencyTemplates.set(Ae,new Ae.Template);P.dependencyFactories.set(Ie,R);P.dependencyTemplates.set(Ie,new Ie.Template);P.dependencyFactories.set(xe,R);P.dependencyTemplates.set(xe,new xe.Template);P.dependencyFactories.set(ve,R);P.dependencyTemplates.set(ve,new ve.Template);let be=0;const Qe={};const Je={};P.hooks.record.tap(ut,((v,E)=>{if(E.hash===v.hash)return;const P=v.chunkGraph;E.hash=v.hash;E.hotIndex=be;E.fullHashChunkModuleHashes=Qe;E.chunkModuleHashes=Je;E.chunkHashes={};E.chunkRuntime={};for(const P of v.chunks){E.chunkHashes[P.id]=P.hash;E.chunkRuntime[P.id]=Ze(P.runtime)}E.chunkModuleIds={};for(const R of v.chunks){E.chunkModuleIds[R.id]=Array.from(P.getOrderedChunkModulesIterable(R,Xe(P)),(v=>P.getModuleId(v)))}}));const lt=new Ye;const pt=new Ye;const dt=new Ye;P.hooks.fullHash.tap(ut,(v=>{const E=P.chunkGraph;const R=P.records;for(const v of P.chunks){const getModuleHash=R=>{if(P.codeGenerationResults.has(R,v.runtime)){return P.codeGenerationResults.getHash(R,v.runtime)}else{dt.add(R,v.runtime);return E.getModuleHash(R,v.runtime)}};const $=E.getChunkFullHashModulesSet(v);if($!==undefined){for(const E of $){pt.add(E,v)}}const N=E.getChunkModulesIterable(v);if(N!==undefined){if(R.chunkModuleHashes){if($!==undefined){for(const E of N){const P=`${v.id}|${E.identifier()}`;const N=getModuleHash(E);if($.has(E)){if(R.fullHashChunkModuleHashes[P]!==N){lt.add(E,v)}Qe[P]=N}else{if(R.chunkModuleHashes[P]!==N){lt.add(E,v)}Je[P]=N}}}else{for(const E of N){const P=`${v.id}|${E.identifier()}`;const $=getModuleHash(E);if(R.chunkModuleHashes[P]!==$){lt.add(E,v)}Je[P]=$}}}else{if($!==undefined){for(const E of N){const P=`${v.id}|${E.identifier()}`;const R=getModuleHash(E);if($.has(E)){Qe[P]=R}else{Je[P]=R}}}else{for(const E of N){const P=`${v.id}|${E.identifier()}`;const R=getModuleHash(E);Je[P]=R}}}}}be=R.hotIndex||0;if(lt.size>0)be++;v.update(`${be}`)}));P.hooks.processAssets.tap({name:ut,stage:L.PROCESS_ASSETS_STAGE_ADDITIONAL},(()=>{const v=P.chunkGraph;const R=P.records;if(R.hash===P.hash)return;if(!R.chunkModuleHashes||!R.chunkHashes||!R.chunkModuleIds){return}for(const[E,$]of pt){const N=`${$.id}|${E.identifier()}`;const L=dt.has(E,$.runtime)?v.getModuleHash(E,$.runtime):P.codeGenerationResults.getHash(E,$.runtime);if(R.chunkModuleHashes[N]!==L){lt.add(E,$)}Je[N]=L}const L=new Map;let K;for(const v of Object.keys(R.chunkRuntime)){const E=et(R.chunkRuntime[v]);K=nt(K,E)}tt(K,(v=>{const{path:E,info:$}=P.getPathWithInfo(P.outputOptions.hotUpdateMainFilename,{hash:R.hash,runtime:v});L.set(v,{updatedChunkIds:new Set,removedChunkIds:new Set,removedModules:new Set,filename:E,assetInfo:$})}));if(L.size===0)return;const ae=new Map;for(const E of P.modules){const P=v.getModuleId(E);ae.set(P,E)}const be=new Set;for(const $ of Object.keys(R.chunkHashes)){const ge=et(R.chunkRuntime[$]);const xe=[];for(const v of R.chunkModuleIds[$]){const E=ae.get(v);if(E===undefined){be.add(v)}else{xe.push(E)}}let ve;let Ae;let Ie;let He;let Qe;let Je;let Ke;const Ye=Ve(P.chunks,(v=>`${v.id}`===$));if(Ye){ve=Ye.id;Je=rt(Ye.runtime,K);if(Je===undefined)continue;Ae=v.getChunkModules(Ye).filter((v=>lt.has(v,Ye)));Ie=Array.from(v.getChunkRuntimeModulesIterable(Ye)).filter((v=>lt.has(v,Ye)));const E=v.getChunkFullHashModulesIterable(Ye);He=E&&Array.from(E).filter((v=>lt.has(v,Ye)));const P=v.getChunkDependentHashModulesIterable(Ye);Qe=P&&Array.from(P).filter((v=>lt.has(v,Ye)));Ke=st(ge,Je)}else{ve=`${+$}`===$?+$:$;Ke=ge;Je=ge}if(Ke){tt(Ke,(v=>{L.get(v).removedChunkIds.add(ve)}));for(const E of xe){const N=`${$}|${E.identifier()}`;const q=R.chunkModuleHashes[N];const K=v.getModuleRuntimes(E);if(ge===Je&&K.has(Je)){const R=dt.has(E,Je)?v.getModuleHash(E,Je):P.codeGenerationResults.getHash(E,Je);if(R!==q){if(E.type===ct){Ie=Ie||[];Ie.push(E)}else{Ae=Ae||[];Ae.push(E)}}}else{tt(Ke,(v=>{for(const E of K){if(typeof E==="string"){if(E===v)return}else if(E!==undefined){if(E.has(v))return}}L.get(v).removedModules.add(E)}))}}}if(Ae&&Ae.length>0||Ie&&Ie.length>0){const $=new q;if(E)N.setChunkGraphForChunk($,v);$.id=ve;$.runtime=Je;if(Ye){for(const v of Ye.groupsIterable)$.addGroup(v)}v.attachModules($,Ae||[]);v.attachRuntimeModules($,Ie||[]);if(He){v.attachFullHashModules($,He)}if(Qe){v.attachDependentHashModules($,Qe)}const K=P.getRenderManifest({chunk:$,hash:R.hash,fullHash:R.hash,outputOptions:P.outputOptions,moduleTemplates:P.moduleTemplates,dependencyTemplates:P.dependencyTemplates,codeGenerationResults:P.codeGenerationResults,runtimeTemplate:P.runtimeTemplate,moduleGraph:P.moduleGraph,chunkGraph:v});for(const v of K){let E;let R;if("filename"in v){E=v.filename;R=v.info}else{({path:E,info:R}=P.getPathWithInfo(v.filenameTemplate,v.pathOptions))}const $=v.render();P.additionalChunkAssets.push(E);P.emitAsset(E,$,{hotModuleReplacement:true,...R});if(Ye){Ye.files.add(E);P.hooks.chunkAsset.call(Ye,E)}}tt(Je,(v=>{L.get(v).updatedChunkIds.add(ve)}))}}const xe=Array.from(be);const ve=new Map;for(const{removedChunkIds:v,removedModules:E,updatedChunkIds:R,filename:$,assetInfo:N}of L.values()){const L=ve.get($);if(L&&(!Ke(L.removedChunkIds,v)||!Ke(L.removedModules,E)||!Ke(L.updatedChunkIds,R))){P.warnings.push(new ge(`HotModuleReplacementPlugin\nThe configured output.hotUpdateMainFilename doesn't lead to unique filenames per runtime and HMR update differs between runtimes.\nThis might lead to incorrect runtime behavior of the applied update.\nTo fix this, make sure to include [runtime] in the output.hotUpdateMainFilename option, or use the default config.`));for(const E of v)L.removedChunkIds.add(E);for(const v of E)L.removedModules.add(v);for(const v of R)L.updatedChunkIds.add(v);continue}ve.set($,{removedChunkIds:v,removedModules:E,updatedChunkIds:R,assetInfo:N})}for(const[E,{removedChunkIds:R,removedModules:N,updatedChunkIds:L,assetInfo:q}]of ve){const K={c:Array.from(L),r:Array.from(R),m:N.size===0?xe:xe.concat(Array.from(N,(E=>v.getModuleId(E))))};const ae=new $(JSON.stringify(K));P.emitAsset(E,ae,{hotModuleReplacement:true,...q})}}));P.hooks.additionalTreeRuntimeRequirements.tap(ut,((v,E)=>{E.add(ae.hmrDownloadManifest);E.add(ae.hmrDownloadUpdateHandlers);E.add(ae.interceptModuleExecution);E.add(ae.moduleCache);P.addRuntimeModule(v,new He)}));R.hooks.parser.for(ot).tap(ut,(v=>{applyModuleHot(v);applyImportMetaHot(v)}));R.hooks.parser.for(it).tap(ut,(v=>{applyModuleHot(v)}));R.hooks.parser.for(at).tap(ut,(v=>{applyImportMetaHot(v)}));K.getCompilationHooks(P).loader.tap(ut,(v=>{v.hot=true}))}))}}v.exports=HotModuleReplacementPlugin},5195:function(v,E,P){"use strict";const R=P(56738);class HotUpdateChunk extends R{constructor(){super()}}v.exports=HotUpdateChunk},68896:function(v,E,P){"use strict";const R=P(22362);class IgnoreErrorModuleFactory extends R{constructor(v){super();this.normalModuleFactory=v}create(v,E){this.normalModuleFactory.create(v,((v,P)=>E(null,P)))}}v.exports=IgnoreErrorModuleFactory},82388:function(v,E,P){"use strict";const R=P(21596);const $=R(P(96897),(()=>P(63072)),{name:"Ignore Plugin",baseDataPath:"options"});class IgnorePlugin{constructor(v){$(v);this.options=v;this.checkIgnore=this.checkIgnore.bind(this)}checkIgnore(v){if("checkResource"in this.options&&this.options.checkResource&&this.options.checkResource(v.request,v.context)){return false}if("resourceRegExp"in this.options&&this.options.resourceRegExp&&this.options.resourceRegExp.test(v.request)){if("contextRegExp"in this.options&&this.options.contextRegExp){if(this.options.contextRegExp.test(v.context)){return false}}else{return false}}}apply(v){v.hooks.normalModuleFactory.tap("IgnorePlugin",(v=>{v.hooks.beforeResolve.tap("IgnorePlugin",this.checkIgnore)}));v.hooks.contextModuleFactory.tap("IgnorePlugin",(v=>{v.hooks.beforeResolve.tap("IgnorePlugin",this.checkIgnore)}))}}v.exports=IgnorePlugin},89997:function(v){"use strict";class IgnoreWarningsPlugin{constructor(v){this._ignoreWarnings=v}apply(v){v.hooks.compilation.tap("IgnoreWarningsPlugin",(v=>{v.hooks.processWarnings.tap("IgnoreWarningsPlugin",(E=>E.filter((E=>!this._ignoreWarnings.some((P=>P(E,v)))))))}))}}v.exports=IgnoreWarningsPlugin},23596:function(v,E,P){"use strict";const{ConcatSource:R}=P(51255);const $=P(41718);const extractFragmentIndex=(v,E)=>[v,E];const sortFragmentWithIndex=([v,E],[P,R])=>{const $=v.stage-P.stage;if($!==0)return $;const N=v.position-P.position;if(N!==0)return N;return E-R};class InitFragment{constructor(v,E,P,R,$){this.content=v;this.stage=E;this.position=P;this.key=R;this.endContent=$}getContent(v){return this.content}getEndContent(v){return this.endContent}static addToSource(v,E,P){if(E.length>0){const $=E.map(extractFragmentIndex).sort(sortFragmentWithIndex);const N=new Map;for(const[v]of $){if(typeof v.mergeAll==="function"){if(!v.key){throw new Error(`InitFragment with mergeAll function must have a valid key: ${v.constructor.name}`)}const E=N.get(v.key);if(E===undefined){N.set(v.key,v)}else if(Array.isArray(E)){E.push(v)}else{N.set(v.key,[E,v])}continue}else if(typeof v.merge==="function"){const E=N.get(v.key);if(E!==undefined){N.set(v.key,v.merge(E));continue}}N.set(v.key||Symbol(),v)}const L=new R;const q=[];for(let v of N.values()){if(Array.isArray(v)){v=v[0].mergeAll(v)}L.add(v.getContent(P));const E=v.getEndContent(P);if(E){q.push(E)}}L.add(v);for(const v of q.reverse()){L.add(v)}return L}else{return v}}serialize(v){const{write:E}=v;E(this.content);E(this.stage);E(this.position);E(this.key);E(this.endContent)}deserialize(v){const{read:E}=v;this.content=E();this.stage=E();this.position=E();this.key=E();this.endContent=E()}}$(InitFragment,"webpack/lib/InitFragment");InitFragment.prototype.merge=undefined;InitFragment.STAGE_CONSTANTS=10;InitFragment.STAGE_ASYNC_BOUNDARY=20;InitFragment.STAGE_HARMONY_EXPORTS=30;InitFragment.STAGE_HARMONY_IMPORTS=40;InitFragment.STAGE_PROVIDES=50;InitFragment.STAGE_ASYNC_DEPENDENCIES=60;InitFragment.STAGE_ASYNC_HARMONY_IMPORTS=70;v.exports=InitFragment},21092:function(v,E,P){"use strict";const R=P(16413);const $=P(41718);class InvalidDependenciesModuleWarning extends R{constructor(v,E){const P=E?Array.from(E).sort():[];const R=P.map((v=>` * ${JSON.stringify(v)}`));super(`Invalid dependencies have been reported by plugins or loaders for this module. All reported dependencies need to be absolute paths.\nInvalid dependencies may lead to broken watching and caching.\nAs best effort we try to convert all invalid values to absolute paths and converting globs into context dependencies, but this is deprecated behavior.\nLoaders: Pass absolute paths to this.addDependency (existing files), this.addMissingDependency (not existing files), and this.addContextDependency (directories).\nPlugins: Pass absolute paths to fileDependencies (existing files), missingDependencies (not existing files), and contextDependencies (directories).\nGlobs: They are not supported. Pass absolute path to the directory as context dependencies.\nThe following invalid values have been reported:\n${R.slice(0,3).join("\n")}${R.length>3?"\n * and more ...":""}`);this.name="InvalidDependenciesModuleWarning";this.details=R.slice(3).join("\n");this.module=v}}$(InvalidDependenciesModuleWarning,"webpack/lib/InvalidDependenciesModuleWarning");v.exports=InvalidDependenciesModuleWarning},94685:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$,JAVASCRIPT_MODULE_TYPE_ESM:N}=P(96170);const L=P(48404);const q="JavascriptMetaInfoPlugin";class JavascriptMetaInfoPlugin{apply(v){v.hooks.compilation.tap(q,((v,{normalModuleFactory:E})=>{const handler=v=>{v.hooks.call.for("eval").tap(q,(()=>{const E=v.state.module.buildInfo;E.moduleConcatenationBailout="eval()";E.usingEval=true;const P=L.getTopLevelSymbol(v.state);if(P){L.addUsage(v.state,null,P)}else{L.bailout(v.state)}}));v.hooks.finish.tap(q,(()=>{const E=v.state.module.buildInfo;let P=E.topLevelDeclarations;if(P===undefined){P=E.topLevelDeclarations=new Set}for(const E of v.scope.definitions.asSet()){const R=v.getFreeInfoFromVariable(E);if(R===undefined){P.add(E)}}}))};E.hooks.parser.for(R).tap(q,handler);E.hooks.parser.for($).tap(q,handler);E.hooks.parser.for(N).tap(q,handler)}))}}v.exports=JavascriptMetaInfoPlugin},63855:function(v,E,P){"use strict";const R=P(78175);const $=P(99520);const{someInIterable:N}=P(6719);const{compareModulesById:L}=P(28273);const{dirname:q,mkdirp:K}=P(43860);class LibManifestPlugin{constructor(v){this.options=v}apply(v){v.hooks.emit.tapAsync({name:"LibManifestPlugin",stage:110},((E,P)=>{const ae=E.moduleGraph;R.forEach(Array.from(E.chunks),((P,R)=>{if(!P.canBeInitial()){R();return}const ge=E.chunkGraph;const be=E.getPath(this.options.path,{chunk:P});const xe=this.options.name&&E.getPath(this.options.name,{chunk:P,contentHashType:"javascript"});const ve=Object.create(null);for(const E of ge.getOrderedChunkModulesIterable(P,L(ge))){if(this.options.entryOnly&&!N(ae.getIncomingConnections(E),(v=>v.dependency instanceof $))){continue}const P=E.libIdent({context:this.options.context||v.options.context,associatedObjectForCache:v.root});if(P){const v=ae.getExportsInfo(E);const R=v.getProvidedExports();const $={id:ge.getModuleId(E),buildMeta:E.buildMeta,exports:Array.isArray(R)?R:undefined};ve[P]=$}}const Ae={name:xe,type:this.options.type,content:ve};const Ie=this.options.format?JSON.stringify(Ae,null,2):JSON.stringify(Ae);const He=Buffer.from(Ie,"utf8");K(v.intermediateFileSystem,q(v.intermediateFileSystem,be),(E=>{if(E)return R(E);v.intermediateFileSystem.writeFile(be,He,R)}))}),P)}))}}v.exports=LibManifestPlugin},79775:function(v,E,P){"use strict";const R=P(61201);class LibraryTemplatePlugin{constructor(v,E,P,R,$){this.library={type:E||"var",name:v,umdNamedDefine:P,auxiliaryComment:R,export:$}}apply(v){const{output:E}=v.options;E.library=this.library;new R(this.library.type).apply(v)}}v.exports=LibraryTemplatePlugin},94843:function(v,E,P){"use strict";const R=P(15321);const $=P(80346);const N=P(21596);const L=N(P(67583),(()=>P(30653)),{name:"Loader Options Plugin",baseDataPath:"options"});class LoaderOptionsPlugin{constructor(v={}){L(v);if(typeof v!=="object")v={};if(!v.test){const E={test:()=>true};v.test=E}this.options=v}apply(v){const E=this.options;v.hooks.compilation.tap("LoaderOptionsPlugin",(v=>{$.getCompilationHooks(v).loader.tap("LoaderOptionsPlugin",((v,P)=>{const $=P.resource;if(!$)return;const N=$.indexOf("?");if(R.matchObject(E,N<0?$:$.slice(0,N))){for(const P of Object.keys(E)){if(P==="include"||P==="exclude"||P==="test"){continue}v[P]=E[P]}}}))}))}}v.exports=LoaderOptionsPlugin},11249:function(v,E,P){"use strict";const R=P(80346);class LoaderTargetPlugin{constructor(v){this.target=v}apply(v){v.hooks.compilation.tap("LoaderTargetPlugin",(v=>{R.getCompilationHooks(v).loader.tap("LoaderTargetPlugin",(v=>{v.target=this.target}))}))}}v.exports=LoaderTargetPlugin},34617:function(v,E,P){"use strict";const{SyncWaterfallHook:R}=P(79846);const $=P(73837);const N=P(92529);const L=P(25689);const q=L((()=>P(42453)));const K=L((()=>P(3635)));const ae=L((()=>P(35974)));class MainTemplate{constructor(v,E){this._outputOptions=v||{};this.hooks=Object.freeze({renderManifest:{tap:$.deprecate(((v,P)=>{E.hooks.renderManifest.tap(v,((v,E)=>{if(!E.chunk.hasRuntime())return v;return P(v,E)}))}),"MainTemplate.hooks.renderManifest is deprecated (use Compilation.hooks.renderManifest instead)","DEP_WEBPACK_MAIN_TEMPLATE_RENDER_MANIFEST")},modules:{tap:()=>{throw new Error("MainTemplate.hooks.modules has been removed (there is no replacement, please create an issue to request that)")}},moduleObj:{tap:()=>{throw new Error("MainTemplate.hooks.moduleObj has been removed (there is no replacement, please create an issue to request that)")}},require:{tap:$.deprecate(((v,P)=>{q().getCompilationHooks(E).renderRequire.tap(v,P)}),"MainTemplate.hooks.require is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderRequire instead)","DEP_WEBPACK_MAIN_TEMPLATE_REQUIRE")},beforeStartup:{tap:()=>{throw new Error("MainTemplate.hooks.beforeStartup has been removed (use RuntimeGlobals.startupOnlyBefore instead)")}},startup:{tap:()=>{throw new Error("MainTemplate.hooks.startup has been removed (use RuntimeGlobals.startup instead)")}},afterStartup:{tap:()=>{throw new Error("MainTemplate.hooks.afterStartup has been removed (use RuntimeGlobals.startupOnlyAfter instead)")}},render:{tap:$.deprecate(((v,P)=>{q().getCompilationHooks(E).render.tap(v,((v,R)=>{if(R.chunkGraph.getNumberOfEntryModules(R.chunk)===0||!R.chunk.hasRuntime()){return v}return P(v,R.chunk,E.hash,E.moduleTemplates.javascript,E.dependencyTemplates)}))}),"MainTemplate.hooks.render is deprecated (use JavascriptModulesPlugin.getCompilationHooks().render instead)","DEP_WEBPACK_MAIN_TEMPLATE_RENDER")},renderWithEntry:{tap:$.deprecate(((v,P)=>{q().getCompilationHooks(E).render.tap(v,((v,R)=>{if(R.chunkGraph.getNumberOfEntryModules(R.chunk)===0||!R.chunk.hasRuntime()){return v}return P(v,R.chunk,E.hash)}))}),"MainTemplate.hooks.renderWithEntry is deprecated (use JavascriptModulesPlugin.getCompilationHooks().render instead)","DEP_WEBPACK_MAIN_TEMPLATE_RENDER_WITH_ENTRY")},assetPath:{tap:$.deprecate(((v,P)=>{E.hooks.assetPath.tap(v,P)}),"MainTemplate.hooks.assetPath is deprecated (use Compilation.hooks.assetPath instead)","DEP_WEBPACK_MAIN_TEMPLATE_ASSET_PATH"),call:$.deprecate(((v,P)=>E.getAssetPath(v,P)),"MainTemplate.hooks.assetPath is deprecated (use Compilation.hooks.assetPath instead)","DEP_WEBPACK_MAIN_TEMPLATE_ASSET_PATH")},hash:{tap:$.deprecate(((v,P)=>{E.hooks.fullHash.tap(v,P)}),"MainTemplate.hooks.hash is deprecated (use Compilation.hooks.fullHash instead)","DEP_WEBPACK_MAIN_TEMPLATE_HASH")},hashForChunk:{tap:$.deprecate(((v,P)=>{q().getCompilationHooks(E).chunkHash.tap(v,((v,E)=>{if(!v.hasRuntime())return;return P(E,v)}))}),"MainTemplate.hooks.hashForChunk is deprecated (use JavascriptModulesPlugin.getCompilationHooks().chunkHash instead)","DEP_WEBPACK_MAIN_TEMPLATE_HASH_FOR_CHUNK")},globalHashPaths:{tap:$.deprecate((()=>{}),"MainTemplate.hooks.globalHashPaths has been removed (it's no longer needed)","DEP_WEBPACK_MAIN_TEMPLATE_HASH_FOR_CHUNK")},globalHash:{tap:$.deprecate((()=>{}),"MainTemplate.hooks.globalHash has been removed (it's no longer needed)","DEP_WEBPACK_MAIN_TEMPLATE_HASH_FOR_CHUNK")},hotBootstrap:{tap:()=>{throw new Error("MainTemplate.hooks.hotBootstrap has been removed (use your own RuntimeModule instead)")}},bootstrap:new R(["source","chunk","hash","moduleTemplate","dependencyTemplates"]),localVars:new R(["source","chunk","hash"]),requireExtensions:new R(["source","chunk","hash"]),requireEnsure:new R(["source","chunk","hash","chunkIdExpression"]),get jsonpScript(){const v=ae().getCompilationHooks(E);return v.createScript},get linkPrefetch(){const v=K().getCompilationHooks(E);return v.linkPrefetch},get linkPreload(){const v=K().getCompilationHooks(E);return v.linkPreload}});this.renderCurrentHashCode=$.deprecate(((v,E)=>{if(E){return`${N.getFullHash} ? ${N.getFullHash}().slice(0, ${E}) : ${v.slice(0,E)}`}return`${N.getFullHash} ? ${N.getFullHash}() : ${v}`}),"MainTemplate.renderCurrentHashCode is deprecated (use RuntimeGlobals.getFullHash runtime function instead)","DEP_WEBPACK_MAIN_TEMPLATE_RENDER_CURRENT_HASH_CODE");this.getPublicPath=$.deprecate((v=>E.getAssetPath(E.outputOptions.publicPath,v)),"MainTemplate.getPublicPath is deprecated (use Compilation.getAssetPath(compilation.outputOptions.publicPath, options) instead)","DEP_WEBPACK_MAIN_TEMPLATE_GET_PUBLIC_PATH");this.getAssetPath=$.deprecate(((v,P)=>E.getAssetPath(v,P)),"MainTemplate.getAssetPath is deprecated (use Compilation.getAssetPath instead)","DEP_WEBPACK_MAIN_TEMPLATE_GET_ASSET_PATH");this.getAssetPathWithInfo=$.deprecate(((v,P)=>E.getAssetPathWithInfo(v,P)),"MainTemplate.getAssetPathWithInfo is deprecated (use Compilation.getAssetPath instead)","DEP_WEBPACK_MAIN_TEMPLATE_GET_ASSET_PATH_WITH_INFO")}}Object.defineProperty(MainTemplate.prototype,"requireFn",{get:$.deprecate((()=>N.require),`MainTemplate.requireFn is deprecated (use "${N.require}")`,"DEP_WEBPACK_MAIN_TEMPLATE_REQUIRE_FN")});Object.defineProperty(MainTemplate.prototype,"outputOptions",{get:$.deprecate((function(){return this._outputOptions}),"MainTemplate.outputOptions is deprecated (use Compilation.outputOptions instead)","DEP_WEBPACK_MAIN_TEMPLATE_OUTPUT_OPTIONS")});v.exports=MainTemplate},72011:function(v,E,P){"use strict";const R=P(73837);const $=P(86255);const N=P(60890);const L=P(49188);const q=P(92529);const{first:K}=P(64960);const{compareChunksById:ae}=P(28273);const ge=P(41718);const be={};let xe=1e3;const ve=new Set(["unknown"]);const Ae=new Set(["javascript"]);const Ie=R.deprecate(((v,E)=>v.needRebuild(E.fileSystemInfo.getDeprecatedFileTimestamps(),E.fileSystemInfo.getDeprecatedContextTimestamps())),"Module.needRebuild is deprecated in favor of Module.needBuild","DEP_WEBPACK_MODULE_NEED_REBUILD");class Module extends N{constructor(v,E=null,P=null){super();this.type=v;this.context=E;this.layer=P;this.needId=true;this.debugId=xe++;this.resolveOptions=be;this.factoryMeta=undefined;this.useSourceMap=false;this.useSimpleSourceMap=false;this._warnings=undefined;this._errors=undefined;this.buildMeta=undefined;this.buildInfo=undefined;this.presentationalDependencies=undefined;this.codeGenerationDependencies=undefined}get id(){return $.getChunkGraphForModule(this,"Module.id","DEP_WEBPACK_MODULE_ID").getModuleId(this)}set id(v){if(v===""){this.needId=false;return}$.getChunkGraphForModule(this,"Module.id","DEP_WEBPACK_MODULE_ID").setModuleId(this,v)}get hash(){return $.getChunkGraphForModule(this,"Module.hash","DEP_WEBPACK_MODULE_HASH").getModuleHash(this,undefined)}get renderedHash(){return $.getChunkGraphForModule(this,"Module.renderedHash","DEP_WEBPACK_MODULE_RENDERED_HASH").getRenderedModuleHash(this,undefined)}get profile(){return L.getModuleGraphForModule(this,"Module.profile","DEP_WEBPACK_MODULE_PROFILE").getProfile(this)}set profile(v){L.getModuleGraphForModule(this,"Module.profile","DEP_WEBPACK_MODULE_PROFILE").setProfile(this,v)}get index(){return L.getModuleGraphForModule(this,"Module.index","DEP_WEBPACK_MODULE_INDEX").getPreOrderIndex(this)}set index(v){L.getModuleGraphForModule(this,"Module.index","DEP_WEBPACK_MODULE_INDEX").setPreOrderIndex(this,v)}get index2(){return L.getModuleGraphForModule(this,"Module.index2","DEP_WEBPACK_MODULE_INDEX2").getPostOrderIndex(this)}set index2(v){L.getModuleGraphForModule(this,"Module.index2","DEP_WEBPACK_MODULE_INDEX2").setPostOrderIndex(this,v)}get depth(){return L.getModuleGraphForModule(this,"Module.depth","DEP_WEBPACK_MODULE_DEPTH").getDepth(this)}set depth(v){L.getModuleGraphForModule(this,"Module.depth","DEP_WEBPACK_MODULE_DEPTH").setDepth(this,v)}get issuer(){return L.getModuleGraphForModule(this,"Module.issuer","DEP_WEBPACK_MODULE_ISSUER").getIssuer(this)}set issuer(v){L.getModuleGraphForModule(this,"Module.issuer","DEP_WEBPACK_MODULE_ISSUER").setIssuer(this,v)}get usedExports(){return L.getModuleGraphForModule(this,"Module.usedExports","DEP_WEBPACK_MODULE_USED_EXPORTS").getUsedExports(this,undefined)}get optimizationBailout(){return L.getModuleGraphForModule(this,"Module.optimizationBailout","DEP_WEBPACK_MODULE_OPTIMIZATION_BAILOUT").getOptimizationBailout(this)}get optional(){return this.isOptional(L.getModuleGraphForModule(this,"Module.optional","DEP_WEBPACK_MODULE_OPTIONAL"))}addChunk(v){const E=$.getChunkGraphForModule(this,"Module.addChunk","DEP_WEBPACK_MODULE_ADD_CHUNK");if(E.isModuleInChunk(this,v))return false;E.connectChunkAndModule(v,this);return true}removeChunk(v){return $.getChunkGraphForModule(this,"Module.removeChunk","DEP_WEBPACK_MODULE_REMOVE_CHUNK").disconnectChunkAndModule(v,this)}isInChunk(v){return $.getChunkGraphForModule(this,"Module.isInChunk","DEP_WEBPACK_MODULE_IS_IN_CHUNK").isModuleInChunk(this,v)}isEntryModule(){return $.getChunkGraphForModule(this,"Module.isEntryModule","DEP_WEBPACK_MODULE_IS_ENTRY_MODULE").isEntryModule(this)}getChunks(){return $.getChunkGraphForModule(this,"Module.getChunks","DEP_WEBPACK_MODULE_GET_CHUNKS").getModuleChunks(this)}getNumberOfChunks(){return $.getChunkGraphForModule(this,"Module.getNumberOfChunks","DEP_WEBPACK_MODULE_GET_NUMBER_OF_CHUNKS").getNumberOfModuleChunks(this)}get chunksIterable(){return $.getChunkGraphForModule(this,"Module.chunksIterable","DEP_WEBPACK_MODULE_CHUNKS_ITERABLE").getOrderedModuleChunksIterable(this,ae)}isProvided(v){return L.getModuleGraphForModule(this,"Module.usedExports","DEP_WEBPACK_MODULE_USED_EXPORTS").isExportProvided(this,v)}get exportsArgument(){return this.buildInfo&&this.buildInfo.exportsArgument||"exports"}get moduleArgument(){return this.buildInfo&&this.buildInfo.moduleArgument||"module"}getExportsType(v,E){switch(this.buildMeta&&this.buildMeta.exportsType){case"flagged":return E?"default-with-named":"namespace";case"namespace":return"namespace";case"default":switch(this.buildMeta.defaultObject){case"redirect":return"default-with-named";case"redirect-warn":return E?"default-only":"default-with-named";default:return"default-only"}case"dynamic":{if(E)return"default-with-named";const handleDefault=()=>{switch(this.buildMeta.defaultObject){case"redirect":case"redirect-warn":return"default-with-named";default:return"default-only"}};const P=v.getReadOnlyExportInfo(this,"__esModule");if(P.provided===false){return handleDefault()}const R=P.getTarget(v);if(!R||!R.export||R.export.length!==1||R.export[0]!=="__esModule"){return"dynamic"}switch(R.module.buildMeta&&R.module.buildMeta.exportsType){case"flagged":case"namespace":return"namespace";case"default":return handleDefault();default:return"dynamic"}}default:return E?"default-with-named":"dynamic"}}addPresentationalDependency(v){if(this.presentationalDependencies===undefined){this.presentationalDependencies=[]}this.presentationalDependencies.push(v)}addCodeGenerationDependency(v){if(this.codeGenerationDependencies===undefined){this.codeGenerationDependencies=[]}this.codeGenerationDependencies.push(v)}clearDependenciesAndBlocks(){if(this.presentationalDependencies!==undefined){this.presentationalDependencies.length=0}if(this.codeGenerationDependencies!==undefined){this.codeGenerationDependencies.length=0}super.clearDependenciesAndBlocks()}addWarning(v){if(this._warnings===undefined){this._warnings=[]}this._warnings.push(v)}getWarnings(){return this._warnings}getNumberOfWarnings(){return this._warnings!==undefined?this._warnings.length:0}addError(v){if(this._errors===undefined){this._errors=[]}this._errors.push(v)}getErrors(){return this._errors}getNumberOfErrors(){return this._errors!==undefined?this._errors.length:0}clearWarningsAndErrors(){if(this._warnings!==undefined){this._warnings.length=0}if(this._errors!==undefined){this._errors.length=0}}isOptional(v){let E=false;for(const P of v.getIncomingConnections(this)){if(!P.dependency||!P.dependency.optional||!P.isTargetActive(undefined)){return false}E=true}return E}isAccessibleInChunk(v,E,P){for(const P of E.groupsIterable){if(!this.isAccessibleInChunkGroup(v,P))return false}return true}isAccessibleInChunkGroup(v,E,P){const R=new Set([E]);e:for(const $ of R){for(const E of $.chunks){if(E!==P&&v.isModuleInChunk(this,E))continue e}if(E.isInitial())return false;for(const v of E.parentsIterable)R.add(v)}return true}hasReasonForChunk(v,E,P){for(const[R,$]of E.getIncomingConnectionsByOriginModule(this)){if(!$.some((E=>E.isTargetActive(v.runtime))))continue;for(const E of P.getModuleChunksIterable(R)){if(!this.isAccessibleInChunk(P,E,v))return true}}return false}hasReasons(v,E){for(const P of v.getIncomingConnections(this)){if(P.isTargetActive(E))return true}return false}toString(){return`Module[${this.debugId}: ${this.identifier()}]`}needBuild(v,E){E(null,!this.buildMeta||this.needRebuild===Module.prototype.needRebuild||Ie(this,v))}needRebuild(v,E){return true}updateHash(v,E={chunkGraph:$.getChunkGraphForModule(this,"Module.updateHash","DEP_WEBPACK_MODULE_UPDATE_HASH"),runtime:undefined}){const{chunkGraph:P,runtime:R}=E;v.update(P.getModuleGraphHash(this,R));if(this.presentationalDependencies!==undefined){for(const P of this.presentationalDependencies){P.updateHash(v,E)}}super.updateHash(v,E)}invalidateBuild(){}identifier(){const v=P(71432);throw new v}readableIdentifier(v){const E=P(71432);throw new E}build(v,E,R,$,N){const L=P(71432);throw new L}getSourceTypes(){if(this.source===Module.prototype.source){return ve}else{return Ae}}source(v,E,R="javascript"){if(this.codeGeneration===Module.prototype.codeGeneration){const v=P(71432);throw new v}const N=$.getChunkGraphForModule(this,"Module.source() is deprecated. Use Compilation.codeGenerationResults.getSource(module, runtime, type) instead","DEP_WEBPACK_MODULE_SOURCE");const L={dependencyTemplates:v,runtimeTemplate:E,moduleGraph:N.moduleGraph,chunkGraph:N,runtime:undefined,codeGenerationResults:undefined};const q=this.codeGeneration(L).sources;return R?q.get(R):q.get(K(this.getSourceTypes()))}size(v){const E=P(71432);throw new E}libIdent(v){return null}nameForCondition(){return null}getConcatenationBailoutReason(v){return`Module Concatenation is not implemented for ${this.constructor.name}`}getSideEffectsConnectionState(v){return true}codeGeneration(v){const E=new Map;for(const P of this.getSourceTypes()){if(P!=="unknown"){E.set(P,this.source(v.dependencyTemplates,v.runtimeTemplate,P))}}return{sources:E,runtimeRequirements:new Set([q.module,q.exports,q.require])}}chunkCondition(v,E){return true}hasChunkCondition(){return this.chunkCondition!==Module.prototype.chunkCondition}updateCacheModule(v){this.type=v.type;this.layer=v.layer;this.context=v.context;this.factoryMeta=v.factoryMeta;this.resolveOptions=v.resolveOptions}getUnsafeCacheData(){return{factoryMeta:this.factoryMeta,resolveOptions:this.resolveOptions}}_restoreFromUnsafeCache(v,E){this.factoryMeta=v.factoryMeta;this.resolveOptions=v.resolveOptions}cleanupForCache(){this.factoryMeta=undefined;this.resolveOptions=undefined}originalSource(){return null}addCacheDependencies(v,E,P,R){}serialize(v){const{write:E}=v;E(this.type);E(this.layer);E(this.context);E(this.resolveOptions);E(this.factoryMeta);E(this.useSourceMap);E(this.useSimpleSourceMap);E(this._warnings!==undefined&&this._warnings.length===0?undefined:this._warnings);E(this._errors!==undefined&&this._errors.length===0?undefined:this._errors);E(this.buildMeta);E(this.buildInfo);E(this.presentationalDependencies);E(this.codeGenerationDependencies);super.serialize(v)}deserialize(v){const{read:E}=v;this.type=E();this.layer=E();this.context=E();this.resolveOptions=E();this.factoryMeta=E();this.useSourceMap=E();this.useSimpleSourceMap=E();this._warnings=E();this._errors=E();this.buildMeta=E();this.buildInfo=E();this.presentationalDependencies=E();this.codeGenerationDependencies=E();super.deserialize(v)}}ge(Module,"webpack/lib/Module");Object.defineProperty(Module.prototype,"hasEqualsChunks",{get(){throw new Error("Module.hasEqualsChunks was renamed (use hasEqualChunks instead)")}});Object.defineProperty(Module.prototype,"isUsed",{get(){throw new Error("Module.isUsed was renamed (use getUsedName, isExportUsed or isModuleUsed instead)")}});Object.defineProperty(Module.prototype,"errors",{get:R.deprecate((function(){if(this._errors===undefined){this._errors=[]}return this._errors}),"Module.errors was removed (use getErrors instead)","DEP_WEBPACK_MODULE_ERRORS")});Object.defineProperty(Module.prototype,"warnings",{get:R.deprecate((function(){if(this._warnings===undefined){this._warnings=[]}return this._warnings}),"Module.warnings was removed (use getWarnings instead)","DEP_WEBPACK_MODULE_WARNINGS")});Object.defineProperty(Module.prototype,"used",{get(){throw new Error("Module.used was refactored (use ModuleGraph.getUsedExports instead)")},set(v){throw new Error("Module.used was refactored (use ModuleGraph.setUsedExports instead)")}});v.exports=Module},8627:function(v,E,P){"use strict";const{cutOffLoaderExecution:R}=P(56555);const $=P(16413);const N=P(41718);class ModuleBuildError extends ${constructor(v,{from:E=null}={}){let P="Module build failed";let $=undefined;if(E){P+=` (from ${E}):\n`}else{P+=": "}if(v!==null&&typeof v==="object"){if(typeof v.stack==="string"&&v.stack){const E=R(v.stack);if(!v.hideStack){P+=E}else{$=E;if(typeof v.message==="string"&&v.message){P+=v.message}else{P+=v}}}else if(typeof v.message==="string"&&v.message){P+=v.message}else{P+=String(v)}}else{P+=String(v)}super(P);this.name="ModuleBuildError";this.details=$;this.error=v}serialize(v){const{write:E}=v;E(this.error);super.serialize(v)}deserialize(v){const{read:E}=v;this.error=E();super.deserialize(v)}}N(ModuleBuildError,"webpack/lib/ModuleBuildError");v.exports=ModuleBuildError},21606:function(v,E,P){"use strict";const R=P(16413);class ModuleDependencyError extends R{constructor(v,E,P){super(E.message);this.name="ModuleDependencyError";this.details=E&&!E.hideStack?E.stack.split("\n").slice(1).join("\n"):undefined;this.module=v;this.loc=P;this.error=E;if(E&&E.hideStack){this.stack=E.stack.split("\n").slice(1).join("\n")+"\n\n"+this.stack}}}v.exports=ModuleDependencyError},34734:function(v,E,P){"use strict";const R=P(16413);const $=P(41718);class ModuleDependencyWarning extends R{constructor(v,E,P){super(E?E.message:"");this.name="ModuleDependencyWarning";this.details=E&&!E.hideStack?E.stack.split("\n").slice(1).join("\n"):undefined;this.module=v;this.loc=P;this.error=E;if(E&&E.hideStack){this.stack=E.stack.split("\n").slice(1).join("\n")+"\n\n"+this.stack}}}$(ModuleDependencyWarning,"webpack/lib/ModuleDependencyWarning");v.exports=ModuleDependencyWarning},15073:function(v,E,P){"use strict";const{cleanUp:R}=P(56555);const $=P(16413);const N=P(41718);class ModuleError extends ${constructor(v,{from:E=null}={}){let P="Module Error";if(E){P+=` (from ${E}):\n`}else{P+=": "}if(v&&typeof v==="object"&&v.message){P+=v.message}else if(v){P+=v}super(P);this.name="ModuleError";this.error=v;this.details=v&&typeof v==="object"&&v.stack?R(v.stack,this.message):undefined}serialize(v){const{write:E}=v;E(this.error);super.serialize(v)}deserialize(v){const{read:E}=v;this.error=E();super.deserialize(v)}}N(ModuleError,"webpack/lib/ModuleError");v.exports=ModuleError},22362:function(v,E,P){"use strict";class ModuleFactory{create(v,E){const R=P(71432);throw new R}}v.exports=ModuleFactory},15321:function(v,E,P){"use strict";const R=P(80346);const $=P(20932);const N=P(25689);const L=E;L.ALL_LOADERS_RESOURCE="[all-loaders][resource]";L.REGEXP_ALL_LOADERS_RESOURCE=/\[all-?loaders\]\[resource\]/gi;L.LOADERS_RESOURCE="[loaders][resource]";L.REGEXP_LOADERS_RESOURCE=/\[loaders\]\[resource\]/gi;L.RESOURCE="[resource]";L.REGEXP_RESOURCE=/\[resource\]/gi;L.ABSOLUTE_RESOURCE_PATH="[absolute-resource-path]";L.REGEXP_ABSOLUTE_RESOURCE_PATH=/\[abs(olute)?-?resource-?path\]/gi;L.RESOURCE_PATH="[resource-path]";L.REGEXP_RESOURCE_PATH=/\[resource-?path\]/gi;L.ALL_LOADERS="[all-loaders]";L.REGEXP_ALL_LOADERS=/\[all-?loaders\]/gi;L.LOADERS="[loaders]";L.REGEXP_LOADERS=/\[loaders\]/gi;L.QUERY="[query]";L.REGEXP_QUERY=/\[query\]/gi;L.ID="[id]";L.REGEXP_ID=/\[id\]/gi;L.HASH="[hash]";L.REGEXP_HASH=/\[hash\]/gi;L.NAMESPACE="[namespace]";L.REGEXP_NAMESPACE=/\[namespace\]/gi;const getAfter=(v,E)=>()=>{const P=v();const R=P.indexOf(E);return R<0?"":P.slice(R)};const getBefore=(v,E)=>()=>{const P=v();const R=P.lastIndexOf(E);return R<0?"":P.slice(0,R)};const getHash=(v,E)=>()=>{const P=$(E);P.update(v());const R=P.digest("hex");return R.slice(0,4)};const asRegExp=v=>{if(typeof v==="string"){v=new RegExp("^"+v.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"))}return v};const lazyObject=v=>{const E={};for(const P of Object.keys(v)){const R=v[P];Object.defineProperty(E,P,{get:()=>R(),set:v=>{Object.defineProperty(E,P,{value:v,enumerable:true,writable:true})},enumerable:true,configurable:true})}return E};const q=/\[\\*([\w-]+)\\*\]/gi;L.createFilename=(v="",E,{requestShortener:P,chunkGraph:$,hashFunction:K="md4"})=>{const ae={namespace:"",moduleFilenameTemplate:"",...typeof E==="object"?E:{moduleFilenameTemplate:E}};let ge;let be;let xe;let ve;let Ae;if(typeof v==="string"){Ae=N((()=>P.shorten(v)));xe=Ae;ve=()=>"";ge=()=>v.split("!").pop();be=getHash(xe,K)}else{Ae=N((()=>v.readableIdentifier(P)));xe=N((()=>P.shorten(v.identifier())));ve=()=>$.getModuleId(v);ge=()=>v instanceof R?v.resource:v.identifier().split("!").pop();be=getHash(xe,K)}const Ie=N((()=>Ae().split("!").pop()));const He=getBefore(Ae,"!");const Qe=getBefore(xe,"!");const Je=getAfter(Ie,"?");const resourcePath=()=>{const v=Je().length;return v===0?Ie():Ie().slice(0,-v)};if(typeof ae.moduleFilenameTemplate==="function"){return ae.moduleFilenameTemplate(lazyObject({identifier:xe,shortIdentifier:Ae,resource:Ie,resourcePath:N(resourcePath),absoluteResourcePath:N(ge),loaders:N(He),allLoaders:N(Qe),query:N(Je),moduleId:N(ve),hash:N(be),namespace:()=>ae.namespace}))}const Ve=new Map([["identifier",xe],["short-identifier",Ae],["resource",Ie],["resource-path",resourcePath],["resourcepath",resourcePath],["absolute-resource-path",ge],["abs-resource-path",ge],["absoluteresource-path",ge],["absresource-path",ge],["absolute-resourcepath",ge],["abs-resourcepath",ge],["absoluteresourcepath",ge],["absresourcepath",ge],["all-loaders",Qe],["allloaders",Qe],["loaders",He],["query",Je],["id",ve],["hash",be],["namespace",()=>ae.namespace]]);return ae.moduleFilenameTemplate.replace(L.REGEXP_ALL_LOADERS_RESOURCE,"[identifier]").replace(L.REGEXP_LOADERS_RESOURCE,"[short-identifier]").replace(q,((v,E)=>{if(E.length+2===v.length){const v=Ve.get(E.toLowerCase());if(v!==undefined){return v()}}else if(v.startsWith("[\\")&&v.endsWith("\\]")){return`[${v.slice(2,-2)}]`}return v}))};L.replaceDuplicates=(v,E,P)=>{const R=Object.create(null);const $=Object.create(null);v.forEach(((v,E)=>{R[v]=R[v]||[];R[v].push(E);$[v]=0}));if(P){Object.keys(R).forEach((v=>{R[v].sort(P)}))}return v.map(((v,N)=>{if(R[v].length>1){if(P&&R[v][0]===N)return v;return E(v,N,$[v]++)}else{return v}}))};L.matchPart=(v,E)=>{if(!E)return true;if(Array.isArray(E)){return E.map(asRegExp).some((E=>E.test(v)))}else{return asRegExp(E).test(v)}};L.matchObject=(v,E)=>{if(v.test){if(!L.matchPart(E,v.test)){return false}}if(v.include){if(!L.matchPart(E,v.include)){return false}}if(v.exclude){if(L.matchPart(E,v.exclude)){return false}}return true}},49188:function(v,E,P){"use strict";const R=P(73837);const $=P(8435);const N=P(1709);const L=P(68001);const q=P(34410);const K=new Set;const getConnectionsByOriginModule=v=>{const E=new Map;let P=0;let R=undefined;for(const $ of v){const{originModule:v}=$;if(P===v){R.push($)}else{P=v;const N=E.get(v);if(N!==undefined){R=N;N.push($)}else{const P=[$];R=P;E.set(v,P)}}}return E};const getConnectionsByModule=v=>{const E=new Map;let P=0;let R=undefined;for(const $ of v){const{module:v}=$;if(P===v){R.push($)}else{P=v;const N=E.get(v);if(N!==undefined){R=N;N.push($)}else{const P=[$];R=P;E.set(v,P)}}}return E};class ModuleGraphModule{constructor(){this.incomingConnections=new L;this.outgoingConnections=undefined;this.issuer=undefined;this.optimizationBailout=[];this.exports=new $;this.preOrderIndex=null;this.postOrderIndex=null;this.depth=null;this.profile=undefined;this.async=false;this._unassignedConnections=undefined}}class ModuleGraph{constructor(){this._dependencyMap=new WeakMap;this._moduleMap=new Map;this._metaMap=new WeakMap;this._cache=undefined;this._moduleMemCaches=undefined;this._cacheStage=undefined}_getModuleGraphModule(v){let E=this._moduleMap.get(v);if(E===undefined){E=new ModuleGraphModule;this._moduleMap.set(v,E)}return E}setParents(v,E,P,R=-1){v._parentDependenciesBlockIndex=R;v._parentDependenciesBlock=E;v._parentModule=P}getParentModule(v){return v._parentModule}getParentBlock(v){return v._parentDependenciesBlock}getParentBlockIndex(v){return v._parentDependenciesBlockIndex}setResolvedModule(v,E,P){const R=new N(v,E,P,undefined,E.weak,E.getCondition(this));const $=this._getModuleGraphModule(P).incomingConnections;$.add(R);if(v){const E=this._getModuleGraphModule(v);if(E._unassignedConnections===undefined){E._unassignedConnections=[]}E._unassignedConnections.push(R);if(E.outgoingConnections===undefined){E.outgoingConnections=new L}E.outgoingConnections.add(R)}else{this._dependencyMap.set(E,R)}}updateModule(v,E){const P=this.getConnection(v);if(P.module===E)return;const R=P.clone();R.module=E;this._dependencyMap.set(v,R);P.setActive(false);const $=this._getModuleGraphModule(P.originModule);$.outgoingConnections.add(R);const N=this._getModuleGraphModule(E);N.incomingConnections.add(R)}removeConnection(v){const E=this.getConnection(v);const P=this._getModuleGraphModule(E.module);P.incomingConnections.delete(E);const R=this._getModuleGraphModule(E.originModule);R.outgoingConnections.delete(E);this._dependencyMap.set(v,null)}addExplanation(v,E){const P=this.getConnection(v);P.addExplanation(E)}cloneModuleAttributes(v,E){const P=this._getModuleGraphModule(v);const R=this._getModuleGraphModule(E);R.postOrderIndex=P.postOrderIndex;R.preOrderIndex=P.preOrderIndex;R.depth=P.depth;R.exports=P.exports;R.async=P.async}removeModuleAttributes(v){const E=this._getModuleGraphModule(v);E.postOrderIndex=null;E.preOrderIndex=null;E.depth=null;E.async=false}removeAllModuleAttributes(){for(const v of this._moduleMap.values()){v.postOrderIndex=null;v.preOrderIndex=null;v.depth=null;v.async=false}}moveModuleConnections(v,E,P){if(v===E)return;const R=this._getModuleGraphModule(v);const $=this._getModuleGraphModule(E);const N=R.outgoingConnections;if(N!==undefined){if($.outgoingConnections===undefined){$.outgoingConnections=new L}const v=$.outgoingConnections;for(const R of N){if(P(R)){R.originModule=E;v.add(R);N.delete(R)}}}const q=R.incomingConnections;const K=$.incomingConnections;for(const v of q){if(P(v)){v.module=E;K.add(v);q.delete(v)}}}copyOutgoingModuleConnections(v,E,P){if(v===E)return;const R=this._getModuleGraphModule(v);const $=this._getModuleGraphModule(E);const N=R.outgoingConnections;if(N!==undefined){if($.outgoingConnections===undefined){$.outgoingConnections=new L}const v=$.outgoingConnections;for(const R of N){if(P(R)){const P=R.clone();P.originModule=E;v.add(P);if(P.module!==undefined){const v=this._getModuleGraphModule(P.module);v.incomingConnections.add(P)}}}}}addExtraReason(v,E){const P=this._getModuleGraphModule(v).incomingConnections;P.add(new N(null,null,v,E))}getResolvedModule(v){const E=this.getConnection(v);return E!==undefined?E.resolvedModule:null}getConnection(v){const E=this._dependencyMap.get(v);if(E===undefined){const E=this.getParentModule(v);if(E!==undefined){const P=this._getModuleGraphModule(E);if(P._unassignedConnections&&P._unassignedConnections.length!==0){let E;for(const R of P._unassignedConnections){this._dependencyMap.set(R.dependency,R);if(R.dependency===v)E=R}P._unassignedConnections.length=0;if(E!==undefined){return E}}}this._dependencyMap.set(v,null);return undefined}return E===null?undefined:E}getModule(v){const E=this.getConnection(v);return E!==undefined?E.module:null}getOrigin(v){const E=this.getConnection(v);return E!==undefined?E.originModule:null}getResolvedOrigin(v){const E=this.getConnection(v);return E!==undefined?E.resolvedOriginModule:null}getIncomingConnections(v){const E=this._getModuleGraphModule(v).incomingConnections;return E}getOutgoingConnections(v){const E=this._getModuleGraphModule(v).outgoingConnections;return E===undefined?K:E}getIncomingConnectionsByOriginModule(v){const E=this._getModuleGraphModule(v).incomingConnections;return E.getFromUnorderedCache(getConnectionsByOriginModule)}getOutgoingConnectionsByModule(v){const E=this._getModuleGraphModule(v).outgoingConnections;return E===undefined?undefined:E.getFromUnorderedCache(getConnectionsByModule)}getProfile(v){const E=this._getModuleGraphModule(v);return E.profile}setProfile(v,E){const P=this._getModuleGraphModule(v);P.profile=E}getIssuer(v){const E=this._getModuleGraphModule(v);return E.issuer}setIssuer(v,E){const P=this._getModuleGraphModule(v);P.issuer=E}setIssuerIfUnset(v,E){const P=this._getModuleGraphModule(v);if(P.issuer===undefined)P.issuer=E}getOptimizationBailout(v){const E=this._getModuleGraphModule(v);return E.optimizationBailout}getProvidedExports(v){const E=this._getModuleGraphModule(v);return E.exports.getProvidedExports()}isExportProvided(v,E){const P=this._getModuleGraphModule(v);const R=P.exports.isExportProvided(E);return R===undefined?null:R}getExportsInfo(v){const E=this._getModuleGraphModule(v);return E.exports}getExportInfo(v,E){const P=this._getModuleGraphModule(v);return P.exports.getExportInfo(E)}getReadOnlyExportInfo(v,E){const P=this._getModuleGraphModule(v);return P.exports.getReadOnlyExportInfo(E)}getUsedExports(v,E){const P=this._getModuleGraphModule(v);return P.exports.getUsedExports(E)}getPreOrderIndex(v){const E=this._getModuleGraphModule(v);return E.preOrderIndex}getPostOrderIndex(v){const E=this._getModuleGraphModule(v);return E.postOrderIndex}setPreOrderIndex(v,E){const P=this._getModuleGraphModule(v);P.preOrderIndex=E}setPreOrderIndexIfUnset(v,E){const P=this._getModuleGraphModule(v);if(P.preOrderIndex===null){P.preOrderIndex=E;return true}return false}setPostOrderIndex(v,E){const P=this._getModuleGraphModule(v);P.postOrderIndex=E}setPostOrderIndexIfUnset(v,E){const P=this._getModuleGraphModule(v);if(P.postOrderIndex===null){P.postOrderIndex=E;return true}return false}getDepth(v){const E=this._getModuleGraphModule(v);return E.depth}setDepth(v,E){const P=this._getModuleGraphModule(v);P.depth=E}setDepthIfLower(v,E){const P=this._getModuleGraphModule(v);if(P.depth===null||P.depth>E){P.depth=E;return true}return false}isAsync(v){const E=this._getModuleGraphModule(v);return E.async}setAsync(v){const E=this._getModuleGraphModule(v);E.async=true}getMeta(v){let E=this._metaMap.get(v);if(E===undefined){E=Object.create(null);this._metaMap.set(v,E)}return E}getMetaIfExisting(v){return this._metaMap.get(v)}freeze(v){this._cache=new q;this._cacheStage=v}unfreeze(){this._cache=undefined;this._cacheStage=undefined}cached(v,...E){if(this._cache===undefined)return v(this,...E);return this._cache.provide(v,...E,(()=>v(this,...E)))}setModuleMemCaches(v){this._moduleMemCaches=v}dependencyCacheProvide(v,...E){const P=E.pop();if(this._moduleMemCaches&&this._cacheStage){const R=this._moduleMemCaches.get(this.getParentModule(v));if(R!==undefined){return R.provide(v,this._cacheStage,...E,(()=>P(this,v,...E)))}}if(this._cache===undefined)return P(this,v,...E);return this._cache.provide(v,...E,(()=>P(this,v,...E)))}static getModuleGraphForModule(v,E,P){const $=ge.get(E);if($)return $(v);const N=R.deprecate((v=>{const P=ae.get(v);if(!P)throw new Error(E+"There was no ModuleGraph assigned to the Module for backward-compat (Use the new API)");return P}),E+": Use new ModuleGraph API",P);ge.set(E,N);return N(v)}static setModuleGraphForModule(v,E){ae.set(v,E)}static clearModuleGraphForModule(v){ae.delete(v)}}const ae=new WeakMap;const ge=new Map;v.exports=ModuleGraph;v.exports.ModuleGraphConnection=N},1709:function(v){"use strict";const E=Symbol("transitive only");const P=Symbol("circular connection");const addConnectionStates=(v,P)=>{if(v===true||P===true)return true;if(v===false)return P;if(P===false)return v;if(v===E)return P;if(P===E)return v;return v};const intersectConnectionStates=(v,E)=>{if(v===false||E===false)return false;if(v===true)return E;if(E===true)return v;if(v===P)return E;if(E===P)return v;return v};class ModuleGraphConnection{constructor(v,E,P,R,$=false,N=undefined){this.originModule=v;this.resolvedOriginModule=v;this.dependency=E;this.resolvedModule=P;this.module=P;this.weak=$;this.conditional=!!N;this._active=N!==false;this.condition=N||undefined;this.explanations=undefined;if(R){this.explanations=new Set;this.explanations.add(R)}}clone(){const v=new ModuleGraphConnection(this.resolvedOriginModule,this.dependency,this.resolvedModule,undefined,this.weak,this.condition);v.originModule=this.originModule;v.module=this.module;v.conditional=this.conditional;v._active=this._active;if(this.explanations)v.explanations=new Set(this.explanations);return v}addCondition(v){if(this.conditional){const E=this.condition;this.condition=(P,R)=>intersectConnectionStates(E(P,R),v(P,R))}else if(this._active){this.conditional=true;this.condition=v}}addExplanation(v){if(this.explanations===undefined){this.explanations=new Set}this.explanations.add(v)}get explanation(){if(this.explanations===undefined)return"";return Array.from(this.explanations).join(" ")}get active(){throw new Error("Use getActiveState instead")}isActive(v){if(!this.conditional)return this._active;return this.condition(this,v)!==false}isTargetActive(v){if(!this.conditional)return this._active;return this.condition(this,v)===true}getActiveState(v){if(!this.conditional)return this._active;return this.condition(this,v)}setActive(v){this.conditional=false;this._active=v}set active(v){throw new Error("Use setActive instead")}}v.exports=ModuleGraphConnection;v.exports.addConnectionStates=addConnectionStates;v.exports.TRANSITIVE_ONLY=E;v.exports.CIRCULAR_CONNECTION=P},56434:function(v,E,P){"use strict";const R=P(16413);class ModuleHashingError extends R{constructor(v,E){super();this.name="ModuleHashingError";this.error=E;this.message=E.message;this.details=E.stack;this.module=v}}v.exports=ModuleHashingError},95977:function(v,E,P){"use strict";const{ConcatSource:R,RawSource:$,CachedSource:N}=P(51255);const{UsageState:L}=P(8435);const q=P(25233);const K=P(42453);const joinIterableWithComma=v=>{let E="";let P=true;for(const R of v){if(P){P=false}else{E+=", "}E+=R}return E};const printExportsInfoToSource=(v,E,P,R,$,N=new Set)=>{const K=P.otherExportsInfo;let ae=0;const ge=[];for(const v of P.orderedExports){if(!N.has(v)){N.add(v);ge.push(v)}else{ae++}}let be=false;if(!N.has(K)){N.add(K);be=true}else{ae++}for(const P of ge){const L=P.getTarget(R);v.add(q.toComment(`${E}export ${JSON.stringify(P.name).slice(1,-1)} [${P.getProvidedInfo()}] [${P.getUsedInfo()}] [${P.getRenameInfo()}]${L?` -> ${L.module.readableIdentifier($)}${L.export?` .${L.export.map((v=>JSON.stringify(v).slice(1,-1))).join(".")}`:""}`:""}`)+"\n");if(P.exportsInfo){printExportsInfoToSource(v,E+" ",P.exportsInfo,R,$,N)}}if(ae){v.add(q.toComment(`${E}... (${ae} already listed exports)`)+"\n")}if(be){const P=K.getTarget(R);if(P||K.provided!==false||K.getUsed(undefined)!==L.Unused){const R=ge.length>0||ae>0?"other exports":"exports";v.add(q.toComment(`${E}${R} [${K.getProvidedInfo()}] [${K.getUsedInfo()}]${P?` -> ${P.module.readableIdentifier($)}`:""}`)+"\n")}}};const ae=new WeakMap;class ModuleInfoHeaderPlugin{constructor(v=true){this._verbose=v}apply(v){const{_verbose:E}=this;v.hooks.compilation.tap("ModuleInfoHeaderPlugin",(v=>{const P=K.getCompilationHooks(v);P.renderModulePackage.tap("ModuleInfoHeaderPlugin",((v,P,{chunk:L,chunkGraph:K,moduleGraph:ge,runtimeTemplate:be})=>{const{requestShortener:xe}=be;let ve;let Ae=ae.get(xe);if(Ae===undefined){ae.set(xe,Ae=new WeakMap);Ae.set(P,ve={header:undefined,full:new WeakMap})}else{ve=Ae.get(P);if(ve===undefined){Ae.set(P,ve={header:undefined,full:new WeakMap})}else if(!E){const E=ve.full.get(v);if(E!==undefined)return E}}const Ie=new R;let He=ve.header;if(He===undefined){const v=P.readableIdentifier(xe);const E=v.replace(/\*\//g,"*_/");const R="*".repeat(E.length);const N=`/*!****${R}****!*\\\n !*** ${E} ***!\n \\****${R}****/\n`;He=new $(N);ve.header=He}Ie.add(He);if(E){const E=P.buildMeta.exportsType;Ie.add(q.toComment(E?`${E} exports`:"unknown exports (runtime-defined)")+"\n");if(E){const v=ge.getExportsInfo(P);printExportsInfoToSource(Ie,"",v,ge,xe)}Ie.add(q.toComment(`runtime requirements: ${joinIterableWithComma(K.getModuleRuntimeRequirements(P,L.runtime))}`)+"\n");const R=ge.getOptimizationBailout(P);if(R){for(const v of R){let E;if(typeof v==="function"){E=v(xe)}else{E=v}Ie.add(q.toComment(`${E}`)+"\n")}}Ie.add(v);return Ie}else{Ie.add(v);const E=new N(Ie);ve.full.set(v,E);return E}}));P.chunkHash.tap("ModuleInfoHeaderPlugin",((v,E)=>{E.update("ModuleInfoHeaderPlugin");E.update("1")}))}))}}v.exports=ModuleInfoHeaderPlugin},1758:function(v,E,P){"use strict";const R=P(16413);const $={assert:"assert/",buffer:"buffer/",console:"console-browserify",constants:"constants-browserify",crypto:"crypto-browserify",domain:"domain-browser",events:"events/",http:"stream-http",https:"https-browserify",os:"os-browserify/browser",path:"path-browserify",punycode:"punycode/",process:"process/browser",querystring:"querystring-es3",stream:"stream-browserify",_stream_duplex:"readable-stream/duplex",_stream_passthrough:"readable-stream/passthrough",_stream_readable:"readable-stream/readable",_stream_transform:"readable-stream/transform",_stream_writable:"readable-stream/writable",string_decoder:"string_decoder/",sys:"util/",timers:"timers-browserify",tty:"tty-browserify",url:"url/",util:"util/",vm:"vm-browserify",zlib:"browserify-zlib"};class ModuleNotFoundError extends R{constructor(v,E,P){let R=`Module not found: ${E.toString()}`;const N=E.message.match(/Can't resolve '([^']+)'/);if(N){const v=N[1];const E=$[v];if(E){const P=E.indexOf("/");const $=P>0?E.slice(0,P):E;R+="\n\n"+"BREAKING CHANGE: "+"webpack < 5 used to include polyfills for node.js core modules by default.\n"+"This is no longer the case. Verify if you need this module and configure a polyfill for it.\n\n";R+="If you want to include a polyfill, you need to:\n"+`\t- add a fallback 'resolve.fallback: { "${v}": require.resolve("${E}") }'\n`+`\t- install '${$}'\n`;R+="If you don't want to include a polyfill, you can use an empty module like this:\n"+`\tresolve.fallback: { "${v}": false }`}}super(R);this.name="ModuleNotFoundError";this.details=E.details;this.module=v;this.error=E;this.loc=P}}v.exports=ModuleNotFoundError},8899:function(v,E,P){"use strict";const R=P(16413);const $=P(41718);const N=Buffer.from([0,97,115,109]);class ModuleParseError extends R{constructor(v,E,P,R){let $="Module parse failed: "+(E&&E.message);let L=undefined;if((Buffer.isBuffer(v)&&v.slice(0,4).equals(N)||typeof v==="string"&&/^\0asm/.test(v))&&!R.startsWith("webassembly")){$+="\nThe module seem to be a WebAssembly module, but module is not flagged as WebAssembly module for webpack.";$+="\nBREAKING CHANGE: Since webpack 5 WebAssembly is not enabled by default and flagged as experimental feature.";$+="\nYou need to enable one of the WebAssembly experiments via 'experiments.asyncWebAssembly: true' (based on async modules) or 'experiments.syncWebAssembly: true' (like webpack 4, deprecated).";$+="\nFor files that transpile to WebAssembly, make sure to set the module type in the 'module.rules' section of the config (e. g. 'type: \"webassembly/async\"')."}else if(!P){$+="\nYou may need an appropriate loader to handle this file type."}else if(P.length>=1){$+=`\nFile was processed with these loaders:${P.map((v=>`\n * ${v}`)).join("")}`;$+="\nYou may need an additional loader to handle the result of these loaders."}else{$+="\nYou may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders"}if(E&&E.loc&&typeof E.loc==="object"&&typeof E.loc.line==="number"){var q=E.loc.line;if(Buffer.isBuffer(v)||/[\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007]/.test(v)){$+="\n(Source code omitted for this binary file)"}else{const E=v.split(/\r?\n/);const P=Math.max(0,q-3);const R=E.slice(P,q-1);const N=E[q-1];const L=E.slice(q,q+2);$+=R.map((v=>`\n| ${v}`)).join("")+`\n> ${N}`+L.map((v=>`\n| ${v}`)).join("")}L={start:E.loc}}else if(E&&E.stack){$+="\n"+E.stack}super($);this.name="ModuleParseError";this.loc=L;this.error=E}serialize(v){const{write:E}=v;E(this.error);super.serialize(v)}deserialize(v){const{read:E}=v;this.error=E();super.deserialize(v)}}$(ModuleParseError,"webpack/lib/ModuleParseError");v.exports=ModuleParseError},54382:function(v){"use strict";class ModuleProfile{constructor(){this.startTime=Date.now();this.factoryStartTime=0;this.factoryEndTime=0;this.factory=0;this.factoryParallelismFactor=0;this.restoringStartTime=0;this.restoringEndTime=0;this.restoring=0;this.restoringParallelismFactor=0;this.integrationStartTime=0;this.integrationEndTime=0;this.integration=0;this.integrationParallelismFactor=0;this.buildingStartTime=0;this.buildingEndTime=0;this.building=0;this.buildingParallelismFactor=0;this.storingStartTime=0;this.storingEndTime=0;this.storing=0;this.storingParallelismFactor=0;this.additionalFactoryTimes=undefined;this.additionalFactories=0;this.additionalFactoriesParallelismFactor=0;this.additionalIntegration=0}markFactoryStart(){this.factoryStartTime=Date.now()}markFactoryEnd(){this.factoryEndTime=Date.now();this.factory=this.factoryEndTime-this.factoryStartTime}markRestoringStart(){this.restoringStartTime=Date.now()}markRestoringEnd(){this.restoringEndTime=Date.now();this.restoring=this.restoringEndTime-this.restoringStartTime}markIntegrationStart(){this.integrationStartTime=Date.now()}markIntegrationEnd(){this.integrationEndTime=Date.now();this.integration=this.integrationEndTime-this.integrationStartTime}markBuildingStart(){this.buildingStartTime=Date.now()}markBuildingEnd(){this.buildingEndTime=Date.now();this.building=this.buildingEndTime-this.buildingStartTime}markStoringStart(){this.storingStartTime=Date.now()}markStoringEnd(){this.storingEndTime=Date.now();this.storing=this.storingEndTime-this.storingStartTime}mergeInto(v){v.additionalFactories=this.factory;(v.additionalFactoryTimes=v.additionalFactoryTimes||[]).push({start:this.factoryStartTime,end:this.factoryEndTime})}}v.exports=ModuleProfile},62106:function(v,E,P){"use strict";const R=P(16413);class ModuleRestoreError extends R{constructor(v,E){let P="Module restore failed: ";let R=undefined;if(E!==null&&typeof E==="object"){if(typeof E.stack==="string"&&E.stack){const v=E.stack;P+=v}else if(typeof E.message==="string"&&E.message){P+=E.message}else{P+=E}}else{P+=String(E)}super(P);this.name="ModuleRestoreError";this.details=R;this.module=v;this.error=E}}v.exports=ModuleRestoreError},88425:function(v,E,P){"use strict";const R=P(16413);class ModuleStoreError extends R{constructor(v,E){let P="Module storing failed: ";let R=undefined;if(E!==null&&typeof E==="object"){if(typeof E.stack==="string"&&E.stack){const v=E.stack;P+=v}else if(typeof E.message==="string"&&E.message){P+=E.message}else{P+=E}}else{P+=String(E)}super(P);this.name="ModuleStoreError";this.details=R;this.module=v;this.error=E}}v.exports=ModuleStoreError},71285:function(v,E,P){"use strict";const R=P(73837);const $=P(25689);const N=$((()=>P(42453)));class ModuleTemplate{constructor(v,E){this._runtimeTemplate=v;this.type="javascript";this.hooks=Object.freeze({content:{tap:R.deprecate(((v,P)=>{N().getCompilationHooks(E).renderModuleContent.tap(v,((v,E,R)=>P(v,E,R,R.dependencyTemplates)))}),"ModuleTemplate.hooks.content is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderModuleContent instead)","DEP_MODULE_TEMPLATE_CONTENT")},module:{tap:R.deprecate(((v,P)=>{N().getCompilationHooks(E).renderModuleContent.tap(v,((v,E,R)=>P(v,E,R,R.dependencyTemplates)))}),"ModuleTemplate.hooks.module is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderModuleContent instead)","DEP_MODULE_TEMPLATE_MODULE")},render:{tap:R.deprecate(((v,P)=>{N().getCompilationHooks(E).renderModuleContainer.tap(v,((v,E,R)=>P(v,E,R,R.dependencyTemplates)))}),"ModuleTemplate.hooks.render is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderModuleContainer instead)","DEP_MODULE_TEMPLATE_RENDER")},package:{tap:R.deprecate(((v,P)=>{N().getCompilationHooks(E).renderModulePackage.tap(v,((v,E,R)=>P(v,E,R,R.dependencyTemplates)))}),"ModuleTemplate.hooks.package is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderModulePackage instead)","DEP_MODULE_TEMPLATE_PACKAGE")},hash:{tap:R.deprecate(((v,P)=>{E.hooks.fullHash.tap(v,P)}),"ModuleTemplate.hooks.hash is deprecated (use Compilation.hooks.fullHash instead)","DEP_MODULE_TEMPLATE_HASH")}})}}Object.defineProperty(ModuleTemplate.prototype,"runtimeTemplate",{get:R.deprecate((function(){return this._runtimeTemplate}),"ModuleTemplate.runtimeTemplate is deprecated (use Compilation.runtimeTemplate instead)","DEP_WEBPACK_CHUNK_TEMPLATE_OUTPUT_OPTIONS")});v.exports=ModuleTemplate},96170:function(v,E){"use strict";const P="javascript/auto";const R="javascript/dynamic";const $="javascript/esm";const N="json";const L="webassembly/async";const q="webassembly/sync";const K="css";const ae="css/global";const ge="css/module";const be="css/auto";const xe="asset";const ve="asset/inline";const Ae="asset/resource";const Ie="asset/source";const He="asset/raw-data-url";const Qe="runtime";const Je="fallback-module";const Ve="remote-module";const Ke="provide-module";const Ye="consume-shared-module";const Xe="lazy-compilation-proxy";E.ASSET_MODULE_TYPE=xe;E.ASSET_MODULE_TYPE_RAW_DATA_URL=He;E.ASSET_MODULE_TYPE_SOURCE=Ie;E.ASSET_MODULE_TYPE_RESOURCE=Ae;E.ASSET_MODULE_TYPE_INLINE=ve;E.JAVASCRIPT_MODULE_TYPE_AUTO=P;E.JAVASCRIPT_MODULE_TYPE_DYNAMIC=R;E.JAVASCRIPT_MODULE_TYPE_ESM=$;E.JSON_MODULE_TYPE=N;E.WEBASSEMBLY_MODULE_TYPE_ASYNC=L;E.WEBASSEMBLY_MODULE_TYPE_SYNC=q;E.CSS_MODULE_TYPE=K;E.CSS_MODULE_TYPE_GLOBAL=ae;E.CSS_MODULE_TYPE_MODULE=ge;E.CSS_MODULE_TYPE_AUTO=be;E.WEBPACK_MODULE_TYPE_RUNTIME=Qe;E.WEBPACK_MODULE_TYPE_FALLBACK=Je;E.WEBPACK_MODULE_TYPE_REMOTE=Ve;E.WEBPACK_MODULE_TYPE_PROVIDE=Ke;E.WEBPACK_MODULE_TYPE_CONSUME_SHARED_MODULE=Ye;E.WEBPACK_MODULE_TYPE_LAZY_COMPILATION_PROXY=Xe},14763:function(v,E,P){"use strict";const{cleanUp:R}=P(56555);const $=P(16413);const N=P(41718);class ModuleWarning extends ${constructor(v,{from:E=null}={}){let P="Module Warning";if(E){P+=` (from ${E}):\n`}else{P+=": "}if(v&&typeof v==="object"&&v.message){P+=v.message}else if(v){P+=String(v)}super(P);this.name="ModuleWarning";this.warning=v;this.details=v&&typeof v==="object"&&v.stack?R(v.stack,this.message):undefined}serialize(v){const{write:E}=v;E(this.warning);super.serialize(v)}deserialize(v){const{read:E}=v;this.warning=E();super.deserialize(v)}}N(ModuleWarning,"webpack/lib/ModuleWarning");v.exports=ModuleWarning},20381:function(v,E,P){"use strict";const R=P(78175);const{SyncHook:$,MultiHook:N}=P(79846);const L=P(72217);const q=P(31467);const K=P(71551);const ae=P(41452);v.exports=class MultiCompiler{constructor(v,E){if(!Array.isArray(v)){v=Object.keys(v).map((E=>{v[E].name=E;return v[E]}))}this.hooks=Object.freeze({done:new $(["stats"]),invalid:new N(v.map((v=>v.hooks.invalid))),run:new N(v.map((v=>v.hooks.run))),watchClose:new $([]),watchRun:new N(v.map((v=>v.hooks.watchRun))),infrastructureLog:new N(v.map((v=>v.hooks.infrastructureLog)))});this.compilers=v;this._options={parallelism:E.parallelism||Infinity};this.dependencies=new WeakMap;this.running=false;const P=this.compilers.map((()=>null));let R=0;for(let v=0;v{if(!N){N=true;R++}P[$]=v;if(R===this.compilers.length){this.hooks.done.call(new q(P))}}));E.hooks.invalid.tap("MultiCompiler",(()=>{if(N){N=false;R--}}))}}get options(){return Object.assign(this.compilers.map((v=>v.options)),this._options)}get outputPath(){let v=this.compilers[0].outputPath;for(const E of this.compilers){while(E.outputPath.indexOf(v)!==0&&/[/\\]/.test(v)){v=v.replace(/[/\\][^/\\]*$/,"")}}if(!v&&this.compilers[0].outputPath[0]==="/")return"/";return v}get inputFileSystem(){throw new Error("Cannot read inputFileSystem of a MultiCompiler")}get outputFileSystem(){throw new Error("Cannot read outputFileSystem of a MultiCompiler")}get watchFileSystem(){throw new Error("Cannot read watchFileSystem of a MultiCompiler")}get intermediateFileSystem(){throw new Error("Cannot read outputFileSystem of a MultiCompiler")}set inputFileSystem(v){for(const E of this.compilers){E.inputFileSystem=v}}set outputFileSystem(v){for(const E of this.compilers){E.outputFileSystem=v}}set watchFileSystem(v){for(const E of this.compilers){E.watchFileSystem=v}}set intermediateFileSystem(v){for(const E of this.compilers){E.intermediateFileSystem=v}}getInfrastructureLogger(v){return this.compilers[0].getInfrastructureLogger(v)}setDependencies(v,E){this.dependencies.set(v,E)}validateDependencies(v){const E=new Set;const P=[];const targetFound=v=>{for(const P of E){if(P.target===v){return true}}return false};const sortEdges=(v,E)=>v.source.name.localeCompare(E.source.name)||v.target.name.localeCompare(E.target.name);for(const v of this.compilers){const R=this.dependencies.get(v);if(R){for(const $ of R){const R=this.compilers.find((v=>v.name===$));if(!R){P.push($)}else{E.add({source:v,target:R})}}}}const R=P.map((v=>`Compiler dependency \`${v}\` not found.`));const $=this.compilers.filter((v=>!targetFound(v)));while($.length>0){const v=$.pop();for(const P of E){if(P.source===v){E.delete(P);const v=P.target;if(!targetFound(v)){$.push(v)}}}}if(E.size>0){const v=Array.from(E).sort(sortEdges).map((v=>`${v.source.name} -> ${v.target.name}`));v.unshift("Circular dependency found in compiler dependencies.");R.unshift(v.join("\n"))}if(R.length>0){const E=R.join("\n");v(new Error(E));return false}return true}runWithDependencies(v,E,P){const $=new Set;let N=v;const isDependencyFulfilled=v=>$.has(v);const getReadyCompilers=()=>{let v=[];let E=N;N=[];for(const P of E){const E=this.dependencies.get(P);const R=!E||E.every(isDependencyFulfilled);if(R){v.push(P)}else{N.push(P)}}return v};const runCompilers=v=>{if(N.length===0)return v();R.map(getReadyCompilers(),((v,P)=>{E(v,(E=>{if(E)return P(E);$.add(v.name);runCompilers(P)}))}),v)};runCompilers(P)}_runGraph(v,E,P){const $=this.compilers.map((v=>({compiler:v,setupResult:undefined,result:undefined,state:"blocked",children:[],parents:[]})));const N=new Map;for(const v of $)N.set(v.compiler.name,v);for(const v of $){const E=this.dependencies.get(v.compiler);if(!E)continue;for(const P of E){const E=N.get(P);v.parents.push(E);E.children.push(v)}}const L=new ae;for(const v of $){if(v.parents.length===0){v.state="queued";L.enqueue(v)}}let K=false;let ge=0;const be=this._options.parallelism;const nodeDone=(v,E,N)=>{if(K)return;if(E){K=true;return R.each($,((v,E)=>{if(v.compiler.watching){v.compiler.watching.close(E)}else{E()}}),(()=>P(E)))}v.result=N;ge--;if(v.state==="running"){v.state="done";for(const E of v.children){if(E.state==="blocked")L.enqueue(E)}}else if(v.state==="running-outdated"){v.state="blocked";L.enqueue(v)}processQueue()};const nodeInvalidFromParent=v=>{if(v.state==="done"){v.state="blocked"}else if(v.state==="running"){v.state="running-outdated"}for(const E of v.children){nodeInvalidFromParent(E)}};const nodeInvalid=v=>{if(v.state==="done"){v.state="pending"}else if(v.state==="running"){v.state="running-outdated"}for(const E of v.children){nodeInvalidFromParent(E)}};const nodeChange=v=>{nodeInvalid(v);if(v.state==="pending"){v.state="blocked"}if(v.state==="blocked"){L.enqueue(v);processQueue()}};const xe=[];$.forEach(((E,P)=>{xe.push(E.setupResult=v(E.compiler,P,nodeDone.bind(null,E),(()=>E.state!=="starting"&&E.state!=="running"),(()=>nodeChange(E)),(()=>nodeInvalid(E))))}));let ve=true;const processQueue=()=>{if(ve)return;ve=true;process.nextTick(processQueueWorker)};const processQueueWorker=()=>{while(ge0&&!K){const v=L.dequeue();if(v.state==="queued"||v.state==="blocked"&&v.parents.every((v=>v.state==="done"))){ge++;v.state="starting";E(v.compiler,v.setupResult,nodeDone.bind(null,v));v.state="running"}}ve=false;if(!K&&ge===0&&$.every((v=>v.state==="done"))){const v=[];for(const E of $){const P=E.result;if(P){E.result=undefined;v.push(P)}}if(v.length>0){P(null,new q(v))}}};processQueueWorker();return xe}watch(v,E){if(this.running){return E(new L)}this.running=true;if(this.validateDependencies(E)){const P=this._runGraph(((E,P,R,$,N,L)=>{const q=E.watch(Array.isArray(v)?v[P]:v,R);if(q){q._onInvalid=L;q._onChange=N;q._isBlocked=$}return q}),((v,E,P)=>{if(v.watching!==E)return;if(!E.running)E.invalidate()}),E);return new K(P,this)}return new K([],this)}run(v){if(this.running){return v(new L)}this.running=true;if(this.validateDependencies(v)){this._runGraph((()=>{}),((v,E,P)=>v.run(P)),((E,P)=>{this.running=false;if(v!==undefined){return v(E,P)}}))}}purgeInputFileSystem(){for(const v of this.compilers){if(v.inputFileSystem&&v.inputFileSystem.purge){v.inputFileSystem.purge()}}}close(v){R.each(this.compilers,((v,E)=>{v.close(E)}),v)}}},31467:function(v,E,P){"use strict";const R=P(51984);const indent=(v,E)=>{const P=v.replace(/\n([^\n])/g,"\n"+E+"$1");return E+P};class MultiStats{constructor(v){this.stats=v}get hash(){return this.stats.map((v=>v.hash)).join("")}hasErrors(){return this.stats.some((v=>v.hasErrors()))}hasWarnings(){return this.stats.some((v=>v.hasWarnings()))}_createChildOptions(v,E){if(!v){v={}}const{children:P=undefined,...R}=typeof v==="string"?{preset:v}:v;const $=this.stats.map(((v,$)=>{const N=Array.isArray(P)?P[$]:P;return v.compilation.createStatsOptions({...R,...typeof N==="string"?{preset:N}:N&&typeof N==="object"?N:undefined},E)}));return{version:$.every((v=>v.version)),hash:$.every((v=>v.hash)),errorsCount:$.every((v=>v.errorsCount)),warningsCount:$.every((v=>v.warningsCount)),errors:$.every((v=>v.errors)),warnings:$.every((v=>v.warnings)),children:$}}toJson(v){v=this._createChildOptions(v,{forToString:false});const E={};E.children=this.stats.map(((E,P)=>{const $=E.toJson(v.children[P]);const N=E.compilation.name;const L=N&&R.makePathsRelative(v.context,N,E.compilation.compiler.root);$.name=L;return $}));if(v.version){E.version=E.children[0].version}if(v.hash){E.hash=E.children.map((v=>v.hash)).join("")}const mapError=(v,E)=>({...E,compilerPath:E.compilerPath?`${v.name}.${E.compilerPath}`:v.name});if(v.errors){E.errors=[];for(const v of E.children){for(const P of v.errors){E.errors.push(mapError(v,P))}}}if(v.warnings){E.warnings=[];for(const v of E.children){for(const P of v.warnings){E.warnings.push(mapError(v,P))}}}if(v.errorsCount){E.errorsCount=0;for(const v of E.children){E.errorsCount+=v.errorsCount}}if(v.warningsCount){E.warningsCount=0;for(const v of E.children){E.warningsCount+=v.warningsCount}}return E}toString(v){v=this._createChildOptions(v,{forToString:true});const E=this.stats.map(((E,P)=>{const $=E.toString(v.children[P]);const N=E.compilation.name;const L=N&&R.makePathsRelative(v.context,N,E.compilation.compiler.root).replace(/\|/g," ");if(!$)return $;return L?`${L}:\n${indent($," ")}`:$}));return E.filter(Boolean).join("\n\n")}}v.exports=MultiStats},71551:function(v,E,P){"use strict";const R=P(78175);class MultiWatching{constructor(v,E){this.watchings=v;this.compiler=E}invalidate(v){if(v){R.each(this.watchings,((v,E)=>v.invalidate(E)),v)}else{for(const v of this.watchings){v.invalidate()}}}suspend(){for(const v of this.watchings){v.suspend()}}resume(){for(const v of this.watchings){v.resume()}}close(v){R.forEach(this.watchings,((v,E)=>{v.close(E)}),(E=>{this.compiler.hooks.watchClose.call();if(typeof v==="function"){this.compiler.running=false;v(E)}}))}}v.exports=MultiWatching},90645:function(v){"use strict";class NoEmitOnErrorsPlugin{apply(v){v.hooks.shouldEmit.tap("NoEmitOnErrorsPlugin",(v=>{if(v.getStats().hasErrors())return false}));v.hooks.compilation.tap("NoEmitOnErrorsPlugin",(v=>{v.hooks.shouldRecord.tap("NoEmitOnErrorsPlugin",(()=>{if(v.getStats().hasErrors())return false}))}))}}v.exports=NoEmitOnErrorsPlugin},50746:function(v,E,P){"use strict";const R=P(16413);v.exports=class NoModeWarning extends R{constructor(){super();this.name="NoModeWarning";this.message="configuration\n"+"The 'mode' option has not been set, webpack will fallback to 'production' for this value.\n"+"Set 'mode' option to 'development' or 'production' to enable defaults for each environment.\n"+"You can also set it to 'none' to disable any default behavior. "+"Learn more: https://webpack.js.org/configuration/mode/"}}},10957:function(v,E,P){"use strict";const R=P(16413);const $=P(41718);class NodeStuffInWebError extends R{constructor(v,E,P){super(`${JSON.stringify(E)} has been used, it will be undefined in next major version.\n${P}`);this.name="NodeStuffInWebError";this.loc=v}}$(NodeStuffInWebError,"webpack/lib/NodeStuffInWebError");v.exports=NodeStuffInWebError},73329:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$}=P(96170);const N=P(10957);const L=P(92529);const q=P(10194);const K=P(9297);const ae=P(83945);const{evaluateToString:ge,expressionIsUnsupported:be}=P(73320);const{relative:xe}=P(43860);const{parseResource:ve}=P(51984);const Ae="NodeStuffPlugin";class NodeStuffPlugin{constructor(v){this.options=v}apply(v){const E=this.options;v.hooks.compilation.tap(Ae,((P,{normalModuleFactory:Ie})=>{P.dependencyTemplates.set(ae,new ae.Template);const handler=(P,R)=>{if(R.node===false)return;let $=E;if(R.node){$={...$,...R.node}}if($.global!==false){const v=$.global==="warn";P.hooks.expression.for("global").tap(Ae,(E=>{const R=new K(L.global,E.range,[L.global]);R.loc=E.loc;P.state.module.addPresentationalDependency(R);if(v){P.state.module.addWarning(new N(R.loc,"global","The global namespace object is a Node.js feature and isn't available in browsers."))}}));P.hooks.rename.for("global").tap(Ae,(v=>{const E=new K(L.global,v.range,[L.global]);E.loc=v.loc;P.state.module.addPresentationalDependency(E);return false}))}const setModuleConstant=(v,E,R)=>{P.hooks.expression.for(v).tap(Ae,($=>{const L=new q(JSON.stringify(E(P.state.module)),$.range,v);L.loc=$.loc;P.state.module.addPresentationalDependency(L);if(R){P.state.module.addWarning(new N(L.loc,v,R))}return true}))};const setUrlModuleConstant=(v,E)=>{P.hooks.expression.for(v).tap(Ae,(R=>{const $=new ae("url",[{name:"fileURLToPath",value:"__webpack_fileURLToPath__"}],undefined,E("__webpack_fileURLToPath__"),R.range,v);$.loc=R.loc;P.state.module.addPresentationalDependency($);return true}))};const setConstant=(v,E,P)=>setModuleConstant(v,(()=>E),P);const Ie=v.context;if($.__filename){switch($.__filename){case"mock":setConstant("__filename","/index.js");break;case"warn-mock":setConstant("__filename","/index.js","__filename is a Node.js feature and isn't available in browsers.");break;case"node-module":setUrlModuleConstant("__filename",(v=>`${v}(import.meta.url)`));break;case true:setModuleConstant("__filename",(E=>xe(v.inputFileSystem,Ie,E.resource)));break}P.hooks.evaluateIdentifier.for("__filename").tap(Ae,(v=>{if(!P.state.module)return;const E=ve(P.state.module.resource);return ge(E.path)(v)}))}if($.__dirname){switch($.__dirname){case"mock":setConstant("__dirname","/");break;case"warn-mock":setConstant("__dirname","/","__dirname is a Node.js feature and isn't available in browsers.");break;case"node-module":setUrlModuleConstant("__dirname",(v=>`${v}(import.meta.url + "/..").slice(0, -1)`));break;case true:setModuleConstant("__dirname",(E=>xe(v.inputFileSystem,Ie,E.context)));break}P.hooks.evaluateIdentifier.for("__dirname").tap(Ae,(v=>{if(!P.state.module)return;return ge(P.state.module.context)(v)}))}P.hooks.expression.for("require.extensions").tap(Ae,be(P,"require.extensions is not supported by webpack. Use a loader instead."))};Ie.hooks.parser.for(R).tap(Ae,handler);Ie.hooks.parser.for($).tap(Ae,handler)}))}}v.exports=NodeStuffPlugin},80346:function(v,E,P){"use strict";const R=P(54650);const{getContext:$,runLoaders:N}=P(22955);const L=P(63477);const{HookMap:q,SyncHook:K,AsyncSeriesBailHook:ae}=P(79846);const{CachedSource:ge,OriginalSource:be,RawSource:xe,SourceMapSource:ve}=P(51255);const Ae=P(6944);const Ie=P(2202);const He=P(72011);const Qe=P(8627);const Je=P(15073);const Ve=P(1709);const Ke=P(8899);const{JAVASCRIPT_MODULE_TYPE_AUTO:Ye}=P(96170);const Xe=P(14763);const Ze=P(92529);const et=P(27723);const tt=P(16413);const nt=P(81949);const st=P(2035);const{isSubset:rt}=P(64960);const{getScheme:ot}=P(67515);const{compareLocations:it,concatComparators:at,compareSelect:ct,keepOriginalOrder:lt}=P(28273);const ut=P(20932);const{createFakeHook:pt}=P(31950);const{join:dt}=P(43860);const{contextify:ft,absolutify:ht,makePathsRelative:mt}=P(51984);const gt=P(41718);const yt=P(25689);const bt=yt((()=>P(21092)));const xt=yt((()=>P(38476).validate));const kt=/^([a-zA-Z]:\\|\\\\|\/)/;const contextifySourceUrl=(v,E,P)=>{if(E.startsWith("webpack://"))return E;return`webpack://${mt(v,E,P)}`};const contextifySourceMap=(v,E,P)=>{if(!Array.isArray(E.sources))return E;const{sourceRoot:R}=E;const $=!R?v=>v:R.endsWith("/")?v=>v.startsWith("/")?`${R.slice(0,-1)}${v}`:`${R}${v}`:v=>v.startsWith("/")?`${R}${v}`:`${R}/${v}`;const N=E.sources.map((E=>contextifySourceUrl(v,$(E),P)));return{...E,file:"x",sourceRoot:undefined,sources:N}};const asString=v=>{if(Buffer.isBuffer(v)){return v.toString("utf-8")}return v};const asBuffer=v=>{if(!Buffer.isBuffer(v)){return Buffer.from(v,"utf-8")}return v};class NonErrorEmittedError extends tt{constructor(v){super();this.name="NonErrorEmittedError";this.message="(Emitted value instead of an instance of Error) "+v}}gt(NonErrorEmittedError,"webpack/lib/NormalModule","NonErrorEmittedError");const vt=new WeakMap;class NormalModule extends He{static getCompilationHooks(v){if(!(v instanceof Ae)){throw new TypeError("The 'compilation' argument must be an instance of Compilation")}let E=vt.get(v);if(E===undefined){E={loader:new K(["loaderContext","module"]),beforeLoaders:new K(["loaders","module","loaderContext"]),beforeParse:new K(["module"]),beforeSnapshot:new K(["module"]),readResourceForScheme:new q((v=>{const P=E.readResource.for(v);return pt({tap:(v,E)=>P.tap(v,(v=>E(v.resource,v._module))),tapAsync:(v,E)=>P.tapAsync(v,((v,P)=>E(v.resource,v._module,P))),tapPromise:(v,E)=>P.tapPromise(v,(v=>E(v.resource,v._module)))})})),readResource:new q((()=>new ae(["loaderContext"]))),needBuild:new ae(["module","context"])};vt.set(v,E)}return E}constructor({layer:v,type:E,request:P,userRequest:R,rawRequest:N,loaders:L,resource:q,resourceResolveData:K,context:ae,matchResource:ge,parser:be,parserOptions:xe,generator:ve,generatorOptions:Ae,resolveOptions:Ie}){super(E,ae||$(q),v);this.request=P;this.userRequest=R;this.rawRequest=N;this.binary=/^(asset|webassembly)\b/.test(E);this.parser=be;this.parserOptions=xe;this.generator=ve;this.generatorOptions=Ae;this.resource=q;this.resourceResolveData=K;this.matchResource=ge;this.loaders=L;if(Ie!==undefined){this.resolveOptions=Ie}this.error=null;this._source=null;this._sourceSizes=undefined;this._sourceTypes=undefined;this._lastSuccessfulBuildMeta={};this._forceBuild=true;this._isEvaluatingSideEffects=false;this._addedSideEffectsBailout=undefined;this._codeGeneratorData=new Map}identifier(){if(this.layer===null){if(this.type===Ye){return this.request}else{return`${this.type}|${this.request}`}}else{return`${this.type}|${this.request}|${this.layer}`}}readableIdentifier(v){return v.shorten(this.userRequest)}libIdent(v){let E=ft(v.context,this.userRequest,v.associatedObjectForCache);if(this.layer)E=`(${this.layer})/${E}`;return E}nameForCondition(){const v=this.matchResource||this.resource;const E=v.indexOf("?");if(E>=0)return v.slice(0,E);return v}updateCacheModule(v){super.updateCacheModule(v);const E=v;this.binary=E.binary;this.request=E.request;this.userRequest=E.userRequest;this.rawRequest=E.rawRequest;this.parser=E.parser;this.parserOptions=E.parserOptions;this.generator=E.generator;this.generatorOptions=E.generatorOptions;this.resource=E.resource;this.resourceResolveData=E.resourceResolveData;this.context=E.context;this.matchResource=E.matchResource;this.loaders=E.loaders}cleanupForCache(){if(this.buildInfo){if(this._sourceTypes===undefined)this.getSourceTypes();for(const v of this._sourceTypes){this.size(v)}}super.cleanupForCache();this.parser=undefined;this.parserOptions=undefined;this.generator=undefined;this.generatorOptions=undefined}getUnsafeCacheData(){const v=super.getUnsafeCacheData();v.parserOptions=this.parserOptions;v.generatorOptions=this.generatorOptions;return v}restoreFromUnsafeCache(v,E){this._restoreFromUnsafeCache(v,E)}_restoreFromUnsafeCache(v,E){super._restoreFromUnsafeCache(v,E);this.parserOptions=v.parserOptions;this.parser=E.getParser(this.type,this.parserOptions);this.generatorOptions=v.generatorOptions;this.generator=E.getGenerator(this.type,this.generatorOptions)}createSourceForAsset(v,E,P,R,$){if(R){if(typeof R==="string"&&(this.useSourceMap||this.useSimpleSourceMap)){return new be(P,contextifySourceUrl(v,R,$))}if(this.useSourceMap){return new ve(P,E,contextifySourceMap(v,R,$))}}return new xe(P)}_createLoaderContext(v,E,P,$,N){const{requestShortener:q}=P.runtimeTemplate;const getCurrentLoaderName=()=>{const v=this.getCurrentLoader(ve);if(!v)return"(not in loader scope)";return q.shorten(v.loader)};const getResolveContext=()=>({fileDependencies:{add:v=>ve.addDependency(v)},contextDependencies:{add:v=>ve.addContextDependency(v)},missingDependencies:{add:v=>ve.addMissingDependency(v)}});const K=yt((()=>ht.bindCache(P.compiler.root)));const ae=yt((()=>ht.bindContextCache(this.context,P.compiler.root)));const ge=yt((()=>ft.bindCache(P.compiler.root)));const be=yt((()=>ft.bindContextCache(this.context,P.compiler.root)));const xe={absolutify:(v,E)=>v===this.context?ae()(E):K()(v,E),contextify:(v,E)=>v===this.context?be()(E):ge()(v,E),createHash:v=>ut(v||P.outputOptions.hashFunction)};const ve={version:2,getOptions:v=>{const E=this.getCurrentLoader(ve);let{options:P}=E;if(typeof P==="string"){if(P.startsWith("{")&&P.endsWith("}")){try{P=R(P)}catch(v){throw new Error(`Cannot parse string options: ${v.message}`)}}else{P=L.parse(P,"&","=",{maxKeys:0})}}if(P===null||P===undefined){P={}}if(v){let E="Loader";let R="options";let $;if(v.title&&($=/^(.+) (.+)$/.exec(v.title))){[,E,R]=$}xt()(v,P,{name:E,baseDataPath:R})}return P},emitWarning:v=>{if(!(v instanceof Error)){v=new NonErrorEmittedError(v)}this.addWarning(new Xe(v,{from:getCurrentLoaderName()}))},emitError:v=>{if(!(v instanceof Error)){v=new NonErrorEmittedError(v)}this.addError(new Je(v,{from:getCurrentLoaderName()}))},getLogger:v=>{const E=this.getCurrentLoader(ve);return P.getLogger((()=>[E&&E.loader,v,this.identifier()].filter(Boolean).join("|")))},resolve(E,P,R){v.resolve({},E,P,getResolveContext(),R)},getResolve(E){const P=E?v.withOptions(E):v;return(v,E,R)=>{if(R){P.resolve({},v,E,getResolveContext(),R)}else{return new Promise(((R,$)=>{P.resolve({},v,E,getResolveContext(),((v,E)=>{if(v)$(v);else R(E)}))}))}}},emitFile:(v,R,$,N)=>{if(!this.buildInfo.assets){this.buildInfo.assets=Object.create(null);this.buildInfo.assetsInfo=new Map}this.buildInfo.assets[v]=this.createSourceForAsset(E.context,v,R,$,P.compiler.root);this.buildInfo.assetsInfo.set(v,N)},addBuildDependency:v=>{if(this.buildInfo.buildDependencies===undefined){this.buildInfo.buildDependencies=new st}this.buildInfo.buildDependencies.add(v)},utils:xe,rootContext:E.context,webpack:true,sourceMap:!!this.useSourceMap,mode:E.mode||"production",_module:this,_compilation:P,_compiler:P.compiler,fs:$};Object.assign(ve,E.loader);N.loader.call(ve,this);return ve}getCurrentLoader(v,E=v.loaderIndex){if(this.loaders&&this.loaders.length&&E=0&&this.loaders[E]){return this.loaders[E]}return null}createSource(v,E,P,R){if(Buffer.isBuffer(E)){return new xe(E)}if(!this.identifier){return new xe(E)}const $=this.identifier();if(this.useSourceMap&&P){return new ve(E,contextifySourceUrl(v,$,R),contextifySourceMap(v,P,R))}if(this.useSourceMap||this.useSimpleSourceMap){return new be(E,contextifySourceUrl(v,$,R))}return new xe(E)}_doBuild(v,E,P,R,$,L){const q=this._createLoaderContext(P,v,E,R,$);const processResult=(P,R)=>{if(P){if(!(P instanceof Error)){P=new NonErrorEmittedError(P)}const v=this.getCurrentLoader(q);const R=new Qe(P,{from:v&&E.runtimeTemplate.requestShortener.shorten(v.loader)});return L(R)}const $=R[0];const N=R.length>=1?R[1]:null;const K=R.length>=2?R[2]:null;if(!Buffer.isBuffer($)&&typeof $!=="string"){const v=this.getCurrentLoader(q,0);const P=new Error(`Final loader (${v?E.runtimeTemplate.requestShortener.shorten(v.loader):"unknown"}) didn't return a Buffer or String`);const R=new Qe(P);return L(R)}this._source=this.createSource(v.context,this.binary?asBuffer($):asString($),N,E.compiler.root);if(this._sourceSizes!==undefined)this._sourceSizes.clear();this._ast=typeof K==="object"&&K!==null&&K.webpackAST!==undefined?K.webpackAST:null;return L()};this.buildInfo.fileDependencies=new st;this.buildInfo.contextDependencies=new st;this.buildInfo.missingDependencies=new st;this.buildInfo.cacheable=true;try{$.beforeLoaders.call(this.loaders,this,q)}catch(v){processResult(v);return}if(this.loaders.length>0){this.buildInfo.buildDependencies=new st}N({resource:this.resource,loaders:this.loaders,context:q,processResource:(v,E,P)=>{const R=v.resource;const N=ot(R);$.readResource.for(N).callAsync(v,((v,E)=>{if(v)return P(v);if(typeof E!=="string"&&!E){return P(new et(N,R))}return P(null,E)}))}},((v,E)=>{q._compilation=q._compiler=q._module=q.fs=undefined;if(!E){this.buildInfo.cacheable=false;return processResult(v||new Error("No result from loader-runner processing"),null)}this.buildInfo.fileDependencies.addAll(E.fileDependencies);this.buildInfo.contextDependencies.addAll(E.contextDependencies);this.buildInfo.missingDependencies.addAll(E.missingDependencies);for(const v of this.loaders){this.buildInfo.buildDependencies.add(v.loader)}this.buildInfo.cacheable=this.buildInfo.cacheable&&E.cacheable;processResult(v,E.result)}))}markModuleAsErrored(v){this.buildMeta={...this._lastSuccessfulBuildMeta};this.error=v;this.addError(v)}applyNoParseRule(v,E){if(typeof v==="string"){return E.startsWith(v)}if(typeof v==="function"){return v(E)}return v.test(E)}shouldPreventParsing(v,E){if(!v){return false}if(!Array.isArray(v)){return this.applyNoParseRule(v,E)}for(let P=0;P{if(P){this.markModuleAsErrored(P);this._initBuildHash(E);return $()}const handleParseError=P=>{const R=this._source.source();const N=this.loaders.map((P=>ft(v.context,P.loader,E.compiler.root)));const L=new Ke(R,P,N,this.type);this.markModuleAsErrored(L);this._initBuildHash(E);return $()};const handleParseResult=v=>{this.dependencies.sort(at(ct((v=>v.loc),it),lt(this.dependencies)));this._initBuildHash(E);this._lastSuccessfulBuildMeta=this.buildMeta;return handleBuildDone()};const handleBuildDone=()=>{try{L.beforeSnapshot.call(this)}catch(v){this.markModuleAsErrored(v);return $()}const v=E.options.snapshot.module;if(!this.buildInfo.cacheable||!v){return $()}let P=undefined;const checkDependencies=v=>{for(const R of v){if(!kt.test(R)){if(P===undefined)P=new Set;P.add(R);v.delete(R);try{const P=R.replace(/[\\/]?\*.*$/,"");const $=dt(E.fileSystemInfo.fs,this.context,P);if($!==R&&kt.test($)){(P!==R?this.buildInfo.contextDependencies:v).add($)}}catch(v){}}}};checkDependencies(this.buildInfo.fileDependencies);checkDependencies(this.buildInfo.missingDependencies);checkDependencies(this.buildInfo.contextDependencies);if(P!==undefined){const v=bt();this.addWarning(new v(this,P))}E.fileSystemInfo.createSnapshot(N,this.buildInfo.fileDependencies,this.buildInfo.contextDependencies,this.buildInfo.missingDependencies,v,((v,E)=>{if(v){this.markModuleAsErrored(v);return}this.buildInfo.fileDependencies=undefined;this.buildInfo.contextDependencies=undefined;this.buildInfo.missingDependencies=undefined;this.buildInfo.snapshot=E;return $()}))};try{L.beforeParse.call(this)}catch(P){this.markModuleAsErrored(P);this._initBuildHash(E);return $()}const R=v.module&&v.module.noParse;if(this.shouldPreventParsing(R,this.request)){this.buildInfo.parsed=false;this._initBuildHash(E);return handleBuildDone()}let q;try{const P=this._source.source();q=this.parser.parse(this._ast||P,{source:P,current:this,module:this,compilation:E,options:v})}catch(v){handleParseError(v);return}handleParseResult(q)}))}getConcatenationBailoutReason(v){return this.generator.getConcatenationBailoutReason(this,v)}getSideEffectsConnectionState(v){if(this.factoryMeta!==undefined){if(this.factoryMeta.sideEffectFree)return false;if(this.factoryMeta.sideEffectFree===false)return true}if(this.buildMeta!==undefined&&this.buildMeta.sideEffectFree){if(this._isEvaluatingSideEffects)return Ve.CIRCULAR_CONNECTION;this._isEvaluatingSideEffects=true;let E=false;for(const P of this.dependencies){const R=P.getModuleEvaluationSideEffectsState(v);if(R===true){if(this._addedSideEffectsBailout===undefined?(this._addedSideEffectsBailout=new WeakSet,true):!this._addedSideEffectsBailout.has(v)){this._addedSideEffectsBailout.add(v);v.getOptimizationBailout(this).push((()=>`Dependency (${P.type}) with side effects at ${nt(P.loc)}`))}this._isEvaluatingSideEffects=false;return true}else if(R!==Ve.CIRCULAR_CONNECTION){E=Ve.addConnectionStates(E,R)}}this._isEvaluatingSideEffects=false;return E}else{return true}}getSourceTypes(){if(this._sourceTypes===undefined){this._sourceTypes=this.generator.getTypes(this)}return this._sourceTypes}codeGeneration({dependencyTemplates:v,runtimeTemplate:E,moduleGraph:P,chunkGraph:R,runtime:$,runtimes:N,concatenationScope:L,codeGenerationResults:q,sourceTypes:K}){const ae=new Set;if(!this.buildInfo.parsed){ae.add(Ze.module);ae.add(Ze.exports);ae.add(Ze.thisAsExports)}const getData=()=>this._codeGeneratorData;const be=new Map;for(const ve of K||R.getModuleSourceTypes(this)){const K=this.error?new xe("throw new Error("+JSON.stringify(this.error.message)+");"):this.generator.generate(this,{dependencyTemplates:v,runtimeTemplate:E,moduleGraph:P,chunkGraph:R,runtimeRequirements:ae,runtime:$,runtimes:N,concatenationScope:L,codeGenerationResults:q,getData:getData,type:ve});if(K){be.set(ve,new ge(K))}}const ve={sources:be,runtimeRequirements:ae,data:this._codeGeneratorData};return ve}originalSource(){return this._source}invalidateBuild(){this._forceBuild=true}needBuild(v,E){const{fileSystemInfo:P,compilation:R,valueCacheVersions:$}=v;if(this._forceBuild)return E(null,true);if(this.error)return E(null,true);if(!this.buildInfo.cacheable)return E(null,true);if(!this.buildInfo.snapshot)return E(null,true);const N=this.buildInfo.valueDependencies;if(N){if(!$)return E(null,true);for(const[v,P]of N){if(P===undefined)return E(null,true);const R=$.get(v);if(P!==R&&(typeof P==="string"||typeof R==="string"||R===undefined||!rt(P,R))){return E(null,true)}}}P.checkSnapshotValid(this.buildInfo.snapshot,((P,$)=>{if(P)return E(P);if(!$)return E(null,true);const N=NormalModule.getCompilationHooks(R);N.needBuild.callAsync(this,v,((v,P)=>{if(v){return E(Ie.makeWebpackError(v,"NormalModule.getCompilationHooks().needBuild"))}E(null,!!P)}))}))}size(v){const E=this._sourceSizes===undefined?undefined:this._sourceSizes.get(v);if(E!==undefined){return E}const P=Math.max(1,this.generator.getSize(this,v));if(this._sourceSizes===undefined){this._sourceSizes=new Map}this._sourceSizes.set(v,P);return P}addCacheDependencies(v,E,P,R){const{snapshot:$,buildDependencies:N}=this.buildInfo;if($){v.addAll($.getFileIterable());E.addAll($.getContextIterable());P.addAll($.getMissingIterable())}else{const{fileDependencies:R,contextDependencies:$,missingDependencies:N}=this.buildInfo;if(R!==undefined)v.addAll(R);if($!==undefined)E.addAll($);if(N!==undefined)P.addAll(N)}if(N!==undefined){R.addAll(N)}}updateHash(v,E){v.update(this.buildInfo.hash);this.generator.updateHash(v,{module:this,...E});super.updateHash(v,E)}serialize(v){const{write:E}=v;E(this._source);E(this.error);E(this._lastSuccessfulBuildMeta);E(this._forceBuild);E(this._codeGeneratorData);super.serialize(v)}static deserialize(v){const E=new NormalModule({layer:null,type:"",resource:"",context:"",request:null,userRequest:null,rawRequest:null,loaders:null,matchResource:null,parser:null,parserOptions:null,generator:null,generatorOptions:null,resolveOptions:null});E.deserialize(v);return E}deserialize(v){const{read:E}=v;this._source=E();this.error=E();this._lastSuccessfulBuildMeta=E();this._forceBuild=E();this._codeGeneratorData=E();super.deserialize(v)}}gt(NormalModule,"webpack/lib/NormalModule");v.exports=NormalModule},17083:function(v,E,P){"use strict";const{getContext:R}=P(22955);const $=P(78175);const{AsyncSeriesBailHook:N,SyncWaterfallHook:L,SyncBailHook:q,SyncHook:K,HookMap:ae}=P(79846);const ge=P(86255);const be=P(72011);const xe=P(22362);const ve=P(49188);const{JAVASCRIPT_MODULE_TYPE_AUTO:Ae}=P(96170);const Ie=P(80346);const He=P(60599);const Qe=P(81690);const Je=P(7389);const Ve=P(78185);const Ke=P(19692);const Ye=P(2035);const{getScheme:Xe}=P(67515);const{cachedCleverMerge:Ze,cachedSetProperty:et}=P(36671);const{join:tt}=P(43860);const{parseResource:nt,parseResourceWithoutFragment:st}=P(51984);const rt={};const ot={};const it={};const at=[];const ct=/^([^!]+)!=!/;const lt=/^[^.]/;const loaderToIdent=v=>{if(!v.options){return v.loader}if(typeof v.options==="string"){return v.loader+"?"+v.options}if(typeof v.options!=="object"){throw new Error("loader options must be string or object")}if(v.ident){return v.loader+"??"+v.ident}return v.loader+"?"+JSON.stringify(v.options)};const stringifyLoadersAndResource=(v,E)=>{let P="";for(const E of v){P+=loaderToIdent(E)+"!"}return P+E};const needCalls=(v,E)=>P=>{if(--v===0){return E(P)}if(P&&v>0){v=NaN;return E(P)}};const mergeGlobalOptions=(v,E,P)=>{const R=E.split("/");let $;let N="";for(const E of R){N=N?`${N}/${E}`:E;const P=v[N];if(typeof P==="object"){if($===undefined){$=P}else{$=Ze($,P)}}}if($===undefined){return P}else{return Ze($,P)}};const deprecationChangedHookMessage=(v,E)=>{const P=E.taps.map((v=>v.name)).join(", ");return`NormalModuleFactory.${v} (${P}) is no longer a waterfall hook, but a bailing hook instead. `+"Do not return the passed object, but modify it instead. "+"Returning false will ignore the request and results in no module created."};const ut=new Ve([new Qe("test","resource"),new Qe("scheme"),new Qe("mimetype"),new Qe("dependency"),new Qe("include","resource"),new Qe("exclude","resource",true),new Qe("resource"),new Qe("resourceQuery"),new Qe("resourceFragment"),new Qe("realResource"),new Qe("issuer"),new Qe("compiler"),new Qe("issuerLayer"),new Je("assert","assertions"),new Je("descriptionData"),new He("type"),new He("sideEffects"),new He("parser"),new He("resolve"),new He("generator"),new He("layer"),new Ke]);class NormalModuleFactory extends xe{constructor({context:v,fs:E,resolverFactory:P,options:$,associatedObjectForCache:ge,layers:xe=false}){super();this.hooks=Object.freeze({resolve:new N(["resolveData"]),resolveForScheme:new ae((()=>new N(["resourceData","resolveData"]))),resolveInScheme:new ae((()=>new N(["resourceData","resolveData"]))),factorize:new N(["resolveData"]),beforeResolve:new N(["resolveData"]),afterResolve:new N(["resolveData"]),createModule:new N(["createData","resolveData"]),module:new L(["module","createData","resolveData"]),createParser:new ae((()=>new q(["parserOptions"]))),parser:new ae((()=>new K(["parser","parserOptions"]))),createGenerator:new ae((()=>new q(["generatorOptions"]))),generator:new ae((()=>new K(["generator","generatorOptions"]))),createModuleClass:new ae((()=>new q(["createData","resolveData"])))});this.resolverFactory=P;this.ruleSet=ut.compile([{rules:$.defaultRules},{rules:$.rules}]);this.context=v||"";this.fs=E;this._globalParserOptions=$.parser;this._globalGeneratorOptions=$.generator;this.parserCache=new Map;this.generatorCache=new Map;this._restoredUnsafeCacheEntries=new Set;const ve=nt.bindCache(ge);const He=st.bindCache(ge);this._parseResourceWithoutFragment=He;this.hooks.factorize.tapAsync({name:"NormalModuleFactory",stage:100},((v,E)=>{this.hooks.resolve.callAsync(v,((P,R)=>{if(P)return E(P);if(R===false)return E();if(R instanceof be)return E(null,R);if(typeof R==="object")throw new Error(deprecationChangedHookMessage("resolve",this.hooks.resolve)+" Returning a Module object will result in this module used as result.");this.hooks.afterResolve.callAsync(v,((P,R)=>{if(P)return E(P);if(typeof R==="object")throw new Error(deprecationChangedHookMessage("afterResolve",this.hooks.afterResolve));if(R===false)return E();const $=v.createData;this.hooks.createModule.callAsync($,v,((P,R)=>{if(!R){if(!v.request){return E(new Error("Empty dependency (no request)"))}R=this.hooks.createModuleClass.for($.settings.type).call($,v);if(!R){R=new Ie($)}}R=this.hooks.module.call(R,$,v);return E(null,R)}))}))}))}));this.hooks.resolve.tapAsync({name:"NormalModuleFactory",stage:100},((v,E)=>{const{contextInfo:P,context:$,dependencies:N,dependencyType:L,request:q,assertions:K,resolveOptions:ae,fileDependencies:ge,missingDependencies:be,contextDependencies:Ie}=v;const Qe=this.getResolver("loader");let Je=undefined;let Ve;let Ke;let Ye=false;let nt=false;let st=false;const ot=Xe($);let it=Xe(q);if(!it){let v=q;const E=ct.exec(q);if(E){let P=E[1];if(P.charCodeAt(0)===46){const v=P.charCodeAt(1);if(v===47||v===46&&P.charCodeAt(2)===47){P=tt(this.fs,$,P)}}Je={resource:P,...ve(P)};v=q.slice(E[0].length)}it=Xe(v);if(!it&&!ot){const E=v.charCodeAt(0);const P=v.charCodeAt(1);Ye=E===45&&P===33;nt=Ye||E===33;st=E===33&&P===33;const R=v.slice(Ye||st?2:nt?1:0).split(/!+/);Ve=R.pop();Ke=R.map((v=>{const{path:E,query:P}=He(v);return{loader:E,options:P?P.slice(1):undefined}}));it=Xe(Ve)}else{Ve=v;Ke=at}}else{Ve=q;Ke=at}const lt={fileDependencies:ge,missingDependencies:be,contextDependencies:Ie};let ut;let pt;const dt=needCalls(2,(ae=>{if(ae)return E(ae);try{for(const v of pt){if(typeof v.options==="string"&&v.options[0]==="?"){const E=v.options.slice(1);if(E==="[[missing ident]]"){throw new Error("No ident is provided by referenced loader. "+"When using a function for Rule.use in config you need to "+"provide an 'ident' property for referenced loader options.")}v.options=this.ruleSet.references.get(E);if(v.options===undefined){throw new Error("Invalid ident is provided by referenced loader")}v.ident=E}}}catch(v){return E(v)}if(!ut){return E(null,N[0].createIgnoredModule($))}const ge=(Je!==undefined?`${Je.resource}!=!`:"")+stringifyLoadersAndResource(pt,ut.resource);const be={};const ve=[];const Ie=[];const He=[];let Ve;let Ke;if(Je&&typeof(Ve=Je.resource)==="string"&&(Ke=/\.webpack\[([^\]]+)\]$/.exec(Ve))){be.type=Ke[1];Je.resource=Je.resource.slice(0,-be.type.length-10)}else{be.type=Ae;const v=Je||ut;const E=this.ruleSet.exec({resource:v.path,realResource:ut.path,resourceQuery:v.query,resourceFragment:v.fragment,scheme:it,assertions:K,mimetype:Je?"":ut.data.mimetype||"",dependency:L,descriptionData:Je?undefined:ut.data.descriptionFileData,issuer:P.issuer,compiler:P.compiler,issuerLayer:P.issuerLayer||""});for(const v of E){if(v.type==="type"&&st){continue}if(v.type==="use"){if(!nt&&!st){Ie.push(v.value)}}else if(v.type==="use-post"){if(!st){ve.push(v.value)}}else if(v.type==="use-pre"){if(!Ye&&!st){He.push(v.value)}}else if(typeof v.value==="object"&&v.value!==null&&typeof be[v.type]==="object"&&be[v.type]!==null){be[v.type]=Ze(be[v.type],v.value)}else{be[v.type]=v.value}}}let Xe,et,tt;const rt=needCalls(3,($=>{if($){return E($)}const N=Xe;if(Je===undefined){for(const v of pt)N.push(v);for(const v of et)N.push(v)}else{for(const v of et)N.push(v);for(const v of pt)N.push(v)}for(const v of tt)N.push(v);let L=be.type;const K=be.resolve;const ae=be.layer;if(ae!==undefined&&!xe){return E(new Error("'Rule.layer' is only allowed when 'experiments.layers' is enabled"))}try{Object.assign(v.createData,{layer:ae===undefined?P.issuerLayer||null:ae,request:stringifyLoadersAndResource(N,ut.resource),userRequest:ge,rawRequest:q,loaders:N,resource:ut.resource,context:ut.context||R(ut.resource),matchResource:Je?Je.resource:undefined,resourceResolveData:ut.data,settings:be,type:L,parser:this.getParser(L,be.parser),parserOptions:be.parser,generator:this.getGenerator(L,be.generator),generatorOptions:be.generator,resolveOptions:K})}catch(v){return E(v)}E()}));this.resolveRequestArray(P,this.context,ve,Qe,lt,((v,E)=>{Xe=E;rt(v)}));this.resolveRequestArray(P,this.context,Ie,Qe,lt,((v,E)=>{et=E;rt(v)}));this.resolveRequestArray(P,this.context,He,Qe,lt,((v,E)=>{tt=E;rt(v)}))}));this.resolveRequestArray(P,ot?this.context:$,Ke,Qe,lt,((v,E)=>{if(v)return dt(v);pt=E;dt()}));const defaultResolve=v=>{if(/^($|\?)/.test(Ve)){ut={resource:Ve,data:{},...ve(Ve)};dt()}else{const E=this.getResolver("normal",L?et(ae||rt,"dependencyType",L):ae);this.resolveResource(P,v,Ve,E,lt,((v,E,P)=>{if(v)return dt(v);if(E!==false){ut={resource:E,data:P,...ve(E)}}dt()}))}};if(it){ut={resource:Ve,data:{},path:undefined,query:undefined,fragment:undefined,context:undefined};this.hooks.resolveForScheme.for(it).callAsync(ut,v,(v=>{if(v)return dt(v);dt()}))}else if(ot){ut={resource:Ve,data:{},path:undefined,query:undefined,fragment:undefined,context:undefined};this.hooks.resolveInScheme.for(ot).callAsync(ut,v,((v,E)=>{if(v)return dt(v);if(!E)return defaultResolve(this.context);dt()}))}else defaultResolve($)}))}cleanupForCache(){for(const v of this._restoredUnsafeCacheEntries){ge.clearChunkGraphForModule(v);ve.clearModuleGraphForModule(v);v.cleanupForCache()}}create(v,E){const P=v.dependencies;const R=v.context||this.context;const $=v.resolveOptions||rt;const N=P[0];const L=N.request;const q=N.assertions;const K=v.contextInfo;const ae=new Ye;const ge=new Ye;const be=new Ye;const xe=P.length>0&&P[0].category||"";const ve={contextInfo:K,resolveOptions:$,context:R,request:L,assertions:q,dependencies:P,dependencyType:xe,fileDependencies:ae,missingDependencies:ge,contextDependencies:be,createData:{},cacheable:true};this.hooks.beforeResolve.callAsync(ve,((v,P)=>{if(v){return E(v,{fileDependencies:ae,missingDependencies:ge,contextDependencies:be,cacheable:false})}if(P===false){return E(null,{fileDependencies:ae,missingDependencies:ge,contextDependencies:be,cacheable:ve.cacheable})}if(typeof P==="object")throw new Error(deprecationChangedHookMessage("beforeResolve",this.hooks.beforeResolve));this.hooks.factorize.callAsync(ve,((v,P)=>{if(v){return E(v,{fileDependencies:ae,missingDependencies:ge,contextDependencies:be,cacheable:false})}const R={module:P,fileDependencies:ae,missingDependencies:ge,contextDependencies:be,cacheable:ve.cacheable};E(null,R)}))}))}resolveResource(v,E,P,R,$,N){R.resolve(v,E,P,$,((L,q,K)=>{if(L){return this._resolveResourceErrorHints(L,v,E,P,R,$,((v,E)=>{if(v){L.message+=`\nA fatal error happened during resolving additional hints for this error: ${v.message}`;L.stack+=`\n\nA fatal error happened during resolving additional hints for this error:\n${v.stack}`;return N(L)}if(E&&E.length>0){L.message+=`\n${E.join("\n\n")}`}let P=false;const $=Array.from(R.options.extensions);const q=$.map((v=>{if(lt.test(v)){P=true;return`.${v}`}return v}));if(P){L.message+=`\nDid you miss the leading dot in 'resolve.extensions'? Did you mean '${JSON.stringify(q)}' instead of '${JSON.stringify($)}'?`}N(L)}))}N(L,q,K)}))}_resolveResourceErrorHints(v,E,P,R,N,L,q){$.parallel([v=>{if(!N.options.fullySpecified)return v();N.withOptions({fullySpecified:false}).resolve(E,P,R,L,((E,P)=>{if(!E&&P){const E=nt(P).path.replace(/^.*[\\/]/,"");return v(null,`Did you mean '${E}'?\nBREAKING CHANGE: The request '${R}' failed to resolve only because it was resolved as fully specified\n(probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"').\nThe extension in the request is mandatory for it to be fully specified.\nAdd the extension to the request.`)}v()}))},v=>{if(!N.options.enforceExtension)return v();N.withOptions({enforceExtension:false,extensions:[]}).resolve(E,P,R,L,((E,P)=>{if(!E&&P){let E="";const P=/(\.[^.]+)(\?|$)/.exec(R);if(P){const v=R.replace(/(\.[^.]+)(\?|$)/,"$2");if(N.options.extensions.has(P[1])){E=`Did you mean '${v}'?`}else{E=`Did you mean '${v}'? Also note that '${P[1]}' is not in 'resolve.extensions' yet and need to be added for this to work?`}}else{E=`Did you mean to omit the extension or to remove 'resolve.enforceExtension'?`}return v(null,`The request '${R}' failed to resolve only because 'resolve.enforceExtension' was specified.\n${E}\nIncluding the extension in the request is no longer possible. Did you mean to enforce including the extension in requests with 'resolve.extensions: []' instead?`)}v()}))},v=>{if(/^\.\.?\//.test(R)||N.options.preferRelative){return v()}N.resolve(E,P,`./${R}`,L,((E,P)=>{if(E||!P)return v();const $=N.options.modules.map((v=>Array.isArray(v)?v.join(", "):v)).join(", ");v(null,`Did you mean './${R}'?\nRequests that should resolve in the current directory need to start with './'.\nRequests that start with a name are treated as module requests and resolve within module directories (${$}).\nIf changing the source code is not an option there is also a resolve options called 'preferRelative' which tries to resolve these kind of requests in the current directory too.`)}))}],((v,E)=>{if(v)return q(v);q(null,E.filter(Boolean))}))}resolveRequestArray(v,E,P,R,N,L){if(P.length===0)return L(null,P);$.map(P,((P,$)=>{R.resolve(v,E,P.loader,N,((L,q,K)=>{if(L&&/^[^/]*$/.test(P.loader)&&!/-loader$/.test(P.loader)){return R.resolve(v,E,P.loader+"-loader",N,(v=>{if(!v){L.message=L.message+"\n"+"BREAKING CHANGE: It's no longer allowed to omit the '-loader' suffix when using loaders.\n"+` You need to specify '${P.loader}-loader' instead of '${P.loader}',\n`+" see https://webpack.js.org/migrate/3/#automatic-loader-module-name-extension-removed"}$(L)}))}if(L)return $(L);const ae=this._parseResourceWithoutFragment(q);const ge=/\.mjs$/i.test(ae.path)?"module":/\.cjs$/i.test(ae.path)?"commonjs":K.descriptionFileData===undefined?undefined:K.descriptionFileData.type;const be={loader:ae.path,type:ge,options:P.options===undefined?ae.query?ae.query.slice(1):undefined:P.options,ident:P.options===undefined?undefined:P.ident};return $(null,be)}))}),L)}getParser(v,E=ot){let P=this.parserCache.get(v);if(P===undefined){P=new WeakMap;this.parserCache.set(v,P)}let R=P.get(E);if(R===undefined){R=this.createParser(v,E);P.set(E,R)}return R}createParser(v,E={}){E=mergeGlobalOptions(this._globalParserOptions,v,E);const P=this.hooks.createParser.for(v).call(E);if(!P){throw new Error(`No parser registered for ${v}`)}this.hooks.parser.for(v).call(P,E);return P}getGenerator(v,E=it){let P=this.generatorCache.get(v);if(P===undefined){P=new WeakMap;this.generatorCache.set(v,P)}let R=P.get(E);if(R===undefined){R=this.createGenerator(v,E);P.set(E,R)}return R}createGenerator(v,E={}){E=mergeGlobalOptions(this._globalGeneratorOptions,v,E);const P=this.hooks.createGenerator.for(v).call(E);if(!P){throw new Error(`No generator registered for ${v}`)}this.hooks.generator.for(v).call(P,E);return P}getResolver(v,E){return this.resolverFactory.get(v,E)}}v.exports=NormalModuleFactory},24056:function(v,E,P){"use strict";const{join:R,dirname:$}=P(43860);class NormalModuleReplacementPlugin{constructor(v,E){this.resourceRegExp=v;this.newResource=E}apply(v){const E=this.resourceRegExp;const P=this.newResource;v.hooks.normalModuleFactory.tap("NormalModuleReplacementPlugin",(N=>{N.hooks.beforeResolve.tap("NormalModuleReplacementPlugin",(v=>{if(E.test(v.request)){if(typeof P==="function"){P(v)}else{v.request=P}}}));N.hooks.afterResolve.tap("NormalModuleReplacementPlugin",(N=>{const L=N.createData;if(E.test(L.resource)){if(typeof P==="function"){P(N)}else{const E=v.inputFileSystem;if(P.startsWith("/")||P.length>1&&P[1]===":"){L.resource=P}else{L.resource=R(E,$(E,L.resource),P)}}}}))}))}}v.exports=NormalModuleReplacementPlugin},63171:function(v,E){"use strict";E.STAGE_BASIC=-10;E.STAGE_DEFAULT=0;E.STAGE_ADVANCED=10},25325:function(v){"use strict";class OptionsApply{process(v,E){}}v.exports=OptionsApply},38063:function(v,E,P){"use strict";class Parser{parse(v,E){const R=P(71432);throw new R}}v.exports=Parser},35237:function(v,E,P){"use strict";const R=P(67727);class PrefetchPlugin{constructor(v,E){if(E){this.context=v;this.request=E}else{this.context=null;this.request=v}}apply(v){v.hooks.compilation.tap("PrefetchPlugin",((v,{normalModuleFactory:E})=>{v.dependencyFactories.set(R,E)}));v.hooks.make.tapAsync("PrefetchPlugin",((E,P)=>{E.addModuleChain(this.context||v.context,new R(this.request),(v=>{P(v)}))}))}}v.exports=PrefetchPlugin},82387:function(v,E,P){"use strict";const R=P(74883);const $=P(20381);const N=P(80346);const L=P(21596);const{contextify:q}=P(51984);const K=L(P(3210),(()=>P(17643)),{name:"Progress Plugin",baseDataPath:"options"});const median3=(v,E,P)=>v+E+P-Math.max(v,E,P)-Math.min(v,E,P);const createDefaultHandler=(v,E)=>{const P=[];const defaultHandler=(R,$,...N)=>{if(v){if(R===0){P.length=0}const v=[$,...N];const L=v.map((v=>v.replace(/\d+\/\d+ /g,"")));const q=Date.now();const K=Math.max(L.length,P.length);for(let v=K;v>=0;v--){const R=v0){R=P[v-1].value+" > "+R}const L=`${" | ".repeat(v)}${N} ms ${R}`;const q=N;{if(q>1e4){E.error(L)}else if(q>1e3){E.warn(L)}else if(q>10){E.info(L)}else if(q>5){E.log(L)}else{E.debug(L)}}}if(R===undefined){P.length=v}else{$.value=R;$.time=q;P.length=v+1}}}else{P[v]={value:R,time:q}}}}E.status(`${Math.floor(R*100)}%`,$,...N);if(R===1||!$&&N.length===0)E.status()};return defaultHandler};const ae=new WeakMap;class ProgressPlugin{static getReporter(v){return ae.get(v)}constructor(v={}){if(typeof v==="function"){v={handler:v}}K(v);v={...ProgressPlugin.defaultOptions,...v};this.profile=v.profile;this.handler=v.handler;this.modulesCount=v.modulesCount;this.dependenciesCount=v.dependenciesCount;this.showEntries=v.entries;this.showModules=v.modules;this.showDependencies=v.dependencies;this.showActiveModules=v.activeModules;this.percentBy=v.percentBy}apply(v){const E=this.handler||createDefaultHandler(this.profile,v.getInfrastructureLogger("webpack.Progress"));if(v instanceof $){this._applyOnMultiCompiler(v,E)}else if(v instanceof R){this._applyOnCompiler(v,E)}}_applyOnMultiCompiler(v,E){const P=v.compilers.map((()=>[0]));v.compilers.forEach(((v,R)=>{new ProgressPlugin(((v,$,...N)=>{P[R]=[v,$,...N];let L=0;for(const[v]of P)L+=v;E(L/P.length,`[${R}] ${$}`,...N)})).apply(v)}))}_applyOnCompiler(v,E){const P=this.showEntries;const R=this.showModules;const $=this.showDependencies;const N=this.showActiveModules;let L="";let K="";let ge=0;let be=0;let xe=0;let ve=0;let Ae=0;let Ie=1;let He=0;let Qe=0;let Je=0;const Ve=new Set;let Ke=0;const updateThrottled=()=>{if(Ke+500{const ae=[];const Ye=He/Math.max(ge||this.modulesCount||1,ve);const Xe=Je/Math.max(xe||this.dependenciesCount||1,Ie);const Ze=Qe/Math.max(be||1,Ae);let et;switch(this.percentBy){case"entries":et=Xe;break;case"dependencies":et=Ze;break;case"modules":et=Ye;break;default:et=median3(Ye,Xe,Ze)}const tt=.1+et*.55;if(K){ae.push(`import loader ${q(v.context,K,v.root)}`)}else{const v=[];if(P){v.push(`${Je}/${Ie} entries`)}if($){v.push(`${Qe}/${Ae} dependencies`)}if(R){v.push(`${He}/${ve} modules`)}if(N){v.push(`${Ve.size} active`)}if(v.length>0){ae.push(v.join(" "))}if(N){ae.push(L)}}E(tt,"building",...ae);Ke=Date.now()};const factorizeAdd=()=>{Ae++;if(Ae<50||Ae%100===0)updateThrottled()};const factorizeDone=()=>{Qe++;if(Qe<50||Qe%100===0)updateThrottled()};const moduleAdd=()=>{ve++;if(ve<50||ve%100===0)updateThrottled()};const moduleBuild=v=>{const E=v.identifier();if(E){Ve.add(E);L=E;update()}};const entryAdd=(v,E)=>{Ie++;if(Ie<5||Ie%10===0)updateThrottled()};const moduleDone=v=>{He++;if(N){const E=v.identifier();if(E){Ve.delete(E);if(L===E){L="";for(const v of Ve){L=v}update();return}}}if(He<50||He%100===0)updateThrottled()};const entryDone=(v,E)=>{Je++;update()};const Ye=v.getCache("ProgressPlugin").getItemCache("counts",null);let Xe;v.hooks.beforeCompile.tap("ProgressPlugin",(()=>{if(!Xe){Xe=Ye.getPromise().then((v=>{if(v){ge=ge||v.modulesCount;be=be||v.dependenciesCount}return v}),(v=>{}))}}));v.hooks.afterCompile.tapPromise("ProgressPlugin",(v=>{if(v.compiler.isChild())return Promise.resolve();return Xe.then((async v=>{if(!v||v.modulesCount!==ve||v.dependenciesCount!==Ae){await Ye.storePromise({modulesCount:ve,dependenciesCount:Ae})}}))}));v.hooks.compilation.tap("ProgressPlugin",(P=>{if(P.compiler.isChild())return;ge=ve;xe=Ie;be=Ae;ve=Ae=Ie=0;He=Qe=Je=0;P.factorizeQueue.hooks.added.tap("ProgressPlugin",factorizeAdd);P.factorizeQueue.hooks.result.tap("ProgressPlugin",factorizeDone);P.addModuleQueue.hooks.added.tap("ProgressPlugin",moduleAdd);P.processDependenciesQueue.hooks.result.tap("ProgressPlugin",moduleDone);if(N){P.hooks.buildModule.tap("ProgressPlugin",moduleBuild)}P.hooks.addEntry.tap("ProgressPlugin",entryAdd);P.hooks.failedEntry.tap("ProgressPlugin",entryDone);P.hooks.succeedEntry.tap("ProgressPlugin",entryDone);if(false){}const R={finishModules:"finish module graph",seal:"plugins",optimizeDependencies:"dependencies optimization",afterOptimizeDependencies:"after dependencies optimization",beforeChunks:"chunk graph",afterChunks:"after chunk graph",optimize:"optimizing",optimizeModules:"module optimization",afterOptimizeModules:"after module optimization",optimizeChunks:"chunk optimization",afterOptimizeChunks:"after chunk optimization",optimizeTree:"module and chunk tree optimization",afterOptimizeTree:"after module and chunk tree optimization",optimizeChunkModules:"chunk modules optimization",afterOptimizeChunkModules:"after chunk modules optimization",reviveModules:"module reviving",beforeModuleIds:"before module ids",moduleIds:"module ids",optimizeModuleIds:"module id optimization",afterOptimizeModuleIds:"module id optimization",reviveChunks:"chunk reviving",beforeChunkIds:"before chunk ids",chunkIds:"chunk ids",optimizeChunkIds:"chunk id optimization",afterOptimizeChunkIds:"after chunk id optimization",recordModules:"record modules",recordChunks:"record chunks",beforeModuleHash:"module hashing",beforeCodeGeneration:"code generation",beforeRuntimeRequirements:"runtime requirements",beforeHash:"hashing",afterHash:"after hashing",recordHash:"record hash",beforeModuleAssets:"module assets processing",beforeChunkAssets:"chunk assets processing",processAssets:"asset processing",afterProcessAssets:"after asset optimization",record:"recording",afterSeal:"after seal"};const $=Object.keys(R).length;Object.keys(R).forEach(((N,L)=>{const q=R[N];const K=L/$*.25+.7;P.hooks[N].intercept({name:"ProgressPlugin",call(){E(K,"sealing",q)},done(){ae.set(v,undefined);E(K,"sealing",q)},result(){E(K,"sealing",q)},error(){E(K,"sealing",q)},tap(v){ae.set(P.compiler,((P,...R)=>{E(K,"sealing",q,v.name,...R)}));E(K,"sealing",q,v.name)}})}))}));v.hooks.make.intercept({name:"ProgressPlugin",call(){E(.1,"building")},done(){E(.65,"building")}});const interceptHook=(P,R,$,N)=>{P.intercept({name:"ProgressPlugin",call(){E(R,$,N)},done(){ae.set(v,undefined);E(R,$,N)},result(){E(R,$,N)},error(){E(R,$,N)},tap(P){ae.set(v,((v,...L)=>{E(R,$,N,P.name,...L)}));E(R,$,N,P.name)}})};v.cache.hooks.endIdle.intercept({name:"ProgressPlugin",call(){E(0,"")}});interceptHook(v.cache.hooks.endIdle,.01,"cache","end idle");v.hooks.beforeRun.intercept({name:"ProgressPlugin",call(){E(0,"")}});interceptHook(v.hooks.beforeRun,.01,"setup","before run");interceptHook(v.hooks.run,.02,"setup","run");interceptHook(v.hooks.watchRun,.03,"setup","watch run");interceptHook(v.hooks.normalModuleFactory,.04,"setup","normal module factory");interceptHook(v.hooks.contextModuleFactory,.05,"setup","context module factory");interceptHook(v.hooks.beforeCompile,.06,"setup","before compile");interceptHook(v.hooks.compile,.07,"setup","compile");interceptHook(v.hooks.thisCompilation,.08,"setup","compilation");interceptHook(v.hooks.compilation,.09,"setup","compilation");interceptHook(v.hooks.finishMake,.69,"building","finish");interceptHook(v.hooks.emit,.95,"emitting","emit");interceptHook(v.hooks.afterEmit,.98,"emitting","after emit");interceptHook(v.hooks.done,.99,"done","plugins");v.hooks.done.intercept({name:"ProgressPlugin",done(){E(.99,"")}});interceptHook(v.cache.hooks.storeBuildDependencies,.99,"cache","store build dependencies");interceptHook(v.cache.hooks.shutdown,.99,"cache","shutdown");interceptHook(v.cache.hooks.beginIdle,.99,"cache","begin idle");interceptHook(v.hooks.watchClose,.99,"end","closing watch compilation");v.cache.hooks.beginIdle.intercept({name:"ProgressPlugin",done(){E(1,"")}});v.cache.hooks.shutdown.intercept({name:"ProgressPlugin",done(){E(1,"")}})}}ProgressPlugin.defaultOptions={profile:false,modulesCount:5e3,dependenciesCount:1e4,modules:true,dependencies:true,activeModules:false,entries:true};ProgressPlugin.createDefaultHandler=createDefaultHandler;v.exports=ProgressPlugin},41579:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$,JAVASCRIPT_MODULE_TYPE_ESM:N}=P(96170);const L=P(9297);const q=P(74121);const{approve:K}=P(73320);const ae="ProvidePlugin";class ProvidePlugin{constructor(v){this.definitions=v}apply(v){const E=this.definitions;v.hooks.compilation.tap(ae,((v,{normalModuleFactory:P})=>{v.dependencyTemplates.set(L,new L.Template);v.dependencyFactories.set(q,P);v.dependencyTemplates.set(q,new q.Template);const handler=(v,P)=>{Object.keys(E).forEach((P=>{const R=[].concat(E[P]);const $=P.split(".");if($.length>0){$.slice(1).forEach(((E,P)=>{const R=$.slice(0,P+1).join(".");v.hooks.canRename.for(R).tap(ae,K)}))}v.hooks.expression.for(P).tap(ae,(E=>{const $=P.includes(".")?`__webpack_provided_${P.replace(/\./g,"_dot_")}`:P;const N=new q(R[0],$,R.slice(1),E.range);N.loc=E.loc;v.state.module.addDependency(N);return true}));v.hooks.call.for(P).tap(ae,(E=>{const $=P.includes(".")?`__webpack_provided_${P.replace(/\./g,"_dot_")}`:P;const N=new q(R[0],$,R.slice(1),E.callee.range);N.loc=E.callee.loc;v.state.module.addDependency(N);v.walkExpressions(E.arguments);return true}))}))};P.hooks.parser.for(R).tap(ae,handler);P.hooks.parser.for($).tap(ae,handler);P.hooks.parser.for(N).tap(ae,handler)}))}}v.exports=ProvidePlugin},35976:function(v,E,P){"use strict";const{OriginalSource:R,RawSource:$}=P(51255);const N=P(72011);const{JAVASCRIPT_MODULE_TYPE_DYNAMIC:L}=P(96170);const q=P(41718);const K=new Set(["javascript"]);class RawModule extends N{constructor(v,E,P,R){super(L,null);this.sourceStr=v;this.identifierStr=E||this.sourceStr;this.readableIdentifierStr=P||this.identifierStr;this.runtimeRequirements=R||null}getSourceTypes(){return K}identifier(){return this.identifierStr}size(v){return Math.max(1,this.sourceStr.length)}readableIdentifier(v){return v.shorten(this.readableIdentifierStr)}needBuild(v,E){return E(null,!this.buildMeta)}build(v,E,P,R,$){this.buildMeta={};this.buildInfo={cacheable:true};$()}codeGeneration(v){const E=new Map;if(this.useSourceMap||this.useSimpleSourceMap){E.set("javascript",new R(this.sourceStr,this.identifier()))}else{E.set("javascript",new $(this.sourceStr))}return{sources:E,runtimeRequirements:this.runtimeRequirements}}updateHash(v,E){v.update(this.sourceStr);super.updateHash(v,E)}serialize(v){const{write:E}=v;E(this.sourceStr);E(this.identifierStr);E(this.readableIdentifierStr);E(this.runtimeRequirements);super.serialize(v)}deserialize(v){const{read:E}=v;this.sourceStr=E();this.identifierStr=E();this.readableIdentifierStr=E();this.runtimeRequirements=E();super.deserialize(v)}}q(RawModule,"webpack/lib/RawModule");v.exports=RawModule},98637:function(v,E,P){"use strict";const{compareNumbers:R}=P(28273);const $=P(51984);class RecordIdsPlugin{constructor(v){this.options=v||{}}apply(v){const E=this.options.portableIds;const P=$.makePathsRelative.bindContextCache(v.context,v.root);const getModuleIdentifier=v=>{if(E){return P(v.identifier())}return v.identifier()};v.hooks.compilation.tap("RecordIdsPlugin",(v=>{v.hooks.recordModules.tap("RecordIdsPlugin",((E,P)=>{const $=v.chunkGraph;if(!P.modules)P.modules={};if(!P.modules.byIdentifier)P.modules.byIdentifier={};const N=new Set;for(const v of E){const E=$.getModuleId(v);if(typeof E!=="number")continue;const R=getModuleIdentifier(v);P.modules.byIdentifier[R]=E;N.add(E)}P.modules.usedIds=Array.from(N).sort(R)}));v.hooks.reviveModules.tap("RecordIdsPlugin",((E,P)=>{if(!P.modules)return;if(P.modules.byIdentifier){const R=v.chunkGraph;const $=new Set;for(const v of E){const E=R.getModuleId(v);if(E!==null)continue;const N=getModuleIdentifier(v);const L=P.modules.byIdentifier[N];if(L===undefined)continue;if($.has(L))continue;$.add(L);R.setModuleId(v,L)}}if(Array.isArray(P.modules.usedIds)){v.usedModuleIds=new Set(P.modules.usedIds)}}));const getChunkSources=v=>{const E=[];for(const P of v.groupsIterable){const R=P.chunks.indexOf(v);if(P.name){E.push(`${R} ${P.name}`)}else{for(const v of P.origins){if(v.module){if(v.request){E.push(`${R} ${getModuleIdentifier(v.module)} ${v.request}`)}else if(typeof v.loc==="string"){E.push(`${R} ${getModuleIdentifier(v.module)} ${v.loc}`)}else if(v.loc&&typeof v.loc==="object"&&"start"in v.loc){E.push(`${R} ${getModuleIdentifier(v.module)} ${JSON.stringify(v.loc.start)}`)}}}}}return E};v.hooks.recordChunks.tap("RecordIdsPlugin",((v,E)=>{if(!E.chunks)E.chunks={};if(!E.chunks.byName)E.chunks.byName={};if(!E.chunks.bySource)E.chunks.bySource={};const P=new Set;for(const R of v){if(typeof R.id!=="number")continue;const v=R.name;if(v)E.chunks.byName[v]=R.id;const $=getChunkSources(R);for(const v of $){E.chunks.bySource[v]=R.id}P.add(R.id)}E.chunks.usedIds=Array.from(P).sort(R)}));v.hooks.reviveChunks.tap("RecordIdsPlugin",((E,P)=>{if(!P.chunks)return;const R=new Set;if(P.chunks.byName){for(const v of E){if(v.id!==null)continue;if(!v.name)continue;const E=P.chunks.byName[v.name];if(E===undefined)continue;if(R.has(E))continue;R.add(E);v.id=E;v.ids=[E]}}if(P.chunks.bySource){for(const v of E){if(v.id!==null)continue;const E=getChunkSources(v);for(const $ of E){const E=P.chunks.bySource[$];if(E===undefined)continue;if(R.has(E))continue;R.add(E);v.id=E;v.ids=[E];break}}}if(Array.isArray(P.chunks.usedIds)){v.usedChunkIds=new Set(P.chunks.usedIds)}}))}))}}v.exports=RecordIdsPlugin},55071:function(v,E,P){"use strict";const{contextify:R}=P(51984);class RequestShortener{constructor(v,E){this.contextify=R.bindContextCache(v,E)}shorten(v){if(!v){return v}return this.contextify(v)}}v.exports=RequestShortener},8318:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$}=P(96170);const N=P(92529);const L=P(9297);const{toConstantDependency:q}=P(73320);const K="RequireJsStuffPlugin";v.exports=class RequireJsStuffPlugin{apply(v){v.hooks.compilation.tap(K,((v,{normalModuleFactory:E})=>{v.dependencyTemplates.set(L,new L.Template);const handler=(v,E)=>{if(E.requireJs===undefined||!E.requireJs){return}v.hooks.call.for("require.config").tap(K,q(v,"undefined"));v.hooks.call.for("requirejs.config").tap(K,q(v,"undefined"));v.hooks.expression.for("require.version").tap(K,q(v,JSON.stringify("0.0.0")));v.hooks.expression.for("requirejs.onError").tap(K,q(v,N.uncaughtErrorHandler,[N.uncaughtErrorHandler]))};E.hooks.parser.for(R).tap(K,handler);E.hooks.parser.for($).tap(K,handler)}))}}},52033:function(v,E,P){"use strict";const R=P(32613).ResolverFactory;const{HookMap:$,SyncHook:N,SyncWaterfallHook:L}=P(79846);const{cachedCleverMerge:q,removeOperations:K,resolveByProperty:ae}=P(36671);const ge={};const convertToResolveOptions=v=>{const{dependencyType:E,plugins:P,...R}=v;const $={...R,plugins:P&&P.filter((v=>v!=="..."))};if(!$.fileSystem){throw new Error("fileSystem is missing in resolveOptions, but it's required for enhanced-resolve")}const N=$;return K(ae(N,"byDependency",E))};v.exports=class ResolverFactory{constructor(){this.hooks=Object.freeze({resolveOptions:new $((()=>new L(["resolveOptions"]))),resolver:new $((()=>new N(["resolver","resolveOptions","userResolveOptions"])))});this.cache=new Map}get(v,E=ge){let P=this.cache.get(v);if(!P){P={direct:new WeakMap,stringified:new Map};this.cache.set(v,P)}const R=P.direct.get(E);if(R){return R}const $=JSON.stringify(E);const N=P.stringified.get($);if(N){P.direct.set(E,N);return N}const L=this._create(v,E);P.direct.set(E,L);P.stringified.set($,L);return L}_create(v,E){const P={...E};const $=convertToResolveOptions(this.hooks.resolveOptions.for(v).call(E));const N=R.createResolver($);if(!N){throw new Error("No resolver created")}const L=new WeakMap;N.withOptions=E=>{const R=L.get(E);if(R!==undefined)return R;const $=q(P,E);const N=this.get(v,$);L.set(E,N);return N};this.hooks.resolver.for(v).call(N,$,P);return N}}},92529:function(v,E){"use strict";E.require="__webpack_require__";E.requireScope="__webpack_require__.*";E.exports="__webpack_exports__";E.thisAsExports="top-level-this-exports";E.returnExportsFromRuntime="return-exports-from-runtime";E.module="module";E.moduleId="module.id";E.moduleLoaded="module.loaded";E.publicPath="__webpack_require__.p";E.entryModuleId="__webpack_require__.s";E.moduleCache="__webpack_require__.c";E.moduleFactories="__webpack_require__.m";E.moduleFactoriesAddOnly="__webpack_require__.m (add only)";E.ensureChunk="__webpack_require__.e";E.ensureChunkHandlers="__webpack_require__.f";E.ensureChunkIncludeEntries="__webpack_require__.f (include entries)";E.prefetchChunk="__webpack_require__.E";E.prefetchChunkHandlers="__webpack_require__.F";E.preloadChunk="__webpack_require__.G";E.preloadChunkHandlers="__webpack_require__.H";E.definePropertyGetters="__webpack_require__.d";E.makeNamespaceObject="__webpack_require__.r";E.createFakeNamespaceObject="__webpack_require__.t";E.compatGetDefaultExport="__webpack_require__.n";E.harmonyModuleDecorator="__webpack_require__.hmd";E.nodeModuleDecorator="__webpack_require__.nmd";E.getFullHash="__webpack_require__.h";E.wasmInstances="__webpack_require__.w";E.instantiateWasm="__webpack_require__.v";E.uncaughtErrorHandler="__webpack_require__.oe";E.scriptNonce="__webpack_require__.nc";E.loadScript="__webpack_require__.l";E.createScript="__webpack_require__.ts";E.createScriptUrl="__webpack_require__.tu";E.getTrustedTypesPolicy="__webpack_require__.tt";E.hasFetchPriority="has fetch priority";E.chunkName="__webpack_require__.cn";E.runtimeId="__webpack_require__.j";E.getChunkScriptFilename="__webpack_require__.u";E.getChunkCssFilename="__webpack_require__.k";E.hasCssModules="has css modules";E.getChunkUpdateScriptFilename="__webpack_require__.hu";E.getChunkUpdateCssFilename="__webpack_require__.hk";E.startup="__webpack_require__.x";E.startupNoDefault="__webpack_require__.x (no default handler)";E.startupOnlyAfter="__webpack_require__.x (only after)";E.startupOnlyBefore="__webpack_require__.x (only before)";E.chunkCallback="webpackChunk";E.startupEntrypoint="__webpack_require__.X";E.onChunksLoaded="__webpack_require__.O";E.externalInstallChunk="__webpack_require__.C";E.interceptModuleExecution="__webpack_require__.i";E.global="__webpack_require__.g";E.shareScopeMap="__webpack_require__.S";E.initializeSharing="__webpack_require__.I";E.currentRemoteGetScope="__webpack_require__.R";E.getUpdateManifestFilename="__webpack_require__.hmrF";E.hmrDownloadManifest="__webpack_require__.hmrM";E.hmrDownloadUpdateHandlers="__webpack_require__.hmrC";E.hmrModuleData="__webpack_require__.hmrD";E.hmrInvalidateModuleHandlers="__webpack_require__.hmrI";E.hmrRuntimeStatePrefix="__webpack_require__.hmrS";E.amdDefine="__webpack_require__.amdD";E.amdOptions="__webpack_require__.amdO";E.system="__webpack_require__.System";E.hasOwnProperty="__webpack_require__.o";E.systemContext="__webpack_require__.y";E.baseURI="__webpack_require__.b";E.relativeUrl="__webpack_require__.U";E.asyncModule="__webpack_require__.a"},845:function(v,E,P){"use strict";const{RawSource:R}=P(51255);const $=P(51255).OriginalSource;const N=P(72011);const{WEBPACK_MODULE_TYPE_RUNTIME:L}=P(96170);const q=new Set([L]);class RuntimeModule extends N{constructor(v,E=0){super(L);this.name=v;this.stage=E;this.buildMeta={};this.buildInfo={};this.compilation=undefined;this.chunk=undefined;this.chunkGraph=undefined;this.fullHash=false;this.dependentHash=false;this._cachedGeneratedCode=undefined}attach(v,E,P=v.chunkGraph){this.compilation=v;this.chunk=E;this.chunkGraph=P}identifier(){return`webpack/runtime/${this.name}`}readableIdentifier(v){return`webpack/runtime/${this.name}`}needBuild(v,E){return E(null,false)}build(v,E,P,R,$){$()}updateHash(v,E){v.update(this.name);v.update(`${this.stage}`);try{if(this.fullHash||this.dependentHash){v.update(this.generate())}else{v.update(this.getGeneratedCode())}}catch(E){v.update(E.message)}super.updateHash(v,E)}getSourceTypes(){return q}codeGeneration(v){const E=new Map;const P=this.getGeneratedCode();if(P){E.set(L,this.useSourceMap||this.useSimpleSourceMap?new $(P,this.identifier()):new R(P))}return{sources:E,runtimeRequirements:null}}size(v){try{const v=this.getGeneratedCode();return v?v.length:0}catch(v){return 0}}generate(){const v=P(71432);throw new v}getGeneratedCode(){if(this._cachedGeneratedCode){return this._cachedGeneratedCode}return this._cachedGeneratedCode=this.generate()}shouldIsolate(){return true}}RuntimeModule.STAGE_NORMAL=0;RuntimeModule.STAGE_BASIC=5;RuntimeModule.STAGE_ATTACH=10;RuntimeModule.STAGE_TRIGGER=20;v.exports=RuntimeModule},23802:function(v,E,P){"use strict";const R=P(92529);const{getChunkFilenameTemplate:$}=P(48352);const N=P(94280);const L=P(42453);const q=P(28447);const K=P(5370);const ae=P(97083);const ge=P(6051);const be=P(12087);const xe=P(32667);const ve=P(99388);const Ae=P(47990);const Ie=P(13465);const He=P(92485);const Qe=P(72361);const Je=P(6687);const Ve=P(28991);const Ke=P(86726);const Ye=P(88171);const Xe=P(35974);const Ze=P(87105);const et=P(38991);const tt=P(54163);const nt=P(63830);const st=P(82582);const rt=P(52743);const ot=P(78360);const it=P(84350);const at=P(19943);const ct=[R.chunkName,R.runtimeId,R.compatGetDefaultExport,R.createFakeNamespaceObject,R.createScript,R.createScriptUrl,R.getTrustedTypesPolicy,R.definePropertyGetters,R.ensureChunk,R.entryModuleId,R.getFullHash,R.global,R.makeNamespaceObject,R.moduleCache,R.moduleFactories,R.moduleFactoriesAddOnly,R.interceptModuleExecution,R.publicPath,R.baseURI,R.relativeUrl,R.scriptNonce,R.uncaughtErrorHandler,R.asyncModule,R.wasmInstances,R.instantiateWasm,R.shareScopeMap,R.initializeSharing,R.loadScript,R.systemContext,R.onChunksLoaded];const lt={[R.moduleLoaded]:[R.module],[R.moduleId]:[R.module]};const ut={[R.definePropertyGetters]:[R.hasOwnProperty],[R.compatGetDefaultExport]:[R.definePropertyGetters],[R.createFakeNamespaceObject]:[R.definePropertyGetters,R.makeNamespaceObject,R.require],[R.initializeSharing]:[R.shareScopeMap],[R.shareScopeMap]:[R.hasOwnProperty]};class RuntimePlugin{apply(v){v.hooks.compilation.tap("RuntimePlugin",(v=>{const E=v.outputOptions.chunkLoading;const isChunkLoadingDisabledForChunk=v=>{const P=v.getEntryOptions();const R=P&&P.chunkLoading!==undefined?P.chunkLoading:E;return R===false};v.dependencyTemplates.set(N,new N.Template);for(const E of ct){v.hooks.runtimeRequirementInModule.for(E).tap("RuntimePlugin",((v,E)=>{E.add(R.requireScope)}));v.hooks.runtimeRequirementInTree.for(E).tap("RuntimePlugin",((v,E)=>{E.add(R.requireScope)}))}for(const E of Object.keys(ut)){const P=ut[E];v.hooks.runtimeRequirementInTree.for(E).tap("RuntimePlugin",((v,E)=>{for(const v of P)E.add(v)}))}for(const E of Object.keys(lt)){const P=lt[E];v.hooks.runtimeRequirementInModule.for(E).tap("RuntimePlugin",((v,E)=>{for(const v of P)E.add(v)}))}v.hooks.runtimeRequirementInTree.for(R.definePropertyGetters).tap("RuntimePlugin",(E=>{v.addRuntimeModule(E,new Ie);return true}));v.hooks.runtimeRequirementInTree.for(R.makeNamespaceObject).tap("RuntimePlugin",(E=>{v.addRuntimeModule(E,new Ze);return true}));v.hooks.runtimeRequirementInTree.for(R.createFakeNamespaceObject).tap("RuntimePlugin",(E=>{v.addRuntimeModule(E,new xe);return true}));v.hooks.runtimeRequirementInTree.for(R.hasOwnProperty).tap("RuntimePlugin",(E=>{v.addRuntimeModule(E,new Ye);return true}));v.hooks.runtimeRequirementInTree.for(R.compatGetDefaultExport).tap("RuntimePlugin",(E=>{v.addRuntimeModule(E,new ge);return true}));v.hooks.runtimeRequirementInTree.for(R.runtimeId).tap("RuntimePlugin",(E=>{v.addRuntimeModule(E,new rt);return true}));v.hooks.runtimeRequirementInTree.for(R.publicPath).tap("RuntimePlugin",((E,P)=>{const{outputOptions:$}=v;const{publicPath:N,scriptType:L}=$;const q=E.getEntryOptions();const ae=q&&q.publicPath!==undefined?q.publicPath:N;if(ae==="auto"){const $=new K;if(L!=="module")P.add(R.global);v.addRuntimeModule(E,$)}else{const P=new nt(ae);if(typeof ae!=="string"||/\[(full)?hash\]/.test(ae)){P.fullHash=true}v.addRuntimeModule(E,P)}return true}));v.hooks.runtimeRequirementInTree.for(R.global).tap("RuntimePlugin",(E=>{v.addRuntimeModule(E,new Ke);return true}));v.hooks.runtimeRequirementInTree.for(R.asyncModule).tap("RuntimePlugin",(E=>{v.addRuntimeModule(E,new q);return true}));v.hooks.runtimeRequirementInTree.for(R.systemContext).tap("RuntimePlugin",(E=>{const{outputOptions:P}=v;const{library:R}=P;const $=E.getEntryOptions();const N=$&&$.library!==undefined?$.library.type:R.type;if(N==="system"){v.addRuntimeModule(E,new ot)}return true}));v.hooks.runtimeRequirementInTree.for(R.getChunkScriptFilename).tap("RuntimePlugin",((E,P)=>{if(typeof v.outputOptions.chunkFilename==="string"&&/\[(full)?hash(:\d+)?\]/.test(v.outputOptions.chunkFilename)){P.add(R.getFullHash)}v.addRuntimeModule(E,new Qe("javascript","javascript",R.getChunkScriptFilename,(E=>E.filenameTemplate||(E.canBeInitial()?v.outputOptions.filename:v.outputOptions.chunkFilename)),false));return true}));v.hooks.runtimeRequirementInTree.for(R.getChunkCssFilename).tap("RuntimePlugin",((E,P)=>{if(typeof v.outputOptions.cssChunkFilename==="string"&&/\[(full)?hash(:\d+)?\]/.test(v.outputOptions.cssChunkFilename)){P.add(R.getFullHash)}v.addRuntimeModule(E,new Qe("css","css",R.getChunkCssFilename,(E=>$(E,v.outputOptions)),P.has(R.hmrDownloadUpdateHandlers)));return true}));v.hooks.runtimeRequirementInTree.for(R.getChunkUpdateScriptFilename).tap("RuntimePlugin",((E,P)=>{if(/\[(full)?hash(:\d+)?\]/.test(v.outputOptions.hotUpdateChunkFilename))P.add(R.getFullHash);v.addRuntimeModule(E,new Qe("javascript","javascript update",R.getChunkUpdateScriptFilename,(E=>v.outputOptions.hotUpdateChunkFilename),true));return true}));v.hooks.runtimeRequirementInTree.for(R.getUpdateManifestFilename).tap("RuntimePlugin",((E,P)=>{if(/\[(full)?hash(:\d+)?\]/.test(v.outputOptions.hotUpdateMainFilename)){P.add(R.getFullHash)}v.addRuntimeModule(E,new Je("update manifest",R.getUpdateManifestFilename,v.outputOptions.hotUpdateMainFilename));return true}));v.hooks.runtimeRequirementInTree.for(R.ensureChunk).tap("RuntimePlugin",((E,P)=>{const $=E.hasAsyncChunks();if($){P.add(R.ensureChunkHandlers)}v.addRuntimeModule(E,new He(P));return true}));v.hooks.runtimeRequirementInTree.for(R.ensureChunkIncludeEntries).tap("RuntimePlugin",((v,E)=>{E.add(R.ensureChunkHandlers)}));v.hooks.runtimeRequirementInTree.for(R.shareScopeMap).tap("RuntimePlugin",((E,P)=>{v.addRuntimeModule(E,new it);return true}));v.hooks.runtimeRequirementInTree.for(R.loadScript).tap("RuntimePlugin",((E,P)=>{const $=!!v.outputOptions.trustedTypes;if($){P.add(R.createScriptUrl)}const N=P.has(R.hasFetchPriority);v.addRuntimeModule(E,new Xe($,N));return true}));v.hooks.runtimeRequirementInTree.for(R.createScript).tap("RuntimePlugin",((E,P)=>{if(v.outputOptions.trustedTypes){P.add(R.getTrustedTypesPolicy)}v.addRuntimeModule(E,new ve);return true}));v.hooks.runtimeRequirementInTree.for(R.createScriptUrl).tap("RuntimePlugin",((E,P)=>{if(v.outputOptions.trustedTypes){P.add(R.getTrustedTypesPolicy)}v.addRuntimeModule(E,new Ae);return true}));v.hooks.runtimeRequirementInTree.for(R.getTrustedTypesPolicy).tap("RuntimePlugin",((E,P)=>{v.addRuntimeModule(E,new Ve(P));return true}));v.hooks.runtimeRequirementInTree.for(R.relativeUrl).tap("RuntimePlugin",((E,P)=>{v.addRuntimeModule(E,new st);return true}));v.hooks.runtimeRequirementInTree.for(R.onChunksLoaded).tap("RuntimePlugin",((E,P)=>{v.addRuntimeModule(E,new tt);return true}));v.hooks.runtimeRequirementInTree.for(R.baseURI).tap("RuntimePlugin",(E=>{if(isChunkLoadingDisabledForChunk(E)){v.addRuntimeModule(E,new ae);return true}}));v.hooks.runtimeRequirementInTree.for(R.scriptNonce).tap("RuntimePlugin",(E=>{v.addRuntimeModule(E,new et);return true}));v.hooks.additionalTreeRuntimeRequirements.tap("RuntimePlugin",((E,P)=>{const{mainTemplate:R}=v;if(R.hooks.bootstrap.isUsed()||R.hooks.localVars.isUsed()||R.hooks.requireEnsure.isUsed()||R.hooks.requireExtensions.isUsed()){v.addRuntimeModule(E,new be)}}));L.getCompilationHooks(v).chunkHash.tap("RuntimePlugin",((v,E,{chunkGraph:P})=>{const R=new at;for(const E of P.getChunkRuntimeModulesIterable(v)){R.add(P.getModuleHash(E,v.runtime))}R.updateHash(E)}))}))}}v.exports=RuntimePlugin},65252:function(v,E,P){"use strict";const R=P(23596);const $=P(92529);const N=P(25233);const{equals:L}=P(30806);const q=P(49694);const K=P(11930);const{forEachRuntime:ae,subtractRuntime:ge}=P(65153);const noModuleIdErrorMessage=(v,E)=>`Module ${v.identifier()} has no id assigned.\nThis should not happen.\nIt's in these chunks: ${Array.from(E.getModuleChunksIterable(v),(v=>v.name||v.id||v.debugId)).join(", ")||"none"} (If module is in no chunk this indicates a bug in some chunk/module optimization logic)\nModule has these incoming connections: ${Array.from(E.moduleGraph.getIncomingConnections(v),(v=>`\n - ${v.originModule&&v.originModule.identifier()} ${v.dependency&&v.dependency.type} ${v.explanations&&Array.from(v.explanations).join(", ")||""}`)).join("")}`;function getGlobalObject(v){if(!v)return v;const E=v.trim();if(E.match(/^[_\p{L}][_0-9\p{L}]*$/iu)||E.match(/^([_\p{L}][_0-9\p{L}]*)?\(.*\)$/iu))return E;return`Object(${E})`}class RuntimeTemplate{constructor(v,E,P){this.compilation=v;this.outputOptions=E||{};this.requestShortener=P;this.globalObject=getGlobalObject(E.globalObject);this.contentHashReplacement="X".repeat(E.hashDigestLength)}isIIFE(){return this.outputOptions.iife}isModule(){return this.outputOptions.module}supportsConst(){return this.outputOptions.environment.const}supportsArrowFunction(){return this.outputOptions.environment.arrowFunction}supportsAsyncFunction(){return this.outputOptions.environment.asyncFunction}supportsOptionalChaining(){return this.outputOptions.environment.optionalChaining}supportsForOf(){return this.outputOptions.environment.forOf}supportsDestructuring(){return this.outputOptions.environment.destructuring}supportsBigIntLiteral(){return this.outputOptions.environment.bigIntLiteral}supportsDynamicImport(){return this.outputOptions.environment.dynamicImport}supportsEcmaScriptModuleSyntax(){return this.outputOptions.environment.module}supportTemplateLiteral(){return this.outputOptions.environment.templateLiteral}returningFunction(v,E=""){return this.supportsArrowFunction()?`(${E}) => (${v})`:`function(${E}) { return ${v}; }`}basicFunction(v,E){return this.supportsArrowFunction()?`(${v}) => {\n${N.indent(E)}\n}`:`function(${v}) {\n${N.indent(E)}\n}`}concatenation(...v){const E=v.length;if(E===2)return this._es5Concatenation(v);if(E===0)return'""';if(E===1){return typeof v[0]==="string"?JSON.stringify(v[0]):`"" + ${v[0].expr}`}if(!this.supportTemplateLiteral())return this._es5Concatenation(v);let P=0;let R=0;let $=false;for(const E of v){const v=typeof E!=="string";if(v){P+=3;R+=$?1:4}$=v}if($)R-=3;if(typeof v[0]!=="string"&&typeof v[1]==="string")R-=3;if(R<=P)return this._es5Concatenation(v);return`\`${v.map((v=>typeof v==="string"?v:`\${${v.expr}}`)).join("")}\``}_es5Concatenation(v){const E=v.map((v=>typeof v==="string"?JSON.stringify(v):v.expr)).join(" + ");return typeof v[0]!=="string"&&typeof v[1]!=="string"?`"" + ${E}`:E}expressionFunction(v,E=""){return this.supportsArrowFunction()?`(${E}) => (${v})`:`function(${E}) { ${v}; }`}emptyFunction(){return this.supportsArrowFunction()?"x => {}":"function() {}"}destructureArray(v,E){return this.supportsDestructuring()?`var [${v.join(", ")}] = ${E};`:N.asString(v.map(((v,P)=>`var ${v} = ${E}[${P}];`)))}destructureObject(v,E){return this.supportsDestructuring()?`var {${v.join(", ")}} = ${E};`:N.asString(v.map((v=>`var ${v} = ${E}${K([v])};`)))}iife(v,E){return`(${this.basicFunction(v,E)})()`}forEach(v,E,P){return this.supportsForOf()?`for(const ${v} of ${E}) {\n${N.indent(P)}\n}`:`${E}.forEach(function(${v}) {\n${N.indent(P)}\n});`}comment({request:v,chunkName:E,chunkReason:P,message:R,exportName:$}){let L;if(this.outputOptions.pathinfo){L=[R,v,E,P].filter(Boolean).map((v=>this.requestShortener.shorten(v))).join(" | ")}else{L=[R,E,P].filter(Boolean).map((v=>this.requestShortener.shorten(v))).join(" | ")}if(!L)return"";if(this.outputOptions.pathinfo){return N.toComment(L)+" "}else{return N.toNormalComment(L)+" "}}throwMissingModuleErrorBlock({request:v}){const E=`Cannot find module '${v}'`;return`var e = new Error(${JSON.stringify(E)}); e.code = 'MODULE_NOT_FOUND'; throw e;`}throwMissingModuleErrorFunction({request:v}){return`function webpackMissingModule() { ${this.throwMissingModuleErrorBlock({request:v})} }`}missingModule({request:v}){return`Object(${this.throwMissingModuleErrorFunction({request:v})}())`}missingModuleStatement({request:v}){return`${this.missingModule({request:v})};\n`}missingModulePromise({request:v}){return`Promise.resolve().then(${this.throwMissingModuleErrorFunction({request:v})})`}weakError({module:v,chunkGraph:E,request:P,idExpr:R,type:$}){const L=E.getModuleId(v);const q=L===null?JSON.stringify("Module is not available (weak dependency)"):R?`"Module '" + ${R} + "' is not available (weak dependency)"`:JSON.stringify(`Module '${L}' is not available (weak dependency)`);const K=P?N.toNormalComment(P)+" ":"";const ae=`var e = new Error(${q}); `+K+"e.code = 'MODULE_NOT_FOUND'; throw e;";switch($){case"statements":return ae;case"promise":return`Promise.resolve().then(${this.basicFunction("",ae)})`;case"expression":return this.iife("",ae)}}moduleId({module:v,chunkGraph:E,request:P,weak:R}){if(!v){return this.missingModule({request:P})}const $=E.getModuleId(v);if($===null){if(R){return"null /* weak dependency, without id */"}throw new Error(`RuntimeTemplate.moduleId(): ${noModuleIdErrorMessage(v,E)}`)}return`${this.comment({request:P})}${JSON.stringify($)}`}moduleRaw({module:v,chunkGraph:E,request:P,weak:R,runtimeRequirements:N}){if(!v){return this.missingModule({request:P})}const L=E.getModuleId(v);if(L===null){if(R){return this.weakError({module:v,chunkGraph:E,request:P,type:"expression"})}throw new Error(`RuntimeTemplate.moduleId(): ${noModuleIdErrorMessage(v,E)}`)}N.add($.require);return`${$.require}(${this.moduleId({module:v,chunkGraph:E,request:P,weak:R})})`}moduleExports({module:v,chunkGraph:E,request:P,weak:R,runtimeRequirements:$}){return this.moduleRaw({module:v,chunkGraph:E,request:P,weak:R,runtimeRequirements:$})}moduleNamespace({module:v,chunkGraph:E,request:P,strict:R,weak:N,runtimeRequirements:L}){if(!v){return this.missingModule({request:P})}if(E.getModuleId(v)===null){if(N){return this.weakError({module:v,chunkGraph:E,request:P,type:"expression"})}throw new Error(`RuntimeTemplate.moduleNamespace(): ${noModuleIdErrorMessage(v,E)}`)}const q=this.moduleId({module:v,chunkGraph:E,request:P,weak:N});const K=v.getExportsType(E.moduleGraph,R);switch(K){case"namespace":return this.moduleRaw({module:v,chunkGraph:E,request:P,weak:N,runtimeRequirements:L});case"default-with-named":L.add($.createFakeNamespaceObject);return`${$.createFakeNamespaceObject}(${q}, 3)`;case"default-only":L.add($.createFakeNamespaceObject);return`${$.createFakeNamespaceObject}(${q}, 1)`;case"dynamic":L.add($.createFakeNamespaceObject);return`${$.createFakeNamespaceObject}(${q}, 7)`}}moduleNamespacePromise({chunkGraph:v,block:E,module:P,request:R,message:N,strict:L,weak:q,runtimeRequirements:K}){if(!P){return this.missingModulePromise({request:R})}const ae=v.getModuleId(P);if(ae===null){if(q){return this.weakError({module:P,chunkGraph:v,request:R,type:"promise"})}throw new Error(`RuntimeTemplate.moduleNamespacePromise(): ${noModuleIdErrorMessage(P,v)}`)}const ge=this.blockPromise({chunkGraph:v,block:E,message:N,runtimeRequirements:K});let be;let xe=JSON.stringify(v.getModuleId(P));const ve=this.comment({request:R});let Ae="";if(q){if(xe.length>8){Ae+=`var id = ${xe}; `;xe="id"}K.add($.moduleFactories);Ae+=`if(!${$.moduleFactories}[${xe}]) { ${this.weakError({module:P,chunkGraph:v,request:R,idExpr:xe,type:"statements"})} } `}const Ie=this.moduleId({module:P,chunkGraph:v,request:R,weak:q});const He=P.getExportsType(v.moduleGraph,L);let Qe=16;switch(He){case"namespace":if(Ae){const E=this.moduleRaw({module:P,chunkGraph:v,request:R,weak:q,runtimeRequirements:K});be=`.then(${this.basicFunction("",`${Ae}return ${E};`)})`}else{K.add($.require);be=`.then(${$.require}.bind(${$.require}, ${ve}${xe}))`}break;case"dynamic":Qe|=4;case"default-with-named":Qe|=2;case"default-only":K.add($.createFakeNamespaceObject);if(v.moduleGraph.isAsync(P)){if(Ae){const E=this.moduleRaw({module:P,chunkGraph:v,request:R,weak:q,runtimeRequirements:K});be=`.then(${this.basicFunction("",`${Ae}return ${E};`)})`}else{K.add($.require);be=`.then(${$.require}.bind(${$.require}, ${ve}${xe}))`}be+=`.then(${this.returningFunction(`${$.createFakeNamespaceObject}(m, ${Qe})`,"m")})`}else{Qe|=1;if(Ae){const v=`${$.createFakeNamespaceObject}(${Ie}, ${Qe})`;be=`.then(${this.basicFunction("",`${Ae}return ${v};`)})`}else{be=`.then(${$.createFakeNamespaceObject}.bind(${$.require}, ${ve}${xe}, ${Qe}))`}}break}return`${ge||"Promise.resolve()"}${be}`}runtimeConditionExpression({chunkGraph:v,runtimeCondition:E,runtime:P,runtimeRequirements:R}){if(E===undefined)return"true";if(typeof E==="boolean")return`${E}`;const N=new Set;ae(E,(E=>N.add(`${v.getRuntimeId(E)}`)));const L=new Set;ae(ge(P,E),(E=>L.add(`${v.getRuntimeId(E)}`)));R.add($.runtimeId);return q.fromLists(Array.from(N),Array.from(L))($.runtimeId)}importStatement({update:v,module:E,chunkGraph:P,request:R,importVar:N,originModule:L,weak:q,runtimeRequirements:K}){if(!E){return[this.missingModuleStatement({request:R}),""]}if(P.getModuleId(E)===null){if(q){return[this.weakError({module:E,chunkGraph:P,request:R,type:"statements"}),""]}throw new Error(`RuntimeTemplate.importStatement(): ${noModuleIdErrorMessage(E,P)}`)}const ae=this.moduleId({module:E,chunkGraph:P,request:R,weak:q});const ge=v?"":"var ";const be=E.getExportsType(P.moduleGraph,L.buildMeta.strictHarmonyModule);K.add($.require);const xe=`/* harmony import */ ${ge}${N} = ${$.require}(${ae});\n`;if(be==="dynamic"){K.add($.compatGetDefaultExport);return[xe,`/* harmony import */ ${ge}${N}_default = /*#__PURE__*/${$.compatGetDefaultExport}(${N});\n`]}return[xe,""]}exportFromImport({moduleGraph:v,module:E,request:P,exportName:q,originModule:ae,asiSafe:ge,isCall:be,callContext:xe,defaultInterop:ve,importVar:Ae,initFragments:Ie,runtime:He,runtimeRequirements:Qe}){if(!E){return this.missingModule({request:P})}if(!Array.isArray(q)){q=q?[q]:[]}const Je=E.getExportsType(v,ae.buildMeta.strictHarmonyModule);if(ve){if(q.length>0&&q[0]==="default"){switch(Je){case"dynamic":if(be){return`${Ae}_default()${K(q,1)}`}else{return ge?`(${Ae}_default()${K(q,1)})`:ge===false?`;(${Ae}_default()${K(q,1)})`:`${Ae}_default.a${K(q,1)}`}case"default-only":case"default-with-named":q=q.slice(1);break}}else if(q.length>0){if(Je==="default-only"){return"/* non-default import from non-esm module */undefined"+K(q,1)}else if(Je!=="namespace"&&q[0]==="__esModule"){return"/* __esModule */true"}}else if(Je==="default-only"||Je==="default-with-named"){Qe.add($.createFakeNamespaceObject);Ie.push(new R(`var ${Ae}_namespace_cache;\n`,R.STAGE_CONSTANTS,-1,`${Ae}_namespace_cache`));return`/*#__PURE__*/ ${ge?"":ge===false?";":"Object"}(${Ae}_namespace_cache || (${Ae}_namespace_cache = ${$.createFakeNamespaceObject}(${Ae}${Je==="default-only"?"":", 2"})))`}}if(q.length>0){const P=v.getExportsInfo(E);const R=P.getUsedName(q,He);if(!R){const v=N.toNormalComment(`unused export ${K(q)}`);return`${v} undefined`}const $=L(R,q)?"":N.toNormalComment(K(q))+" ";const ae=`${Ae}${$}${K(R)}`;if(be&&xe===false){return ge?`(0,${ae})`:ge===false?`;(0,${ae})`:`/*#__PURE__*/Object(${ae})`}return ae}else{return Ae}}blockPromise({block:v,message:E,chunkGraph:P,runtimeRequirements:R}){if(!v){const v=this.comment({message:E});return`Promise.resolve(${v.trim()})`}const N=P.getBlockChunkGroup(v);if(!N||N.chunks.length===0){const v=this.comment({message:E});return`Promise.resolve(${v.trim()})`}const L=N.chunks.filter((v=>!v.hasRuntime()&&v.id!==null));const q=this.comment({message:E,chunkName:v.chunkName});if(L.length===1){const v=JSON.stringify(L[0].id);R.add($.ensureChunk);const E=N.options.fetchPriority;if(E){R.add($.hasFetchPriority)}return`${$.ensureChunk}(${q}${v}${E?`, ${JSON.stringify(E)}`:""})`}else if(L.length>0){R.add($.ensureChunk);const v=N.options.fetchPriority;if(v){R.add($.hasFetchPriority)}const requireChunkId=E=>`${$.ensureChunk}(${JSON.stringify(E.id)}${v?`, ${JSON.stringify(v)}`:""})`;return`Promise.all(${q.trim()}[${L.map(requireChunkId).join(", ")}])`}else{return`Promise.resolve(${q.trim()})`}}asyncModuleFactory({block:v,chunkGraph:E,runtimeRequirements:P,request:R}){const $=v.dependencies[0];const N=E.moduleGraph.getModule($);const L=this.blockPromise({block:v,message:"",chunkGraph:E,runtimeRequirements:P});const q=this.returningFunction(this.moduleRaw({module:N,chunkGraph:E,request:R,runtimeRequirements:P}));return this.returningFunction(L.startsWith("Promise.resolve(")?`${q}`:`${L}.then(${this.returningFunction(q)})`)}syncModuleFactory({dependency:v,chunkGraph:E,runtimeRequirements:P,request:R}){const $=E.moduleGraph.getModule(v);const N=this.returningFunction(this.moduleRaw({module:$,chunkGraph:E,request:R,runtimeRequirements:P}));return this.returningFunction(N)}defineEsModuleFlagStatement({exportsArgument:v,runtimeRequirements:E}){E.add($.makeNamespaceObject);E.add($.exports);return`${$.makeNamespaceObject}(${v});\n`}assetUrl({publicPath:v,runtime:E,module:P,codeGenerationResults:R}){if(!P){return"data:,"}const $=R.get(P,E);const{data:N}=$;const L=N.get("url");if(L)return L.toString();const q=N.get("filename");return v+q}}v.exports=RuntimeTemplate},14115:function(v){"use strict";class SelfModuleFactory{constructor(v){this.moduleGraph=v}create(v,E){const P=this.moduleGraph.getParentModule(v.dependencies[0]);E(null,{module:P})}}v.exports=SelfModuleFactory},90865:function(v,E,P){"use strict";v.exports=P(80871)},34966:function(v,E){"use strict";E.formatSize=v=>{if(typeof v!=="number"||Number.isNaN(v)===true){return"unknown size"}if(v<=0){return"0 bytes"}const E=["bytes","KiB","MiB","GiB"];const P=Math.floor(Math.log(v)/Math.log(1024));return`${+(v/Math.pow(1024,P)).toPrecision(3)} ${E[P]}`}},55292:function(v,E,P){"use strict";const R=P(42453);class SourceMapDevToolModuleOptionsPlugin{constructor(v){this.options=v}apply(v){const E=this.options;if(E.module!==false){v.hooks.buildModule.tap("SourceMapDevToolModuleOptionsPlugin",(v=>{v.useSourceMap=true}));v.hooks.runtimeModule.tap("SourceMapDevToolModuleOptionsPlugin",(v=>{v.useSourceMap=true}))}else{v.hooks.buildModule.tap("SourceMapDevToolModuleOptionsPlugin",(v=>{v.useSimpleSourceMap=true}));v.hooks.runtimeModule.tap("SourceMapDevToolModuleOptionsPlugin",(v=>{v.useSimpleSourceMap=true}))}R.getCompilationHooks(v).useSourceMap.tap("SourceMapDevToolModuleOptionsPlugin",(()=>true))}}v.exports=SourceMapDevToolModuleOptionsPlugin},65596:function(v,E,P){"use strict";const R=P(78175);const{ConcatSource:$,RawSource:N}=P(51255);const L=P(6944);const q=P(15321);const K=P(82387);const ae=P(55292);const ge=P(21596);const be=P(20932);const{relative:xe,dirname:ve}=P(43860);const{makePathsAbsolute:Ae}=P(51984);const Ie=ge(P(99936),(()=>P(66727)),{name:"SourceMap DevTool Plugin",baseDataPath:"options"});const He=/[-[\]\\/{}()*+?.^$|]/g;const Qe=/\[contenthash(:\w+)?\]/;const Je=/\.((c|m)?js|css)($|\?)/i;const Ve=/\.css($|\?)/i;const Ke=/\[map\]/g;const Ye=/\[url\]/g;const Xe=/^\n\/\/(.*)$/;const resetRegexpState=v=>{v.lastIndex=-1};const quoteMeta=v=>v.replace(He,"\\$&");const getTaskForFile=(v,E,P,R,$,N)=>{let L;let q;if(E.sourceAndMap){const v=E.sourceAndMap(R);q=v.map;L=v.source}else{q=E.map(R);L=E.source()}if(!q||typeof L!=="string")return;const K=$.options.context;const ae=$.compiler.root;const ge=Ae.bindContextCache(K,ae);const be=q.sources.map((v=>{if(!v.startsWith("webpack://"))return v;v=ge(v.slice(10));const E=$.findModule(v);return E||v}));return{file:v,asset:E,source:L,assetInfo:P,sourceMap:q,modules:be,cacheItem:N}};class SourceMapDevToolPlugin{constructor(v={}){Ie(v);this.sourceMapFilename=v.filename;this.sourceMappingURLComment=v.append===false?false:v.append||"\n//# source"+"MappingURL=[url]";this.moduleFilenameTemplate=v.moduleFilenameTemplate||"webpack://[namespace]/[resourcePath]";this.fallbackModuleFilenameTemplate=v.fallbackModuleFilenameTemplate||"webpack://[namespace]/[resourcePath]?[hash]";this.namespace=v.namespace||"";this.options=v}apply(v){const E=v.outputFileSystem;const P=this.sourceMapFilename;const ge=this.sourceMappingURLComment;const Ae=this.moduleFilenameTemplate;const Ie=this.namespace;const He=this.fallbackModuleFilenameTemplate;const Ze=v.requestShortener;const et=this.options;et.test=et.test||Je;const tt=q.matchObject.bind(undefined,et);v.hooks.compilation.tap("SourceMapDevToolPlugin",(v=>{new ae(et).apply(v);v.hooks.processAssets.tapAsync({name:"SourceMapDevToolPlugin",stage:L.PROCESS_ASSETS_STAGE_DEV_TOOLING,additionalAssets:true},((L,ae)=>{const Je=v.chunkGraph;const nt=v.getCache("SourceMapDevToolPlugin");const st=new Map;const rt=K.getReporter(v.compiler)||(()=>{});const ot=new Map;for(const E of v.chunks){for(const v of E.files){ot.set(v,E)}for(const v of E.auxiliaryFiles){ot.set(v,E)}}const it=[];for(const v of Object.keys(L)){if(tt(v)){it.push(v)}}rt(0);const at=[];let ct=0;R.each(it,((E,P)=>{const R=v.getAsset(E);if(R.info.related&&R.info.related.sourceMap){ct++;return P()}const $=nt.getItemCache(E,nt.mergeEtags(nt.getLazyHashedEtag(R.source),Ie));$.get(((N,L)=>{if(N){return P(N)}if(L){const{assets:R,assetsInfo:$}=L;for(const P of Object.keys(R)){if(P===E){v.updateAsset(P,R[P],$[P])}else{v.emitAsset(P,R[P],$[P])}if(P!==E){const v=ot.get(E);if(v!==undefined)v.auxiliaryFiles.add(P)}}rt(.5*++ct/it.length,E,"restored cached SourceMap");return P()}rt(.5*ct/it.length,E,"generate SourceMap");const K=getTaskForFile(E,R.source,R.info,{module:et.module,columns:et.columns},v,$);if(K){const E=K.modules;for(let P=0;P{if(L){return ae(L)}rt(.5,"resolve sources");const K=new Set(st.values());const Ae=new Set;const tt=Array.from(st.keys()).sort(((v,E)=>{const P=typeof v==="string"?v:v.identifier();const R=typeof E==="string"?E:E.identifier();return P.length-R.length}));for(let E=0;E{const q=Object.create(null);const K=Object.create(null);const ae=R.file;const Ae=ot.get(ae);const Ie=R.sourceMap;const He=R.source;const Je=R.modules;rt(.5+.5*nt/at.length,ae,"attach SourceMap");const Ze=Je.map((v=>st.get(v)));Ie.sources=Ze;if(et.noSources){Ie.sourcesContent=undefined}Ie.sourceRoot=et.sourceRoot||"";Ie.file=ae;const tt=P&&Qe.test(P);resetRegexpState(Qe);if(tt&&R.assetInfo.contenthash){const v=R.assetInfo.contenthash;let E;if(Array.isArray(v)){E=v.map(quoteMeta).join("|")}else{E=quoteMeta(v)}Ie.file=Ie.file.replace(new RegExp(E,"g"),(v=>"x".repeat(v.length)))}let it=ge;let ct=Ve.test(ae);resetRegexpState(Ve);if(it!==false&&typeof it!=="function"&&ct){it=it.replace(Xe,"\n/*$1*/")}const lt=JSON.stringify(Ie);if(P){let R=ae;const L=tt&&be(v.outputOptions.hashFunction).update(lt).digest("hex");const ge={chunk:Ae,filename:et.fileContext?xe(E,`/${et.fileContext}`,`/${R}`):R,contentHash:L};const{path:Ie,info:Qe}=v.getPathWithInfo(P,ge);const Je=et.publicPath?et.publicPath+Ie:xe(E,ve(E,`/${ae}`),`/${Ie}`);let Ve=new N(He);if(it!==false){Ve=new $(Ve,v.getPath(it,Object.assign({url:Je},ge)))}const Ke={related:{sourceMap:Ie}};q[ae]=Ve;K[ae]=Ke;v.updateAsset(ae,Ve,Ke);const Ye=new N(lt);const Xe={...Qe,development:true};q[Ie]=Ye;K[Ie]=Xe;v.emitAsset(Ie,Ye,Xe);if(Ae!==undefined)Ae.auxiliaryFiles.add(Ie)}else{if(it===false){throw new Error("SourceMapDevToolPlugin: append can't be false when no filename is provided")}if(typeof it==="function"){throw new Error("SourceMapDevToolPlugin: append can't be a function when no filename is provided")}const E=new $(new N(He),it.replace(Ke,(()=>lt)).replace(Ye,(()=>`data:application/json;charset=utf-8;base64,${Buffer.from(lt,"utf-8").toString("base64")}`)));q[ae]=E;K[ae]=undefined;v.updateAsset(ae,E)}R.cacheItem.store({assets:q,assetsInfo:K},(v=>{rt(.5+.5*++nt/at.length,R.file,"attached SourceMap");if(v){return L(v)}L()}))}),(v=>{rt(1);ae(v)}))}))}))}))}}v.exports=SourceMapDevToolPlugin},90476:function(v){"use strict";class Stats{constructor(v){this.compilation=v}get hash(){return this.compilation.hash}get startTime(){return this.compilation.startTime}get endTime(){return this.compilation.endTime}hasWarnings(){return this.compilation.warnings.length>0||this.compilation.children.some((v=>v.getStats().hasWarnings()))}hasErrors(){return this.compilation.errors.length>0||this.compilation.children.some((v=>v.getStats().hasErrors()))}toJson(v){v=this.compilation.createStatsOptions(v,{forToString:false});const E=this.compilation.createStatsFactory(v);return E.create("compilation",this.compilation,{compilation:this.compilation})}toString(v){v=this.compilation.createStatsOptions(v,{forToString:true});const E=this.compilation.createStatsFactory(v);const P=this.compilation.createStatsPrinter(v);const R=E.create("compilation",this.compilation,{compilation:this.compilation});const $=P.print("compilation",R);return $===undefined?"":$}}v.exports=Stats},25233:function(v,E,P){"use strict";const{ConcatSource:R,PrefixSource:$}=P(51255);const{WEBPACK_MODULE_TYPE_RUNTIME:N}=P(96170);const L=P(92529);const q="a".charCodeAt(0);const K="A".charCodeAt(0);const ae="z".charCodeAt(0)-q+1;const ge=ae*2+2;const be=ge+10;const xe=/^function\s?\(\)\s?\{\r?\n?|\r?\n?\}$/g;const ve=/^\t/gm;const Ae=/\r?\n/g;const Ie=/^([^a-zA-Z$_])/;const He=/[^a-zA-Z0-9$]+/g;const Qe=/\*\//g;const Je=/[^a-zA-Z0-9_!§$()=\-^°]+/g;const Ve=/^-|-$/g;class Template{static getFunctionContent(v){return v.toString().replace(xe,"").replace(ve,"").replace(Ae,"\n")}static toIdentifier(v){if(typeof v!=="string")return"";return v.replace(Ie,"_$1").replace(He,"_")}static toComment(v){if(!v)return"";return`/*! ${v.replace(Qe,"* /")} */`}static toNormalComment(v){if(!v)return"";return`/* ${v.replace(Qe,"* /")} */`}static toPath(v){if(typeof v!=="string")return"";return v.replace(Je,"-").replace(Ve,"")}static numberToIdentifier(v){if(v>=ge){return Template.numberToIdentifier(v%ge)+Template.numberToIdentifierContinuation(Math.floor(v/ge))}if(v=be){return Template.numberToIdentifierContinuation(v%be)+Template.numberToIdentifierContinuation(Math.floor(v/be))}if(vv)P=v}if(P<16+(""+P).length){P=0}let R=-1;for(const E of v){R+=`${E.id}`.length+2}const $=P===0?E:16+`${P}`.length+E;return $({id:N.getModuleId(v),source:P(v)||"false"})));const K=Template.getModulesArrayBounds(q);if(K){const v=K[0];const E=K[1];if(v!==0){L.add(`Array(${v}).concat(`)}L.add("[\n");const P=new Map;for(const v of q){P.set(v.id,v)}for(let R=v;R<=E;R++){const E=P.get(R);if(R!==v){L.add(",\n")}L.add(`/* ${R} */`);if(E){L.add("\n");L.add(E.source)}}L.add("\n"+$+"]");if(v!==0){L.add(")")}}else{L.add("{\n");for(let v=0;v {\n");P.add(new $("\t",L));P.add("\n})();\n\n")}else{P.add("!function() {\n");P.add(new $("\t",L));P.add("\n}();\n\n")}}}return P}static renderChunkRuntimeModules(v,E){return new $("/******/ ",new R(`function(${L.require}) { // webpackRuntimeModules\n`,this.renderRuntimeModules(v,E),"}\n"))}}v.exports=Template;v.exports.NUMBER_OF_IDENTIFIER_START_CHARS=ge;v.exports.NUMBER_OF_IDENTIFIER_CONTINUATION_CHARS=be},71851:function(v,E,P){"use strict";const R=P(24230);const{basename:$,extname:N}=P(71017);const L=P(73837);const q=P(56738);const K=P(72011);const{parseResource:ae}=P(51984);const ge=/\[\\*([\w:]+)\\*\]/gi;const prepareId=v=>{if(typeof v!=="string")return v;if(/^"\s\+*.*\+\s*"$/.test(v)){const E=/^"\s\+*\s*(.*)\s*\+\s*"$/.exec(v);return`" + (${E[1]} + "").replace(/(^[.-]|[^a-zA-Z0-9_-])+/g, "_") + "`}return v.replace(/(^[.-]|[^a-zA-Z0-9_-])+/g,"_")};const hashLength=(v,E,P,R)=>{const fn=($,N,L)=>{let q;const K=N&&parseInt(N,10);if(K&&E){q=E(K)}else{const E=v($,N,L);q=K?E.slice(0,K):E}if(P){P.immutable=true;if(Array.isArray(P[R])){P[R]=[...P[R],q]}else if(P[R]){P[R]=[P[R],q]}else{P[R]=q}}return q};return fn};const replacer=(v,E)=>{const fn=(P,R,$)=>{if(typeof v==="function"){v=v()}if(v===null||v===undefined){if(!E){throw new Error(`Path variable ${P} not implemented in this context: ${$}`)}return""}else{return`${v}`}};return fn};const be=new Map;const xe=(()=>()=>{})();const deprecated=(v,E,P)=>{let R=be.get(E);if(R===undefined){R=L.deprecate(xe,E,P);be.set(E,R)}return(...E)=>{R();return v(...E)}};const replacePathVariables=(v,E,P)=>{const L=E.chunkGraph;const be=new Map;if(typeof E.filename==="string"){let v=E.filename.match(/^data:([^;,]+)/);if(v){const E=R.extension(v[1]);const P=replacer("",true);be.set("file",P);be.set("query",P);be.set("fragment",P);be.set("path",P);be.set("base",P);be.set("name",P);be.set("ext",replacer(E?`.${E}`:"",true));be.set("filebase",deprecated(P,"[filebase] is now [base]","DEP_WEBPACK_TEMPLATE_PATH_PLUGIN_REPLACE_PATH_VARIABLES_FILENAME"))}else{const{path:v,query:P,fragment:R}=ae(E.filename);const L=N(v);const q=$(v);const K=q.slice(0,q.length-L.length);const ge=v.slice(0,v.length-q.length);be.set("file",replacer(v));be.set("query",replacer(P,true));be.set("fragment",replacer(R,true));be.set("path",replacer(ge,true));be.set("base",replacer(q));be.set("name",replacer(K));be.set("ext",replacer(L,true));be.set("filebase",deprecated(replacer(q),"[filebase] is now [base]","DEP_WEBPACK_TEMPLATE_PATH_PLUGIN_REPLACE_PATH_VARIABLES_FILENAME"))}}if(E.hash){const v=hashLength(replacer(E.hash),E.hashWithLength,P,"fullhash");be.set("fullhash",v);be.set("hash",deprecated(v,"[hash] is now [fullhash] (also consider using [chunkhash] or [contenthash], see documentation for details)","DEP_WEBPACK_TEMPLATE_PATH_PLUGIN_REPLACE_PATH_VARIABLES_HASH"))}if(E.chunk){const v=E.chunk;const R=E.contentHashType;const $=replacer(v.id);const N=replacer(v.name||v.id);const L=hashLength(replacer(v instanceof q?v.renderedHash:v.hash),"hashWithLength"in v?v.hashWithLength:undefined,P,"chunkhash");const K=hashLength(replacer(E.contentHash||R&&v.contentHash&&v.contentHash[R]),E.contentHashWithLength||("contentHashWithLength"in v&&v.contentHashWithLength?v.contentHashWithLength[R]:undefined),P,"contenthash");be.set("id",$);be.set("name",N);be.set("chunkhash",L);be.set("contenthash",K)}if(E.module){const v=E.module;const R=replacer((()=>prepareId(v instanceof K?L.getModuleId(v):v.id)));const $=hashLength(replacer((()=>v instanceof K?L.getRenderedModuleHash(v,E.runtime):v.hash)),"hashWithLength"in v?v.hashWithLength:undefined,P,"modulehash");const N=hashLength(replacer(E.contentHash),undefined,P,"contenthash");be.set("id",R);be.set("modulehash",$);be.set("contenthash",N);be.set("hash",E.contentHash?N:$);be.set("moduleid",deprecated(R,"[moduleid] is now [id]","DEP_WEBPACK_TEMPLATE_PATH_PLUGIN_REPLACE_PATH_VARIABLES_MODULE_ID"))}if(E.url){be.set("url",replacer(E.url))}if(typeof E.runtime==="string"){be.set("runtime",replacer((()=>prepareId(E.runtime))))}else{be.set("runtime",replacer("_"))}if(typeof v==="function"){v=v(E,P)}v=v.replace(ge,((E,P)=>{if(P.length+2===E.length){const R=/^(\w+)(?::(\w+))?$/.exec(P);if(!R)return E;const[,$,N]=R;const L=be.get($);if(L!==undefined){return L(E,N,v)}}else if(E.startsWith("[\\")&&E.endsWith("\\]")){return`[${E.slice(2,-2)}]`}return E}));return v};const ve="TemplatedPathPlugin";class TemplatedPathPlugin{apply(v){v.hooks.compilation.tap(ve,(v=>{v.hooks.assetPath.tap(ve,replacePathVariables)}))}}v.exports=TemplatedPathPlugin},27723:function(v,E,P){"use strict";const R=P(16413);const $=P(41718);class UnhandledSchemeError extends R{constructor(v,E){super(`Reading from "${E}" is not handled by plugins (Unhandled scheme).`+'\nWebpack supports "data:" and "file:" URIs by default.'+`\nYou may need an additional plugin to handle "${v}:" URIs.`);this.file=E;this.name="UnhandledSchemeError"}}$(UnhandledSchemeError,"webpack/lib/UnhandledSchemeError","UnhandledSchemeError");v.exports=UnhandledSchemeError},90784:function(v,E,P){"use strict";const R=P(16413);const $=P(41718);class UnsupportedFeatureWarning extends R{constructor(v,E){super(v);this.name="UnsupportedFeatureWarning";this.loc=E;this.hideStack=true}}$(UnsupportedFeatureWarning,"webpack/lib/UnsupportedFeatureWarning");v.exports=UnsupportedFeatureWarning},20208:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$,JAVASCRIPT_MODULE_TYPE_ESM:N}=P(96170);const L=P(9297);const q="UseStrictPlugin";class UseStrictPlugin{apply(v){v.hooks.compilation.tap(q,((v,{normalModuleFactory:E})=>{const handler=v=>{v.hooks.program.tap(q,(E=>{const P=E.body[0];if(P&&P.type==="ExpressionStatement"&&P.expression.type==="Literal"&&P.expression.value==="use strict"){const E=new L("",P.range);E.loc=P.loc;v.state.module.addPresentationalDependency(E);v.state.module.buildInfo.strict=true}}))};E.hooks.parser.for(R).tap(q,handler);E.hooks.parser.for($).tap(q,handler);E.hooks.parser.for(N).tap(q,handler)}))}}v.exports=UseStrictPlugin},17277:function(v,E,P){"use strict";const R=P(58226);class WarnCaseSensitiveModulesPlugin{apply(v){v.hooks.compilation.tap("WarnCaseSensitiveModulesPlugin",(v=>{v.hooks.seal.tap("WarnCaseSensitiveModulesPlugin",(()=>{const E=new Map;for(const P of v.modules){const v=P.identifier();if(P.resourceResolveData!==undefined&&P.resourceResolveData.encodedContent!==undefined){continue}const R=v.toLowerCase();let $=E.get(R);if($===undefined){$=new Map;E.set(R,$)}$.set(v,P)}for(const P of E){const E=P[1];if(E.size>1){v.warnings.push(new R(E.values(),v.moduleGraph))}}}))}))}}v.exports=WarnCaseSensitiveModulesPlugin},13823:function(v,E,P){"use strict";const R=P(16413);class WarnDeprecatedOptionPlugin{constructor(v,E,P){this.option=v;this.value=E;this.suggestion=P}apply(v){v.hooks.thisCompilation.tap("WarnDeprecatedOptionPlugin",(v=>{v.warnings.push(new DeprecatedOptionWarning(this.option,this.value,this.suggestion))}))}}class DeprecatedOptionWarning extends R{constructor(v,E,P){super();this.name="DeprecatedOptionWarning";this.message="configuration\n"+`The value '${E}' for option '${v}' is deprecated. `+`Use '${P}' instead.`}}v.exports=WarnDeprecatedOptionPlugin},69975:function(v,E,P){"use strict";const R=P(50746);class WarnNoModeSetPlugin{apply(v){v.hooks.thisCompilation.tap("WarnNoModeSetPlugin",(v=>{v.warnings.push(new R)}))}}v.exports=WarnNoModeSetPlugin},34029:function(v,E,P){"use strict";const{groupBy:R}=P(30806);const $=P(21596);const N=$(P(12572),(()=>P(58476)),{name:"Watch Ignore Plugin",baseDataPath:"options"});const L="ignore";class IgnoringWatchFileSystem{constructor(v,E){this.wfs=v;this.paths=E}watch(v,E,P,$,N,q,K){v=Array.from(v);E=Array.from(E);const ignored=v=>this.paths.some((E=>E instanceof RegExp?E.test(v):v.indexOf(E)===0));const[ae,ge]=R(v,ignored);const[be,xe]=R(E,ignored);const ve=this.wfs.watch(ge,xe,P,$,N,((v,E,P,R,$)=>{if(v)return q(v);for(const v of ae){E.set(v,L)}for(const v of be){P.set(v,L)}q(v,E,P,R,$)}),K);return{close:()=>ve.close(),pause:()=>ve.pause(),getContextTimeInfoEntries:()=>{const v=ve.getContextTimeInfoEntries();for(const E of be){v.set(E,L)}return v},getFileTimeInfoEntries:()=>{const v=ve.getFileTimeInfoEntries();for(const E of ae){v.set(E,L)}return v},getInfo:ve.getInfo&&(()=>{const v=ve.getInfo();const{fileTimeInfoEntries:E,contextTimeInfoEntries:P}=v;for(const v of ae){E.set(v,L)}for(const v of be){P.set(v,L)}return v})}}}class WatchIgnorePlugin{constructor(v){N(v);this.paths=v.paths}apply(v){v.hooks.afterEnvironment.tap("WatchIgnorePlugin",(()=>{v.watchFileSystem=new IgnoringWatchFileSystem(v.watchFileSystem,this.paths)}))}}v.exports=WatchIgnorePlugin},50251:function(v,E,P){"use strict";const R=P(90476);class Watching{constructor(v,E,P){this.startTime=null;this.invalid=false;this.handler=P;this.callbacks=[];this._closeCallbacks=undefined;this.closed=false;this.suspended=false;this.blocked=false;this._isBlocked=()=>false;this._onChange=()=>{};this._onInvalid=()=>{};if(typeof E==="number"){this.watchOptions={aggregateTimeout:E}}else if(E&&typeof E==="object"){this.watchOptions={...E}}else{this.watchOptions={}}if(typeof this.watchOptions.aggregateTimeout!=="number"){this.watchOptions.aggregateTimeout=20}this.compiler=v;this.running=false;this._initial=true;this._invalidReported=true;this._needRecords=true;this.watcher=undefined;this.pausedWatcher=undefined;this._collectedChangedFiles=undefined;this._collectedRemovedFiles=undefined;this._done=this._done.bind(this);process.nextTick((()=>{if(this._initial)this._invalidate()}))}_mergeWithCollected(v,E){if(!v)return;if(!this._collectedChangedFiles){this._collectedChangedFiles=new Set(v);this._collectedRemovedFiles=new Set(E)}else{for(const E of v){this._collectedChangedFiles.add(E);this._collectedRemovedFiles.delete(E)}for(const v of E){this._collectedChangedFiles.delete(v);this._collectedRemovedFiles.add(v)}}}_go(v,E,P,$){this._initial=false;if(this.startTime===null)this.startTime=Date.now();this.running=true;if(this.watcher){this.pausedWatcher=this.watcher;this.lastWatcherStartTime=Date.now();this.watcher.pause();this.watcher=null}else if(!this.lastWatcherStartTime){this.lastWatcherStartTime=Date.now()}this.compiler.fsStartTime=Date.now();if(P&&$&&v&&E){this._mergeWithCollected(P,$);this.compiler.fileTimestamps=v;this.compiler.contextTimestamps=E}else if(this.pausedWatcher){if(this.pausedWatcher.getInfo){const{changes:v,removals:E,fileTimeInfoEntries:P,contextTimeInfoEntries:R}=this.pausedWatcher.getInfo();this._mergeWithCollected(v,E);this.compiler.fileTimestamps=P;this.compiler.contextTimestamps=R}else{this._mergeWithCollected(this.pausedWatcher.getAggregatedChanges&&this.pausedWatcher.getAggregatedChanges(),this.pausedWatcher.getAggregatedRemovals&&this.pausedWatcher.getAggregatedRemovals());this.compiler.fileTimestamps=this.pausedWatcher.getFileTimeInfoEntries();this.compiler.contextTimestamps=this.pausedWatcher.getContextTimeInfoEntries()}}this.compiler.modifiedFiles=this._collectedChangedFiles;this._collectedChangedFiles=undefined;this.compiler.removedFiles=this._collectedRemovedFiles;this._collectedRemovedFiles=undefined;const run=()=>{if(this.compiler.idle){return this.compiler.cache.endIdle((v=>{if(v)return this._done(v);this.compiler.idle=false;run()}))}if(this._needRecords){return this.compiler.readRecords((v=>{if(v)return this._done(v);this._needRecords=false;run()}))}this.invalid=false;this._invalidReported=false;this.compiler.hooks.watchRun.callAsync(this.compiler,(v=>{if(v)return this._done(v);const onCompiled=(v,E)=>{if(v)return this._done(v,E);if(this.invalid)return this._done(null,E);if(this.compiler.hooks.shouldEmit.call(E)===false){return this._done(null,E)}process.nextTick((()=>{const v=E.getLogger("webpack.Compiler");v.time("emitAssets");this.compiler.emitAssets(E,(P=>{v.timeEnd("emitAssets");if(P)return this._done(P,E);if(this.invalid)return this._done(null,E);v.time("emitRecords");this.compiler.emitRecords((P=>{v.timeEnd("emitRecords");if(P)return this._done(P,E);if(E.hooks.needAdditionalPass.call()){E.needAdditionalPass=true;E.startTime=this.startTime;E.endTime=Date.now();v.time("done hook");const P=new R(E);this.compiler.hooks.done.callAsync(P,(P=>{v.timeEnd("done hook");if(P)return this._done(P,E);this.compiler.hooks.additionalPass.callAsync((v=>{if(v)return this._done(v,E);this.compiler.compile(onCompiled)}))}));return}return this._done(null,E)}))}))}))};this.compiler.compile(onCompiled)}))};run()}_getStats(v){const E=new R(v);return E}_done(v,E){this.running=false;const P=E&&E.getLogger("webpack.Watching");let $=null;const handleError=(v,E)=>{this.compiler.hooks.failed.call(v);this.compiler.cache.beginIdle();this.compiler.idle=true;this.handler(v,$);if(!E){E=this.callbacks;this.callbacks=[]}for(const P of E)P(v)};if(this.invalid&&!this.suspended&&!this.blocked&&!(this._isBlocked()&&(this.blocked=true))){if(E){P.time("storeBuildDependencies");this.compiler.cache.storeBuildDependencies(E.buildDependencies,(v=>{P.timeEnd("storeBuildDependencies");if(v)return handleError(v);this._go()}))}else{this._go()}return}if(E){E.startTime=this.startTime;E.endTime=Date.now();$=new R(E)}this.startTime=null;if(v)return handleError(v);const N=this.callbacks;this.callbacks=[];P.time("done hook");this.compiler.hooks.done.callAsync($,(v=>{P.timeEnd("done hook");if(v)return handleError(v,N);this.handler(null,$);P.time("storeBuildDependencies");this.compiler.cache.storeBuildDependencies(E.buildDependencies,(v=>{P.timeEnd("storeBuildDependencies");if(v)return handleError(v,N);P.time("beginIdle");this.compiler.cache.beginIdle();this.compiler.idle=true;P.timeEnd("beginIdle");process.nextTick((()=>{if(!this.closed){this.watch(E.fileDependencies,E.contextDependencies,E.missingDependencies)}}));for(const v of N)v(null);this.compiler.hooks.afterDone.call($)}))}))}watch(v,E,P){this.pausedWatcher=null;this.watcher=this.compiler.watchFileSystem.watch(v,E,P,this.lastWatcherStartTime,this.watchOptions,((v,E,P,R,$)=>{if(v){this.compiler.modifiedFiles=undefined;this.compiler.removedFiles=undefined;this.compiler.fileTimestamps=undefined;this.compiler.contextTimestamps=undefined;this.compiler.fsStartTime=undefined;return this.handler(v)}this._invalidate(E,P,R,$);this._onChange()}),((v,E)=>{if(!this._invalidReported){this._invalidReported=true;this.compiler.hooks.invalid.call(v,E)}this._onInvalid()}))}invalidate(v){if(v){this.callbacks.push(v)}if(!this._invalidReported){this._invalidReported=true;this.compiler.hooks.invalid.call(null,Date.now())}this._onChange();this._invalidate()}_invalidate(v,E,P,R){if(this.suspended||this._isBlocked()&&(this.blocked=true)){this._mergeWithCollected(P,R);return}if(this.running){this._mergeWithCollected(P,R);this.invalid=true}else{this._go(v,E,P,R)}}suspend(){this.suspended=true}resume(){if(this.suspended){this.suspended=false;this._invalidate()}}close(v){if(this._closeCallbacks){if(v){this._closeCallbacks.push(v)}return}const finalCallback=(v,E)=>{this.running=false;this.compiler.running=false;this.compiler.watching=undefined;this.compiler.watchMode=false;this.compiler.modifiedFiles=undefined;this.compiler.removedFiles=undefined;this.compiler.fileTimestamps=undefined;this.compiler.contextTimestamps=undefined;this.compiler.fsStartTime=undefined;const shutdown=v=>{this.compiler.hooks.watchClose.call();const E=this._closeCallbacks;this._closeCallbacks=undefined;for(const P of E)P(v)};if(E){const P=E.getLogger("webpack.Watching");P.time("storeBuildDependencies");this.compiler.cache.storeBuildDependencies(E.buildDependencies,(E=>{P.timeEnd("storeBuildDependencies");shutdown(v||E)}))}else{shutdown(v)}};this.closed=true;if(this.watcher){this.watcher.close();this.watcher=null}if(this.pausedWatcher){this.pausedWatcher.close();this.pausedWatcher=null}this._closeCallbacks=[];if(v){this._closeCallbacks.push(v)}if(this.running){this.invalid=true;this._done=finalCallback}else{finalCallback()}}}v.exports=Watching},16413:function(v,E,P){"use strict";const R=P(73837).inspect.custom;const $=P(41718);class WebpackError extends Error{constructor(v){super(v);this.details=undefined;this.module=undefined;this.loc=undefined;this.hideStack=undefined;this.chunk=undefined;this.file=undefined}[R](){return this.stack+(this.details?`\n${this.details}`:"")}serialize({write:v}){v(this.name);v(this.message);v(this.stack);v(this.details);v(this.loc);v(this.hideStack)}deserialize({read:v}){this.name=v();this.message=v();this.stack=v();this.details=v();this.loc=v();this.hideStack=v()}}$(WebpackError,"webpack/lib/WebpackError");v.exports=WebpackError},90755:function(v,E,P){"use strict";const R=P(68896);const{JAVASCRIPT_MODULE_TYPE_AUTO:$,JAVASCRIPT_MODULE_TYPE_DYNAMIC:N,JAVASCRIPT_MODULE_TYPE_ESM:L}=P(96170);const q=P(96134);const{toConstantDependency:K}=P(73320);const ae="WebpackIsIncludedPlugin";class WebpackIsIncludedPlugin{apply(v){v.hooks.compilation.tap(ae,((v,{normalModuleFactory:E})=>{v.dependencyFactories.set(q,new R(E));v.dependencyTemplates.set(q,new q.Template);const handler=v=>{v.hooks.call.for("__webpack_is_included__").tap(ae,(E=>{if(E.type!=="CallExpression"||E.arguments.length!==1||E.arguments[0].type==="SpreadElement")return;const P=v.evaluateExpression(E.arguments[0]);if(!P.isString())return;const R=new q(P.string,E.range);R.loc=E.loc;v.state.module.addDependency(R);return true}));v.hooks.typeof.for("__webpack_is_included__").tap(ae,K(v,JSON.stringify("function")))};E.hooks.parser.for($).tap(ae,handler);E.hooks.parser.for(N).tap(ae,handler);E.hooks.parser.for(L).tap(ae,handler)}))}}v.exports=WebpackIsIncludedPlugin},98574:function(v,E,P){"use strict";const R=P(25325);const $=P(57524);const N=P(42453);const L=P(58880);const q=P(74750);const K=P(61886);const ae=P(98637);const ge=P(23802);const be=P(41782);const xe=P(61832);const ve=P(37701);const Ae=P(69864);const Ie=P(90755);const He=P(71851);const Qe=P(20208);const Je=P(17277);const Ve=P(14549);const Ke=P(2407);const Ye=P(33261);const Xe=P(85555);const Ze=P(29468);const et=P(36108);const tt=P(26431);const nt=P(21762);const st=P(58727);const rt=P(69560);const ot=P(19469);const it=P(49902);const at=P(91032);const ct=P(17806);const lt=P(69138);const ut=P(33827);const pt=P(94685);const dt=P(85876);const ft=P(72638);const ht=P(78414);const{cleverMerge:mt}=P(36671);class WebpackOptionsApply extends R{constructor(){super()}process(v,E){E.outputPath=v.output.path;E.recordsInputPath=v.recordsInputPath||null;E.recordsOutputPath=v.recordsOutputPath||null;E.name=v.name;if(v.externals){const R=P(33554);new R(v.externalsType,v.externals).apply(E)}if(v.externalsPresets.node){const v=P(11966);(new v).apply(E)}if(v.externalsPresets.electronMain){const v=P(56298);new v("main").apply(E)}if(v.externalsPresets.electronPreload){const v=P(56298);new v("preload").apply(E)}if(v.externalsPresets.electronRenderer){const v=P(56298);new v("renderer").apply(E)}if(v.externalsPresets.electron&&!v.externalsPresets.electronMain&&!v.externalsPresets.electronPreload&&!v.externalsPresets.electronRenderer){const v=P(56298);(new v).apply(E)}if(v.externalsPresets.nwjs){const v=P(33554);new v("node-commonjs","nw.gui").apply(E)}if(v.externalsPresets.webAsync){const R=P(33554);new R("import",(({request:E,dependencyType:P},R)=>{if(P==="url"){if(/^(\/\/|https?:\/\/|#)/.test(E))return R(null,`asset ${E}`)}else if(v.experiments.css&&P==="css-import"){if(/^(\/\/|https?:\/\/|#)/.test(E))return R(null,`css-import ${E}`)}else if(v.experiments.css&&/^(\/\/|https?:\/\/|std:)/.test(E)){if(/^\.css(\?|$)/.test(E))return R(null,`css-import ${E}`);return R(null,`import ${E}`)}R()})).apply(E)}else if(v.externalsPresets.web){const R=P(33554);new R("module",(({request:E,dependencyType:P},R)=>{if(P==="url"){if(/^(\/\/|https?:\/\/|#)/.test(E))return R(null,`asset ${E}`)}else if(v.experiments.css&&P==="css-import"){if(/^(\/\/|https?:\/\/|#)/.test(E))return R(null,`css-import ${E}`)}else if(/^(\/\/|https?:\/\/|std:)/.test(E)){if(v.experiments.css&&/^\.css((\?)|$)/.test(E))return R(null,`css-import ${E}`);return R(null,`module ${E}`)}R()})).apply(E)}else if(v.externalsPresets.node){if(v.experiments.css){const v=P(33554);new v("module",(({request:v,dependencyType:E},P)=>{if(E==="url"){if(/^(\/\/|https?:\/\/|#)/.test(v))return P(null,`asset ${v}`)}else if(E==="css-import"){if(/^(\/\/|https?:\/\/|#)/.test(v))return P(null,`css-import ${v}`)}else if(/^(\/\/|https?:\/\/|std:)/.test(v)){if(/^\.css(\?|$)/.test(v))return P(null,`css-import ${v}`);return P(null,`module ${v}`)}P()})).apply(E)}}(new q).apply(E);if(typeof v.output.chunkFormat==="string"){switch(v.output.chunkFormat){case"array-push":{const v=P(66837);(new v).apply(E);break}case"commonjs":{const v=P(35564);(new v).apply(E);break}case"module":{const v=P(13696);(new v).apply(E);break}default:throw new Error("Unsupported chunk format '"+v.output.chunkFormat+"'.")}}if(v.output.enabledChunkLoadingTypes.length>0){for(const R of v.output.enabledChunkLoadingTypes){const v=P(31371);new v(R).apply(E)}}if(v.output.enabledWasmLoadingTypes.length>0){for(const R of v.output.enabledWasmLoadingTypes){const v=P(58878);new v(R).apply(E)}}if(v.output.enabledLibraryTypes.length>0){for(const R of v.output.enabledLibraryTypes){const v=P(61201);new v(R).apply(E)}}if(v.output.pathinfo){const R=P(95977);new R(v.output.pathinfo!==true).apply(E)}if(v.output.clean){const R=P(68747);new R(v.output.clean===true?{}:v.output.clean).apply(E)}if(v.devtool){if(v.devtool.includes("source-map")){const R=v.devtool.includes("hidden");const $=v.devtool.includes("inline");const N=v.devtool.includes("eval");const L=v.devtool.includes("cheap");const q=v.devtool.includes("module");const K=v.devtool.includes("nosources");const ae=N?P(79487):P(65596);new ae({filename:$?null:v.output.sourceMapFilename,moduleFilenameTemplate:v.output.devtoolModuleFilenameTemplate,fallbackModuleFilenameTemplate:v.output.devtoolFallbackModuleFilenameTemplate,append:R?false:undefined,module:q?true:L?false:true,columns:L?false:true,noSources:K,namespace:v.output.devtoolNamespace}).apply(E)}else if(v.devtool.includes("eval")){const R=P(15742);new R({moduleFilenameTemplate:v.output.devtoolModuleFilenameTemplate,namespace:v.output.devtoolNamespace}).apply(E)}}(new N).apply(E);(new L).apply(E);(new $).apply(E);if(!v.experiments.outputModule){if(v.output.module){throw new Error("'output.module: true' is only allowed when 'experiments.outputModule' is enabled")}if(v.output.enabledLibraryTypes.includes("module")){throw new Error("library type \"module\" is only allowed when 'experiments.outputModule' is enabled")}if(v.externalsType==="module"){throw new Error("'externalsType: \"module\"' is only allowed when 'experiments.outputModule' is enabled")}}if(v.experiments.syncWebAssembly){const R=P(26216);new R({mangleImports:v.optimization.mangleWasmImports}).apply(E)}if(v.experiments.asyncWebAssembly){const R=P(37660);new R({mangleImports:v.optimization.mangleWasmImports}).apply(E)}if(v.experiments.css){const v=P(48352);(new v).apply(E)}if(v.experiments.lazyCompilation){const R=P(17305);const $=typeof v.experiments.lazyCompilation==="object"?v.experiments.lazyCompilation:null;new R({backend:typeof $.backend==="function"?$.backend:P(40719)({...$.backend,client:$.backend&&$.backend.client||v.externalsPresets.node?P.ab+"lazy-compilation-node.js":P.ab+"lazy-compilation-web.js"}),entries:!$||$.entries!==false,imports:!$||$.imports!==false,test:$&&$.test||undefined}).apply(E)}if(v.experiments.buildHttp){const R=P(59888);const $=v.experiments.buildHttp;new R($).apply(E)}(new K).apply(E);E.hooks.entryOption.call(v.context,v.entry);(new ge).apply(E);(new ut).apply(E);(new Ve).apply(E);(new Ke).apply(E);(new xe).apply(E);new Ze({topLevelAwait:v.experiments.topLevelAwait}).apply(E);if(v.amd!==false){const R=P(91153);const $=P(8318);new R(v.amd||{}).apply(E);(new $).apply(E)}(new Xe).apply(E);new st({}).apply(E);if(v.node!==false){const R=P(73329);new R(v.node).apply(E)}new be({module:v.output.module}).apply(E);(new Ae).apply(E);(new Ie).apply(E);(new ve).apply(E);(new Qe).apply(E);(new it).apply(E);(new ot).apply(E);(new rt).apply(E);(new nt).apply(E);(new et).apply(E);(new at).apply(E);(new tt).apply(E);(new ct).apply(E);new lt(v.output.workerChunkLoading,v.output.workerWasmLoading,v.output.module,v.output.workerPublicPath).apply(E);(new dt).apply(E);(new ft).apply(E);(new ht).apply(E);(new pt).apply(E);if(typeof v.mode!=="string"){const v=P(69975);(new v).apply(E)}const R=P(50030);(new R).apply(E);if(v.optimization.removeAvailableModules){const v=P(12988);(new v).apply(E)}if(v.optimization.removeEmptyChunks){const v=P(39388);(new v).apply(E)}if(v.optimization.mergeDuplicateChunks){const v=P(7603);(new v).apply(E)}if(v.optimization.flagIncludedChunks){const v=P(51376);(new v).apply(E)}if(v.optimization.sideEffects){const R=P(25647);new R(v.optimization.sideEffects===true).apply(E)}if(v.optimization.providedExports){const v=P(72283);(new v).apply(E)}if(v.optimization.usedExports){const R=P(38252);new R(v.optimization.usedExports==="global").apply(E)}if(v.optimization.innerGraph){const v=P(45542);(new v).apply(E)}if(v.optimization.mangleExports){const R=P(37184);new R(v.optimization.mangleExports!=="size").apply(E)}if(v.optimization.concatenateModules){const v=P(52607);(new v).apply(E)}if(v.optimization.splitChunks){const R=P(67877);new R(v.optimization.splitChunks).apply(E)}if(v.optimization.runtimeChunk){const R=P(41225);new R(v.optimization.runtimeChunk).apply(E)}if(!v.optimization.emitOnErrors){const v=P(90645);(new v).apply(E)}if(v.optimization.realContentHash){const R=P(71045);new R({hashFunction:v.output.hashFunction,hashDigest:v.output.hashDigest}).apply(E)}if(v.optimization.checkWasmTypes){const v=P(12176);(new v).apply(E)}const gt=v.optimization.moduleIds;if(gt){switch(gt){case"natural":{const v=P(50006);(new v).apply(E);break}case"named":{const v=P(31600);(new v).apply(E);break}case"hashed":{const R=P(13823);const $=P(83211);new R("optimization.moduleIds","hashed","deterministic").apply(E);new $({hashFunction:v.output.hashFunction}).apply(E);break}case"deterministic":{const v=P(63378);(new v).apply(E);break}case"size":{const v=P(36023);new v({prioritiseInitial:true}).apply(E);break}default:throw new Error(`webpack bug: moduleIds: ${gt} is not implemented`)}}const yt=v.optimization.chunkIds;if(yt){switch(yt){case"natural":{const v=P(38543);(new v).apply(E);break}case"named":{const v=P(2382);(new v).apply(E);break}case"deterministic":{const v=P(43850);(new v).apply(E);break}case"size":{const v=P(78266);new v({prioritiseInitial:true}).apply(E);break}case"total-size":{const v=P(78266);new v({prioritiseInitial:false}).apply(E);break}default:throw new Error(`webpack bug: chunkIds: ${yt} is not implemented`)}}if(v.optimization.nodeEnv){const R=P(54892);new R({"process.env.NODE_ENV":JSON.stringify(v.optimization.nodeEnv)}).apply(E)}if(v.optimization.minimize){for(const P of v.optimization.minimizer){if(typeof P==="function"){P.call(E,E)}else if(P!=="..."&&P){P.apply(E)}}}if(v.performance){const R=P(91776);new R(v.performance).apply(E)}(new He).apply(E);new ae({portableIds:v.optimization.portableRecords}).apply(E);(new Je).apply(E);const bt=P(64778);new bt(v.snapshot.managedPaths,v.snapshot.immutablePaths,v.snapshot.unmanagedPaths).apply(E);if(v.cache&&typeof v.cache==="object"){const R=v.cache;switch(R.type){case"memory":{if(isFinite(R.maxGenerations)){const v=P(22540);new v({maxGenerations:R.maxGenerations}).apply(E)}else{const v=P(76623);(new v).apply(E)}if(R.cacheUnaffected){if(!v.experiments.cacheUnaffected){throw new Error("'cache.cacheUnaffected: true' is only allowed when 'experiments.cacheUnaffected' is enabled")}E.moduleMemCaches=new Map}break}case"filesystem":{const $=P(19930);for(const v in R.buildDependencies){const P=R.buildDependencies[v];new $(P).apply(E)}if(!isFinite(R.maxMemoryGenerations)){const v=P(76623);(new v).apply(E)}else if(R.maxMemoryGenerations!==0){const v=P(22540);new v({maxGenerations:R.maxMemoryGenerations}).apply(E)}if(R.memoryCacheUnaffected){if(!v.experiments.cacheUnaffected){throw new Error("'cache.memoryCacheUnaffected: true' is only allowed when 'experiments.cacheUnaffected' is enabled")}E.moduleMemCaches=new Map}switch(R.store){case"pack":{const $=P(66358);const N=P(81080);new $(new N({compiler:E,fs:E.intermediateFileSystem,context:v.context,cacheLocation:R.cacheLocation,version:R.version,logger:E.getInfrastructureLogger("webpack.cache.PackFileCacheStrategy"),snapshot:v.snapshot,maxAge:R.maxAge,profile:R.profile,allowCollectingMemory:R.allowCollectingMemory,compression:R.compression,readonly:R.readonly}),R.idleTimeout,R.idleTimeoutForInitialStore,R.idleTimeoutAfterLargeChanges).apply(E);break}default:throw new Error("Unhandled value for cache.store")}break}default:throw new Error(`Unknown cache type ${R.type}`)}}(new Ye).apply(E);if(v.ignoreWarnings&&v.ignoreWarnings.length>0){const R=P(89997);new R(v.ignoreWarnings).apply(E)}E.hooks.afterPlugins.call(E);if(!E.inputFileSystem){throw new Error("No input filesystem provided")}E.resolverFactory.hooks.resolveOptions.for("normal").tap("WebpackOptionsApply",(P=>{P=mt(v.resolve,P);P.fileSystem=E.inputFileSystem;return P}));E.resolverFactory.hooks.resolveOptions.for("context").tap("WebpackOptionsApply",(P=>{P=mt(v.resolve,P);P.fileSystem=E.inputFileSystem;P.resolveToContext=true;return P}));E.resolverFactory.hooks.resolveOptions.for("loader").tap("WebpackOptionsApply",(P=>{P=mt(v.resolveLoader,P);P.fileSystem=E.inputFileSystem;return P}));E.hooks.afterResolvers.call(E);return v}}v.exports=WebpackOptionsApply},97765:function(v,E,P){"use strict";const{applyWebpackOptionsDefaults:R}=P(58504);const{getNormalizedWebpackOptions:$}=P(87605);class WebpackOptionsDefaulter{process(v){const E=$(v);R(E);return E}}v.exports=WebpackOptionsDefaulter},62266:function(v,E,P){"use strict";const R=P(24230);const $=P(71017);const{RawSource:N}=P(51255);const L=P(32757);const q=P(29900);const{ASSET_MODULE_TYPE:K}=P(96170);const ae=P(92529);const ge=P(20932);const{makePathsRelative:be}=P(51984);const xe=P(20859);const mergeMaybeArrays=(v,E)=>{const P=new Set;if(Array.isArray(v))for(const E of v)P.add(E);else P.add(v);if(Array.isArray(E))for(const v of E)P.add(v);else P.add(E);return Array.from(P)};const mergeAssetInfo=(v,E)=>{const P={...v,...E};for(const R of Object.keys(v)){if(R in E){if(v[R]===E[R])continue;switch(R){case"fullhash":case"chunkhash":case"modulehash":case"contenthash":P[R]=mergeMaybeArrays(v[R],E[R]);break;case"immutable":case"development":case"hotModuleReplacement":case"javascriptModule":P[R]=v[R]||E[R];break;case"related":P[R]=mergeRelatedInfo(v[R],E[R]);break;default:throw new Error(`Can't handle conflicting asset info for ${R}`)}}}return P};const mergeRelatedInfo=(v,E)=>{const P={...v,...E};for(const R of Object.keys(v)){if(R in E){if(v[R]===E[R])continue;P[R]=mergeMaybeArrays(v[R],E[R])}}return P};const encodeDataUri=(v,E)=>{let P;switch(v){case"base64":{P=E.buffer().toString("base64");break}case false:{const v=E.source();if(typeof v!=="string"){P=v.toString("utf-8")}P=encodeURIComponent(P).replace(/[!'()*]/g,(v=>"%"+v.codePointAt(0).toString(16)));break}default:throw new Error(`Unsupported encoding '${v}'`)}return P};const decodeDataUriContent=(v,E)=>{const P=v==="base64";if(P){return Buffer.from(E,"base64")}try{return Buffer.from(decodeURIComponent(E),"ascii")}catch(v){return Buffer.from(E,"ascii")}};const ve=new Set(["javascript"]);const Ae=new Set(["javascript",K]);const Ie="base64";class AssetGenerator extends q{constructor(v,E,P,R,$){super();this.dataUrlOptions=v;this.filename=E;this.publicPath=P;this.outputPath=R;this.emit=$}getSourceFileName(v,E){return be(E.compilation.compiler.context,v.matchResource||v.resource,E.compilation.compiler.root).replace(/^\.\//,"")}getConcatenationBailoutReason(v,E){return undefined}getMimeType(v){if(typeof this.dataUrlOptions==="function"){throw new Error("This method must not be called when dataUrlOptions is a function")}let E=this.dataUrlOptions.mimetype;if(E===undefined){const P=$.extname(v.nameForCondition());if(v.resourceResolveData&&v.resourceResolveData.mimetype!==undefined){E=v.resourceResolveData.mimetype+v.resourceResolveData.parameters}else if(P){E=R.lookup(P);if(typeof E!=="string"){throw new Error("DataUrl can't be generated automatically, "+`because there is no mimetype for "${P}" in mimetype database. `+'Either pass a mimetype via "generator.mimetype" or '+'use type: "asset/resource" to create a resource file instead of a DataUrl')}}}if(typeof E!=="string"){throw new Error("DataUrl can't be generated automatically. "+'Either pass a mimetype via "generator.mimetype" or '+'use type: "asset/resource" to create a resource file instead of a DataUrl')}return E}generate(v,{runtime:E,concatenationScope:P,chunkGraph:R,runtimeTemplate:q,runtimeRequirements:be,type:ve,getData:Ae}){switch(ve){case K:return v.originalSource();default:{let K;const ve=v.originalSource();if(v.buildInfo.dataUrl){let E;if(typeof this.dataUrlOptions==="function"){E=this.dataUrlOptions.call(null,ve.source(),{filename:v.matchResource||v.resource,module:v})}else{let P=this.dataUrlOptions.encoding;if(P===undefined){if(v.resourceResolveData&&v.resourceResolveData.encoding!==undefined){P=v.resourceResolveData.encoding}}if(P===undefined){P=Ie}const R=this.getMimeType(v);let $;if(v.resourceResolveData&&v.resourceResolveData.encoding===P&&decodeDataUriContent(v.resourceResolveData.encoding,v.resourceResolveData.encodedContent).equals(ve.buffer())){$=v.resourceResolveData.encodedContent}else{$=encodeDataUri(P,ve)}E=`data:${R}${P?`;${P}`:""},${$}`}const P=Ae();P.set("url",Buffer.from(E));K=JSON.stringify(E)}else{const P=this.filename||q.outputOptions.assetModuleFilename;const N=ge(q.outputOptions.hashFunction);if(q.outputOptions.hashSalt){N.update(q.outputOptions.hashSalt)}N.update(ve.buffer());const L=N.digest(q.outputOptions.hashDigest);const Ie=xe(L,q.outputOptions.hashDigestLength);v.buildInfo.fullContentHash=L;const He=this.getSourceFileName(v,q);let{path:Qe,info:Je}=q.compilation.getAssetPathWithInfo(P,{module:v,runtime:E,filename:He,chunkGraph:R,contentHash:Ie});let Ve;if(this.publicPath!==undefined){const{path:P,info:$}=q.compilation.getAssetPathWithInfo(this.publicPath,{module:v,runtime:E,filename:He,chunkGraph:R,contentHash:Ie});Je=mergeAssetInfo(Je,$);Ve=JSON.stringify(P+Qe)}else{be.add(ae.publicPath);Ve=q.concatenation({expr:ae.publicPath},Qe)}Je={sourceFilename:He,...Je};if(this.outputPath){const{path:P,info:N}=q.compilation.getAssetPathWithInfo(this.outputPath,{module:v,runtime:E,filename:He,chunkGraph:R,contentHash:Ie});Je=mergeAssetInfo(Je,N);Qe=$.posix.join(P,Qe)}v.buildInfo.filename=Qe;v.buildInfo.assetInfo=Je;if(Ae){const v=Ae();v.set("fullContentHash",L);v.set("filename",Qe);v.set("assetInfo",Je)}K=Ve}if(P){P.registerNamespaceExport(L.NAMESPACE_OBJECT_EXPORT);return new N(`${q.supportsConst()?"const":"var"} ${L.NAMESPACE_OBJECT_EXPORT} = ${K};`)}else{be.add(ae.module);return new N(`${ae.module}.exports = ${K};`)}}}}getTypes(v){if(v.buildInfo&&v.buildInfo.dataUrl||this.emit===false){return ve}else{return Ae}}getSize(v,E){switch(E){case K:{const E=v.originalSource();if(!E){return 0}return E.size()}default:if(v.buildInfo&&v.buildInfo.dataUrl){const E=v.originalSource();if(!E){return 0}return E.size()*1.34+36}else{return 42}}}updateHash(v,{module:E,runtime:P,runtimeTemplate:R,chunkGraph:$}){if(E.buildInfo.dataUrl){v.update("data-url");if(typeof this.dataUrlOptions==="function"){const E=this.dataUrlOptions.ident;if(E)v.update(E)}else{if(this.dataUrlOptions.encoding&&this.dataUrlOptions.encoding!==Ie){v.update(this.dataUrlOptions.encoding)}if(this.dataUrlOptions.mimetype)v.update(this.dataUrlOptions.mimetype)}}else{v.update("resource");const N={module:E,runtime:P,filename:this.getSourceFileName(E,R),chunkGraph:$,contentHash:R.contentHashReplacement};if(typeof this.publicPath==="function"){v.update("path");const E={};v.update(this.publicPath(N,E));v.update(JSON.stringify(E))}else if(this.publicPath){v.update("path");v.update(this.publicPath)}else{v.update("no-path")}const L=this.filename||R.outputOptions.assetModuleFilename;const{path:q,info:K}=R.compilation.getAssetPathWithInfo(L,N);v.update(q);v.update(JSON.stringify(K))}}}v.exports=AssetGenerator},57524:function(v,E,P){"use strict";const{ASSET_MODULE_TYPE_RESOURCE:R,ASSET_MODULE_TYPE_INLINE:$,ASSET_MODULE_TYPE:N,ASSET_MODULE_TYPE_SOURCE:L}=P(96170);const{cleverMerge:q}=P(36671);const{compareModulesByIdentifier:K}=P(28273);const ae=P(21596);const ge=P(25689);const getSchema=v=>{const{definitions:E}=P(74792);return{definitions:E,oneOf:[{$ref:`#/definitions/${v}`}]}};const be={name:"Asset Modules Plugin",baseDataPath:"generator"};const xe={asset:ae(P(86681),(()=>getSchema("AssetGeneratorOptions")),be),"asset/resource":ae(P(7871),(()=>getSchema("AssetResourceGeneratorOptions")),be),"asset/inline":ae(P(20943),(()=>getSchema("AssetInlineGeneratorOptions")),be)};const ve=ae(P(93200),(()=>getSchema("AssetParserOptions")),{name:"Asset Modules Plugin",baseDataPath:"parser"});const Ae=ge((()=>P(62266)));const Ie=ge((()=>P(19097)));const He=ge((()=>P(89596)));const Qe=ge((()=>P(34423)));const Je=N;const Ve="AssetModulesPlugin";class AssetModulesPlugin{apply(v){v.hooks.compilation.tap(Ve,((E,{normalModuleFactory:P})=>{P.hooks.createParser.for(N).tap(Ve,(E=>{ve(E);E=q(v.options.module.parser.asset,E);let P=E.dataUrlCondition;if(!P||typeof P==="object"){P={maxSize:8096,...P}}const R=Ie();return new R(P)}));P.hooks.createParser.for($).tap(Ve,(v=>{const E=Ie();return new E(true)}));P.hooks.createParser.for(R).tap(Ve,(v=>{const E=Ie();return new E(false)}));P.hooks.createParser.for(L).tap(Ve,(v=>{const E=He();return new E}));for(const v of[N,$,R]){P.hooks.createGenerator.for(v).tap(Ve,(E=>{xe[v](E);let P=undefined;if(v!==R){P=E.dataUrl;if(!P||typeof P==="object"){P={encoding:undefined,mimetype:undefined,...P}}}let N=undefined;let L=undefined;let q=undefined;if(v!==$){N=E.filename;L=E.publicPath;q=E.outputPath}const K=Ae();return new K(P,N,L,q,E.emit!==false)}))}P.hooks.createGenerator.for(L).tap(Ve,(()=>{const v=Qe();return new v}));E.hooks.renderManifest.tap(Ve,((v,P)=>{const{chunkGraph:R}=E;const{chunk:$,codeGenerationResults:L}=P;const q=R.getOrderedChunkModulesIterableBySourceType($,N,K);if(q){for(const E of q){try{const P=L.get(E,$.runtime);v.push({render:()=>P.sources.get(Je),filename:E.buildInfo.filename||P.data.get("filename"),info:E.buildInfo.assetInfo||P.data.get("assetInfo"),auxiliary:true,identifier:`assetModule${R.getModuleId(E)}`,hash:E.buildInfo.fullContentHash||P.data.get("fullContentHash")})}catch(v){v.message+=`\nduring rendering of asset ${E.identifier()}`;throw v}}}return v}));E.hooks.prepareModuleExecution.tap("AssetModulesPlugin",((v,E)=>{const{codeGenerationResult:P}=v;const R=P.sources.get(N);if(R===undefined)return;E.assets.set(P.data.get("filename"),{source:R,info:P.data.get("assetInfo")})}))}))}}v.exports=AssetModulesPlugin},19097:function(v,E,P){"use strict";const R=P(38063);class AssetParser extends R{constructor(v){super();this.dataUrlCondition=v}parse(v,E){if(typeof v==="object"&&!Buffer.isBuffer(v)){throw new Error("AssetParser doesn't accept preparsed AST")}const P=E.module.buildInfo;P.strict=true;const R=E.module.buildMeta;R.exportsType="default";R.defaultObject=false;if(typeof this.dataUrlCondition==="function"){P.dataUrl=this.dataUrlCondition(v,{filename:E.module.matchResource||E.module.resource,module:E.module})}else if(typeof this.dataUrlCondition==="boolean"){P.dataUrl=this.dataUrlCondition}else if(this.dataUrlCondition&&typeof this.dataUrlCondition==="object"){P.dataUrl=Buffer.byteLength(v)<=this.dataUrlCondition.maxSize}else{throw new Error("Unexpected dataUrlCondition type")}return E}}v.exports=AssetParser},34423:function(v,E,P){"use strict";const{RawSource:R}=P(51255);const $=P(32757);const N=P(29900);const L=P(92529);const q=new Set(["javascript"]);class AssetSourceGenerator extends N{generate(v,{concatenationScope:E,chunkGraph:P,runtimeTemplate:N,runtimeRequirements:q}){const K=v.originalSource();if(!K){return new R("")}const ae=K.source();let ge;if(typeof ae==="string"){ge=ae}else{ge=ae.toString("utf-8")}let be;if(E){E.registerNamespaceExport($.NAMESPACE_OBJECT_EXPORT);be=`${N.supportsConst()?"const":"var"} ${$.NAMESPACE_OBJECT_EXPORT} = ${JSON.stringify(ge)};`}else{q.add(L.module);be=`${L.module}.exports = ${JSON.stringify(ge)};`}return new R(be)}getConcatenationBailoutReason(v,E){return undefined}getTypes(v){return q}getSize(v,E){const P=v.originalSource();if(!P){return 0}return P.size()+12}}v.exports=AssetSourceGenerator},89596:function(v,E,P){"use strict";const R=P(38063);class AssetSourceParser extends R{parse(v,E){if(typeof v==="object"&&!Buffer.isBuffer(v)){throw new Error("AssetSourceParser doesn't accept preparsed AST")}const{module:P}=E;P.buildInfo.strict=true;P.buildMeta.exportsType="default";E.module.buildMeta.defaultObject=false;return E}}v.exports=AssetSourceParser},88249:function(v,E,P){"use strict";const{RawSource:R}=P(51255);const $=P(72011);const{ASSET_MODULE_TYPE_RAW_DATA_URL:N}=P(96170);const L=P(92529);const q=P(41718);const K=new Set(["javascript"]);class RawDataUrlModule extends ${constructor(v,E,P){super(N,null);this.url=v;this.urlBuffer=v?Buffer.from(v):undefined;this.identifierStr=E||this.url;this.readableIdentifierStr=P||this.identifierStr}getSourceTypes(){return K}identifier(){return this.identifierStr}size(v){if(this.url===undefined)this.url=this.urlBuffer.toString();return Math.max(1,this.url.length)}readableIdentifier(v){return v.shorten(this.readableIdentifierStr)}needBuild(v,E){return E(null,!this.buildMeta)}build(v,E,P,R,$){this.buildMeta={};this.buildInfo={cacheable:true};$()}codeGeneration(v){if(this.url===undefined)this.url=this.urlBuffer.toString();const E=new Map;E.set("javascript",new R(`module.exports = ${JSON.stringify(this.url)};`));const P=new Map;P.set("url",this.urlBuffer);const $=new Set;$.add(L.module);return{sources:E,runtimeRequirements:$,data:P}}updateHash(v,E){v.update(this.urlBuffer);super.updateHash(v,E)}serialize(v){const{write:E}=v;E(this.urlBuffer);E(this.identifierStr);E(this.readableIdentifierStr);super.serialize(v)}deserialize(v){const{read:E}=v;this.urlBuffer=E();this.identifierStr=E();this.readableIdentifierStr=E();super.deserialize(v)}}q(RawDataUrlModule,"webpack/lib/asset/RawDataUrlModule");v.exports=RawDataUrlModule},63318:function(v,E,P){"use strict";const R=P(23596);const $=P(92529);const N=P(25233);class AwaitDependenciesInitFragment extends R{constructor(v){super(undefined,R.STAGE_ASYNC_DEPENDENCIES,0,"await-dependencies");this.promises=v}merge(v){const E=new Set(v.promises);for(const v of this.promises){E.add(v)}return new AwaitDependenciesInitFragment(E)}getContent({runtimeRequirements:v}){v.add($.module);const E=this.promises;if(E.size===0){return""}if(E.size===1){for(const v of E){return N.asString([`var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([${v}]);`,`${v} = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];`,""])}}const P=Array.from(E).join(", ");return N.asString([`var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([${P}]);`,`([${P}] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);`,""])}}v.exports=AwaitDependenciesInitFragment},33827:function(v,E,P){"use strict";const R=P(24647);class InferAsyncModulesPlugin{apply(v){v.hooks.compilation.tap("InferAsyncModulesPlugin",(v=>{const{moduleGraph:E}=v;v.hooks.finishModules.tap("InferAsyncModulesPlugin",(v=>{const P=new Set;for(const E of v){if(E.buildMeta&&E.buildMeta.async){P.add(E)}}for(const v of P){E.setAsync(v);for(const[$,N]of E.getIncomingConnectionsByOriginModule(v)){if(N.some((v=>v.dependency instanceof R&&v.isTargetActive(undefined)))){P.add($)}}}}))}))}}v.exports=InferAsyncModulesPlugin},7362:function(v,E,P){"use strict";const R=P(40708);const{connectChunkGroupParentAndChild:$}=P(59760);const N=P(1709);const{getEntryRuntime:L,mergeRuntime:q}=P(65153);const K=new Set;K.plus=K;const bySetSize=(v,E)=>E.size+E.plus.size-v.size-v.plus.size;const extractBlockModules=(v,E,P,R)=>{let $;let L;const q=[];const K=[v];while(K.length>0){const v=K.pop();const E=[];q.push(E);R.set(v,E);for(const E of v.blocks){K.push(E)}}for(const N of E.getOutgoingConnections(v)){const v=N.dependency;if(!v)continue;const q=N.module;if(!q)continue;if(N.weak)continue;const K=N.getActiveState(P);if(K===false)continue;const ae=E.getParentBlock(v);let ge=E.getParentBlockIndex(v);if(ge<0){ge=ae.dependencies.indexOf(v)}if($!==ae){L=R.get($=ae)}const be=ge<<2;L[be]=q;L[be+1]=K}for(const v of q){if(v.length===0)continue;let E;let P=0;e:for(let R=0;R30){E=new Map;for(let R=0;R{const{moduleGraph:be,chunkGraph:xe,moduleMemCaches:ve}=E;const Ae=new Map;let Ie=false;let He;const getBlockModules=(E,P)=>{if(Ie!==P){He=Ae.get(P);if(He===undefined){He=new Map;Ae.set(P,He)}}let R=He.get(E);if(R!==undefined)return R;const $=E.getRootBlock();const N=ve&&ve.get($);if(N!==undefined){const R=N.provide("bundleChunkGraph.blockModules",P,(()=>{v.time("visitModules: prepare");const E=new Map;extractBlockModules($,be,P,E);v.timeAggregate("visitModules: prepare");return E}));for(const[v,E]of R)He.set(v,E);return R.get(E)}else{v.time("visitModules: prepare");extractBlockModules($,be,P,He);R=He.get(E);v.timeAggregate("visitModules: prepare");return R}};let Qe=0;let Je=0;let Ve=0;let Ke=0;let Ye=0;let Xe=0;let Ze=0;let et=0;let tt=0;let nt=0;let st=0;let rt=0;let ot=0;let it=0;let at=0;let ct=0;const lt=new Map;const ut=new Map;const pt=new Map;const dt=0;const ft=1;const ht=2;const mt=3;const gt=4;const yt=5;let bt=[];const xt=new Map;const kt=new Set;for(const[v,R]of P){const P=L(E,v.name,v.options);const N={chunkGroup:v,runtime:P,minAvailableModules:undefined,minAvailableModulesOwned:false,availableModulesToBeMerged:[],skippedItems:undefined,resultingAvailableModules:undefined,children:undefined,availableSources:undefined,availableChildren:undefined,preOrderIndex:0,postOrderIndex:0,chunkLoading:v.options.chunkLoading!==undefined?v.options.chunkLoading!==false:E.outputOptions.chunkLoading!==false,asyncChunks:v.options.asyncChunks!==undefined?v.options.asyncChunks:E.outputOptions.asyncChunks!==false};v.index=it++;if(v.getNumberOfParents()>0){const v=new Set;for(const E of R){v.add(E)}N.skippedItems=v;kt.add(N)}else{N.minAvailableModules=K;const E=v.getEntrypointChunk();for(const P of R){bt.push({action:ft,block:P,module:P,chunk:E,chunkGroup:v,chunkGroupInfo:N})}}$.set(v,N);if(v.name){ut.set(v.name,N)}}for(const v of kt){const{chunkGroup:E}=v;v.availableSources=new Set;for(const P of E.parentsIterable){const E=$.get(P);v.availableSources.add(E);if(E.availableChildren===undefined){E.availableChildren=new Set}E.availableChildren.add(v)}}bt.reverse();const vt=new Set;const wt=new Set;let Et=[];const At=[];const Ct=[];const St=[];let _t;let Pt;let Mt;let It;let Ot;const iteratorBlock=v=>{let P=lt.get(v);let L;let q;const ae=v.groupOptions&&v.groupOptions.entryOptions;if(P===undefined){const be=v.groupOptions&&v.groupOptions.name||v.chunkName;if(ae){P=pt.get(be);if(!P){q=E.addAsyncEntrypoint(ae,_t,v.loc,v.request);q.index=it++;P={chunkGroup:q,runtime:q.options.runtime||q.name,minAvailableModules:K,minAvailableModulesOwned:false,availableModulesToBeMerged:[],skippedItems:undefined,resultingAvailableModules:undefined,children:undefined,availableSources:undefined,availableChildren:undefined,preOrderIndex:0,postOrderIndex:0,chunkLoading:ae.chunkLoading!==undefined?ae.chunkLoading!==false:Ot.chunkLoading,asyncChunks:ae.asyncChunks!==undefined?ae.asyncChunks:Ot.asyncChunks};$.set(q,P);xe.connectBlockAndChunkGroup(v,q);if(be){pt.set(be,P)}}else{q=P.chunkGroup;q.addOrigin(_t,v.loc,v.request);xe.connectBlockAndChunkGroup(v,q)}Et.push({action:gt,block:v,module:_t,chunk:q.chunks[0],chunkGroup:q,chunkGroupInfo:P})}else if(!Ot.asyncChunks||!Ot.chunkLoading){bt.push({action:mt,block:v,module:_t,chunk:Pt,chunkGroup:Mt,chunkGroupInfo:Ot})}else{P=be&&ut.get(be);if(!P){L=E.addChunkInGroup(v.groupOptions||v.chunkName,_t,v.loc,v.request);L.index=it++;P={chunkGroup:L,runtime:Ot.runtime,minAvailableModules:undefined,minAvailableModulesOwned:undefined,availableModulesToBeMerged:[],skippedItems:undefined,resultingAvailableModules:undefined,children:undefined,availableSources:undefined,availableChildren:undefined,preOrderIndex:0,postOrderIndex:0,chunkLoading:Ot.chunkLoading,asyncChunks:Ot.asyncChunks};ge.add(L);$.set(L,P);if(be){ut.set(be,P)}}else{L=P.chunkGroup;if(L.isInitial()){E.errors.push(new R(be,_t,v.loc));L=Mt}else{L.addOptions(v.groupOptions)}L.addOrigin(_t,v.loc,v.request)}N.set(v,[])}lt.set(v,P)}else if(ae){q=P.chunkGroup}else{L=P.chunkGroup}if(L!==undefined){N.get(v).push({originChunkGroupInfo:Ot,chunkGroup:L});let E=xt.get(Ot);if(E===undefined){E=new Set;xt.set(Ot,E)}E.add(P);Et.push({action:mt,block:v,module:_t,chunk:L.chunks[0],chunkGroup:L,chunkGroupInfo:P})}else if(q!==undefined){Ot.chunkGroup.addAsyncEntrypoint(q)}};const processBlock=v=>{Je++;const E=getBlockModules(v,Ot.runtime);if(E!==undefined){const{minAvailableModules:v}=Ot;for(let P=0;P0){let{skippedModuleConnections:v}=Ot;if(v===undefined){Ot.skippedModuleConnections=v=new Set}for(let E=At.length-1;E>=0;E--){v.add(At[E])}At.length=0}if(Ct.length>0){let{skippedItems:v}=Ot;if(v===undefined){Ot.skippedItems=v=new Set}for(let E=Ct.length-1;E>=0;E--){v.add(Ct[E])}Ct.length=0}if(St.length>0){for(let v=St.length-1;v>=0;v--){bt.push(St[v])}St.length=0}}for(const E of v.blocks){iteratorBlock(E)}if(v.blocks.length>0&&_t!==v){ae.add(v)}};const processEntryBlock=v=>{Je++;const E=getBlockModules(v,Ot.runtime);if(E!==undefined){for(let v=0;v0){for(let v=St.length-1;v>=0;v--){bt.push(St[v])}St.length=0}}for(const E of v.blocks){iteratorBlock(E)}if(v.blocks.length>0&&_t!==v){ae.add(v)}};const processQueue=()=>{while(bt.length){Qe++;const v=bt.pop();_t=v.module;It=v.block;Pt=v.chunk;Mt=v.chunkGroup;Ot=v.chunkGroupInfo;switch(v.action){case dt:xe.connectChunkAndEntryModule(Pt,_t,Mt);case ft:{if(xe.isModuleInChunk(_t,Pt)){break}xe.connectChunkAndModule(Pt,_t)}case ht:{const E=Mt.getModulePreOrderIndex(_t);if(E===undefined){Mt.setModulePreOrderIndex(_t,Ot.preOrderIndex++)}if(be.setPreOrderIndexIfUnset(_t,at)){at++}v.action=yt;bt.push(v)}case mt:{processBlock(It);break}case gt:{processEntryBlock(It);break}case yt:{const v=Mt.getModulePostOrderIndex(_t);if(v===undefined){Mt.setModulePostOrderIndex(_t,Ot.postOrderIndex++)}if(be.setPostOrderIndexIfUnset(_t,ct)){ct++}break}}}};const calculateResultingAvailableModules=v=>{if(v.resultingAvailableModules)return v.resultingAvailableModules;const E=v.minAvailableModules;let P;if(E.size>E.plus.size){P=new Set;for(const v of E.plus)E.add(v);E.plus=K;P.plus=E;v.minAvailableModulesOwned=false}else{P=new Set(E);P.plus=E.plus}for(const E of v.chunkGroup.chunks){for(const v of xe.getChunkModulesIterable(E)){P.add(v)}}return v.resultingAvailableModules=P};const processConnectQueue=()=>{for(const[v,E]of xt){if(v.children===undefined){v.children=E}else{for(const P of E){v.children.add(P)}}const P=calculateResultingAvailableModules(v);const R=v.runtime;for(const v of E){v.availableModulesToBeMerged.push(P);wt.add(v);const E=v.runtime;const $=q(E,R);if(E!==$){v.runtime=$;vt.add(v)}}Ve+=E.size}xt.clear()};const processChunkGroupsForMerging=()=>{Ke+=wt.size;for(const v of wt){const E=v.availableModulesToBeMerged;let P=v.minAvailableModules;Ye+=E.length;if(E.length>1){E.sort(bySetSize)}let R=false;e:for(const $ of E){if(P===undefined){P=$;v.minAvailableModules=P;v.minAvailableModulesOwned=false;R=true}else{if(v.minAvailableModulesOwned){if(P.plus===$.plus){for(const v of P){if(!$.has(v)){P.delete(v);R=true}}}else{for(const v of P){if(!$.has(v)&&!$.plus.has(v)){P.delete(v);R=true}}for(const v of P.plus){if(!$.has(v)&&!$.plus.has(v)){const E=P.plus[Symbol.iterator]();let N;while(!(N=E.next()).done){const E=N.value;if(E===v)break;P.add(E)}while(!(N=E.next()).done){const v=N.value;if($.has(v)||$.plus.has(v)){P.add(v)}}P.plus=K;R=true;continue e}}}}else if(P.plus===$.plus){if($.size{for(const v of kt){for(const E of v.availableSources){if(!E.minAvailableModules){kt.delete(v);break}}}for(const v of kt){const E=new Set;E.plus=K;const mergeSet=v=>{if(v.size>E.plus.size){for(const v of E.plus)E.add(v);E.plus=v}else{for(const P of v)E.add(P)}};for(const E of v.availableSources){const v=calculateResultingAvailableModules(E);mergeSet(v);mergeSet(v.plus)}v.minAvailableModules=E;v.minAvailableModulesOwned=false;v.resultingAvailableModules=undefined;vt.add(v)}kt.clear()};const processOutdatedChunkGroupInfo=()=>{rt+=vt.size;for(const v of vt){if(v.skippedItems!==undefined){const E=v.minAvailableModules;for(const P of v.skippedItems){if(!E.has(P)&&!E.plus.has(P)){bt.push({action:ft,block:P,module:P,chunk:v.chunkGroup.chunks[0],chunkGroup:v.chunkGroup,chunkGroupInfo:v});v.skippedItems.delete(P)}}}if(v.skippedModuleConnections!==undefined){const E=v.minAvailableModules;for(const P of v.skippedModuleConnections){const[R,$]=P;if($===false)continue;if($===true){v.skippedModuleConnections.delete(P)}if($===true&&(E.has(R)||E.plus.has(R))){v.skippedItems.add(R);continue}bt.push({action:$===true?ft:mt,block:R,module:R,chunk:v.chunkGroup.chunks[0],chunkGroup:v.chunkGroup,chunkGroupInfo:v})}}if(v.children!==undefined){ot+=v.children.size;for(const E of v.children){let P=xt.get(v);if(P===undefined){P=new Set;xt.set(v,P)}P.add(E)}}if(v.availableChildren!==undefined){for(const E of v.availableChildren){kt.add(E)}}}vt.clear()};while(bt.length||xt.size){v.time("visitModules: visiting");processQueue();v.timeAggregateEnd("visitModules: prepare");v.timeEnd("visitModules: visiting");if(kt.size>0){v.time("visitModules: combine available modules");processChunkGroupsForCombining();v.timeEnd("visitModules: combine available modules")}if(xt.size>0){v.time("visitModules: calculating available modules");processConnectQueue();v.timeEnd("visitModules: calculating available modules");if(wt.size>0){v.time("visitModules: merging available modules");processChunkGroupsForMerging();v.timeEnd("visitModules: merging available modules")}}if(vt.size>0){v.time("visitModules: check modules for revisit");processOutdatedChunkGroupInfo();v.timeEnd("visitModules: check modules for revisit")}if(bt.length===0){const v=bt;bt=Et.reverse();Et=v}}v.log(`${Qe} queue items processed (${Je} blocks)`);v.log(`${Ve} chunk groups connected`);v.log(`${Ke} chunk groups processed for merging (${Ye} module sets, ${Xe} forked, ${Ze} + ${et} modules forked, ${tt} + ${nt} modules merged into fork, ${st} resulting modules)`);v.log(`${rt} chunk group info updated (${ot} already connected chunk groups reconnected)`)};const connectChunkGroups=(v,E,P,R)=>{const{chunkGraph:N}=v;const areModulesAvailable=(v,E)=>{for(const P of v.chunks){for(const v of N.getChunkModulesIterable(P)){if(!E.has(v)&&!E.plus.has(v))return false}}return true};for(const[v,R]of P){if(!E.has(v)&&R.every((({chunkGroup:v,originChunkGroupInfo:E})=>areModulesAvailable(v,E.resultingAvailableModules)))){continue}for(let E=0;E{const{chunkGraph:P}=v;for(const R of E){if(R.getNumberOfParents()===0){for(const E of R.chunks){v.chunks.delete(E);P.disconnectChunk(E)}P.disconnectChunkGroup(R);R.remove()}}};const buildChunkGraph=(v,E)=>{const P=v.getLogger("webpack.buildChunkGraph");const R=new Map;const $=new Set;const N=new Map;const L=new Set;P.time("visitModules");visitModules(P,v,E,N,R,L,$);P.timeEnd("visitModules");P.time("connectChunkGroups");connectChunkGroups(v,L,R,N);P.timeEnd("connectChunkGroups");for(const[v,E]of N){for(const P of v.chunks)P.runtime=q(P.runtime,E.runtime)}P.time("cleanup");cleanupUnconnectedGroups(v,$);P.timeEnd("cleanup")};v.exports=buildChunkGraph},19930:function(v){"use strict";class AddBuildDependenciesPlugin{constructor(v){this.buildDependencies=new Set(v)}apply(v){v.hooks.compilation.tap("AddBuildDependenciesPlugin",(v=>{v.buildDependencies.addAll(this.buildDependencies)}))}}v.exports=AddBuildDependenciesPlugin},64778:function(v){"use strict";class AddManagedPathsPlugin{constructor(v,E,P){this.managedPaths=new Set(v);this.immutablePaths=new Set(E);this.unmanagedPaths=new Set(P)}apply(v){for(const E of this.managedPaths){v.managedPaths.add(E)}for(const E of this.immutablePaths){v.immutablePaths.add(E)}for(const E of this.unmanagedPaths){v.unmanagedPaths.add(E)}}}v.exports=AddManagedPathsPlugin},66358:function(v,E,P){"use strict";const R=P(55254);const $=P(82387);const N=Symbol();class IdleFileCachePlugin{constructor(v,E,P,R){this.strategy=v;this.idleTimeout=E;this.idleTimeoutForInitialStore=P;this.idleTimeoutAfterLargeChanges=R}apply(v){let E=this.strategy;const P=this.idleTimeout;const L=Math.min(P,this.idleTimeoutForInitialStore);const q=this.idleTimeoutAfterLargeChanges;const K=Promise.resolve();let ae=0;let ge=0;let be=0;const xe=new Map;v.cache.hooks.store.tap({name:"IdleFileCachePlugin",stage:R.STAGE_DISK},((v,P,R)=>{xe.set(v,(()=>E.store(v,P,R)))}));v.cache.hooks.get.tapPromise({name:"IdleFileCachePlugin",stage:R.STAGE_DISK},((v,P,R)=>{const restore=()=>E.restore(v,P).then(($=>{if($===undefined){R.push(((R,$)=>{if(R!==undefined){xe.set(v,(()=>E.store(v,P,R)))}$()}))}else{return $}}));const $=xe.get(v);if($!==undefined){xe.delete(v);return $().then(restore)}return restore()}));v.cache.hooks.storeBuildDependencies.tap({name:"IdleFileCachePlugin",stage:R.STAGE_DISK},(v=>{xe.set(N,(()=>E.storeBuildDependencies(v)))}));v.cache.hooks.shutdown.tapPromise({name:"IdleFileCachePlugin",stage:R.STAGE_DISK},(()=>{if(He){clearTimeout(He);He=undefined}Ae=false;const P=$.getReporter(v);const R=Array.from(xe.values());if(P)P(0,"process pending cache items");const N=R.map((v=>v()));xe.clear();N.push(ve);const L=Promise.all(N);ve=L.then((()=>E.afterAllStored()));if(P){ve=ve.then((()=>{P(1,`stored`)}))}return ve.then((()=>{if(E.clear)E.clear()}))}));let ve=K;let Ae=false;let Ie=true;const processIdleTasks=()=>{if(Ae){const P=Date.now();if(xe.size>0){const v=[ve];const E=P+100;let R=100;for(const[P,$]of xe){xe.delete(P);v.push($());if(R--<=0||Date.now()>E)break}ve=Promise.all(v);ve.then((()=>{ge+=Date.now()-P;He=setTimeout(processIdleTasks,0);He.unref()}));return}ve=ve.then((async()=>{await E.afterAllStored();ge+=Date.now()-P;be=Math.max(be,ge)*.9+ge*.1;ge=0;ae=0})).catch((E=>{const P=v.getInfrastructureLogger("IdleFileCachePlugin");P.warn(`Background tasks during idle failed: ${E.message}`);P.debug(E.stack)}));Ie=false}};let He=undefined;v.cache.hooks.beginIdle.tap({name:"IdleFileCachePlugin",stage:R.STAGE_DISK},(()=>{const E=ae>be*2;if(Ie&&L{He=undefined;Ae=true;K.then(processIdleTasks)}),Math.min(Ie?L:Infinity,E?q:Infinity,P));He.unref()}));v.cache.hooks.endIdle.tap({name:"IdleFileCachePlugin",stage:R.STAGE_DISK},(()=>{if(He){clearTimeout(He);He=undefined}Ae=false}));v.hooks.done.tap("IdleFileCachePlugin",(v=>{ae*=.9;ae+=v.endTime-v.startTime}))}}v.exports=IdleFileCachePlugin},76623:function(v,E,P){"use strict";const R=P(55254);class MemoryCachePlugin{apply(v){const E=new Map;v.cache.hooks.store.tap({name:"MemoryCachePlugin",stage:R.STAGE_MEMORY},((v,P,R)=>{E.set(v,{etag:P,data:R})}));v.cache.hooks.get.tap({name:"MemoryCachePlugin",stage:R.STAGE_MEMORY},((v,P,R)=>{const $=E.get(v);if($===null){return null}else if($!==undefined){return $.etag===P?$.data:null}R.push(((R,$)=>{if(R===undefined){E.set(v,null)}else{E.set(v,{etag:P,data:R})}return $()}))}));v.cache.hooks.shutdown.tap({name:"MemoryCachePlugin",stage:R.STAGE_MEMORY},(()=>{E.clear()}))}}v.exports=MemoryCachePlugin},22540:function(v,E,P){"use strict";const R=P(55254);class MemoryWithGcCachePlugin{constructor({maxGenerations:v}){this._maxGenerations=v}apply(v){const E=this._maxGenerations;const P=new Map;const $=new Map;let N=0;let L=0;const q=v.getInfrastructureLogger("MemoryWithGcCachePlugin");v.hooks.afterDone.tap("MemoryWithGcCachePlugin",(()=>{N++;let v=0;let R;for(const[E,L]of $){if(L.until>N)break;$.delete(E);if(P.get(E)===undefined){P.delete(E);v++;R=E}}if(v>0||$.size>0){q.log(`${P.size-$.size} active entries, ${$.size} recently unused cached entries${v>0?`, ${v} old unused cache entries removed e. g. ${R}`:""}`)}let K=P.size/E|0;let ae=L>=P.size?0:L;L=ae+K;for(const[v,R]of P){if(ae!==0){ae--;continue}if(R!==undefined){P.set(v,undefined);$.delete(v);$.set(v,{entry:R,until:N+E});if(K--===0)break}}}));v.cache.hooks.store.tap({name:"MemoryWithGcCachePlugin",stage:R.STAGE_MEMORY},((v,E,R)=>{P.set(v,{etag:E,data:R})}));v.cache.hooks.get.tap({name:"MemoryWithGcCachePlugin",stage:R.STAGE_MEMORY},((v,E,R)=>{const N=P.get(v);if(N===null){return null}else if(N!==undefined){return N.etag===E?N.data:null}const L=$.get(v);if(L!==undefined){const R=L.entry;if(R===null){$.delete(v);P.set(v,R);return null}else{if(R.etag!==E)return null;$.delete(v);P.set(v,R);return R.data}}R.push(((R,$)=>{if(R===undefined){P.set(v,null)}else{P.set(v,{etag:E,data:R})}return $()}))}));v.cache.hooks.shutdown.tap({name:"MemoryWithGcCachePlugin",stage:R.STAGE_MEMORY},(()=>{P.clear();$.clear()}))}}v.exports=MemoryWithGcCachePlugin},81080:function(v,E,P){"use strict";const R=P(24965);const $=P(82387);const{formatSize:N}=P(34966);const L=P(95741);const q=P(2035);const K=P(41718);const ae=P(25689);const{createFileSerializer:ge,NOT_SERIALIZABLE:be}=P(29260);class PackContainer{constructor(v,E,P,R,$,N){this.data=v;this.version=E;this.buildSnapshot=P;this.buildDependencies=R;this.resolveResults=$;this.resolveBuildDependenciesSnapshot=N}serialize({write:v,writeLazy:E}){v(this.version);v(this.buildSnapshot);v(this.buildDependencies);v(this.resolveResults);v(this.resolveBuildDependenciesSnapshot);E(this.data)}deserialize({read:v}){this.version=v();this.buildSnapshot=v();this.buildDependencies=v();this.resolveResults=v();this.resolveBuildDependenciesSnapshot=v();this.data=v()}}K(PackContainer,"webpack/lib/cache/PackFileCacheStrategy","PackContainer");const xe=1024*1024;const ve=10;const Ae=100;const Ie=5e4;const He=1*60*1e3;class PackItemInfo{constructor(v,E,P){this.identifier=v;this.etag=E;this.location=-1;this.lastAccess=Date.now();this.freshValue=P}}class Pack{constructor(v,E){this.itemInfo=new Map;this.requests=[];this.requestsTimeout=undefined;this.freshContent=new Map;this.content=[];this.invalid=false;this.logger=v;this.maxAge=E}_addRequest(v){this.requests.push(v);if(this.requestsTimeout===undefined){this.requestsTimeout=setTimeout((()=>{this.requests.push(undefined);this.requestsTimeout=undefined}),He);if(this.requestsTimeout.unref)this.requestsTimeout.unref()}}stopCapturingRequests(){if(this.requestsTimeout!==undefined){clearTimeout(this.requestsTimeout);this.requestsTimeout=undefined}}get(v,E){const P=this.itemInfo.get(v);this._addRequest(v);if(P===undefined){return undefined}if(P.etag!==E)return null;P.lastAccess=Date.now();const R=P.location;if(R===-1){return P.freshValue}else{if(!this.content[R]){return undefined}return this.content[R].get(v)}}set(v,E,P){if(!this.invalid){this.invalid=true;this.logger.log(`Pack got invalid because of write to: ${v}`)}const R=this.itemInfo.get(v);if(R===undefined){const R=new PackItemInfo(v,E,P);this.itemInfo.set(v,R);this._addRequest(v);this.freshContent.set(v,R)}else{const $=R.location;if($>=0){this._addRequest(v);this.freshContent.set(v,R);const E=this.content[$];E.delete(v);if(E.items.size===0){this.content[$]=undefined;this.logger.debug("Pack %d got empty and is removed",$)}}R.freshValue=P;R.lastAccess=Date.now();R.etag=E;R.location=-1}}getContentStats(){let v=0;let E=0;for(const P of this.content){if(P!==undefined){v++;const R=P.getSize();if(R>0){E+=R}}}return{count:v,size:E}}_findLocation(){let v;for(v=0;vthis.maxAge){this.itemInfo.delete(L);v.delete(L);E.delete(L);R++;$=L}else{q.location=P}}if(R>0){this.logger.log("Garbage Collected %d old items at pack %d (%d items remaining) e. g. %s",R,P,v.size,$)}}_persistFreshContent(){const v=this.freshContent.size;if(v>0){const E=Math.ceil(v/Ie);const P=Math.ceil(v/E);const R=[];let $=0;let N=false;const createNextPack=()=>{const v=this._findLocation();this.content[v]=null;const E={items:new Set,map:new Map,loc:v};R.push(E);return E};let L=createNextPack();if(this.requestsTimeout!==undefined)clearTimeout(this.requestsTimeout);for(const v of this.requests){if(v===undefined){if(N){N=false}else if(L.items.size>=Ae){$=0;L=createNextPack()}continue}const E=this.freshContent.get(v);if(E===undefined)continue;L.items.add(v);L.map.set(v,E.freshValue);E.location=L.loc;E.freshValue=undefined;this.freshContent.delete(v);if(++$>P){$=0;L=createNextPack();N=true}}this.requests.length=0;for(const v of R){this.content[v.loc]=new PackContent(v.items,new Set(v.items),new PackContentItems(v.map))}this.logger.log(`${v} fresh items in cache put into pack ${R.length>1?R.map((v=>`${v.loc} (${v.items.size} items)`)).join(", "):R[0].loc}`)}}_optimizeSmallContent(){const v=[];let E=0;const P=[];let R=0;for(let $=0;$xe)continue;if(N.used.size>0){v.push($);E+=L}else{P.push($);R+=L}}let $;if(v.length>=ve||E>xe){$=v}else if(P.length>=ve||R>xe){$=P}else return;const N=[];for(const v of $){N.push(this.content[v]);this.content[v]=undefined}const L=new Set;const q=new Set;const K=[];for(const v of N){for(const E of v.items){L.add(E)}for(const E of v.used){q.add(E)}K.push((async E=>{await v.unpack("it should be merged with other small pack contents");for(const[P,R]of v.content){E.set(P,R)}}))}const ge=this._findLocation();this._gcAndUpdateLocation(L,q,ge);if(L.size>0){this.content[ge]=new PackContent(L,q,ae((async()=>{const v=new Map;await Promise.all(K.map((E=>E(v))));return new PackContentItems(v)})));this.logger.log("Merged %d small files with %d cache items into pack %d",N.length,L.size,ge)}}_optimizeUnusedContent(){for(let v=0;v0&&R<$){this.content[v]=undefined;const P=new Set(E.used);const R=this._findLocation();this._gcAndUpdateLocation(P,P,R);if(P.size>0){this.content[R]=new PackContent(P,new Set(P),(async()=>{await E.unpack("it should be splitted into used and unused items");const v=new Map;for(const R of P){v.set(R,E.content.get(R))}return new PackContentItems(v)}))}const $=new Set(E.items);const N=new Set;for(const v of P){$.delete(v)}const L=this._findLocation();this._gcAndUpdateLocation($,N,L);if($.size>0){this.content[L]=new PackContent($,N,(async()=>{await E.unpack("it should be splitted into used and unused items");const v=new Map;for(const P of $){v.set(P,E.content.get(P))}return new PackContentItems(v)}))}this.logger.log("Split pack %d into pack %d with %d used items and pack %d with %d unused items",v,R,P.size,L,$.size);return}}}_gcOldestContent(){let v=undefined;for(const E of this.itemInfo.values()){if(v===undefined||E.lastAccessthis.maxAge){const E=v.location;if(E<0)return;const P=this.content[E];const R=new Set(P.items);const $=new Set(P.used);this._gcAndUpdateLocation(R,$,E);this.content[E]=R.size>0?new PackContent(R,$,(async()=>{await P.unpack("it contains old items that should be garbage collected");const v=new Map;for(const E of R){v.set(E,P.content.get(E))}return new PackContentItems(v)})):undefined}}serialize({write:v,writeSeparate:E}){this._persistFreshContent();this._optimizeSmallContent();this._optimizeUnusedContent();this._gcOldestContent();for(const E of this.itemInfo.keys()){v(E)}v(null);for(const E of this.itemInfo.values()){v(E.etag)}for(const E of this.itemInfo.values()){v(E.lastAccess)}for(let P=0;PE(v,{name:`${P}`})))}else{v(undefined)}}v(null)}deserialize({read:v,logger:E}){this.logger=E;{const E=[];let P=v();while(P!==null){E.push(P);P=v()}this.itemInfo.clear();const R=E.map((v=>{const E=new PackItemInfo(v,undefined,undefined);this.itemInfo.set(v,E);return E}));for(const E of R){E.etag=v()}for(const E of R){E.lastAccess=v()}}this.content.length=0;let P=v();while(P!==null){if(P===undefined){this.content.push(P)}else{const R=this.content.length;const $=v();this.content.push(new PackContent(P,new Set,$,E,`${this.content.length}`));for(const v of P){this.itemInfo.get(v).location=R}}P=v()}}}K(Pack,"webpack/lib/cache/PackFileCacheStrategy","Pack");class PackContentItems{constructor(v){this.map=v}serialize({write:v,snapshot:E,rollback:P,logger:R,profile:$}){if($){v(false);for(const[$,N]of this.map){const L=E();try{v($);const E=process.hrtime();v(N);const P=process.hrtime(E);const L=P[0]*1e3+P[1]/1e6;if(L>1){if(L>500)R.error(`Serialization of '${$}': ${L} ms`);else if(L>50)R.warn(`Serialization of '${$}': ${L} ms`);else if(L>10)R.info(`Serialization of '${$}': ${L} ms`);else if(L>5)R.log(`Serialization of '${$}': ${L} ms`);else R.debug(`Serialization of '${$}': ${L} ms`)}}catch(v){P(L);if(v===be)continue;const E="Skipped not serializable cache item";if(v.message.includes("ModuleBuildError")){R.log(`${E} (in build error): ${v.message}`);R.debug(`${E} '${$}' (in build error): ${v.stack}`)}else{R.warn(`${E}: ${v.message}`);R.debug(`${E} '${$}': ${v.stack}`)}}}v(null);return}const N=E();try{v(true);v(this.map)}catch($){P(N);v(false);for(const[$,N]of this.map){const L=E();try{v($);v(N)}catch(v){P(L);if(v===be)continue;R.warn(`Skipped not serializable cache item '${$}': ${v.message}`);R.debug(v.stack)}}v(null)}}deserialize({read:v,logger:E,profile:P}){if(v()){this.map=v()}else if(P){const P=new Map;let R=v();while(R!==null){const $=process.hrtime();const N=v();const L=process.hrtime($);const q=L[0]*1e3+L[1]/1e6;if(q>1){if(q>100)E.error(`Deserialization of '${R}': ${q} ms`);else if(q>20)E.warn(`Deserialization of '${R}': ${q} ms`);else if(q>5)E.info(`Deserialization of '${R}': ${q} ms`);else if(q>2)E.log(`Deserialization of '${R}': ${q} ms`);else E.debug(`Deserialization of '${R}': ${q} ms`)}P.set(R,N);R=v()}this.map=P}else{const E=new Map;let P=v();while(P!==null){E.set(P,v());P=v()}this.map=E}}}K(PackContentItems,"webpack/lib/cache/PackFileCacheStrategy","PackContentItems");class PackContent{constructor(v,E,P,R,$){this.items=v;this.lazy=typeof P==="function"?P:undefined;this.content=typeof P==="function"?undefined:P.map;this.outdated=false;this.used=E;this.logger=R;this.lazyName=$}get(v){this.used.add(v);if(this.content){return this.content.get(v)}const{lazyName:E}=this;let P;if(E){this.lazyName=undefined;P=`restore cache content ${E} (${N(this.getSize())})`;this.logger.log(`starting to restore cache content ${E} (${N(this.getSize())}) because of request to: ${v}`);this.logger.time(P)}const R=this.lazy();if("then"in R){return R.then((E=>{const R=E.map;if(P){this.logger.timeEnd(P)}this.content=R;this.lazy=L.unMemoizeLazy(this.lazy);return R.get(v)}))}else{const E=R.map;if(P){this.logger.timeEnd(P)}this.content=E;this.lazy=L.unMemoizeLazy(this.lazy);return E.get(v)}}unpack(v){if(this.content)return;if(this.lazy){const{lazyName:E}=this;let P;if(E){this.lazyName=undefined;P=`unpack cache content ${E} (${N(this.getSize())})`;this.logger.log(`starting to unpack cache content ${E} (${N(this.getSize())}) because ${v}`);this.logger.time(P)}const R=this.lazy();if("then"in R){return R.then((v=>{if(P){this.logger.timeEnd(P)}this.content=v.map}))}else{if(P){this.logger.timeEnd(P)}this.content=R.map}}}getSize(){if(!this.lazy)return-1;const v=this.lazy.options;if(!v)return-1;const E=v.size;if(typeof E!=="number")return-1;return E}delete(v){this.items.delete(v);this.used.delete(v);this.outdated=true}writeLazy(v){if(!this.outdated&&this.lazy){v(this.lazy);return}if(!this.outdated&&this.content){const E=new Map(this.content);this.lazy=L.unMemoizeLazy(v((()=>new PackContentItems(E))));return}if(this.content){const E=new Map;for(const v of this.items){E.set(v,this.content.get(v))}this.outdated=false;this.content=E;this.lazy=L.unMemoizeLazy(v((()=>new PackContentItems(E))));return}const{lazyName:E}=this;let P;if(E){this.lazyName=undefined;P=`unpack cache content ${E} (${N(this.getSize())})`;this.logger.log(`starting to unpack cache content ${E} (${N(this.getSize())}) because it's outdated and need to be serialized`);this.logger.time(P)}const R=this.lazy();this.outdated=false;if("then"in R){this.lazy=v((()=>R.then((v=>{if(P){this.logger.timeEnd(P)}const E=v.map;const R=new Map;for(const v of this.items){R.set(v,E.get(v))}this.content=R;this.lazy=L.unMemoizeLazy(this.lazy);return new PackContentItems(R)}))))}else{if(P){this.logger.timeEnd(P)}const E=R.map;const $=new Map;for(const v of this.items){$.set(v,E.get(v))}this.content=$;this.lazy=v((()=>new PackContentItems($)))}}}const allowCollectingMemory=v=>{const E=v.buffer.byteLength-v.byteLength;if(E>8192&&(E>1048576||E>v.byteLength)){return Buffer.from(v)}return v};class PackFileCacheStrategy{constructor({compiler:v,fs:E,context:P,cacheLocation:$,version:N,logger:L,snapshot:K,maxAge:ae,profile:be,allowCollectingMemory:xe,compression:ve,readonly:Ae}){this.fileSerializer=ge(E,v.options.output.hashFunction);this.fileSystemInfo=new R(E,{managedPaths:K.managedPaths,immutablePaths:K.immutablePaths,logger:L.getChildLogger("webpack.FileSystemInfo"),hashFunction:v.options.output.hashFunction});this.compiler=v;this.context=P;this.cacheLocation=$;this.version=N;this.logger=L;this.maxAge=ae;this.profile=be;this.readonly=Ae;this.allowCollectingMemory=xe;this.compression=ve;this._extension=ve==="brotli"?".pack.br":ve==="gzip"?".pack.gz":".pack";this.snapshot=K;this.buildDependencies=new Set;this.newBuildDependencies=new q;this.resolveBuildDependenciesSnapshot=undefined;this.resolveResults=undefined;this.buildSnapshot=undefined;this.packPromise=this._openPack();this.storePromise=Promise.resolve()}_getPack(){if(this.packPromise===undefined){this.packPromise=this.storePromise.then((()=>this._openPack()))}return this.packPromise}_openPack(){const{logger:v,profile:E,cacheLocation:P,version:R}=this;let $;let N;let L;let q;let K;v.time("restore cache container");return this.fileSerializer.deserialize(null,{filename:`${P}/index${this._extension}`,extension:`${this._extension}`,logger:v,profile:E,retainedBuffer:this.allowCollectingMemory?allowCollectingMemory:undefined}).catch((E=>{if(E.code!=="ENOENT"){v.warn(`Restoring pack failed from ${P}${this._extension}: ${E}`);v.debug(E.stack)}else{v.debug(`No pack exists at ${P}${this._extension}: ${E}`)}return undefined})).then((E=>{v.timeEnd("restore cache container");if(!E)return undefined;if(!(E instanceof PackContainer)){v.warn(`Restored pack from ${P}${this._extension}, but contained content is unexpected.`,E);return undefined}if(E.version!==R){v.log(`Restored pack from ${P}${this._extension}, but version doesn't match.`);return undefined}v.time("check build dependencies");return Promise.all([new Promise(((R,N)=>{this.fileSystemInfo.checkSnapshotValid(E.buildSnapshot,((N,L)=>{if(N){v.log(`Restored pack from ${P}${this._extension}, but checking snapshot of build dependencies errored: ${N}.`);v.debug(N.stack);return R(false)}if(!L){v.log(`Restored pack from ${P}${this._extension}, but build dependencies have changed.`);return R(false)}$=E.buildSnapshot;return R(true)}))})),new Promise(((R,$)=>{this.fileSystemInfo.checkSnapshotValid(E.resolveBuildDependenciesSnapshot,(($,ae)=>{if($){v.log(`Restored pack from ${P}${this._extension}, but checking snapshot of resolving of build dependencies errored: ${$}.`);v.debug($.stack);return R(false)}if(ae){q=E.resolveBuildDependenciesSnapshot;N=E.buildDependencies;K=E.resolveResults;return R(true)}v.log("resolving of build dependencies is invalid, will re-resolve build dependencies");this.fileSystemInfo.checkResolveResultsValid(E.resolveResults,(($,N)=>{if($){v.log(`Restored pack from ${P}${this._extension}, but resolving of build dependencies errored: ${$}.`);v.debug($.stack);return R(false)}if(N){L=E.buildDependencies;K=E.resolveResults;return R(true)}v.log(`Restored pack from ${P}${this._extension}, but build dependencies resolve to different locations.`);return R(false)}))}))}))]).catch((E=>{v.timeEnd("check build dependencies");throw E})).then((([P,R])=>{v.timeEnd("check build dependencies");if(P&&R){v.time("restore cache content metadata");const P=E.data();v.timeEnd("restore cache content metadata");return P}return undefined}))})).then((E=>{if(E){E.maxAge=this.maxAge;this.buildSnapshot=$;if(N)this.buildDependencies=N;if(L)this.newBuildDependencies.addAll(L);this.resolveResults=K;this.resolveBuildDependenciesSnapshot=q;return E}return new Pack(v,this.maxAge)})).catch((E=>{this.logger.warn(`Restoring pack from ${P}${this._extension} failed: ${E}`);this.logger.debug(E.stack);return new Pack(v,this.maxAge)}))}store(v,E,P){if(this.readonly)return Promise.resolve();return this._getPack().then((R=>{R.set(v,E===null?null:E.toString(),P)}))}restore(v,E){return this._getPack().then((P=>P.get(v,E===null?null:E.toString()))).catch((E=>{if(E&&E.code!=="ENOENT"){this.logger.warn(`Restoring failed for ${v} from pack: ${E}`);this.logger.debug(E.stack)}}))}storeBuildDependencies(v){if(this.readonly)return;this.newBuildDependencies.addAll(v)}afterAllStored(){const v=this.packPromise;if(v===undefined)return Promise.resolve();const E=$.getReporter(this.compiler);return this.storePromise=v.then((v=>{v.stopCapturingRequests();if(!v.invalid)return;this.packPromise=undefined;this.logger.log(`Storing pack...`);let P;const R=new Set;for(const v of this.newBuildDependencies){if(!this.buildDependencies.has(v)){R.add(v)}}if(R.size>0||!this.buildSnapshot){if(E)E(.5,"resolve build dependencies");this.logger.debug(`Capturing build dependencies... (${Array.from(R).join(", ")})`);P=new Promise(((v,P)=>{this.logger.time("resolve build dependencies");this.fileSystemInfo.resolveBuildDependencies(this.context,R,((R,$)=>{this.logger.timeEnd("resolve build dependencies");if(R)return P(R);this.logger.time("snapshot build dependencies");const{files:N,directories:L,missing:q,resolveResults:K,resolveDependencies:ae}=$;if(this.resolveResults){for(const[v,E]of K){this.resolveResults.set(v,E)}}else{this.resolveResults=K}if(E){E(.6,"snapshot build dependencies","resolving")}this.fileSystemInfo.createSnapshot(undefined,ae.files,ae.directories,ae.missing,this.snapshot.resolveBuildDependencies,((R,$)=>{if(R){this.logger.timeEnd("snapshot build dependencies");return P(R)}if(!$){this.logger.timeEnd("snapshot build dependencies");return P(new Error("Unable to snapshot resolve dependencies"))}if(this.resolveBuildDependenciesSnapshot){this.resolveBuildDependenciesSnapshot=this.fileSystemInfo.mergeSnapshots(this.resolveBuildDependenciesSnapshot,$)}else{this.resolveBuildDependenciesSnapshot=$}if(E){E(.7,"snapshot build dependencies","modules")}this.fileSystemInfo.createSnapshot(undefined,N,L,q,this.snapshot.buildDependencies,((E,R)=>{this.logger.timeEnd("snapshot build dependencies");if(E)return P(E);if(!R){return P(new Error("Unable to snapshot build dependencies"))}this.logger.debug("Captured build dependencies");if(this.buildSnapshot){this.buildSnapshot=this.fileSystemInfo.mergeSnapshots(this.buildSnapshot,R)}else{this.buildSnapshot=R}v()}))}))}))}))}else{P=Promise.resolve()}return P.then((()=>{if(E)E(.8,"serialize pack");this.logger.time(`store pack`);const P=new Set(this.buildDependencies);for(const v of R){P.add(v)}const $=new PackContainer(v,this.version,this.buildSnapshot,P,this.resolveResults,this.resolveBuildDependenciesSnapshot);return this.fileSerializer.serialize($,{filename:`${this.cacheLocation}/index${this._extension}`,extension:`${this._extension}`,logger:this.logger,profile:this.profile}).then((()=>{for(const v of R){this.buildDependencies.add(v)}this.newBuildDependencies.clear();this.logger.timeEnd(`store pack`);const E=v.getContentStats();this.logger.log("Stored pack (%d items, %d files, %d MiB)",v.itemInfo.size,E.count,Math.round(E.size/1024/1024))})).catch((v=>{this.logger.timeEnd(`store pack`);this.logger.warn(`Caching failed for pack: ${v}`);this.logger.debug(v.stack)}))}))})).catch((v=>{this.logger.warn(`Caching failed for pack: ${v}`);this.logger.debug(v.stack)}))}clear(){this.fileSystemInfo.clear();this.buildDependencies.clear();this.newBuildDependencies.clear();this.resolveBuildDependenciesSnapshot=undefined;this.resolveResults=undefined;this.buildSnapshot=undefined;this.packPromise=undefined}}v.exports=PackFileCacheStrategy},33261:function(v,E,P){"use strict";const R=P(2035);const $=P(41718);class CacheEntry{constructor(v,E){this.result=v;this.snapshot=E}serialize({write:v}){v(this.result);v(this.snapshot)}deserialize({read:v}){this.result=v();this.snapshot=v()}}$(CacheEntry,"webpack/lib/cache/ResolverCachePlugin");const addAllToSet=(v,E)=>{if(v instanceof R){v.addAll(E)}else{for(const P of E){v.add(P)}}};const objectToString=(v,E)=>{let P="";for(const R in v){if(E&&R==="context")continue;const $=v[R];if(typeof $==="object"&&$!==null){P+=`|${R}=[${objectToString($,false)}|]`}else{P+=`|${R}=|${$}`}}return P};class ResolverCachePlugin{apply(v){const E=v.getCache("ResolverCachePlugin");let P;let $;let N=0;let L=0;let q=0;let K=0;v.hooks.thisCompilation.tap("ResolverCachePlugin",(v=>{$=v.options.snapshot.resolve;P=v.fileSystemInfo;v.hooks.finishModules.tap("ResolverCachePlugin",(()=>{if(N+L>0){const E=v.getLogger("webpack.ResolverCachePlugin");E.log(`${Math.round(100*N/(N+L))}% really resolved (${N} real resolves with ${q} cached but invalid, ${L} cached valid, ${K} concurrent)`);N=0;L=0;q=0;K=0}}))}));const doRealResolve=(v,E,L,q,K)=>{N++;const ae={_ResolverCachePluginCacheMiss:true,...q};const ge={...L,stack:new Set,missingDependencies:new R,fileDependencies:new R,contextDependencies:new R};let be;let xe=false;if(typeof ge.yield==="function"){be=[];xe=true;ge.yield=v=>be.push(v)}const propagate=v=>{if(L[v]){addAllToSet(L[v],ge[v])}};const ve=Date.now();E.doResolve(E.hooks.resolve,ae,"Cache miss",ge,((E,R)=>{propagate("fileDependencies");propagate("contextDependencies");propagate("missingDependencies");if(E)return K(E);const N=ge.fileDependencies;const L=ge.contextDependencies;const q=ge.missingDependencies;P.createSnapshot(ve,N,L,q,$,((E,P)=>{if(E)return K(E);const $=xe?be:R;if(xe&&R)be.push(R);if(!P){if($)return K(null,$);return K()}v.store(new CacheEntry($,P),(v=>{if(v)return K(v);if($)return K(null,$);K()}))}))}))};v.resolverFactory.hooks.resolver.intercept({factory(v,R){const $=new Map;const N=new Map;R.tap("ResolverCachePlugin",((R,K,ae)=>{if(K.cache!==true)return;const ge=objectToString(ae,false);const be=K.cacheWithContext!==undefined?K.cacheWithContext:false;R.hooks.resolve.tapAsync({name:"ResolverCachePlugin",stage:-100},((K,ae,xe)=>{if(K._ResolverCachePluginCacheMiss||!P){return xe()}const ve=typeof ae.yield==="function";const Ae=`${v}${ve?"|yield":"|default"}${ge}${objectToString(K,!be)}`;if(ve){const v=N.get(Ae);if(v){v[0].push(xe);v[1].push(ae.yield);return}}else{const v=$.get(Ae);if(v){v.push(xe);return}}const Ie=E.getItemCache(Ae,null);let He,Qe;const Je=ve?(v,E)=>{if(He===undefined){if(v){xe(v)}else{if(E)for(const v of E)ae.yield(v);xe(null,null)}Qe=undefined;He=false}else{if(v){for(const E of He)E(v)}else{for(let v=0;v{if(He===undefined){xe(v,E);He=false}else{for(const P of He){P(v,E)}$.delete(Ae);He=false}};const processCacheResult=(v,E)=>{if(v)return Je(v);if(E){const{snapshot:v,result:$}=E;P.checkSnapshotValid(v,((E,P)=>{if(E||!P){q++;return doRealResolve(Ie,R,ae,K,Je)}L++;if(ae.missingDependencies){addAllToSet(ae.missingDependencies,v.getMissingIterable())}if(ae.fileDependencies){addAllToSet(ae.fileDependencies,v.getFileIterable())}if(ae.contextDependencies){addAllToSet(ae.contextDependencies,v.getContextIterable())}Je(null,$)}))}else{doRealResolve(Ie,R,ae,K,Je)}};Ie.get(processCacheResult);if(ve&&He===undefined){He=[xe];Qe=[ae.yield];N.set(Ae,[He,Qe])}else if(He===undefined){He=[xe];$.set(Ae,He)}}))}));return R}})}}v.exports=ResolverCachePlugin},15051:function(v,E,P){"use strict";const R=P(20932);class LazyHashedEtag{constructor(v,E="md4"){this._obj=v;this._hash=undefined;this._hashFunction=E}toString(){if(this._hash===undefined){const v=R(this._hashFunction);this._obj.updateHash(v);this._hash=v.digest("base64")}return this._hash}}const $=new Map;const N=new WeakMap;const getter=(v,E="md4")=>{let P;if(typeof E==="string"){P=$.get(E);if(P===undefined){const R=new LazyHashedEtag(v,E);P=new WeakMap;P.set(v,R);$.set(E,P);return R}}else{P=N.get(E);if(P===undefined){const R=new LazyHashedEtag(v,E);P=new WeakMap;P.set(v,R);N.set(E,P);return R}}const R=P.get(v);if(R!==undefined)return R;const L=new LazyHashedEtag(v,E);P.set(v,L);return L};v.exports=getter},63630:function(v){"use strict";class MergedEtag{constructor(v,E){this.a=v;this.b=E}toString(){return`${this.a.toString()}|${this.b.toString()}`}}const E=new WeakMap;const P=new WeakMap;const mergeEtags=(v,R)=>{if(typeof v==="string"){if(typeof R==="string"){return`${v}|${R}`}else{const E=R;R=v;v=E}}else{if(typeof R!=="string"){let P=E.get(v);if(P===undefined){E.set(v,P=new WeakMap)}const $=P.get(R);if($===undefined){const E=new MergedEtag(v,R);P.set(R,E);return E}else{return $}}}let $=P.get(v);if($===undefined){P.set(v,$=new Map)}const N=$.get(R);if(N===undefined){const E=new MergedEtag(v,R);$.set(R,E);return E}else{return N}};v.exports=mergeEtags},48034:function(v,E,P){"use strict";const R=P(71017);const $=P(74792);const getArguments=(v=$)=>{const E={};const pathToArgumentName=v=>v.replace(/\./g,"-").replace(/\[\]/g,"").replace(/(\p{Uppercase_Letter}+|\p{Lowercase_Letter}|\d)(\p{Uppercase_Letter}+)/gu,"$1-$2").replace(/-?[^\p{Uppercase_Letter}\p{Lowercase_Letter}\d]+/gu,"-").toLowerCase();const getSchemaPart=E=>{const P=E.split("/");let R=v;for(let v=1;v{for(const{schema:E}of v){if(E.cli){if(E.cli.helper)continue;if(E.cli.description)return E.cli.description}if(E.description)return E.description}};const getNegatedDescription=v=>{for(const{schema:E}of v){if(E.cli){if(E.cli.helper)continue;if(E.cli.negatedDescription)return E.cli.negatedDescription}}};const getResetDescription=v=>{for(const{schema:E}of v){if(E.cli){if(E.cli.helper)continue;if(E.cli.resetDescription)return E.cli.resetDescription}}};const schemaToArgumentConfig=v=>{if(v.enum){return{type:"enum",values:v.enum}}switch(v.type){case"number":return{type:"number"};case"string":return{type:v.absolutePath?"path":"string"};case"boolean":return{type:"boolean"}}if(v.instanceof==="RegExp"){return{type:"RegExp"}}return undefined};const addResetFlag=v=>{const P=v[0].path;const R=pathToArgumentName(`${P}.reset`);const $=getResetDescription(v)||`Clear all items provided in '${P}' configuration. ${getDescription(v)}`;E[R]={configs:[{type:"reset",multiple:false,description:$,path:P}],description:undefined,simpleType:undefined,multiple:undefined}};const addFlag=(v,P)=>{const R=schemaToArgumentConfig(v[0].schema);if(!R)return 0;const $=getNegatedDescription(v);const N=pathToArgumentName(v[0].path);const L={...R,multiple:P,description:getDescription(v),path:v[0].path};if($){L.negatedDescription=$}if(!E[N]){E[N]={configs:[],description:undefined,simpleType:undefined,multiple:undefined}}if(E[N].configs.some((v=>JSON.stringify(v)===JSON.stringify(L)))){return 0}if(E[N].configs.some((v=>v.type===L.type&&v.multiple!==P))){if(P){throw new Error(`Conflicting schema for ${v[0].path} with ${L.type} type (array type must be before single item type)`)}return 0}E[N].configs.push(L);return 1};const traverse=(v,E="",P=[],R=null)=>{while(v.$ref){v=getSchemaPart(v.$ref)}const $=P.filter((({schema:E})=>E===v));if($.length>=2||$.some((({path:v})=>v===E))){return 0}if(v.cli&&v.cli.exclude)return 0;const N=[{schema:v,path:E},...P];let L=0;L+=addFlag(N,!!R);if(v.type==="object"){if(v.properties){for(const P of Object.keys(v.properties)){L+=traverse(v.properties[P],E?`${E}.${P}`:P,N,R)}}return L}if(v.type==="array"){if(R){return 0}if(Array.isArray(v.items)){let P=0;for(const R of v.items){L+=traverse(R,`${E}.${P}`,N,E)}return L}L+=traverse(v.items,`${E}[]`,N,E);if(L>0){addResetFlag(N);L++}return L}const q=v.oneOf||v.anyOf||v.allOf;if(q){const v=q;for(let P=0;P{if(!v)return E;if(!E)return v;if(v.includes(E))return v;return`${v} ${E}`}),undefined);P.simpleType=P.configs.reduce(((v,E)=>{let P="string";switch(E.type){case"number":P="number";break;case"reset":case"boolean":P="boolean";break;case"enum":if(E.values.every((v=>typeof v==="boolean")))P="boolean";if(E.values.every((v=>typeof v==="number")))P="number";break}if(v===undefined)return P;return v===P?v:"string"}),undefined);P.multiple=P.configs.some((v=>v.multiple))}return E};const N=new WeakMap;const getObjectAndProperty=(v,E,P=0)=>{if(!E)return{value:v};const R=E.split(".");let $=R.pop();let L=v;let q=0;for(const v of R){const E=v.endsWith("[]");const $=E?v.slice(0,-2):v;let K=L[$];if(E){if(K===undefined){K={};L[$]=[...Array.from({length:P}),K];N.set(L[$],P+1)}else if(!Array.isArray(K)){return{problem:{type:"unexpected-non-array-in-path",path:R.slice(0,q).join(".")}}}else{let v=N.get(K)||0;while(v<=P){K.push(undefined);v++}N.set(K,v);const E=K.length-v+P;if(K[E]===undefined){K[E]={}}else if(K[E]===null||typeof K[E]!=="object"){return{problem:{type:"unexpected-non-object-in-path",path:R.slice(0,q).join(".")}}}K=K[E]}}else{if(K===undefined){K=L[$]={}}else if(K===null||typeof K!=="object"){return{problem:{type:"unexpected-non-object-in-path",path:R.slice(0,q).join(".")}}}}L=K;q++}let K=L[$];if($.endsWith("[]")){const v=$.slice(0,-2);const R=L[v];if(R===undefined){L[v]=[...Array.from({length:P}),undefined];N.set(L[v],P+1);return{object:L[v],property:P,value:undefined}}else if(!Array.isArray(R)){L[v]=[R,...Array.from({length:P}),undefined];N.set(L[v],P+1);return{object:L[v],property:P+1,value:undefined}}else{let v=N.get(R)||0;while(v<=P){R.push(undefined);v++}N.set(R,v);const $=R.length-v+P;if(R[$]===undefined){R[$]={}}else if(R[$]===null||typeof R[$]!=="object"){return{problem:{type:"unexpected-non-object-in-path",path:E}}}return{object:R,property:$,value:R[$]}}}return{object:L,property:$,value:K}};const setValue=(v,E,P,R)=>{const{problem:$,object:N,property:L}=getObjectAndProperty(v,E,R);if($)return $;N[L]=P;return null};const processArgumentConfig=(v,E,P,R)=>{if(R!==undefined&&!v.multiple){return{type:"multiple-values-unexpected",path:v.path}}const $=parseValueForArgumentConfig(v,P);if($===undefined){return{type:"invalid-value",path:v.path,expected:getExpectedValue(v)}}const N=setValue(E,v.path,$,R);if(N)return N;return null};const getExpectedValue=v=>{switch(v.type){default:return v.type;case"boolean":return"true | false";case"RegExp":return"regular expression (example: /ab?c*/)";case"enum":return v.values.map((v=>`${v}`)).join(" | ");case"reset":return"true (will reset the previous value to an empty array)"}};const parseValueForArgumentConfig=(v,E)=>{switch(v.type){case"string":if(typeof E==="string"){return E}break;case"path":if(typeof E==="string"){return R.resolve(E)}break;case"number":if(typeof E==="number")return E;if(typeof E==="string"&&/^[+-]?\d*(\.\d*)[eE]\d+$/){const v=+E;if(!isNaN(v))return v}break;case"boolean":if(typeof E==="boolean")return E;if(E==="true")return true;if(E==="false")return false;break;case"RegExp":if(E instanceof RegExp)return E;if(typeof E==="string"){const v=/^\/(.*)\/([yugi]*)$/.exec(E);if(v&&!/[^\\]\//.test(v[1]))return new RegExp(v[1],v[2])}break;case"enum":if(v.values.includes(E))return E;for(const P of v.values){if(`${P}`===E)return P}break;case"reset":if(E===true)return[];break}};const processArguments=(v,E,P)=>{const R=[];for(const $ of Object.keys(P)){const N=v[$];if(!N){R.push({type:"unknown-argument",path:"",argument:$});continue}const processValue=(v,P)=>{const L=[];for(const R of N.configs){const N=processArgumentConfig(R,E,v,P);if(!N){return}L.push({...N,argument:$,value:v,index:P})}R.push(...L)};let L=P[$];if(Array.isArray(L)){for(let v=0;v{if(!v){return{}}if($.isAbsolute(v)){const[,E,P]=N.exec(v)||[];return{configPath:E,env:P}}const P=R.findConfig(E);if(P&&Object.keys(P).includes(v)){return{env:v}}return{query:v}};const load=(v,E)=>{const{configPath:P,env:$,query:N}=parse(v,E);const L=N?N:P?R.loadConfig({config:P,env:$}):R.loadConfig({path:E,env:$});if(!L)return;return R(L)};const resolve=v=>{const rawChecker=E=>v.every((v=>{const[P,R]=v.split(" ");if(!P)return false;const $=E[P];if(!$)return false;const[N,L]=R==="TP"?[Infinity,Infinity]:R.split(".");if(typeof $==="number"){return+N>=$}return $[0]===+N?+L>=$[1]:+N>$[0]}));const E=v.some((v=>/^node /.test(v)));const P=v.some((v=>/^(?!node)/.test(v)));const R=!P?false:E?null:true;const $=!E?false:P?null:true;const N=rawChecker({chrome:63,and_chr:63,edge:79,firefox:67,and_ff:67,opera:50,op_mob:46,safari:[11,1],ios_saf:[11,3],samsung:[8,2],android:63,and_qq:[10,4],kaios:[3,0],node:[12,17]});return{const:rawChecker({chrome:49,and_chr:49,edge:12,firefox:36,and_ff:36,opera:36,op_mob:36,safari:[10,0],ios_saf:[10,0],samsung:[5,0],android:37,and_qq:[10,4],and_uc:[12,12],kaios:[2,5],node:[6,0]}),arrowFunction:rawChecker({chrome:45,and_chr:45,edge:12,firefox:39,and_ff:39,opera:32,op_mob:32,safari:10,ios_saf:10,samsung:[5,0],android:45,and_qq:[10,4],baidu:[7,12],and_uc:[12,12],kaios:[2,5],node:[6,0]}),forOf:rawChecker({chrome:38,and_chr:38,edge:12,firefox:51,and_ff:51,opera:25,op_mob:25,safari:7,ios_saf:7,samsung:[3,0],android:38,kaios:[3,0],node:[0,12]}),destructuring:rawChecker({chrome:49,and_chr:49,edge:14,firefox:41,and_ff:41,opera:36,op_mob:36,safari:8,ios_saf:8,samsung:[5,0],android:49,kaios:[2,5],node:[6,0]}),bigIntLiteral:rawChecker({chrome:67,and_chr:67,edge:79,firefox:68,and_ff:68,opera:54,op_mob:48,safari:14,ios_saf:14,samsung:[9,2],android:67,kaios:[3,0],node:[10,4]}),module:rawChecker({chrome:61,and_chr:61,edge:16,firefox:60,and_ff:60,opera:48,op_mob:45,safari:[10,1],ios_saf:[10,3],samsung:[8,0],android:61,and_qq:[10,4],kaios:[3,0],node:[12,17]}),dynamicImport:N,dynamicImportInWorker:N&&!E,globalThis:rawChecker({chrome:71,and_chr:71,edge:79,firefox:65,and_ff:65,opera:58,op_mob:50,safari:[12,1],ios_saf:[12,2],samsung:[10,1],android:71,kaios:[3,0],node:12}),optionalChaining:rawChecker({chrome:80,and_chr:80,edge:80,firefox:74,and_ff:79,opera:67,op_mob:64,safari:[13,1],ios_saf:[13,4],samsung:13,android:80,kaios:[3,0],node:14}),templateLiteral:rawChecker({chrome:41,and_chr:41,edge:13,firefox:34,and_ff:34,opera:29,op_mob:64,safari:[9,1],ios_saf:9,samsung:4,android:41,and_qq:[10,4],baidu:[7,12],and_uc:[12,12],kaios:[2,5],node:4}),asyncFunction:rawChecker({chrome:55,and_chr:55,edge:15,firefox:52,and_ff:52,opera:42,op_mob:42,safari:[10,1],ios_saf:[10,3],samsung:6,android:55,node:[7,6]}),browser:R,electron:false,node:$,nwjs:false,web:R,webworker:false,document:R,fetchWasm:R,global:$,importScripts:false,importScriptsInWorker:true,nodeBuiltins:$,require:$}};v.exports={resolve:resolve,load:load}},58504:function(v,E,P){"use strict";const R=P(57147);const $=P(71017);const{JAVASCRIPT_MODULE_TYPE_AUTO:N,JSON_MODULE_TYPE:L,WEBASSEMBLY_MODULE_TYPE_ASYNC:q,JAVASCRIPT_MODULE_TYPE_ESM:K,JAVASCRIPT_MODULE_TYPE_DYNAMIC:ae,WEBASSEMBLY_MODULE_TYPE_SYNC:ge,ASSET_MODULE_TYPE:be,CSS_MODULE_TYPE_AUTO:xe,CSS_MODULE_TYPE:ve,CSS_MODULE_TYPE_MODULE:Ae}=P(96170);const Ie=P(25233);const{cleverMerge:He}=P(36671);const{getTargetsProperties:Qe,getTargetProperties:Je,getDefaultTarget:Ve}=P(42194);const Ke=/[\\/]node_modules[\\/]/i;const D=(v,E,P)=>{if(v[E]===undefined){v[E]=P}};const F=(v,E,P)=>{if(v[E]===undefined){v[E]=P()}};const A=(v,E,P)=>{const R=v[E];if(R===undefined){v[E]=P()}else if(Array.isArray(R)){let $=undefined;for(let N=0;N{F(v,"context",(()=>process.cwd()));applyInfrastructureLoggingDefaults(v.infrastructureLogging)};const applyWebpackOptionsDefaults=v=>{F(v,"context",(()=>process.cwd()));F(v,"target",(()=>Ve(v.context)));const{mode:E,name:R,target:$}=v;let N=$===false?false:typeof $==="string"?Je($,v.context):Qe($,v.context);const L=E==="development";const q=E==="production"||!E;if(typeof v.entry!=="function"){for(const E of Object.keys(v.entry)){F(v.entry[E],"import",(()=>["./src"]))}}F(v,"devtool",(()=>L?"eval":false));D(v,"watch",false);D(v,"profile",false);D(v,"parallelism",100);D(v,"recordsInputPath",false);D(v,"recordsOutputPath",false);applyExperimentsDefaults(v.experiments,{production:q,development:L,targetProperties:N});const K=v.experiments.futureDefaults;F(v,"cache",(()=>L?{type:"memory"}:false));applyCacheDefaults(v.cache,{name:R||"default",mode:E||"production",development:L,cacheUnaffected:v.experiments.cacheUnaffected});const ae=!!v.cache;applySnapshotDefaults(v.snapshot,{production:q,futureDefaults:K});applyModuleDefaults(v.module,{cache:ae,syncWebAssembly:v.experiments.syncWebAssembly,asyncWebAssembly:v.experiments.asyncWebAssembly,css:v.experiments.css,futureDefaults:K,isNode:N&&N.node===true,targetProperties:N});applyOutputDefaults(v.output,{context:v.context,targetProperties:N,isAffectedByBrowserslist:$===undefined||typeof $==="string"&&$.startsWith("browserslist")||Array.isArray($)&&$.some((v=>v.startsWith("browserslist"))),outputModule:v.experiments.outputModule,development:L,entry:v.entry,module:v.module,futureDefaults:K});applyExternalsPresetsDefaults(v.externalsPresets,{targetProperties:N,buildHttp:!!v.experiments.buildHttp});applyLoaderDefaults(v.loader,{targetProperties:N,environment:v.output.environment});F(v,"externalsType",(()=>{const E=P(74792).definitions.ExternalsType["enum"];return v.output.library&&E.includes(v.output.library.type)?v.output.library.type:v.output.module?"module":"var"}));applyNodeDefaults(v.node,{futureDefaults:v.experiments.futureDefaults,outputModule:v.output.module,targetProperties:N});F(v,"performance",(()=>q&&N&&(N.browser||N.browser===null)?{}:false));applyPerformanceDefaults(v.performance,{production:q});applyOptimizationDefaults(v.optimization,{development:L,production:q,css:v.experiments.css,records:!!(v.recordsInputPath||v.recordsOutputPath)});v.resolve=He(getResolveDefaults({cache:ae,context:v.context,targetProperties:N,mode:v.mode,css:v.experiments.css}),v.resolve);v.resolveLoader=He(getResolveLoaderDefaults({cache:ae}),v.resolveLoader)};const applyExperimentsDefaults=(v,{production:E,development:P,targetProperties:R})=>{D(v,"futureDefaults",false);D(v,"backCompat",!v.futureDefaults);D(v,"syncWebAssembly",false);D(v,"asyncWebAssembly",v.futureDefaults);D(v,"outputModule",false);D(v,"layers",false);D(v,"lazyCompilation",undefined);D(v,"buildHttp",undefined);D(v,"cacheUnaffected",v.futureDefaults);F(v,"css",(()=>v.futureDefaults?true:undefined));let $=true;if(typeof v.topLevelAwait==="boolean"){$=v.topLevelAwait}D(v,"topLevelAwait",$);if(typeof v.buildHttp==="object"){D(v.buildHttp,"frozen",E);D(v.buildHttp,"upgrade",false)}};const applyCacheDefaults=(v,{name:E,mode:P,development:N,cacheUnaffected:L})=>{if(v===false)return;switch(v.type){case"filesystem":F(v,"name",(()=>E+"-"+P));D(v,"version","");F(v,"cacheDirectory",(()=>{const v=process.cwd();let E=v;for(;;){try{if(R.statSync($.join(E,"package.json")).isFile())break}catch(v){}const v=$.dirname(E);if(E===v){E=undefined;break}E=v}if(!E){return $.resolve(v,".cache/webpack")}else if(process.versions.pnp==="1"){return $.resolve(E,".pnp/.cache/webpack")}else if(process.versions.pnp==="3"){return $.resolve(E,".yarn/.cache/webpack")}else{return $.resolve(E,"node_modules/.cache/webpack")}}));F(v,"cacheLocation",(()=>$.resolve(v.cacheDirectory,v.name)));D(v,"hashAlgorithm","md4");D(v,"store","pack");D(v,"compression",false);D(v,"profile",false);D(v,"idleTimeout",6e4);D(v,"idleTimeoutForInitialStore",5e3);D(v,"idleTimeoutAfterLargeChanges",1e3);D(v,"maxMemoryGenerations",N?5:Infinity);D(v,"maxAge",1e3*60*60*24*60);D(v,"allowCollectingMemory",N);D(v,"memoryCacheUnaffected",N&&L);D(v,"readonly",false);D(v.buildDependencies,"defaultWebpack",[$.resolve(__dirname,"..")+$.sep]);break;case"memory":D(v,"maxGenerations",Infinity);D(v,"cacheUnaffected",N&&L);break}};const applySnapshotDefaults=(v,{production:E,futureDefaults:P})=>{if(P){F(v,"managedPaths",(()=>process.versions.pnp==="3"?[/^(.+?(?:[\\/]\.yarn[\\/]unplugged[\\/][^\\/]+)?[\\/]node_modules[\\/])/]:[/^(.+?[\\/]node_modules[\\/])/]));F(v,"immutablePaths",(()=>process.versions.pnp==="3"?[/^(.+?[\\/]cache[\\/][^\\/]+\.zip[\\/]node_modules[\\/])/]:[]))}else{A(v,"managedPaths",(()=>{if(process.versions.pnp==="3"){const v=/^(.+?)[\\/]cache[\\/]watchpack-npm-[^\\/]+\.zip[\\/]node_modules[\\/]/.exec(36871);if(v){return[$.resolve(v[1],"unplugged")]}}else{const v=/^(.+?[\\/]node_modules[\\/])/.exec(36871);if(v){return[v[1]]}}return[]}));A(v,"immutablePaths",(()=>{if(process.versions.pnp==="1"){const v=/^(.+?[\\/]v4)[\\/]npm-watchpack-[^\\/]+-[\da-f]{40}[\\/]node_modules[\\/]/.exec(36871);if(v){return[v[1]]}}else if(process.versions.pnp==="3"){const v=/^(.+?)[\\/]watchpack-npm-[^\\/]+\.zip[\\/]node_modules[\\/]/.exec(36871);if(v){return[v[1]]}}return[]}))}F(v,"resolveBuildDependencies",(()=>({timestamp:true,hash:true})));F(v,"buildDependencies",(()=>({timestamp:true,hash:true})));F(v,"module",(()=>E?{timestamp:true,hash:true}:{timestamp:true}));F(v,"resolve",(()=>E?{timestamp:true,hash:true}:{timestamp:true}))};const applyJavascriptParserOptionsDefaults=(v,{futureDefaults:E,isNode:P})=>{D(v,"unknownContextRequest",".");D(v,"unknownContextRegExp",false);D(v,"unknownContextRecursive",true);D(v,"unknownContextCritical",true);D(v,"exprContextRequest",".");D(v,"exprContextRegExp",false);D(v,"exprContextRecursive",true);D(v,"exprContextCritical",true);D(v,"wrappedContextRegExp",/.*/);D(v,"wrappedContextRecursive",true);D(v,"wrappedContextCritical",false);D(v,"strictThisContextOnImports",false);D(v,"importMeta",true);D(v,"dynamicImportMode","lazy");D(v,"dynamicImportPrefetch",false);D(v,"dynamicImportPreload",false);D(v,"dynamicImportFetchPriority",false);D(v,"createRequire",P);if(E)D(v,"exportsPresence","error")};const applyCssGeneratorOptionsDefaults=(v,{targetProperties:E})=>{D(v,"exportsOnly",!E||!E.document)};const applyModuleDefaults=(v,{cache:E,syncWebAssembly:P,asyncWebAssembly:R,css:$,futureDefaults:Ie,isNode:He,targetProperties:Qe})=>{if(E){D(v,"unsafeCache",(v=>{const E=v.nameForCondition();return E&&Ke.test(E)}))}else{D(v,"unsafeCache",false)}F(v.parser,be,(()=>({})));F(v.parser.asset,"dataUrlCondition",(()=>({})));if(typeof v.parser.asset.dataUrlCondition==="object"){D(v.parser.asset.dataUrlCondition,"maxSize",8096)}F(v.parser,"javascript",(()=>({})));applyJavascriptParserOptionsDefaults(v.parser.javascript,{futureDefaults:Ie,isNode:He});if($){F(v.parser,"css",(()=>({})));D(v.parser.css,"namedExports",true);F(v.generator,"css",(()=>({})));applyCssGeneratorOptionsDefaults(v.generator.css,{targetProperties:Qe})}A(v,"defaultRules",(()=>{const v={type:K,resolve:{byDependency:{esm:{fullySpecified:true}}}};const E={type:ae};const be=[{mimetype:"application/node",type:N},{test:/\.json$/i,type:L},{mimetype:"application/json",type:L},{test:/\.mjs$/i,...v},{test:/\.js$/i,descriptionData:{type:"module"},...v},{test:/\.cjs$/i,...E},{test:/\.js$/i,descriptionData:{type:"commonjs"},...E},{mimetype:{or:["text/javascript","application/javascript"]},...v}];if(R){const v={type:q,rules:[{descriptionData:{type:"module"},resolve:{fullySpecified:true}}]};be.push({test:/\.wasm$/i,...v});be.push({mimetype:"application/wasm",...v})}else if(P){const v={type:ge,rules:[{descriptionData:{type:"module"},resolve:{fullySpecified:true}}]};be.push({test:/\.wasm$/i,...v});be.push({mimetype:"application/wasm",...v})}if($){const v={fullySpecified:true,preferRelative:true};be.push({test:/\.css$/i,type:xe,resolve:v});be.push({mimetype:"text/css+module",type:Ae,resolve:v});be.push({mimetype:"text/css",type:ve,resolve:v})}be.push({dependency:"url",oneOf:[{scheme:/^data$/,type:"asset/inline"},{type:"asset/resource"}]},{assert:{type:"json"},type:L});return be}))};const applyOutputDefaults=(v,{context:E,targetProperties:P,isAffectedByBrowserslist:N,outputModule:L,development:q,entry:K,module:ae,futureDefaults:ge})=>{const getLibraryName=v=>{const E=typeof v==="object"&&v&&!Array.isArray(v)&&"type"in v?v.name:v;if(Array.isArray(E)){return E.join(".")}else if(typeof E==="object"){return getLibraryName(E.root)}else if(typeof E==="string"){return E}return""};F(v,"uniqueName",(()=>{const P=getLibraryName(v.library).replace(/^\[(\\*[\w:]+\\*)\](\.)|(\.)\[(\\*[\w:]+\\*)\](?=\.|$)|\[(\\*[\w:]+\\*)\]/g,((v,E,P,R,$,N)=>{const L=E||$||N;return L.startsWith("\\")&&L.endsWith("\\")?`${R||""}[${L.slice(1,-1)}]${P||""}`:""}));if(P)return P;const N=$.resolve(E,"package.json");try{const v=JSON.parse(R.readFileSync(N,"utf-8"));return v.name||""}catch(v){if(v.code!=="ENOENT"){v.message+=`\nwhile determining default 'output.uniqueName' from 'name' in ${N}`;throw v}return""}}));F(v,"module",(()=>!!L));D(v,"filename",v.module?"[name].mjs":"[name].js");F(v,"iife",(()=>!v.module));D(v,"importFunctionName","import");D(v,"importMetaName","import.meta");F(v,"chunkFilename",(()=>{const E=v.filename;if(typeof E!=="function"){const v=E.includes("[name]");const P=E.includes("[id]");const R=E.includes("[chunkhash]");const $=E.includes("[contenthash]");if(R||$||v||P)return E;return E.replace(/(^|\/)([^/]*(?:\?|$))/,"$1[id].$2")}return v.module?"[id].mjs":"[id].js"}));F(v,"cssFilename",(()=>{const E=v.filename;if(typeof E!=="function"){return E.replace(/\.[mc]?js(\?|$)/,".css$1")}return"[id].css"}));F(v,"cssChunkFilename",(()=>{const E=v.chunkFilename;if(typeof E!=="function"){return E.replace(/\.[mc]?js(\?|$)/,".css$1")}return"[id].css"}));D(v,"assetModuleFilename","[hash][ext][query]");D(v,"webassemblyModuleFilename","[hash].module.wasm");D(v,"compareBeforeEmit",true);D(v,"charset",true);const be=Ie.toIdentifier(v.uniqueName);F(v,"hotUpdateGlobal",(()=>"webpackHotUpdate"+be));F(v,"chunkLoadingGlobal",(()=>"webpackChunk"+be));F(v,"globalObject",(()=>{if(P){if(P.global)return"global";if(P.globalThis)return"globalThis"}return"self"}));F(v,"chunkFormat",(()=>{if(P){const E=N?"Make sure that your 'browserslist' includes only platforms that support these features or select an appropriate 'target' to allow selecting a chunk format by default. Alternatively specify the 'output.chunkFormat' directly.":"Select an appropriate 'target' to allow selecting one by default, or specify the 'output.chunkFormat' directly.";if(v.module){if(P.dynamicImport)return"module";if(P.document)return"array-push";throw new Error("For the selected environment is no default ESM chunk format available:\n"+"ESM exports can be chosen when 'import()' is available.\n"+"JSONP Array push can be chosen when 'document' is available.\n"+E)}else{if(P.document)return"array-push";if(P.require)return"commonjs";if(P.nodeBuiltins)return"commonjs";if(P.importScripts)return"array-push";throw new Error("For the selected environment is no default script chunk format available:\n"+"JSONP Array push can be chosen when 'document' or 'importScripts' is available.\n"+"CommonJs exports can be chosen when 'require' or node builtins are available.\n"+E)}}throw new Error("Chunk format can't be selected by default when no target is specified")}));D(v,"asyncChunks",true);F(v,"chunkLoading",(()=>{if(P){switch(v.chunkFormat){case"array-push":if(P.document)return"jsonp";if(P.importScripts)return"import-scripts";break;case"commonjs":if(P.require)return"require";if(P.nodeBuiltins)return"async-node";break;case"module":if(P.dynamicImport)return"import";break}if(P.require===null||P.nodeBuiltins===null||P.document===null||P.importScripts===null){return"universal"}}return false}));F(v,"workerChunkLoading",(()=>{if(P){switch(v.chunkFormat){case"array-push":if(P.importScriptsInWorker)return"import-scripts";break;case"commonjs":if(P.require)return"require";if(P.nodeBuiltins)return"async-node";break;case"module":if(P.dynamicImportInWorker)return"import";break}if(P.require===null||P.nodeBuiltins===null||P.importScriptsInWorker===null){return"universal"}}return false}));F(v,"wasmLoading",(()=>{if(P){if(P.fetchWasm)return"fetch";if(P.nodeBuiltins)return v.module?"async-node-module":"async-node";if(P.nodeBuiltins===null||P.fetchWasm===null){return"universal"}}return false}));F(v,"workerWasmLoading",(()=>v.wasmLoading));F(v,"devtoolNamespace",(()=>v.uniqueName));if(v.library){F(v.library,"type",(()=>v.module?"module":"var"))}F(v,"path",(()=>$.join(process.cwd(),"dist")));F(v,"pathinfo",(()=>q));D(v,"sourceMapFilename","[file].map[query]");D(v,"hotUpdateChunkFilename",`[id].[fullhash].hot-update.${v.module?"mjs":"js"}`);D(v,"hotUpdateMainFilename","[runtime].[fullhash].hot-update.json");D(v,"crossOriginLoading",false);F(v,"scriptType",(()=>v.module?"module":false));D(v,"publicPath",P&&(P.document||P.importScripts)||v.scriptType==="module"?"auto":"");D(v,"workerPublicPath","");D(v,"chunkLoadTimeout",12e4);D(v,"hashFunction",ge?"xxhash64":"md4");D(v,"hashDigest","hex");D(v,"hashDigestLength",ge?16:20);D(v,"strictModuleErrorHandling",false);D(v,"strictModuleExceptionHandling",false);const xe=v.environment;const optimistic=v=>v||v===undefined;const conditionallyOptimistic=(v,E)=>v===undefined&&E||v;F(xe,"globalThis",(()=>P&&P.globalThis));F(xe,"bigIntLiteral",(()=>P&&P.bigIntLiteral));F(xe,"const",(()=>P&&optimistic(P.const)));F(xe,"arrowFunction",(()=>P&&optimistic(P.arrowFunction)));F(xe,"asyncFunction",(()=>P&&optimistic(P.asyncFunction)));F(xe,"forOf",(()=>P&&optimistic(P.forOf)));F(xe,"destructuring",(()=>P&&optimistic(P.destructuring)));F(xe,"optionalChaining",(()=>P&&optimistic(P.optionalChaining)));F(xe,"templateLiteral",(()=>P&&optimistic(P.templateLiteral)));F(xe,"dynamicImport",(()=>conditionallyOptimistic(P&&P.dynamicImport,v.module)));F(xe,"dynamicImportInWorker",(()=>conditionallyOptimistic(P&&P.dynamicImportInWorker,v.module)));F(xe,"module",(()=>conditionallyOptimistic(P&&P.module,v.module)));const{trustedTypes:ve}=v;if(ve){F(ve,"policyName",(()=>v.uniqueName.replace(/[^a-zA-Z0-9\-#=_/@.%]+/g,"_")||"webpack"));D(ve,"onPolicyCreationFailure","stop")}const forEachEntry=v=>{for(const E of Object.keys(K)){v(K[E])}};A(v,"enabledLibraryTypes",(()=>{const E=[];if(v.library){E.push(v.library.type)}forEachEntry((v=>{if(v.library){E.push(v.library.type)}}));return E}));A(v,"enabledChunkLoadingTypes",(()=>{const E=new Set;if(v.chunkLoading){E.add(v.chunkLoading)}if(v.workerChunkLoading){E.add(v.workerChunkLoading)}forEachEntry((v=>{if(v.chunkLoading){E.add(v.chunkLoading)}}));return Array.from(E)}));A(v,"enabledWasmLoadingTypes",(()=>{const E=new Set;if(v.wasmLoading){E.add(v.wasmLoading)}if(v.workerWasmLoading){E.add(v.workerWasmLoading)}forEachEntry((v=>{if(v.wasmLoading){E.add(v.wasmLoading)}}));return Array.from(E)}))};const applyExternalsPresetsDefaults=(v,{targetProperties:E,buildHttp:P})=>{D(v,"web",!P&&E&&E.web);D(v,"node",E&&E.node);D(v,"nwjs",E&&E.nwjs);D(v,"electron",E&&E.electron);D(v,"electronMain",E&&E.electron&&E.electronMain);D(v,"electronPreload",E&&E.electron&&E.electronPreload);D(v,"electronRenderer",E&&E.electron&&E.electronRenderer)};const applyLoaderDefaults=(v,{targetProperties:E,environment:P})=>{F(v,"target",(()=>{if(E){if(E.electron){if(E.electronMain)return"electron-main";if(E.electronPreload)return"electron-preload";if(E.electronRenderer)return"electron-renderer";return"electron"}if(E.nwjs)return"nwjs";if(E.node)return"node";if(E.web)return"web"}}));D(v,"environment",P)};const applyNodeDefaults=(v,{futureDefaults:E,outputModule:P,targetProperties:R})=>{if(v===false)return;F(v,"global",(()=>{if(R&&R.global)return false;return E?"warn":true}));const handlerForNames=()=>{if(R&&R.node)return P?"node-module":"eval-only";return E?"warn-mock":"mock"};F(v,"__filename",handlerForNames);F(v,"__dirname",handlerForNames)};const applyPerformanceDefaults=(v,{production:E})=>{if(v===false)return;D(v,"maxAssetSize",25e4);D(v,"maxEntrypointSize",25e4);F(v,"hints",(()=>E?"warning":false))};const applyOptimizationDefaults=(v,{production:E,development:R,css:$,records:N})=>{D(v,"removeAvailableModules",false);D(v,"removeEmptyChunks",true);D(v,"mergeDuplicateChunks",true);D(v,"flagIncludedChunks",E);F(v,"moduleIds",(()=>{if(E)return"deterministic";if(R)return"named";return"natural"}));F(v,"chunkIds",(()=>{if(E)return"deterministic";if(R)return"named";return"natural"}));F(v,"sideEffects",(()=>E?true:"flag"));D(v,"providedExports",true);D(v,"usedExports",E);D(v,"innerGraph",E);D(v,"mangleExports",E);D(v,"concatenateModules",E);D(v,"runtimeChunk",false);D(v,"emitOnErrors",!E);D(v,"checkWasmTypes",E);D(v,"mangleWasmImports",false);D(v,"portableRecords",N);D(v,"realContentHash",E);D(v,"minimize",E);A(v,"minimizer",(()=>[{apply:v=>{const E=P(38107);new E({terserOptions:{compress:{passes:2}}}).apply(v)}}]));F(v,"nodeEnv",(()=>{if(E)return"production";if(R)return"development";return false}));const{splitChunks:L}=v;if(L){A(L,"defaultSizeTypes",(()=>$?["javascript","css","unknown"]:["javascript","unknown"]));D(L,"hidePathInfo",E);D(L,"chunks","async");D(L,"usedExports",v.usedExports===true);D(L,"minChunks",1);F(L,"minSize",(()=>E?2e4:1e4));F(L,"minRemainingSize",(()=>R?0:undefined));F(L,"enforceSizeThreshold",(()=>E?5e4:3e4));F(L,"maxAsyncRequests",(()=>E?30:Infinity));F(L,"maxInitialRequests",(()=>E?30:Infinity));D(L,"automaticNameDelimiter","-");const P=L.cacheGroups;F(P,"default",(()=>({idHint:"",reuseExistingChunk:true,minChunks:2,priority:-20})));F(P,"defaultVendors",(()=>({idHint:"vendors",reuseExistingChunk:true,test:Ke,priority:-10})))}};const getResolveDefaults=({cache:v,context:E,targetProperties:P,mode:R,css:$})=>{const N=["webpack"];N.push(R==="development"?"development":"production");if(P){if(P.webworker)N.push("worker");if(P.node)N.push("node");if(P.web)N.push("browser");if(P.electron)N.push("electron");if(P.nwjs)N.push("nwjs")}const L=[".js",".json",".wasm"];const q=P;const K=q&&q.web&&(!q.node||q.electron&&q.electronRenderer);const cjsDeps=()=>({aliasFields:K?["browser"]:[],mainFields:K?["browser","module","..."]:["module","..."],conditionNames:["require","module","..."],extensions:[...L]});const esmDeps=()=>({aliasFields:K?["browser"]:[],mainFields:K?["browser","module","..."]:["module","..."],conditionNames:["import","module","..."],extensions:[...L]});const ae={cache:v,modules:["node_modules"],conditionNames:N,mainFiles:["index"],extensions:[],aliasFields:[],exportsFields:["exports"],roots:[E],mainFields:["main"],byDependency:{wasm:esmDeps(),esm:esmDeps(),loaderImport:esmDeps(),url:{preferRelative:true},worker:{...esmDeps(),preferRelative:true},commonjs:cjsDeps(),amd:cjsDeps(),loader:cjsDeps(),unknown:cjsDeps(),undefined:cjsDeps()}};if($){const v=[];v.push("webpack");v.push(R==="development"?"development":"production");v.push("style");ae.byDependency["css-import"]={mainFiles:[],mainFields:["style","..."],conditionNames:v,extensions:[".css"],preferRelative:true}}return ae};const getResolveLoaderDefaults=({cache:v})=>{const E={cache:v,conditionNames:["loader","require","node"],exportsFields:["exports"],mainFields:["loader","main"],extensions:[".js"],mainFiles:["index"]};return E};const applyInfrastructureLoggingDefaults=v=>{F(v,"stream",(()=>process.stderr));const E=v.stream.isTTY&&process.env.TERM!=="dumb";D(v,"level","info");D(v,"debug",false);D(v,"colors",E);D(v,"appendOnly",!E)};E.applyWebpackOptionsBaseDefaults=applyWebpackOptionsBaseDefaults;E.applyWebpackOptionsDefaults=applyWebpackOptionsDefaults},87605:function(v,E,P){"use strict";const R=P(73837);const $=R.deprecate(((v,E)=>{if(E!==undefined&&!v===!E){throw new Error("Conflicting use of 'optimization.noEmitOnErrors' and 'optimization.emitOnErrors'. Remove deprecated 'optimization.noEmitOnErrors' from config.")}return!v}),"optimization.noEmitOnErrors is deprecated in favor of optimization.emitOnErrors","DEP_WEBPACK_CONFIGURATION_OPTIMIZATION_NO_EMIT_ON_ERRORS");const nestedConfig=(v,E)=>v===undefined?E({}):E(v);const cloneObject=v=>({...v});const optionalNestedConfig=(v,E)=>v===undefined?undefined:E(v);const nestedArray=(v,E)=>Array.isArray(v)?E(v):E([]);const optionalNestedArray=(v,E)=>Array.isArray(v)?E(v):undefined;const keyedNestedConfig=(v,E,P)=>{const R=v===undefined?{}:Object.keys(v).reduce(((R,$)=>(R[$]=(P&&$ in P?P[$]:E)(v[$]),R)),{});if(P){for(const v of Object.keys(P)){if(!(v in R)){R[v]=P[v]({})}}}return R};const getNormalizedWebpackOptions=v=>({amd:v.amd,bail:v.bail,cache:optionalNestedConfig(v.cache,(v=>{if(v===false)return false;if(v===true){return{type:"memory",maxGenerations:undefined}}switch(v.type){case"filesystem":return{type:"filesystem",allowCollectingMemory:v.allowCollectingMemory,maxMemoryGenerations:v.maxMemoryGenerations,maxAge:v.maxAge,profile:v.profile,buildDependencies:cloneObject(v.buildDependencies),cacheDirectory:v.cacheDirectory,cacheLocation:v.cacheLocation,hashAlgorithm:v.hashAlgorithm,compression:v.compression,idleTimeout:v.idleTimeout,idleTimeoutForInitialStore:v.idleTimeoutForInitialStore,idleTimeoutAfterLargeChanges:v.idleTimeoutAfterLargeChanges,name:v.name,store:v.store,version:v.version,readonly:v.readonly};case undefined:case"memory":return{type:"memory",maxGenerations:v.maxGenerations};default:throw new Error(`Not implemented cache.type ${v.type}`)}})),context:v.context,dependencies:v.dependencies,devServer:optionalNestedConfig(v.devServer,(v=>{if(v===false)return false;return{...v}})),devtool:v.devtool,entry:v.entry===undefined?{main:{}}:typeof v.entry==="function"?(v=>()=>Promise.resolve().then(v).then(getNormalizedEntryStatic))(v.entry):getNormalizedEntryStatic(v.entry),experiments:nestedConfig(v.experiments,(v=>({...v,buildHttp:optionalNestedConfig(v.buildHttp,(v=>Array.isArray(v)?{allowedUris:v}:v)),lazyCompilation:optionalNestedConfig(v.lazyCompilation,(v=>v===true?{}:v))}))),externals:v.externals,externalsPresets:cloneObject(v.externalsPresets),externalsType:v.externalsType,ignoreWarnings:v.ignoreWarnings?v.ignoreWarnings.map((v=>{if(typeof v==="function")return v;const E=v instanceof RegExp?{message:v}:v;return(v,{requestShortener:P})=>{if(!E.message&&!E.module&&!E.file)return false;if(E.message&&!E.message.test(v.message)){return false}if(E.module&&(!v.module||!E.module.test(v.module.readableIdentifier(P)))){return false}if(E.file&&(!v.file||!E.file.test(v.file))){return false}return true}})):undefined,infrastructureLogging:cloneObject(v.infrastructureLogging),loader:cloneObject(v.loader),mode:v.mode,module:nestedConfig(v.module,(v=>({noParse:v.noParse,unsafeCache:v.unsafeCache,parser:keyedNestedConfig(v.parser,cloneObject,{javascript:E=>({unknownContextRequest:v.unknownContextRequest,unknownContextRegExp:v.unknownContextRegExp,unknownContextRecursive:v.unknownContextRecursive,unknownContextCritical:v.unknownContextCritical,exprContextRequest:v.exprContextRequest,exprContextRegExp:v.exprContextRegExp,exprContextRecursive:v.exprContextRecursive,exprContextCritical:v.exprContextCritical,wrappedContextRegExp:v.wrappedContextRegExp,wrappedContextRecursive:v.wrappedContextRecursive,wrappedContextCritical:v.wrappedContextCritical,strictExportPresence:v.strictExportPresence,strictThisContextOnImports:v.strictThisContextOnImports,...E})}),generator:cloneObject(v.generator),defaultRules:optionalNestedArray(v.defaultRules,(v=>[...v])),rules:nestedArray(v.rules,(v=>[...v]))}))),name:v.name,node:nestedConfig(v.node,(v=>v&&{...v})),optimization:nestedConfig(v.optimization,(v=>({...v,runtimeChunk:getNormalizedOptimizationRuntimeChunk(v.runtimeChunk),splitChunks:nestedConfig(v.splitChunks,(v=>v&&{...v,defaultSizeTypes:v.defaultSizeTypes?[...v.defaultSizeTypes]:["..."],cacheGroups:cloneObject(v.cacheGroups)})),emitOnErrors:v.noEmitOnErrors!==undefined?$(v.noEmitOnErrors,v.emitOnErrors):v.emitOnErrors}))),output:nestedConfig(v.output,(v=>{const{library:E}=v;const P=E;const R=typeof E==="object"&&E&&!Array.isArray(E)&&"type"in E?E:P||v.libraryTarget?{name:P}:undefined;const $={assetModuleFilename:v.assetModuleFilename,asyncChunks:v.asyncChunks,charset:v.charset,chunkFilename:v.chunkFilename,chunkFormat:v.chunkFormat,chunkLoading:v.chunkLoading,chunkLoadingGlobal:v.chunkLoadingGlobal,chunkLoadTimeout:v.chunkLoadTimeout,cssFilename:v.cssFilename,cssChunkFilename:v.cssChunkFilename,clean:v.clean,compareBeforeEmit:v.compareBeforeEmit,crossOriginLoading:v.crossOriginLoading,devtoolFallbackModuleFilenameTemplate:v.devtoolFallbackModuleFilenameTemplate,devtoolModuleFilenameTemplate:v.devtoolModuleFilenameTemplate,devtoolNamespace:v.devtoolNamespace,environment:cloneObject(v.environment),enabledChunkLoadingTypes:v.enabledChunkLoadingTypes?[...v.enabledChunkLoadingTypes]:["..."],enabledLibraryTypes:v.enabledLibraryTypes?[...v.enabledLibraryTypes]:["..."],enabledWasmLoadingTypes:v.enabledWasmLoadingTypes?[...v.enabledWasmLoadingTypes]:["..."],filename:v.filename,globalObject:v.globalObject,hashDigest:v.hashDigest,hashDigestLength:v.hashDigestLength,hashFunction:v.hashFunction,hashSalt:v.hashSalt,hotUpdateChunkFilename:v.hotUpdateChunkFilename,hotUpdateGlobal:v.hotUpdateGlobal,hotUpdateMainFilename:v.hotUpdateMainFilename,ignoreBrowserWarnings:v.ignoreBrowserWarnings,iife:v.iife,importFunctionName:v.importFunctionName,importMetaName:v.importMetaName,scriptType:v.scriptType,library:R&&{type:v.libraryTarget!==undefined?v.libraryTarget:R.type,auxiliaryComment:v.auxiliaryComment!==undefined?v.auxiliaryComment:R.auxiliaryComment,amdContainer:v.amdContainer!==undefined?v.amdContainer:R.amdContainer,export:v.libraryExport!==undefined?v.libraryExport:R.export,name:R.name,umdNamedDefine:v.umdNamedDefine!==undefined?v.umdNamedDefine:R.umdNamedDefine},module:v.module,path:v.path,pathinfo:v.pathinfo,publicPath:v.publicPath,sourceMapFilename:v.sourceMapFilename,sourcePrefix:v.sourcePrefix,strictModuleErrorHandling:v.strictModuleErrorHandling,strictModuleExceptionHandling:v.strictModuleExceptionHandling,trustedTypes:optionalNestedConfig(v.trustedTypes,(v=>{if(v===true)return{};if(typeof v==="string")return{policyName:v};return{...v}})),uniqueName:v.uniqueName,wasmLoading:v.wasmLoading,webassemblyModuleFilename:v.webassemblyModuleFilename,workerPublicPath:v.workerPublicPath,workerChunkLoading:v.workerChunkLoading,workerWasmLoading:v.workerWasmLoading};return $})),parallelism:v.parallelism,performance:optionalNestedConfig(v.performance,(v=>{if(v===false)return false;return{...v}})),plugins:nestedArray(v.plugins,(v=>[...v])),profile:v.profile,recordsInputPath:v.recordsInputPath!==undefined?v.recordsInputPath:v.recordsPath,recordsOutputPath:v.recordsOutputPath!==undefined?v.recordsOutputPath:v.recordsPath,resolve:nestedConfig(v.resolve,(v=>({...v,byDependency:keyedNestedConfig(v.byDependency,cloneObject)}))),resolveLoader:cloneObject(v.resolveLoader),snapshot:nestedConfig(v.snapshot,(v=>({resolveBuildDependencies:optionalNestedConfig(v.resolveBuildDependencies,(v=>({timestamp:v.timestamp,hash:v.hash}))),buildDependencies:optionalNestedConfig(v.buildDependencies,(v=>({timestamp:v.timestamp,hash:v.hash}))),resolve:optionalNestedConfig(v.resolve,(v=>({timestamp:v.timestamp,hash:v.hash}))),module:optionalNestedConfig(v.module,(v=>({timestamp:v.timestamp,hash:v.hash}))),immutablePaths:optionalNestedArray(v.immutablePaths,(v=>[...v])),managedPaths:optionalNestedArray(v.managedPaths,(v=>[...v]))}))),stats:nestedConfig(v.stats,(v=>{if(v===false){return{preset:"none"}}if(v===true){return{preset:"normal"}}if(typeof v==="string"){return{preset:v}}return{...v}})),target:v.target,watch:v.watch,watchOptions:cloneObject(v.watchOptions)});const getNormalizedEntryStatic=v=>{if(typeof v==="string"){return{main:{import:[v]}}}if(Array.isArray(v)){return{main:{import:v}}}const E={};for(const P of Object.keys(v)){const R=v[P];if(typeof R==="string"){E[P]={import:[R]}}else if(Array.isArray(R)){E[P]={import:R}}else{E[P]={import:R.import&&(Array.isArray(R.import)?R.import:[R.import]),filename:R.filename,layer:R.layer,runtime:R.runtime,baseUri:R.baseUri,publicPath:R.publicPath,chunkLoading:R.chunkLoading,asyncChunks:R.asyncChunks,wasmLoading:R.wasmLoading,dependOn:R.dependOn&&(Array.isArray(R.dependOn)?R.dependOn:[R.dependOn]),library:R.library}}}return E};const getNormalizedOptimizationRuntimeChunk=v=>{if(v===undefined)return undefined;if(v===false)return false;if(v==="single"){return{name:()=>"runtime"}}if(v===true||v==="multiple"){return{name:v=>`runtime~${v.name}`}}const{name:E}=v;return{name:typeof E==="function"?E:()=>E}};E.getNormalizedWebpackOptions=getNormalizedWebpackOptions},42194:function(v,E,P){"use strict";const R=P(25689);const $=R((()=>P(96858)));const getDefaultTarget=v=>{const E=$().load(null,v);return E?"browserslist":"web"};const versionDependent=(v,E)=>{if(!v){return()=>undefined}const P=+v;const R=E?+E:0;return(v,E=0)=>P>v||P===v&&R>=E};const N=[["browserslist / browserslist:env / browserslist:query / browserslist:path-to-config / browserslist:path-to-config:env","Resolve features from browserslist. Will resolve browserslist config automatically. Only browser or node queries are supported (electron is not supported). Examples: 'browserslist:modern' to use 'modern' environment from browserslist config",/^browserslist(?::(.+))?$/,(v,E)=>{const P=$();const R=P.load(v?v.trim():null,E);if(!R){throw new Error(`No browserslist config found to handle the 'browserslist' target.\nSee https://github.com/browserslist/browserslist#queries for possible ways to provide a config.\nThe recommended way is to add a 'browserslist' key to your package.json and list supported browsers (resp. node.js versions).\nYou can also more options via the 'target' option: 'browserslist' / 'browserslist:env' / 'browserslist:query' / 'browserslist:path-to-config' / 'browserslist:path-to-config:env'`)}return P.resolve(R)}],["web","Web browser.",/^web$/,()=>({web:true,browser:true,webworker:null,node:false,electron:false,nwjs:false,document:true,importScriptsInWorker:true,fetchWasm:true,nodeBuiltins:false,importScripts:false,require:false,global:false})],["webworker","Web Worker, SharedWorker or Service Worker.",/^webworker$/,()=>({web:true,browser:true,webworker:true,node:false,electron:false,nwjs:false,importScripts:true,importScriptsInWorker:true,fetchWasm:true,nodeBuiltins:false,require:false,document:false,global:false})],["[async-]node[X[.Y]]","Node.js in version X.Y. The 'async-' prefix will load chunks asynchronously via 'fs' and 'vm' instead of 'require()'. Examples: node14.5, async-node10.",/^(async-)?node(\d+(?:\.(\d+))?)?$/,(v,E,P)=>{const R=versionDependent(E,P);return{node:true,electron:false,nwjs:false,web:false,webworker:false,browser:false,require:!v,nodeBuiltins:true,global:true,document:false,fetchWasm:false,importScripts:false,importScriptsInWorker:false,globalThis:R(12),const:R(6),templateLiteral:R(4),optionalChaining:R(14),arrowFunction:R(6),asyncFunction:R(7,6),forOf:R(5),destructuring:R(6),bigIntLiteral:R(10,4),dynamicImport:R(12,17),dynamicImportInWorker:E?false:undefined,module:R(12,17)}}],["electron[X[.Y]]-main/preload/renderer","Electron in version X.Y. Script is running in main, preload resp. renderer context.",/^electron(\d+(?:\.(\d+))?)?-(main|preload|renderer)$/,(v,E,P)=>{const R=versionDependent(v,E);return{node:true,electron:true,web:P!=="main",webworker:false,browser:false,nwjs:false,electronMain:P==="main",electronPreload:P==="preload",electronRenderer:P==="renderer",global:true,nodeBuiltins:true,require:true,document:P==="renderer",fetchWasm:P==="renderer",importScripts:false,importScriptsInWorker:true,globalThis:R(5),const:R(1,1),templateLiteral:R(1,1),optionalChaining:R(8),arrowFunction:R(1,1),asyncFunction:R(1,7),forOf:R(0,36),destructuring:R(1,1),bigIntLiteral:R(4),dynamicImport:R(11),dynamicImportInWorker:v?false:undefined,module:R(11)}}],["nwjs[X[.Y]] / node-webkit[X[.Y]]","NW.js in version X.Y.",/^(?:nwjs|node-webkit)(\d+(?:\.(\d+))?)?$/,(v,E)=>{const P=versionDependent(v,E);return{node:true,web:true,nwjs:true,webworker:null,browser:false,electron:false,global:true,nodeBuiltins:true,document:false,importScriptsInWorker:false,fetchWasm:false,importScripts:false,require:false,globalThis:P(0,43),const:P(0,15),templateLiteral:P(0,13),optionalChaining:P(0,44),arrowFunction:P(0,15),asyncFunction:P(0,21),forOf:P(0,13),destructuring:P(0,15),bigIntLiteral:P(0,32),dynamicImport:P(0,43),dynamicImportInWorker:v?false:undefined,module:P(0,43)}}],["esX","EcmaScript in this version. Examples: es2020, es5.",/^es(\d+)$/,v=>{let E=+v;if(E<1e3)E=E+2009;return{const:E>=2015,templateLiteral:E>=2015,optionalChaining:E>=2020,arrowFunction:E>=2015,forOf:E>=2015,destructuring:E>=2015,module:E>=2015,asyncFunction:E>=2017,globalThis:E>=2020,bigIntLiteral:E>=2020,dynamicImport:E>=2020,dynamicImportInWorker:E>=2020}}]];const getTargetProperties=(v,E)=>{for(const[,,P,R]of N){const $=P.exec(v);if($){const[,...v]=$;const P=R(...v,E);if(P)return P}}throw new Error(`Unknown target '${v}'. The following targets are supported:\n${N.map((([v,E])=>`* ${v}: ${E}`)).join("\n")}`)};const mergeTargetProperties=v=>{const E=new Set;for(const P of v){for(const v of Object.keys(P)){E.add(v)}}const P={};for(const R of E){let E=false;let $=false;for(const P of v){const v=P[R];switch(v){case true:E=true;break;case false:$=true;break}}if(E||$)P[R]=$&&E?null:E?true:false}return P};const getTargetsProperties=(v,E)=>mergeTargetProperties(v.map((v=>getTargetProperties(v,E))));E.getDefaultTarget=getDefaultTarget;E.getTargetProperties=getTargetProperties;E.getTargetsProperties=getTargetsProperties},17036:function(v,E,P){"use strict";const R=P(38204);const $=P(41718);class ContainerEntryDependency extends R{constructor(v,E,P){super();this.name=v;this.exposes=E;this.shareScope=P}getResourceIdentifier(){return`container-entry-${this.name}`}get type(){return"container entry"}get category(){return"esm"}}$(ContainerEntryDependency,"webpack/lib/container/ContainerEntryDependency");v.exports=ContainerEntryDependency},17332:function(v,E,P){"use strict";const{OriginalSource:R,RawSource:$}=P(51255);const N=P(55936);const L=P(72011);const{JAVASCRIPT_MODULE_TYPE_DYNAMIC:q}=P(96170);const K=P(92529);const ae=P(25233);const ge=P(92090);const be=P(41718);const xe=P(22217);const ve=new Set(["javascript"]);class ContainerEntryModule extends L{constructor(v,E,P){super(q,null);this._name=v;this._exposes=E;this._shareScope=P}getSourceTypes(){return ve}identifier(){return`container entry (${this._shareScope}) ${JSON.stringify(this._exposes)}`}readableIdentifier(v){return`container entry`}libIdent(v){return`${this.layer?`(${this.layer})/`:""}webpack/container/entry/${this._name}`}needBuild(v,E){return E(null,!this.buildMeta)}build(v,E,P,R,$){this.buildMeta={};this.buildInfo={strict:true,topLevelDeclarations:new Set(["moduleMap","get","init"])};this.buildMeta.exportsType="namespace";this.clearDependenciesAndBlocks();for(const[v,E]of this._exposes){const P=new N({name:E.name},{name:v},E.import[E.import.length-1]);let R=0;for(const $ of E.import){const E=new xe(v,$);E.loc={name:v,index:R++};P.addDependency(E)}this.addBlock(P)}this.addDependency(new ge(["get","init"],false));$()}codeGeneration({moduleGraph:v,chunkGraph:E,runtimeTemplate:P}){const N=new Map;const L=new Set([K.definePropertyGetters,K.hasOwnProperty,K.exports]);const q=[];for(const R of this.blocks){const{dependencies:$}=R;const N=$.map((E=>{const P=E;return{name:P.exposedName,module:v.getModule(P),request:P.userRequest}}));let K;if(N.some((v=>!v.module))){K=P.throwMissingModuleErrorBlock({request:N.map((v=>v.request)).join(", ")})}else{K=`return ${P.blockPromise({block:R,message:"",chunkGraph:E,runtimeRequirements:L})}.then(${P.returningFunction(P.returningFunction(`(${N.map((({module:v,request:R})=>P.moduleRaw({module:v,chunkGraph:E,request:R,weak:false,runtimeRequirements:L}))).join(", ")})`))});`}q.push(`${JSON.stringify(N[0].name)}: ${P.basicFunction("",K)}`)}const ge=ae.asString([`var moduleMap = {`,ae.indent(q.join(",\n")),"};",`var get = ${P.basicFunction("module, getScope",[`${K.currentRemoteGetScope} = getScope;`,"getScope = (",ae.indent([`${K.hasOwnProperty}(moduleMap, module)`,ae.indent(["? moduleMap[module]()",`: Promise.resolve().then(${P.basicFunction("","throw new Error('Module \"' + module + '\" does not exist in container.');")})`])]),");",`${K.currentRemoteGetScope} = undefined;`,"return getScope;"])};`,`var init = ${P.basicFunction("shareScope, initScope",[`if (!${K.shareScopeMap}) return;`,`var name = ${JSON.stringify(this._shareScope)}`,`var oldScope = ${K.shareScopeMap}[name];`,`if(oldScope && oldScope !== shareScope) throw new Error("Container initialization failed as it has already been initialized with a different share scope");`,`${K.shareScopeMap}[name] = shareScope;`,`return ${K.initializeSharing}(name, initScope);`])};`,"","// This exports getters to disallow modifications",`${K.definePropertyGetters}(exports, {`,ae.indent([`get: ${P.returningFunction("get")},`,`init: ${P.returningFunction("init")}`]),"});"]);N.set("javascript",this.useSourceMap||this.useSimpleSourceMap?new R(ge,"webpack/container-entry"):new $(ge));return{sources:N,runtimeRequirements:L}}size(v){return 42}serialize(v){const{write:E}=v;E(this._name);E(this._exposes);E(this._shareScope);super.serialize(v)}static deserialize(v){const{read:E}=v;const P=new ContainerEntryModule(E(),E(),E());P.deserialize(v);return P}}be(ContainerEntryModule,"webpack/lib/container/ContainerEntryModule");v.exports=ContainerEntryModule},55543:function(v,E,P){"use strict";const R=P(22362);const $=P(17332);v.exports=class ContainerEntryModuleFactory extends R{create({dependencies:[v]},E){const P=v;E(null,{module:new $(P.name,P.exposes,P.shareScope)})}}},22217:function(v,E,P){"use strict";const R=P(17782);const $=P(41718);class ContainerExposedDependency extends R{constructor(v,E){super(E);this.exposedName=v}get type(){return"container exposed"}get category(){return"esm"}getResourceIdentifier(){return`exposed dependency ${this.exposedName}=${this.request}`}serialize(v){v.write(this.exposedName);super.serialize(v)}deserialize(v){this.exposedName=v.read();super.deserialize(v)}}$(ContainerExposedDependency,"webpack/lib/container/ContainerExposedDependency");v.exports=ContainerExposedDependency},41247:function(v,E,P){"use strict";const R=P(21596);const $=P(17036);const N=P(55543);const L=P(22217);const{parseOptions:q}=P(89170);const K=R(P(4656),(()=>P(42173)),{name:"Container Plugin",baseDataPath:"options"});const ae="ContainerPlugin";class ContainerPlugin{constructor(v){K(v);this._options={name:v.name,shareScope:v.shareScope||"default",library:v.library||{type:"var",name:v.name},runtime:v.runtime,filename:v.filename||undefined,exposes:q(v.exposes,(v=>({import:Array.isArray(v)?v:[v],name:undefined})),(v=>({import:Array.isArray(v.import)?v.import:[v.import],name:v.name||undefined})))}}apply(v){const{name:E,exposes:P,shareScope:R,filename:q,library:K,runtime:ge}=this._options;if(!v.options.output.enabledLibraryTypes.includes(K.type)){v.options.output.enabledLibraryTypes.push(K.type)}v.hooks.make.tapAsync(ae,((v,N)=>{const L=new $(E,P,R);L.loc={name:E};v.addEntry(v.options.context,L,{name:E,filename:q,runtime:ge,library:K},(v=>{if(v)return N(v);N()}))}));v.hooks.thisCompilation.tap(ae,((v,{normalModuleFactory:E})=>{v.dependencyFactories.set($,new N);v.dependencyFactories.set(L,E)}))}}v.exports=ContainerPlugin},7284:function(v,E,P){"use strict";const R=P(33554);const $=P(92529);const N=P(21596);const L=P(28969);const q=P(24680);const K=P(3658);const ae=P(55185);const ge=P(24201);const be=P(7171);const{parseOptions:xe}=P(89170);const ve=N(P(1040),(()=>P(52715)),{name:"Container Reference Plugin",baseDataPath:"options"});const Ae="/".charCodeAt(0);class ContainerReferencePlugin{constructor(v){ve(v);this._remoteType=v.remoteType;this._remotes=xe(v.remotes,(E=>({external:Array.isArray(E)?E:[E],shareScope:v.shareScope||"default"})),(E=>({external:Array.isArray(E.external)?E.external:[E.external],shareScope:E.shareScope||v.shareScope||"default"})))}apply(v){const{_remotes:E,_remoteType:P}=this;const N={};for(const[v,P]of E){let E=0;for(const R of P.external){if(R.startsWith("internal "))continue;N[`webpack/container/reference/${v}${E?`/fallback-${E}`:""}`]=R;E++}}new R(P,N).apply(v);v.hooks.compilation.tap("ContainerReferencePlugin",((v,{normalModuleFactory:P})=>{v.dependencyFactories.set(be,P);v.dependencyFactories.set(q,P);v.dependencyFactories.set(L,new K);P.hooks.factorize.tap("ContainerReferencePlugin",(v=>{if(!v.request.includes("!")){for(const[P,R]of E){if(v.request.startsWith(`${P}`)&&(v.request.length===P.length||v.request.charCodeAt(P.length)===Ae)){return new ae(v.request,R.external.map(((v,E)=>v.startsWith("internal ")?v.slice(9):`webpack/container/reference/${P}${E?`/fallback-${E}`:""}`)),`.${v.request.slice(P.length)}`,R.shareScope)}}}}));v.hooks.runtimeRequirementInTree.for($.ensureChunkHandlers).tap("ContainerReferencePlugin",((E,P)=>{P.add($.module);P.add($.moduleFactoriesAddOnly);P.add($.hasOwnProperty);P.add($.initializeSharing);P.add($.shareScopeMap);v.addRuntimeModule(E,new ge)}))}))}}v.exports=ContainerReferencePlugin},28969:function(v,E,P){"use strict";const R=P(38204);const $=P(41718);class FallbackDependency extends R{constructor(v){super();this.requests=v}getResourceIdentifier(){return`fallback ${this.requests.join(" ")}`}get type(){return"fallback"}get category(){return"esm"}serialize(v){const{write:E}=v;E(this.requests);super.serialize(v)}static deserialize(v){const{read:E}=v;const P=new FallbackDependency(E());P.deserialize(v);return P}}$(FallbackDependency,"webpack/lib/container/FallbackDependency");v.exports=FallbackDependency},24680:function(v,E,P){"use strict";const R=P(17782);const $=P(41718);class FallbackItemDependency extends R{constructor(v){super(v)}get type(){return"fallback item"}get category(){return"esm"}}$(FallbackItemDependency,"webpack/lib/container/FallbackItemDependency");v.exports=FallbackItemDependency},73419:function(v,E,P){"use strict";const{RawSource:R}=P(51255);const $=P(72011);const{WEBPACK_MODULE_TYPE_FALLBACK:N}=P(96170);const L=P(92529);const q=P(25233);const K=P(41718);const ae=P(24680);const ge=new Set(["javascript"]);const be=new Set([L.module]);class FallbackModule extends ${constructor(v){super(N);this.requests=v;this._identifier=`fallback ${this.requests.join(" ")}`}identifier(){return this._identifier}readableIdentifier(v){return this._identifier}libIdent(v){return`${this.layer?`(${this.layer})/`:""}webpack/container/fallback/${this.requests[0]}/and ${this.requests.length-1} more`}chunkCondition(v,{chunkGraph:E}){return E.getNumberOfEntryModules(v)>0}needBuild(v,E){E(null,!this.buildInfo)}build(v,E,P,R,$){this.buildMeta={};this.buildInfo={strict:true};this.clearDependenciesAndBlocks();for(const v of this.requests)this.addDependency(new ae(v));$()}size(v){return this.requests.length*5+42}getSourceTypes(){return ge}codeGeneration({runtimeTemplate:v,moduleGraph:E,chunkGraph:P}){const $=this.dependencies.map((v=>P.getModuleId(E.getModule(v))));const N=q.asString([`var ids = ${JSON.stringify($)};`,"var error, result, i = 0;",`var loop = ${v.basicFunction("next",["while(i < ids.length) {",q.indent([`try { next = ${L.require}(ids[i++]); } catch(e) { return handleError(e); }`,"if(next) return next.then ? next.then(handleResult, handleError) : handleResult(next);"]),"}","if(error) throw error;"])}`,`var handleResult = ${v.basicFunction("result",["if(result) return result;","return loop();"])};`,`var handleError = ${v.basicFunction("e",["error = e;","return loop();"])};`,"module.exports = loop();"]);const K=new Map;K.set("javascript",new R(N));return{sources:K,runtimeRequirements:be}}serialize(v){const{write:E}=v;E(this.requests);super.serialize(v)}static deserialize(v){const{read:E}=v;const P=new FallbackModule(E());P.deserialize(v);return P}}K(FallbackModule,"webpack/lib/container/FallbackModule");v.exports=FallbackModule},3658:function(v,E,P){"use strict";const R=P(22362);const $=P(73419);v.exports=class FallbackModuleFactory extends R{create({dependencies:[v]},E){const P=v;E(null,{module:new $(P.requests)})}}},941:function(v,E,P){"use strict";const R=P(16397);const $=P(64928);const N=P(21596);const L=P(41247);const q=P(7284);const K=N(P(5197),(()=>P(21736)),{name:"Module Federation Plugin",baseDataPath:"options"});class ModuleFederationPlugin{constructor(v){K(v);this._options=v}apply(v){const{_options:E}=this;const P=E.library||{type:"var",name:E.name};const N=E.remoteType||(E.library&&R(E.library.type)?E.library.type:"script");if(P&&!v.options.output.enabledLibraryTypes.includes(P.type)){v.options.output.enabledLibraryTypes.push(P.type)}v.hooks.afterPlugins.tap("ModuleFederationPlugin",(()=>{if(E.exposes&&(Array.isArray(E.exposes)?E.exposes.length>0:Object.keys(E.exposes).length>0)){new L({name:E.name,library:P,filename:E.filename,runtime:E.runtime,shareScope:E.shareScope,exposes:E.exposes}).apply(v)}if(E.remotes&&(Array.isArray(E.remotes)?E.remotes.length>0:Object.keys(E.remotes).length>0)){new q({remoteType:N,shareScope:E.shareScope,remotes:E.remotes}).apply(v)}if(E.shared){new $({shared:E.shared,shareScope:E.shareScope}).apply(v)}}))}}v.exports=ModuleFederationPlugin},55185:function(v,E,P){"use strict";const{RawSource:R}=P(51255);const $=P(72011);const{WEBPACK_MODULE_TYPE_REMOTE:N}=P(96170);const L=P(92529);const q=P(41718);const K=P(28969);const ae=P(7171);const ge=new Set(["remote","share-init"]);const be=new Set([L.module]);class RemoteModule extends ${constructor(v,E,P,R){super(N);this.request=v;this.externalRequests=E;this.internalRequest=P;this.shareScope=R;this._identifier=`remote (${R}) ${this.externalRequests.join(" ")} ${this.internalRequest}`}identifier(){return this._identifier}readableIdentifier(v){return`remote ${this.request}`}libIdent(v){return`${this.layer?`(${this.layer})/`:""}webpack/container/remote/${this.request}`}needBuild(v,E){E(null,!this.buildInfo)}build(v,E,P,R,$){this.buildMeta={};this.buildInfo={strict:true};this.clearDependenciesAndBlocks();if(this.externalRequests.length===1){this.addDependency(new ae(this.externalRequests[0]))}else{this.addDependency(new K(this.externalRequests))}$()}size(v){return 6}getSourceTypes(){return ge}nameForCondition(){return this.request}codeGeneration({runtimeTemplate:v,moduleGraph:E,chunkGraph:P}){const $=E.getModule(this.dependencies[0]);const N=$&&P.getModuleId($);const L=new Map;L.set("remote",new R(""));const q=new Map;q.set("share-init",[{shareScope:this.shareScope,initStage:20,init:N===undefined?"":`initExternal(${JSON.stringify(N)});`}]);return{sources:L,data:q,runtimeRequirements:be}}serialize(v){const{write:E}=v;E(this.request);E(this.externalRequests);E(this.internalRequest);E(this.shareScope);super.serialize(v)}static deserialize(v){const{read:E}=v;const P=new RemoteModule(E(),E(),E(),E());P.deserialize(v);return P}}q(RemoteModule,"webpack/lib/container/RemoteModule");v.exports=RemoteModule},24201:function(v,E,P){"use strict";const R=P(92529);const $=P(845);const N=P(25233);class RemoteRuntimeModule extends ${constructor(){super("remotes loading")}generate(){const{compilation:v,chunkGraph:E}=this;const{runtimeTemplate:P,moduleGraph:$}=v;const L={};const q={};for(const v of this.chunk.getAllAsyncChunks()){const P=E.getChunkModulesIterableBySourceType(v,"remote");if(!P)continue;const R=L[v.id]=[];for(const v of P){const P=v;const N=P.internalRequest;const L=E.getModuleId(P);const K=P.shareScope;const ae=P.dependencies[0];const ge=$.getModule(ae);const be=ge&&E.getModuleId(ge);R.push(L);q[L]=[K,N,be]}}return N.asString([`var chunkMapping = ${JSON.stringify(L,null,"\t")};`,`var idToExternalAndNameMapping = ${JSON.stringify(q,null,"\t")};`,`${R.ensureChunkHandlers}.remotes = ${P.basicFunction("chunkId, promises",[`if(${R.hasOwnProperty}(chunkMapping, chunkId)) {`,N.indent([`chunkMapping[chunkId].forEach(${P.basicFunction("id",[`var getScope = ${R.currentRemoteGetScope};`,"if(!getScope) getScope = [];","var data = idToExternalAndNameMapping[id];","if(getScope.indexOf(data) >= 0) return;","getScope.push(data);",`if(data.p) return promises.push(data.p);`,`var onError = ${P.basicFunction("error",['if(!error) error = new Error("Container missing");','if(typeof error.message === "string")',N.indent(`error.message += '\\nwhile loading "' + data[1] + '" from ' + data[2];`),`${R.moduleFactories}[id] = ${P.basicFunction("",["throw error;"])}`,"data.p = 0;"])};`,`var handleFunction = ${P.basicFunction("fn, arg1, arg2, d, next, first",["try {",N.indent(["var promise = fn(arg1, arg2);","if(promise && promise.then) {",N.indent([`var p = promise.then(${P.returningFunction("next(result, d)","result")}, onError);`,`if(first) promises.push(data.p = p); else return p;`]),"} else {",N.indent(["return next(promise, d, first);"]),"}"]),"} catch(error) {",N.indent(["onError(error);"]),"}"])}`,`var onExternal = ${P.returningFunction(`external ? handleFunction(${R.initializeSharing}, data[0], 0, external, onInitialized, first) : onError()`,"external, _, first")};`,`var onInitialized = ${P.returningFunction(`handleFunction(external.get, data[1], getScope, 0, onFactory, first)`,"_, external, first")};`,`var onFactory = ${P.basicFunction("factory",["data.p = 1;",`${R.moduleFactories}[id] = ${P.basicFunction("module",["module.exports = factory();"])}`])};`,`handleFunction(${R.require}, data[2], 0, 0, onExternal, 1);`])});`]),"}"])}`])}}v.exports=RemoteRuntimeModule},7171:function(v,E,P){"use strict";const R=P(17782);const $=P(41718);class RemoteToExternalDependency extends R{constructor(v){super(v)}get type(){return"remote to external"}get category(){return"esm"}}$(RemoteToExternalDependency,"webpack/lib/container/RemoteToExternalDependency");v.exports=RemoteToExternalDependency},89170:function(v,E){"use strict";const process=(v,E,P,R)=>{const array=v=>{for(const P of v){if(typeof P==="string"){R(P,E(P,P))}else if(P&&typeof P==="object"){object(P)}else{throw new Error("Unexpected options format")}}};const object=v=>{for(const[$,N]of Object.entries(v)){if(typeof N==="string"||Array.isArray(N)){R($,E(N,$))}else{R($,P(N,$))}}};if(!v){return}else if(Array.isArray(v)){array(v)}else if(typeof v==="object"){object(v)}else{throw new Error("Unexpected options format")}};const parseOptions=(v,E,P)=>{const R=[];process(v,E,P,((v,E)=>{R.push([v,E])}));return R};const scope=(v,E)=>{const P={};process(E,(v=>v),(v=>v),((E,R)=>{P[E.startsWith("./")?`${v}${E.slice(1)}`:`${v}/${E}`]=R}));return P};E.parseOptions=parseOptions;E.scope=scope},21796:function(v,E,P){"use strict";const{ReplaceSource:R,RawSource:$,ConcatSource:N}=P(51255);const{UsageState:L}=P(8435);const q=P(29900);const K=P(92529);const ae=P(25233);const ge=new Set(["javascript"]);class CssExportsGenerator extends q{constructor(){super()}generate(v,E){const P=new R(new $(""));const q=[];const ge=new Map;E.runtimeRequirements.add(K.module);let be;const xe=new Set;const ve={runtimeTemplate:E.runtimeTemplate,dependencyTemplates:E.dependencyTemplates,moduleGraph:E.moduleGraph,chunkGraph:E.chunkGraph,module:v,runtime:E.runtime,runtimeRequirements:xe,concatenationScope:E.concatenationScope,codeGenerationResults:E.codeGenerationResults,initFragments:q,cssExports:ge,get chunkInitFragments(){if(!be){const v=E.getData();be=v.get("chunkInitFragments");if(!be){be=[];v.set("chunkInitFragments",be)}}return be}};const handleDependency=v=>{const R=v.constructor;const $=E.dependencyTemplates.get(R);if(!$){throw new Error("No template for dependency: "+v.constructor.name)}$.apply(v,P,ve)};v.dependencies.forEach(handleDependency);if(E.concatenationScope){const v=new N;const P=new Set;for(const[R,$]of ge){let N=ae.toIdentifier(R);let L=0;while(P.has(N)){N=ae.toIdentifier(R+L)}P.add(N);E.concatenationScope.registerExport(R,N);v.add(`${E.runtimeTemplate.supportsConst?"const":"var"} ${N} = ${JSON.stringify($)};\n`)}return v}else{const P=E.moduleGraph.getExportsInfo(v).otherExportsInfo.getUsed(E.runtime)!==L.Unused;if(P){E.runtimeRequirements.add(K.makeNamespaceObject)}return new $(`${P?`${K.makeNamespaceObject}(`:""}${v.moduleArgument}.exports = {\n${Array.from(ge,(([v,E])=>`\t${JSON.stringify(v)}: ${JSON.stringify(E)}`)).join(",\n")}\n}${P?")":""};`)}}getTypes(v){return ge}getSize(v,E){return 42}updateHash(v,{module:E}){}}v.exports=CssExportsGenerator},27006:function(v,E,P){"use strict";const{ReplaceSource:R}=P(51255);const $=P(29900);const N=P(23596);const L=P(92529);const q=new Set(["css"]);class CssGenerator extends ${constructor(){super()}generate(v,E){const P=v.originalSource();const $=new R(P);const q=[];const K=new Map;E.runtimeRequirements.add(L.hasCssModules);let ae;const ge={runtimeTemplate:E.runtimeTemplate,dependencyTemplates:E.dependencyTemplates,moduleGraph:E.moduleGraph,chunkGraph:E.chunkGraph,module:v,runtime:E.runtime,runtimeRequirements:E.runtimeRequirements,concatenationScope:E.concatenationScope,codeGenerationResults:E.codeGenerationResults,initFragments:q,cssExports:K,get chunkInitFragments(){if(!ae){const v=E.getData();ae=v.get("chunkInitFragments");if(!ae){ae=[];v.set("chunkInitFragments",ae)}}return ae}};const handleDependency=v=>{const P=v.constructor;const R=E.dependencyTemplates.get(P);if(!R){throw new Error("No template for dependency: "+v.constructor.name)}R.apply(v,$,ge)};v.dependencies.forEach(handleDependency);if(v.presentationalDependencies!==undefined)v.presentationalDependencies.forEach(handleDependency);if(K.size>0){const v=E.getData();v.set("css-exports",K)}return N.addToSource($,q,E)}getTypes(v){return q}getSize(v,E){const P=v.originalSource();if(!P){return 0}return P.size()}updateHash(v,{module:E}){}}v.exports=CssGenerator},80430:function(v,E,P){"use strict";const{SyncWaterfallHook:R}=P(79846);const $=P(6944);const N=P(92529);const L=P(845);const q=P(25233);const K=P(49694);const{chunkHasCss:ae}=P(48352);const ge=new WeakMap;class CssLoadingRuntimeModule extends L{static getCompilationHooks(v){if(!(v instanceof $)){throw new TypeError("The 'compilation' argument must be an instance of Compilation")}let E=ge.get(v);if(E===undefined){E={createStylesheet:new R(["source","chunk"])};ge.set(v,E)}return E}constructor(v){super("css loading",10);this._runtimeRequirements=v}generate(){const{compilation:v,chunk:E,_runtimeRequirements:P}=this;const{chunkGraph:R,runtimeTemplate:$,outputOptions:{crossOriginLoading:L,uniqueName:ge,chunkLoadTimeout:be}}=v;const xe=N.ensureChunkHandlers;const ve=R.getChunkConditionMap(E,((v,E)=>!!E.getChunkModulesIterableBySourceType(v,"css")));const Ae=K(ve);const Ie=P.has(N.ensureChunkHandlers)&&Ae!==false;const He=P.has(N.hmrDownloadUpdateHandlers);const Qe=new Set;const Je=new Set;for(const v of E.getAllInitialChunks()){(ae(v,R)?Qe:Je).add(v.id)}if(!Ie&&!He&&Qe.size===0){return null}const{createStylesheet:Ve}=CssLoadingRuntimeModule.getCompilationHooks(v);const Ke=He?`${N.hmrRuntimeStatePrefix}_css`:undefined;const Ye=q.asString(["link = document.createElement('link');",ge?'link.setAttribute("data-webpack", uniqueName + ":" + key);':"","link.setAttribute(loadingAttribute, 1);",'link.rel = "stylesheet";',"link.href = url;",L?L==="use-credentials"?'link.crossOrigin = "use-credentials";':q.asString(["if (link.href.indexOf(window.location.origin + '/') !== 0) {",q.indent(`link.crossOrigin = ${JSON.stringify(L)};`),"}"]):""]);const cc=v=>v.charCodeAt(0);const Xe=ge?$.concatenation("--webpack-",{expr:"uniqueName"},"-",{expr:"chunkId"}):$.concatenation("--webpack-",{expr:"chunkId"});return q.asString(["// object to store loaded and loading chunks","// undefined = chunk not loaded, null = chunk preloaded/prefetched","// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded",`var installedChunks = ${Ke?`${Ke} = ${Ke} || `:""}{${Array.from(Je,(v=>`${JSON.stringify(v)}:0`)).join(",")}};`,"",ge?`var uniqueName = ${JSON.stringify($.outputOptions.uniqueName)};`:"// data-webpack is not used as build has no uniqueName",`var loadCssChunkData = ${$.basicFunction("target, link, chunkId",[`var data, token = "", token2, exports = {}, exportsWithId = [], exportsWithDashes = [], ${He?"moduleIds = [], ":""}name = ${Xe}, i = 0, cc = 1;`,"try {",q.indent(["if(!link) link = loadStylesheet(chunkId);","var cssRules = link.sheet.cssRules || link.sheet.rules;","var j = cssRules.length - 1;","while(j > -1 && !data) {",q.indent(["var style = cssRules[j--].style;","if(!style) continue;",`data = style.getPropertyValue(name);`]),"}"]),"}catch(e){}","if(!data) {",q.indent(["data = getComputedStyle(document.head).getPropertyValue(name);"]),"}","if(!data) return [];","for(; cc; i++) {",q.indent(["cc = data.charCodeAt(i);",`if(cc == ${cc("(")}) { token2 = token; token = ""; }`,`else if(cc == ${cc(")")}) { exports[token2.replace(/^_/, "")] = token.replace(/^_/, ""); token = ""; }`,`else if(cc == ${cc("/")} || cc == ${cc("%")}) { token = token.replace(/^_/, ""); exports[token] = token; exportsWithId.push(token); if(cc == ${cc("%")}) exportsWithDashes.push(token); token = ""; }`,`else if(!cc || cc == ${cc(",")}) { token = token.replace(/^_/, ""); exportsWithId.forEach(${$.expressionFunction(`exports[x] = ${ge?$.concatenation({expr:"uniqueName"},"-",{expr:"token"},"-",{expr:"exports[x]"}):$.concatenation({expr:"token"},"-",{expr:"exports[x]"})}`,"x")}); exportsWithDashes.forEach(${$.expressionFunction(`exports[x] = "--" + exports[x]`,"x")}); ${N.makeNamespaceObject}(exports); target[token] = (${$.basicFunction("exports, module",`module.exports = exports;`)}).bind(null, exports); ${He?"moduleIds.push(token); ":""}token = ""; exports = {}; exportsWithId.length = 0; }`,`else if(cc == ${cc("\\")}) { token += data[++i] }`,`else { token += data[i]; }`]),"}",`${He?`if(target == ${N.moduleFactories}) `:""}installedChunks[chunkId] = 0;`,He?"return moduleIds;":""])}`,'var loadingAttribute = "data-webpack-loading";',`var loadStylesheet = ${$.basicFunction("chunkId, url, done"+(He?", hmr":""),['var link, needAttach, key = "chunk-" + chunkId;',He?"if(!hmr) {":"",'var links = document.getElementsByTagName("link");',"for(var i = 0; i < links.length; i++) {",q.indent(["var l = links[i];",`if(l.rel == "stylesheet" && (${He?'l.href.startsWith(url) || l.getAttribute("href").startsWith(url)':'l.href == url || l.getAttribute("href") == url'}${ge?' || l.getAttribute("data-webpack") == uniqueName + ":" + key':""})) { link = l; break; }`]),"}","if(!done) return link;",He?"}":"","if(!link) {",q.indent(["needAttach = true;",Ve.call(Ye,this.chunk)]),"}",`var onLinkComplete = ${$.basicFunction("prev, event",q.asString(["link.onerror = link.onload = null;","link.removeAttribute(loadingAttribute);","clearTimeout(timeout);",'if(event && event.type != "load") link.parentNode.removeChild(link)',"done(event);","if(prev) return prev(event);"]))};`,"if(link.getAttribute(loadingAttribute)) {",q.indent([`var timeout = setTimeout(onLinkComplete.bind(null, undefined, { type: 'timeout', target: link }), ${be});`,"link.onerror = onLinkComplete.bind(null, link.onerror);","link.onload = onLinkComplete.bind(null, link.onload);"]),"} else onLinkComplete(undefined, { type: 'load', target: link });",He?"hmr ? document.head.insertBefore(link, hmr) :":"","needAttach && document.head.appendChild(link);","return link;"])};`,Qe.size>2?`${JSON.stringify(Array.from(Qe))}.forEach(loadCssChunkData.bind(null, ${N.moduleFactories}, 0));`:Qe.size>0?`${Array.from(Qe,(v=>`loadCssChunkData(${N.moduleFactories}, 0, ${JSON.stringify(v)});`)).join("")}`:"// no initial css","",Ie?q.asString([`${xe}.css = ${$.basicFunction("chunkId, promises",["// css chunk loading",`var installedChunkData = ${N.hasOwnProperty}(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;`,'if(installedChunkData !== 0) { // 0 means "already installed".',q.indent(["",'// a Promise means "currently loading".',"if(installedChunkData) {",q.indent(["promises.push(installedChunkData[2]);"]),"} else {",q.indent([Ae===true?"if(true) { // all chunks have CSS":`if(${Ae("chunkId")}) {`,q.indent(["// setup Promise in chunk cache",`var promise = new Promise(${$.expressionFunction(`installedChunkData = installedChunks[chunkId] = [resolve, reject]`,"resolve, reject")});`,"promises.push(installedChunkData[2] = promise);","","// start chunk loading",`var url = ${N.publicPath} + ${N.getChunkCssFilename}(chunkId);`,"// create error before stack unwound to get useful stacktrace later","var error = new Error();",`var loadingEnded = ${$.basicFunction("event",[`if(${N.hasOwnProperty}(installedChunks, chunkId)) {`,q.indent(["installedChunkData = installedChunks[chunkId];","if(installedChunkData !== 0) installedChunks[chunkId] = undefined;","if(installedChunkData) {",q.indent(['if(event.type !== "load") {',q.indent(["var errorType = event && event.type;","var realHref = event && event.target && event.target.href;","error.message = 'Loading css chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realHref + ')';","error.name = 'ChunkLoadError';","error.type = errorType;","error.request = realHref;","installedChunkData[1](error);"]),"} else {",q.indent([`loadCssChunkData(${N.moduleFactories}, link, chunkId);`,"installedChunkData[0]();"]),"}"]),"}"]),"}"])};`,"var link = loadStylesheet(chunkId, url, loadingEnded);"]),"} else installedChunks[chunkId] = 0;"]),"}"]),"}"])};`]):"// no chunk loading","",He?q.asString(["var oldTags = [];","var newTags = [];",`var applyHandler = ${$.basicFunction("options",[`return { dispose: ${$.basicFunction("",[])}, apply: ${$.basicFunction("",["var moduleIds = [];",`newTags.forEach(${$.expressionFunction("info[1].sheet.disabled = false","info")});`,"while(oldTags.length) {",q.indent(["var oldTag = oldTags.pop();","if(oldTag.parentNode) oldTag.parentNode.removeChild(oldTag);"]),"}","while(newTags.length) {",q.indent([`var info = newTags.pop();`,`var chunkModuleIds = loadCssChunkData(${N.moduleFactories}, info[1], info[0]);`,`chunkModuleIds.forEach(${$.expressionFunction("moduleIds.push(id)","id")});`]),"}","return moduleIds;"])} };`])}`,`var cssTextKey = ${$.returningFunction(`Array.from(link.sheet.cssRules, ${$.returningFunction("r.cssText","r")}).join()`,"link")}`,`${N.hmrDownloadUpdateHandlers}.css = ${$.basicFunction("chunkIds, removedChunks, removedModules, promises, applyHandlers, updatedModulesList",["applyHandlers.push(applyHandler);",`chunkIds.forEach(${$.basicFunction("chunkId",[`var filename = ${N.getChunkCssFilename}(chunkId);`,`var url = ${N.publicPath} + filename;`,"var oldTag = loadStylesheet(chunkId, url);","if(!oldTag) return;",`promises.push(new Promise(${$.basicFunction("resolve, reject",[`var link = loadStylesheet(chunkId, url + (url.indexOf("?") < 0 ? "?" : "&") + "hmr=" + Date.now(), ${$.basicFunction("event",['if(event.type !== "load") {',q.indent(["var errorType = event && event.type;","var realHref = event && event.target && event.target.href;","error.message = 'Loading css hot update chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realHref + ')';","error.name = 'ChunkLoadError';","error.type = errorType;","error.request = realHref;","reject(error);"]),"} else {",q.indent(["try { if(cssTextKey(oldTag) == cssTextKey(link)) { if(link.parentNode) link.parentNode.removeChild(link); return resolve(); } } catch(e) {}","var factories = {};","loadCssChunkData(factories, link, chunkId);",`Object.keys(factories).forEach(${$.expressionFunction("updatedModulesList.push(id)","id")})`,"link.sheet.disabled = true;","oldTags.push(oldTag);","newTags.push([chunkId, link]);","resolve();"]),"}"])}, oldTag);`])}));`])});`])}`]):"// no hmr"])}}v.exports=CssLoadingRuntimeModule},48352:function(v,E,P){"use strict";const{ConcatSource:R,PrefixSource:$}=P(51255);const N=P(72702);const L=P(5195);const{CSS_MODULE_TYPE:q,CSS_MODULE_TYPE_GLOBAL:K,CSS_MODULE_TYPE_MODULE:ae,CSS_MODULE_TYPE_AUTO:ge}=P(96170);const be=P(92529);const xe=P(14115);const ve=P(16413);const Ae=P(29827);const Ie=P(53008);const He=P(84119);const Qe=P(10691);const Je=P(11208);const Ve=P(92090);const{compareModulesByIdentifier:Ke}=P(28273);const Ye=P(21596);const Xe=P(20932);const Ze=P(25689);const et=P(20859);const tt=P(21796);const nt=P(27006);const st=P(96762);const rt=Ze((()=>P(80430)));const getSchema=v=>{const{definitions:E}=P(74792);return{definitions:E,oneOf:[{$ref:`#/definitions/${v}`}]}};const ot={name:"Css Modules Plugin",baseDataPath:"generator"};const it={css:Ye(P(50652),(()=>getSchema("CssGeneratorOptions")),ot),"css/auto":Ye(P(84861),(()=>getSchema("CssAutoGeneratorOptions")),ot),"css/module":Ye(P(36839),(()=>getSchema("CssModuleGeneratorOptions")),ot),"css/global":Ye(P(88569),(()=>getSchema("CssGlobalGeneratorOptions")),ot)};const at={name:"Css Modules Plugin",baseDataPath:"parser"};const ct={css:Ye(P(62204),(()=>getSchema("CssParserOptions")),at),"css/auto":Ye(P(421),(()=>getSchema("CssAutoParserOptions")),at),"css/module":Ye(P(89988),(()=>getSchema("CssModuleParserOptions")),at),"css/global":Ye(P(11095),(()=>getSchema("CssGlobalParserOptions")),at)};const escapeCss=(v,E)=>{const P=`${v}`.replace(/[^a-zA-Z0-9_\u0081-\uffff-]/g,(v=>`\\${v}`));return!E&&/^(?!--)[0-9_-]/.test(P)?`_${P}`:P};const lt="CssModulesPlugin";class CssModulesPlugin{apply(v){v.hooks.compilation.tap(lt,((v,{normalModuleFactory:E})=>{const P=new xe(v.moduleGraph);v.dependencyFactories.set(Je,E);v.dependencyTemplates.set(Je,new Je.Template);v.dependencyTemplates.set(He,new He.Template);v.dependencyFactories.set(Qe,P);v.dependencyTemplates.set(Qe,new Qe.Template);v.dependencyTemplates.set(Ae,new Ae.Template);v.dependencyFactories.set(Ie,E);v.dependencyTemplates.set(Ie,new Ie.Template);v.dependencyTemplates.set(Ve,new Ve.Template);for(const P of[q,K,ae,ge]){E.hooks.createParser.for(P).tap(lt,(v=>{ct[P](v);const{namedExports:E}=v;switch(P){case q:case ge:return new st({namedExports:E});case K:return new st({allowModeSwitch:false,namedExports:E});case ae:return new st({defaultMode:"local",namedExports:E})}}));E.hooks.createGenerator.for(P).tap(lt,(v=>{it[P](v);return v.exportsOnly?new tt:new nt}));E.hooks.createModuleClass.for(P).tap(lt,((E,P)=>{if(P.dependencies.length>0){const R=P.dependencies[0];if(R instanceof Ie){const P=v.moduleGraph.getParentModule(R);if(P instanceof N){let v;if(P.cssLayer!==null&&P.cssLayer!==undefined||P.supports||P.media){if(!v){v=[]}v.push([P.cssLayer,P.supports,P.media])}if(P.inheritance){if(!v){v=[]}v.push(...P.inheritance)}return new N({...E,cssLayer:R.layer,supports:R.supports,media:R.media,inheritance:v})}return new N({...E,cssLayer:R.layer,supports:R.supports,media:R.media})}}return new N(E)}))}const R=new WeakMap;v.hooks.afterCodeGeneration.tap("CssModulesPlugin",(()=>{const{chunkGraph:E}=v;for(const P of v.chunks){if(CssModulesPlugin.chunkHasCss(P,E)){R.set(P,this.getOrderedChunkCssModules(P,E,v))}}}));v.hooks.contentHash.tap("CssModulesPlugin",(E=>{const{chunkGraph:P,outputOptions:{hashSalt:$,hashDigest:N,hashDigestLength:L,hashFunction:q}}=v;const K=R.get(E);if(K===undefined)return;const ae=Xe(q);if($)ae.update($);for(const v of K){ae.update(P.getModuleHash(v,E.runtime))}const ge=ae.digest(N);E.contentHash.css=et(ge,L)}));v.hooks.renderManifest.tap(lt,((E,P)=>{const{chunkGraph:$}=v;const{hash:N,chunk:q,codeGenerationResults:K}=P;if(q instanceof L)return E;const ae=R.get(q);if(ae!==undefined){E.push({render:()=>this.renderChunk({chunk:q,chunkGraph:$,codeGenerationResults:K,uniqueName:v.outputOptions.uniqueName,modules:ae}),filenameTemplate:CssModulesPlugin.getChunkFilenameTemplate(q,v.outputOptions),pathOptions:{hash:N,runtime:q.runtime,chunk:q,contentHashType:"css"},identifier:`css${q.id}`,hash:q.contentHash.css})}return E}));const $=v.outputOptions.chunkLoading;const isEnabledForChunk=v=>{const E=v.getEntryOptions();const P=E&&E.chunkLoading!==undefined?E.chunkLoading:$;return P==="jsonp"};const ve=new WeakSet;const handler=(E,P)=>{if(ve.has(E))return;ve.add(E);if(!isEnabledForChunk(E))return;P.add(be.publicPath);P.add(be.getChunkCssFilename);P.add(be.hasOwnProperty);P.add(be.moduleFactoriesAddOnly);P.add(be.makeNamespaceObject);const R=rt();v.addRuntimeModule(E,new R(P))};v.hooks.runtimeRequirementInTree.for(be.hasCssModules).tap(lt,handler);v.hooks.runtimeRequirementInTree.for(be.ensureChunkHandlers).tap(lt,handler);v.hooks.runtimeRequirementInTree.for(be.hmrDownloadUpdateHandlers).tap(lt,handler)}))}getModulesInOrder(v,E,P){if(!E)return[];const R=[...E];const $=Array.from(v.groupsIterable,(v=>{const E=R.map((E=>({module:E,index:v.getModulePostOrderIndex(E)}))).filter((v=>v.index!==undefined)).sort(((v,E)=>E.index-v.index)).map((v=>v.module));return{list:E,set:new Set(E)}}));if($.length===1)return $[0].list.reverse();const compareModuleLists=({list:v},{list:E})=>{if(v.length===0){return E.length===0?0:1}else{if(E.length===0)return-1;return Ke(v[v.length-1],E[E.length-1])}};$.sort(compareModuleLists);const N=[];for(;;){const E=new Set;const R=$[0].list;if(R.length===0){break}let L=R[R.length-1];let q=undefined;e:for(;;){for(const{list:v,set:P}of $){if(v.length===0)continue;const R=v[v.length-1];if(R===L)continue;if(!P.has(L))continue;E.add(L);if(E.has(R)){q=R;continue}L=R;q=false;continue e}break}if(q){if(P){P.warnings.push(new ve(`chunk ${v.name||v.id}\nConflicting order between ${q.readableIdentifier(P.requestShortener)} and ${L.readableIdentifier(P.requestShortener)}`))}L=q}N.push(L);for(const{list:v,set:E}of $){const P=v[v.length-1];if(P===L)v.pop();else if(q&&E.has(L)){const E=v.indexOf(L);if(E>=0)v.splice(E,1)}}$.sort(compareModuleLists)}return N}getOrderedChunkCssModules(v,E,P){return[...this.getModulesInOrder(v,E.getOrderedChunkModulesIterableBySourceType(v,"css-import",Ke),P),...this.getModulesInOrder(v,E.getOrderedChunkModulesIterableBySourceType(v,"css",Ke),P)]}renderChunk({uniqueName:v,chunk:E,chunkGraph:P,codeGenerationResults:N,modules:L}){const q=new R;const K=[];for(const ae of L){try{const L=N.get(ae,E.runtime);let ge=L.sources.get("css")||L.sources.get("css-import");let be=[[ae.cssLayer,ae.supports,ae.media]];if(ae.inheritance){be.push(...ae.inheritance)}for(let v=0;v{const R=`${v?v+"-":""}${ve}-${E}`;return P===R?`${escapeCss(E)}/`:P==="--"+R?`${escapeCss(E)}%`:`${escapeCss(E)}(${escapeCss(P)})`})).join(""):""}${escapeCss(ve)}`)}catch(v){v.message+=`\nduring rendering of css ${ae.identifier()}`;throw v}}q.add(`head{--webpack-${escapeCss((v?v+"-":"")+E.id,true)}:${K.join(",")};}`);return q}static getChunkFilenameTemplate(v,E){if(v.cssFilenameTemplate){return v.cssFilenameTemplate}else if(v.canBeInitial()){return E.cssFilename}else{return E.cssChunkFilename}}static chunkHasCss(v,E){return!!E.getChunkModulesIterableBySourceType(v,"css")||!!E.getChunkModulesIterableBySourceType(v,"css-import")}}v.exports=CssModulesPlugin},96762:function(v,E,P){"use strict";const R=P(34734);const{CSS_MODULE_TYPE_AUTO:$}=P(96170);const N=P(38063);const L=P(16413);const q=P(9297);const K=P(29827);const ae=P(53008);const ge=P(84119);const be=P(10691);const xe=P(11208);const ve=P(92090);const{parseResource:Ae}=P(51984);const Ie=P(2872);const He="{".charCodeAt(0);const Qe="}".charCodeAt(0);const Je=":".charCodeAt(0);const Ve="/".charCodeAt(0);const Ke=";".charCodeAt(0);const Ye=/\\[\n\r\f]/g;const Xe=/(^[ \t\n\r\f]*|[ \t\n\r\f]*$)/g;const Ze=/\\([0-9a-fA-F]{1,6}[ \t\n\r\f]?|[\s\S])/g;const et=/^(-\w+-)?image-set$/i;const tt=/^@(-\w+-)?keyframes$/;const nt=/^(-\w+-)?animation(-name)?$/i;const st=/\.module(s)?\.[^.]+$/i;const normalizeUrl=(v,E)=>{if(E){v=v.replace(Ye,"")}v=v.replace(Xe,"").replace(Ze,(v=>{if(v.length>2){return String.fromCharCode(parseInt(v.slice(1).trim(),16))}else{return v[1]}}));if(/^data:/i.test(v)){return v}if(v.includes("%")){try{v=decodeURIComponent(v)}catch(v){}}return v};class LocConverter{constructor(v){this._input=v;this.line=1;this.column=0;this.pos=0}get(v){if(this.pos!==v){if(this.pos0&&(P=E.lastIndexOf("\n",P-1))!==-1)this.line++}}else{let E=this._input.lastIndexOf("\n",this.pos);while(E>=v){this.line--;E=E>0?this._input.lastIndexOf("\n",E-1):-1}this.column=v-E}this.pos=v}return this}}const rt=0;const ot=1;const it=2;const at=3;const ct=4;class CssParser extends N{constructor({allowModeSwitch:v=true,defaultMode:E="global",namedExports:P=true}={}){super();this.allowModeSwitch=v;this.defaultMode=E;this.namedExports=P}_emitWarning(v,E,P,$,N){const{line:q,column:K}=P.get($);const{line:ae,column:ge}=P.get(N);v.current.addWarning(new R(v.module,new L(E),{start:{line:q,column:K},end:{line:ae,column:ge}}))}parse(v,E){if(Buffer.isBuffer(v)){v=v.toString("utf-8")}else if(typeof v==="object"){throw new Error("webpackAst is unexpected for the CssParser")}if(v[0]==="\ufeff"){v=v.slice(1)}const P=E.module;let R;if(P.type===$&&st.test(Ae(P.matchResource||P.resource).path)){R=this.defaultMode;this.defaultMode="local"}const N=new LocConverter(v);const L=new Set;let Ye=rt;let Xe=0;let Ze=true;let lt=undefined;let ut=undefined;let pt=[];let dt=undefined;let ft=false;let ht=true;const isNextNestedSyntax=(v,E)=>{E=Ie.eatWhitespaceAndComments(v,E);if(v[E]==="}"){return false}const P=Ie.isIdentStartCodePoint(v.charCodeAt(E));return!P};const isLocalMode=()=>lt==="local"||this.defaultMode==="local"&<===undefined;const eatUntil=v=>{const E=Array.from({length:v.length},((E,P)=>v.charCodeAt(P)));const P=Array.from({length:E.reduce(((v,E)=>Math.max(v,E)),0)+1},(()=>false));E.forEach((v=>P[v]=true));return(v,E)=>{for(;;){const R=v.charCodeAt(E);if(R{let R="";for(;;){if(v.charCodeAt(E)===Ve){const P=Ie.eatComments(v,E);if(E!==P){E=P;if(E===v.length)break}else{R+="/";E++;if(E===v.length)break}}const $=P(v,E);if(E!==$){R+=v.slice(E,$);E=$}else{break}if(E===v.length)break}return[E,R.trimEnd()]};const mt=eatUntil(":};/");const gt=eatUntil("};/");const parseExports=(v,R)=>{R=Ie.eatWhitespaceAndComments(v,R);const $=v.charCodeAt(R);if($!==He){this._emitWarning(E,`Unexpected '${v[R]}' at ${R} during parsing of ':export' (expected '{')`,N,R,R);return R}R++;R=Ie.eatWhitespaceAndComments(v,R);for(;;){if(v.charCodeAt(R)===Qe)break;R=Ie.eatWhitespaceAndComments(v,R);if(R===v.length)return R;let $=R;let L;[R,L]=eatText(v,R,mt);if(R===v.length)return R;if(v.charCodeAt(R)!==Je){this._emitWarning(E,`Unexpected '${v[R]}' at ${R} during parsing of export name in ':export' (expected ':')`,N,$,R);return R}R++;if(R===v.length)return R;R=Ie.eatWhitespaceAndComments(v,R);if(R===v.length)return R;let q;[R,q]=eatText(v,R,gt);if(R===v.length)return R;const ae=v.charCodeAt(R);if(ae===Ke){R++;if(R===v.length)return R;R=Ie.eatWhitespaceAndComments(v,R);if(R===v.length)return R}else if(ae!==Qe){this._emitWarning(E,`Unexpected '${v[R]}' at ${R} during parsing of export value in ':export' (expected ';' or '}')`,N,$,R);return R}const ge=new K(L,q);const{line:be,column:xe}=N.get($);const{line:ve,column:Ae}=N.get(R);ge.setLoc(be,xe,ve,Ae);P.addDependency(ge)}R++;if(R===v.length)return R;R=Ie.eatWhiteLine(v,R);return R};const yt=eatUntil(":{};");const processLocalDeclaration=(v,E,R)=>{lt=undefined;E=Ie.eatWhitespaceAndComments(v,E);const $=E;const[q,K]=eatText(v,E,yt);if(v.charCodeAt(q)!==Je)return R;E=q+1;if(K.startsWith("--")){const{line:v,column:E}=N.get($);const{line:R,column:ae}=N.get(q);const be=K.slice(2);const xe=new ge(be,[$,q],"--");xe.setLoc(v,E,R,ae);P.addDependency(xe);L.add(be)}else if(!K.startsWith("--")&&nt.test(K)){ft=true}return E};const processDeclarationValueDone=v=>{if(ft&&ut){const{line:E,column:R}=N.get(ut[0]);const{line:$,column:L}=N.get(ut[1]);const q=v.slice(ut[0],ut[1]);const K=new be(q,ut);K.setLoc(E,R,$,L);P.addDependency(K);ut=undefined}};const bt=eatUntil("{};/");const xt=eatUntil(",)};/");Ie(v,{isSelector:()=>ht,url:(v,R,$,L,q)=>{let K=normalizeUrl(v.slice(L,q),false);switch(Ye){case it:{if(dt.inSupports){break}if(dt.url){this._emitWarning(E,`Duplicate of 'url(...)' in '${v.slice(dt.start,$)}'`,N,R,$);break}dt.url=K;dt.urlStart=R;dt.urlEnd=$;break}case ct:case at:{break}case ot:{if(K.length===0){break}const v=new xe(K,[R,$],"url");const{line:E,column:L}=N.get(R);const{line:q,column:ae}=N.get($);v.setLoc(E,L,q,ae);P.addDependency(v);P.addCodeGenerationDependency(v);break}}return $},string:(v,R,$)=>{switch(Ye){case it:{const P=pt[pt.length-1]&&pt[pt.length-1][0]==="url";if(dt.inSupports||!P&&dt.url){break}if(P&&dt.url){this._emitWarning(E,`Duplicate of 'url(...)' in '${v.slice(dt.start,$)}'`,N,R,$);break}dt.url=normalizeUrl(v.slice(R+1,$-1),true);if(!P){dt.urlStart=R;dt.urlEnd=$}break}case ot:{const E=pt[pt.length-1];if(E&&(E[0].replace(/\\/g,"").toLowerCase()==="url"||et.test(E[0].replace(/\\/g,"")))){let L=normalizeUrl(v.slice(R+1,$-1),true);if(L.length===0){break}const q=E[0].replace(/\\/g,"").toLowerCase()==="url";const K=new xe(L,[R,$],q?"string":"url");const{line:ae,column:ge}=N.get(R);const{line:be,column:ve}=N.get($);K.setLoc(ae,ge,be,ve);P.addDependency(K);P.addCodeGenerationDependency(K)}}}return $},atKeyword:(v,R,$)=>{const q=v.slice(R,$).toLowerCase();if(q==="@namespace"){Ye=ct;this._emitWarning(E,"'@namespace' is not supported in bundled CSS",N,R,$);return $}else if(q==="@import"){if(!Ze){Ye=at;this._emitWarning(E,"Any '@import' rules must precede all other rules",N,R,$);return $}Ye=it;dt={start:R}}else if(this.allowModeSwitch&&tt.test(q)){let L=$;L=Ie.eatWhitespaceAndComments(v,L);if(L===v.length)return L;const[q,K]=eatText(v,L,bt);if(q===v.length)return q;if(v.charCodeAt(q)!==He){this._emitWarning(E,`Unexpected '${v[q]}' at ${q} during parsing of @keyframes (expected '{')`,N,R,$);return q}const{line:ae,column:be}=N.get(L);const{line:xe,column:ve}=N.get(q);const Ae=new ge(K,[L,q]);Ae.setLoc(ae,be,xe,ve);P.addDependency(Ae);L=q;return L+1}else if(this.allowModeSwitch&&q==="@property"){let q=$;q=Ie.eatWhitespaceAndComments(v,q);if(q===v.length)return q;const K=q;const[ae,be]=eatText(v,q,bt);if(ae===v.length)return ae;if(!be.startsWith("--"))return ae;if(v.charCodeAt(ae)!==He){this._emitWarning(E,`Unexpected '${v[ae]}' at ${ae} during parsing of @property (expected '{')`,N,R,$);return ae}const{line:xe,column:ve}=N.get(q);const{line:Ae,column:Qe}=N.get(ae);const Je=be.slice(2);const Ve=new ge(Je,[K,ae],"--");Ve.setLoc(xe,ve,Ae,Qe);P.addDependency(Ve);L.add(Je);q=ae;return q+1}else if(q==="@media"||q==="@supports"||q==="@layer"||q==="@container"){lt=isLocalMode()?"local":"global";ht=true;return $}else if(this.allowModeSwitch){lt="global";ht=false}return $},semicolon:(v,R,$)=>{switch(Ye){case it:{const{start:R}=dt;if(dt.url===undefined){this._emitWarning(E,`Expected URL in '${v.slice(R,$)}'`,N,R,$);dt=undefined;Ye=rt;return $}if(dt.urlStart>dt.layerStart||dt.urlStart>dt.supportsStart){this._emitWarning(E,`An URL in '${v.slice(R,$)}' should be before 'layer(...)' or 'supports(...)'`,N,R,$);dt=undefined;Ye=rt;return $}if(dt.layerStart>dt.supportsStart){this._emitWarning(E,`The 'layer(...)' in '${v.slice(R,$)}' should be before 'supports(...)'`,N,R,$);dt=undefined;Ye=rt;return $}const L=$;$=Ie.eatWhiteLine(v,$+1);const{line:K,column:ge}=N.get(R);const{line:be,column:xe}=N.get($);const ve=dt.supportsEnd||dt.layerEnd||dt.urlEnd||R;const Ae=Ie.eatWhitespaceAndComments(v,ve);if(Ae!==L-1){dt.media=v.slice(ve,L-1).trim()}const He=dt.url.trim();if(He.length===0){const v=new q("",[R,$]);P.addPresentationalDependency(v);v.setLoc(K,ge,be,xe)}else{const v=new ae(He,[R,$],dt.layer,dt.supports,dt.media&&dt.media.length>0?dt.media:undefined);v.setLoc(K,ge,be,xe);P.addDependency(v)}dt=undefined;Ye=rt;break}case at:case ct:{Ye=rt;break}case ot:{if(this.allowModeSwitch){processDeclarationValueDone(v);ft=false;ht=isNextNestedSyntax(v,$)}break}}return $},leftCurlyBracket:(v,E,P)=>{switch(Ye){case rt:{Ze=false;Ye=ot;Xe=1;if(this.allowModeSwitch){ht=isNextNestedSyntax(v,P)}break}case ot:{Xe++;if(this.allowModeSwitch){ht=isNextNestedSyntax(v,P)}break}}return P},rightCurlyBracket:(v,E,P)=>{switch(Ye){case ot:{if(isLocalMode()){processDeclarationValueDone(v);ft=false}if(--Xe===0){Ye=rt;if(this.allowModeSwitch){ht=true;lt=undefined}}else if(this.allowModeSwitch){ht=isNextNestedSyntax(v,P)}break}}return P},identifier:(v,E,P)=>{switch(Ye){case ot:{if(isLocalMode()){if(ft&&pt.length===0){ut=[E,P]}else{return processLocalDeclaration(v,E,P)}}break}case it:{if(v.slice(E,P).toLowerCase()==="layer"){dt.layer="";dt.layerStart=E;dt.layerEnd=P}break}}return P},class:(v,E,R)=>{if(isLocalMode()){const $=v.slice(E+1,R);const L=new ge($,[E+1,R]);const{line:q,column:K}=N.get(E);const{line:ae,column:be}=N.get(R);L.setLoc(q,K,ae,be);P.addDependency(L)}return R},id:(v,E,R)=>{if(isLocalMode()){const $=v.slice(E+1,R);const L=new ge($,[E+1,R]);const{line:q,column:K}=N.get(E);const{line:ae,column:be}=N.get(R);L.setLoc(q,K,ae,be);P.addDependency(L)}return R},function:(v,E,R)=>{let $=v.slice(E,R-1);pt.push([$,E,R]);if(Ye===it&&$.toLowerCase()==="supports"){dt.inSupports=true}if(isLocalMode()){$=$.toLowerCase();if(ft&&pt.length===1){ut=undefined}if($==="var"){let E=Ie.eatWhitespaceAndComments(v,R);if(E===v.length)return E;const[$,q]=eatText(v,E,xt);if(!q.startsWith("--"))return R;const{line:K,column:ae}=N.get(E);const{line:ge,column:xe}=N.get($);const ve=new be(q.slice(2),[E,$],"--",L);ve.setLoc(K,ae,ge,xe);P.addDependency(ve);return $}}return R},leftParenthesis:(v,E,P)=>{pt.push(["(",E,P]);return P},rightParenthesis:(v,E,R)=>{const $=pt[pt.length-1];const N=pt.pop();if(this.allowModeSwitch&&N&&(N[0]===":local"||N[0]===":global")){lt=pt[pt.length-1]?pt[pt.length-1][0]:undefined;const v=new q("",[E,R]);P.addPresentationalDependency(v);return R}switch(Ye){case it:{if($&&$[0]==="url"&&!dt.inSupports){dt.urlStart=$[1];dt.urlEnd=R}else if($&&$[0].toLowerCase()==="layer"&&!dt.inSupports){dt.layer=v.slice($[2],R-1).trim();dt.layerStart=$[1];dt.layerEnd=R}else if($&&$[0].toLowerCase()==="supports"){dt.supports=v.slice($[2],R-1).trim();dt.supportsStart=$[1];dt.supportsEnd=R;dt.inSupports=false}break}}return R},pseudoClass:(v,E,R)=>{if(this.allowModeSwitch){const $=v.slice(E,R).toLowerCase();if($===":global"){lt="global";R=Ie.eatWhitespace(v,R);const $=new q("",[E,R]);P.addPresentationalDependency($);return R}else if($===":local"){lt="local";R=Ie.eatWhitespace(v,R);const $=new q("",[E,R]);P.addPresentationalDependency($);return R}switch(Ye){case rt:{if($===":export"){const $=parseExports(v,R);const N=new q("",[E,$]);P.addPresentationalDependency(N);return $}break}}}return R},pseudoFunction:(v,E,R)=>{let $=v.slice(E,R-1);pt.push([$,E,R]);if(this.allowModeSwitch){$=$.toLowerCase();if($===":global"){lt="global";const v=new q("",[E,R]);P.addPresentationalDependency(v)}else if($===":local"){lt="local";const v=new q("",[E,R]);P.addPresentationalDependency(v)}}return R},comma:(v,E,P)=>{if(this.allowModeSwitch){lt=undefined;switch(Ye){case ot:{if(isLocalMode()){processDeclarationValueDone(v)}break}}}return P}});if(R){this.defaultMode=R}P.buildInfo.strict=true;P.buildMeta.exportsType=this.namedExports?"namespace":"default";P.addDependency(new ve([],true));return E}}v.exports=CssParser},2872:function(v){"use strict";const E="\n".charCodeAt(0);const P="\r".charCodeAt(0);const R="\f".charCodeAt(0);const $="\t".charCodeAt(0);const N=" ".charCodeAt(0);const L="/".charCodeAt(0);const q="\\".charCodeAt(0);const K="*".charCodeAt(0);const ae="(".charCodeAt(0);const ge=")".charCodeAt(0);const be="{".charCodeAt(0);const xe="}".charCodeAt(0);const ve="[".charCodeAt(0);const Ae="]".charCodeAt(0);const Ie='"'.charCodeAt(0);const He="'".charCodeAt(0);const Qe=".".charCodeAt(0);const Je=":".charCodeAt(0);const Ve=";".charCodeAt(0);const Ke=",".charCodeAt(0);const Ye="%".charCodeAt(0);const Xe="@".charCodeAt(0);const Ze="_".charCodeAt(0);const et="a".charCodeAt(0);const tt="u".charCodeAt(0);const nt="e".charCodeAt(0);const st="z".charCodeAt(0);const rt="A".charCodeAt(0);const ot="E".charCodeAt(0);const it="U".charCodeAt(0);const at="Z".charCodeAt(0);const ct="0".charCodeAt(0);const lt="9".charCodeAt(0);const ut="#".charCodeAt(0);const pt="+".charCodeAt(0);const dt="-".charCodeAt(0);const ft="<".charCodeAt(0);const ht=">".charCodeAt(0);const _isNewLine=v=>v===E||v===P||v===R;const consumeSpace=(v,E,P)=>{let R;do{E++;R=v.charCodeAt(E)}while(_isWhiteSpace(R));return E};const _isNewline=v=>v===E||v===P||v===R;const _isSpace=v=>v===$||v===N;const _isWhiteSpace=v=>_isNewline(v)||_isSpace(v);const isIdentStartCodePoint=v=>v>=et&&v<=st||v>=rt&&v<=at||v===Ze||v>=128;const consumeDelimToken=(v,E,P)=>E+1;const consumeComments=(v,E,P)=>{if(v.charCodeAt(E)===L&&v.charCodeAt(E+1)===K){E+=1;while(E(E,P,R)=>{const $=P;P=_consumeString(E,P,v);if(R.string!==undefined){P=R.string(E,$,P)}return P};const _consumeString=(v,E,P)=>{E++;for(;;){if(E===v.length)return E;const R=v.charCodeAt(E);if(R===P)return E+1;if(_isNewLine(R)){return E}if(R===q){E++;if(E===v.length)return E;E++}else{E++}}};const _isIdentifierStartCode=v=>v===Ze||v>=et&&v<=st||v>=rt&&v<=at||v>128;const _isTwoCodePointsAreValidEscape=(v,E)=>{if(v!==q)return false;if(_isNewLine(E))return false;return true};const _isDigit=v=>v>=ct&&v<=lt;const _startsIdentifier=(v,E)=>{const P=v.charCodeAt(E);if(P===dt){if(E===v.length)return false;const P=v.charCodeAt(E+1);if(P===dt)return true;if(P===q){const P=v.charCodeAt(E+2);return!_isNewLine(P)}return _isIdentifierStartCode(P)}if(P===q){const P=v.charCodeAt(E+1);return!_isNewLine(P)}return _isIdentifierStartCode(P)};const consumeNumberSign=(v,E,P)=>{const R=E;E++;if(E===v.length)return E;if(P.isSelector(v,E)&&_startsIdentifier(v,E)){E=_consumeIdentifier(v,E,P);if(P.id!==undefined){return P.id(v,R,E)}}return E};const consumeMinus=(v,E,P)=>{const R=E;E++;if(E===v.length)return E;const $=v.charCodeAt(E);if($===Qe||_isDigit($)){return consumeNumericToken(v,E,P)}else if($===dt){E++;if(E===v.length)return E;const $=v.charCodeAt(E);if($===ht){return E+1}else{E=_consumeIdentifier(v,E,P);if(P.identifier!==undefined){return P.identifier(v,R,E)}}}else if($===q){if(E+1===v.length)return E;const $=v.charCodeAt(E+1);if(_isNewLine($))return E;E=_consumeIdentifier(v,E,P);if(P.identifier!==undefined){return P.identifier(v,R,E)}}else if(_isIdentifierStartCode($)){E=consumeOtherIdentifier(v,E-1,P)}return E};const consumeDot=(v,E,P)=>{const R=E;E++;if(E===v.length)return E;const $=v.charCodeAt(E);if(_isDigit($))return consumeNumericToken(v,E-2,P);if(!P.isSelector(v,E)||!_startsIdentifier(v,E))return E;E=_consumeIdentifier(v,E,P);if(P.class!==undefined)return P.class(v,R,E);return E};const consumeNumericToken=(v,E,P)=>{E=_consumeNumber(v,E,P);if(E===v.length)return E;if(_startsIdentifier(v,E))return _consumeIdentifier(v,E,P);const R=v.charCodeAt(E);if(R===Ye)return E+1;return E};const consumeOtherIdentifier=(v,E,P)=>{const R=E;E=_consumeIdentifier(v,E,P);if(E!==v.length&&v.charCodeAt(E)===ae){E++;if(P.function!==undefined){return P.function(v,R,E)}}else{if(P.identifier!==undefined){return P.identifier(v,R,E)}}return E};const consumePotentialUrl=(v,E,P)=>{const R=E;E=_consumeIdentifier(v,E,P);const $=E+1;if(E===R+3&&v.slice(R,$).toLowerCase()==="url("){E++;let N=v.charCodeAt(E);while(_isWhiteSpace(N)){E++;if(E===v.length)return E;N=v.charCodeAt(E)}if(N===Ie||N===He){if(P.function!==undefined){return P.function(v,R,$)}return $}else{const $=E;let L;for(;;){if(N===q){E++;if(E===v.length)return E;E++}else if(_isWhiteSpace(N)){L=E;do{E++;if(E===v.length)return E;N=v.charCodeAt(E)}while(_isWhiteSpace(N));if(N!==ge)return E;E++;if(P.url!==undefined){return P.url(v,R,E,$,L)}return E}else if(N===ge){L=E;E++;if(P.url!==undefined){return P.url(v,R,E,$,L)}return E}else if(N===ae){return E}else{E++}if(E===v.length)return E;N=v.charCodeAt(E)}}}else{if(P.identifier!==undefined){return P.identifier(v,R,E)}return E}};const consumePotentialPseudo=(v,E,P)=>{const R=E;E++;if(!P.isSelector(v,E)||!_startsIdentifier(v,E))return E;E=_consumeIdentifier(v,E,P);let $=v.charCodeAt(E);if($===ae){E++;if(P.pseudoFunction!==undefined){return P.pseudoFunction(v,R,E)}return E}if(P.pseudoClass!==undefined){return P.pseudoClass(v,R,E)}return E};const consumeLeftParenthesis=(v,E,P)=>{E++;if(P.leftParenthesis!==undefined){return P.leftParenthesis(v,E-1,E)}return E};const consumeRightParenthesis=(v,E,P)=>{E++;if(P.rightParenthesis!==undefined){return P.rightParenthesis(v,E-1,E)}return E};const consumeLeftCurlyBracket=(v,E,P)=>{E++;if(P.leftCurlyBracket!==undefined){return P.leftCurlyBracket(v,E-1,E)}return E};const consumeRightCurlyBracket=(v,E,P)=>{E++;if(P.rightCurlyBracket!==undefined){return P.rightCurlyBracket(v,E-1,E)}return E};const consumeSemicolon=(v,E,P)=>{E++;if(P.semicolon!==undefined){return P.semicolon(v,E-1,E)}return E};const consumeComma=(v,E,P)=>{E++;if(P.comma!==undefined){return P.comma(v,E-1,E)}return E};const _consumeIdentifier=(v,E)=>{for(;;){const P=v.charCodeAt(E);if(P===q){E++;if(E===v.length)return E;E++}else if(_isIdentifierStartCode(P)||_isDigit(P)||P===dt){E++}else{return E}}};const _consumeNumber=(v,E)=>{E++;if(E===v.length)return E;let P=v.charCodeAt(E);while(_isDigit(P)){E++;if(E===v.length)return E;P=v.charCodeAt(E)}if(P===Qe&&E+1!==v.length){const R=v.charCodeAt(E+1);if(_isDigit(R)){E+=2;P=v.charCodeAt(E);while(_isDigit(P)){E++;if(E===v.length)return E;P=v.charCodeAt(E)}}}if(P===nt||P===ot){if(E+1!==v.length){const P=v.charCodeAt(E+2);if(_isDigit(P)){E+=2}else if((P===dt||P===pt)&&E+2!==v.length){const P=v.charCodeAt(E+2);if(_isDigit(P)){E+=3}else{return E}}else{return E}}}else{return E}P=v.charCodeAt(E);while(_isDigit(P)){E++;if(E===v.length)return E;P=v.charCodeAt(E)}return E};const consumeLessThan=(v,E,P)=>{if(v.slice(E+1,E+4)==="!--")return E+4;return E+1};const consumeAt=(v,E,P)=>{const R=E;E++;if(E===v.length)return E;if(_startsIdentifier(v,E)){E=_consumeIdentifier(v,E,P);if(P.atKeyword!==undefined){E=P.atKeyword(v,R,E)}}return E};const consumeReverseSolidus=(v,E,P)=>{const R=E;E++;if(E===v.length)return E;if(_isTwoCodePointsAreValidEscape(v.charCodeAt(R),v.charCodeAt(E))){return consumeOtherIdentifier(v,E-1,P)}return E};const mt=Array.from({length:128},((v,L)=>{switch(L){case E:case P:case R:case $:case N:return consumeSpace;case Ie:return consumeString(L);case ut:return consumeNumberSign;case He:return consumeString(L);case ae:return consumeLeftParenthesis;case ge:return consumeRightParenthesis;case pt:return consumeNumericToken;case Ke:return consumeComma;case dt:return consumeMinus;case Qe:return consumeDot;case Je:return consumePotentialPseudo;case Ve:return consumeSemicolon;case ft:return consumeLessThan;case Xe:return consumeAt;case ve:return consumeDelimToken;case q:return consumeReverseSolidus;case Ae:return consumeDelimToken;case be:return consumeLeftCurlyBracket;case xe:return consumeRightCurlyBracket;case tt:case it:return consumePotentialUrl;default:if(_isDigit(L))return consumeNumericToken;if(isIdentStartCodePoint(L)){return consumeOtherIdentifier}return consumeDelimToken}}));v.exports=(v,E)=>{let P=0;while(P{for(;;){let P=E;E=consumeComments(v,E,{});if(P===E){break}}return E};v.exports.eatWhitespace=(v,E)=>{while(_isWhiteSpace(v.charCodeAt(E))){E++}return E};v.exports.eatWhitespaceAndComments=(v,E)=>{for(;;){let P=E;E=consumeComments(v,E,{});while(_isWhiteSpace(v.charCodeAt(E))){E++}if(P===E){break}}return E};v.exports.eatWhiteLine=(v,R)=>{for(;;){const $=v.charCodeAt(R);if(_isSpace($)){R++;continue}if(_isNewLine($))R++;if($===P&&v.charCodeAt(R+1)===E)R++;break}return R}},20052:function(v,E,P){"use strict";const{Tracer:R}=P(86853);const{JAVASCRIPT_MODULE_TYPE_AUTO:$,JAVASCRIPT_MODULE_TYPE_DYNAMIC:N,JAVASCRIPT_MODULE_TYPE_ESM:L,WEBASSEMBLY_MODULE_TYPE_ASYNC:q,WEBASSEMBLY_MODULE_TYPE_SYNC:K,JSON_MODULE_TYPE:ae}=P(96170);const ge=P(21596);const{dirname:be,mkdirpSync:xe}=P(43860);const ve=ge(P(48164),(()=>P(73499)),{name:"Profiling Plugin",baseDataPath:"options"});let Ae=undefined;try{Ae=P(31405)}catch(v){console.log("Unable to CPU profile in < node 8.0")}class Profiler{constructor(v){this.session=undefined;this.inspector=v;this._startTime=0}hasSession(){return this.session!==undefined}startProfiling(){if(this.inspector===undefined){return Promise.resolve()}try{this.session=new Ae.Session;this.session.connect()}catch(v){this.session=undefined;return Promise.resolve()}const v=process.hrtime();this._startTime=v[0]*1e6+Math.round(v[1]/1e3);return Promise.all([this.sendCommand("Profiler.setSamplingInterval",{interval:100}),this.sendCommand("Profiler.enable"),this.sendCommand("Profiler.start")])}sendCommand(v,E){if(this.hasSession()){return new Promise(((P,R)=>this.session.post(v,E,((v,E)=>{if(v!==null){R(v)}else{P(E)}}))))}else{return Promise.resolve()}}destroy(){if(this.hasSession()){this.session.disconnect()}return Promise.resolve()}stopProfiling(){return this.sendCommand("Profiler.stop").then((({profile:v})=>{const E=process.hrtime();const P=E[0]*1e6+Math.round(E[1]/1e3);if(v.startTimeP){const E=v.endTime-v.startTime;const R=P-this._startTime;const $=Math.max(0,R-E);v.startTime=this._startTime+$/2;v.endTime=P-$/2}return{profile:v}}))}}const createTrace=(v,E)=>{const P=new R;const $=new Profiler(Ae);if(/\/|\\/.test(E)){const P=be(v,E);xe(v,P)}const N=v.createWriteStream(E);let L=0;P.pipe(N);P.instantEvent({name:"TracingStartedInPage",id:++L,cat:["disabled-by-default-devtools.timeline"],args:{data:{sessionId:"-1",page:"0xfff",frames:[{frame:"0xfff",url:"webpack",name:""}]}}});P.instantEvent({name:"TracingStartedInBrowser",id:++L,cat:["disabled-by-default-devtools.timeline"],args:{data:{sessionId:"-1"}}});return{trace:P,counter:L,profiler:$,end:v=>{P.push("]");N.on("close",(()=>{v()}));P.push(null)}}};const Ie="ProfilingPlugin";class ProfilingPlugin{constructor(v={}){ve(v);this.outputPath=v.outputPath||"events.json"}apply(v){const E=createTrace(v.intermediateFileSystem,this.outputPath);E.profiler.startProfiling();Object.keys(v.hooks).forEach((P=>{const R=v.hooks[P];if(R){R.intercept(makeInterceptorFor("Compiler",E)(P))}}));Object.keys(v.resolverFactory.hooks).forEach((P=>{const R=v.resolverFactory.hooks[P];if(R){R.intercept(makeInterceptorFor("Resolver",E)(P))}}));v.hooks.compilation.tap(Ie,((v,{normalModuleFactory:P,contextModuleFactory:R})=>{interceptAllHooksFor(v,E,"Compilation");interceptAllHooksFor(P,E,"Normal Module Factory");interceptAllHooksFor(R,E,"Context Module Factory");interceptAllParserHooks(P,E);interceptAllJavascriptModulesPluginHooks(v,E)}));v.hooks.done.tapAsync({name:Ie,stage:Infinity},((P,R)=>{if(v.watchMode)return R();E.profiler.stopProfiling().then((v=>{if(v===undefined){E.profiler.destroy();E.end(R);return}const P=v.profile.startTime;const $=v.profile.endTime;E.trace.completeEvent({name:"TaskQueueManager::ProcessTaskFromWorkQueue",id:++E.counter,cat:["toplevel"],ts:P,args:{src_file:"../../ipc/ipc_moji_bootstrap.cc",src_func:"Accept"}});E.trace.completeEvent({name:"EvaluateScript",id:++E.counter,cat:["devtools.timeline"],ts:P,dur:$-P,args:{data:{url:"webpack",lineNumber:1,columnNumber:1,frame:"0xFFF"}}});E.trace.instantEvent({name:"CpuProfile",id:++E.counter,cat:["disabled-by-default-devtools.timeline"],ts:$,args:{data:{cpuProfile:v.profile}}});E.profiler.destroy();E.end(R)}))}))}}const interceptAllHooksFor=(v,E,P)=>{if(Reflect.has(v,"hooks")){Object.keys(v.hooks).forEach((R=>{const $=v.hooks[R];if($&&!$._fakeHook){$.intercept(makeInterceptorFor(P,E)(R))}}))}};const interceptAllParserHooks=(v,E)=>{const P=[$,N,L,ae,q,K];P.forEach((P=>{v.hooks.parser.for(P).tap(Ie,((v,P)=>{interceptAllHooksFor(v,E,"Parser")}))}))};const interceptAllJavascriptModulesPluginHooks=(v,E)=>{interceptAllHooksFor({hooks:P(42453).getCompilationHooks(v)},E,"JavascriptModulesPlugin")};const makeInterceptorFor=(v,E)=>v=>({register:P=>{const{name:R,type:$,fn:N}=P;const L=R===Ie?N:makeNewProfiledTapFn(v,E,{name:R,type:$,fn:N});return{...P,fn:L}}});const makeNewProfiledTapFn=(v,E,{name:P,type:R,fn:$})=>{const N=["blink.user_timing"];switch(R){case"promise":return(...v)=>{const R=++E.counter;E.trace.begin({name:P,id:R,cat:N});const L=$(...v);return L.then((v=>{E.trace.end({name:P,id:R,cat:N});return v}))};case"async":return(...v)=>{const R=++E.counter;E.trace.begin({name:P,id:R,cat:N});const L=v.pop();$(...v,((...v)=>{E.trace.end({name:P,id:R,cat:N});L(...v)}))};case"sync":return(...v)=>{const R=++E.counter;if(P===Ie){return $(...v)}E.trace.begin({name:P,id:R,cat:N});let L;try{L=$(...v)}catch(v){E.trace.end({name:P,id:R,cat:N});throw v}E.trace.end({name:P,id:R,cat:N});return L};default:break}};v.exports=ProfilingPlugin;v.exports.Profiler=Profiler},18949:function(v,E,P){"use strict";const R=P(92529);const $=P(41718);const N=P(55111);const L={f:{definition:"var __WEBPACK_AMD_DEFINE_RESULT__;",content:`!(__WEBPACK_AMD_DEFINE_RESULT__ = (#).call(exports, ${R.require}, exports, module),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))`,requests:[R.require,R.exports,R.module]},o:{definition:"",content:"!(module.exports = #)",requests:[R.module]},of:{definition:"var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;",content:`!(__WEBPACK_AMD_DEFINE_FACTORY__ = (#),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, ${R.require}, exports, module)) :\n\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))`,requests:[R.require,R.exports,R.module]},af:{definition:"var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;",content:`!(__WEBPACK_AMD_DEFINE_ARRAY__ = #, __WEBPACK_AMD_DEFINE_RESULT__ = (#).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))`,requests:[R.exports,R.module]},ao:{definition:"",content:"!(#, module.exports = #)",requests:[R.module]},aof:{definition:"var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;",content:`!(__WEBPACK_AMD_DEFINE_ARRAY__ = #, __WEBPACK_AMD_DEFINE_FACTORY__ = (#),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))`,requests:[R.exports,R.module]},lf:{definition:"var XXX, XXXmodule;",content:`!(XXXmodule = { id: YYY, exports: {}, loaded: false }, XXX = (#).call(XXXmodule.exports, ${R.require}, XXXmodule.exports, XXXmodule), XXXmodule.loaded = true, XXX === undefined && (XXX = XXXmodule.exports))`,requests:[R.require,R.module]},lo:{definition:"var XXX;",content:"!(XXX = #)",requests:[]},lof:{definition:"var XXX, XXXfactory, XXXmodule;",content:`!(XXXfactory = (#), (typeof XXXfactory === 'function' ? ((XXXmodule = { id: YYY, exports: {}, loaded: false }), (XXX = XXXfactory.call(XXXmodule.exports, ${R.require}, XXXmodule.exports, XXXmodule)), (XXXmodule.loaded = true), XXX === undefined && (XXX = XXXmodule.exports)) : XXX = XXXfactory))`,requests:[R.require,R.module]},laf:{definition:"var __WEBPACK_AMD_DEFINE_ARRAY__, XXX, XXXexports;",content:"!(__WEBPACK_AMD_DEFINE_ARRAY__ = #, XXX = (#).apply(XXXexports = {}, __WEBPACK_AMD_DEFINE_ARRAY__), XXX === undefined && (XXX = XXXexports))",requests:[]},lao:{definition:"var XXX;",content:"!(#, XXX = #)",requests:[]},laof:{definition:"var XXXarray, XXXfactory, XXXexports, XXX;",content:`!(XXXarray = #, XXXfactory = (#),\n\t\t(typeof XXXfactory === 'function' ?\n\t\t\t((XXX = XXXfactory.apply(XXXexports = {}, XXXarray)), XXX === undefined && (XXX = XXXexports)) :\n\t\t\t(XXX = XXXfactory)\n\t\t))`,requests:[]}};class AMDDefineDependency extends N{constructor(v,E,P,R,$){super();this.range=v;this.arrayRange=E;this.functionRange=P;this.objectRange=R;this.namedModule=$;this.localModule=null}get type(){return"amd define"}serialize(v){const{write:E}=v;E(this.range);E(this.arrayRange);E(this.functionRange);E(this.objectRange);E(this.namedModule);E(this.localModule);super.serialize(v)}deserialize(v){const{read:E}=v;this.range=E();this.arrayRange=E();this.functionRange=E();this.objectRange=E();this.namedModule=E();this.localModule=E();super.deserialize(v)}}$(AMDDefineDependency,"webpack/lib/dependencies/AMDDefineDependency");AMDDefineDependency.Template=class AMDDefineDependencyTemplate extends N.Template{apply(v,E,{runtimeRequirements:P}){const R=v;const $=this.branch(R);const{definition:N,content:q,requests:K}=L[$];for(const v of K){P.add(v)}this.replace(R,E,N,q)}localModuleVar(v){return v.localModule&&v.localModule.used&&v.localModule.variableName()}branch(v){const E=this.localModuleVar(v)?"l":"";const P=v.arrayRange?"a":"";const R=v.objectRange?"o":"";const $=v.functionRange?"f":"";return E+P+R+$}replace(v,E,P,R){const $=this.localModuleVar(v);if($){R=R.replace(/XXX/g,$.replace(/\$/g,"$$$$"));P=P.replace(/XXX/g,$.replace(/\$/g,"$$$$"))}if(v.namedModule){R=R.replace(/YYY/g,JSON.stringify(v.namedModule))}const N=R.split("#");if(P)E.insert(0,P);let L=v.range[0];if(v.arrayRange){E.replace(L,v.arrayRange[0]-1,N.shift());L=v.arrayRange[1]}if(v.objectRange){E.replace(L,v.objectRange[0]-1,N.shift());L=v.objectRange[1]}else if(v.functionRange){E.replace(L,v.functionRange[0]-1,N.shift());L=v.functionRange[1]}E.replace(L,v.range[1]-1,N.shift());if(N.length>0)throw new Error("Implementation error")}};v.exports=AMDDefineDependency},85228:function(v,E,P){"use strict";const R=P(92529);const $=P(18949);const N=P(1675);const L=P(47864);const q=P(2505);const K=P(9297);const ae=P(69635);const ge=P(12e3);const be=P(85521);const{addLocalModule:xe,getLocalModule:ve}=P(59730);const isBoundFunctionExpression=v=>{if(v.type!=="CallExpression")return false;if(v.callee.type!=="MemberExpression")return false;if(v.callee.computed)return false;if(v.callee.object.type!=="FunctionExpression")return false;if(v.callee.property.type!=="Identifier")return false;if(v.callee.property.name!=="bind")return false;return true};const isUnboundFunctionExpression=v=>{if(v.type==="FunctionExpression")return true;if(v.type==="ArrowFunctionExpression")return true;return false};const isCallable=v=>{if(isUnboundFunctionExpression(v))return true;if(isBoundFunctionExpression(v))return true;return false};class AMDDefineDependencyParserPlugin{constructor(v){this.options=v}apply(v){v.hooks.call.for("define").tap("AMDDefineDependencyParserPlugin",this.processCallDefine.bind(this,v))}processArray(v,E,P,$,N){if(P.isArray()){P.items.forEach(((P,R)=>{if(P.isString()&&["require","module","exports"].includes(P.string))$[R]=P.string;const L=this.processItem(v,E,P,N);if(L===undefined){this.processContext(v,E,P)}}));return true}else if(P.isConstArray()){const N=[];P.array.forEach(((P,L)=>{let q;let K;if(P==="require"){$[L]=P;q=R.require}else if(["exports","module"].includes(P)){$[L]=P;q=P}else if(K=ve(v.state,P)){K.flagUsed();q=new be(K,undefined,false);q.loc=E.loc;v.state.module.addPresentationalDependency(q)}else{q=this.newRequireItemDependency(P);q.loc=E.loc;q.optional=!!v.scope.inTry;v.state.current.addDependency(q)}N.push(q)}));const L=this.newRequireArrayDependency(N,P.range);L.loc=E.loc;L.optional=!!v.scope.inTry;v.state.module.addPresentationalDependency(L);return true}}processItem(v,E,P,$){if(P.isConditional()){P.options.forEach((P=>{const R=this.processItem(v,E,P);if(R===undefined){this.processContext(v,E,P)}}));return true}else if(P.isString()){let N,L;if(P.string==="require"){N=new K(R.require,P.range,[R.require])}else if(P.string==="exports"){N=new K("exports",P.range,[R.exports])}else if(P.string==="module"){N=new K("module",P.range,[R.module])}else if(L=ve(v.state,P.string,$)){L.flagUsed();N=new be(L,P.range,false)}else{N=this.newRequireItemDependency(P.string,P.range);N.optional=!!v.scope.inTry;v.state.current.addDependency(N);return true}N.loc=E.loc;v.state.module.addPresentationalDependency(N);return true}}processContext(v,E,P){const R=ae.create(L,P.range,P,E,this.options,{category:"amd"},v);if(!R)return;R.loc=E.loc;R.optional=!!v.scope.inTry;v.state.current.addDependency(R);return true}processCallDefine(v,E){let P,R,$,N;switch(E.arguments.length){case 1:if(isCallable(E.arguments[0])){R=E.arguments[0]}else if(E.arguments[0].type==="ObjectExpression"){$=E.arguments[0]}else{$=R=E.arguments[0]}break;case 2:if(E.arguments[0].type==="Literal"){N=E.arguments[0].value;if(isCallable(E.arguments[1])){R=E.arguments[1]}else if(E.arguments[1].type==="ObjectExpression"){$=E.arguments[1]}else{$=R=E.arguments[1]}}else{P=E.arguments[0];if(isCallable(E.arguments[1])){R=E.arguments[1]}else if(E.arguments[1].type==="ObjectExpression"){$=E.arguments[1]}else{$=R=E.arguments[1]}}break;case 3:N=E.arguments[0].value;P=E.arguments[1];if(isCallable(E.arguments[2])){R=E.arguments[2]}else if(E.arguments[2].type==="ObjectExpression"){$=E.arguments[2]}else{$=R=E.arguments[2]}break;default:return}ge.bailout(v.state);let L=null;let q=0;if(R){if(isUnboundFunctionExpression(R)){L=R.params}else if(isBoundFunctionExpression(R)){L=R.callee.object.params;q=R.arguments.length-1;if(q<0){q=0}}}let K=new Map;if(P){const R={};const $=v.evaluateExpression(P);const ae=this.processArray(v,E,$,R,N);if(!ae)return;if(L){L=L.slice(q).filter(((E,P)=>{if(R[P]){K.set(E.name,v.getVariableInfo(R[P]));return false}return true}))}}else{const E=["require","exports","module"];if(L){L=L.slice(q).filter(((P,R)=>{if(E[R]){K.set(P.name,v.getVariableInfo(E[R]));return false}return true}))}}let ae;if(R&&isUnboundFunctionExpression(R)){ae=v.scope.inTry;v.inScope(L,(()=>{for(const[E,P]of K){v.setVariable(E,P)}v.scope.inTry=ae;if(R.body.type==="BlockStatement"){v.detectMode(R.body.body);const E=v.prevStatement;v.preWalkStatement(R.body);v.prevStatement=E;v.walkStatement(R.body)}else{v.walkExpression(R.body)}}))}else if(R&&isBoundFunctionExpression(R)){ae=v.scope.inTry;v.inScope(R.callee.object.params.filter((v=>!["require","module","exports"].includes(v.name))),(()=>{for(const[E,P]of K){v.setVariable(E,P)}v.scope.inTry=ae;if(R.callee.object.body.type==="BlockStatement"){v.detectMode(R.callee.object.body.body);const E=v.prevStatement;v.preWalkStatement(R.callee.object.body);v.prevStatement=E;v.walkStatement(R.callee.object.body)}else{v.walkExpression(R.callee.object.body)}}));if(R.arguments){v.walkExpressions(R.arguments)}}else if(R||$){v.walkExpression(R||$)}const be=this.newDefineDependency(E.range,P?P.range:null,R?R.range:null,$?$.range:null,N?N:null);be.loc=E.loc;if(N){be.localModule=xe(v.state,N)}v.state.module.addPresentationalDependency(be);return true}newDefineDependency(v,E,P,R,N){return new $(v,E,P,R,N)}newRequireArrayDependency(v,E){return new N(v,E)}newRequireItemDependency(v,E){return new q(v,E)}}v.exports=AMDDefineDependencyParserPlugin},91153:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$}=P(96170);const N=P(92529);const{approve:L,evaluateToIdentifier:q,evaluateToString:K,toConstantDependency:ae}=P(73320);const ge=P(18949);const be=P(85228);const xe=P(1675);const ve=P(47864);const Ae=P(3213);const Ie=P(98166);const He=P(2505);const{AMDDefineRuntimeModule:Qe,AMDOptionsRuntimeModule:Je}=P(72760);const Ve=P(9297);const Ke=P(85521);const Ye=P(95043);const Xe="AMDPlugin";class AMDPlugin{constructor(v){this.amdOptions=v}apply(v){const E=this.amdOptions;v.hooks.compilation.tap(Xe,((v,{contextModuleFactory:P,normalModuleFactory:Ze})=>{v.dependencyTemplates.set(Ie,new Ie.Template);v.dependencyFactories.set(He,Ze);v.dependencyTemplates.set(He,new He.Template);v.dependencyTemplates.set(xe,new xe.Template);v.dependencyFactories.set(ve,P);v.dependencyTemplates.set(ve,new ve.Template);v.dependencyTemplates.set(ge,new ge.Template);v.dependencyTemplates.set(Ye,new Ye.Template);v.dependencyTemplates.set(Ke,new Ke.Template);v.hooks.runtimeRequirementInModule.for(N.amdDefine).tap(Xe,((v,E)=>{E.add(N.require)}));v.hooks.runtimeRequirementInModule.for(N.amdOptions).tap(Xe,((v,E)=>{E.add(N.requireScope)}));v.hooks.runtimeRequirementInTree.for(N.amdDefine).tap(Xe,((E,P)=>{v.addRuntimeModule(E,new Qe)}));v.hooks.runtimeRequirementInTree.for(N.amdOptions).tap(Xe,((P,R)=>{v.addRuntimeModule(P,new Je(E))}));const handler=(v,E)=>{if(E.amd!==undefined&&!E.amd)return;const tapOptionsHooks=(E,P,R)=>{v.hooks.expression.for(E).tap(Xe,ae(v,N.amdOptions,[N.amdOptions]));v.hooks.evaluateIdentifier.for(E).tap(Xe,q(E,P,R,true));v.hooks.evaluateTypeof.for(E).tap(Xe,K("object"));v.hooks.typeof.for(E).tap(Xe,ae(v,JSON.stringify("object")))};new Ae(E).apply(v);new be(E).apply(v);tapOptionsHooks("define.amd","define",(()=>"amd"));tapOptionsHooks("require.amd","require",(()=>["amd"]));tapOptionsHooks("__webpack_amd_options__","__webpack_amd_options__",(()=>[]));v.hooks.expression.for("define").tap(Xe,(E=>{const P=new Ve(N.amdDefine,E.range,[N.amdDefine]);P.loc=E.loc;v.state.module.addPresentationalDependency(P);return true}));v.hooks.typeof.for("define").tap(Xe,ae(v,JSON.stringify("function")));v.hooks.evaluateTypeof.for("define").tap(Xe,K("function"));v.hooks.canRename.for("define").tap(Xe,L);v.hooks.rename.for("define").tap(Xe,(E=>{const P=new Ve(N.amdDefine,E.range,[N.amdDefine]);P.loc=E.loc;v.state.module.addPresentationalDependency(P);return false}));v.hooks.typeof.for("require").tap(Xe,ae(v,JSON.stringify("function")));v.hooks.evaluateTypeof.for("require").tap(Xe,K("function"))};Ze.hooks.parser.for(R).tap(Xe,handler);Ze.hooks.parser.for($).tap(Xe,handler)}))}}v.exports=AMDPlugin},1675:function(v,E,P){"use strict";const R=P(23131);const $=P(41718);const N=P(55111);class AMDRequireArrayDependency extends N{constructor(v,E){super();this.depsArray=v;this.range=E}get type(){return"amd require array"}get category(){return"amd"}serialize(v){const{write:E}=v;E(this.depsArray);E(this.range);super.serialize(v)}deserialize(v){const{read:E}=v;this.depsArray=E();this.range=E();super.deserialize(v)}}$(AMDRequireArrayDependency,"webpack/lib/dependencies/AMDRequireArrayDependency");AMDRequireArrayDependency.Template=class AMDRequireArrayDependencyTemplate extends R{apply(v,E,P){const R=v;const $=this.getContent(R,P);E.replace(R.range[0],R.range[1]-1,$)}getContent(v,E){const P=v.depsArray.map((v=>this.contentForDependency(v,E)));return`[${P.join(", ")}]`}contentForDependency(v,{runtimeTemplate:E,moduleGraph:P,chunkGraph:R,runtimeRequirements:$}){if(typeof v==="string"){return v}if(v.localModule){return v.localModule.variableName()}else{return E.moduleExports({module:P.getModule(v),chunkGraph:R,request:v.request,runtimeRequirements:$})}}};v.exports=AMDRequireArrayDependency},47864:function(v,E,P){"use strict";const R=P(41718);const $=P(19397);class AMDRequireContextDependency extends ${constructor(v,E,P){super(v);this.range=E;this.valueRange=P}get type(){return"amd require context"}get category(){return"amd"}serialize(v){const{write:E}=v;E(this.range);E(this.valueRange);super.serialize(v)}deserialize(v){const{read:E}=v;this.range=E();this.valueRange=E();super.deserialize(v)}}R(AMDRequireContextDependency,"webpack/lib/dependencies/AMDRequireContextDependency");AMDRequireContextDependency.Template=P(45466);v.exports=AMDRequireContextDependency},3465:function(v,E,P){"use strict";const R=P(55936);const $=P(41718);class AMDRequireDependenciesBlock extends R{constructor(v,E){super(null,v,E)}}$(AMDRequireDependenciesBlock,"webpack/lib/dependencies/AMDRequireDependenciesBlock");v.exports=AMDRequireDependenciesBlock},3213:function(v,E,P){"use strict";const R=P(92529);const $=P(90784);const N=P(1675);const L=P(47864);const q=P(3465);const K=P(98166);const ae=P(2505);const ge=P(9297);const be=P(69635);const xe=P(85521);const{getLocalModule:ve}=P(59730);const Ae=P(95043);const Ie=P(72838);class AMDRequireDependenciesBlockParserPlugin{constructor(v){this.options=v}processFunctionArgument(v,E){let P=true;const R=Ie(E);if(R){v.inScope(R.fn.params.filter((v=>!["require","module","exports"].includes(v.name))),(()=>{if(R.fn.body.type==="BlockStatement"){v.walkStatement(R.fn.body)}else{v.walkExpression(R.fn.body)}}));v.walkExpressions(R.expressions);if(R.needThis===false){P=false}}else{v.walkExpression(E)}return P}apply(v){v.hooks.call.for("require").tap("AMDRequireDependenciesBlockParserPlugin",this.processCallRequire.bind(this,v))}processArray(v,E,P){if(P.isArray()){for(const R of P.items){const P=this.processItem(v,E,R);if(P===undefined){this.processContext(v,E,R)}}return true}else if(P.isConstArray()){const $=[];for(const N of P.array){let P,L;if(N==="require"){P=R.require}else if(["exports","module"].includes(N)){P=N}else if(L=ve(v.state,N)){L.flagUsed();P=new xe(L,undefined,false);P.loc=E.loc;v.state.module.addPresentationalDependency(P)}else{P=this.newRequireItemDependency(N);P.loc=E.loc;P.optional=!!v.scope.inTry;v.state.current.addDependency(P)}$.push(P)}const N=this.newRequireArrayDependency($,P.range);N.loc=E.loc;N.optional=!!v.scope.inTry;v.state.module.addPresentationalDependency(N);return true}}processItem(v,E,P){if(P.isConditional()){for(const R of P.options){const P=this.processItem(v,E,R);if(P===undefined){this.processContext(v,E,R)}}return true}else if(P.isString()){let $,N;if(P.string==="require"){$=new ge(R.require,P.string,[R.require])}else if(P.string==="module"){$=new ge(v.state.module.buildInfo.moduleArgument,P.range,[R.module])}else if(P.string==="exports"){$=new ge(v.state.module.buildInfo.exportsArgument,P.range,[R.exports])}else if(N=ve(v.state,P.string)){N.flagUsed();$=new xe(N,P.range,false)}else{$=this.newRequireItemDependency(P.string,P.range);$.loc=E.loc;$.optional=!!v.scope.inTry;v.state.current.addDependency($);return true}$.loc=E.loc;v.state.module.addPresentationalDependency($);return true}}processContext(v,E,P){const R=be.create(L,P.range,P,E,this.options,{category:"amd"},v);if(!R)return;R.loc=E.loc;R.optional=!!v.scope.inTry;v.state.current.addDependency(R);return true}processArrayForRequestString(v){if(v.isArray()){const E=v.items.map((v=>this.processItemForRequestString(v)));if(E.every(Boolean))return E.join(" ")}else if(v.isConstArray()){return v.array.join(" ")}}processItemForRequestString(v){if(v.isConditional()){const E=v.options.map((v=>this.processItemForRequestString(v)));if(E.every(Boolean))return E.join("|")}else if(v.isString()){return v.string}}processCallRequire(v,E){let P;let R;let N;let L;const q=v.state.current;if(E.arguments.length>=1){P=v.evaluateExpression(E.arguments[0]);R=this.newRequireDependenciesBlock(E.loc,this.processArrayForRequestString(P));N=this.newRequireDependency(E.range,P.range,E.arguments.length>1?E.arguments[1].range:null,E.arguments.length>2?E.arguments[2].range:null);N.loc=E.loc;R.addDependency(N);v.state.current=R}if(E.arguments.length===1){v.inScope([],(()=>{L=this.processArray(v,E,P)}));v.state.current=q;if(!L)return;v.state.current.addBlock(R);return true}if(E.arguments.length===2||E.arguments.length===3){try{v.inScope([],(()=>{L=this.processArray(v,E,P)}));if(!L){const P=new Ae("unsupported",E.range);q.addPresentationalDependency(P);if(v.state.module){v.state.module.addError(new $("Cannot statically analyse 'require(…, …)' in line "+E.loc.start.line,E.loc))}R=null;return true}N.functionBindThis=this.processFunctionArgument(v,E.arguments[1]);if(E.arguments.length===3){N.errorCallbackBindThis=this.processFunctionArgument(v,E.arguments[2])}}finally{v.state.current=q;if(R)v.state.current.addBlock(R)}return true}}newRequireDependenciesBlock(v,E){return new q(v,E)}newRequireDependency(v,E,P,R){return new K(v,E,P,R)}newRequireItemDependency(v,E){return new ae(v,E)}newRequireArrayDependency(v,E){return new N(v,E)}}v.exports=AMDRequireDependenciesBlockParserPlugin},98166:function(v,E,P){"use strict";const R=P(92529);const $=P(41718);const N=P(55111);class AMDRequireDependency extends N{constructor(v,E,P,R){super();this.outerRange=v;this.arrayRange=E;this.functionRange=P;this.errorCallbackRange=R;this.functionBindThis=false;this.errorCallbackBindThis=false}get category(){return"amd"}serialize(v){const{write:E}=v;E(this.outerRange);E(this.arrayRange);E(this.functionRange);E(this.errorCallbackRange);E(this.functionBindThis);E(this.errorCallbackBindThis);super.serialize(v)}deserialize(v){const{read:E}=v;this.outerRange=E();this.arrayRange=E();this.functionRange=E();this.errorCallbackRange=E();this.functionBindThis=E();this.errorCallbackBindThis=E();super.deserialize(v)}}$(AMDRequireDependency,"webpack/lib/dependencies/AMDRequireDependency");AMDRequireDependency.Template=class AMDRequireDependencyTemplate extends N.Template{apply(v,E,{runtimeTemplate:P,moduleGraph:$,chunkGraph:N,runtimeRequirements:L}){const q=v;const K=$.getParentBlock(q);const ae=P.blockPromise({chunkGraph:N,block:K,message:"AMD require",runtimeRequirements:L});if(q.arrayRange&&!q.functionRange){const v=`${ae}.then(function() {`;const P=`;})['catch'](${R.uncaughtErrorHandler})`;L.add(R.uncaughtErrorHandler);E.replace(q.outerRange[0],q.arrayRange[0]-1,v);E.replace(q.arrayRange[1],q.outerRange[1]-1,P);return}if(q.functionRange&&!q.arrayRange){const v=`${ae}.then((`;const P=`).bind(exports, ${R.require}, exports, module))['catch'](${R.uncaughtErrorHandler})`;L.add(R.uncaughtErrorHandler);E.replace(q.outerRange[0],q.functionRange[0]-1,v);E.replace(q.functionRange[1],q.outerRange[1]-1,P);return}if(q.arrayRange&&q.functionRange&&q.errorCallbackRange){const v=`${ae}.then(function() { `;const P=`}${q.functionBindThis?".bind(this)":""})['catch'](`;const R=`${q.errorCallbackBindThis?".bind(this)":""})`;E.replace(q.outerRange[0],q.arrayRange[0]-1,v);E.insert(q.arrayRange[0],"var __WEBPACK_AMD_REQUIRE_ARRAY__ = ");E.replace(q.arrayRange[1],q.functionRange[0]-1,"; (");E.insert(q.functionRange[1],").apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__);");E.replace(q.functionRange[1],q.errorCallbackRange[0]-1,P);E.replace(q.errorCallbackRange[1],q.outerRange[1]-1,R);return}if(q.arrayRange&&q.functionRange){const v=`${ae}.then(function() { `;const P=`}${q.functionBindThis?".bind(this)":""})['catch'](${R.uncaughtErrorHandler})`;L.add(R.uncaughtErrorHandler);E.replace(q.outerRange[0],q.arrayRange[0]-1,v);E.insert(q.arrayRange[0],"var __WEBPACK_AMD_REQUIRE_ARRAY__ = ");E.replace(q.arrayRange[1],q.functionRange[0]-1,"; (");E.insert(q.functionRange[1],").apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__);");E.replace(q.functionRange[1],q.outerRange[1]-1,P)}}};v.exports=AMDRequireDependency},2505:function(v,E,P){"use strict";const R=P(41718);const $=P(17782);const N=P(80467);class AMDRequireItemDependency extends ${constructor(v,E){super(v);this.range=E}get type(){return"amd require"}get category(){return"amd"}}R(AMDRequireItemDependency,"webpack/lib/dependencies/AMDRequireItemDependency");AMDRequireItemDependency.Template=N;v.exports=AMDRequireItemDependency},72760:function(v,E,P){"use strict";const R=P(92529);const $=P(845);const N=P(25233);class AMDDefineRuntimeModule extends ${constructor(){super("amd define")}generate(){return N.asString([`${R.amdDefine} = function () {`,N.indent("throw new Error('define cannot be used indirect');"),"};"])}}class AMDOptionsRuntimeModule extends ${constructor(v){super("amd options");this.options=v}generate(){return N.asString([`${R.amdOptions} = ${JSON.stringify(this.options)};`])}}E.AMDDefineRuntimeModule=AMDDefineRuntimeModule;E.AMDOptionsRuntimeModule=AMDOptionsRuntimeModule},10194:function(v,E,P){"use strict";const R=P(23131);const $=P(23596);const N=P(41718);const L=P(55111);class CachedConstDependency extends L{constructor(v,E,P){super();this.expression=v;this.range=E;this.identifier=P;this._hashUpdate=undefined}_createHashUpdate(){return`${this.identifier}${this.range}${this.expression}`}updateHash(v,E){if(this._hashUpdate===undefined)this._hashUpdate=this._createHashUpdate();v.update(this._hashUpdate)}serialize(v){const{write:E}=v;E(this.expression);E(this.range);E(this.identifier);super.serialize(v)}deserialize(v){const{read:E}=v;this.expression=E();this.range=E();this.identifier=E();super.deserialize(v)}}N(CachedConstDependency,"webpack/lib/dependencies/CachedConstDependency");CachedConstDependency.Template=class CachedConstDependencyTemplate extends R{apply(v,E,{runtimeTemplate:P,dependencyTemplates:R,initFragments:N}){const L=v;N.push(new $(`var ${L.identifier} = ${L.expression};\n`,$.STAGE_CONSTANTS,0,`const ${L.identifier}`));if(typeof L.range==="number"){E.insert(L.range,L.identifier);return}E.replace(L.range[0],L.range[1]-1,L.identifier)}};v.exports=CachedConstDependency},36954:function(v,E,P){"use strict";const R=P(92529);E.handleDependencyBase=(v,E,P)=>{let $=undefined;let N;switch(v){case"exports":P.add(R.exports);$=E.exportsArgument;N="expression";break;case"module.exports":P.add(R.module);$=`${E.moduleArgument}.exports`;N="expression";break;case"this":P.add(R.thisAsExports);$="this";N="expression";break;case"Object.defineProperty(exports)":P.add(R.exports);$=E.exportsArgument;N="Object.defineProperty";break;case"Object.defineProperty(module.exports)":P.add(R.module);$=`${E.moduleArgument}.exports`;N="Object.defineProperty";break;case"Object.defineProperty(this)":P.add(R.thisAsExports);$="this";N="Object.defineProperty";break;default:throw new Error(`Unsupported base ${v}`)}return[N,$]}},75827:function(v,E,P){"use strict";const R=P(38204);const{UsageState:$}=P(8435);const N=P(25233);const{equals:L}=P(30806);const q=P(41718);const K=P(11930);const{handleDependencyBase:ae}=P(36954);const ge=P(17782);const be=P(76716);const xe=Symbol("CommonJsExportRequireDependency.ids");const ve={};class CommonJsExportRequireDependency extends ge{constructor(v,E,P,R,$,N,L){super($);this.range=v;this.valueRange=E;this.base=P;this.names=R;this.ids=N;this.resultUsed=L;this.asiSafe=undefined}get type(){return"cjs export require"}couldAffectReferencingModule(){return R.TRANSITIVE}getIds(v){return v.getMeta(this)[xe]||this.ids}setIds(v,E){v.getMeta(this)[xe]=E}getReferencedExports(v,E){const P=this.getIds(v);const getFullResult=()=>{if(P.length===0){return R.EXPORTS_OBJECT_REFERENCED}else{return[{name:P,canMangle:false}]}};if(this.resultUsed)return getFullResult();let N=v.getExportsInfo(v.getParentModule(this));for(const v of this.names){const P=N.getReadOnlyExportInfo(v);const L=P.getUsed(E);if(L===$.Unused)return R.NO_EXPORTS_REFERENCED;if(L!==$.OnlyPropertiesUsed)return getFullResult();N=P.exportsInfo;if(!N)return getFullResult()}if(N.otherExportsInfo.getUsed(E)!==$.Unused){return getFullResult()}const L=[];for(const v of N.orderedExports){be(E,L,P.concat(v.name),v,false)}return L.map((v=>({name:v,canMangle:false})))}getExports(v){const E=this.getIds(v);if(this.names.length===1){const P=this.names[0];const R=v.getConnection(this);if(!R)return;return{exports:[{name:P,from:R,export:E.length===0?null:E,canMangle:!(P in ve)&&false}],dependencies:[R.module]}}else if(this.names.length>0){const v=this.names[0];return{exports:[{name:v,canMangle:!(v in ve)&&false}],dependencies:undefined}}else{const P=v.getConnection(this);if(!P)return;const R=this.getStarReexports(v,undefined,P.module);if(R){return{exports:Array.from(R.exports,(v=>({name:v,from:P,export:E.concat(v),canMangle:!(v in ve)&&false}))),dependencies:[P.module]}}else{return{exports:true,from:E.length===0?P:undefined,canMangle:false,dependencies:[P.module]}}}}getStarReexports(v,E,P=v.getModule(this)){let R=v.getExportsInfo(P);const N=this.getIds(v);if(N.length>0)R=R.getNestedExportsInfo(N);let L=v.getExportsInfo(v.getParentModule(this));if(this.names.length>0)L=L.getNestedExportsInfo(this.names);const q=R&&R.otherExportsInfo.provided===false;const K=L&&L.otherExportsInfo.getUsed(E)===$.Unused;if(!q&&!K){return}const ae=P.getExportsType(v,false)==="namespace";const ge=new Set;const be=new Set;if(K){for(const v of L.orderedExports){const P=v.name;if(v.getUsed(E)===$.Unused)continue;if(P==="__esModule"&&ae){ge.add(P)}else if(R){const v=R.getReadOnlyExportInfo(P);if(v.provided===false)continue;ge.add(P);if(v.provided===true)continue;be.add(P)}else{ge.add(P);be.add(P)}}}else if(q){for(const v of R.orderedExports){const P=v.name;if(v.provided===false)continue;if(L){const v=L.getReadOnlyExportInfo(P);if(v.getUsed(E)===$.Unused)continue}ge.add(P);if(v.provided===true)continue;be.add(P)}if(ae){ge.add("__esModule");be.delete("__esModule")}}return{exports:ge,checked:be}}serialize(v){const{write:E}=v;E(this.asiSafe);E(this.range);E(this.valueRange);E(this.base);E(this.names);E(this.ids);E(this.resultUsed);super.serialize(v)}deserialize(v){const{read:E}=v;this.asiSafe=E();this.range=E();this.valueRange=E();this.base=E();this.names=E();this.ids=E();this.resultUsed=E();super.deserialize(v)}}q(CommonJsExportRequireDependency,"webpack/lib/dependencies/CommonJsExportRequireDependency");CommonJsExportRequireDependency.Template=class CommonJsExportRequireDependencyTemplate extends ge.Template{apply(v,E,{module:P,runtimeTemplate:R,chunkGraph:$,moduleGraph:q,runtimeRequirements:ge,runtime:be}){const xe=v;const ve=q.getExportsInfo(P).getUsedName(xe.names,be);const[Ae,Ie]=ae(xe.base,P,ge);const He=q.getModule(xe);let Qe=R.moduleExports({module:He,chunkGraph:$,request:xe.request,weak:xe.weak,runtimeRequirements:ge});if(He){const v=xe.getIds(q);const E=q.getExportsInfo(He).getUsedName(v,be);if(E){const P=L(E,v)?"":N.toNormalComment(K(v))+" ";Qe+=`${P}${K(E)}`}}switch(Ae){case"expression":E.replace(xe.range[0],xe.range[1]-1,ve?`${Ie}${K(ve)} = ${Qe}`:`/* unused reexport */ ${Qe}`);return;case"Object.defineProperty":throw new Error("TODO");default:throw new Error("Unexpected type")}}};v.exports=CommonJsExportRequireDependency},96111:function(v,E,P){"use strict";const R=P(23596);const $=P(41718);const N=P(11930);const{handleDependencyBase:L}=P(36954);const q=P(55111);const K={};class CommonJsExportsDependency extends q{constructor(v,E,P,R){super();this.range=v;this.valueRange=E;this.base=P;this.names=R}get type(){return"cjs exports"}getExports(v){const E=this.names[0];return{exports:[{name:E,canMangle:!(E in K)}],dependencies:undefined}}serialize(v){const{write:E}=v;E(this.range);E(this.valueRange);E(this.base);E(this.names);super.serialize(v)}deserialize(v){const{read:E}=v;this.range=E();this.valueRange=E();this.base=E();this.names=E();super.deserialize(v)}}$(CommonJsExportsDependency,"webpack/lib/dependencies/CommonJsExportsDependency");CommonJsExportsDependency.Template=class CommonJsExportsDependencyTemplate extends q.Template{apply(v,E,{module:P,moduleGraph:$,initFragments:q,runtimeRequirements:K,runtime:ae}){const ge=v;const be=$.getExportsInfo(P).getUsedName(ge.names,ae);const[xe,ve]=L(ge.base,P,K);switch(xe){case"expression":if(!be){q.push(new R("var __webpack_unused_export__;\n",R.STAGE_CONSTANTS,0,"__webpack_unused_export__"));E.replace(ge.range[0],ge.range[1]-1,"__webpack_unused_export__");return}E.replace(ge.range[0],ge.range[1]-1,`${ve}${N(be)}`);return;case"Object.defineProperty":if(!be){q.push(new R("var __webpack_unused_export__;\n",R.STAGE_CONSTANTS,0,"__webpack_unused_export__"));E.replace(ge.range[0],ge.valueRange[0]-1,"__webpack_unused_export__ = (");E.replace(ge.valueRange[1],ge.range[1]-1,")");return}E.replace(ge.range[0],ge.valueRange[0]-1,`Object.defineProperty(${ve}${N(be.slice(0,-1))}, ${JSON.stringify(be[be.length-1])}, (`);E.replace(ge.valueRange[1],ge.range[1]-1,"))");return}}};v.exports=CommonJsExportsDependency},10412:function(v,E,P){"use strict";const R=P(92529);const $=P(81949);const{evaluateToString:N}=P(73320);const L=P(11930);const q=P(75827);const K=P(96111);const ae=P(52371);const ge=P(12e3);const be=P(95522);const xe=P(83985);const getValueOfPropertyDescription=v=>{if(v.type!=="ObjectExpression")return;for(const E of v.properties){if(E.computed)continue;const v=E.key;if(v.type!=="Identifier"||v.name!=="value")continue;return E.value}};const isTruthyLiteral=v=>{switch(v.type){case"Literal":return!!v.value;case"UnaryExpression":if(v.operator==="!")return isFalsyLiteral(v.argument)}return false};const isFalsyLiteral=v=>{switch(v.type){case"Literal":return!v.value;case"UnaryExpression":if(v.operator==="!")return isTruthyLiteral(v.argument)}return false};const parseRequireCall=(v,E)=>{const P=[];while(E.type==="MemberExpression"){if(E.object.type==="Super")return;if(!E.property)return;const v=E.property;if(E.computed){if(v.type!=="Literal")return;P.push(`${v.value}`)}else{if(v.type!=="Identifier")return;P.push(v.name)}E=E.object}if(E.type!=="CallExpression"||E.arguments.length!==1)return;const R=E.callee;if(R.type!=="Identifier"||v.getVariableInfo(R.name)!=="require"){return}const $=E.arguments[0];if($.type==="SpreadElement")return;const N=v.evaluateExpression($);return{argument:N,ids:P.reverse()}};class CommonJsExportsParserPlugin{constructor(v){this.moduleGraph=v}apply(v){const enableStructuredExports=()=>{ge.enable(v.state)};const checkNamespace=(E,P,R)=>{if(!ge.isEnabled(v.state))return;if(P.length>0&&P[0]==="__esModule"){if(R&&isTruthyLiteral(R)&&E){ge.setFlagged(v.state)}else{ge.setDynamic(v.state)}}};const bailout=E=>{ge.bailout(v.state);if(E)bailoutHint(E)};const bailoutHint=E=>{this.moduleGraph.getOptimizationBailout(v.state.module).push(`CommonJS bailout: ${E}`)};v.hooks.evaluateTypeof.for("module").tap("CommonJsExportsParserPlugin",N("object"));v.hooks.evaluateTypeof.for("exports").tap("CommonJsPlugin",N("object"));const handleAssignExport=(E,P,R)=>{if(be.isEnabled(v.state))return;const $=parseRequireCall(v,E.right);if($&&$.argument.isString()&&(R.length===0||R[0]!=="__esModule")){enableStructuredExports();if(R.length===0)ge.setDynamic(v.state);const N=new q(E.range,null,P,R,$.argument.string,$.ids,!v.isStatementLevelExpression(E));N.loc=E.loc;N.optional=!!v.scope.inTry;v.state.module.addDependency(N);return true}if(R.length===0)return;enableStructuredExports();const N=R;checkNamespace(v.statementPath.length===1&&v.isStatementLevelExpression(E),N,E.right);const L=new K(E.left.range,null,P,N);L.loc=E.loc;v.state.module.addDependency(L);v.walkExpression(E.right);return true};v.hooks.assignMemberChain.for("exports").tap("CommonJsExportsParserPlugin",((v,E)=>handleAssignExport(v,"exports",E)));v.hooks.assignMemberChain.for("this").tap("CommonJsExportsParserPlugin",((E,P)=>{if(!v.scope.topLevelScope)return;return handleAssignExport(E,"this",P)}));v.hooks.assignMemberChain.for("module").tap("CommonJsExportsParserPlugin",((v,E)=>{if(E[0]!=="exports")return;return handleAssignExport(v,"module.exports",E.slice(1))}));v.hooks.call.for("Object.defineProperty").tap("CommonJsExportsParserPlugin",(E=>{const P=E;if(!v.isStatementLevelExpression(P))return;if(P.arguments.length!==3)return;if(P.arguments[0].type==="SpreadElement")return;if(P.arguments[1].type==="SpreadElement")return;if(P.arguments[2].type==="SpreadElement")return;const R=v.evaluateExpression(P.arguments[0]);if(!R.isIdentifier())return;if(R.identifier!=="exports"&&R.identifier!=="module.exports"&&(R.identifier!=="this"||!v.scope.topLevelScope)){return}const $=v.evaluateExpression(P.arguments[1]);const N=$.asString();if(typeof N!=="string")return;enableStructuredExports();const L=P.arguments[2];checkNamespace(v.statementPath.length===1,[N],getValueOfPropertyDescription(L));const q=new K(P.range,P.arguments[2].range,`Object.defineProperty(${R.identifier})`,[N]);q.loc=P.loc;v.state.module.addDependency(q);v.walkExpression(P.arguments[2]);return true}));const handleAccessExport=(E,P,R,N=undefined)=>{if(be.isEnabled(v.state))return;if(R.length===0){bailout(`${P} is used directly at ${$(E.loc)}`)}if(N&&R.length===1){bailoutHint(`${P}${L(R)}(...) prevents optimization as ${P} is passed as call context at ${$(E.loc)}`)}const q=new ae(E.range,P,R,!!N);q.loc=E.loc;v.state.module.addDependency(q);if(N){v.walkExpressions(N.arguments)}return true};v.hooks.callMemberChain.for("exports").tap("CommonJsExportsParserPlugin",((v,E)=>handleAccessExport(v.callee,"exports",E,v)));v.hooks.expressionMemberChain.for("exports").tap("CommonJsExportsParserPlugin",((v,E)=>handleAccessExport(v,"exports",E)));v.hooks.expression.for("exports").tap("CommonJsExportsParserPlugin",(v=>handleAccessExport(v,"exports",[])));v.hooks.callMemberChain.for("module").tap("CommonJsExportsParserPlugin",((v,E)=>{if(E[0]!=="exports")return;return handleAccessExport(v.callee,"module.exports",E.slice(1),v)}));v.hooks.expressionMemberChain.for("module").tap("CommonJsExportsParserPlugin",((v,E)=>{if(E[0]!=="exports")return;return handleAccessExport(v,"module.exports",E.slice(1))}));v.hooks.expression.for("module.exports").tap("CommonJsExportsParserPlugin",(v=>handleAccessExport(v,"module.exports",[])));v.hooks.callMemberChain.for("this").tap("CommonJsExportsParserPlugin",((E,P)=>{if(!v.scope.topLevelScope)return;return handleAccessExport(E.callee,"this",P,E)}));v.hooks.expressionMemberChain.for("this").tap("CommonJsExportsParserPlugin",((E,P)=>{if(!v.scope.topLevelScope)return;return handleAccessExport(E,"this",P)}));v.hooks.expression.for("this").tap("CommonJsExportsParserPlugin",(E=>{if(!v.scope.topLevelScope)return;return handleAccessExport(E,"this",[])}));v.hooks.expression.for("module").tap("CommonJsPlugin",(E=>{bailout();const P=be.isEnabled(v.state);const $=new xe(P?R.harmonyModuleDecorator:R.nodeModuleDecorator,!P);$.loc=E.loc;v.state.module.addDependency($);return true}))}}v.exports=CommonJsExportsParserPlugin},51531:function(v,E,P){"use strict";const R=P(25233);const{equals:$}=P(30806);const{getTrimmedIdsAndRange:N}=P(67114);const L=P(41718);const q=P(11930);const K=P(17782);class CommonJsFullRequireDependency extends K{constructor(v,E,P,R){super(v);this.range=E;this.names=P;this.idRanges=R;this.call=false;this.asiSafe=undefined}getReferencedExports(v,E){if(this.call){const E=v.getModule(this);if(!E||E.getExportsType(v,false)!=="namespace"){return[this.names.slice(0,-1)]}}return[this.names]}serialize(v){const{write:E}=v;E(this.names);E(this.idRanges);E(this.call);E(this.asiSafe);super.serialize(v)}deserialize(v){const{read:E}=v;this.names=E();this.idRanges=E();this.call=E();this.asiSafe=E();super.deserialize(v)}get type(){return"cjs full require"}get category(){return"commonjs"}}CommonJsFullRequireDependency.Template=class CommonJsFullRequireDependencyTemplate extends K.Template{apply(v,E,{module:P,runtimeTemplate:L,moduleGraph:K,chunkGraph:ae,runtimeRequirements:ge,runtime:be,initFragments:xe}){const ve=v;if(!ve.range)return;const Ae=K.getModule(ve);let Ie=L.moduleExports({module:Ae,chunkGraph:ae,request:ve.request,weak:ve.weak,runtimeRequirements:ge});const{trimmedRange:[He,Qe],trimmedIds:Je}=N(ve.names,ve.range,ve.idRanges,K,ve);if(Ae){const v=K.getExportsInfo(Ae).getUsedName(Je,be);if(v){const E=$(v,Je)?"":R.toNormalComment(q(Je))+" ";const P=`${E}${q(v)}`;Ie=ve.asiSafe===true?`(${Ie}${P})`:`${Ie}${P}`}}E.replace(He,Qe-1,Ie)}};L(CommonJsFullRequireDependency,"webpack/lib/dependencies/CommonJsFullRequireDependency");v.exports=CommonJsFullRequireDependency},85960:function(v,E,P){"use strict";const{fileURLToPath:R}=P(57310);const $=P(64584);const N=P(92529);const L=P(90784);const q=P(16413);const K=P(81792);const{evaluateToIdentifier:ae,evaluateToString:ge,expressionIsUnsupported:be,toConstantDependency:xe}=P(73320);const ve=P(51531);const Ae=P(1331);const Ie=P(9201);const He=P(9297);const Qe=P(69635);const Je=P(85521);const{getLocalModule:Ve}=P(59730);const Ke=P(80418);const Ye=P(341);const Xe=P(72103);const Ze=P(46636);const et=Symbol("createRequire");const tt=Symbol("createRequire()");class CommonJsImportsParserPlugin{constructor(v){this.options=v}apply(v){const E=this.options;const getContext=()=>{if(v.currentTagData){const{context:E}=v.currentTagData;return E}};const tapRequireExpression=(E,P)=>{v.hooks.typeof.for(E).tap("CommonJsImportsParserPlugin",xe(v,JSON.stringify("function")));v.hooks.evaluateTypeof.for(E).tap("CommonJsImportsParserPlugin",ge("function"));v.hooks.evaluateIdentifier.for(E).tap("CommonJsImportsParserPlugin",ae(E,"require",P,true))};const tapRequireExpressionTag=E=>{v.hooks.typeof.for(E).tap("CommonJsImportsParserPlugin",xe(v,JSON.stringify("function")));v.hooks.evaluateTypeof.for(E).tap("CommonJsImportsParserPlugin",ge("function"))};tapRequireExpression("require",(()=>[]));tapRequireExpression("require.resolve",(()=>["resolve"]));tapRequireExpression("require.resolveWeak",(()=>["resolveWeak"]));v.hooks.assign.for("require").tap("CommonJsImportsParserPlugin",(E=>{const P=new He("var require;",0);P.loc=E.loc;v.state.module.addPresentationalDependency(P);return true}));v.hooks.expression.for("require.main").tap("CommonJsImportsParserPlugin",be(v,"require.main is not supported by webpack."));v.hooks.call.for("require.main.require").tap("CommonJsImportsParserPlugin",be(v,"require.main.require is not supported by webpack."));v.hooks.expression.for("module.parent.require").tap("CommonJsImportsParserPlugin",be(v,"module.parent.require is not supported by webpack."));v.hooks.call.for("module.parent.require").tap("CommonJsImportsParserPlugin",be(v,"module.parent.require is not supported by webpack."));const defineUndefined=E=>{const P=new He("undefined",E.range);P.loc=E.loc;v.state.module.addPresentationalDependency(P);return false};v.hooks.canRename.for("require").tap("CommonJsImportsParserPlugin",(()=>true));v.hooks.rename.for("require").tap("CommonJsImportsParserPlugin",defineUndefined);const P=xe(v,N.moduleCache,[N.moduleCache,N.moduleId,N.moduleLoaded]);v.hooks.expression.for("require.cache").tap("CommonJsImportsParserPlugin",P);const requireAsExpressionHandler=P=>{const R=new Ae({request:E.unknownContextRequest,recursive:E.unknownContextRecursive,regExp:E.unknownContextRegExp,mode:"sync"},P.range,undefined,v.scope.inShorthand,getContext());R.critical=E.unknownContextCritical&&"require function is used in a way in which dependencies cannot be statically extracted";R.loc=P.loc;R.optional=!!v.scope.inTry;v.state.current.addDependency(R);return true};v.hooks.expression.for("require").tap("CommonJsImportsParserPlugin",requireAsExpressionHandler);const processRequireItem=(E,P)=>{if(P.isString()){const R=new Ie(P.string,P.range,getContext());R.loc=E.loc;R.optional=!!v.scope.inTry;v.state.current.addDependency(R);return true}};const processRequireContext=(P,R)=>{const $=Qe.create(Ae,P.range,R,P,E,{category:"commonjs"},v,undefined,getContext());if(!$)return;$.loc=P.loc;$.optional=!!v.scope.inTry;v.state.current.addDependency($);return true};const createRequireHandler=P=>R=>{if(E.commonjsMagicComments){const{options:E,errors:P}=v.parseCommentOptions(R.range);if(P){for(const E of P){const{comment:P}=E;v.state.module.addWarning(new $(`Compilation error while processing magic comment(-s): /*${P.value}*/: ${E.message}`,P.loc))}}if(E){if(E.webpackIgnore!==undefined){if(typeof E.webpackIgnore!=="boolean"){v.state.module.addWarning(new L(`\`webpackIgnore\` expected a boolean, but received: ${E.webpackIgnore}.`,R.loc))}else{if(E.webpackIgnore){return true}}}}}if(R.arguments.length!==1)return;let N;const q=v.evaluateExpression(R.arguments[0]);if(q.isConditional()){let E=false;for(const v of q.options){const P=processRequireItem(R,v);if(P===undefined){E=true}}if(!E){const E=new Ke(R.callee.range);E.loc=R.loc;v.state.module.addPresentationalDependency(E);return true}}if(q.isString()&&(N=Ve(v.state,q.string))){N.flagUsed();const E=new Je(N,R.range,P);E.loc=R.loc;v.state.module.addPresentationalDependency(E);return true}else{const E=processRequireItem(R,q);if(E===undefined){processRequireContext(R,q)}else{const E=new Ke(R.callee.range);E.loc=R.loc;v.state.module.addPresentationalDependency(E)}return true}};v.hooks.call.for("require").tap("CommonJsImportsParserPlugin",createRequireHandler(false));v.hooks.new.for("require").tap("CommonJsImportsParserPlugin",createRequireHandler(true));v.hooks.call.for("module.require").tap("CommonJsImportsParserPlugin",createRequireHandler(false));v.hooks.new.for("module.require").tap("CommonJsImportsParserPlugin",createRequireHandler(true));const chainHandler=(E,P,R,$,N)=>{if(R.arguments.length!==1)return;const L=v.evaluateExpression(R.arguments[0]);if(L.isString()&&!Ve(v.state,L.string)){const P=new ve(L.string,E.range,$,N);P.asiSafe=!v.isAsiPosition(E.range[0]);P.optional=!!v.scope.inTry;P.loc=E.loc;v.state.current.addDependency(P);return true}};const callChainHandler=(E,P,R,$,N)=>{if(R.arguments.length!==1)return;const L=v.evaluateExpression(R.arguments[0]);if(L.isString()&&!Ve(v.state,L.string)){const P=new ve(L.string,E.callee.range,$,N);P.call=true;P.asiSafe=!v.isAsiPosition(E.range[0]);P.optional=!!v.scope.inTry;P.loc=E.callee.loc;v.state.current.addDependency(P);v.walkExpressions(E.arguments);return true}};v.hooks.memberChainOfCallMemberChain.for("require").tap("CommonJsImportsParserPlugin",chainHandler);v.hooks.memberChainOfCallMemberChain.for("module.require").tap("CommonJsImportsParserPlugin",chainHandler);v.hooks.callMemberChainOfCallMemberChain.for("require").tap("CommonJsImportsParserPlugin",callChainHandler);v.hooks.callMemberChainOfCallMemberChain.for("module.require").tap("CommonJsImportsParserPlugin",callChainHandler);const processResolve=(E,P)=>{if(E.arguments.length!==1)return;const R=v.evaluateExpression(E.arguments[0]);if(R.isConditional()){for(const v of R.options){const R=processResolveItem(E,v,P);if(R===undefined){processResolveContext(E,v,P)}}const $=new Ze(E.callee.range);$.loc=E.loc;v.state.module.addPresentationalDependency($);return true}else{const $=processResolveItem(E,R,P);if($===undefined){processResolveContext(E,R,P)}const N=new Ze(E.callee.range);N.loc=E.loc;v.state.module.addPresentationalDependency(N);return true}};const processResolveItem=(E,P,R)=>{if(P.isString()){const $=new Xe(P.string,P.range,getContext());$.loc=E.loc;$.optional=!!v.scope.inTry;$.weak=R;v.state.current.addDependency($);return true}};const processResolveContext=(P,R,$)=>{const N=Qe.create(Ye,R.range,R,P,E,{category:"commonjs",mode:$?"weak":"sync"},v,getContext());if(!N)return;N.loc=P.loc;N.optional=!!v.scope.inTry;v.state.current.addDependency(N);return true};v.hooks.call.for("require.resolve").tap("CommonJsImportsParserPlugin",(v=>processResolve(v,false)));v.hooks.call.for("require.resolveWeak").tap("CommonJsImportsParserPlugin",(v=>processResolve(v,true)));if(!E.createRequire)return;let nt=[];let st;if(E.createRequire===true){nt=["module","node:module"];st="createRequire"}else{let v;const P=/^(.*) from (.*)$/.exec(E.createRequire);if(P){[,st,v]=P}if(!st||!v){const v=new q(`Parsing javascript parser option "createRequire" failed, got ${JSON.stringify(E.createRequire)}`);v.details='Expected string in format "createRequire from module", where "createRequire" is specifier name and "module" name of the module';throw v}}tapRequireExpressionTag(tt);tapRequireExpressionTag(et);v.hooks.evaluateCallExpression.for(et).tap("CommonJsImportsParserPlugin",(E=>{const P=parseCreateRequireArguments(E);if(P===undefined)return;const R=v.evaluatedVariable({tag:tt,data:{context:P},next:undefined});return(new K).setIdentifier(R,R,(()=>[])).setSideEffects(false).setRange(E.range)}));v.hooks.unhandledExpressionMemberChain.for(tt).tap("CommonJsImportsParserPlugin",((E,P)=>be(v,`createRequire().${P.join(".")} is not supported by webpack.`)(E)));v.hooks.canRename.for(tt).tap("CommonJsImportsParserPlugin",(()=>true));v.hooks.canRename.for(et).tap("CommonJsImportsParserPlugin",(()=>true));v.hooks.rename.for(et).tap("CommonJsImportsParserPlugin",defineUndefined);v.hooks.expression.for(tt).tap("CommonJsImportsParserPlugin",requireAsExpressionHandler);v.hooks.call.for(tt).tap("CommonJsImportsParserPlugin",createRequireHandler(false));const parseCreateRequireArguments=E=>{const P=E.arguments;if(P.length!==1){const P=new q("module.createRequire supports only one argument.");P.loc=E.loc;v.state.module.addWarning(P);return}const $=P[0];const N=v.evaluateExpression($);if(!N.isString()){const E=new q("module.createRequire failed parsing argument.");E.loc=$.loc;v.state.module.addWarning(E);return}const L=N.string.startsWith("file://")?R(N.string):N.string;return L.slice(0,L.lastIndexOf(L.startsWith("/")?"/":"\\"))};v.hooks.import.tap({name:"CommonJsImportsParserPlugin",stage:-10},((E,P)=>{if(!nt.includes(P)||E.specifiers.length!==1||E.specifiers[0].type!=="ImportSpecifier"||E.specifiers[0].imported.type!=="Identifier"||E.specifiers[0].imported.name!==st)return;const R=new He(v.isAsiPosition(E.range[0])?";":"",E.range);R.loc=E.loc;v.state.module.addPresentationalDependency(R);v.unsetAsiPosition(E.range[1]);return true}));v.hooks.importSpecifier.tap({name:"CommonJsImportsParserPlugin",stage:-10},((E,P,R,$)=>{if(!nt.includes(P)||R!==st)return;v.tagVariable($,et);return true}));v.hooks.preDeclarator.tap("CommonJsImportsParserPlugin",(E=>{if(E.id.type!=="Identifier"||!E.init||E.init.type!=="CallExpression"||E.init.callee.type!=="Identifier")return;const P=v.getVariableInfo(E.init.callee.name);if(P&&P.tagInfo&&P.tagInfo.tag===et){const P=parseCreateRequireArguments(E.init);if(P===undefined)return;v.tagVariable(E.id.name,tt,{name:E.id.name,context:P});return true}}));v.hooks.memberChainOfCallMemberChain.for(et).tap("CommonJsImportsParserPlugin",((v,E,R,$)=>{if(E.length!==0||$.length!==1||$[0]!=="cache")return;const N=parseCreateRequireArguments(R);if(N===undefined)return;return P(v)}));v.hooks.callMemberChainOfCallMemberChain.for(et).tap("CommonJsImportsParserPlugin",((v,E,P,R)=>{if(E.length!==0||R.length!==1||R[0]!=="resolve")return;return processResolve(v,false)}));v.hooks.expressionMemberChain.for(tt).tap("CommonJsImportsParserPlugin",((v,E)=>{if(E.length===1&&E[0]==="cache"){return P(v)}}));v.hooks.callMemberChain.for(tt).tap("CommonJsImportsParserPlugin",((v,E)=>{if(E.length===1&&E[0]==="resolve"){return processResolve(v,false)}}));v.hooks.call.for(et).tap("CommonJsImportsParserPlugin",(E=>{const P=new He("/* createRequire() */ undefined",E.range);P.loc=E.loc;v.state.module.addPresentationalDependency(P);return true}))}}v.exports=CommonJsImportsParserPlugin},85555:function(v,E,P){"use strict";const R=P(92529);const $=P(845);const N=P(14115);const L=P(25233);const q=P(96111);const K=P(51531);const ae=P(1331);const ge=P(9201);const be=P(52371);const xe=P(83985);const ve=P(80418);const Ae=P(341);const Ie=P(72103);const He=P(46636);const Qe=P(94280);const Je=P(10412);const Ve=P(85960);const{JAVASCRIPT_MODULE_TYPE_AUTO:Ke,JAVASCRIPT_MODULE_TYPE_DYNAMIC:Ye}=P(96170);const{evaluateToIdentifier:Xe,toConstantDependency:Ze}=P(73320);const et=P(75827);const tt="CommonJsPlugin";class CommonJsPlugin{apply(v){v.hooks.compilation.tap(tt,((v,{contextModuleFactory:E,normalModuleFactory:P})=>{v.dependencyFactories.set(ge,P);v.dependencyTemplates.set(ge,new ge.Template);v.dependencyFactories.set(K,P);v.dependencyTemplates.set(K,new K.Template);v.dependencyFactories.set(ae,E);v.dependencyTemplates.set(ae,new ae.Template);v.dependencyFactories.set(Ie,P);v.dependencyTemplates.set(Ie,new Ie.Template);v.dependencyFactories.set(Ae,E);v.dependencyTemplates.set(Ae,new Ae.Template);v.dependencyTemplates.set(He,new He.Template);v.dependencyTemplates.set(ve,new ve.Template);v.dependencyTemplates.set(q,new q.Template);v.dependencyFactories.set(et,P);v.dependencyTemplates.set(et,new et.Template);const $=new N(v.moduleGraph);v.dependencyFactories.set(be,$);v.dependencyTemplates.set(be,new be.Template);v.dependencyFactories.set(xe,$);v.dependencyTemplates.set(xe,new xe.Template);v.hooks.runtimeRequirementInModule.for(R.harmonyModuleDecorator).tap(tt,((v,E)=>{E.add(R.module);E.add(R.requireScope)}));v.hooks.runtimeRequirementInModule.for(R.nodeModuleDecorator).tap(tt,((v,E)=>{E.add(R.module);E.add(R.requireScope)}));v.hooks.runtimeRequirementInTree.for(R.harmonyModuleDecorator).tap(tt,((E,P)=>{v.addRuntimeModule(E,new HarmonyModuleDecoratorRuntimeModule)}));v.hooks.runtimeRequirementInTree.for(R.nodeModuleDecorator).tap(tt,((E,P)=>{v.addRuntimeModule(E,new NodeModuleDecoratorRuntimeModule)}));const handler=(E,P)=>{if(P.commonjs!==undefined&&!P.commonjs)return;E.hooks.typeof.for("module").tap(tt,Ze(E,JSON.stringify("object")));E.hooks.expression.for("require.main").tap(tt,Ze(E,`${R.moduleCache}[${R.entryModuleId}]`,[R.moduleCache,R.entryModuleId]));E.hooks.expression.for(R.moduleLoaded).tap(tt,(v=>{E.state.module.buildInfo.moduleConcatenationBailout=R.moduleLoaded;const P=new Qe([R.moduleLoaded]);P.loc=v.loc;E.state.module.addPresentationalDependency(P);return true}));E.hooks.expression.for(R.moduleId).tap(tt,(v=>{E.state.module.buildInfo.moduleConcatenationBailout=R.moduleId;const P=new Qe([R.moduleId]);P.loc=v.loc;E.state.module.addPresentationalDependency(P);return true}));E.hooks.evaluateIdentifier.for("module.hot").tap(tt,Xe("module.hot","module",(()=>["hot"]),null));new Ve(P).apply(E);new Je(v.moduleGraph).apply(E)};P.hooks.parser.for(Ke).tap(tt,handler);P.hooks.parser.for(Ye).tap(tt,handler)}))}}class HarmonyModuleDecoratorRuntimeModule extends ${constructor(){super("harmony module decorator")}generate(){const{runtimeTemplate:v}=this.compilation;return L.asString([`${R.harmonyModuleDecorator} = ${v.basicFunction("module",["module = Object.create(module);","if (!module.children) module.children = [];","Object.defineProperty(module, 'exports', {",L.indent(["enumerable: true,",`set: ${v.basicFunction("",["throw new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);"])}`]),"});","return module;"])};`])}}class NodeModuleDecoratorRuntimeModule extends ${constructor(){super("node module decorator")}generate(){const{runtimeTemplate:v}=this.compilation;return L.asString([`${R.nodeModuleDecorator} = ${v.basicFunction("module",["module.paths = [];","if (!module.children) module.children = [];","return module;"])};`])}}v.exports=CommonJsPlugin},1331:function(v,E,P){"use strict";const R=P(41718);const $=P(19397);const N=P(45466);class CommonJsRequireContextDependency extends ${constructor(v,E,P,R,$){super(v,$);this.range=E;this.valueRange=P;this.inShorthand=R}get type(){return"cjs require context"}serialize(v){const{write:E}=v;E(this.range);E(this.valueRange);E(this.inShorthand);super.serialize(v)}deserialize(v){const{read:E}=v;this.range=E();this.valueRange=E();this.inShorthand=E();super.deserialize(v)}}R(CommonJsRequireContextDependency,"webpack/lib/dependencies/CommonJsRequireContextDependency");CommonJsRequireContextDependency.Template=N;v.exports=CommonJsRequireContextDependency},9201:function(v,E,P){"use strict";const R=P(41718);const $=P(17782);const N=P(79516);class CommonJsRequireDependency extends ${constructor(v,E,P){super(v);this.range=E;this._context=P}get type(){return"cjs require"}get category(){return"commonjs"}}CommonJsRequireDependency.Template=N;R(CommonJsRequireDependency,"webpack/lib/dependencies/CommonJsRequireDependency");v.exports=CommonJsRequireDependency},52371:function(v,E,P){"use strict";const R=P(92529);const{equals:$}=P(30806);const N=P(41718);const L=P(11930);const q=P(55111);class CommonJsSelfReferenceDependency extends q{constructor(v,E,P,R){super();this.range=v;this.base=E;this.names=P;this.call=R}get type(){return"cjs self exports reference"}get category(){return"self"}getResourceIdentifier(){return`self`}getReferencedExports(v,E){return[this.call?this.names.slice(0,-1):this.names]}serialize(v){const{write:E}=v;E(this.range);E(this.base);E(this.names);E(this.call);super.serialize(v)}deserialize(v){const{read:E}=v;this.range=E();this.base=E();this.names=E();this.call=E();super.deserialize(v)}}N(CommonJsSelfReferenceDependency,"webpack/lib/dependencies/CommonJsSelfReferenceDependency");CommonJsSelfReferenceDependency.Template=class CommonJsSelfReferenceDependencyTemplate extends q.Template{apply(v,E,{module:P,moduleGraph:N,runtime:q,runtimeRequirements:K}){const ae=v;let ge;if(ae.names.length===0){ge=ae.names}else{ge=N.getExportsInfo(P).getUsedName(ae.names,q)}if(!ge){throw new Error("Self-reference dependency has unused export name: This should not happen")}let be=undefined;switch(ae.base){case"exports":K.add(R.exports);be=P.exportsArgument;break;case"module.exports":K.add(R.module);be=`${P.moduleArgument}.exports`;break;case"this":K.add(R.thisAsExports);be="this";break;default:throw new Error(`Unsupported base ${ae.base}`)}if(be===ae.base&&$(ge,ae.names)){return}E.replace(ae.range[0],ae.range[1]-1,`${be}${L(ge)}`)}};v.exports=CommonJsSelfReferenceDependency},9297:function(v,E,P){"use strict";const R=P(41718);const $=P(55111);class ConstDependency extends ${constructor(v,E,P){super();this.expression=v;this.range=E;this.runtimeRequirements=P?new Set(P):null;this._hashUpdate=undefined}updateHash(v,E){if(this._hashUpdate===undefined){let v=""+this.range+"|"+this.expression;if(this.runtimeRequirements){for(const E of this.runtimeRequirements){v+="|";v+=E}}this._hashUpdate=v}v.update(this._hashUpdate)}getModuleEvaluationSideEffectsState(v){return false}serialize(v){const{write:E}=v;E(this.expression);E(this.range);E(this.runtimeRequirements);super.serialize(v)}deserialize(v){const{read:E}=v;this.expression=E();this.range=E();this.runtimeRequirements=E();super.deserialize(v)}}R(ConstDependency,"webpack/lib/dependencies/ConstDependency");ConstDependency.Template=class ConstDependencyTemplate extends $.Template{apply(v,E,P){const R=v;if(R.runtimeRequirements){for(const v of R.runtimeRequirements){P.runtimeRequirements.add(v)}}if(typeof R.range==="number"){E.insert(R.range,R.expression);return}E.replace(R.range[0],R.range[1]-1,R.expression)}};v.exports=ConstDependency},19397:function(v,E,P){"use strict";const R=P(38204);const $=P(23131);const N=P(41718);const L=P(25689);const q=L((()=>P(27011)));const regExpToString=v=>v?v+"":"";class ContextDependency extends R{constructor(v,E){super();this.options=v;this.userRequest=this.options&&this.options.request;this.critical=false;this.hadGlobalOrStickyRegExp=false;if(this.options&&(this.options.regExp.global||this.options.regExp.sticky)){this.options={...this.options,regExp:null};this.hadGlobalOrStickyRegExp=true}this.request=undefined;this.range=undefined;this.valueRange=undefined;this.inShorthand=undefined;this.replaces=undefined;this._requestContext=E}getContext(){return this._requestContext}get category(){return"commonjs"}couldAffectReferencingModule(){return true}getResourceIdentifier(){return`context${this._requestContext||""}|ctx request${this.options.request} ${this.options.recursive} `+`${regExpToString(this.options.regExp)} ${regExpToString(this.options.include)} ${regExpToString(this.options.exclude)} `+`${this.options.mode} ${this.options.chunkName} `+`${JSON.stringify(this.options.groupOptions)}`}getWarnings(v){let E=super.getWarnings(v);if(this.critical){if(!E)E=[];const v=q();E.push(new v(this.critical))}if(this.hadGlobalOrStickyRegExp){if(!E)E=[];const v=q();E.push(new v("Contexts can't use RegExps with the 'g' or 'y' flags."))}return E}serialize(v){const{write:E}=v;E(this.options);E(this.userRequest);E(this.critical);E(this.hadGlobalOrStickyRegExp);E(this.request);E(this._requestContext);E(this.range);E(this.valueRange);E(this.prepend);E(this.replaces);super.serialize(v)}deserialize(v){const{read:E}=v;this.options=E();this.userRequest=E();this.critical=E();this.hadGlobalOrStickyRegExp=E();this.request=E();this._requestContext=E();this.range=E();this.valueRange=E();this.prepend=E();this.replaces=E();super.deserialize(v)}}N(ContextDependency,"webpack/lib/dependencies/ContextDependency");ContextDependency.Template=$;v.exports=ContextDependency},69635:function(v,E,P){"use strict";const{parseResource:R}=P(51984);const quoteMeta=v=>v.replace(/[-[\]\\/{}()*+?.^$|]/g,"\\$&");const splitContextFromPrefix=v=>{const E=v.lastIndexOf("/");let P=".";if(E>=0){P=v.slice(0,E);v=`.${v.slice(E)}`}return{context:P,prefix:v}};E.create=(v,E,P,$,N,L,q,...K)=>{if(P.isTemplateString()){let ae=P.quasis[0].string;let ge=P.quasis.length>1?P.quasis[P.quasis.length-1].string:"";const be=P.range;const{context:xe,prefix:ve}=splitContextFromPrefix(ae);const{path:Ae,query:Ie,fragment:He}=R(ge,q);const Qe=P.quasis.slice(1,P.quasis.length-1);const Je=N.wrappedContextRegExp.source+Qe.map((v=>quoteMeta(v.string)+N.wrappedContextRegExp.source)).join("");const Ve=new RegExp(`^${quoteMeta(ve)}${Je}${quoteMeta(Ae)}$`);const Ke=new v({request:xe+Ie+He,recursive:N.wrappedContextRecursive,regExp:Ve,mode:"sync",...L},E,be,...K);Ke.loc=$.loc;const Ye=[];P.parts.forEach(((v,E)=>{if(E%2===0){let R=v.range;let $=v.string;if(P.templateStringKind==="cooked"){$=JSON.stringify($);$=$.slice(1,$.length-1)}if(E===0){$=ve;R=[P.range[0],v.range[1]];$=(P.templateStringKind==="cooked"?"`":"String.raw`")+$}else if(E===P.parts.length-1){$=Ae;R=[v.range[0],P.range[1]];$=$+"`"}else if(v.expression&&v.expression.type==="TemplateElement"&&v.expression.value.raw===$){return}Ye.push({range:R,value:$})}else{q.walkExpression(v.expression)}}));Ke.replaces=Ye;Ke.critical=N.wrappedContextCritical&&"a part of the request of a dependency is an expression";return Ke}else if(P.isWrapped()&&(P.prefix&&P.prefix.isString()||P.postfix&&P.postfix.isString())){let ae=P.prefix&&P.prefix.isString()?P.prefix.string:"";let ge=P.postfix&&P.postfix.isString()?P.postfix.string:"";const be=P.prefix&&P.prefix.isString()?P.prefix.range:null;const xe=P.postfix&&P.postfix.isString()?P.postfix.range:null;const ve=P.range;const{context:Ae,prefix:Ie}=splitContextFromPrefix(ae);const{path:He,query:Qe,fragment:Je}=R(ge,q);const Ve=new RegExp(`^${quoteMeta(Ie)}${N.wrappedContextRegExp.source}${quoteMeta(He)}$`);const Ke=new v({request:Ae+Qe+Je,recursive:N.wrappedContextRecursive,regExp:Ve,mode:"sync",...L},E,ve,...K);Ke.loc=$.loc;const Ye=[];if(be){Ye.push({range:be,value:JSON.stringify(Ie)})}if(xe){Ye.push({range:xe,value:JSON.stringify(He)})}Ke.replaces=Ye;Ke.critical=N.wrappedContextCritical&&"a part of the request of a dependency is an expression";if(q&&P.wrappedInnerExpressions){for(const v of P.wrappedInnerExpressions){if(v.expression)q.walkExpression(v.expression)}}return Ke}else{const R=new v({request:N.exprContextRequest,recursive:N.exprContextRecursive,regExp:N.exprContextRegExp,mode:"sync",...L},E,P.range,...K);R.loc=$.loc;R.critical=N.exprContextCritical&&"the request of a dependency is an expression";q.walkExpression(P.expression);return R}}},94977:function(v,E,P){"use strict";const R=P(19397);class ContextDependencyTemplateAsId extends R.Template{apply(v,E,{runtimeTemplate:P,moduleGraph:R,chunkGraph:$,runtimeRequirements:N}){const L=v;const q=P.moduleExports({module:R.getModule(L),chunkGraph:$,request:L.request,weak:L.weak,runtimeRequirements:N});if(R.getModule(L)){if(L.valueRange){if(Array.isArray(L.replaces)){for(let v=0;v({name:v,canMangle:false}))):R.EXPORTS_OBJECT_REFERENCED}serialize(v){const{write:E}=v;E(this._typePrefix);E(this._category);E(this.referencedExports);super.serialize(v)}deserialize(v){const{read:E}=v;this._typePrefix=E();this._category=E();this.referencedExports=E();super.deserialize(v)}}$(ContextElementDependency,"webpack/lib/dependencies/ContextElementDependency");v.exports=ContextElementDependency},22861:function(v,E,P){"use strict";const R=P(92529);const $=P(41718);const N=P(55111);class CreateScriptUrlDependency extends N{constructor(v){super();this.range=v}get type(){return"create script url"}serialize(v){const{write:E}=v;E(this.range);super.serialize(v)}deserialize(v){const{read:E}=v;this.range=E();super.deserialize(v)}}CreateScriptUrlDependency.Template=class CreateScriptUrlDependencyTemplate extends N.Template{apply(v,E,{runtimeRequirements:P}){const $=v;P.add(R.createScriptUrl);E.insert($.range[0],`${R.createScriptUrl}(`);E.insert($.range[1],")")}};$(CreateScriptUrlDependency,"webpack/lib/dependencies/CreateScriptUrlDependency");v.exports=CreateScriptUrlDependency},27011:function(v,E,P){"use strict";const R=P(16413);const $=P(41718);class CriticalDependencyWarning extends R{constructor(v){super();this.name="CriticalDependencyWarning";this.message="Critical dependency: "+v}}$(CriticalDependencyWarning,"webpack/lib/dependencies/CriticalDependencyWarning");v.exports=CriticalDependencyWarning},29827:function(v,E,P){"use strict";const R=P(41718);const $=P(55111);class CssExportDependency extends ${constructor(v,E){super();this.name=v;this.value=E}get type(){return"css :export"}getExports(v){const E=this.name;return{exports:[{name:E,canMangle:true}],dependencies:undefined}}serialize(v){const{write:E}=v;E(this.name);E(this.value);super.serialize(v)}deserialize(v){const{read:E}=v;this.name=E();this.value=E();super.deserialize(v)}}CssExportDependency.Template=class CssExportDependencyTemplate extends $.Template{apply(v,E,{cssExports:P}){const R=v;P.set(R.name,R.value)}};R(CssExportDependency,"webpack/lib/dependencies/CssExportDependency");v.exports=CssExportDependency},53008:function(v,E,P){"use strict";const R=P(41718);const $=P(17782);class CssImportDependency extends ${constructor(v,E,P,R,$){super(v);this.range=E;this.layer=P;this.supports=R;this.media=$}get type(){return"css @import"}get category(){return"css-import"}getResourceIdentifier(){let v=`context${this._context||""}|module${this.request}`;if(this.layer){v+=`|layer${this.layer}`}if(this.supports){v+=`|supports${this.supports}`}if(this.media){v+=`|media${this.media}`}return v}createIgnoredModule(v){return null}serialize(v){const{write:E}=v;E(this.layer);E(this.supports);E(this.media);super.serialize(v)}deserialize(v){const{read:E}=v;this.layer=E();this.supports=E();this.media=E();super.deserialize(v)}}CssImportDependency.Template=class CssImportDependencyTemplate extends $.Template{apply(v,E,P){const R=v;E.replace(R.range[0],R.range[1]-1,"")}};R(CssImportDependency,"webpack/lib/dependencies/CssImportDependency");v.exports=CssImportDependency},84119:function(v,E,P){"use strict";const R=P(41718);const $=P(55111);class CssLocalIdentifierDependency extends ${constructor(v,E,P=""){super();this.name=v;this.range=E;this.prefix=P}get type(){return"css local identifier"}getExports(v){const E=this.name;return{exports:[{name:E,canMangle:true}],dependencies:undefined}}serialize(v){const{write:E}=v;E(this.name);E(this.range);E(this.prefix);super.serialize(v)}deserialize(v){const{read:E}=v;this.name=E();this.range=E();this.prefix=E();super.deserialize(v)}}const escapeCssIdentifier=(v,E)=>{const P=`${v}`.replace(/[^a-zA-Z0-9_\u0081-\uffff-]/g,(v=>`\\${v}`));return!E&&/^(?!--)[0-9-]/.test(P)?`_${P}`:P};CssLocalIdentifierDependency.Template=class CssLocalIdentifierDependencyTemplate extends $.Template{apply(v,E,{module:P,moduleGraph:R,chunkGraph:$,runtime:N,runtimeTemplate:L,cssExports:q}){const K=v;const ae=R.getExportInfo(P,K.name).getUsedName(K.name,N);if(!ae)return;const ge=$.getModuleId(P);const be=K.prefix+(L.outputOptions.uniqueName?L.outputOptions.uniqueName+"-":"")+(ae?ge+"-"+ae:"-");E.replace(K.range[0],K.range[1]-1,escapeCssIdentifier(be,K.prefix));if(ae)q.set(ae,be)}};R(CssLocalIdentifierDependency,"webpack/lib/dependencies/CssLocalIdentifierDependency");v.exports=CssLocalIdentifierDependency},10691:function(v,E,P){"use strict";const R=P(38204);const $=P(41718);const N=P(84119);class CssSelfLocalIdentifierDependency extends N{constructor(v,E,P="",R=undefined){super(v,E,P);this.declaredSet=R}get type(){return"css self local identifier"}get category(){return"self"}getResourceIdentifier(){return`self`}getExports(v){if(this.declaredSet&&!this.declaredSet.has(this.name))return;return super.getExports(v)}getReferencedExports(v,E){if(this.declaredSet&&!this.declaredSet.has(this.name))return R.NO_EXPORTS_REFERENCED;return[[this.name]]}serialize(v){const{write:E}=v;E(this.declaredSet);super.serialize(v)}deserialize(v){const{read:E}=v;this.declaredSet=E();super.deserialize(v)}}CssSelfLocalIdentifierDependency.Template=class CssSelfLocalIdentifierDependencyTemplate extends N.Template{apply(v,E,P){const R=v;if(R.declaredSet&&!R.declaredSet.has(R.name))return;super.apply(v,E,P)}};$(CssSelfLocalIdentifierDependency,"webpack/lib/dependencies/CssSelfLocalIdentifierDependency");v.exports=CssSelfLocalIdentifierDependency},11208:function(v,E,P){"use strict";const R=P(41718);const $=P(25689);const N=P(17782);const L=$((()=>P(88249)));class CssUrlDependency extends N{constructor(v,E,P){super(v);this.range=E;this.urlType=P}get type(){return"css url()"}get category(){return"url"}createIgnoredModule(v){const E=L();return new E("data:,",`ignored-asset`,`(ignored asset)`)}serialize(v){const{write:E}=v;E(this.urlType);super.serialize(v)}deserialize(v){const{read:E}=v;this.urlType=E();super.deserialize(v)}}const cssEscapeString=v=>{let E=0;let P=0;let R=0;for(let $=0;$`\\${v}`))}else if(P<=R){return`"${v.replace(/[\n"\\]/g,(v=>`\\${v}`))}"`}else{return`'${v.replace(/[\n'\\]/g,(v=>`\\${v}`))}'`}};CssUrlDependency.Template=class CssUrlDependencyTemplate extends N.Template{apply(v,E,{moduleGraph:P,runtimeTemplate:R,codeGenerationResults:$}){const N=v;let L;switch(N.urlType){case"string":L=cssEscapeString(R.assetUrl({publicPath:"",module:P.getModule(N),codeGenerationResults:$}));break;case"url":L=`url(${cssEscapeString(R.assetUrl({publicPath:"",module:P.getModule(N),codeGenerationResults:$}))})`;break}E.replace(N.range[0],N.range[1]-1,L)}};R(CssUrlDependency,"webpack/lib/dependencies/CssUrlDependency");v.exports=CssUrlDependency},88278:function(v,E,P){"use strict";const R=P(41718);const $=P(17782);class DelegatedSourceDependency extends ${constructor(v){super(v)}get type(){return"delegated source"}get category(){return"esm"}}R(DelegatedSourceDependency,"webpack/lib/dependencies/DelegatedSourceDependency");v.exports=DelegatedSourceDependency},19191:function(v,E,P){"use strict";const R=P(38204);const $=P(41718);class DllEntryDependency extends R{constructor(v,E){super();this.dependencies=v;this.name=E}get type(){return"dll entry"}serialize(v){const{write:E}=v;E(this.dependencies);E(this.name);super.serialize(v)}deserialize(v){const{read:E}=v;this.dependencies=E();this.name=E();super.deserialize(v)}}$(DllEntryDependency,"webpack/lib/dependencies/DllEntryDependency");v.exports=DllEntryDependency},12e3:function(v,E){"use strict";const P=new WeakMap;E.bailout=v=>{const E=P.get(v);P.set(v,false);if(E===true){const E=v.module.buildMeta;E.exportsType=undefined;E.defaultObject=false}};E.enable=v=>{const E=P.get(v);if(E===false)return;P.set(v,true);if(E!==true){const E=v.module.buildMeta;E.exportsType="default";E.defaultObject="redirect"}};E.setFlagged=v=>{const E=P.get(v);if(E!==true)return;const R=v.module.buildMeta;if(R.exportsType==="dynamic")return;R.exportsType="flagged"};E.setDynamic=v=>{const E=P.get(v);if(E!==true)return;v.module.buildMeta.exportsType="dynamic"};E.isEnabled=v=>{const E=P.get(v);return E===true}},99520:function(v,E,P){"use strict";const R=P(41718);const $=P(17782);class EntryDependency extends ${constructor(v){super(v)}get type(){return"entry"}get category(){return"esm"}}R(EntryDependency,"webpack/lib/dependencies/EntryDependency");v.exports=EntryDependency},48535:function(v,E,P){"use strict";const{UsageState:R}=P(8435);const $=P(41718);const N=P(55111);const getProperty=(v,E,P,$,N)=>{if(!P){switch($){case"usedExports":{const P=v.getExportsInfo(E).getUsedExports(N);if(typeof P==="boolean"||P===undefined||P===null){return P}return Array.from(P).sort()}}}switch($){case"canMangle":{const R=v.getExportsInfo(E);const $=R.getExportInfo(P);if($)return $.canMangle;return R.otherExportsInfo.canMangle}case"used":return v.getExportsInfo(E).getUsed(P,N)!==R.Unused;case"useInfo":{const $=v.getExportsInfo(E).getUsed(P,N);switch($){case R.Used:case R.OnlyPropertiesUsed:return true;case R.Unused:return false;case R.NoInfo:return undefined;case R.Unknown:return null;default:throw new Error(`Unexpected UsageState ${$}`)}}case"provideInfo":return v.getExportsInfo(E).isExportProvided(P)}return undefined};class ExportsInfoDependency extends N{constructor(v,E,P){super();this.range=v;this.exportName=E;this.property=P}serialize(v){const{write:E}=v;E(this.range);E(this.exportName);E(this.property);super.serialize(v)}static deserialize(v){const E=new ExportsInfoDependency(v.read(),v.read(),v.read());E.deserialize(v);return E}}$(ExportsInfoDependency,"webpack/lib/dependencies/ExportsInfoDependency");ExportsInfoDependency.Template=class ExportsInfoDependencyTemplate extends N.Template{apply(v,E,{module:P,moduleGraph:R,runtime:$}){const N=v;const L=getProperty(R,P,N.exportName,N.property,$);E.replace(N.range[0],N.range[1]-1,L===undefined?"undefined":JSON.stringify(L))}};v.exports=ExportsInfoDependency},83945:function(v,E,P){"use strict";const R=P(41718);const $=P(10194);const N=P(76386);class ExternalModuleDependency extends ${constructor(v,E,P,R,$,N){super(R,$,N);this.importedModule=v;this.specifiers=E;this.default=P}_createHashUpdate(){return`${this.importedModule}${JSON.stringify(this.specifiers)}${this.default||"null"}${super._createHashUpdate()}`}serialize(v){super.serialize(v);const{write:E}=v;E(this.importedModule);E(this.specifiers);E(this.default)}deserialize(v){super.deserialize(v);const{read:E}=v;this.importedModule=E();this.specifiers=E();this.default=E()}}R(ExternalModuleDependency,"webpack/lib/dependencies/ExternalModuleDependency");ExternalModuleDependency.Template=class ExternalModuleDependencyTemplate extends $.Template{apply(v,E,P){super.apply(v,E,P);const R=v;const{chunkInitFragments:$}=P;$.push(new N(R.importedModule,R.specifiers,R.default))}};v.exports=ExternalModuleDependency},76386:function(v,E,P){"use strict";const R=P(23596);const $=P(41718);class ExternalModuleInitFragment extends R{constructor(v,E,P){super(undefined,R.STAGE_CONSTANTS,0,`external module imports|${v}|${P||"null"}`);this.importedModule=v;if(Array.isArray(E)){this.specifiers=new Map;for(const{name:v,value:P}of E){let E=this.specifiers.get(v);if(!E){E=new Set;this.specifiers.set(v,E)}E.add(P||v)}}else{this.specifiers=E}this.defaultImport=P}merge(v){const E=new Map(this.specifiers);for(const[P,R]of v.specifiers){if(E.has(P)){const v=E.get(P);for(const E of R)v.add(E)}else{E.set(P,R)}}return new ExternalModuleInitFragment(this.importedModule,E,this.defaultImport)}getContent({runtimeRequirements:v}){const E=[];for(const[v,P]of this.specifiers){for(const R of P){if(R===v){E.push(v)}else{E.push(`${v} as ${R}`)}}}let P=E.length>0?`{${E.join(",")}}`:"";if(this.defaultImport){P=`${this.defaultImport}${P?`, ${P}`:""}`}return`import ${P} from ${JSON.stringify(this.importedModule)};`}serialize(v){super.serialize(v);const{write:E}=v;E(this.importedModule);E(this.specifiers);E(this.defaultImport)}deserialize(v){super.deserialize(v);const{read:E}=v;this.importedModule=E();this.specifiers=E();this.defaultImport=E()}}$(ExternalModuleInitFragment,"webpack/lib/dependencies/ExternalModuleInitFragment");v.exports=ExternalModuleInitFragment},16781:function(v,E,P){"use strict";const R=P(25233);const $=P(41718);const N=P(24647);const L=P(55111);class HarmonyAcceptDependency extends L{constructor(v,E,P){super();this.range=v;this.dependencies=E;this.hasCallback=P}get type(){return"accepted harmony modules"}serialize(v){const{write:E}=v;E(this.range);E(this.dependencies);E(this.hasCallback);super.serialize(v)}deserialize(v){const{read:E}=v;this.range=E();this.dependencies=E();this.hasCallback=E();super.deserialize(v)}}$(HarmonyAcceptDependency,"webpack/lib/dependencies/HarmonyAcceptDependency");HarmonyAcceptDependency.Template=class HarmonyAcceptDependencyTemplate extends L.Template{apply(v,E,P){const $=v;const{module:L,runtime:q,runtimeRequirements:K,runtimeTemplate:ae,moduleGraph:ge,chunkGraph:be}=P;const xe=$.dependencies.map((v=>{const E=ge.getModule(v);return{dependency:v,runtimeCondition:E?N.Template.getImportEmittedRuntime(L,E):false}})).filter((({runtimeCondition:v})=>v!==false)).map((({dependency:v,runtimeCondition:E})=>{const $=ae.runtimeConditionExpression({chunkGraph:be,runtime:q,runtimeCondition:E,runtimeRequirements:K});const N=v.getImportStatement(true,P);const L=N[0]+N[1];if($!=="true"){return`if (${$}) {\n${R.indent(L)}\n}\n`}return L})).join("");if($.hasCallback){if(ae.supportsArrowFunction()){E.insert($.range[0],`__WEBPACK_OUTDATED_DEPENDENCIES__ => { ${xe}(`);E.insert($.range[1],")(__WEBPACK_OUTDATED_DEPENDENCIES__); }")}else{E.insert($.range[0],`function(__WEBPACK_OUTDATED_DEPENDENCIES__) { ${xe}(`);E.insert($.range[1],")(__WEBPACK_OUTDATED_DEPENDENCIES__); }.bind(this)")}return}const ve=ae.supportsArrowFunction();E.insert($.range[1]-.5,`, ${ve?"() =>":"function()"} { ${xe} }`)}};v.exports=HarmonyAcceptDependency},41465:function(v,E,P){"use strict";const R=P(41718);const $=P(24647);const N=P(55111);class HarmonyAcceptImportDependency extends ${constructor(v){super(v,NaN);this.weak=true}get type(){return"harmony accept"}}R(HarmonyAcceptImportDependency,"webpack/lib/dependencies/HarmonyAcceptImportDependency");HarmonyAcceptImportDependency.Template=N.Template;v.exports=HarmonyAcceptImportDependency},49914:function(v,E,P){"use strict";const{UsageState:R}=P(8435);const $=P(23596);const N=P(92529);const L=P(41718);const q=P(55111);class HarmonyCompatibilityDependency extends q{get type(){return"harmony export header"}}L(HarmonyCompatibilityDependency,"webpack/lib/dependencies/HarmonyCompatibilityDependency");HarmonyCompatibilityDependency.Template=class HarmonyExportDependencyTemplate extends q.Template{apply(v,E,{module:P,runtimeTemplate:L,moduleGraph:q,initFragments:K,runtimeRequirements:ae,runtime:ge,concatenationScope:be}){if(be)return;const xe=q.getExportsInfo(P);if(xe.getReadOnlyExportInfo("__esModule").getUsed(ge)!==R.Unused){const v=L.defineEsModuleFlagStatement({exportsArgument:P.exportsArgument,runtimeRequirements:ae});K.push(new $(v,$.STAGE_HARMONY_EXPORTS,0,"harmony compatibility"))}if(q.isAsync(P)){ae.add(N.module);ae.add(N.asyncModule);K.push(new $(L.supportsArrowFunction()?`${N.asyncModule}(${P.moduleArgument}, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {\n`:`${N.asyncModule}(${P.moduleArgument}, async function (__webpack_handle_async_dependencies__, __webpack_async_result__) { try {\n`,$.STAGE_ASYNC_BOUNDARY,0,undefined,`\n__webpack_async_result__();\n} catch(e) { __webpack_async_result__(e); } }${P.buildMeta.async?", 1":""});`))}}};v.exports=HarmonyCompatibilityDependency},97197:function(v,E,P){"use strict";const R=P(66866);const{JAVASCRIPT_MODULE_TYPE_ESM:$}=P(96170);const N=P(12e3);const L=P(49914);const q=P(95522);v.exports=class HarmonyDetectionParserPlugin{constructor(v){const{topLevelAwait:E=false}=v||{};this.topLevelAwait=E}apply(v){v.hooks.program.tap("HarmonyDetectionParserPlugin",(E=>{const P=v.state.module.type===$;const R=P||E.body.some((v=>v.type==="ImportDeclaration"||v.type==="ExportDefaultDeclaration"||v.type==="ExportNamedDeclaration"||v.type==="ExportAllDeclaration"));if(R){const E=v.state.module;const R=new L;R.loc={start:{line:-1,column:0},end:{line:-1,column:0},index:-3};E.addPresentationalDependency(R);N.bailout(v.state);q.enable(v.state,P);v.scope.isStrict=true}}));v.hooks.topLevelAwait.tap("HarmonyDetectionParserPlugin",(()=>{const E=v.state.module;if(!this.topLevelAwait){throw new Error("The top-level-await experiment is not enabled (set experiments.topLevelAwait: true to enable it)")}if(!q.isEnabled(v.state)){throw new Error("Top-level-await is only supported in EcmaScript Modules")}E.buildMeta.async=true;R.check(E,v.state.compilation.runtimeTemplate,"topLevelAwait")}));const skipInHarmony=()=>{if(q.isEnabled(v.state)){return true}};const nullInHarmony=()=>{if(q.isEnabled(v.state)){return null}};const E=["define","exports"];for(const P of E){v.hooks.evaluateTypeof.for(P).tap("HarmonyDetectionParserPlugin",nullInHarmony);v.hooks.typeof.for(P).tap("HarmonyDetectionParserPlugin",skipInHarmony);v.hooks.evaluate.for(P).tap("HarmonyDetectionParserPlugin",nullInHarmony);v.hooks.expression.for(P).tap("HarmonyDetectionParserPlugin",skipInHarmony);v.hooks.call.for(P).tap("HarmonyDetectionParserPlugin",skipInHarmony)}}}},22514:function(v,E,P){"use strict";const R=P(41718);const $=P(15965);class HarmonyEvaluatedImportSpecifierDependency extends ${constructor(v,E,P,R,$,N,L){super(v,E,P,R,$,false,N,[]);this.operator=L}get type(){return`evaluated X ${this.operator} harmony import specifier`}serialize(v){super.serialize(v);const{write:E}=v;E(this.operator)}deserialize(v){super.deserialize(v);const{read:E}=v;this.operator=E()}}R(HarmonyEvaluatedImportSpecifierDependency,"webpack/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency");HarmonyEvaluatedImportSpecifierDependency.Template=class HarmonyEvaluatedImportSpecifierDependencyTemplate extends $.Template{apply(v,E,P){const R=v;const{module:$,moduleGraph:N,runtime:L}=P;const q=N.getConnection(R);if(q&&!q.isTargetActive(L))return;const K=N.getExportsInfo(q.module);const ae=R.getIds(N);let ge;const be=q.module.getExportsType(N,$.buildMeta.strictHarmonyModule);switch(be){case"default-with-named":{if(ae[0]==="default"){ge=ae.length===1||K.isExportProvided(ae.slice(1))}else{ge=K.isExportProvided(ae)}break}case"namespace":{if(ae[0]==="__esModule"){ge=ae.length===1||undefined}else{ge=K.isExportProvided(ae)}break}case"dynamic":{if(ae[0]!=="default"){ge=K.isExportProvided(ae)}break}}if(typeof ge==="boolean"){E.replace(R.range[0],R.range[1]-1,` ${ge}`)}else{const v=K.getUsedName(ae,L);const $=this._getCodeForIds(R,E,P,ae.slice(0,-1));E.replace(R.range[0],R.range[1]-1,`${v?JSON.stringify(v[v.length-1]):'""'} in ${$}`)}}};v.exports=HarmonyEvaluatedImportSpecifierDependency},97912:function(v,E,P){"use strict";const R=P(48404);const $=P(9297);const N=P(67876);const L=P(88125);const q=P(9797);const K=P(42833);const{ExportPresenceModes:ae}=P(24647);const{harmonySpecifierTag:ge,getAssertions:be}=P(54720);const xe=P(33306);const{HarmonyStarExportsList:ve}=q;v.exports=class HarmonyExportDependencyParserPlugin{constructor(v){this.exportPresenceMode=v.reexportExportsPresence!==undefined?ae.fromUserOption(v.reexportExportsPresence):v.exportsPresence!==undefined?ae.fromUserOption(v.exportsPresence):v.strictExportPresence?ae.ERROR:ae.AUTO}apply(v){const{exportPresenceMode:E}=this;v.hooks.export.tap("HarmonyExportDependencyParserPlugin",(E=>{const P=new L(E.declaration&&E.declaration.range,E.range);P.loc=Object.create(E.loc);P.loc.index=-1;v.state.module.addPresentationalDependency(P);return true}));v.hooks.exportImport.tap("HarmonyExportDependencyParserPlugin",((E,P)=>{v.state.lastHarmonyImportOrder=(v.state.lastHarmonyImportOrder||0)+1;const R=new $("",E.range);R.loc=Object.create(E.loc);R.loc.index=-1;v.state.module.addPresentationalDependency(R);const N=new xe(P,v.state.lastHarmonyImportOrder,be(E));N.loc=Object.create(E.loc);N.loc.index=-1;v.state.current.addDependency(N);return true}));v.hooks.exportExpression.tap("HarmonyExportDependencyParserPlugin",((E,P)=>{const $=P.type==="FunctionDeclaration";const L=v.getComments([E.range[0],P.range[0]]);const q=new N(P.range,E.range,L.map((v=>{switch(v.type){case"Block":return`/*${v.value}*/`;case"Line":return`//${v.value}\n`}return""})).join(""),P.type.endsWith("Declaration")&&P.id?P.id.name:$?{id:P.id?P.id.name:undefined,range:[P.range[0],P.params.length>0?P.params[0].range[0]:P.body.range[0]],prefix:`${P.async?"async ":""}function${P.generator?"*":""} `,suffix:`(${P.params.length>0?"":") "}`}:undefined);q.loc=Object.create(E.loc);q.loc.index=-1;v.state.current.addDependency(q);R.addVariableUsage(v,P.type.endsWith("Declaration")&&P.id?P.id.name:"*default*","default");return true}));v.hooks.exportSpecifier.tap("HarmonyExportDependencyParserPlugin",((P,$,N,L)=>{const ae=v.getTagData($,ge);let be;const xe=v.state.harmonyNamedExports=v.state.harmonyNamedExports||new Set;xe.add(N);R.addVariableUsage(v,$,N);if(ae){be=new q(ae.source,ae.sourceOrder,ae.ids,N,xe,null,E,null,ae.assertions)}else{be=new K($,N)}be.loc=Object.create(P.loc);be.loc.index=L;v.state.current.addDependency(be);return true}));v.hooks.exportImportSpecifier.tap("HarmonyExportDependencyParserPlugin",((P,R,$,N,L)=>{const K=v.state.harmonyNamedExports=v.state.harmonyNamedExports||new Set;let ae=null;if(N){K.add(N)}else{ae=v.state.harmonyStarExports=v.state.harmonyStarExports||new ve}const ge=new q(R,v.state.lastHarmonyImportOrder,$?[$]:[],N,K,ae&&ae.slice(),E,ae);if(ae){ae.push(ge)}ge.loc=Object.create(P.loc);ge.loc.index=L;v.state.current.addDependency(ge);return true}))}}},67876:function(v,E,P){"use strict";const R=P(32757);const $=P(92529);const N=P(41718);const L=P(11930);const q=P(1435);const K=P(55111);class HarmonyExportExpressionDependency extends K{constructor(v,E,P,R){super();this.range=v;this.rangeStatement=E;this.prefix=P;this.declarationId=R}get type(){return"harmony export expression"}getExports(v){return{exports:["default"],priority:1,terminalBinding:true,dependencies:undefined}}getModuleEvaluationSideEffectsState(v){return false}serialize(v){const{write:E}=v;E(this.range);E(this.rangeStatement);E(this.prefix);E(this.declarationId);super.serialize(v)}deserialize(v){const{read:E}=v;this.range=E();this.rangeStatement=E();this.prefix=E();this.declarationId=E();super.deserialize(v)}}N(HarmonyExportExpressionDependency,"webpack/lib/dependencies/HarmonyExportExpressionDependency");HarmonyExportExpressionDependency.Template=class HarmonyExportDependencyTemplate extends K.Template{apply(v,E,{module:P,moduleGraph:N,runtimeTemplate:K,runtimeRequirements:ae,initFragments:ge,runtime:be,concatenationScope:xe}){const ve=v;const{declarationId:Ae}=ve;const Ie=P.exportsArgument;if(Ae){let v;if(typeof Ae==="string"){v=Ae}else{v=R.DEFAULT_EXPORT;E.replace(Ae.range[0],Ae.range[1]-1,`${Ae.prefix}${v}${Ae.suffix}`)}if(xe){xe.registerExport("default",v)}else{const E=N.getExportsInfo(P).getUsedName("default",be);if(E){const P=new Map;P.set(E,`/* export default binding */ ${v}`);ge.push(new q(Ie,P))}}E.replace(ve.rangeStatement[0],ve.range[0]-1,`/* harmony default export */ ${ve.prefix}`)}else{let v;const Ae=R.DEFAULT_EXPORT;if(K.supportsConst()){v=`/* harmony default export */ const ${Ae} = `;if(xe){xe.registerExport("default",Ae)}else{const E=N.getExportsInfo(P).getUsedName("default",be);if(E){ae.add($.exports);const v=new Map;v.set(E,Ae);ge.push(new q(Ie,v))}else{v=`/* unused harmony default export */ var ${Ae} = `}}}else if(xe){v=`/* harmony default export */ var ${Ae} = `;xe.registerExport("default",Ae)}else{const E=N.getExportsInfo(P).getUsedName("default",be);if(E){ae.add($.exports);v=`/* harmony default export */ ${Ie}${L(typeof E==="string"?[E]:E)} = `}else{v=`/* unused harmony default export */ var ${Ae} = `}}if(ve.range){E.replace(ve.rangeStatement[0],ve.range[0]-1,v+"("+ve.prefix);E.replace(ve.range[1],ve.rangeStatement[1]-.5,");");return}E.replace(ve.rangeStatement[0],ve.rangeStatement[1]-1,v)}}};v.exports=HarmonyExportExpressionDependency},88125:function(v,E,P){"use strict";const R=P(41718);const $=P(55111);class HarmonyExportHeaderDependency extends ${constructor(v,E){super();this.range=v;this.rangeStatement=E}get type(){return"harmony export header"}serialize(v){const{write:E}=v;E(this.range);E(this.rangeStatement);super.serialize(v)}deserialize(v){const{read:E}=v;this.range=E();this.rangeStatement=E();super.deserialize(v)}}R(HarmonyExportHeaderDependency,"webpack/lib/dependencies/HarmonyExportHeaderDependency");HarmonyExportHeaderDependency.Template=class HarmonyExportDependencyTemplate extends $.Template{apply(v,E,P){const R=v;const $="";const N=R.range?R.range[0]-1:R.rangeStatement[1]-1;E.replace(R.rangeStatement[0],N,$)}};v.exports=HarmonyExportHeaderDependency},9797:function(v,E,P){"use strict";const R=P(38204);const{UsageState:$}=P(8435);const N=P(80726);const L=P(23596);const q=P(92529);const K=P(25233);const{countIterable:ae}=P(6719);const{first:ge,combine:be}=P(64960);const xe=P(41718);const ve=P(11930);const{propertyName:Ae}=P(15780);const{getRuntimeKey:Ie,keyToRuntime:He}=P(65153);const Qe=P(1435);const Je=P(24647);const Ve=P(76716);const{ExportPresenceModes:Ke}=Je;const Ye=Symbol("HarmonyExportImportedSpecifierDependency.ids");class NormalReexportItem{constructor(v,E,P,R,$){this.name=v;this.ids=E;this.exportInfo=P;this.checked=R;this.hidden=$}}class ExportMode{constructor(v){this.type=v;this.items=null;this.name=null;this.partialNamespaceExportInfo=null;this.ignored=null;this.hidden=null;this.userRequest=null;this.fakeType=0}}const determineExportAssignments=(v,E,P)=>{const R=new Set;const $=[];if(P){E=E.concat(P)}for(const P of E){const E=$.length;$[E]=R.size;const N=v.getModule(P);if(N){const P=v.getExportsInfo(N);for(const v of P.exports){if(v.provided===true&&v.name!=="default"&&!R.has(v.name)){R.add(v.name);$[E]=R.size}}}}$.push(R.size);return{names:Array.from(R),dependencyIndices:$}};const findDependencyForName=({names:v,dependencyIndices:E},P,R)=>{const $=R[Symbol.iterator]();const N=E[Symbol.iterator]();let L=$.next();let q=N.next();if(q.done)return;for(let E=0;E=q.value){L=$.next();q=N.next();if(q.done)return}if(v[E]===P)return L.value}return undefined};const getMode=(v,E,P)=>{const R=v.getModule(E);if(!R){const v=new ExportMode("missing");v.userRequest=E.userRequest;return v}const N=E.name;const L=He(P);const q=v.getParentModule(E);const K=v.getExportsInfo(q);if(N?K.getUsed(N,L)===$.Unused:K.isUsed(L)===false){const v=new ExportMode("unused");v.name=N||"*";return v}const ae=R.getExportsType(v,q.buildMeta.strictHarmonyModule);const ge=E.getIds(v);if(N&&ge.length>0&&ge[0]==="default"){switch(ae){case"dynamic":{const v=new ExportMode("reexport-dynamic-default");v.name=N;return v}case"default-only":case"default-with-named":{const v=K.getReadOnlyExportInfo(N);const E=new ExportMode("reexport-named-default");E.name=N;E.partialNamespaceExportInfo=v;return E}}}if(N){let v;const E=K.getReadOnlyExportInfo(N);if(ge.length>0){switch(ae){case"default-only":v=new ExportMode("reexport-undefined");v.name=N;break;default:v=new ExportMode("normal-reexport");v.items=[new NormalReexportItem(N,ge,E,false,false)];break}}else{switch(ae){case"default-only":v=new ExportMode("reexport-fake-namespace-object");v.name=N;v.partialNamespaceExportInfo=E;v.fakeType=0;break;case"default-with-named":v=new ExportMode("reexport-fake-namespace-object");v.name=N;v.partialNamespaceExportInfo=E;v.fakeType=2;break;case"dynamic":default:v=new ExportMode("reexport-namespace-object");v.name=N;v.partialNamespaceExportInfo=E}}return v}const{ignoredExports:be,exports:xe,checked:ve,hidden:Ae}=E.getStarReexports(v,L,K,R);if(!xe){const v=new ExportMode("dynamic-reexport");v.ignored=be;v.hidden=Ae;return v}if(xe.size===0){const v=new ExportMode("empty-star");v.hidden=Ae;return v}const Ie=new ExportMode("normal-reexport");Ie.items=Array.from(xe,(v=>new NormalReexportItem(v,[v],K.getReadOnlyExportInfo(v),ve.has(v),false)));if(Ae!==undefined){for(const v of Ae){Ie.items.push(new NormalReexportItem(v,[v],K.getReadOnlyExportInfo(v),false,true))}}return Ie};class HarmonyExportImportedSpecifierDependency extends Je{constructor(v,E,P,R,$,N,L,q,K){super(v,E,K);this.ids=P;this.name=R;this.activeExports=$;this.otherStarExports=N;this.exportPresenceMode=L;this.allStarExports=q}couldAffectReferencingModule(){return R.TRANSITIVE}get id(){throw new Error("id was renamed to ids and type changed to string[]")}getId(){throw new Error("id was renamed to ids and type changed to string[]")}setId(){throw new Error("id was renamed to ids and type changed to string[]")}get type(){return"harmony export imported specifier"}getIds(v){return v.getMeta(this)[Ye]||this.ids}setIds(v,E){v.getMeta(this)[Ye]=E}getMode(v,E){return v.dependencyCacheProvide(this,Ie(E),getMode)}getStarReexports(v,E,P=v.getExportsInfo(v.getParentModule(this)),R=v.getModule(this)){const N=v.getExportsInfo(R);const L=N.otherExportsInfo.provided===false;const q=P.otherExportsInfo.getUsed(E)===$.Unused;const K=new Set(["default",...this.activeExports]);let ae=undefined;const ge=this._discoverActiveExportsFromOtherStarExports(v);if(ge!==undefined){ae=new Set;for(let v=0;v{const R=this.getMode(v,P);return R.type!=="unused"&&R.type!=="empty-star"}}getModuleEvaluationSideEffectsState(v){return false}getReferencedExports(v,E){const P=this.getMode(v,E);switch(P.type){case"missing":case"unused":case"empty-star":case"reexport-undefined":return R.NO_EXPORTS_REFERENCED;case"reexport-dynamic-default":return R.EXPORTS_OBJECT_REFERENCED;case"reexport-named-default":{if(!P.partialNamespaceExportInfo)return R.EXPORTS_OBJECT_REFERENCED;const v=[];Ve(E,v,[],P.partialNamespaceExportInfo);return v}case"reexport-namespace-object":case"reexport-fake-namespace-object":{if(!P.partialNamespaceExportInfo)return R.EXPORTS_OBJECT_REFERENCED;const v=[];Ve(E,v,[],P.partialNamespaceExportInfo,P.type==="reexport-fake-namespace-object");return v}case"dynamic-reexport":return R.EXPORTS_OBJECT_REFERENCED;case"normal-reexport":{const v=[];for(const{ids:R,exportInfo:$,hidden:N}of P.items){if(N)continue;Ve(E,v,R,$,false)}return v}default:throw new Error(`Unknown mode ${P.type}`)}}_discoverActiveExportsFromOtherStarExports(v){if(!this.otherStarExports)return undefined;const E="length"in this.otherStarExports?this.otherStarExports.length:ae(this.otherStarExports);if(E===0)return undefined;if(this.allStarExports){const{names:P,dependencyIndices:R}=v.cached(determineExportAssignments,this.allStarExports.dependencies);return{names:P,namesSlice:R[E-1],dependencyIndices:R,dependencyIndex:E}}const{names:P,dependencyIndices:R}=v.cached(determineExportAssignments,this.otherStarExports,this);return{names:P,namesSlice:R[E-1],dependencyIndices:R,dependencyIndex:E}}getExports(v){const E=this.getMode(v,undefined);switch(E.type){case"missing":return undefined;case"dynamic-reexport":{const P=v.getConnection(this);return{exports:true,from:P,canMangle:false,excludeExports:E.hidden?be(E.ignored,E.hidden):E.ignored,hideExports:E.hidden,dependencies:[P.module]}}case"empty-star":return{exports:[],hideExports:E.hidden,dependencies:[v.getModule(this)]};case"normal-reexport":{const P=v.getConnection(this);return{exports:Array.from(E.items,(v=>({name:v.name,from:P,export:v.ids,hidden:v.hidden}))),priority:1,dependencies:[P.module]}}case"reexport-dynamic-default":{{const P=v.getConnection(this);return{exports:[{name:E.name,from:P,export:["default"]}],priority:1,dependencies:[P.module]}}}case"reexport-undefined":return{exports:[E.name],dependencies:[v.getModule(this)]};case"reexport-fake-namespace-object":{const P=v.getConnection(this);return{exports:[{name:E.name,from:P,export:null,exports:[{name:"default",canMangle:false,from:P,export:null}]}],priority:1,dependencies:[P.module]}}case"reexport-namespace-object":{const P=v.getConnection(this);return{exports:[{name:E.name,from:P,export:null}],priority:1,dependencies:[P.module]}}case"reexport-named-default":{const P=v.getConnection(this);return{exports:[{name:E.name,from:P,export:["default"]}],priority:1,dependencies:[P.module]}}default:throw new Error(`Unknown mode ${E.type}`)}}_getEffectiveExportPresenceLevel(v){if(this.exportPresenceMode!==Ke.AUTO)return this.exportPresenceMode;return v.getParentModule(this).buildMeta.strictHarmonyModule?Ke.ERROR:Ke.WARN}getWarnings(v){const E=this._getEffectiveExportPresenceLevel(v);if(E===Ke.WARN){return this._getErrors(v)}return null}getErrors(v){const E=this._getEffectiveExportPresenceLevel(v);if(E===Ke.ERROR){return this._getErrors(v)}return null}_getErrors(v){const E=this.getIds(v);let P=this.getLinkingErrors(v,E,`(reexported as '${this.name}')`);if(E.length===0&&this.name===null){const E=this._discoverActiveExportsFromOtherStarExports(v);if(E&&E.namesSlice>0){const R=new Set(E.names.slice(E.namesSlice,E.dependencyIndices[E.dependencyIndex]));const $=v.getModule(this);if($){const L=v.getExportsInfo($);const q=new Map;for(const P of L.orderedExports){if(P.provided!==true)continue;if(P.name==="default")continue;if(this.activeExports.has(P.name))continue;if(R.has(P.name))continue;const N=findDependencyForName(E,P.name,this.allStarExports?this.allStarExports.dependencies:[...this.otherStarExports,this]);if(!N)continue;const L=P.getTerminalBinding(v);if(!L)continue;const K=v.getModule(N);if(K===$)continue;const ae=v.getExportInfo(K,P.name);const ge=ae.getTerminalBinding(v);if(!ge)continue;if(L===ge)continue;const be=q.get(N.request);if(be===undefined){q.set(N.request,[P.name])}else{be.push(P.name)}}for(const[v,E]of q){if(!P)P=[];P.push(new N(`The requested module '${this.request}' contains conflicting star exports for the ${E.length>1?"names":"name"} ${E.map((v=>`'${v}'`)).join(", ")} with the previous requested module '${v}'`))}}}}return P}serialize(v){const{write:E,setCircularReference:P}=v;P(this);E(this.ids);E(this.name);E(this.activeExports);E(this.otherStarExports);E(this.exportPresenceMode);E(this.allStarExports);super.serialize(v)}deserialize(v){const{read:E,setCircularReference:P}=v;P(this);this.ids=E();this.name=E();this.activeExports=E();this.otherStarExports=E();this.exportPresenceMode=E();this.allStarExports=E();super.deserialize(v)}}xe(HarmonyExportImportedSpecifierDependency,"webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency");v.exports=HarmonyExportImportedSpecifierDependency;HarmonyExportImportedSpecifierDependency.Template=class HarmonyExportImportedSpecifierDependencyTemplate extends Je.Template{apply(v,E,P){const{moduleGraph:R,runtime:$,concatenationScope:N}=P;const L=v;const q=L.getMode(R,$);if(N){switch(q.type){case"reexport-undefined":N.registerRawExport(q.name,"/* reexport non-default export from non-harmony */ undefined")}return}if(q.type!=="unused"&&q.type!=="empty-star"){super.apply(v,E,P);this._addExportFragments(P.initFragments,L,q,P.module,R,$,P.runtimeTemplate,P.runtimeRequirements)}}_addExportFragments(v,E,P,R,$,N,ae,xe){const ve=$.getModule(E);const Ae=E.getImportVar($);switch(P.type){case"missing":case"empty-star":v.push(new L("/* empty/unused harmony star reexport */\n",L.STAGE_HARMONY_EXPORTS,1));break;case"unused":v.push(new L(`${K.toNormalComment(`unused harmony reexport ${P.name}`)}\n`,L.STAGE_HARMONY_EXPORTS,1));break;case"reexport-dynamic-default":v.push(this.getReexportFragment(R,"reexport default from dynamic",$.getExportsInfo(R).getUsedName(P.name,N),Ae,null,xe));break;case"reexport-fake-namespace-object":v.push(...this.getReexportFakeNamespaceObjectFragments(R,$.getExportsInfo(R).getUsedName(P.name,N),Ae,P.fakeType,xe));break;case"reexport-undefined":v.push(this.getReexportFragment(R,"reexport non-default export from non-harmony",$.getExportsInfo(R).getUsedName(P.name,N),"undefined","",xe));break;case"reexport-named-default":v.push(this.getReexportFragment(R,"reexport default export from named module",$.getExportsInfo(R).getUsedName(P.name,N),Ae,"",xe));break;case"reexport-namespace-object":v.push(this.getReexportFragment(R,"reexport module object",$.getExportsInfo(R).getUsedName(P.name,N),Ae,"",xe));break;case"normal-reexport":for(const{name:q,ids:K,checked:ae,hidden:ge}of P.items){if(ge)continue;if(ae){v.push(new L("/* harmony reexport (checked) */ "+this.getConditionalReexportStatement(R,q,Ae,K,xe),$.isAsync(ve)?L.STAGE_ASYNC_HARMONY_IMPORTS:L.STAGE_HARMONY_IMPORTS,E.sourceOrder))}else{v.push(this.getReexportFragment(R,"reexport safe",$.getExportsInfo(R).getUsedName(q,N),Ae,$.getExportsInfo(ve).getUsedName(K,N),xe))}}break;case"dynamic-reexport":{const N=P.hidden?be(P.ignored,P.hidden):P.ignored;const K=ae.supportsConst()&&ae.supportsArrowFunction();let Ie="/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n"+`/* harmony reexport (unknown) */ for(${K?"const":"var"} __WEBPACK_IMPORT_KEY__ in ${Ae}) `;if(N.size>1){Ie+="if("+JSON.stringify(Array.from(N))+".indexOf(__WEBPACK_IMPORT_KEY__) < 0) "}else if(N.size===1){Ie+=`if(__WEBPACK_IMPORT_KEY__ !== ${JSON.stringify(ge(N))}) `}Ie+=`__WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = `;if(K){Ie+=`() => ${Ae}[__WEBPACK_IMPORT_KEY__]`}else{Ie+=`function(key) { return ${Ae}[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)`}xe.add(q.exports);xe.add(q.definePropertyGetters);const He=R.exportsArgument;v.push(new L(`${Ie}\n/* harmony reexport (unknown) */ ${q.definePropertyGetters}(${He}, __WEBPACK_REEXPORT_OBJECT__);\n`,$.isAsync(ve)?L.STAGE_ASYNC_HARMONY_IMPORTS:L.STAGE_HARMONY_IMPORTS,E.sourceOrder));break}default:throw new Error(`Unknown mode ${P.type}`)}}getReexportFragment(v,E,P,R,$,N){const L=this.getReturnValue(R,$);N.add(q.exports);N.add(q.definePropertyGetters);const K=new Map;K.set(P,`/* ${E} */ ${L}`);return new Qe(v.exportsArgument,K)}getReexportFakeNamespaceObjectFragments(v,E,P,R,$){$.add(q.exports);$.add(q.definePropertyGetters);$.add(q.createFakeNamespaceObject);const N=new Map;N.set(E,`/* reexport fake namespace object from non-harmony */ ${P}_namespace_cache || (${P}_namespace_cache = ${q.createFakeNamespaceObject}(${P}${R?`, ${R}`:""}))`);return[new L(`var ${P}_namespace_cache;\n`,L.STAGE_CONSTANTS,-1,`${P}_namespace_cache`),new Qe(v.exportsArgument,N)]}getConditionalReexportStatement(v,E,P,R,$){if(R===false){return"/* unused export */\n"}const N=v.exportsArgument;const L=this.getReturnValue(P,R);$.add(q.exports);$.add(q.definePropertyGetters);$.add(q.hasOwnProperty);return`if(${q.hasOwnProperty}(${P}, ${JSON.stringify(R[0])})) ${q.definePropertyGetters}(${N}, { ${Ae(E)}: function() { return ${L}; } });\n`}getReturnValue(v,E){if(E===null){return`${v}_default.a`}if(E===""){return v}if(E===false){return"/* unused export */ undefined"}return`${v}${ve(E)}`}};class HarmonyStarExportsList{constructor(){this.dependencies=[]}push(v){this.dependencies.push(v)}slice(){return this.dependencies.slice()}serialize({write:v,setCircularReference:E}){E(this);v(this.dependencies)}deserialize({read:v,setCircularReference:E}){E(this);this.dependencies=v()}}xe(HarmonyStarExportsList,"webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency","HarmonyStarExportsList");v.exports.HarmonyStarExportsList=HarmonyStarExportsList},1435:function(v,E,P){"use strict";const R=P(23596);const $=P(92529);const{first:N}=P(64960);const{propertyName:L}=P(15780);const joinIterableWithComma=v=>{let E="";let P=true;for(const R of v){if(P){P=false}else{E+=", "}E+=R}return E};const q=new Map;const K=new Set;class HarmonyExportInitFragment extends R{constructor(v,E=q,P=K){super(undefined,R.STAGE_HARMONY_EXPORTS,1,"harmony-exports");this.exportsArgument=v;this.exportMap=E;this.unusedExports=P}mergeAll(v){let E;let P=false;let R;let $=false;for(const N of v){if(N.exportMap.size!==0){if(E===undefined){E=N.exportMap;P=false}else{if(!P){E=new Map(E);P=true}for(const[v,P]of N.exportMap){if(!E.has(v))E.set(v,P)}}}if(N.unusedExports.size!==0){if(R===undefined){R=N.unusedExports;$=false}else{if(!$){R=new Set(R);$=true}for(const v of N.unusedExports){R.add(v)}}}}return new HarmonyExportInitFragment(this.exportsArgument,E,R)}merge(v){let E;if(this.exportMap.size===0){E=v.exportMap}else if(v.exportMap.size===0){E=this.exportMap}else{E=new Map(v.exportMap);for(const[v,P]of this.exportMap){if(!E.has(v))E.set(v,P)}}let P;if(this.unusedExports.size===0){P=v.unusedExports}else if(v.unusedExports.size===0){P=this.unusedExports}else{P=new Set(v.unusedExports);for(const v of this.unusedExports){P.add(v)}}return new HarmonyExportInitFragment(this.exportsArgument,E,P)}getContent({runtimeTemplate:v,runtimeRequirements:E}){E.add($.exports);E.add($.definePropertyGetters);const P=this.unusedExports.size>1?`/* unused harmony exports ${joinIterableWithComma(this.unusedExports)} */\n`:this.unusedExports.size>0?`/* unused harmony export ${N(this.unusedExports)} */\n`:"";const R=[];const q=Array.from(this.exportMap).sort((([v],[E])=>v0?`/* harmony export */ ${$.definePropertyGetters}(${this.exportsArgument}, {${R.join(",")}\n/* harmony export */ });\n`:"";return`${K}${P}`}}v.exports=HarmonyExportInitFragment},42833:function(v,E,P){"use strict";const R=P(41718);const $=P(1435);const N=P(55111);class HarmonyExportSpecifierDependency extends N{constructor(v,E){super();this.id=v;this.name=E}get type(){return"harmony export specifier"}getExports(v){return{exports:[this.name],priority:1,terminalBinding:true,dependencies:undefined}}getModuleEvaluationSideEffectsState(v){return false}serialize(v){const{write:E}=v;E(this.id);E(this.name);super.serialize(v)}deserialize(v){const{read:E}=v;this.id=E();this.name=E();super.deserialize(v)}}R(HarmonyExportSpecifierDependency,"webpack/lib/dependencies/HarmonyExportSpecifierDependency");HarmonyExportSpecifierDependency.Template=class HarmonyExportSpecifierDependencyTemplate extends N.Template{apply(v,E,{module:P,moduleGraph:R,initFragments:N,runtime:L,concatenationScope:q}){const K=v;if(q){q.registerExport(K.name,K.id);return}const ae=R.getExportsInfo(P).getUsedName(K.name,L);if(!ae){const v=new Set;v.add(K.name||"namespace");N.push(new $(P.exportsArgument,undefined,v));return}const ge=new Map;ge.set(ae,`/* binding */ ${K.id}`);N.push(new $(P.exportsArgument,ge,undefined))}};v.exports=HarmonyExportSpecifierDependency},95522:function(v,E,P){"use strict";const R=P(92529);const $=new WeakMap;E.enable=(v,E)=>{const P=$.get(v);if(P===false)return;$.set(v,true);if(P!==true){const P=v.module.buildMeta;P.exportsType="namespace";const $=v.module.buildInfo;$.strict=true;$.exportsArgument=R.exports;if(E){P.strictHarmonyModule=true;$.moduleArgument="__webpack_module__"}}};E.isEnabled=v=>{const E=$.get(v);return E===true}},24647:function(v,E,P){"use strict";const R=P(55558);const $=P(38204);const N=P(80726);const L=P(23596);const q=P(25233);const K=P(63318);const{filterRuntime:ae,mergeRuntime:ge}=P(65153);const be=P(17782);const xe={NONE:0,WARN:1,AUTO:2,ERROR:3,fromUserOption(v){switch(v){case"error":return xe.ERROR;case"warn":return xe.WARN;case"auto":return xe.AUTO;case false:return xe.NONE;default:throw new Error(`Invalid export presence value ${v}`)}}};class HarmonyImportDependency extends be{constructor(v,E,P){super(v);this.sourceOrder=E;this.assertions=P}get category(){return"esm"}getReferencedExports(v,E){return $.NO_EXPORTS_REFERENCED}getImportVar(v){const E=v.getParentModule(this);const P=v.getMeta(E);let R=P.importVarMap;if(!R)P.importVarMap=R=new Map;let $=R.get(v.getModule(this));if($)return $;$=`${q.toIdentifier(`${this.userRequest}`)}__WEBPACK_IMPORTED_MODULE_${R.size}__`;R.set(v.getModule(this),$);return $}getImportStatement(v,{runtimeTemplate:E,module:P,moduleGraph:R,chunkGraph:$,runtimeRequirements:N}){return E.importStatement({update:v,module:R.getModule(this),chunkGraph:$,importVar:this.getImportVar(R),request:this.request,originModule:P,runtimeRequirements:N})}getLinkingErrors(v,E,P){const R=v.getModule(this);if(!R||R.getNumberOfErrors()>0){return}const $=v.getParentModule(this);const L=R.getExportsType(v,$.buildMeta.strictHarmonyModule);if(L==="namespace"||L==="default-with-named"){if(E.length===0){return}if((L!=="default-with-named"||E[0]!=="default")&&v.isExportProvided(R,E)===false){let $=0;let L=v.getExportsInfo(R);while($`'${v}'`)).join(".")} ${P} was not found in '${this.userRequest}'${R}`)]}L=R.getNestedExportsInfo()}return[new N(`export ${E.map((v=>`'${v}'`)).join(".")} ${P} was not found in '${this.userRequest}'`)]}}switch(L){case"default-only":if(E.length>0&&E[0]!=="default"){return[new N(`Can't import the named export ${E.map((v=>`'${v}'`)).join(".")} ${P} from default-exporting module (only default export is available)`)]}break;case"default-with-named":if(E.length>0&&E[0]!=="default"&&R.buildMeta.defaultObject==="redirect-warn"){return[new N(`Should not import the named export ${E.map((v=>`'${v}'`)).join(".")} ${P} from default-exporting module (only default export is available soon)`)]}break}}serialize(v){const{write:E}=v;E(this.sourceOrder);E(this.assertions);super.serialize(v)}deserialize(v){const{read:E}=v;this.sourceOrder=E();this.assertions=E();super.deserialize(v)}}v.exports=HarmonyImportDependency;const ve=new WeakMap;HarmonyImportDependency.Template=class HarmonyImportDependencyTemplate extends be.Template{apply(v,E,P){const $=v;const{module:N,chunkGraph:q,moduleGraph:be,runtime:xe}=P;const Ae=be.getConnection($);if(Ae&&!Ae.isTargetActive(xe))return;const Ie=Ae&&Ae.module;if(Ae&&Ae.weak&&Ie&&q.getModuleId(Ie)===null){return}const He=Ie?Ie.identifier():$.request;const Qe=`harmony import ${He}`;const Je=$.weak?false:Ae?ae(xe,(v=>Ae.isTargetActive(v))):true;if(N&&Ie){let v=ve.get(N);if(v===undefined){v=new WeakMap;ve.set(N,v)}let E=Je;const P=v.get(Ie)||false;if(P!==false&&E!==true){if(E===false||P===true){E=P}else{E=ge(P,E)}}v.set(Ie,E)}const Ve=$.getImportStatement(false,P);if(Ie&&P.moduleGraph.isAsync(Ie)){P.initFragments.push(new R(Ve[0],L.STAGE_HARMONY_IMPORTS,$.sourceOrder,Qe,Je));P.initFragments.push(new K(new Set([$.getImportVar(P.moduleGraph)])));P.initFragments.push(new R(Ve[1],L.STAGE_ASYNC_HARMONY_IMPORTS,$.sourceOrder,Qe+" compat",Je))}else{P.initFragments.push(new R(Ve[0]+Ve[1],L.STAGE_HARMONY_IMPORTS,$.sourceOrder,Qe,Je))}}static getImportEmittedRuntime(v,E){const P=ve.get(v);if(P===undefined)return false;return P.get(E)||false}};v.exports.ExportPresenceModes=xe},54720:function(v,E,P){"use strict";const R=P(68064);const $=P(48404);const N=P(9297);const L=P(16781);const q=P(41465);const K=P(22514);const ae=P(95522);const{ExportPresenceModes:ge}=P(24647);const be=P(33306);const xe=P(15965);const ve=Symbol("harmony import");function getAssertions(v){const E=v.assertions;if(E===undefined){return undefined}const P={};for(const v of E){const E=v.key.type==="Identifier"?v.key.name:v.key.value;P[E]=v.value.value}return P}v.exports=class HarmonyImportDependencyParserPlugin{constructor(v){this.exportPresenceMode=v.importExportsPresence!==undefined?ge.fromUserOption(v.importExportsPresence):v.exportsPresence!==undefined?ge.fromUserOption(v.exportsPresence):v.strictExportPresence?ge.ERROR:ge.AUTO;this.strictThisContextOnImports=v.strictThisContextOnImports}apply(v){const{exportPresenceMode:E}=this;function getNonOptionalPart(v,E){let P=0;while(P{const P=E;if(v.isVariableDefined(P.name)||v.getTagData(P.name,ve)){return true}}));v.hooks.import.tap("HarmonyImportDependencyParserPlugin",((E,P)=>{v.state.lastHarmonyImportOrder=(v.state.lastHarmonyImportOrder||0)+1;const R=new N(v.isAsiPosition(E.range[0])?";":"",E.range);R.loc=E.loc;v.state.module.addPresentationalDependency(R);v.unsetAsiPosition(E.range[1]);const $=getAssertions(E);const L=new be(P,v.state.lastHarmonyImportOrder,$);L.loc=E.loc;v.state.module.addDependency(L);return true}));v.hooks.importSpecifier.tap("HarmonyImportDependencyParserPlugin",((E,P,R,$)=>{const N=R===null?[]:[R];v.tagVariable($,ve,{name:$,source:P,ids:N,sourceOrder:v.state.lastHarmonyImportOrder,assertions:getAssertions(E)});return true}));v.hooks.binaryExpression.tap("HarmonyImportDependencyParserPlugin",(E=>{if(E.operator!=="in")return;const P=v.evaluateExpression(E.left);if(P.couldHaveSideEffects())return;const R=P.asString();if(!R)return;const N=v.evaluateExpression(E.right);if(!N.isIdentifier())return;const L=N.rootInfo;if(typeof L==="string"||!L||!L.tagInfo||L.tagInfo.tag!==ve)return;const q=L.tagInfo.data;const ae=N.getMembers();const ge=new K(q.source,q.sourceOrder,q.ids.concat(ae).concat([R]),q.name,E.range,q.assertions,"in");ge.directImport=ae.length===0;ge.asiSafe=!v.isAsiPosition(E.range[0]);ge.loc=E.loc;v.state.module.addDependency(ge);$.onUsage(v.state,(v=>ge.usedByExports=v));return true}));v.hooks.expression.for(ve).tap("HarmonyImportDependencyParserPlugin",(P=>{const R=v.currentTagData;const N=new xe(R.source,R.sourceOrder,R.ids,R.name,P.range,E,R.assertions,[]);N.referencedPropertiesInDestructuring=v.destructuringAssignmentPropertiesFor(P);N.shorthand=v.scope.inShorthand;N.directImport=true;N.asiSafe=!v.isAsiPosition(P.range[0]);N.loc=P.loc;N.call=v.scope.inTaggedTemplateTag;v.state.module.addDependency(N);$.onUsage(v.state,(v=>N.usedByExports=v));return true}));v.hooks.expressionMemberChain.for(ve).tap("HarmonyImportDependencyParserPlugin",((P,R,N,L)=>{const q=v.currentTagData;const K=getNonOptionalPart(R,N);const ae=L.slice(0,L.length-(R.length-K.length));const ge=K!==R?getNonOptionalMemberChain(P,R.length-K.length):P;const be=q.ids.concat(K);const ve=new xe(q.source,q.sourceOrder,be,q.name,ge.range,E,q.assertions,ae);ve.referencedPropertiesInDestructuring=v.destructuringAssignmentPropertiesFor(ge);ve.asiSafe=!v.isAsiPosition(ge.range[0]);ve.loc=ge.loc;v.state.module.addDependency(ve);$.onUsage(v.state,(v=>ve.usedByExports=v));return true}));v.hooks.callMemberChain.for(ve).tap("HarmonyImportDependencyParserPlugin",((P,R,N,L)=>{const{arguments:q,callee:K}=P;const ae=v.currentTagData;const ge=getNonOptionalPart(R,N);const be=L.slice(0,L.length-(R.length-ge.length));const ve=ge!==R?getNonOptionalMemberChain(K,R.length-ge.length):K;const Ae=ae.ids.concat(ge);const Ie=new xe(ae.source,ae.sourceOrder,Ae,ae.name,ve.range,E,ae.assertions,be);Ie.directImport=R.length===0;Ie.call=true;Ie.asiSafe=!v.isAsiPosition(ve.range[0]);Ie.namespaceObjectAsContext=R.length>0&&this.strictThisContextOnImports;Ie.loc=ve.loc;v.state.module.addDependency(Ie);if(q)v.walkExpressions(q);$.onUsage(v.state,(v=>Ie.usedByExports=v));return true}));const{hotAcceptCallback:P,hotAcceptWithoutCallback:ge}=R.getParserHooks(v);P.tap("HarmonyImportDependencyParserPlugin",((E,P)=>{if(!ae.isEnabled(v.state)){return}const R=P.map((P=>{const R=new q(P);R.loc=E.loc;v.state.module.addDependency(R);return R}));if(R.length>0){const P=new L(E.range,R,true);P.loc=E.loc;v.state.module.addDependency(P)}}));ge.tap("HarmonyImportDependencyParserPlugin",((E,P)=>{if(!ae.isEnabled(v.state)){return}const R=P.map((P=>{const R=new q(P);R.loc=E.loc;v.state.module.addDependency(R);return R}));if(R.length>0){const P=new L(E.range,R,false);P.loc=E.loc;v.state.module.addDependency(P)}}))}};v.exports.harmonySpecifierTag=ve;v.exports.getAssertions=getAssertions},33306:function(v,E,P){"use strict";const R=P(41718);const $=P(24647);class HarmonyImportSideEffectDependency extends ${constructor(v,E,P){super(v,E,P)}get type(){return"harmony side effect evaluation"}getCondition(v){return E=>{const P=E.resolvedModule;if(!P)return true;return P.getSideEffectsConnectionState(v)}}getModuleEvaluationSideEffectsState(v){const E=v.getModule(this);if(!E)return true;return E.getSideEffectsConnectionState(v)}}R(HarmonyImportSideEffectDependency,"webpack/lib/dependencies/HarmonyImportSideEffectDependency");HarmonyImportSideEffectDependency.Template=class HarmonyImportSideEffectDependencyTemplate extends $.Template{apply(v,E,P){const{moduleGraph:R,concatenationScope:$}=P;if($){const E=R.getModule(v);if($.isModuleInScope(E)){return}}super.apply(v,E,P)}};v.exports=HarmonyImportSideEffectDependency},15965:function(v,E,P){"use strict";const R=P(38204);const{getDependencyUsedByExportsCondition:$}=P(48404);const{getTrimmedIdsAndRange:N}=P(67114);const L=P(41718);const q=P(11930);const K=P(24647);const ae=Symbol("HarmonyImportSpecifierDependency.ids");const{ExportPresenceModes:ge}=K;class HarmonyImportSpecifierDependency extends K{constructor(v,E,P,R,$,N,L,q){super(v,E,L);this.ids=P;this.name=R;this.range=$;this.idRanges=q;this.exportPresenceMode=N;this.namespaceObjectAsContext=false;this.call=undefined;this.directImport=undefined;this.shorthand=undefined;this.asiSafe=undefined;this.usedByExports=undefined;this.referencedPropertiesInDestructuring=undefined}get id(){throw new Error("id was renamed to ids and type changed to string[]")}getId(){throw new Error("id was renamed to ids and type changed to string[]")}setId(){throw new Error("id was renamed to ids and type changed to string[]")}get type(){return"harmony import specifier"}getIds(v){const E=v.getMetaIfExisting(this);if(E===undefined)return this.ids;const P=E[ae];return P!==undefined?P:this.ids}setIds(v,E){v.getMeta(this)[ae]=E}getCondition(v){return $(this,this.usedByExports,v)}getModuleEvaluationSideEffectsState(v){return false}getReferencedExports(v,E){let P=this.getIds(v);if(P.length===0)return this._getReferencedExportsInDestructuring();let $=this.namespaceObjectAsContext;if(P[0]==="default"){const E=v.getParentModule(this);const N=v.getModule(this);switch(N.getExportsType(v,E.buildMeta.strictHarmonyModule)){case"default-only":case"default-with-named":if(P.length===1)return this._getReferencedExportsInDestructuring();P=P.slice(1);$=true;break;case"dynamic":return R.EXPORTS_OBJECT_REFERENCED}}if(this.call&&!this.directImport&&($||P.length>1)){if(P.length===1)return R.EXPORTS_OBJECT_REFERENCED;P=P.slice(0,-1)}return this._getReferencedExportsInDestructuring(P)}_getReferencedExportsInDestructuring(v){if(this.referencedPropertiesInDestructuring){const E=[];for(const P of this.referencedPropertiesInDestructuring){E.push({name:v?v.concat([P]):[P],canMangle:false})}return E}else{return v?[v]:R.EXPORTS_OBJECT_REFERENCED}}_getEffectiveExportPresenceLevel(v){if(this.exportPresenceMode!==ge.AUTO)return this.exportPresenceMode;const E=v.getParentModule(this).buildMeta;return E.strictHarmonyModule?ge.ERROR:ge.WARN}getWarnings(v){const E=this._getEffectiveExportPresenceLevel(v);if(E===ge.WARN){return this._getErrors(v)}return null}getErrors(v){const E=this._getEffectiveExportPresenceLevel(v);if(E===ge.ERROR){return this._getErrors(v)}return null}_getErrors(v){const E=this.getIds(v);return this.getLinkingErrors(v,E,`(imported as '${this.name}')`)}getNumberOfIdOccurrences(){return 0}serialize(v){const{write:E}=v;E(this.ids);E(this.name);E(this.range);E(this.idRanges);E(this.exportPresenceMode);E(this.namespaceObjectAsContext);E(this.call);E(this.directImport);E(this.shorthand);E(this.asiSafe);E(this.usedByExports);E(this.referencedPropertiesInDestructuring);super.serialize(v)}deserialize(v){const{read:E}=v;this.ids=E();this.name=E();this.range=E();this.idRanges=E();this.exportPresenceMode=E();this.namespaceObjectAsContext=E();this.call=E();this.directImport=E();this.shorthand=E();this.asiSafe=E();this.usedByExports=E();this.referencedPropertiesInDestructuring=E();super.deserialize(v)}}L(HarmonyImportSpecifierDependency,"webpack/lib/dependencies/HarmonyImportSpecifierDependency");HarmonyImportSpecifierDependency.Template=class HarmonyImportSpecifierDependencyTemplate extends K.Template{apply(v,E,P){const R=v;const{moduleGraph:$,runtime:L}=P;const q=$.getConnection(R);if(q&&!q.isTargetActive(L))return;const{trimmedRange:[K,ae],trimmedIds:ge}=N(R.getIds($),R.range,R.idRanges,$,R);const be=this._getCodeForIds(R,E,P,ge);if(R.shorthand){E.insert(ae,`: ${be}`)}else{E.replace(K,ae-1,be)}}_getCodeForIds(v,E,P,R){const{moduleGraph:$,module:N,runtime:L,concatenationScope:K}=P;const ae=$.getConnection(v);let ge;if(ae&&K&&K.isModuleInScope(ae.module)){if(R.length===0){ge=K.createModuleReference(ae.module,{asiSafe:v.asiSafe})}else if(v.namespaceObjectAsContext&&R.length===1){ge=K.createModuleReference(ae.module,{asiSafe:v.asiSafe})+q(R)}else{ge=K.createModuleReference(ae.module,{ids:R,call:v.call,directImport:v.directImport,asiSafe:v.asiSafe})}}else{super.apply(v,E,P);const{runtimeTemplate:q,initFragments:K,runtimeRequirements:ae}=P;ge=q.exportFromImport({moduleGraph:$,module:$.getModule(v),request:v.request,exportName:R,originModule:N,asiSafe:v.shorthand?true:v.asiSafe,isCall:v.call,callContext:!v.directImport,defaultInterop:true,importVar:v.getImportVar($),initFragments:K,runtime:L,runtimeRequirements:ae})}return ge}};v.exports=HarmonyImportSpecifierDependency},29468:function(v,E,P){"use strict";const R=P(16781);const $=P(41465);const N=P(49914);const L=P(22514);const q=P(67876);const K=P(88125);const ae=P(9797);const ge=P(42833);const be=P(33306);const xe=P(15965);const{JAVASCRIPT_MODULE_TYPE_AUTO:ve,JAVASCRIPT_MODULE_TYPE_ESM:Ae}=P(96170);const Ie=P(97197);const He=P(97912);const Qe=P(54720);const Je=P(70435);const Ve="HarmonyModulesPlugin";class HarmonyModulesPlugin{constructor(v){this.options=v}apply(v){v.hooks.compilation.tap(Ve,((v,{normalModuleFactory:E})=>{v.dependencyTemplates.set(N,new N.Template);v.dependencyFactories.set(be,E);v.dependencyTemplates.set(be,new be.Template);v.dependencyFactories.set(xe,E);v.dependencyTemplates.set(xe,new xe.Template);v.dependencyFactories.set(L,E);v.dependencyTemplates.set(L,new L.Template);v.dependencyTemplates.set(K,new K.Template);v.dependencyTemplates.set(q,new q.Template);v.dependencyTemplates.set(ge,new ge.Template);v.dependencyFactories.set(ae,E);v.dependencyTemplates.set(ae,new ae.Template);v.dependencyTemplates.set(R,new R.Template);v.dependencyFactories.set($,E);v.dependencyTemplates.set($,new $.Template);const handler=(v,E)=>{if(E.harmony!==undefined&&!E.harmony)return;new Ie(this.options).apply(v);new Qe(E).apply(v);new He(E).apply(v);(new Je).apply(v)};E.hooks.parser.for(ve).tap(Ve,handler);E.hooks.parser.for(Ae).tap(Ve,handler)}))}}v.exports=HarmonyModulesPlugin},70435:function(v,E,P){"use strict";const R=P(9297);const $=P(95522);class HarmonyTopLevelThisParserPlugin{apply(v){v.hooks.expression.for("this").tap("HarmonyTopLevelThisParserPlugin",(E=>{if(!v.scope.topLevelScope)return;if($.isEnabled(v.state)){const P=new R("undefined",E.range,null);P.loc=E.loc;v.state.module.addPresentationalDependency(P);return true}}))}}v.exports=HarmonyTopLevelThisParserPlugin},15009:function(v,E,P){"use strict";const R=P(41718);const $=P(19397);const N=P(45466);class ImportContextDependency extends ${constructor(v,E,P){super(v);this.range=E;this.valueRange=P}get type(){return`import() context ${this.options.mode}`}get category(){return"esm"}serialize(v){const{write:E}=v;E(this.valueRange);super.serialize(v)}deserialize(v){const{read:E}=v;this.valueRange=E();super.deserialize(v)}}R(ImportContextDependency,"webpack/lib/dependencies/ImportContextDependency");ImportContextDependency.Template=N;v.exports=ImportContextDependency},81754:function(v,E,P){"use strict";const R=P(38204);const $=P(41718);const N=P(17782);class ImportDependency extends N{constructor(v,E,P){super(v);this.range=E;this.referencedExports=P}get type(){return"import()"}get category(){return"esm"}getReferencedExports(v,E){if(!this.referencedExports)return R.EXPORTS_OBJECT_REFERENCED;const P=[];for(const E of this.referencedExports){if(E[0]==="default"){const E=v.getParentModule(this);const P=v.getModule(this);const $=P.getExportsType(v,E.buildMeta.strictHarmonyModule);if($==="default-only"||$==="default-with-named"){return R.EXPORTS_OBJECT_REFERENCED}}P.push({name:E,canMangle:false})}return P}serialize(v){v.write(this.range);v.write(this.referencedExports);super.serialize(v)}deserialize(v){this.range=v.read();this.referencedExports=v.read();super.deserialize(v)}}$(ImportDependency,"webpack/lib/dependencies/ImportDependency");ImportDependency.Template=class ImportDependencyTemplate extends N.Template{apply(v,E,{runtimeTemplate:P,module:R,moduleGraph:$,chunkGraph:N,runtimeRequirements:L}){const q=v;const K=$.getParentBlock(q);const ae=P.moduleNamespacePromise({chunkGraph:N,block:K,module:$.getModule(q),request:q.request,strict:R.buildMeta.strictHarmonyModule,message:"import()",runtimeRequirements:L});E.replace(q.range[0],q.range[1]-1,ae)}};v.exports=ImportDependency},92341:function(v,E,P){"use strict";const R=P(41718);const $=P(81754);class ImportEagerDependency extends ${constructor(v,E,P){super(v,E,P)}get type(){return"import() eager"}get category(){return"esm"}}R(ImportEagerDependency,"webpack/lib/dependencies/ImportEagerDependency");ImportEagerDependency.Template=class ImportEagerDependencyTemplate extends $.Template{apply(v,E,{runtimeTemplate:P,module:R,moduleGraph:$,chunkGraph:N,runtimeRequirements:L}){const q=v;const K=P.moduleNamespacePromise({chunkGraph:N,module:$.getModule(q),request:q.request,strict:R.buildMeta.strictHarmonyModule,message:"import() eager",runtimeRequirements:L});E.replace(q.range[0],q.range[1]-1,K)}};v.exports=ImportEagerDependency},97576:function(v,E,P){"use strict";const R=P(41718);const $=P(19397);const N=P(80467);class ImportMetaContextDependency extends ${constructor(v,E){super(v);this.range=E}get category(){return"esm"}get type(){return`import.meta.webpackContext ${this.options.mode}`}}R(ImportMetaContextDependency,"webpack/lib/dependencies/ImportMetaContextDependency");ImportMetaContextDependency.Template=N;v.exports=ImportMetaContextDependency},25945:function(v,E,P){"use strict";const R=P(16413);const{evaluateToIdentifier:$}=P(73320);const N=P(97576);function createPropertyParseError(v,E){return createError(`Parsing import.meta.webpackContext options failed. Unknown value for property ${JSON.stringify(v.key.name)}, expected type ${E}.`,v.value.loc)}function createError(v,E){const P=new R(v);P.name="ImportMetaContextError";P.loc=E;return P}v.exports=class ImportMetaContextDependencyParserPlugin{apply(v){v.hooks.evaluateIdentifier.for("import.meta.webpackContext").tap("ImportMetaContextDependencyParserPlugin",(v=>$("import.meta.webpackContext","import.meta",(()=>["webpackContext"]),true)(v)));v.hooks.call.for("import.meta.webpackContext").tap("ImportMetaContextDependencyParserPlugin",(E=>{if(E.arguments.length<1||E.arguments.length>2)return;const[P,R]=E.arguments;if(R&&R.type!=="ObjectExpression")return;const $=v.evaluateExpression(P);if(!$.isString())return;const L=$.string;const q=[];let K=/^\.\/.*$/;let ae=true;let ge="sync";let be;let xe;const ve={};let Ae;let Ie;if(R){for(const E of R.properties){if(E.type!=="Property"||E.key.type!=="Identifier"){q.push(createError("Parsing import.meta.webpackContext options failed.",R.loc));break}switch(E.key.name){case"regExp":{const P=v.evaluateExpression(E.value);if(!P.isRegExp()){q.push(createPropertyParseError(E,"RegExp"))}else{K=P.regExp}break}case"include":{const P=v.evaluateExpression(E.value);if(!P.isRegExp()){q.push(createPropertyParseError(E,"RegExp"))}else{be=P.regExp}break}case"exclude":{const P=v.evaluateExpression(E.value);if(!P.isRegExp()){q.push(createPropertyParseError(E,"RegExp"))}else{xe=P.regExp}break}case"mode":{const P=v.evaluateExpression(E.value);if(!P.isString()){q.push(createPropertyParseError(E,"string"))}else{ge=P.string}break}case"chunkName":{const P=v.evaluateExpression(E.value);if(!P.isString()){q.push(createPropertyParseError(E,"string"))}else{Ae=P.string}break}case"exports":{const P=v.evaluateExpression(E.value);if(P.isString()){Ie=[[P.string]]}else if(P.isArray()){const v=P.items;if(v.every((v=>{if(!v.isArray())return false;const E=v.items;return E.every((v=>v.isString()))}))){Ie=[];for(const E of v){const v=[];for(const P of E.items){v.push(P.string)}Ie.push(v)}}else{q.push(createPropertyParseError(E,"string|string[][]"))}}else{q.push(createPropertyParseError(E,"string|string[][]"))}break}case"prefetch":{const P=v.evaluateExpression(E.value);if(P.isBoolean()){ve.prefetchOrder=0}else if(P.isNumber()){ve.prefetchOrder=P.number}else{q.push(createPropertyParseError(E,"boolean|number"))}break}case"preload":{const P=v.evaluateExpression(E.value);if(P.isBoolean()){ve.preloadOrder=0}else if(P.isNumber()){ve.preloadOrder=P.number}else{q.push(createPropertyParseError(E,"boolean|number"))}break}case"fetchPriority":{const P=v.evaluateExpression(E.value);if(P.isString()&&["high","low","auto"].includes(P.string)){ve.fetchPriority=P.string}else{q.push(createPropertyParseError(E,'"high"|"low"|"auto"'))}break}case"recursive":{const P=v.evaluateExpression(E.value);if(!P.isBoolean()){q.push(createPropertyParseError(E,"boolean"))}else{ae=P.bool}break}default:q.push(createError(`Parsing import.meta.webpackContext options failed. Unknown property ${JSON.stringify(E.key.name)}.`,R.loc))}}}if(q.length){for(const E of q)v.state.current.addError(E);return}const He=new N({request:L,include:be,exclude:xe,recursive:ae,regExp:K,groupOptions:ve,chunkName:Ae,referencedExports:Ie,mode:ge,category:"esm"},E.range);He.loc=E.loc;He.optional=!!v.scope.inTry;v.state.current.addDependency(He);return true}))}}},36108:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_ESM:$}=P(96170);const N=P(17817);const L=P(97576);const q=P(25945);const K="ImportMetaContextPlugin";class ImportMetaContextPlugin{apply(v){v.hooks.compilation.tap(K,((v,{contextModuleFactory:E,normalModuleFactory:P})=>{v.dependencyFactories.set(L,E);v.dependencyTemplates.set(L,new L.Template);v.dependencyFactories.set(N,P);const handler=(v,E)=>{if(E.importMetaContext!==undefined&&!E.importMetaContext)return;(new q).apply(v)};P.hooks.parser.for(R).tap(K,handler);P.hooks.parser.for($).tap(K,handler)}))}}v.exports=ImportMetaContextPlugin},2920:function(v,E,P){"use strict";const R=P(41718);const $=P(17782);const N=P(79516);class ImportMetaHotAcceptDependency extends ${constructor(v,E){super(v);this.range=E;this.weak=true}get type(){return"import.meta.webpackHot.accept"}get category(){return"esm"}}R(ImportMetaHotAcceptDependency,"webpack/lib/dependencies/ImportMetaHotAcceptDependency");ImportMetaHotAcceptDependency.Template=N;v.exports=ImportMetaHotAcceptDependency},24949:function(v,E,P){"use strict";const R=P(41718);const $=P(17782);const N=P(79516);class ImportMetaHotDeclineDependency extends ${constructor(v,E){super(v);this.range=E;this.weak=true}get type(){return"import.meta.webpackHot.decline"}get category(){return"esm"}}R(ImportMetaHotDeclineDependency,"webpack/lib/dependencies/ImportMetaHotDeclineDependency");ImportMetaHotDeclineDependency.Template=N;v.exports=ImportMetaHotDeclineDependency},26431:function(v,E,P){"use strict";const{pathToFileURL:R}=P(57310);const $=P(34734);const{JAVASCRIPT_MODULE_TYPE_AUTO:N,JAVASCRIPT_MODULE_TYPE_ESM:L}=P(96170);const q=P(25233);const K=P(81792);const{evaluateToIdentifier:ae,toConstantDependency:ge,evaluateToString:be,evaluateToNumber:xe}=P(73320);const ve=P(25689);const Ae=P(11930);const Ie=P(9297);const He=ve((()=>P(27011)));const Qe="ImportMetaPlugin";class ImportMetaPlugin{apply(v){v.hooks.compilation.tap(Qe,((v,{normalModuleFactory:E})=>{const getUrl=v=>R(v.resource).toString();const parserHandler=(E,{importMeta:R})=>{if(R===false){const{importMetaName:P}=v.outputOptions;if(P==="import.meta")return;E.hooks.expression.for("import.meta").tap(Qe,(v=>{const R=new Ie(P,v.range);R.loc=v.loc;E.state.module.addPresentationalDependency(R);return true}));return}const N=parseInt(P(60549).i8,10);const importMetaUrl=()=>JSON.stringify(getUrl(E.state.module));const importMetaWebpackVersion=()=>JSON.stringify(N);const importMetaUnknownProperty=v=>`${q.toNormalComment("unsupported import.meta."+v.join("."))} undefined${Ae(v,1)}`;E.hooks.typeof.for("import.meta").tap(Qe,ge(E,JSON.stringify("object")));E.hooks.expression.for("import.meta").tap(Qe,(v=>{const P=E.destructuringAssignmentPropertiesFor(v);if(!P){const P=He();E.state.module.addWarning(new $(E.state.module,new P("Accessing import.meta directly is unsupported (only property access or destructuring is supported)"),v.loc));const R=new Ie(`${E.isAsiPosition(v.range[0])?";":""}({})`,v.range);R.loc=v.loc;E.state.module.addPresentationalDependency(R);return true}let R="";for(const v of P){switch(v){case"url":R+=`url: ${importMetaUrl()},`;break;case"webpack":R+=`webpack: ${importMetaWebpackVersion()},`;break;default:R+=`[${JSON.stringify(v)}]: ${importMetaUnknownProperty([v])},`;break}}const N=new Ie(`({${R}})`,v.range);N.loc=v.loc;E.state.module.addPresentationalDependency(N);return true}));E.hooks.evaluateTypeof.for("import.meta").tap(Qe,be("object"));E.hooks.evaluateIdentifier.for("import.meta").tap(Qe,ae("import.meta","import.meta",(()=>[]),true));E.hooks.typeof.for("import.meta.url").tap(Qe,ge(E,JSON.stringify("string")));E.hooks.expression.for("import.meta.url").tap(Qe,(v=>{const P=new Ie(importMetaUrl(),v.range);P.loc=v.loc;E.state.module.addPresentationalDependency(P);return true}));E.hooks.evaluateTypeof.for("import.meta.url").tap(Qe,be("string"));E.hooks.evaluateIdentifier.for("import.meta.url").tap(Qe,(v=>(new K).setString(getUrl(E.state.module)).setRange(v.range)));E.hooks.typeof.for("import.meta.webpack").tap(Qe,ge(E,JSON.stringify("number")));E.hooks.expression.for("import.meta.webpack").tap(Qe,ge(E,importMetaWebpackVersion()));E.hooks.evaluateTypeof.for("import.meta.webpack").tap(Qe,be("number"));E.hooks.evaluateIdentifier.for("import.meta.webpack").tap(Qe,xe(N));E.hooks.unhandledExpressionMemberChain.for("import.meta").tap(Qe,((v,P)=>{const R=new Ie(importMetaUnknownProperty(P),v.range);R.loc=v.loc;E.state.module.addPresentationalDependency(R);return true}));E.hooks.evaluate.for("MemberExpression").tap(Qe,(v=>{const E=v;if(E.object.type==="MetaProperty"&&E.object.meta.name==="import"&&E.object.property.name==="meta"&&E.property.type===(E.computed?"Literal":"Identifier")){return(new K).setUndefined().setRange(E.range)}}))};E.hooks.parser.for(N).tap(Qe,parserHandler);E.hooks.parser.for(L).tap(Qe,parserHandler)}))}}v.exports=ImportMetaPlugin},10918:function(v,E,P){"use strict";const R=P(55936);const $=P(64584);const N=P(90784);const L=P(69635);const q=P(15009);const K=P(81754);const ae=P(92341);const ge=P(94873);class ImportParserPlugin{constructor(v){this.options=v}apply(v){const exportsFromEnumerable=v=>Array.from(v,(v=>[v]));v.hooks.importCall.tap("ImportParserPlugin",(E=>{const P=v.evaluateExpression(E.source);let be=null;let xe=this.options.dynamicImportMode;let ve=null;let Ae=null;let Ie=null;const He={};const{dynamicImportPreload:Qe,dynamicImportPrefetch:Je,dynamicImportFetchPriority:Ve}=this.options;if(Qe!==undefined&&Qe!==false)He.preloadOrder=Qe===true?0:Qe;if(Je!==undefined&&Je!==false)He.prefetchOrder=Je===true?0:Je;if(Ve!==undefined&&Ve!==false)He.fetchPriority=Ve;const{options:Ke,errors:Ye}=v.parseCommentOptions(E.range);if(Ye){for(const E of Ye){const{comment:P}=E;v.state.module.addWarning(new $(`Compilation error while processing magic comment(-s): /*${P.value}*/: ${E.message}`,P.loc))}}if(Ke){if(Ke.webpackIgnore!==undefined){if(typeof Ke.webpackIgnore!=="boolean"){v.state.module.addWarning(new N(`\`webpackIgnore\` expected a boolean, but received: ${Ke.webpackIgnore}.`,E.loc))}else{if(Ke.webpackIgnore){return false}}}if(Ke.webpackChunkName!==undefined){if(typeof Ke.webpackChunkName!=="string"){v.state.module.addWarning(new N(`\`webpackChunkName\` expected a string, but received: ${Ke.webpackChunkName}.`,E.loc))}else{be=Ke.webpackChunkName}}if(Ke.webpackMode!==undefined){if(typeof Ke.webpackMode!=="string"){v.state.module.addWarning(new N(`\`webpackMode\` expected a string, but received: ${Ke.webpackMode}.`,E.loc))}else{xe=Ke.webpackMode}}if(Ke.webpackPrefetch!==undefined){if(Ke.webpackPrefetch===true){He.prefetchOrder=0}else if(typeof Ke.webpackPrefetch==="number"){He.prefetchOrder=Ke.webpackPrefetch}else{v.state.module.addWarning(new N(`\`webpackPrefetch\` expected true or a number, but received: ${Ke.webpackPrefetch}.`,E.loc))}}if(Ke.webpackPreload!==undefined){if(Ke.webpackPreload===true){He.preloadOrder=0}else if(typeof Ke.webpackPreload==="number"){He.preloadOrder=Ke.webpackPreload}else{v.state.module.addWarning(new N(`\`webpackPreload\` expected true or a number, but received: ${Ke.webpackPreload}.`,E.loc))}}if(Ke.webpackFetchPriority!==undefined){if(typeof Ke.webpackFetchPriority==="string"&&["high","low","auto"].includes(Ke.webpackFetchPriority)){He.fetchPriority=Ke.webpackFetchPriority}else{v.state.module.addWarning(new N(`\`webpackFetchPriority\` expected true or "low", "high" or "auto", but received: ${Ke.webpackFetchPriority}.`,E.loc))}}if(Ke.webpackInclude!==undefined){if(!Ke.webpackInclude||!(Ke.webpackInclude instanceof RegExp)){v.state.module.addWarning(new N(`\`webpackInclude\` expected a regular expression, but received: ${Ke.webpackInclude}.`,E.loc))}else{ve=Ke.webpackInclude}}if(Ke.webpackExclude!==undefined){if(!Ke.webpackExclude||!(Ke.webpackExclude instanceof RegExp)){v.state.module.addWarning(new N(`\`webpackExclude\` expected a regular expression, but received: ${Ke.webpackExclude}.`,E.loc))}else{Ae=Ke.webpackExclude}}if(Ke.webpackExports!==undefined){if(!(typeof Ke.webpackExports==="string"||Array.isArray(Ke.webpackExports)&&Ke.webpackExports.every((v=>typeof v==="string")))){v.state.module.addWarning(new N(`\`webpackExports\` expected a string or an array of strings, but received: ${Ke.webpackExports}.`,E.loc))}else{if(typeof Ke.webpackExports==="string"){Ie=[[Ke.webpackExports]]}else{Ie=exportsFromEnumerable(Ke.webpackExports)}}}}if(xe!=="lazy"&&xe!=="lazy-once"&&xe!=="eager"&&xe!=="weak"){v.state.module.addWarning(new N(`\`webpackMode\` expected 'lazy', 'lazy-once', 'eager' or 'weak', but received: ${xe}.`,E.loc));xe="lazy"}const Xe=v.destructuringAssignmentPropertiesFor(E);if(Xe){if(Ie){v.state.module.addWarning(new N(`\`webpackExports\` could not be used with destructuring assignment.`,E.loc))}Ie=exportsFromEnumerable(Xe)}if(P.isString()){if(xe==="eager"){const R=new ae(P.string,E.range,Ie);v.state.current.addDependency(R)}else if(xe==="weak"){const R=new ge(P.string,E.range,Ie);v.state.current.addDependency(R)}else{const $=new R({...He,name:be},E.loc,P.string);const N=new K(P.string,E.range,Ie);N.loc=E.loc;$.addDependency(N);v.state.current.addBlock($)}return true}else{if(xe==="weak"){xe="async-weak"}const R=L.create(q,E.range,P,E,this.options,{chunkName:be,groupOptions:He,include:ve,exclude:Ae,mode:xe,namespaceObject:v.state.module.buildMeta.strictHarmonyModule?"strict":true,typePrefix:"import()",category:"esm",referencedExports:Ie},v);if(!R)return;R.loc=E.loc;R.optional=!!v.scope.inTry;v.state.current.addDependency(R);return true}}))}}v.exports=ImportParserPlugin},21762:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$,JAVASCRIPT_MODULE_TYPE_ESM:N}=P(96170);const L=P(15009);const q=P(81754);const K=P(92341);const ae=P(10918);const ge=P(94873);const be="ImportPlugin";class ImportPlugin{apply(v){v.hooks.compilation.tap(be,((v,{contextModuleFactory:E,normalModuleFactory:P})=>{v.dependencyFactories.set(q,P);v.dependencyTemplates.set(q,new q.Template);v.dependencyFactories.set(K,P);v.dependencyTemplates.set(K,new K.Template);v.dependencyFactories.set(ge,P);v.dependencyTemplates.set(ge,new ge.Template);v.dependencyFactories.set(L,E);v.dependencyTemplates.set(L,new L.Template);const handler=(v,E)=>{if(E.import!==undefined&&!E.import)return;new ae(E).apply(v)};P.hooks.parser.for(R).tap(be,handler);P.hooks.parser.for($).tap(be,handler);P.hooks.parser.for(N).tap(be,handler)}))}}v.exports=ImportPlugin},94873:function(v,E,P){"use strict";const R=P(41718);const $=P(81754);class ImportWeakDependency extends ${constructor(v,E,P){super(v,E,P);this.weak=true}get type(){return"import() weak"}}R(ImportWeakDependency,"webpack/lib/dependencies/ImportWeakDependency");ImportWeakDependency.Template=class ImportDependencyTemplate extends $.Template{apply(v,E,{runtimeTemplate:P,module:R,moduleGraph:$,chunkGraph:N,runtimeRequirements:L}){const q=v;const K=P.moduleNamespacePromise({chunkGraph:N,module:$.getModule(q),request:q.request,strict:R.buildMeta.strictHarmonyModule,message:"import() weak",weak:true,runtimeRequirements:L});E.replace(q.range[0],q.range[1]-1,K)}};v.exports=ImportWeakDependency},62927:function(v,E,P){"use strict";const R=P(41718);const $=P(55111);const getExportsFromData=v=>{if(v&&typeof v==="object"){if(Array.isArray(v)){return v.length<100?v.map(((v,E)=>({name:`${E}`,canMangle:true,exports:getExportsFromData(v)}))):undefined}else{const E=[];for(const P of Object.keys(v)){E.push({name:P,canMangle:true,exports:getExportsFromData(v[P])})}return E}}return undefined};class JsonExportsDependency extends ${constructor(v){super();this.data=v}get type(){return"json exports"}getExports(v){return{exports:getExportsFromData(this.data&&this.data.get()),dependencies:undefined}}updateHash(v,E){this.data.updateHash(v)}serialize(v){const{write:E}=v;E(this.data);super.serialize(v)}deserialize(v){const{read:E}=v;this.data=E();super.deserialize(v)}}R(JsonExportsDependency,"webpack/lib/dependencies/JsonExportsDependency");v.exports=JsonExportsDependency},43649:function(v,E,P){"use strict";const R=P(17782);class LoaderDependency extends R{constructor(v){super(v)}get type(){return"loader"}get category(){return"loader"}getCondition(v){return false}}v.exports=LoaderDependency},10677:function(v,E,P){"use strict";const R=P(17782);class LoaderImportDependency extends R{constructor(v){super(v);this.weak=true}get type(){return"loader import"}get category(){return"loaderImport"}getCondition(v){return false}}v.exports=LoaderImportDependency},58727:function(v,E,P){"use strict";const R=P(80346);const $=P(2035);const N=P(43649);const L=P(10677);class LoaderPlugin{constructor(v={}){}apply(v){v.hooks.compilation.tap("LoaderPlugin",((v,{normalModuleFactory:E})=>{v.dependencyFactories.set(N,E);v.dependencyFactories.set(L,E)}));v.hooks.compilation.tap("LoaderPlugin",(v=>{const E=v.moduleGraph;R.getCompilationHooks(v).loader.tap("LoaderPlugin",(P=>{P.loadModule=(R,L)=>{const q=new N(R);q.loc={name:R};const K=v.dependencyFactories.get(q.constructor);if(K===undefined){return L(new Error(`No module factory available for dependency type: ${q.constructor.name}`))}v.buildQueue.increaseParallelism();v.handleModuleCreation({factory:K,dependencies:[q],originModule:P._module,context:P.context,recursive:false},(R=>{v.buildQueue.decreaseParallelism();if(R){return L(R)}const N=E.getModule(q);if(!N){return L(new Error("Cannot load the module"))}if(N.getNumberOfErrors()>0){return L(new Error("The loaded module contains errors"))}const K=N.originalSource();if(!K){return L(new Error("The module created for a LoaderDependency must have an original source"))}let ae,ge;if(K.sourceAndMap){const v=K.sourceAndMap();ge=v.map;ae=v.source}else{ge=K.map();ae=K.source()}const be=new $;const xe=new $;const ve=new $;const Ae=new $;N.addCacheDependencies(be,xe,ve,Ae);for(const v of be){P.addDependency(v)}for(const v of xe){P.addContextDependency(v)}for(const v of ve){P.addMissingDependency(v)}for(const v of Ae){P.addBuildDependency(v)}return L(null,ae,ge,N)}))};const importModule=(R,$,N)=>{const q=new L(R);q.loc={name:R};const K=v.dependencyFactories.get(q.constructor);if(K===undefined){return N(new Error(`No module factory available for dependency type: ${q.constructor.name}`))}v.buildQueue.increaseParallelism();v.handleModuleCreation({factory:K,dependencies:[q],originModule:P._module,contextInfo:{issuerLayer:$.layer},context:P.context,connectOrigin:false,checkCycle:true},(R=>{v.buildQueue.decreaseParallelism();if(R){return N(R)}const L=E.getModule(q);if(!L){return N(new Error("Cannot load the module"))}v.executeModule(L,{entryOptions:{baseUri:$.baseUri,publicPath:$.publicPath}},((v,E)=>{if(v)return N(v);for(const v of E.fileDependencies){P.addDependency(v)}for(const v of E.contextDependencies){P.addContextDependency(v)}for(const v of E.missingDependencies){P.addMissingDependency(v)}for(const v of E.buildDependencies){P.addBuildDependency(v)}if(E.cacheable===false)P.cacheable(false);for(const[v,{source:R,info:$}]of E.assets){const{buildInfo:E}=P._module;if(!E.assets){E.assets=Object.create(null);E.assetsInfo=new Map}E.assets[v]=R;E.assetsInfo.set(v,$)}N(null,E.exports)}))}))};P.importModule=(v,E,P)=>{if(!P){return new Promise(((P,R)=>{importModule(v,E||{},((v,E)=>{if(v)R(v);else P(E)}))}))}return importModule(v,E||{},P)}}))}))}}v.exports=LoaderPlugin},3679:function(v,E,P){"use strict";const R=P(41718);class LocalModule{constructor(v,E){this.name=v;this.idx=E;this.used=false}flagUsed(){this.used=true}variableName(){return"__WEBPACK_LOCAL_MODULE_"+this.idx+"__"}serialize(v){const{write:E}=v;E(this.name);E(this.idx);E(this.used)}deserialize(v){const{read:E}=v;this.name=E();this.idx=E();this.used=E()}}R(LocalModule,"webpack/lib/dependencies/LocalModule");v.exports=LocalModule},85521:function(v,E,P){"use strict";const R=P(41718);const $=P(55111);class LocalModuleDependency extends ${constructor(v,E,P){super();this.localModule=v;this.range=E;this.callNew=P}serialize(v){const{write:E}=v;E(this.localModule);E(this.range);E(this.callNew);super.serialize(v)}deserialize(v){const{read:E}=v;this.localModule=E();this.range=E();this.callNew=E();super.deserialize(v)}}R(LocalModuleDependency,"webpack/lib/dependencies/LocalModuleDependency");LocalModuleDependency.Template=class LocalModuleDependencyTemplate extends $.Template{apply(v,E,P){const R=v;if(!R.range)return;const $=R.callNew?`new (function () { return ${R.localModule.variableName()}; })()`:R.localModule.variableName();E.replace(R.range[0],R.range[1]-1,$)}};v.exports=LocalModuleDependency},59730:function(v,E,P){"use strict";const R=P(3679);const lookup=(v,E)=>{if(E.charAt(0)!==".")return E;var P=v.split("/");var R=E.split("/");P.pop();for(let v=0;v{if(!v.localModules){v.localModules=[]}const P=new R(E,v.localModules.length);v.localModules.push(P);return P};E.getLocalModule=(v,E,P)=>{if(!v.localModules)return null;if(P){E=lookup(P,E)}for(let P=0;PP(35976)));class ModuleDependency extends R{constructor(v){super();this.request=v;this.userRequest=v;this.range=undefined;this.assertions=undefined;this._context=undefined}getContext(){return this._context}getResourceIdentifier(){let v=`context${this._context||""}|module${this.request}`;if(this.assertions!==undefined){v+=JSON.stringify(this.assertions)}return v}couldAffectReferencingModule(){return true}createIgnoredModule(v){const E=L();return new E("/* (ignored) */",`ignored|${v}|${this.request}`,`${this.request} (ignored)`)}serialize(v){const{write:E}=v;E(this.request);E(this.userRequest);E(this._context);E(this.range);super.serialize(v)}deserialize(v){const{read:E}=v;this.request=E();this.userRequest=E();this._context=E();this.range=E();super.deserialize(v)}}ModuleDependency.Template=$;v.exports=ModuleDependency},79516:function(v,E,P){"use strict";const R=P(17782);class ModuleDependencyTemplateAsId extends R.Template{apply(v,E,{runtimeTemplate:P,moduleGraph:R,chunkGraph:$}){const N=v;if(!N.range)return;const L=P.moduleId({module:R.getModule(N),chunkGraph:$,request:N.request,weak:N.weak});E.replace(N.range[0],N.range[1]-1,L)}}v.exports=ModuleDependencyTemplateAsId},80467:function(v,E,P){"use strict";const R=P(17782);class ModuleDependencyTemplateAsRequireId extends R.Template{apply(v,E,{runtimeTemplate:P,moduleGraph:R,chunkGraph:$,runtimeRequirements:N}){const L=v;if(!L.range)return;const q=P.moduleExports({module:R.getModule(L),chunkGraph:$,request:L.request,weak:L.weak,runtimeRequirements:N});E.replace(L.range[0],L.range[1]-1,q)}}v.exports=ModuleDependencyTemplateAsRequireId},8082:function(v,E,P){"use strict";const R=P(41718);const $=P(17782);const N=P(79516);class ModuleHotAcceptDependency extends ${constructor(v,E){super(v);this.range=E;this.weak=true}get type(){return"module.hot.accept"}get category(){return"commonjs"}}R(ModuleHotAcceptDependency,"webpack/lib/dependencies/ModuleHotAcceptDependency");ModuleHotAcceptDependency.Template=N;v.exports=ModuleHotAcceptDependency},29653:function(v,E,P){"use strict";const R=P(41718);const $=P(17782);const N=P(79516);class ModuleHotDeclineDependency extends ${constructor(v,E){super(v);this.range=E;this.weak=true}get type(){return"module.hot.decline"}get category(){return"commonjs"}}R(ModuleHotDeclineDependency,"webpack/lib/dependencies/ModuleHotDeclineDependency");ModuleHotDeclineDependency.Template=N;v.exports=ModuleHotDeclineDependency},55111:function(v,E,P){"use strict";const R=P(38204);const $=P(23131);class NullDependency extends R{get type(){return"null"}couldAffectReferencingModule(){return false}}NullDependency.Template=class NullDependencyTemplate extends ${apply(v,E,P){}};v.exports=NullDependency},67727:function(v,E,P){"use strict";const R=P(17782);class PrefetchDependency extends R{constructor(v){super(v)}get type(){return"prefetch"}get category(){return"esm"}}v.exports=PrefetchDependency},74121:function(v,E,P){"use strict";const R=P(38204);const $=P(23596);const N=P(41718);const L=P(17782);const pathToString=v=>v!==null&&v.length>0?v.map((v=>`[${JSON.stringify(v)}]`)).join(""):"";class ProvidedDependency extends L{constructor(v,E,P,R){super(v);this.identifier=E;this.ids=P;this.range=R;this._hashUpdate=undefined}get type(){return"provided"}get category(){return"esm"}getReferencedExports(v,E){let P=this.ids;if(P.length===0)return R.EXPORTS_OBJECT_REFERENCED;return[P]}updateHash(v,E){if(this._hashUpdate===undefined){this._hashUpdate=this.identifier+(this.ids?this.ids.join(","):"")}v.update(this._hashUpdate)}serialize(v){const{write:E}=v;E(this.identifier);E(this.ids);super.serialize(v)}deserialize(v){const{read:E}=v;this.identifier=E();this.ids=E();super.deserialize(v)}}N(ProvidedDependency,"webpack/lib/dependencies/ProvidedDependency");class ProvidedDependencyTemplate extends L.Template{apply(v,E,{runtime:P,runtimeTemplate:R,moduleGraph:N,chunkGraph:L,initFragments:q,runtimeRequirements:K}){const ae=v;const ge=N.getConnection(ae);const be=N.getExportsInfo(ge.module);const xe=be.getUsedName(ae.ids,P);q.push(new $(`/* provided dependency */ var ${ae.identifier} = ${R.moduleExports({module:N.getModule(ae),chunkGraph:L,request:ae.request,runtimeRequirements:K})}${pathToString(xe)};\n`,$.STAGE_PROVIDES,1,`provided ${ae.identifier}`));E.replace(ae.range[0],ae.range[1]-1,ae.identifier)}}ProvidedDependency.Template=ProvidedDependencyTemplate;v.exports=ProvidedDependency},59854:function(v,E,P){"use strict";const{UsageState:R}=P(8435);const $=P(41718);const{filterRuntime:N,deepMergeRuntime:L}=P(65153);const q=P(55111);class PureExpressionDependency extends q{constructor(v){super();this.range=v;this.usedByExports=false;this._hashUpdate=undefined}updateHash(v,E){if(this._hashUpdate===undefined){this._hashUpdate=this.range+""}v.update(this._hashUpdate)}getModuleEvaluationSideEffectsState(v){return false}serialize(v){const{write:E}=v;E(this.range);E(this.usedByExports);super.serialize(v)}deserialize(v){const{read:E}=v;this.range=E();this.usedByExports=E();super.deserialize(v)}}$(PureExpressionDependency,"webpack/lib/dependencies/PureExpressionDependency");PureExpressionDependency.Template=class PureExpressionDependencyTemplate extends q.Template{apply(v,E,{chunkGraph:P,moduleGraph:$,runtime:q,runtimes:K,runtimeTemplate:ae,runtimeRequirements:ge}){const be=v;const xe=be.usedByExports;if(xe!==false){const v=$.getParentModule(be);const ve=$.getExportsInfo(v);const Ae=L(K,q);const Ie=N(Ae,(v=>{for(const E of xe){if(ve.getUsed(E,v)!==R.Unused){return true}}return false}));if(Ie===true)return;if(Ie!==false){const v=ae.runtimeConditionExpression({chunkGraph:P,runtime:Ae,runtimeCondition:Ie,runtimeRequirements:ge});E.insert(be.range[0],`(/* runtime-dependent pure expression or super */ ${v} ? (`);E.insert(be.range[1],") : null)");return}}E.insert(be.range[0],`(/* unused pure expression or super */ null && (`);E.insert(be.range[1],"))")}};v.exports=PureExpressionDependency},6990:function(v,E,P){"use strict";const R=P(41718);const $=P(19397);const N=P(80467);class RequireContextDependency extends ${constructor(v,E){super(v);this.range=E}get type(){return"require.context"}}R(RequireContextDependency,"webpack/lib/dependencies/RequireContextDependency");RequireContextDependency.Template=N;v.exports=RequireContextDependency},62998:function(v,E,P){"use strict";const R=P(6990);v.exports=class RequireContextDependencyParserPlugin{apply(v){v.hooks.call.for("require.context").tap("RequireContextDependencyParserPlugin",(E=>{let P=/^\.\/.*$/;let $=true;let N="sync";switch(E.arguments.length){case 4:{const P=v.evaluateExpression(E.arguments[3]);if(!P.isString())return;N=P.string}case 3:{const R=v.evaluateExpression(E.arguments[2]);if(!R.isRegExp())return;P=R.regExp}case 2:{const P=v.evaluateExpression(E.arguments[1]);if(!P.isBoolean())return;$=P.bool}case 1:{const L=v.evaluateExpression(E.arguments[0]);if(!L.isString())return;const q=new R({request:L.string,recursive:$,regExp:P,mode:N,category:"commonjs"},E.range);q.loc=E.loc;q.optional=!!v.scope.inTry;v.state.current.addDependency(q);return true}}}))}}},69560:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$}=P(96170);const{cachedSetProperty:N}=P(36671);const L=P(17817);const q=P(6990);const K=P(62998);const ae={};const ge="RequireContextPlugin";class RequireContextPlugin{apply(v){v.hooks.compilation.tap(ge,((E,{contextModuleFactory:P,normalModuleFactory:be})=>{E.dependencyFactories.set(q,P);E.dependencyTemplates.set(q,new q.Template);E.dependencyFactories.set(L,be);const handler=(v,E)=>{if(E.requireContext!==undefined&&!E.requireContext)return;(new K).apply(v)};be.hooks.parser.for(R).tap(ge,handler);be.hooks.parser.for($).tap(ge,handler);P.hooks.alternativeRequests.tap(ge,((E,P)=>{if(E.length===0)return E;const R=v.resolverFactory.get("normal",N(P.resolveOptions||ae,"dependencyType",P.category)).options;let $;if(!R.fullySpecified){$=[];for(const v of E){const{request:E,context:P}=v;for(const v of R.extensions){if(E.endsWith(v)){$.push({context:P,request:E.slice(0,-v.length)})}}if(!R.enforceExtension){$.push(v)}}E=$;$=[];for(const v of E){const{request:E,context:P}=v;for(const v of R.mainFiles){if(E.endsWith(`/${v}`)){$.push({context:P,request:E.slice(0,-v.length)});$.push({context:P,request:E.slice(0,-v.length-1)})}}$.push(v)}E=$}$=[];for(const v of E){let E=false;for(const P of R.modules){if(Array.isArray(P)){for(const R of P){if(v.request.startsWith(`./${R}/`)){$.push({context:v.context,request:v.request.slice(R.length+3)});E=true}}}else{const E=P.replace(/\\/g,"/");const R=v.context.replace(/\\/g,"/")+v.request.slice(1);if(R.startsWith(E)){$.push({context:v.context,request:R.slice(E.length+1)})}}}if(!E){$.push(v)}}return $}))}))}}v.exports=RequireContextPlugin},97481:function(v,E,P){"use strict";const R=P(55936);const $=P(41718);class RequireEnsureDependenciesBlock extends R{constructor(v,E){super(v,E,null)}}$(RequireEnsureDependenciesBlock,"webpack/lib/dependencies/RequireEnsureDependenciesBlock");v.exports=RequireEnsureDependenciesBlock},39569:function(v,E,P){"use strict";const R=P(97481);const $=P(17729);const N=P(80843);const L=P(72838);v.exports=class RequireEnsureDependenciesBlockParserPlugin{apply(v){v.hooks.call.for("require.ensure").tap("RequireEnsureDependenciesBlockParserPlugin",(E=>{let P=null;let q=null;let K=null;switch(E.arguments.length){case 4:{const R=v.evaluateExpression(E.arguments[3]);if(!R.isString())return;P=R.string}case 3:{q=E.arguments[2];K=L(q);if(!K&&!P){const R=v.evaluateExpression(E.arguments[2]);if(!R.isString())return;P=R.string}}case 2:{const ae=v.evaluateExpression(E.arguments[0]);const ge=ae.isArray()?ae.items:[ae];const be=E.arguments[1];const xe=L(be);if(xe){v.walkExpressions(xe.expressions)}if(K){v.walkExpressions(K.expressions)}const ve=new R(P,E.loc);const Ae=E.arguments.length===4||!P&&E.arguments.length===3;const Ie=new $(E.range,E.arguments[1].range,Ae&&E.arguments[2].range);Ie.loc=E.loc;ve.addDependency(Ie);const He=v.state.current;v.state.current=ve;try{let P=false;v.inScope([],(()=>{for(const v of ge){if(v.isString()){const P=new N(v.string);P.loc=v.loc||E.loc;ve.addDependency(P)}else{P=true}}}));if(P){return}if(xe){if(xe.fn.body.type==="BlockStatement"){v.walkStatement(xe.fn.body)}else{v.walkExpression(xe.fn.body)}}He.addBlock(ve)}finally{v.state.current=He}if(!xe){v.walkExpression(be)}if(K){if(K.fn.body.type==="BlockStatement"){v.walkStatement(K.fn.body)}else{v.walkExpression(K.fn.body)}}else if(q){v.walkExpression(q)}return true}}}))}}},17729:function(v,E,P){"use strict";const R=P(92529);const $=P(41718);const N=P(55111);class RequireEnsureDependency extends N{constructor(v,E,P){super();this.range=v;this.contentRange=E;this.errorHandlerRange=P}get type(){return"require.ensure"}serialize(v){const{write:E}=v;E(this.range);E(this.contentRange);E(this.errorHandlerRange);super.serialize(v)}deserialize(v){const{read:E}=v;this.range=E();this.contentRange=E();this.errorHandlerRange=E();super.deserialize(v)}}$(RequireEnsureDependency,"webpack/lib/dependencies/RequireEnsureDependency");RequireEnsureDependency.Template=class RequireEnsureDependencyTemplate extends N.Template{apply(v,E,{runtimeTemplate:P,moduleGraph:$,chunkGraph:N,runtimeRequirements:L}){const q=v;const K=$.getParentBlock(q);const ae=P.blockPromise({chunkGraph:N,block:K,message:"require.ensure",runtimeRequirements:L});const ge=q.range;const be=q.contentRange;const xe=q.errorHandlerRange;E.replace(ge[0],be[0]-1,`${ae}.then((`);if(xe){E.replace(be[1],xe[0]-1,`).bind(null, ${R.require}))['catch'](`);E.replace(xe[1],ge[1]-1,")")}else{E.replace(be[1],ge[1]-1,`).bind(null, ${R.require}))['catch'](${R.uncaughtErrorHandler})`)}}};v.exports=RequireEnsureDependency},80843:function(v,E,P){"use strict";const R=P(41718);const $=P(17782);const N=P(55111);class RequireEnsureItemDependency extends ${constructor(v){super(v)}get type(){return"require.ensure item"}get category(){return"commonjs"}}R(RequireEnsureItemDependency,"webpack/lib/dependencies/RequireEnsureItemDependency");RequireEnsureItemDependency.Template=N.Template;v.exports=RequireEnsureItemDependency},19469:function(v,E,P){"use strict";const R=P(17729);const $=P(80843);const N=P(39569);const{JAVASCRIPT_MODULE_TYPE_AUTO:L,JAVASCRIPT_MODULE_TYPE_DYNAMIC:q}=P(96170);const{evaluateToString:K,toConstantDependency:ae}=P(73320);const ge="RequireEnsurePlugin";class RequireEnsurePlugin{apply(v){v.hooks.compilation.tap(ge,((v,{normalModuleFactory:E})=>{v.dependencyFactories.set($,E);v.dependencyTemplates.set($,new $.Template);v.dependencyTemplates.set(R,new R.Template);const handler=(v,E)=>{if(E.requireEnsure!==undefined&&!E.requireEnsure)return;(new N).apply(v);v.hooks.evaluateTypeof.for("require.ensure").tap(ge,K("function"));v.hooks.typeof.for("require.ensure").tap(ge,ae(v,JSON.stringify("function")))};E.hooks.parser.for(L).tap(ge,handler);E.hooks.parser.for(q).tap(ge,handler)}))}}v.exports=RequireEnsurePlugin},80418:function(v,E,P){"use strict";const R=P(92529);const $=P(41718);const N=P(55111);class RequireHeaderDependency extends N{constructor(v){super();if(!Array.isArray(v))throw new Error("range must be valid");this.range=v}serialize(v){const{write:E}=v;E(this.range);super.serialize(v)}static deserialize(v){const E=new RequireHeaderDependency(v.read());E.deserialize(v);return E}}$(RequireHeaderDependency,"webpack/lib/dependencies/RequireHeaderDependency");RequireHeaderDependency.Template=class RequireHeaderDependencyTemplate extends N.Template{apply(v,E,{runtimeRequirements:P}){const $=v;P.add(R.require);E.replace($.range[0],$.range[1]-1,R.require)}};v.exports=RequireHeaderDependency},98545:function(v,E,P){"use strict";const R=P(38204);const $=P(25233);const N=P(41718);const L=P(17782);class RequireIncludeDependency extends L{constructor(v,E){super(v);this.range=E}getReferencedExports(v,E){return R.NO_EXPORTS_REFERENCED}get type(){return"require.include"}get category(){return"commonjs"}}N(RequireIncludeDependency,"webpack/lib/dependencies/RequireIncludeDependency");RequireIncludeDependency.Template=class RequireIncludeDependencyTemplate extends L.Template{apply(v,E,{runtimeTemplate:P}){const R=v;const N=P.outputOptions.pathinfo?$.toComment(`require.include ${P.requestShortener.shorten(R.request)}`):"";E.replace(R.range[0],R.range[1]-1,`undefined${N}`)}};v.exports=RequireIncludeDependency},48333:function(v,E,P){"use strict";const R=P(16413);const{evaluateToString:$,toConstantDependency:N}=P(73320);const L=P(41718);const q=P(98545);v.exports=class RequireIncludeDependencyParserPlugin{constructor(v){this.warn=v}apply(v){const{warn:E}=this;v.hooks.call.for("require.include").tap("RequireIncludeDependencyParserPlugin",(P=>{if(P.arguments.length!==1)return;const R=v.evaluateExpression(P.arguments[0]);if(!R.isString())return;if(E){v.state.module.addWarning(new RequireIncludeDeprecationWarning(P.loc))}const $=new q(R.string,P.range);$.loc=P.loc;v.state.current.addDependency($);return true}));v.hooks.evaluateTypeof.for("require.include").tap("RequireIncludePlugin",(P=>{if(E){v.state.module.addWarning(new RequireIncludeDeprecationWarning(P.loc))}return $("function")(P)}));v.hooks.typeof.for("require.include").tap("RequireIncludePlugin",(P=>{if(E){v.state.module.addWarning(new RequireIncludeDeprecationWarning(P.loc))}return N(v,JSON.stringify("function"))(P)}))}};class RequireIncludeDeprecationWarning extends R{constructor(v){super("require.include() is deprecated and will be removed soon.");this.name="RequireIncludeDeprecationWarning";this.loc=v}}L(RequireIncludeDeprecationWarning,"webpack/lib/dependencies/RequireIncludeDependencyParserPlugin","RequireIncludeDeprecationWarning")},49902:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$}=P(96170);const N=P(98545);const L=P(48333);const q="RequireIncludePlugin";class RequireIncludePlugin{apply(v){v.hooks.compilation.tap(q,((v,{normalModuleFactory:E})=>{v.dependencyFactories.set(N,E);v.dependencyTemplates.set(N,new N.Template);const handler=(v,E)=>{if(E.requireInclude===false)return;const P=E.requireInclude===undefined;new L(P).apply(v)};E.hooks.parser.for(R).tap(q,handler);E.hooks.parser.for($).tap(q,handler)}))}}v.exports=RequireIncludePlugin},341:function(v,E,P){"use strict";const R=P(41718);const $=P(19397);const N=P(94977);class RequireResolveContextDependency extends ${constructor(v,E,P,R){super(v,R);this.range=E;this.valueRange=P}get type(){return"amd require context"}serialize(v){const{write:E}=v;E(this.range);E(this.valueRange);super.serialize(v)}deserialize(v){const{read:E}=v;this.range=E();this.valueRange=E();super.deserialize(v)}}R(RequireResolveContextDependency,"webpack/lib/dependencies/RequireResolveContextDependency");RequireResolveContextDependency.Template=N;v.exports=RequireResolveContextDependency},72103:function(v,E,P){"use strict";const R=P(38204);const $=P(41718);const N=P(17782);const L=P(79516);class RequireResolveDependency extends N{constructor(v,E,P){super(v);this.range=E;this._context=P}get type(){return"require.resolve"}get category(){return"commonjs"}getReferencedExports(v,E){return R.NO_EXPORTS_REFERENCED}}$(RequireResolveDependency,"webpack/lib/dependencies/RequireResolveDependency");RequireResolveDependency.Template=L;v.exports=RequireResolveDependency},46636:function(v,E,P){"use strict";const R=P(41718);const $=P(55111);class RequireResolveHeaderDependency extends ${constructor(v){super();if(!Array.isArray(v))throw new Error("range must be valid");this.range=v}serialize(v){const{write:E}=v;E(this.range);super.serialize(v)}static deserialize(v){const E=new RequireResolveHeaderDependency(v.read());E.deserialize(v);return E}}R(RequireResolveHeaderDependency,"webpack/lib/dependencies/RequireResolveHeaderDependency");RequireResolveHeaderDependency.Template=class RequireResolveHeaderDependencyTemplate extends $.Template{apply(v,E,P){const R=v;E.replace(R.range[0],R.range[1]-1,"/*require.resolve*/")}applyAsTemplateArgument(v,E,P){P.replace(E.range[0],E.range[1]-1,"/*require.resolve*/")}};v.exports=RequireResolveHeaderDependency},94280:function(v,E,P){"use strict";const R=P(41718);const $=P(55111);class RuntimeRequirementsDependency extends ${constructor(v){super();this.runtimeRequirements=new Set(v);this._hashUpdate=undefined}updateHash(v,E){if(this._hashUpdate===undefined){this._hashUpdate=Array.from(this.runtimeRequirements).join()+""}v.update(this._hashUpdate)}serialize(v){const{write:E}=v;E(this.runtimeRequirements);super.serialize(v)}deserialize(v){const{read:E}=v;this.runtimeRequirements=E();super.deserialize(v)}}R(RuntimeRequirementsDependency,"webpack/lib/dependencies/RuntimeRequirementsDependency");RuntimeRequirementsDependency.Template=class RuntimeRequirementsDependencyTemplate extends $.Template{apply(v,E,{runtimeRequirements:P}){const R=v;for(const v of R.runtimeRequirements){P.add(v)}}};v.exports=RuntimeRequirementsDependency},92090:function(v,E,P){"use strict";const R=P(41718);const $=P(55111);class StaticExportsDependency extends ${constructor(v,E){super();this.exports=v;this.canMangle=E}get type(){return"static exports"}getExports(v){return{exports:this.exports,canMangle:this.canMangle,dependencies:undefined}}serialize(v){const{write:E}=v;E(this.exports);E(this.canMangle);super.serialize(v)}deserialize(v){const{read:E}=v;this.exports=E();this.canMangle=E();super.deserialize(v)}}R(StaticExportsDependency,"webpack/lib/dependencies/StaticExportsDependency");v.exports=StaticExportsDependency},91032:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_DYNAMIC:$}=P(96170);const N=P(92529);const L=P(16413);const{evaluateToString:q,expressionIsUnsupported:K,toConstantDependency:ae}=P(73320);const ge=P(41718);const be=P(9297);const xe=P(8445);const ve="SystemPlugin";class SystemPlugin{apply(v){v.hooks.compilation.tap(ve,((v,{normalModuleFactory:E})=>{v.hooks.runtimeRequirementInModule.for(N.system).tap(ve,((v,E)=>{E.add(N.requireScope)}));v.hooks.runtimeRequirementInTree.for(N.system).tap(ve,((E,P)=>{v.addRuntimeModule(E,new xe)}));const handler=(v,E)=>{if(E.system===undefined||!E.system){return}const setNotSupported=E=>{v.hooks.evaluateTypeof.for(E).tap(ve,q("undefined"));v.hooks.expression.for(E).tap(ve,K(v,E+" is not supported by webpack."))};v.hooks.typeof.for("System.import").tap(ve,ae(v,JSON.stringify("function")));v.hooks.evaluateTypeof.for("System.import").tap(ve,q("function"));v.hooks.typeof.for("System").tap(ve,ae(v,JSON.stringify("object")));v.hooks.evaluateTypeof.for("System").tap(ve,q("object"));setNotSupported("System.set");setNotSupported("System.get");setNotSupported("System.register");v.hooks.expression.for("System").tap(ve,(E=>{const P=new be(N.system,E.range,[N.system]);P.loc=E.loc;v.state.module.addPresentationalDependency(P);return true}));v.hooks.call.for("System.import").tap(ve,(E=>{v.state.module.addWarning(new SystemImportDeprecationWarning(E.loc));return v.hooks.importCall.call({type:"ImportExpression",source:E.arguments[0],loc:E.loc,range:E.range})}))};E.hooks.parser.for(R).tap(ve,handler);E.hooks.parser.for($).tap(ve,handler)}))}}class SystemImportDeprecationWarning extends L{constructor(v){super("System.import() is deprecated and will be removed soon. Use import() instead.\n"+"For more info visit https://webpack.js.org/guides/code-splitting/");this.name="SystemImportDeprecationWarning";this.loc=v}}ge(SystemImportDeprecationWarning,"webpack/lib/dependencies/SystemPlugin","SystemImportDeprecationWarning");v.exports=SystemPlugin;v.exports.SystemImportDeprecationWarning=SystemImportDeprecationWarning},8445:function(v,E,P){"use strict";const R=P(92529);const $=P(845);const N=P(25233);class SystemRuntimeModule extends ${constructor(){super("system")}generate(){return N.asString([`${R.system} = {`,N.indent(["import: function () {",N.indent("throw new Error('System.import cannot be used indirectly');"),"}"]),"};"])}}v.exports=SystemRuntimeModule},57745:function(v,E,P){"use strict";const R=P(92529);const{getDependencyUsedByExportsCondition:$}=P(48404);const N=P(41718);const L=P(25689);const q=P(17782);const K=L((()=>P(88249)));class URLDependency extends q{constructor(v,E,P,R){super(v);this.range=E;this.outerRange=P;this.relative=R||false;this.usedByExports=undefined}get type(){return"new URL()"}get category(){return"url"}getCondition(v){return $(this,this.usedByExports,v)}createIgnoredModule(v){const E=K();return new E("data:,",`ignored-asset`,`(ignored asset)`)}serialize(v){const{write:E}=v;E(this.outerRange);E(this.relative);E(this.usedByExports);super.serialize(v)}deserialize(v){const{read:E}=v;this.outerRange=E();this.relative=E();this.usedByExports=E();super.deserialize(v)}}URLDependency.Template=class URLDependencyTemplate extends q.Template{apply(v,E,P){const{chunkGraph:$,moduleGraph:N,runtimeRequirements:L,runtimeTemplate:q,runtime:K}=P;const ae=v;const ge=N.getConnection(ae);if(ge&&!ge.isTargetActive(K)){E.replace(ae.outerRange[0],ae.outerRange[1]-1,"/* unused asset import */ undefined");return}L.add(R.require);if(ae.relative){L.add(R.relativeUrl);E.replace(ae.outerRange[0],ae.outerRange[1]-1,`/* asset import */ new ${R.relativeUrl}(${q.moduleRaw({chunkGraph:$,module:N.getModule(ae),request:ae.request,runtimeRequirements:L,weak:false})})`)}else{L.add(R.baseURI);E.replace(ae.range[0],ae.range[1]-1,`/* asset import */ ${q.moduleRaw({chunkGraph:$,module:N.getModule(ae),request:ae.request,runtimeRequirements:L,weak:false})}, ${R.baseURI}`)}}};N(URLDependency,"webpack/lib/dependencies/URLDependency");v.exports=URLDependency},17806:function(v,E,P){"use strict";const{pathToFileURL:R}=P(57310);const{JAVASCRIPT_MODULE_TYPE_AUTO:$,JAVASCRIPT_MODULE_TYPE_ESM:N}=P(96170);const L=P(81792);const{approve:q}=P(73320);const K=P(48404);const ae=P(57745);const ge="URLPlugin";class URLPlugin{apply(v){v.hooks.compilation.tap(ge,((v,{normalModuleFactory:E})=>{v.dependencyFactories.set(ae,E);v.dependencyTemplates.set(ae,new ae.Template);const getUrl=v=>R(v.resource);const parserCallback=(v,E)=>{if(E.url===false)return;const P=E.url==="relative";const getUrlRequest=E=>{if(E.arguments.length!==2)return;const[P,R]=E.arguments;if(R.type!=="MemberExpression"||P.type==="SpreadElement")return;const $=v.extractMemberExpressionChain(R);if($.members.length!==1||$.object.type!=="MetaProperty"||$.object.meta.name!=="import"||$.object.property.name!=="meta"||$.members[0]!=="url")return;return v.evaluateExpression(P).asString()};v.hooks.canRename.for("URL").tap(ge,q);v.hooks.evaluateNewExpression.for("URL").tap(ge,(E=>{const P=getUrlRequest(E);if(!P)return;const R=new URL(P,getUrl(v.state.module));return(new L).setString(R.toString()).setRange(E.range)}));v.hooks.new.for("URL").tap(ge,(E=>{const R=E;const $=getUrlRequest(R);if(!$)return;const[N,L]=R.arguments;const q=new ae($,[N.range[0],L.range[1]],R.range,P);q.loc=R.loc;v.state.current.addDependency(q);K.onUsage(v.state,(v=>q.usedByExports=v));return true}));v.hooks.isPure.for("NewExpression").tap(ge,(E=>{const P=E;const{callee:R}=P;if(R.type!=="Identifier")return;const $=v.getFreeInfoFromVariable(R.name);if(!$||$.name!=="URL")return;const N=getUrlRequest(P);if(N)return true}))};E.hooks.parser.for($).tap(ge,parserCallback);E.hooks.parser.for(N).tap(ge,parserCallback)}))}}v.exports=URLPlugin},95043:function(v,E,P){"use strict";const R=P(41718);const $=P(55111);class UnsupportedDependency extends ${constructor(v,E){super();this.request=v;this.range=E}serialize(v){const{write:E}=v;E(this.request);E(this.range);super.serialize(v)}deserialize(v){const{read:E}=v;this.request=E();this.range=E();super.deserialize(v)}}R(UnsupportedDependency,"webpack/lib/dependencies/UnsupportedDependency");UnsupportedDependency.Template=class UnsupportedDependencyTemplate extends $.Template{apply(v,E,{runtimeTemplate:P}){const R=v;E.replace(R.range[0],R.range[1],P.missingModule({request:R.request}))}};v.exports=UnsupportedDependency},76863:function(v,E,P){"use strict";const R=P(38204);const $=P(41718);const N=P(17782);class WebAssemblyExportImportedDependency extends N{constructor(v,E,P,R){super(E);this.exportName=v;this.name=P;this.valueType=R}couldAffectReferencingModule(){return R.TRANSITIVE}getReferencedExports(v,E){return[[this.name]]}get type(){return"wasm export import"}get category(){return"wasm"}serialize(v){const{write:E}=v;E(this.exportName);E(this.name);E(this.valueType);super.serialize(v)}deserialize(v){const{read:E}=v;this.exportName=E();this.name=E();this.valueType=E();super.deserialize(v)}}$(WebAssemblyExportImportedDependency,"webpack/lib/dependencies/WebAssemblyExportImportedDependency");v.exports=WebAssemblyExportImportedDependency},47874:function(v,E,P){"use strict";const R=P(41718);const $=P(80592);const N=P(17782);class WebAssemblyImportDependency extends N{constructor(v,E,P,R){super(v);this.name=E;this.description=P;this.onlyDirectImport=R}get type(){return"wasm import"}get category(){return"wasm"}getReferencedExports(v,E){return[[this.name]]}getErrors(v){const E=v.getModule(this);if(this.onlyDirectImport&&E&&!E.type.startsWith("webassembly")){return[new $(`Import "${this.name}" from "${this.request}" with ${this.onlyDirectImport} can only be used for direct wasm to wasm dependencies`)]}}serialize(v){const{write:E}=v;E(this.name);E(this.description);E(this.onlyDirectImport);super.serialize(v)}deserialize(v){const{read:E}=v;this.name=E();this.description=E();this.onlyDirectImport=E();super.deserialize(v)}}R(WebAssemblyImportDependency,"webpack/lib/dependencies/WebAssemblyImportDependency");v.exports=WebAssemblyImportDependency},96134:function(v,E,P){"use strict";const R=P(38204);const $=P(25233);const N=P(41718);const L=P(17782);class WebpackIsIncludedDependency extends L{constructor(v,E){super(v);this.weak=true;this.range=E}getReferencedExports(v,E){return R.NO_EXPORTS_REFERENCED}get type(){return"__webpack_is_included__"}}N(WebpackIsIncludedDependency,"webpack/lib/dependencies/WebpackIsIncludedDependency");WebpackIsIncludedDependency.Template=class WebpackIsIncludedDependencyTemplate extends L.Template{apply(v,E,{runtimeTemplate:P,chunkGraph:R,moduleGraph:N}){const L=v;const q=N.getConnection(L);const K=q?R.getNumberOfModuleChunks(q.module)>0:false;const ae=P.outputOptions.pathinfo?$.toComment(`__webpack_is_included__ ${P.requestShortener.shorten(L.request)}`):"";E.replace(L.range[0],L.range[1]-1,`${ae}${JSON.stringify(K)}`)}};v.exports=WebpackIsIncludedDependency},12517:function(v,E,P){"use strict";const R=P(38204);const $=P(92529);const N=P(41718);const L=P(17782);class WorkerDependency extends L{constructor(v,E,P){super(v);this.range=E;this.options=P;this._hashUpdate=undefined}getReferencedExports(v,E){return R.NO_EXPORTS_REFERENCED}get type(){return"new Worker()"}get category(){return"worker"}updateHash(v,E){if(this._hashUpdate===undefined){this._hashUpdate=JSON.stringify(this.options)}v.update(this._hashUpdate)}serialize(v){const{write:E}=v;E(this.options);super.serialize(v)}deserialize(v){const{read:E}=v;this.options=E();super.deserialize(v)}}WorkerDependency.Template=class WorkerDependencyTemplate extends L.Template{apply(v,E,P){const{chunkGraph:R,moduleGraph:N,runtimeRequirements:L}=P;const q=v;const K=N.getParentBlock(v);const ae=R.getBlockChunkGroup(K);const ge=ae.getEntrypointChunk();const be=q.options.publicPath?`"${q.options.publicPath}"`:$.publicPath;L.add($.publicPath);L.add($.baseURI);L.add($.getChunkScriptFilename);E.replace(q.range[0],q.range[1]-1,`/* worker import */ ${be} + ${$.getChunkScriptFilename}(${JSON.stringify(ge.id)}), ${$.baseURI}`)}};N(WorkerDependency,"webpack/lib/dependencies/WorkerDependency");v.exports=WorkerDependency},69138:function(v,E,P){"use strict";const{pathToFileURL:R}=P(57310);const $=P(55936);const N=P(64584);const{JAVASCRIPT_MODULE_TYPE_AUTO:L,JAVASCRIPT_MODULE_TYPE_ESM:q}=P(96170);const K=P(90784);const ae=P(31371);const{equals:ge}=P(30806);const be=P(20932);const{contextify:xe}=P(51984);const ve=P(58878);const Ae=P(9297);const Ie=P(22861);const{harmonySpecifierTag:He}=P(54720);const Qe=P(12517);const getUrl=v=>R(v.resource).toString();const Je=Symbol("worker specifier tag");const Ve=["Worker","SharedWorker","navigator.serviceWorker.register()","Worker from worker_threads"];const Ke=new WeakMap;const Ye="WorkerPlugin";class WorkerPlugin{constructor(v,E,P,R){this._chunkLoading=v;this._wasmLoading=E;this._module=P;this._workerPublicPath=R}apply(v){if(this._chunkLoading){new ae(this._chunkLoading).apply(v)}if(this._wasmLoading){new ve(this._wasmLoading).apply(v)}const E=xe.bindContextCache(v.context,v.root);v.hooks.thisCompilation.tap(Ye,((v,{normalModuleFactory:P})=>{v.dependencyFactories.set(Qe,P);v.dependencyTemplates.set(Qe,new Qe.Template);v.dependencyTemplates.set(Ie,new Ie.Template);const parseModuleUrl=(v,E)=>{if(E.type!=="NewExpression"||E.callee.type==="Super"||E.arguments.length!==2)return;const[P,R]=E.arguments;if(P.type==="SpreadElement")return;if(R.type==="SpreadElement")return;const $=v.evaluateExpression(E.callee);if(!$.isIdentifier()||$.identifier!=="URL")return;const N=v.evaluateExpression(R);if(!N.isString()||!N.string.startsWith("file://")||N.string!==getUrl(v.state.module)){return}const L=v.evaluateExpression(P);return[L,[P.range[0],R.range[1]]]};const parseObjectExpression=(v,E)=>{const P={};const R={};const $=[];let N=false;for(const L of E.properties){if(L.type==="SpreadElement"){N=true}else if(L.type==="Property"&&!L.method&&!L.computed&&L.key.type==="Identifier"){R[L.key.name]=L.value;if(!L.shorthand&&!L.value.type.endsWith("Pattern")){const E=v.evaluateExpression(L.value);if(E.isCompileTimeValue())P[L.key.name]=E.asCompileTimeValue()}}else{$.push(L)}}const L=E.properties.length>0?"comma":"single";const q=E.properties[E.properties.length-1].range[1];return{expressions:R,otherElements:$,values:P,spread:N,insertType:L,insertLocation:q}};const parserPlugin=(P,R)=>{if(R.worker===false)return;const L=!Array.isArray(R.worker)?["..."]:R.worker;const handleNewWorker=R=>{if(R.arguments.length===0||R.arguments.length>2)return;const[L,q]=R.arguments;if(L.type==="SpreadElement")return;if(q&&q.type==="SpreadElement")return;const ae=parseModuleUrl(P,L);if(!ae)return;const[ge,xe]=ae;if(!ge.isString())return;const{expressions:ve,otherElements:He,values:Je,spread:Ve,insertType:Ye,insertLocation:Xe}=q&&q.type==="ObjectExpression"?parseObjectExpression(P,q):{expressions:{},otherElements:[],values:{},spread:false,insertType:q?"spread":"argument",insertLocation:q?q.range:L.range[1]};const{options:Ze,errors:et}=P.parseCommentOptions(R.range);if(et){for(const v of et){const{comment:E}=v;P.state.module.addWarning(new N(`Compilation error while processing magic comment(-s): /*${E.value}*/: ${v.message}`,E.loc))}}let tt={};if(Ze){if(Ze.webpackIgnore!==undefined){if(typeof Ze.webpackIgnore!=="boolean"){P.state.module.addWarning(new K(`\`webpackIgnore\` expected a boolean, but received: ${Ze.webpackIgnore}.`,R.loc))}else{if(Ze.webpackIgnore){return false}}}if(Ze.webpackEntryOptions!==undefined){if(typeof Ze.webpackEntryOptions!=="object"||Ze.webpackEntryOptions===null){P.state.module.addWarning(new K(`\`webpackEntryOptions\` expected a object, but received: ${Ze.webpackEntryOptions}.`,R.loc))}else{Object.assign(tt,Ze.webpackEntryOptions)}}if(Ze.webpackChunkName!==undefined){if(typeof Ze.webpackChunkName!=="string"){P.state.module.addWarning(new K(`\`webpackChunkName\` expected a string, but received: ${Ze.webpackChunkName}.`,R.loc))}else{tt.name=Ze.webpackChunkName}}}if(!Object.prototype.hasOwnProperty.call(tt,"name")&&Je&&typeof Je.name==="string"){tt.name=Je.name}if(tt.runtime===undefined){let R=Ke.get(P.state)||0;Ke.set(P.state,R+1);let $=`${E(P.state.module.identifier())}|${R}`;const N=be(v.outputOptions.hashFunction);N.update($);const L=N.digest(v.outputOptions.hashDigest);tt.runtime=L.slice(0,v.outputOptions.hashDigestLength)}const nt=new $({name:tt.name,entryOptions:{chunkLoading:this._chunkLoading,wasmLoading:this._wasmLoading,...tt}});nt.loc=R.loc;const st=new Qe(ge.string,xe,{publicPath:this._workerPublicPath});st.loc=R.loc;nt.addDependency(st);P.state.module.addBlock(nt);if(v.outputOptions.trustedTypes){const v=new Ie(R.arguments[0].range);v.loc=R.loc;P.state.module.addDependency(v)}if(ve.type){const v=ve.type;if(Je.type!==false){const E=new Ae(this._module?'"module"':"undefined",v.range);E.loc=v.loc;P.state.module.addPresentationalDependency(E);ve.type=undefined}}else if(Ye==="comma"){if(this._module||Ve){const v=new Ae(`, type: ${this._module?'"module"':"undefined"}`,Xe);v.loc=R.loc;P.state.module.addPresentationalDependency(v)}}else if(Ye==="spread"){const v=new Ae("Object.assign({}, ",Xe[0]);const E=new Ae(`, { type: ${this._module?'"module"':"undefined"} })`,Xe[1]);v.loc=R.loc;E.loc=R.loc;P.state.module.addPresentationalDependency(v);P.state.module.addPresentationalDependency(E)}else if(Ye==="argument"){if(this._module){const v=new Ae(', { type: "module" }',Xe);v.loc=R.loc;P.state.module.addPresentationalDependency(v)}}P.walkExpression(R.callee);for(const v of Object.keys(ve)){if(ve[v])P.walkExpression(ve[v])}for(const v of He){P.walkProperty(v)}if(Ye==="spread"){P.walkExpression(q)}return true};const processItem=v=>{if(v.startsWith("*")&&v.includes(".")&&v.endsWith("()")){const E=v.indexOf(".");const R=v.slice(1,E);const $=v.slice(E+1,-2);P.hooks.preDeclarator.tap(Ye,((v,E)=>{if(v.id.type==="Identifier"&&v.id.name===R){P.tagVariable(v.id.name,Je);return true}}));P.hooks.pattern.for(R).tap(Ye,(v=>{P.tagVariable(v.name,Je);return true}));P.hooks.callMemberChain.for(Je).tap(Ye,((v,E)=>{if($!==E.join(".")){return}return handleNewWorker(v)}))}else if(v.endsWith("()")){P.hooks.call.for(v.slice(0,-2)).tap(Ye,handleNewWorker)}else{const E=/^(.+?)(\(\))?\s+from\s+(.+)$/.exec(v);if(E){const v=E[1].split(".");const R=E[2];const $=E[3];(R?P.hooks.call:P.hooks.new).for(He).tap(Ye,(E=>{const R=P.currentTagData;if(!R||R.source!==$||!ge(R.ids,v)){return}return handleNewWorker(E)}))}else{P.hooks.new.for(v).tap(Ye,handleNewWorker)}}};for(const v of L){if(v==="..."){Ve.forEach(processItem)}else processItem(v)}};P.hooks.parser.for(L).tap(Ye,parserPlugin);P.hooks.parser.for(q).tap(Ye,parserPlugin)}))}}v.exports=WorkerPlugin},72838:function(v){"use strict";v.exports=v=>{if(v.type==="FunctionExpression"||v.type==="ArrowFunctionExpression"){return{fn:v,expressions:[],needThis:false}}if(v.type==="CallExpression"&&v.callee.type==="MemberExpression"&&v.callee.object.type==="FunctionExpression"&&v.callee.property.type==="Identifier"&&v.callee.property.name==="bind"&&v.arguments.length===1){return{fn:v.callee.object,expressions:[v.arguments[0]],needThis:undefined}}if(v.type==="CallExpression"&&v.callee.type==="FunctionExpression"&&v.callee.body.type==="BlockStatement"&&v.arguments.length===1&&v.arguments[0].type==="ThisExpression"&&v.callee.body.body&&v.callee.body.body.length===1&&v.callee.body.body[0].type==="ReturnStatement"&&v.callee.body.body[0].argument&&v.callee.body.body[0].argument.type==="FunctionExpression"){return{fn:v.callee.body.body[0].argument,expressions:[],needThis:true}}}},76716:function(v,E,P){"use strict";const{UsageState:R}=P(8435);const processExportInfo=(v,E,P,$,N=false,L=new Set)=>{if(!$){E.push(P);return}const q=$.getUsed(v);if(q===R.Unused)return;if(L.has($)){E.push(P);return}L.add($);if(q!==R.OnlyPropertiesUsed||!$.exportsInfo||$.exportsInfo.otherExportsInfo.getUsed(v)!==R.Unused){L.delete($);E.push(P);return}const K=$.exportsInfo;for(const R of K.orderedExports){processExportInfo(v,E,N&&R.name==="default"?P:P.concat(R.name),R,false,L)}L.delete($)};v.exports=processExportInfo},56298:function(v,E,P){"use strict";const R=P(33554);class ElectronTargetPlugin{constructor(v){this._context=v}apply(v){new R("node-commonjs",["clipboard","crash-reporter","electron","ipc","native-image","original-fs","screen","shell"]).apply(v);switch(this._context){case"main":new R("node-commonjs",["app","auto-updater","browser-window","content-tracing","dialog","global-shortcut","ipc-main","menu","menu-item","power-monitor","power-save-blocker","protocol","session","tray","web-contents"]).apply(v);break;case"preload":case"renderer":new R("node-commonjs",["desktop-capturer","ipc-renderer","remote","web-frame"]).apply(v);break}}}v.exports=ElectronTargetPlugin},97929:function(v,E,P){"use strict";const R=P(16413);class BuildCycleError extends R{constructor(v){super("There is a circular build dependency, which makes it impossible to create this module");this.name="BuildCycleError";this.module=v}}v.exports=BuildCycleError},33910:function(v,E,P){"use strict";const R=P(92529);const $=P(845);class ExportWebpackRequireRuntimeModule extends ${constructor(){super("export webpack runtime",$.STAGE_ATTACH)}shouldIsolate(){return false}generate(){return`export default ${R.require};`}}v.exports=ExportWebpackRequireRuntimeModule},13696:function(v,E,P){"use strict";const{ConcatSource:R}=P(51255);const{RuntimeGlobals:$}=P(3266);const N=P(5195);const L=P(25233);const{getAllChunks:q}=P(67611);const{chunkHasJs:K,getCompilationHooks:ae,getChunkFilenameTemplate:ge}=P(42453);const{updateHashForEntryStartup:be}=P(5606);class ModuleChunkFormatPlugin{apply(v){v.hooks.thisCompilation.tap("ModuleChunkFormatPlugin",(v=>{v.hooks.additionalChunkRuntimeRequirements.tap("ModuleChunkFormatPlugin",((E,P)=>{if(E.hasRuntime())return;if(v.chunkGraph.getNumberOfEntryModules(E)>0){P.add($.require);P.add($.startupEntrypoint);P.add($.externalInstallChunk)}}));const E=ae(v);E.renderChunk.tap("ModuleChunkFormatPlugin",((P,ae)=>{const{chunk:be,chunkGraph:xe,runtimeTemplate:ve}=ae;const Ae=be instanceof N?be:null;const Ie=new R;if(Ae){throw new Error("HMR is not implemented for module chunk format yet")}else{Ie.add(`export const id = ${JSON.stringify(be.id)};\n`);Ie.add(`export const ids = ${JSON.stringify(be.ids)};\n`);Ie.add(`export const modules = `);Ie.add(P);Ie.add(`;\n`);const N=xe.getChunkRuntimeModulesInOrder(be);if(N.length>0){Ie.add("export const runtime =\n");Ie.add(L.renderChunkRuntimeModules(N,ae))}const Ae=Array.from(xe.getChunkEntryModulesWithChunkGroupIterable(be));if(Ae.length>0){const P=Ae[0][1].getRuntimeChunk();const N=v.getPath(ge(be,v.outputOptions),{chunk:be,contentHashType:"javascript"}).split("/");N.pop();const getRelativePath=E=>{const P=N.slice();const R=v.getPath(ge(E,v.outputOptions),{chunk:E,contentHashType:"javascript"}).split("/");while(P.length>0&&R.length>0&&P[0]===R[0]){P.shift();R.shift()}return(P.length>0?"../".repeat(P.length):"./")+R.join("/")};const L=new R;L.add(Ie);L.add(";\n\n// load runtime\n");L.add(`import ${$.require} from ${JSON.stringify(getRelativePath(P))};\n`);const He=new R;He.add(`var __webpack_exec__ = ${ve.returningFunction(`${$.require}(${$.entryModuleId} = moduleId)`,"moduleId")}\n`);const Qe=new Set;let Je=0;for(let v=0;v{if(v.hasRuntime())return;E.update("ModuleChunkFormatPlugin");E.update("1");const $=Array.from(P.getChunkEntryModulesWithChunkGroupIterable(v));be(E,P,$,v)}))}))}}v.exports=ModuleChunkFormatPlugin},52943:function(v,E,P){"use strict";const R=P(92529);const $=P(33910);const N=P(51581);class ModuleChunkLoadingPlugin{apply(v){v.hooks.thisCompilation.tap("ModuleChunkLoadingPlugin",(v=>{const E=v.outputOptions.chunkLoading;const isEnabledForChunk=v=>{const P=v.getEntryOptions();const R=P&&P.chunkLoading!==undefined?P.chunkLoading:E;return R==="import"};const P=new WeakSet;const handler=(E,$)=>{if(P.has(E))return;P.add(E);if(!isEnabledForChunk(E))return;$.add(R.moduleFactoriesAddOnly);$.add(R.hasOwnProperty);v.addRuntimeModule(E,new N($))};v.hooks.runtimeRequirementInTree.for(R.ensureChunkHandlers).tap("ModuleChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.baseURI).tap("ModuleChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.externalInstallChunk).tap("ModuleChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.onChunksLoaded).tap("ModuleChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.externalInstallChunk).tap("ModuleChunkLoadingPlugin",((E,P)=>{if(!isEnabledForChunk(E))return;v.addRuntimeModule(E,new $)}));v.hooks.runtimeRequirementInTree.for(R.ensureChunkHandlers).tap("ModuleChunkLoadingPlugin",((v,E)=>{if(!isEnabledForChunk(v))return;E.add(R.getChunkScriptFilename)}))}))}}v.exports=ModuleChunkLoadingPlugin},51581:function(v,E,P){"use strict";const{SyncWaterfallHook:R}=P(79846);const $=P(6944);const N=P(92529);const L=P(845);const q=P(25233);const{getChunkFilenameTemplate:K,chunkHasJs:ae}=P(42453);const{getInitialChunkIds:ge}=P(5606);const be=P(49694);const{getUndoPath:xe}=P(51984);const ve=new WeakMap;class ModuleChunkLoadingRuntimeModule extends L{static getCompilationHooks(v){if(!(v instanceof $)){throw new TypeError("The 'compilation' argument must be an instance of Compilation")}let E=ve.get(v);if(E===undefined){E={linkPreload:new R(["source","chunk"]),linkPrefetch:new R(["source","chunk"])};ve.set(v,E)}return E}constructor(v){super("import chunk loading",L.STAGE_ATTACH);this._runtimeRequirements=v}_generateBaseUri(v,E){const P=v.getEntryOptions();if(P&&P.baseUri){return`${N.baseURI} = ${JSON.stringify(P.baseUri)};`}const R=this.compilation;const{outputOptions:{importMetaName:$}}=R;return`${N.baseURI} = new URL(${JSON.stringify(E)}, ${$}.url);`}generate(){const v=this.compilation;const E=this.chunkGraph;const P=this.chunk;const{runtimeTemplate:R,outputOptions:{importFunctionName:$}}=v;const L=N.ensureChunkHandlers;const ve=this._runtimeRequirements.has(N.baseURI);const Ae=this._runtimeRequirements.has(N.externalInstallChunk);const Ie=this._runtimeRequirements.has(N.ensureChunkHandlers);const He=this._runtimeRequirements.has(N.onChunksLoaded);const Qe=this._runtimeRequirements.has(N.hmrDownloadUpdateHandlers);const Je=E.getChunkConditionMap(P,ae);const Ve=be(Je);const Ke=ge(P,E,ae);const Ye=v.getPath(K(P,v.outputOptions),{chunk:P,contentHashType:"javascript"});const Xe=xe(Ye,v.outputOptions.path,true);const Ze=Qe?`${N.hmrRuntimeStatePrefix}_module`:undefined;return q.asString([ve?this._generateBaseUri(P,Xe):"// no baseURI","","// object to store loaded and loading chunks","// undefined = chunk not loaded, null = chunk preloaded/prefetched","// [resolve, Promise] = chunk loading, 0 = chunk loaded",`var installedChunks = ${Ze?`${Ze} = ${Ze} || `:""}{`,q.indent(Array.from(Ke,(v=>`${JSON.stringify(v)}: 0`)).join(",\n")),"};","",Ie||Ae?`var installChunk = ${R.basicFunction("data",[R.destructureObject(["ids","modules","runtime"],"data"),'// add "modules" to the modules object,','// then flag all "ids" as loaded and fire callback',"var moduleId, chunkId, i = 0;","for(moduleId in modules) {",q.indent([`if(${N.hasOwnProperty}(modules, moduleId)) {`,q.indent(`${N.moduleFactories}[moduleId] = modules[moduleId];`),"}"]),"}",`if(runtime) runtime(${N.require});`,"for(;i < ids.length; i++) {",q.indent(["chunkId = ids[i];",`if(${N.hasOwnProperty}(installedChunks, chunkId) && installedChunks[chunkId]) {`,q.indent("installedChunks[chunkId][0]();"),"}","installedChunks[ids[i]] = 0;"]),"}",He?`${N.onChunksLoaded}();`:""])}`:"// no install chunk","",Ie?q.asString([`${L}.j = ${R.basicFunction("chunkId, promises",Ve!==false?q.indent(["// import() chunk loading for javascript",`var installedChunkData = ${N.hasOwnProperty}(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;`,'if(installedChunkData !== 0) { // 0 means "already installed".',q.indent(["",'// a Promise means "currently loading".',"if(installedChunkData) {",q.indent(["promises.push(installedChunkData[1]);"]),"} else {",q.indent([Ve===true?"if(true) { // all chunks have JS":`if(${Ve("chunkId")}) {`,q.indent(["// setup Promise in chunk cache",`var promise = ${$}(${JSON.stringify(Xe)} + ${N.getChunkScriptFilename}(chunkId)).then(installChunk, ${R.basicFunction("e",["if(installedChunks[chunkId] !== 0) installedChunks[chunkId] = undefined;","throw e;"])});`,`var promise = Promise.race([promise, new Promise(${R.expressionFunction(`installedChunkData = installedChunks[chunkId] = [resolve]`,"resolve")})])`,`promises.push(installedChunkData[1] = promise);`]),Ve===true?"}":"} else installedChunks[chunkId] = 0;"]),"}"]),"}"]):q.indent(["installedChunks[chunkId] = 0;"]))};`]):"// no chunk on demand loading","",Ae?q.asString([`${N.externalInstallChunk} = installChunk;`]):"// no external install chunk","",He?`${N.onChunksLoaded}.j = ${R.returningFunction("installedChunks[chunkId] === 0","chunkId")};`:"// no on chunks loaded"])}}v.exports=ModuleChunkLoadingRuntimeModule},81949:function(v){"use strict";const formatPosition=v=>{if(v&&typeof v==="object"){if("line"in v&&"column"in v){return`${v.line}:${v.column}`}else if("line"in v){return`${v.line}:?`}}return""};const formatLocation=v=>{if(v&&typeof v==="object"){if("start"in v&&v.start&&"end"in v&&v.end){if(typeof v.start==="object"&&typeof v.start.line==="number"&&typeof v.end==="object"&&typeof v.end.line==="number"&&typeof v.end.column==="number"&&v.start.line===v.end.line){return`${formatPosition(v.start)}-${v.end.column}`}else if(typeof v.start==="object"&&typeof v.start.line==="number"&&typeof v.start.column!=="number"&&typeof v.end==="object"&&typeof v.end.line==="number"&&typeof v.end.column!=="number"){return`${v.start.line}-${v.end.line}`}else{return`${formatPosition(v.start)}-${formatPosition(v.end)}`}}if("start"in v&&v.start){return formatPosition(v.start)}if("name"in v&&"index"in v){return`${v.name}[${v.index}]`}if("name"in v){return v.name}}return""};v.exports=formatLocation},40751:function(v,E,P){"use strict";const R=P(92529);const $=P(845);const N=P(25233);class HotModuleReplacementRuntimeModule extends ${constructor(){super("hot module replacement",$.STAGE_BASIC)}generate(){return N.getFunctionContent(require("./HotModuleReplacement.runtime.js")).replace(/\$getFullHash\$/g,R.getFullHash).replace(/\$interceptModuleExecution\$/g,R.interceptModuleExecution).replace(/\$moduleCache\$/g,R.moduleCache).replace(/\$hmrModuleData\$/g,R.hmrModuleData).replace(/\$hmrDownloadManifest\$/g,R.hmrDownloadManifest).replace(/\$hmrInvalidateModuleHandlers\$/g,R.hmrInvalidateModuleHandlers).replace(/\$hmrDownloadUpdateHandlers\$/g,R.hmrDownloadUpdateHandlers)}}v.exports=HotModuleReplacementRuntimeModule},17305:function(v,E,P){"use strict";const{RawSource:R}=P(51255);const $=P(55936);const N=P(38204);const L=P(72011);const q=P(22362);const{WEBPACK_MODULE_TYPE_LAZY_COMPILATION_PROXY:K}=P(96170);const ae=P(92529);const ge=P(25233);const be=P(9201);const{registerNotSerializable:xe}=P(29260);const ve=new Set(["import.meta.webpackHot.accept","import.meta.webpackHot.decline","module.hot.accept","module.hot.decline"]);const checkTest=(v,E)=>{if(v===undefined)return true;if(typeof v==="function"){return v(E)}if(typeof v==="string"){const P=E.nameForCondition();return P&&P.startsWith(v)}if(v instanceof RegExp){const P=E.nameForCondition();return P&&v.test(P)}return false};const Ae=new Set(["javascript"]);class LazyCompilationDependency extends N{constructor(v){super();this.proxyModule=v}get category(){return"esm"}get type(){return"lazy import()"}getResourceIdentifier(){return this.proxyModule.originalModule.identifier()}}xe(LazyCompilationDependency);class LazyCompilationProxyModule extends L{constructor(v,E,P,R,$,N){super(K,v,E.layer);this.originalModule=E;this.request=P;this.client=R;this.data=$;this.active=N}identifier(){return`${K}|${this.originalModule.identifier()}`}readableIdentifier(v){return`${K} ${this.originalModule.readableIdentifier(v)}`}updateCacheModule(v){super.updateCacheModule(v);const E=v;this.originalModule=E.originalModule;this.request=E.request;this.client=E.client;this.data=E.data;this.active=E.active}libIdent(v){return`${this.originalModule.libIdent(v)}!${K}`}needBuild(v,E){E(null,!this.buildInfo||this.buildInfo.active!==this.active)}build(v,E,P,R,N){this.buildInfo={active:this.active};this.buildMeta={};this.clearDependenciesAndBlocks();const L=new be(this.client);this.addDependency(L);if(this.active){const v=new LazyCompilationDependency(this);const E=new $({});E.addDependency(v);this.addBlock(E)}N()}getSourceTypes(){return Ae}size(v){return 200}codeGeneration({runtimeTemplate:v,chunkGraph:E,moduleGraph:P}){const $=new Map;const N=new Set;N.add(ae.module);const L=this.dependencies[0];const q=P.getModule(L);const K=this.blocks[0];const be=ge.asString([`var client = ${v.moduleExports({module:q,chunkGraph:E,request:L.userRequest,runtimeRequirements:N})}`,`var data = ${JSON.stringify(this.data)};`]);const xe=ge.asString([`var dispose = client.keepAlive({ data: data, active: ${JSON.stringify(!!K)}, module: module, onError: onError });`]);let ve;if(K){const R=K.dependencies[0];const $=P.getModule(R);ve=ge.asString([be,`module.exports = ${v.moduleNamespacePromise({chunkGraph:E,block:K,module:$,request:this.request,strict:false,message:"import()",runtimeRequirements:N})};`,"if (module.hot) {",ge.indent(["module.hot.accept();",`module.hot.accept(${JSON.stringify(E.getModuleId($))}, function() { module.hot.invalidate(); });`,"module.hot.dispose(function(data) { delete data.resolveSelf; dispose(data); });","if (module.hot.data && module.hot.data.resolveSelf) module.hot.data.resolveSelf(module.exports);"]),"}","function onError() { /* ignore */ }",xe])}else{ve=ge.asString([be,"var resolveSelf, onError;",`module.exports = new Promise(function(resolve, reject) { resolveSelf = resolve; onError = reject; });`,"if (module.hot) {",ge.indent(["module.hot.accept();","if (module.hot.data && module.hot.data.resolveSelf) module.hot.data.resolveSelf(module.exports);","module.hot.dispose(function(data) { data.resolveSelf = resolveSelf; dispose(data); });"]),"}",xe])}$.set("javascript",new R(ve));return{sources:$,runtimeRequirements:N}}updateHash(v,E){super.updateHash(v,E);v.update(this.active?"active":"");v.update(JSON.stringify(this.data))}}xe(LazyCompilationProxyModule);class LazyCompilationDependencyFactory extends q{constructor(v){super();this._factory=v}create(v,E){const P=v.dependencies[0];E(null,{module:P.proxyModule.originalModule})}}class LazyCompilationPlugin{constructor({backend:v,entries:E,imports:P,test:R}){this.backend=v;this.entries=E;this.imports=P;this.test=R}apply(v){let E;v.hooks.beforeCompile.tapAsync("LazyCompilationPlugin",((P,R)=>{if(E!==undefined)return R();const $=this.backend(v,((v,P)=>{if(v)return R(v);E=P;R()}));if($&&$.then){$.then((v=>{E=v;R()}),R)}}));v.hooks.thisCompilation.tap("LazyCompilationPlugin",((P,{normalModuleFactory:R})=>{R.hooks.module.tap("LazyCompilationPlugin",((R,$,N)=>{if(N.dependencies.every((v=>ve.has(v.type)))){const v=N.dependencies[0];const E=P.moduleGraph.getParentModule(v);const R=E.blocks.some((E=>E.dependencies.some((E=>E.type==="import()"&&E.request===v.request))));if(!R)return}else if(!N.dependencies.every((v=>ve.has(v.type)||this.imports&&(v.type==="import()"||v.type==="import() context element")||this.entries&&v.type==="entry")))return;if(/webpack[/\\]hot[/\\]|webpack-dev-server[/\\]client|webpack-hot-middleware[/\\]client/.test(N.request)||!checkTest(this.test,R))return;const L=E.module(R);if(!L)return;const{client:q,data:K,active:ae}=L;return new LazyCompilationProxyModule(v.context,R,N.request,q,K,ae)}));P.dependencyFactories.set(LazyCompilationDependency,new LazyCompilationDependencyFactory)}));v.hooks.shutdown.tapAsync("LazyCompilationPlugin",(v=>{E.dispose(v)}))}}v.exports=LazyCompilationPlugin},40719:function(v,E,P){"use strict";v.exports=v=>(E,R)=>{const $=E.getInfrastructureLogger("LazyCompilationBackend");const N=new Map;const L="/lazy-compilation-using-";const q=v.protocol==="https"||typeof v.server==="object"&&("key"in v.server||"pfx"in v.server);const K=typeof v.server==="function"?v.server:(()=>{const E=q?P(95687):P(13685);return E.createServer.bind(E,v.server)})();const ae=typeof v.listen==="function"?v.listen:E=>{let P=v.listen;if(typeof P==="object"&&!("port"in P))P={...P,port:undefined};E.listen(P)};const ge=v.protocol||(q?"https":"http");const requestListener=(v,P)=>{const R=v.url.slice(L.length).split("@");v.socket.on("close",(()=>{setTimeout((()=>{for(const v of R){const E=N.get(v)||0;N.set(v,E-1);if(E===1){$.log(`${v} is no longer in use. Next compilation will skip this module.`)}}}),12e4)}));v.socket.setNoDelay(true);P.writeHead(200,{"content-type":"text/event-stream","Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"*","Access-Control-Allow-Headers":"*"});P.write("\n");let q=false;for(const v of R){const E=N.get(v)||0;N.set(v,E+1);if(E===0){$.log(`${v} is now in use and will be compiled.`);q=true}}if(q&&E.watching)E.watching.invalidate()};const be=K();be.on("request",requestListener);let xe=false;const ve=new Set;be.on("connection",(v=>{ve.add(v);v.on("close",(()=>{ve.delete(v)}));if(xe)v.destroy()}));be.on("clientError",(v=>{if(v.message!=="Server is disposing")$.warn(v)}));be.on("listening",(E=>{if(E)return R(E);const P=be.address();if(typeof P==="string")throw new Error("addr must not be a string");const q=P.address==="::"||P.address==="0.0.0.0"?`${ge}://localhost:${P.port}`:P.family==="IPv6"?`${ge}://[${P.address}]:${P.port}`:`${ge}://${P.address}:${P.port}`;$.log(`Server-Sent-Events server for lazy compilation open at ${q}.`);R(null,{dispose(v){xe=true;be.off("request",requestListener);be.close((E=>{v(E)}));for(const v of ve){v.destroy(new Error("Server is disposing"))}},module(E){const P=`${encodeURIComponent(E.identifier().replace(/\\/g,"/").replace(/@/g,"_")).replace(/%(2F|3A|24|26|2B|2C|3B|3D|3A)/g,decodeURIComponent)}`;const R=N.get(P)>0;return{client:`${v.client}?${encodeURIComponent(q+L)}`,data:P,active:R}}})}));ae(be)}},33537:function(v,E,P){"use strict";const{find:R}=P(64960);const{compareModulesByPreOrderIndexOrIdentifier:$,compareModulesByPostOrderIndexOrIdentifier:N}=P(28273);class ChunkModuleIdRangePlugin{constructor(v){this.options=v}apply(v){const E=this.options;v.hooks.compilation.tap("ChunkModuleIdRangePlugin",(v=>{const P=v.moduleGraph;v.hooks.moduleIds.tap("ChunkModuleIdRangePlugin",(L=>{const q=v.chunkGraph;const K=R(v.chunks,(v=>v.name===E.name));if(!K){throw new Error(`ChunkModuleIdRangePlugin: Chunk with name '${E.name}"' was not found`)}let ae;if(E.order){let v;switch(E.order){case"index":case"preOrderIndex":v=$(P);break;case"index2":case"postOrderIndex":v=N(P);break;default:throw new Error("ChunkModuleIdRangePlugin: unexpected value of order")}ae=q.getOrderedChunkModules(K,v)}else{ae=Array.from(L).filter((v=>q.isModuleInChunk(v,K))).sort($(P))}let ge=E.start||0;for(let v=0;vE.end)break}}))}))}}v.exports=ChunkModuleIdRangePlugin},43850:function(v,E,P){"use strict";const{compareChunksNatural:R}=P(28273);const{getFullChunkName:$,getUsedChunkIds:N,assignDeterministicIds:L}=P(74340);class DeterministicChunkIdsPlugin{constructor(v={}){this.options=v}apply(v){v.hooks.compilation.tap("DeterministicChunkIdsPlugin",(E=>{E.hooks.chunkIds.tap("DeterministicChunkIdsPlugin",(P=>{const q=E.chunkGraph;const K=this.options.context?this.options.context:v.context;const ae=this.options.maxLength||3;const ge=R(q);const be=N(E);L(Array.from(P).filter((v=>v.id===null)),(E=>$(E,q,K,v.root)),ge,((v,E)=>{const P=be.size;be.add(`${E}`);if(P===be.size)return false;v.id=E;v.ids=[E];return true}),[Math.pow(10,ae)],10,be.size)}))}))}}v.exports=DeterministicChunkIdsPlugin},63378:function(v,E,P){"use strict";const{compareModulesByPreOrderIndexOrIdentifier:R}=P(28273);const{getUsedModuleIdsAndModules:$,getFullModuleName:N,assignDeterministicIds:L}=P(74340);class DeterministicModuleIdsPlugin{constructor(v={}){this.options=v}apply(v){v.hooks.compilation.tap("DeterministicModuleIdsPlugin",(E=>{E.hooks.moduleIds.tap("DeterministicModuleIdsPlugin",(()=>{const P=E.chunkGraph;const q=this.options.context?this.options.context:v.context;const K=this.options.maxLength||3;const ae=this.options.failOnConflict||false;const ge=this.options.fixedLength||false;const be=this.options.salt||0;let xe=0;const[ve,Ae]=$(E,this.options.test);L(Ae,(E=>N(E,q,v.root)),ae?()=>0:R(E.moduleGraph),((v,E)=>{const R=ve.size;ve.add(`${E}`);if(R===ve.size){xe++;return false}P.setModuleId(v,E);return true}),[Math.pow(10,K)],ge?0:10,ve.size,be);if(ae&&xe)throw new Error(`Assigning deterministic module ids has lead to ${xe} conflict${xe>1?"s":""}.\nIncrease the 'maxLength' to increase the id space and make conflicts less likely (recommended when there are many conflicts or application is expected to grow), or add an 'salt' number to try another hash starting value in the same id space (recommended when there is only a single conflict).`)}))}))}}v.exports=DeterministicModuleIdsPlugin},83211:function(v,E,P){"use strict";const{compareModulesByPreOrderIndexOrIdentifier:R}=P(28273);const $=P(21596);const N=P(20932);const{getUsedModuleIdsAndModules:L,getFullModuleName:q}=P(74340);const K=$(P(13780),(()=>P(3700)),{name:"Hashed Module Ids Plugin",baseDataPath:"options"});class HashedModuleIdsPlugin{constructor(v={}){K(v);this.options={context:undefined,hashFunction:"md4",hashDigest:"base64",hashDigestLength:4,...v}}apply(v){const E=this.options;v.hooks.compilation.tap("HashedModuleIdsPlugin",(P=>{P.hooks.moduleIds.tap("HashedModuleIdsPlugin",(()=>{const $=P.chunkGraph;const K=this.options.context?this.options.context:v.context;const[ae,ge]=L(P);const be=ge.sort(R(P.moduleGraph));for(const P of be){const R=q(P,K,v.root);const L=N(E.hashFunction);L.update(R||"");const ge=L.digest(E.hashDigest);let be=E.hashDigestLength;while(ae.has(ge.slice(0,be)))be++;const xe=ge.slice(0,be);$.setModuleId(P,xe);ae.add(xe)}}))}))}}v.exports=HashedModuleIdsPlugin},74340:function(v,E,P){"use strict";const R=P(20932);const{makePathsRelative:$}=P(51984);const N=P(76694);const getHash=(v,E,P)=>{const $=R(P);$.update(v);const N=$.digest("hex");return N.slice(0,E)};const avoidNumber=v=>{if(v.length>21)return v;const E=v.charCodeAt(0);if(E<49){if(E!==45)return v}else if(E>57){return v}if(v===+v+""){return`_${v}`}return v};const requestToId=v=>v.replace(/^(\.\.?\/)+/,"").replace(/(^[.-]|[^a-zA-Z0-9_-])+/g,"_");E.requestToId=requestToId;const shortenLongString=(v,E,P)=>{if(v.length<100)return v;return v.slice(0,100-6-E.length)+E+getHash(v,6,P)};const getShortModuleName=(v,E,P)=>{const R=v.libIdent({context:E,associatedObjectForCache:P});if(R)return avoidNumber(R);const N=v.nameForCondition();if(N)return avoidNumber($(E,N,P));return""};E.getShortModuleName=getShortModuleName;const getLongModuleName=(v,E,P,R,$)=>{const N=getFullModuleName(E,P,$);return`${v}?${getHash(N,4,R)}`};E.getLongModuleName=getLongModuleName;const getFullModuleName=(v,E,P)=>$(E,v.identifier(),P);E.getFullModuleName=getFullModuleName;const getShortChunkName=(v,E,P,R,$,N)=>{const L=E.getChunkRootModules(v);const q=L.map((v=>requestToId(getShortModuleName(v,P,N))));v.idNameHints.sort();const K=Array.from(v.idNameHints).concat(q).filter(Boolean).join(R);return shortenLongString(K,R,$)};E.getShortChunkName=getShortChunkName;const getLongChunkName=(v,E,P,R,$,N)=>{const L=E.getChunkRootModules(v);const q=L.map((v=>requestToId(getShortModuleName(v,P,N))));const K=L.map((v=>requestToId(getLongModuleName("",v,P,$,N))));v.idNameHints.sort();const ae=Array.from(v.idNameHints).concat(q,K).filter(Boolean).join(R);return shortenLongString(ae,R,$)};E.getLongChunkName=getLongChunkName;const getFullChunkName=(v,E,P,R)=>{if(v.name)return v.name;const N=E.getChunkRootModules(v);const L=N.map((v=>$(P,v.identifier(),R)));return L.join()};E.getFullChunkName=getFullChunkName;const addToMapOfItems=(v,E,P)=>{let R=v.get(E);if(R===undefined){R=[];v.set(E,R)}R.push(P)};const getUsedModuleIdsAndModules=(v,E)=>{const P=v.chunkGraph;const R=[];const $=new Set;if(v.usedModuleIds){for(const E of v.usedModuleIds){$.add(E+"")}}for(const N of v.modules){if(!N.needId)continue;const v=P.getModuleId(N);if(v!==null){$.add(v+"")}else{if((!E||E(N))&&P.getNumberOfModuleChunks(N)!==0){R.push(N)}}}return[$,R]};E.getUsedModuleIdsAndModules=getUsedModuleIdsAndModules;const getUsedChunkIds=v=>{const E=new Set;if(v.usedChunkIds){for(const P of v.usedChunkIds){E.add(P+"")}}for(const P of v.chunks){const v=P.id;if(v!==null){E.add(v+"")}}return E};E.getUsedChunkIds=getUsedChunkIds;const assignNames=(v,E,P,R,$,N)=>{const L=new Map;for(const P of v){const v=E(P);addToMapOfItems(L,v,P)}const q=new Map;for(const[v,E]of L){if(E.length>1||!v){for(const R of E){const E=P(R,v);addToMapOfItems(q,E,R)}}else{addToMapOfItems(q,v,E[0])}}const K=[];for(const[v,E]of q){if(!v){for(const v of E){K.push(v)}}else if(E.length===1&&!$.has(v)){N(E[0],v);$.add(v)}else{E.sort(R);let P=0;for(const R of E){while(q.has(v+P)&&$.has(v+P))P++;N(R,v+P);$.add(v+P);P++}}}K.sort(R);return K};E.assignNames=assignNames;const assignDeterministicIds=(v,E,P,R,$=[10],L=10,q=0,K=0)=>{v.sort(P);const ae=Math.min(v.length*20+q,Number.MAX_SAFE_INTEGER);let ge=0;let be=$[ge];while(be{const R=P.chunkGraph;let $=0;let N;if(v.size>0){N=E=>{if(R.getModuleId(E)===null){while(v.has($+""))$++;R.setModuleId(E,$++)}}}else{N=v=>{if(R.getModuleId(v)===null){R.setModuleId(v,$++)}}}for(const v of E){N(v)}};E.assignAscendingModuleIds=assignAscendingModuleIds;const assignAscendingChunkIds=(v,E)=>{const P=getUsedChunkIds(E);let R=0;if(P.size>0){for(const E of v){if(E.id===null){while(P.has(R+""))R++;E.id=R;E.ids=[R];R++}}}else{for(const E of v){if(E.id===null){E.id=R;E.ids=[R];R++}}}};E.assignAscendingChunkIds=assignAscendingChunkIds},2382:function(v,E,P){"use strict";const{compareChunksNatural:R}=P(28273);const{getShortChunkName:$,getLongChunkName:N,assignNames:L,getUsedChunkIds:q,assignAscendingChunkIds:K}=P(74340);class NamedChunkIdsPlugin{constructor(v){this.delimiter=v&&v.delimiter||"-";this.context=v&&v.context}apply(v){v.hooks.compilation.tap("NamedChunkIdsPlugin",(E=>{const P=E.outputOptions.hashFunction;E.hooks.chunkIds.tap("NamedChunkIdsPlugin",(ae=>{const ge=E.chunkGraph;const be=this.context?this.context:v.context;const xe=this.delimiter;const ve=L(Array.from(ae).filter((v=>{if(v.name){v.id=v.name;v.ids=[v.name]}return v.id===null})),(E=>$(E,ge,be,xe,P,v.root)),(E=>N(E,ge,be,xe,P,v.root)),R(ge),q(E),((v,E)=>{v.id=E;v.ids=[E]}));if(ve.length>0){K(ve,E)}}))}))}}v.exports=NamedChunkIdsPlugin},31600:function(v,E,P){"use strict";const{compareModulesByIdentifier:R}=P(28273);const{getShortModuleName:$,getLongModuleName:N,assignNames:L,getUsedModuleIdsAndModules:q,assignAscendingModuleIds:K}=P(74340);class NamedModuleIdsPlugin{constructor(v={}){this.options=v}apply(v){const{root:E}=v;v.hooks.compilation.tap("NamedModuleIdsPlugin",(P=>{const ae=P.outputOptions.hashFunction;P.hooks.moduleIds.tap("NamedModuleIdsPlugin",(()=>{const ge=P.chunkGraph;const be=this.options.context?this.options.context:v.context;const[xe,ve]=q(P);const Ae=L(ve,(v=>$(v,be,E)),((v,P)=>N(P,v,be,ae,E)),R,xe,((v,E)=>ge.setModuleId(v,E)));if(Ae.length>0){K(xe,Ae,P)}}))}))}}v.exports=NamedModuleIdsPlugin},38543:function(v,E,P){"use strict";const{compareChunksNatural:R}=P(28273);const{assignAscendingChunkIds:$}=P(74340);class NaturalChunkIdsPlugin{apply(v){v.hooks.compilation.tap("NaturalChunkIdsPlugin",(v=>{v.hooks.chunkIds.tap("NaturalChunkIdsPlugin",(E=>{const P=v.chunkGraph;const N=R(P);const L=Array.from(E).sort(N);$(L,v)}))}))}}v.exports=NaturalChunkIdsPlugin},50006:function(v,E,P){"use strict";const{compareModulesByPreOrderIndexOrIdentifier:R}=P(28273);const{assignAscendingModuleIds:$,getUsedModuleIdsAndModules:N}=P(74340);class NaturalModuleIdsPlugin{apply(v){v.hooks.compilation.tap("NaturalModuleIdsPlugin",(v=>{v.hooks.moduleIds.tap("NaturalModuleIdsPlugin",(E=>{const[P,L]=N(v);L.sort(R(v.moduleGraph));$(P,L,v)}))}))}}v.exports=NaturalModuleIdsPlugin},78266:function(v,E,P){"use strict";const{compareChunksNatural:R}=P(28273);const $=P(21596);const{assignAscendingChunkIds:N}=P(74340);const L=$(P(4575),(()=>P(10529)),{name:"Occurrence Order Chunk Ids Plugin",baseDataPath:"options"});class OccurrenceChunkIdsPlugin{constructor(v={}){L(v);this.options=v}apply(v){const E=this.options.prioritiseInitial;v.hooks.compilation.tap("OccurrenceChunkIdsPlugin",(v=>{v.hooks.chunkIds.tap("OccurrenceChunkIdsPlugin",(P=>{const $=v.chunkGraph;const L=new Map;const q=R($);for(const v of P){let E=0;for(const P of v.groupsIterable){for(const v of P.parentsIterable){if(v.isInitial())E++}}L.set(v,E)}const K=Array.from(P).sort(((v,P)=>{if(E){const E=L.get(v);const R=L.get(P);if(E>R)return-1;if(E$)return-1;if(R<$)return 1;return q(v,P)}));N(K,v)}))}))}}v.exports=OccurrenceChunkIdsPlugin},36023:function(v,E,P){"use strict";const{compareModulesByPreOrderIndexOrIdentifier:R}=P(28273);const $=P(21596);const{assignAscendingModuleIds:N,getUsedModuleIdsAndModules:L}=P(74340);const q=$(P(43819),(()=>P(22698)),{name:"Occurrence Order Module Ids Plugin",baseDataPath:"options"});class OccurrenceModuleIdsPlugin{constructor(v={}){q(v);this.options=v}apply(v){const E=this.options.prioritiseInitial;v.hooks.compilation.tap("OccurrenceModuleIdsPlugin",(v=>{const P=v.moduleGraph;v.hooks.moduleIds.tap("OccurrenceModuleIdsPlugin",(()=>{const $=v.chunkGraph;const[q,K]=L(v);const ae=new Map;const ge=new Map;const be=new Map;const xe=new Map;for(const v of K){let E=0;let P=0;for(const R of $.getModuleChunksIterable(v)){if(R.canBeInitial())E++;if($.isEntryModuleInChunk(v,R))P++}be.set(v,E);xe.set(v,P)}const countOccursInEntry=v=>{let E=0;for(const[R,$]of P.getIncomingConnectionsByOriginModule(v)){if(!R)continue;if(!$.some((v=>v.isTargetActive(undefined))))continue;E+=be.get(R)||0}return E};const countOccurs=v=>{let E=0;for(const[R,N]of P.getIncomingConnectionsByOriginModule(v)){if(!R)continue;const v=$.getNumberOfModuleChunks(R);for(const P of N){if(!P.isTargetActive(undefined))continue;if(!P.dependency)continue;const R=P.dependency.getNumberOfIdOccurrences();if(R===0)continue;E+=R*v}}return E};if(E){for(const v of K){const E=countOccursInEntry(v)+be.get(v)+xe.get(v);ae.set(v,E)}}for(const v of K){const E=countOccurs(v)+$.getNumberOfModuleChunks(v)+xe.get(v);ge.set(v,E)}const ve=R(v.moduleGraph);K.sort(((v,P)=>{if(E){const E=ae.get(v);const R=ae.get(P);if(E>R)return-1;if(E$)return-1;if(R<$)return 1;return ve(v,P)}));N(q,K,v)}))}))}}v.exports=OccurrenceModuleIdsPlugin},1131:function(v,E,P){"use strict";const{WebpackError:R}=P(3266);const{getUsedModuleIdsAndModules:$}=P(74340);const N="SyncModuleIdsPlugin";class SyncModuleIdsPlugin{constructor({path:v,context:E,test:P,mode:R}){this._path=v;this._context=E;this._test=P||(()=>true);const $=!R||R==="merge"||R==="update";this._read=$||R==="read";this._write=$||R==="create";this._prune=R==="update"}apply(v){let E;let P=false;if(this._read){v.hooks.readRecords.tapAsync(N,(R=>{const $=v.intermediateFileSystem;$.readFile(this._path,((v,$)=>{if(v){if(v.code!=="ENOENT"){return R(v)}return R()}const N=JSON.parse($.toString());E=new Map;for(const v of Object.keys(N)){E.set(v,N[v])}P=false;return R()}))}))}if(this._write){v.hooks.emitRecords.tapAsync(N,(R=>{if(!E||!P)return R();const $={};const N=Array.from(E).sort((([v],[E])=>v{const q=v.root;const K=this._context||v.context;if(this._read){L.hooks.reviveModules.tap(N,((v,P)=>{if(!E)return;const{chunkGraph:N}=L;const[ae,ge]=$(L,this._test);for(const v of ge){const P=v.libIdent({context:K,associatedObjectForCache:q});if(!P)continue;const $=E.get(P);const ge=`${$}`;if(ae.has(ge)){const E=new R(`SyncModuleIdsPlugin: Unable to restore id '${$}' from '${this._path}' as it's already used.`);E.module=v;L.errors.push(E)}N.setModuleId(v,$);ae.add(ge)}}))}if(this._write){L.hooks.recordModules.tap(N,(v=>{const{chunkGraph:R}=L;let $=E;if(!$){$=E=new Map}else if(this._prune){E=new Map}for(const N of v){if(this._test(N)){const v=N.libIdent({context:K,associatedObjectForCache:q});if(!v)continue;const L=R.getModuleId(N);if(L===null)continue;const ae=$.get(v);if(ae!==L){P=true}else if(E===$){continue}E.set(v,L)}}if(E.size!==$.size)P=true}))}}))}}v.exports=SyncModuleIdsPlugin},3266:function(v,E,P){"use strict";const R=P(73837);const $=P(25689);const lazyFunction=v=>{const E=$(v);const f=(...v)=>E()(...v);return f};const mergeExports=(v,E)=>{const P=Object.getOwnPropertyDescriptors(E);for(const E of Object.keys(P)){const R=P[E];if(R.get){const P=R.get;Object.defineProperty(v,E,{configurable:false,enumerable:true,get:$(P)})}else if(typeof R.value==="object"){Object.defineProperty(v,E,{configurable:false,enumerable:true,writable:false,value:mergeExports({},R.value)})}else{throw new Error("Exposed values must be either a getter or an nested object")}}return Object.freeze(v)};const N=lazyFunction((()=>P(84159)));v.exports=mergeExports(N,{get webpack(){return P(84159)},get validate(){const v=P(8954);const E=$((()=>{const v=P(21917);const E=P(74792);return P=>v(E,P)}));return P=>{if(!v(P))E()(P)}},get validateSchema(){const v=P(21917);return v},get version(){return P(60549).i8},get cli(){return P(48034)},get AutomaticPrefetchPlugin(){return P(28917)},get AsyncDependenciesBlock(){return P(55936)},get BannerPlugin(){return P(62897)},get Cache(){return P(55254)},get Chunk(){return P(56738)},get ChunkGraph(){return P(86255)},get CleanPlugin(){return P(68747)},get Compilation(){return P(6944)},get Compiler(){return P(74883)},get ConcatenationScope(){return P(32757)},get ContextExclusionPlugin(){return P(82874)},get ContextReplacementPlugin(){return P(74580)},get DefinePlugin(){return P(54892)},get DelegatedPlugin(){return P(66665)},get Dependency(){return P(38204)},get DllPlugin(){return P(78859)},get DllReferencePlugin(){return P(16191)},get DynamicEntryPlugin(){return P(57519)},get EntryOptionPlugin(){return P(61886)},get EntryPlugin(){return P(80871)},get EnvironmentPlugin(){return P(48209)},get EvalDevToolModulePlugin(){return P(15742)},get EvalSourceMapDevToolPlugin(){return P(79487)},get ExternalModule(){return P(74805)},get ExternalsPlugin(){return P(33554)},get Generator(){return P(29900)},get HotUpdateChunk(){return P(5195)},get HotModuleReplacementPlugin(){return P(68064)},get IgnorePlugin(){return P(82388)},get JavascriptModulesPlugin(){return R.deprecate((()=>P(42453)),"webpack.JavascriptModulesPlugin has moved to webpack.javascript.JavascriptModulesPlugin","DEP_WEBPACK_JAVASCRIPT_MODULES_PLUGIN")()},get LibManifestPlugin(){return P(63855)},get LibraryTemplatePlugin(){return R.deprecate((()=>P(79775)),"webpack.LibraryTemplatePlugin is deprecated and has been replaced by compilation.outputOptions.library or compilation.addEntry + passing a library option","DEP_WEBPACK_LIBRARY_TEMPLATE_PLUGIN")()},get LoaderOptionsPlugin(){return P(94843)},get LoaderTargetPlugin(){return P(11249)},get Module(){return P(72011)},get ModuleFilenameHelpers(){return P(15321)},get ModuleGraph(){return P(49188)},get ModuleGraphConnection(){return P(1709)},get NoEmitOnErrorsPlugin(){return P(90645)},get NormalModule(){return P(80346)},get NormalModuleReplacementPlugin(){return P(24056)},get MultiCompiler(){return P(20381)},get OptimizationStages(){return P(63171)},get Parser(){return P(38063)},get PrefetchPlugin(){return P(35237)},get ProgressPlugin(){return P(82387)},get ProvidePlugin(){return P(41579)},get RuntimeGlobals(){return P(92529)},get RuntimeModule(){return P(845)},get SingleEntryPlugin(){return R.deprecate((()=>P(80871)),"SingleEntryPlugin was renamed to EntryPlugin","DEP_WEBPACK_SINGLE_ENTRY_PLUGIN")()},get SourceMapDevToolPlugin(){return P(65596)},get Stats(){return P(90476)},get Template(){return P(25233)},get UsageState(){return P(8435).UsageState},get WatchIgnorePlugin(){return P(34029)},get WebpackError(){return P(16413)},get WebpackOptionsApply(){return P(98574)},get WebpackOptionsDefaulter(){return R.deprecate((()=>P(97765)),"webpack.WebpackOptionsDefaulter is deprecated and has been replaced by webpack.config.getNormalizedWebpackOptions and webpack.config.applyWebpackOptionsDefaults","DEP_WEBPACK_OPTIONS_DEFAULTER")()},get WebpackOptionsValidationError(){return P(38476).ValidationError},get ValidationError(){return P(38476).ValidationError},cache:{get MemoryCachePlugin(){return P(76623)}},config:{get getNormalizedWebpackOptions(){return P(87605).getNormalizedWebpackOptions},get applyWebpackOptionsDefaults(){return P(58504).applyWebpackOptionsDefaults}},dependencies:{get ModuleDependency(){return P(17782)},get HarmonyImportDependency(){return P(24647)},get ConstDependency(){return P(9297)},get NullDependency(){return P(55111)}},ids:{get ChunkModuleIdRangePlugin(){return P(33537)},get NaturalModuleIdsPlugin(){return P(50006)},get OccurrenceModuleIdsPlugin(){return P(36023)},get NamedModuleIdsPlugin(){return P(31600)},get DeterministicChunkIdsPlugin(){return P(43850)},get DeterministicModuleIdsPlugin(){return P(63378)},get NamedChunkIdsPlugin(){return P(2382)},get OccurrenceChunkIdsPlugin(){return P(78266)},get HashedModuleIdsPlugin(){return P(83211)}},javascript:{get EnableChunkLoadingPlugin(){return P(31371)},get JavascriptModulesPlugin(){return P(42453)},get JavascriptParser(){return P(51224)}},optimize:{get AggressiveMergingPlugin(){return P(1969)},get AggressiveSplittingPlugin(){return R.deprecate((()=>P(47200)),"AggressiveSplittingPlugin is deprecated in favor of SplitChunksPlugin","DEP_WEBPACK_AGGRESSIVE_SPLITTING_PLUGIN")()},get InnerGraph(){return P(48404)},get LimitChunkCountPlugin(){return P(86878)},get MinChunkSizePlugin(){return P(80589)},get ModuleConcatenationPlugin(){return P(52607)},get RealContentHashPlugin(){return P(71045)},get RuntimeChunkPlugin(){return P(41225)},get SideEffectsFlagPlugin(){return P(25647)},get SplitChunksPlugin(){return P(67877)}},runtime:{get GetChunkFilenameRuntimeModule(){return P(72361)},get LoadScriptRuntimeModule(){return P(35974)}},prefetch:{get ChunkPrefetchPreloadPlugin(){return P(74750)}},web:{get FetchCompileAsyncWasmPlugin(){return P(65099)},get FetchCompileWasmPlugin(){return P(7557)},get JsonpChunkLoadingRuntimeModule(){return P(75014)},get JsonpTemplatePlugin(){return P(3635)}},webworker:{get WebWorkerTemplatePlugin(){return P(87616)}},node:{get NodeEnvironmentPlugin(){return P(6661)},get NodeSourcePlugin(){return P(27828)},get NodeTargetPlugin(){return P(11966)},get NodeTemplatePlugin(){return P(10649)},get ReadFileCompileWasmPlugin(){return P(99162)}},electron:{get ElectronTargetPlugin(){return P(56298)}},wasm:{get AsyncWebAssemblyModulesPlugin(){return P(37660)},get EnableWasmLoadingPlugin(){return P(58878)}},library:{get AbstractLibraryPlugin(){return P(84607)},get EnableLibraryPlugin(){return P(61201)}},container:{get ContainerPlugin(){return P(41247)},get ContainerReferencePlugin(){return P(7284)},get ModuleFederationPlugin(){return P(941)},get scope(){return P(89170).scope}},sharing:{get ConsumeSharedPlugin(){return P(95481)},get ProvideSharedPlugin(){return P(67669)},get SharePlugin(){return P(64928)},get scope(){return P(89170).scope}},debug:{get ProfilingPlugin(){return P(20052)}},util:{get createHash(){return P(20932)},get comparators(){return P(28273)},get runtime(){return P(65153)},get serialization(){return P(29260)},get cleverMerge(){return P(36671).cachedCleverMerge},get LazySet(){return P(2035)}},get sources(){return P(51255)},experiments:{schemes:{get HttpUriPlugin(){return P(59888)}},ids:{get SyncModuleIdsPlugin(){return P(1131)}}}})},66837:function(v,E,P){"use strict";const{ConcatSource:R,PrefixSource:$,RawSource:N}=P(51255);const{RuntimeGlobals:L}=P(3266);const q=P(5195);const K=P(25233);const{getCompilationHooks:ae}=P(42453);const{generateEntryStartup:ge,updateHashForEntryStartup:be}=P(5606);class ArrayPushCallbackChunkFormatPlugin{apply(v){v.hooks.thisCompilation.tap("ArrayPushCallbackChunkFormatPlugin",(v=>{v.hooks.additionalChunkRuntimeRequirements.tap("ArrayPushCallbackChunkFormatPlugin",((v,E,{chunkGraph:P})=>{if(v.hasRuntime())return;if(P.getNumberOfEntryModules(v)>0){E.add(L.onChunksLoaded);E.add(L.require)}E.add(L.chunkCallback)}));const E=ae(v);E.renderChunk.tap("ArrayPushCallbackChunkFormatPlugin",((P,ae)=>{const{chunk:be,chunkGraph:xe,runtimeTemplate:ve}=ae;const Ae=be instanceof q?be:null;const Ie=ve.globalObject;const He=new R;const Qe=xe.getChunkRuntimeModulesInOrder(be);if(Ae){const v=ve.outputOptions.hotUpdateGlobal;He.add(`${Ie}[${JSON.stringify(v)}](`);He.add(`${JSON.stringify(be.id)},`);He.add(P);if(Qe.length>0){He.add(",\n");const v=K.renderChunkRuntimeModules(Qe,ae);He.add(v)}He.add(")")}else{const q=ve.outputOptions.chunkLoadingGlobal;He.add(`(${Ie}[${JSON.stringify(q)}] = ${Ie}[${JSON.stringify(q)}] || []).push([`);He.add(`${JSON.stringify(be.ids)},`);He.add(P);const Ae=Array.from(xe.getChunkEntryModulesWithChunkGroupIterable(be));if(Qe.length>0||Ae.length>0){const P=new R((ve.supportsArrowFunction()?`${L.require} =>`:`function(${L.require})`)+" { // webpackRuntimeModules\n");if(Qe.length>0){P.add(K.renderRuntimeModules(Qe,{...ae,codeGenerationResults:v.codeGenerationResults}))}if(Ae.length>0){const v=new N(ge(xe,ve,Ae,be,true));P.add(E.renderStartup.call(v,Ae[Ae.length-1][0],{...ae,inlined:false}));if(xe.getChunkRuntimeRequirements(be).has(L.returnExportsFromRuntime)){P.add(`return ${L.exports};\n`)}}P.add("}\n");He.add(",\n");He.add(new $("/******/ ",P))}He.add("])")}return He}));E.chunkHash.tap("ArrayPushCallbackChunkFormatPlugin",((v,E,{chunkGraph:P,runtimeTemplate:R})=>{if(v.hasRuntime())return;E.update(`ArrayPushCallbackChunkFormatPlugin1${R.outputOptions.chunkLoadingGlobal}${R.outputOptions.hotUpdateGlobal}${R.globalObject}`);const $=Array.from(P.getChunkEntryModulesWithChunkGroupIterable(v));be(E,P,$,v)}))}))}}v.exports=ArrayPushCallbackChunkFormatPlugin},81792:function(v){"use strict";const E=0;const P=1;const R=2;const $=3;const N=4;const L=5;const q=6;const K=7;const ae=8;const ge=9;const be=10;const xe=11;const ve=12;const Ae=13;class BasicEvaluatedExpression{constructor(){this.type=E;this.range=undefined;this.falsy=false;this.truthy=false;this.nullish=undefined;this.sideEffects=true;this.bool=undefined;this.number=undefined;this.bigint=undefined;this.regExp=undefined;this.string=undefined;this.quasis=undefined;this.parts=undefined;this.array=undefined;this.items=undefined;this.options=undefined;this.prefix=undefined;this.postfix=undefined;this.wrappedInnerExpressions=undefined;this.identifier=undefined;this.rootInfo=undefined;this.getMembers=undefined;this.getMembersOptionals=undefined;this.getMemberRanges=undefined;this.expression=undefined}isUnknown(){return this.type===E}isNull(){return this.type===R}isUndefined(){return this.type===P}isString(){return this.type===$}isNumber(){return this.type===N}isBigInt(){return this.type===Ae}isBoolean(){return this.type===L}isRegExp(){return this.type===q}isConditional(){return this.type===K}isArray(){return this.type===ae}isConstArray(){return this.type===ge}isIdentifier(){return this.type===be}isWrapped(){return this.type===xe}isTemplateString(){return this.type===ve}isPrimitiveType(){switch(this.type){case P:case R:case $:case N:case L:case Ae:case xe:case ve:return true;case q:case ae:case ge:return false;default:return undefined}}isCompileTimeValue(){switch(this.type){case P:case R:case $:case N:case L:case q:case ge:case Ae:return true;default:return false}}asCompileTimeValue(){switch(this.type){case P:return undefined;case R:return null;case $:return this.string;case N:return this.number;case L:return this.bool;case q:return this.regExp;case ge:return this.array;case Ae:return this.bigint;default:throw new Error("asCompileTimeValue must only be called for compile-time values")}}isTruthy(){return this.truthy}isFalsy(){return this.falsy}isNullish(){return this.nullish}couldHaveSideEffects(){return this.sideEffects}asBool(){if(this.truthy)return true;if(this.falsy||this.nullish)return false;if(this.isBoolean())return this.bool;if(this.isNull())return false;if(this.isUndefined())return false;if(this.isString())return this.string!=="";if(this.isNumber())return this.number!==0;if(this.isBigInt())return this.bigint!==BigInt(0);if(this.isRegExp())return true;if(this.isArray())return true;if(this.isConstArray())return true;if(this.isWrapped()){return this.prefix&&this.prefix.asBool()||this.postfix&&this.postfix.asBool()?true:undefined}if(this.isTemplateString()){const v=this.asString();if(typeof v==="string")return v!==""}return undefined}asNullish(){const v=this.isNullish();if(v===true||this.isNull()||this.isUndefined())return true;if(v===false)return false;if(this.isTruthy())return false;if(this.isBoolean())return false;if(this.isString())return false;if(this.isNumber())return false;if(this.isBigInt())return false;if(this.isRegExp())return false;if(this.isArray())return false;if(this.isConstArray())return false;if(this.isTemplateString())return false;if(this.isRegExp())return false;return undefined}asString(){if(this.isBoolean())return`${this.bool}`;if(this.isNull())return"null";if(this.isUndefined())return"undefined";if(this.isString())return this.string;if(this.isNumber())return`${this.number}`;if(this.isBigInt())return`${this.bigint}`;if(this.isRegExp())return`${this.regExp}`;if(this.isArray()){let v=[];for(const E of this.items){const P=E.asString();if(P===undefined)return undefined;v.push(P)}return`${v}`}if(this.isConstArray())return`${this.array}`;if(this.isTemplateString()){let v="";for(const E of this.parts){const P=E.asString();if(P===undefined)return undefined;v+=P}return v}return undefined}setString(v){this.type=$;this.string=v;this.sideEffects=false;return this}setUndefined(){this.type=P;this.sideEffects=false;return this}setNull(){this.type=R;this.sideEffects=false;return this}setNumber(v){this.type=N;this.number=v;this.sideEffects=false;return this}setBigInt(v){this.type=Ae;this.bigint=v;this.sideEffects=false;return this}setBoolean(v){this.type=L;this.bool=v;this.sideEffects=false;return this}setRegExp(v){this.type=q;this.regExp=v;this.sideEffects=false;return this}setIdentifier(v,E,P,R,$){this.type=be;this.identifier=v;this.rootInfo=E;this.getMembers=P;this.getMembersOptionals=R;this.getMemberRanges=$;this.sideEffects=true;return this}setWrapped(v,E,P){this.type=xe;this.prefix=v;this.postfix=E;this.wrappedInnerExpressions=P;this.sideEffects=true;return this}setOptions(v){this.type=K;this.options=v;this.sideEffects=true;return this}addOptions(v){if(!this.options){this.type=K;this.options=[];this.sideEffects=true}for(const E of v){this.options.push(E)}return this}setItems(v){this.type=ae;this.items=v;this.sideEffects=v.some((v=>v.couldHaveSideEffects()));return this}setArray(v){this.type=ge;this.array=v;this.sideEffects=false;return this}setTemplateString(v,E,P){this.type=ve;this.quasis=v;this.parts=E;this.templateStringKind=P;this.sideEffects=E.some((v=>v.sideEffects));return this}setTruthy(){this.falsy=false;this.truthy=true;this.nullish=false;return this}setFalsy(){this.falsy=true;this.truthy=false;return this}setNullish(v){this.nullish=v;if(v)return this.setFalsy();return this}setRange(v){this.range=v;return this}setSideEffects(v=true){this.sideEffects=v;return this}setExpression(v){this.expression=v;return this}}BasicEvaluatedExpression.isValidRegExpFlags=v=>{const E=v.length;if(E===0)return true;if(E>4)return false;let P=0;for(let R=0;R{const $=new Set([v]);const N=new Set;for(const v of $){for(const R of v.chunks){if(R===E)continue;if(R===P)continue;N.add(R)}for(const E of v.parentsIterable){if(E instanceof R)$.add(E)}}return N};E.getAllChunks=getAllChunks},35564:function(v,E,P){"use strict";const{ConcatSource:R,RawSource:$}=P(51255);const N=P(92529);const L=P(25233);const{getChunkFilenameTemplate:q,getCompilationHooks:K}=P(42453);const{generateEntryStartup:ae,updateHashForEntryStartup:ge}=P(5606);class CommonJsChunkFormatPlugin{apply(v){v.hooks.thisCompilation.tap("CommonJsChunkFormatPlugin",(v=>{v.hooks.additionalChunkRuntimeRequirements.tap("CommonJsChunkLoadingPlugin",((v,E,{chunkGraph:P})=>{if(v.hasRuntime())return;if(P.getNumberOfEntryModules(v)>0){E.add(N.require);E.add(N.startupEntrypoint);E.add(N.externalInstallChunk)}}));const E=K(v);E.renderChunk.tap("CommonJsChunkFormatPlugin",((P,K)=>{const{chunk:ge,chunkGraph:be,runtimeTemplate:xe}=K;const ve=new R;ve.add(`exports.id = ${JSON.stringify(ge.id)};\n`);ve.add(`exports.ids = ${JSON.stringify(ge.ids)};\n`);ve.add(`exports.modules = `);ve.add(P);ve.add(";\n");const Ae=be.getChunkRuntimeModulesInOrder(ge);if(Ae.length>0){ve.add("exports.runtime =\n");ve.add(L.renderChunkRuntimeModules(Ae,K))}const Ie=Array.from(be.getChunkEntryModulesWithChunkGroupIterable(ge));if(Ie.length>0){const P=Ie[0][1].getRuntimeChunk();const L=v.getPath(q(ge,v.outputOptions),{chunk:ge,contentHashType:"javascript"}).split("/");const Ae=v.getPath(q(P,v.outputOptions),{chunk:P,contentHashType:"javascript"}).split("/");L.pop();while(L.length>0&&Ae.length>0&&L[0]===Ae[0]){L.shift();Ae.shift()}const He=(L.length>0?"../".repeat(L.length):"./")+Ae.join("/");const Qe=new R;Qe.add(`(${xe.supportsArrowFunction()?"() => ":"function() "}{\n`);Qe.add("var exports = {};\n");Qe.add(ve);Qe.add(";\n\n// load runtime\n");Qe.add(`var ${N.require} = require(${JSON.stringify(He)});\n`);Qe.add(`${N.externalInstallChunk}(exports);\n`);const Je=new $(ae(be,xe,Ie,ge,false));Qe.add(E.renderStartup.call(Je,Ie[Ie.length-1][0],{...K,inlined:false}));Qe.add("\n})()");return Qe}return ve}));E.chunkHash.tap("CommonJsChunkFormatPlugin",((v,E,{chunkGraph:P})=>{if(v.hasRuntime())return;E.update("CommonJsChunkFormatPlugin");E.update("1");const R=Array.from(P.getChunkEntryModulesWithChunkGroupIterable(v));ge(E,P,R,v)}))}))}}v.exports=CommonJsChunkFormatPlugin},31371:function(v,E,P){"use strict";const R=new WeakMap;const getEnabledTypes=v=>{let E=R.get(v);if(E===undefined){E=new Set;R.set(v,E)}return E};class EnableChunkLoadingPlugin{constructor(v){this.type=v}static setEnabled(v,E){getEnabledTypes(v).add(E)}static checkEnabled(v,E){if(!getEnabledTypes(v).has(E)){throw new Error(`Chunk loading type "${E}" is not enabled. `+"EnableChunkLoadingPlugin need to be used to enable this type of chunk loading. "+'This usually happens through the "output.enabledChunkLoadingTypes" option. '+'If you are using a function as entry which sets "chunkLoading", you need to add all potential chunk loading types to "output.enabledChunkLoadingTypes". '+"These types are enabled: "+Array.from(getEnabledTypes(v)).join(", "))}}apply(v){const{type:E}=this;const R=getEnabledTypes(v);if(R.has(E))return;R.add(E);if(typeof E==="string"){switch(E){case"jsonp":{const E=P(69430);(new E).apply(v);break}case"import-scripts":{const E=P(12249);(new E).apply(v);break}case"require":{const E=P(36904);new E({asyncChunkLoading:false}).apply(v);break}case"async-node":{const E=P(36904);new E({asyncChunkLoading:true}).apply(v);break}case"import":{const E=P(52943);(new E).apply(v);break}case"universal":throw new Error("Universal Chunk Loading is not implemented yet");default:throw new Error(`Unsupported chunk loading type ${E}.\nPlugins which provide custom chunk loading types must call EnableChunkLoadingPlugin.setEnabled(compiler, type) to disable this error.`)}}else{}}}v.exports=EnableChunkLoadingPlugin},61112:function(v,E,P){"use strict";const R=P(73837);const{RawSource:$,ReplaceSource:N}=P(51255);const L=P(29900);const q=P(23596);const K=P(49914);const ae=R.deprecate(((v,E,P)=>v.getInitFragments(E,P)),"DependencyTemplate.getInitFragment is deprecated (use apply(dep, source, { initFragments }) instead)","DEP_WEBPACK_JAVASCRIPT_GENERATOR_GET_INIT_FRAGMENTS");const ge=new Set(["javascript"]);class JavascriptGenerator extends L{getTypes(v){return ge}getSize(v,E){const P=v.originalSource();if(!P){return 39}return P.size()}getConcatenationBailoutReason(v,E){if(!v.buildMeta||v.buildMeta.exportsType!=="namespace"||v.presentationalDependencies===undefined||!v.presentationalDependencies.some((v=>v instanceof K))){return"Module is not an ECMAScript module"}if(v.buildInfo&&v.buildInfo.moduleConcatenationBailout){return`Module uses ${v.buildInfo.moduleConcatenationBailout}`}}generate(v,E){const P=v.originalSource();if(!P){return new $("throw new Error('No source available');")}const R=new N(P);const L=[];this.sourceModule(v,L,R,E);return q.addToSource(R,L,E)}sourceModule(v,E,P,R){for(const $ of v.dependencies){this.sourceDependency(v,$,E,P,R)}if(v.presentationalDependencies!==undefined){for(const $ of v.presentationalDependencies){this.sourceDependency(v,$,E,P,R)}}for(const $ of v.blocks){this.sourceBlock(v,$,E,P,R)}}sourceBlock(v,E,P,R,$){for(const N of E.dependencies){this.sourceDependency(v,N,P,R,$)}for(const N of E.blocks){this.sourceBlock(v,N,P,R,$)}}sourceDependency(v,E,P,R,$){const N=E.constructor;const L=$.dependencyTemplates.get(N);if(!L){throw new Error("No template for dependency: "+E.constructor.name)}let q;const K={runtimeTemplate:$.runtimeTemplate,dependencyTemplates:$.dependencyTemplates,moduleGraph:$.moduleGraph,chunkGraph:$.chunkGraph,module:v,runtime:$.runtime,runtimes:$.runtimes,runtimeRequirements:$.runtimeRequirements,concatenationScope:$.concatenationScope,codeGenerationResults:$.codeGenerationResults,initFragments:P,get chunkInitFragments(){if(!q){const v=$.getData();q=v.get("chunkInitFragments");if(!q){q=[];v.set("chunkInitFragments",q)}}return q}};L.apply(E,R,K);if("getInitFragments"in L){const v=ae(L,E,K);if(v){for(const E of v){P.push(E)}}}}}v.exports=JavascriptGenerator},42453:function(v,E,P){"use strict";const{SyncWaterfallHook:R,SyncHook:$,SyncBailHook:N}=P(79846);const L=P(26144);const{ConcatSource:q,OriginalSource:K,PrefixSource:ae,RawSource:ge,CachedSource:be}=P(51255);const xe=P(6944);const{tryRunOrWebpackError:ve}=P(2202);const Ae=P(5195);const Ie=P(23596);const{JAVASCRIPT_MODULE_TYPE_AUTO:He,JAVASCRIPT_MODULE_TYPE_DYNAMIC:Qe,JAVASCRIPT_MODULE_TYPE_ESM:Je,WEBPACK_MODULE_TYPE_RUNTIME:Ve}=P(96170);const Ke=P(92529);const Ye=P(25233);const{last:Xe,someInIterable:Ze}=P(6719);const et=P(19943);const{compareModulesByIdentifier:tt}=P(28273);const nt=P(20932);const st=P(20859);const{intersectRuntime:rt}=P(65153);const ot=P(61112);const it=P(51224);const chunkHasJs=(v,E)=>{if(E.getNumberOfEntryModules(v)>0)return true;return E.getChunkModulesIterableBySourceType(v,"javascript")?true:false};const printGeneratedCodeForStack=(v,E)=>{const P=E.split("\n");const R=`${P.length}`.length;return`\n\nGenerated code for ${v.identifier()}\n${P.map(((v,E,P)=>{const $=`${E+1}`;return`${" ".repeat(R-$.length)}${$} | ${v}`})).join("\n")}`};const at=new WeakMap;const ct="JavascriptModulesPlugin";class JavascriptModulesPlugin{static getCompilationHooks(v){if(!(v instanceof xe)){throw new TypeError("The 'compilation' argument must be an instance of Compilation")}let E=at.get(v);if(E===undefined){E={renderModuleContent:new R(["source","module","renderContext"]),renderModuleContainer:new R(["source","module","renderContext"]),renderModulePackage:new R(["source","module","renderContext"]),render:new R(["source","renderContext"]),renderContent:new R(["source","renderContext"]),renderStartup:new R(["source","module","startupRenderContext"]),renderChunk:new R(["source","renderContext"]),renderMain:new R(["source","renderContext"]),renderRequire:new R(["code","renderContext"]),inlineInRuntimeBailout:new N(["module","renderContext"]),embedInRuntimeBailout:new N(["module","renderContext"]),strictRuntimeBailout:new N(["renderContext"]),chunkHash:new $(["chunk","hash","context"]),useSourceMap:new N(["chunk","renderContext"])};at.set(v,E)}return E}constructor(v={}){this.options=v;this._moduleFactoryCache=new WeakMap}apply(v){v.hooks.compilation.tap(ct,((v,{normalModuleFactory:E})=>{const P=JavascriptModulesPlugin.getCompilationHooks(v);E.hooks.createParser.for(He).tap(ct,(v=>new it("auto")));E.hooks.createParser.for(Qe).tap(ct,(v=>new it("script")));E.hooks.createParser.for(Je).tap(ct,(v=>new it("module")));E.hooks.createGenerator.for(He).tap(ct,(()=>new ot));E.hooks.createGenerator.for(Qe).tap(ct,(()=>new ot));E.hooks.createGenerator.for(Je).tap(ct,(()=>new ot));v.hooks.renderManifest.tap(ct,((E,R)=>{const{hash:$,chunk:N,chunkGraph:L,moduleGraph:q,runtimeTemplate:K,dependencyTemplates:ae,outputOptions:ge,codeGenerationResults:be}=R;const xe=N instanceof Ae?N:null;let ve;const Ie=JavascriptModulesPlugin.getChunkFilenameTemplate(N,ge);if(xe){ve=()=>this.renderChunk({chunk:N,dependencyTemplates:ae,runtimeTemplate:K,moduleGraph:q,chunkGraph:L,codeGenerationResults:be,strictMode:K.isModule()},P)}else if(N.hasRuntime()){ve=()=>this.renderMain({hash:$,chunk:N,dependencyTemplates:ae,runtimeTemplate:K,moduleGraph:q,chunkGraph:L,codeGenerationResults:be,strictMode:K.isModule()},P,v)}else{if(!chunkHasJs(N,L)){return E}ve=()=>this.renderChunk({chunk:N,dependencyTemplates:ae,runtimeTemplate:K,moduleGraph:q,chunkGraph:L,codeGenerationResults:be,strictMode:K.isModule()},P)}E.push({render:ve,filenameTemplate:Ie,pathOptions:{hash:$,runtime:N.runtime,chunk:N,contentHashType:"javascript"},info:{javascriptModule:v.runtimeTemplate.isModule()},identifier:xe?`hotupdatechunk${N.id}`:`chunk${N.id}`,hash:N.contentHash.javascript});return E}));v.hooks.chunkHash.tap(ct,((v,E,R)=>{P.chunkHash.call(v,E,R);if(v.hasRuntime()){this.updateHashWithBootstrap(E,{hash:"0000",chunk:v,codeGenerationResults:R.codeGenerationResults,chunkGraph:R.chunkGraph,moduleGraph:R.moduleGraph,runtimeTemplate:R.runtimeTemplate},P)}}));v.hooks.contentHash.tap(ct,(E=>{const{chunkGraph:R,codeGenerationResults:$,moduleGraph:N,runtimeTemplate:L,outputOptions:{hashSalt:q,hashDigest:K,hashDigestLength:ae,hashFunction:ge}}=v;const be=nt(ge);if(q)be.update(q);if(E.hasRuntime()){this.updateHashWithBootstrap(be,{hash:"0000",chunk:E,codeGenerationResults:$,chunkGraph:v.chunkGraph,moduleGraph:v.moduleGraph,runtimeTemplate:v.runtimeTemplate},P)}else{be.update(`${E.id} `);be.update(E.ids?E.ids.join(","):"")}P.chunkHash.call(E,be,{chunkGraph:R,codeGenerationResults:$,moduleGraph:N,runtimeTemplate:L});const xe=R.getChunkModulesIterableBySourceType(E,"javascript");if(xe){const v=new et;for(const P of xe){v.add(R.getModuleHash(P,E.runtime))}v.updateHash(be)}const ve=R.getChunkModulesIterableBySourceType(E,Ve);if(ve){const v=new et;for(const P of ve){v.add(R.getModuleHash(P,E.runtime))}v.updateHash(be)}const Ae=be.digest(K);E.contentHash.javascript=st(Ae,ae)}));v.hooks.additionalTreeRuntimeRequirements.tap(ct,((v,E,{chunkGraph:P})=>{if(!E.has(Ke.startupNoDefault)&&P.hasChunkEntryDependentChunks(v)){E.add(Ke.onChunksLoaded);E.add(Ke.require)}}));v.hooks.executeModule.tap(ct,((v,E)=>{const P=v.codeGenerationResult.sources.get("javascript");if(P===undefined)return;const{module:R,moduleObject:$}=v;const N=P.source();const q=L.runInThisContext(`(function(${R.moduleArgument}, ${R.exportsArgument}, ${Ke.require}) {\n${N}\n/**/})`,{filename:R.identifier(),lineOffset:-1});try{q.call($.exports,$,$.exports,E.__webpack_require__)}catch(E){E.stack+=printGeneratedCodeForStack(v.module,N);throw E}}));v.hooks.executeModule.tap(ct,((v,E)=>{const P=v.codeGenerationResult.sources.get("runtime");if(P===undefined)return;let R=P.source();if(typeof R!=="string")R=R.toString();const $=L.runInThisContext(`(function(${Ke.require}) {\n${R}\n/**/})`,{filename:v.module.identifier(),lineOffset:-1});try{$.call(null,E.__webpack_require__)}catch(E){E.stack+=printGeneratedCodeForStack(v.module,R);throw E}}))}))}static getChunkFilenameTemplate(v,E){if(v.filenameTemplate){return v.filenameTemplate}else if(v instanceof Ae){return E.hotUpdateChunkFilename}else if(v.canBeInitial()){return E.filename}else{return E.chunkFilename}}renderModule(v,E,P,R){const{chunk:$,chunkGraph:N,runtimeTemplate:L,codeGenerationResults:K,strictMode:ae}=E;try{const ge=K.get(v,$.runtime);const xe=ge.sources.get("javascript");if(!xe)return null;if(ge.data!==undefined){const v=ge.data.get("chunkInitFragments");if(v){for(const P of v)E.chunkInitFragments.push(P)}}const Ae=ve((()=>P.renderModuleContent.call(xe,v,E)),"JavascriptModulesPlugin.getCompilationHooks().renderModuleContent");let Ie;if(R){const R=N.getModuleRuntimeRequirements(v,$.runtime);const K=R.has(Ke.module);const ge=R.has(Ke.exports);const xe=R.has(Ke.require)||R.has(Ke.requireScope);const He=R.has(Ke.thisAsExports);const Qe=v.buildInfo.strict&&!ae;const Je=this._moduleFactoryCache.get(Ae);let Ve;if(Je&&Je.needModule===K&&Je.needExports===ge&&Je.needRequire===xe&&Je.needThisAsExports===He&&Je.needStrict===Qe){Ve=Je.source}else{const E=new q;const P=[];if(ge||xe||K)P.push(K?v.moduleArgument:"__unused_webpack_"+v.moduleArgument);if(ge||xe)P.push(ge?v.exportsArgument:"__unused_webpack_"+v.exportsArgument);if(xe)P.push(Ke.require);if(!He&&L.supportsArrowFunction()){E.add("/***/ (("+P.join(", ")+") => {\n\n")}else{E.add("/***/ (function("+P.join(", ")+") {\n\n")}if(Qe){E.add('"use strict";\n')}E.add(Ae);E.add("\n\n/***/ })");Ve=new be(E);this._moduleFactoryCache.set(Ae,{source:Ve,needModule:K,needExports:ge,needRequire:xe,needThisAsExports:He,needStrict:Qe})}Ie=ve((()=>P.renderModuleContainer.call(Ve,v,E)),"JavascriptModulesPlugin.getCompilationHooks().renderModuleContainer")}else{Ie=Ae}return ve((()=>P.renderModulePackage.call(Ie,v,E)),"JavascriptModulesPlugin.getCompilationHooks().renderModulePackage")}catch(E){E.module=v;throw E}}renderChunk(v,E){const{chunk:P,chunkGraph:R}=v;const $=R.getOrderedChunkModulesIterableBySourceType(P,"javascript",tt);const N=$?Array.from($):[];let L;let K=v.strictMode;if(!K&&N.every((v=>v.buildInfo.strict))){const P=E.strictRuntimeBailout.call(v);L=P?`// runtime can't be in strict mode because ${P}.\n`:'"use strict";\n';if(!P)K=true}const ae={...v,chunkInitFragments:[],strictMode:K};const be=Ye.renderChunkModules(ae,N,(v=>this.renderModule(v,ae,E,true)))||new ge("{}");let xe=ve((()=>E.renderChunk.call(be,ae)),"JavascriptModulesPlugin.getCompilationHooks().renderChunk");xe=ve((()=>E.renderContent.call(xe,ae)),"JavascriptModulesPlugin.getCompilationHooks().renderContent");if(!xe){throw new Error("JavascriptModulesPlugin error: JavascriptModulesPlugin.getCompilationHooks().renderContent plugins should return something")}xe=Ie.addToSource(xe,ae.chunkInitFragments,ae);xe=ve((()=>E.render.call(xe,ae)),"JavascriptModulesPlugin.getCompilationHooks().render");if(!xe){throw new Error("JavascriptModulesPlugin error: JavascriptModulesPlugin.getCompilationHooks().render plugins should return something")}P.rendered=true;return L?new q(L,xe,";"):v.runtimeTemplate.isModule()?xe:new q(xe,";")}renderMain(v,E,P){const{chunk:R,chunkGraph:$,runtimeTemplate:N}=v;const L=$.getTreeRuntimeRequirements(R);const be=N.isIIFE();const xe=this.renderBootstrap(v,E);const Ae=E.useSourceMap.call(R,v);const He=Array.from($.getOrderedChunkModulesIterableBySourceType(R,"javascript",tt)||[]);const Qe=$.getNumberOfEntryModules(R)>0;let Je;if(xe.allowInlineStartup&&Qe){Je=new Set($.getChunkEntryModulesIterable(R))}let Ve=new q;let Ze;if(be){if(N.supportsArrowFunction()){Ve.add("/******/ (() => { // webpackBootstrap\n")}else{Ve.add("/******/ (function() { // webpackBootstrap\n")}Ze="/******/ \t"}else{Ze="/******/ "}let et=v.strictMode;if(!et&&He.every((v=>v.buildInfo.strict))){const P=E.strictRuntimeBailout.call(v);if(P){Ve.add(Ze+`// runtime can't be in strict mode because ${P}.\n`)}else{et=true;Ve.add(Ze+'"use strict";\n')}}const nt={...v,chunkInitFragments:[],strictMode:et};const st=Ye.renderChunkModules(nt,Je?He.filter((v=>!Je.has(v))):He,(v=>this.renderModule(v,nt,E,true)),Ze);if(st||L.has(Ke.moduleFactories)||L.has(Ke.moduleFactoriesAddOnly)||L.has(Ke.require)){Ve.add(Ze+"var __webpack_modules__ = (");Ve.add(st||"{}");Ve.add(");\n");Ve.add("/************************************************************************/\n")}if(xe.header.length>0){const v=Ye.asString(xe.header)+"\n";Ve.add(new ae(Ze,Ae?new K(v,"webpack/bootstrap"):new ge(v)));Ve.add("/************************************************************************/\n")}const rt=v.chunkGraph.getChunkRuntimeModulesInOrder(R);if(rt.length>0){Ve.add(new ae(Ze,Ye.renderRuntimeModules(rt,nt)));Ve.add("/************************************************************************/\n");for(const v of rt){P.codeGeneratedModules.add(v)}}if(Je){if(xe.beforeStartup.length>0){const v=Ye.asString(xe.beforeStartup)+"\n";Ve.add(new ae(Ze,Ae?new K(v,"webpack/before-startup"):new ge(v)))}const P=Xe(Je);const be=new q;be.add(`var ${Ke.exports} = {};\n`);for(const L of Je){const q=this.renderModule(L,nt,E,false);if(q){const K=!et&&L.buildInfo.strict;const ae=$.getModuleRuntimeRequirements(L,R.runtime);const ge=ae.has(Ke.exports);const xe=ge&&L.exportsArgument===Ke.exports;let ve=K?"it need to be in strict mode.":Je.size>1?"it need to be isolated against other entry modules.":st?"it need to be isolated against other modules in the chunk.":ge&&!xe?`it uses a non-standard name for the exports (${L.exportsArgument}).`:E.embedInRuntimeBailout.call(L,v);let Ae;if(ve!==undefined){be.add(`// This entry need to be wrapped in an IIFE because ${ve}\n`);const v=N.supportsArrowFunction();if(v){be.add("(() => {\n");Ae="\n})();\n\n"}else{be.add("!function() {\n");Ae="\n}();\n"}if(K)be.add('"use strict";\n')}else{Ae="\n"}if(ge){if(L!==P)be.add(`var ${L.exportsArgument} = {};\n`);else if(L.exportsArgument!==Ke.exports)be.add(`var ${L.exportsArgument} = ${Ke.exports};\n`)}be.add(q);be.add(Ae)}}if(L.has(Ke.onChunksLoaded)){be.add(`${Ke.exports} = ${Ke.onChunksLoaded}(${Ke.exports});\n`)}Ve.add(E.renderStartup.call(be,P,{...v,inlined:true}));if(xe.afterStartup.length>0){const v=Ye.asString(xe.afterStartup)+"\n";Ve.add(new ae(Ze,Ae?new K(v,"webpack/after-startup"):new ge(v)))}}else{const P=Xe($.getChunkEntryModulesIterable(R));const N=Ae?(v,E)=>new K(Ye.asString(v),E):v=>new ge(Ye.asString(v));Ve.add(new ae(Ze,new q(N(xe.beforeStartup,"webpack/before-startup"),"\n",E.renderStartup.call(N(xe.startup.concat(""),"webpack/startup"),P,{...v,inlined:false}),N(xe.afterStartup,"webpack/after-startup"),"\n")))}if(Qe&&L.has(Ke.returnExportsFromRuntime)){Ve.add(`${Ze}return ${Ke.exports};\n`)}if(be){Ve.add("/******/ })()\n")}let ot=ve((()=>E.renderMain.call(Ve,v)),"JavascriptModulesPlugin.getCompilationHooks().renderMain");if(!ot){throw new Error("JavascriptModulesPlugin error: JavascriptModulesPlugin.getCompilationHooks().renderMain plugins should return something")}ot=ve((()=>E.renderContent.call(ot,v)),"JavascriptModulesPlugin.getCompilationHooks().renderContent");if(!ot){throw new Error("JavascriptModulesPlugin error: JavascriptModulesPlugin.getCompilationHooks().renderContent plugins should return something")}ot=Ie.addToSource(ot,nt.chunkInitFragments,nt);ot=ve((()=>E.render.call(ot,v)),"JavascriptModulesPlugin.getCompilationHooks().render");if(!ot){throw new Error("JavascriptModulesPlugin error: JavascriptModulesPlugin.getCompilationHooks().render plugins should return something")}R.rendered=true;return be?new q(ot,";"):ot}updateHashWithBootstrap(v,E,P){const R=this.renderBootstrap(E,P);for(const E of Object.keys(R)){v.update(E);if(Array.isArray(R[E])){for(const P of R[E]){v.update(P)}}else{v.update(JSON.stringify(R[E]))}}}renderBootstrap(v,E){const{chunkGraph:P,codeGenerationResults:R,moduleGraph:$,chunk:N,runtimeTemplate:L}=v;const q=P.getTreeRuntimeRequirements(N);const K=q.has(Ke.require);const ae=q.has(Ke.moduleCache);const ge=q.has(Ke.moduleFactories);const be=q.has(Ke.module);const xe=q.has(Ke.requireScope);const ve=q.has(Ke.interceptModuleExecution);const Ae=K||ve||be;const Ie={header:[],beforeStartup:[],startup:[],afterStartup:[],allowInlineStartup:true};let{header:He,startup:Qe,beforeStartup:Je,afterStartup:Ve}=Ie;if(Ie.allowInlineStartup&&ge){Qe.push("// module factories are used so entry inlining is disabled");Ie.allowInlineStartup=false}if(Ie.allowInlineStartup&&ae){Qe.push("// module cache are used so entry inlining is disabled");Ie.allowInlineStartup=false}if(Ie.allowInlineStartup&&ve){Qe.push("// module execution is intercepted so entry inlining is disabled");Ie.allowInlineStartup=false}if(Ae||ae){He.push("// The module cache");He.push("var __webpack_module_cache__ = {};");He.push("")}if(Ae){He.push("// The require function");He.push(`function ${Ke.require}(moduleId) {`);He.push(Ye.indent(this.renderRequire(v,E)));He.push("}");He.push("")}else if(q.has(Ke.requireScope)){He.push("// The require scope");He.push(`var ${Ke.require} = {};`);He.push("")}if(ge||q.has(Ke.moduleFactoriesAddOnly)){He.push("// expose the modules object (__webpack_modules__)");He.push(`${Ke.moduleFactories} = __webpack_modules__;`);He.push("")}if(ae){He.push("// expose the module cache");He.push(`${Ke.moduleCache} = __webpack_module_cache__;`);He.push("")}if(ve){He.push("// expose the module execution interceptor");He.push(`${Ke.interceptModuleExecution} = [];`);He.push("")}if(!q.has(Ke.startupNoDefault)){if(P.getNumberOfEntryModules(N)>0){const q=[];const K=P.getTreeRuntimeRequirements(N);q.push("// Load entry module and return exports");let ae=P.getNumberOfEntryModules(N);for(const[ge,be]of P.getChunkEntryModulesWithChunkGroupIterable(N)){const ve=be.chunks.filter((v=>v!==N));if(Ie.allowInlineStartup&&ve.length>0){q.push("// This entry module depends on other loaded chunks and execution need to be delayed");Ie.allowInlineStartup=false}if(Ie.allowInlineStartup&&Ze($.getIncomingConnectionsByOriginModule(ge),(([v,E])=>v&&E.some((v=>v.isTargetActive(N.runtime)))&&Ze(P.getModuleRuntimes(v),(v=>rt(v,N.runtime)!==undefined))))){q.push("// This entry module is referenced by other modules so it can't be inlined");Ie.allowInlineStartup=false}let He;if(R.has(ge,N.runtime)){const v=R.get(ge,N.runtime);He=v.data}if(Ie.allowInlineStartup&&(!He||!He.get("topLevelDeclarations"))&&(!ge.buildInfo||!ge.buildInfo.topLevelDeclarations)){q.push("// This entry module doesn't tell about it's top-level declarations so it can't be inlined");Ie.allowInlineStartup=false}if(Ie.allowInlineStartup){const P=E.inlineInRuntimeBailout.call(ge,v);if(P!==undefined){q.push(`// This entry module can't be inlined because ${P}`);Ie.allowInlineStartup=false}}ae--;const Qe=P.getModuleId(ge);const Je=P.getModuleRuntimeRequirements(ge,N.runtime);let Ve=JSON.stringify(Qe);if(K.has(Ke.entryModuleId)){Ve=`${Ke.entryModuleId} = ${Ve}`}if(Ie.allowInlineStartup&&Je.has(Ke.module)){Ie.allowInlineStartup=false;q.push("// This entry module used 'module' so it can't be inlined")}if(ve.length>0){q.push(`${ae===0?`var ${Ke.exports} = `:""}${Ke.onChunksLoaded}(undefined, ${JSON.stringify(ve.map((v=>v.id)))}, ${L.returningFunction(`${Ke.require}(${Ve})`)})`)}else if(Ae){q.push(`${ae===0?`var ${Ke.exports} = `:""}${Ke.require}(${Ve});`)}else{if(ae===0)q.push(`var ${Ke.exports} = {};`);if(xe){q.push(`__webpack_modules__[${Ve}](0, ${ae===0?Ke.exports:"{}"}, ${Ke.require});`)}else if(Je.has(Ke.exports)){q.push(`__webpack_modules__[${Ve}](0, ${ae===0?Ke.exports:"{}"});`)}else{q.push(`__webpack_modules__[${Ve}]();`)}}}if(K.has(Ke.onChunksLoaded)){q.push(`${Ke.exports} = ${Ke.onChunksLoaded}(${Ke.exports});`)}if(K.has(Ke.startup)||K.has(Ke.startupOnlyBefore)&&K.has(Ke.startupOnlyAfter)){Ie.allowInlineStartup=false;He.push("// the startup function");He.push(`${Ke.startup} = ${L.basicFunction("",[...q,`return ${Ke.exports};`])};`);He.push("");Qe.push("// run startup");Qe.push(`var ${Ke.exports} = ${Ke.startup}();`)}else if(K.has(Ke.startupOnlyBefore)){He.push("// the startup function");He.push(`${Ke.startup} = ${L.emptyFunction()};`);Je.push("// run runtime startup");Je.push(`${Ke.startup}();`);Qe.push("// startup");Qe.push(Ye.asString(q))}else if(K.has(Ke.startupOnlyAfter)){He.push("// the startup function");He.push(`${Ke.startup} = ${L.emptyFunction()};`);Qe.push("// startup");Qe.push(Ye.asString(q));Ve.push("// run runtime startup");Ve.push(`${Ke.startup}();`)}else{Qe.push("// startup");Qe.push(Ye.asString(q))}}else if(q.has(Ke.startup)||q.has(Ke.startupOnlyBefore)||q.has(Ke.startupOnlyAfter)){He.push("// the startup function","// It's empty as no entry modules are in this chunk",`${Ke.startup} = ${L.emptyFunction()};`,"")}}else if(q.has(Ke.startup)||q.has(Ke.startupOnlyBefore)||q.has(Ke.startupOnlyAfter)){Ie.allowInlineStartup=false;He.push("// the startup function","// It's empty as some runtime module handles the default behavior",`${Ke.startup} = ${L.emptyFunction()};`);Qe.push("// run startup");Qe.push(`var ${Ke.exports} = ${Ke.startup}();`)}return Ie}renderRequire(v,E){const{chunk:P,chunkGraph:R,runtimeTemplate:{outputOptions:$}}=v;const N=R.getTreeRuntimeRequirements(P);const L=N.has(Ke.interceptModuleExecution)?Ye.asString([`var execOptions = { id: moduleId, module: module, factory: __webpack_modules__[moduleId], require: ${Ke.require} };`,`${Ke.interceptModuleExecution}.forEach(function(handler) { handler(execOptions); });`,"module = execOptions.module;","execOptions.factory.call(module.exports, module, module.exports, execOptions.require);"]):N.has(Ke.thisAsExports)?Ye.asString([`__webpack_modules__[moduleId].call(module.exports, module, module.exports, ${Ke.require});`]):Ye.asString([`__webpack_modules__[moduleId](module, module.exports, ${Ke.require});`]);const q=N.has(Ke.moduleId);const K=N.has(Ke.moduleLoaded);const ae=Ye.asString(["// Check if module is in cache","var cachedModule = __webpack_module_cache__[moduleId];","if (cachedModule !== undefined) {",$.strictModuleErrorHandling?Ye.indent(["if (cachedModule.error !== undefined) throw cachedModule.error;","return cachedModule.exports;"]):Ye.indent("return cachedModule.exports;"),"}","// Create a new module (and put it into the cache)","var module = __webpack_module_cache__[moduleId] = {",Ye.indent([q?"id: moduleId,":"// no module.id needed",K?"loaded: false,":"// no module.loaded needed","exports: {}"]),"};","",$.strictModuleExceptionHandling?Ye.asString(["// Execute the module function","var threw = true;","try {",Ye.indent([L,"threw = false;"]),"} finally {",Ye.indent(["if(threw) delete __webpack_module_cache__[moduleId];"]),"}"]):$.strictModuleErrorHandling?Ye.asString(["// Execute the module function","try {",Ye.indent(L),"} catch(e) {",Ye.indent(["module.error = e;","throw e;"]),"}"]):Ye.asString(["// Execute the module function",L]),K?Ye.asString(["","// Flag the module as loaded",`${Ke.moduleLoaded} = true;`,""]):"","// Return the exports of the module","return module.exports;"]);return ve((()=>E.renderRequire.call(ae,v)),"JavascriptModulesPlugin.getCompilationHooks().renderRequire")}}v.exports=JavascriptModulesPlugin;v.exports.chunkHasJs=chunkHasJs},51224:function(v,E,P){"use strict";const{Parser:R}=P(31988);const{importAssertions:$}=P(4411);const{SyncBailHook:N,HookMap:L}=P(79846);const q=P(26144);const K=P(38063);const ae=P(17450);const ge=P(86756);const be=P(25689);const xe=P(81792);const ve=[];const Ae=1;const Ie=2;const He=3;const Qe=R.extend($);class VariableInfo{constructor(v,E,P){this.declaredScope=v;this.freeName=E;this.tagInfo=P}}const joinRanges=(v,E)=>{if(!E)return v;if(!v)return E;return[v[0],E[1]]};const objectAndMembersToName=(v,E)=>{let P=v;for(let v=E.length-1;v>=0;v--){P=P+"."+E[v]}return P};const getRootName=v=>{switch(v.type){case"Identifier":return v.name;case"ThisExpression":return"this";case"MetaProperty":return`${v.meta.name}.${v.property.name}`;default:return undefined}};const Je={ranges:true,locations:true,ecmaVersion:"latest",sourceType:"module",allowHashBang:true,onComment:null};const Ve=new RegExp(/(^|\W)webpack[A-Z]{1,}[A-Za-z]{1,}:/);const Ke={options:null,errors:null};class JavascriptParser extends K{constructor(v="auto"){super();this.hooks=Object.freeze({evaluateTypeof:new L((()=>new N(["expression"]))),evaluate:new L((()=>new N(["expression"]))),evaluateIdentifier:new L((()=>new N(["expression"]))),evaluateDefinedIdentifier:new L((()=>new N(["expression"]))),evaluateNewExpression:new L((()=>new N(["expression"]))),evaluateCallExpression:new L((()=>new N(["expression"]))),evaluateCallExpressionMember:new L((()=>new N(["expression","param"]))),isPure:new L((()=>new N(["expression","commentsStartPosition"]))),preStatement:new N(["statement"]),blockPreStatement:new N(["declaration"]),statement:new N(["statement"]),statementIf:new N(["statement"]),classExtendsExpression:new N(["expression","classDefinition"]),classBodyElement:new N(["element","classDefinition"]),classBodyValue:new N(["expression","element","classDefinition"]),label:new L((()=>new N(["statement"]))),import:new N(["statement","source"]),importSpecifier:new N(["statement","source","exportName","identifierName"]),export:new N(["statement"]),exportImport:new N(["statement","source"]),exportDeclaration:new N(["statement","declaration"]),exportExpression:new N(["statement","declaration"]),exportSpecifier:new N(["statement","identifierName","exportName","index"]),exportImportSpecifier:new N(["statement","source","identifierName","exportName","index"]),preDeclarator:new N(["declarator","statement"]),declarator:new N(["declarator","statement"]),varDeclaration:new L((()=>new N(["declaration"]))),varDeclarationLet:new L((()=>new N(["declaration"]))),varDeclarationConst:new L((()=>new N(["declaration"]))),varDeclarationVar:new L((()=>new N(["declaration"]))),pattern:new L((()=>new N(["pattern"]))),canRename:new L((()=>new N(["initExpression"]))),rename:new L((()=>new N(["initExpression"]))),assign:new L((()=>new N(["expression"]))),assignMemberChain:new L((()=>new N(["expression","members"]))),typeof:new L((()=>new N(["expression"]))),importCall:new N(["expression"]),topLevelAwait:new N(["expression"]),call:new L((()=>new N(["expression"]))),callMemberChain:new L((()=>new N(["expression","members","membersOptionals","memberRanges"]))),memberChainOfCallMemberChain:new L((()=>new N(["expression","calleeMembers","callExpression","members","memberRanges"]))),callMemberChainOfCallMemberChain:new L((()=>new N(["expression","calleeMembers","innerCallExpression","members","memberRanges"]))),optionalChaining:new N(["optionalChaining"]),new:new L((()=>new N(["expression"]))),binaryExpression:new N(["binaryExpression"]),expression:new L((()=>new N(["expression"]))),expressionMemberChain:new L((()=>new N(["expression","members","membersOptionals","memberRanges"]))),unhandledExpressionMemberChain:new L((()=>new N(["expression","members"]))),expressionConditionalOperator:new N(["expression"]),expressionLogicalOperator:new N(["expression"]),program:new N(["ast","comments"]),finish:new N(["ast","comments"])});this.sourceType=v;this.scope=undefined;this.state=undefined;this.comments=undefined;this.semicolons=undefined;this.statementPath=undefined;this.prevStatement=undefined;this.destructuringAssignmentProperties=undefined;this.currentTagData=undefined;this._initializeEvaluating()}_initializeEvaluating(){this.hooks.evaluate.for("Literal").tap("JavascriptParser",(v=>{const E=v;switch(typeof E.value){case"number":return(new xe).setNumber(E.value).setRange(E.range);case"bigint":return(new xe).setBigInt(E.value).setRange(E.range);case"string":return(new xe).setString(E.value).setRange(E.range);case"boolean":return(new xe).setBoolean(E.value).setRange(E.range)}if(E.value===null){return(new xe).setNull().setRange(E.range)}if(E.value instanceof RegExp){return(new xe).setRegExp(E.value).setRange(E.range)}}));this.hooks.evaluate.for("NewExpression").tap("JavascriptParser",(v=>{const E=v;const P=E.callee;if(P.type!=="Identifier")return;if(P.name!=="RegExp"){return this.callHooksForName(this.hooks.evaluateNewExpression,P.name,E)}else if(E.arguments.length>2||this.getVariableInfo("RegExp")!=="RegExp")return;let R,$;const N=E.arguments[0];if(N){if(N.type==="SpreadElement")return;const v=this.evaluateExpression(N);if(!v)return;R=v.asString();if(!R)return}else{return(new xe).setRegExp(new RegExp("")).setRange(E.range)}const L=E.arguments[1];if(L){if(L.type==="SpreadElement")return;const v=this.evaluateExpression(L);if(!v)return;if(!v.isUndefined()){$=v.asString();if($===undefined||!xe.isValidRegExpFlags($))return}}return(new xe).setRegExp($?new RegExp(R,$):new RegExp(R)).setRange(E.range)}));this.hooks.evaluate.for("LogicalExpression").tap("JavascriptParser",(v=>{const E=v;const P=this.evaluateExpression(E.left);let R=false;let $;if(E.operator==="&&"){const v=P.asBool();if(v===false)return P.setRange(E.range);R=v===true;$=false}else if(E.operator==="||"){const v=P.asBool();if(v===true)return P.setRange(E.range);R=v===false;$=true}else if(E.operator==="??"){const v=P.asNullish();if(v===false)return P.setRange(E.range);if(v!==true)return;R=true}else return;const N=this.evaluateExpression(E.right);if(R){if(P.couldHaveSideEffects())N.setSideEffects();return N.setRange(E.range)}const L=N.asBool();if($===true&&L===true){return(new xe).setRange(E.range).setTruthy()}else if($===false&&L===false){return(new xe).setRange(E.range).setFalsy()}}));const valueAsExpression=(v,E,P)=>{switch(typeof v){case"boolean":return(new xe).setBoolean(v).setSideEffects(P).setRange(E.range);case"number":return(new xe).setNumber(v).setSideEffects(P).setRange(E.range);case"bigint":return(new xe).setBigInt(v).setSideEffects(P).setRange(E.range);case"string":return(new xe).setString(v).setSideEffects(P).setRange(E.range)}};this.hooks.evaluate.for("BinaryExpression").tap("JavascriptParser",(v=>{const E=v;const handleConstOperation=v=>{const P=this.evaluateExpression(E.left);if(!P.isCompileTimeValue())return;const R=this.evaluateExpression(E.right);if(!R.isCompileTimeValue())return;const $=v(P.asCompileTimeValue(),R.asCompileTimeValue());return valueAsExpression($,E,P.couldHaveSideEffects()||R.couldHaveSideEffects())};const isAlwaysDifferent=(v,E)=>v===true&&E===false||v===false&&E===true;const handleTemplateStringCompare=(v,E,P,R)=>{const getPrefix=v=>{let E="";for(const P of v){const v=P.asString();if(v!==undefined)E+=v;else break}return E};const getSuffix=v=>{let E="";for(let P=v.length-1;P>=0;P--){const R=v[P].asString();if(R!==undefined)E=R+E;else break}return E};const $=getPrefix(v.parts);const N=getPrefix(E.parts);const L=getSuffix(v.parts);const q=getSuffix(E.parts);const K=Math.min($.length,N.length);const ae=Math.min(L.length,q.length);const ge=K>0&&$.slice(0,K)!==N.slice(0,K);const be=ae>0&&L.slice(-ae)!==q.slice(-ae);if(ge||be){return P.setBoolean(!R).setSideEffects(v.couldHaveSideEffects()||E.couldHaveSideEffects())}};const handleStrictEqualityComparison=v=>{const P=this.evaluateExpression(E.left);const R=this.evaluateExpression(E.right);const $=new xe;$.setRange(E.range);const N=P.isCompileTimeValue();const L=R.isCompileTimeValue();if(N&&L){return $.setBoolean(v===(P.asCompileTimeValue()===R.asCompileTimeValue())).setSideEffects(P.couldHaveSideEffects()||R.couldHaveSideEffects())}if(P.isArray()&&R.isArray()){return $.setBoolean(!v).setSideEffects(P.couldHaveSideEffects()||R.couldHaveSideEffects())}if(P.isTemplateString()&&R.isTemplateString()){return handleTemplateStringCompare(P,R,$,v)}const q=P.isPrimitiveType();const K=R.isPrimitiveType();if(q===false&&(N||K===true)||K===false&&(L||q===true)||isAlwaysDifferent(P.asBool(),R.asBool())||isAlwaysDifferent(P.asNullish(),R.asNullish())){return $.setBoolean(!v).setSideEffects(P.couldHaveSideEffects()||R.couldHaveSideEffects())}};const handleAbstractEqualityComparison=v=>{const P=this.evaluateExpression(E.left);const R=this.evaluateExpression(E.right);const $=new xe;$.setRange(E.range);const N=P.isCompileTimeValue();const L=R.isCompileTimeValue();if(N&&L){return $.setBoolean(v===(P.asCompileTimeValue()==R.asCompileTimeValue())).setSideEffects(P.couldHaveSideEffects()||R.couldHaveSideEffects())}if(P.isArray()&&R.isArray()){return $.setBoolean(!v).setSideEffects(P.couldHaveSideEffects()||R.couldHaveSideEffects())}if(P.isTemplateString()&&R.isTemplateString()){return handleTemplateStringCompare(P,R,$,v)}};if(E.operator==="+"){const v=this.evaluateExpression(E.left);const P=this.evaluateExpression(E.right);const R=new xe;if(v.isString()){if(P.isString()){R.setString(v.string+P.string)}else if(P.isNumber()){R.setString(v.string+P.number)}else if(P.isWrapped()&&P.prefix&&P.prefix.isString()){R.setWrapped((new xe).setString(v.string+P.prefix.string).setRange(joinRanges(v.range,P.prefix.range)),P.postfix,P.wrappedInnerExpressions)}else if(P.isWrapped()){R.setWrapped(v,P.postfix,P.wrappedInnerExpressions)}else{R.setWrapped(v,null,[P])}}else if(v.isNumber()){if(P.isString()){R.setString(v.number+P.string)}else if(P.isNumber()){R.setNumber(v.number+P.number)}else{return}}else if(v.isBigInt()){if(P.isBigInt()){R.setBigInt(v.bigint+P.bigint)}}else if(v.isWrapped()){if(v.postfix&&v.postfix.isString()&&P.isString()){R.setWrapped(v.prefix,(new xe).setString(v.postfix.string+P.string).setRange(joinRanges(v.postfix.range,P.range)),v.wrappedInnerExpressions)}else if(v.postfix&&v.postfix.isString()&&P.isNumber()){R.setWrapped(v.prefix,(new xe).setString(v.postfix.string+P.number).setRange(joinRanges(v.postfix.range,P.range)),v.wrappedInnerExpressions)}else if(P.isString()){R.setWrapped(v.prefix,P,v.wrappedInnerExpressions)}else if(P.isNumber()){R.setWrapped(v.prefix,(new xe).setString(P.number+"").setRange(P.range),v.wrappedInnerExpressions)}else if(P.isWrapped()){R.setWrapped(v.prefix,P.postfix,v.wrappedInnerExpressions&&P.wrappedInnerExpressions&&v.wrappedInnerExpressions.concat(v.postfix?[v.postfix]:[]).concat(P.prefix?[P.prefix]:[]).concat(P.wrappedInnerExpressions))}else{R.setWrapped(v.prefix,null,v.wrappedInnerExpressions&&v.wrappedInnerExpressions.concat(v.postfix?[v.postfix,P]:[P]))}}else{if(P.isString()){R.setWrapped(null,P,[v])}else if(P.isWrapped()){R.setWrapped(null,P.postfix,P.wrappedInnerExpressions&&(P.prefix?[v,P.prefix]:[v]).concat(P.wrappedInnerExpressions))}else{return}}if(v.couldHaveSideEffects()||P.couldHaveSideEffects())R.setSideEffects();R.setRange(E.range);return R}else if(E.operator==="-"){return handleConstOperation(((v,E)=>v-E))}else if(E.operator==="*"){return handleConstOperation(((v,E)=>v*E))}else if(E.operator==="/"){return handleConstOperation(((v,E)=>v/E))}else if(E.operator==="**"){return handleConstOperation(((v,E)=>v**E))}else if(E.operator==="==="){return handleStrictEqualityComparison(true)}else if(E.operator==="=="){return handleAbstractEqualityComparison(true)}else if(E.operator==="!=="){return handleStrictEqualityComparison(false)}else if(E.operator==="!="){return handleAbstractEqualityComparison(false)}else if(E.operator==="&"){return handleConstOperation(((v,E)=>v&E))}else if(E.operator==="|"){return handleConstOperation(((v,E)=>v|E))}else if(E.operator==="^"){return handleConstOperation(((v,E)=>v^E))}else if(E.operator===">>>"){return handleConstOperation(((v,E)=>v>>>E))}else if(E.operator===">>"){return handleConstOperation(((v,E)=>v>>E))}else if(E.operator==="<<"){return handleConstOperation(((v,E)=>v<v"){return handleConstOperation(((v,E)=>v>E))}else if(E.operator==="<="){return handleConstOperation(((v,E)=>v<=E))}else if(E.operator===">="){return handleConstOperation(((v,E)=>v>=E))}}));this.hooks.evaluate.for("UnaryExpression").tap("JavascriptParser",(v=>{const E=v;const handleConstOperation=v=>{const P=this.evaluateExpression(E.argument);if(!P.isCompileTimeValue())return;const R=v(P.asCompileTimeValue());return valueAsExpression(R,E,P.couldHaveSideEffects())};if(E.operator==="typeof"){switch(E.argument.type){case"Identifier":{const v=this.callHooksForName(this.hooks.evaluateTypeof,E.argument.name,E);if(v!==undefined)return v;break}case"MetaProperty":{const v=this.callHooksForName(this.hooks.evaluateTypeof,getRootName(E.argument),E);if(v!==undefined)return v;break}case"MemberExpression":{const v=this.callHooksForExpression(this.hooks.evaluateTypeof,E.argument,E);if(v!==undefined)return v;break}case"ChainExpression":{const v=this.callHooksForExpression(this.hooks.evaluateTypeof,E.argument.expression,E);if(v!==undefined)return v;break}case"FunctionExpression":{return(new xe).setString("function").setRange(E.range)}}const v=this.evaluateExpression(E.argument);if(v.isUnknown())return;if(v.isString()){return(new xe).setString("string").setRange(E.range)}if(v.isWrapped()){return(new xe).setString("string").setSideEffects().setRange(E.range)}if(v.isUndefined()){return(new xe).setString("undefined").setRange(E.range)}if(v.isNumber()){return(new xe).setString("number").setRange(E.range)}if(v.isBigInt()){return(new xe).setString("bigint").setRange(E.range)}if(v.isBoolean()){return(new xe).setString("boolean").setRange(E.range)}if(v.isConstArray()||v.isRegExp()||v.isNull()){return(new xe).setString("object").setRange(E.range)}if(v.isArray()){return(new xe).setString("object").setSideEffects(v.couldHaveSideEffects()).setRange(E.range)}}else if(E.operator==="!"){const v=this.evaluateExpression(E.argument);const P=v.asBool();if(typeof P!=="boolean")return;return(new xe).setBoolean(!P).setSideEffects(v.couldHaveSideEffects()).setRange(E.range)}else if(E.operator==="~"){return handleConstOperation((v=>~v))}else if(E.operator==="+"){return handleConstOperation((v=>+v))}else if(E.operator==="-"){return handleConstOperation((v=>-v))}}));this.hooks.evaluateTypeof.for("undefined").tap("JavascriptParser",(v=>(new xe).setString("undefined").setRange(v.range)));this.hooks.evaluate.for("Identifier").tap("JavascriptParser",(v=>{if(v.name==="undefined"){return(new xe).setUndefined().setRange(v.range)}}));const tapEvaluateWithVariableInfo=(v,E)=>{let P=undefined;let R=undefined;this.hooks.evaluate.for(v).tap("JavascriptParser",(v=>{const $=v;const N=E(v);if(N!==undefined){return this.callHooksForInfoWithFallback(this.hooks.evaluateIdentifier,N.name,(v=>{P=$;R=N}),(v=>{const E=this.hooks.evaluateDefinedIdentifier.get(v);if(E!==undefined){return E.call($)}}),$)}}));this.hooks.evaluate.for(v).tap({name:"JavascriptParser",stage:100},(v=>{const $=P===v?R:E(v);if($!==undefined){return(new xe).setIdentifier($.name,$.rootInfo,$.getMembers,$.getMembersOptionals,$.getMemberRanges).setRange(v.range)}}));this.hooks.finish.tap("JavascriptParser",(()=>{P=R=undefined}))};tapEvaluateWithVariableInfo("Identifier",(v=>{const E=this.getVariableInfo(v.name);if(typeof E==="string"||E instanceof VariableInfo&&typeof E.freeName==="string"){return{name:E,rootInfo:E,getMembers:()=>[],getMembersOptionals:()=>[],getMemberRanges:()=>[]}}}));tapEvaluateWithVariableInfo("ThisExpression",(v=>{const E=this.getVariableInfo("this");if(typeof E==="string"||E instanceof VariableInfo&&typeof E.freeName==="string"){return{name:E,rootInfo:E,getMembers:()=>[],getMembersOptionals:()=>[],getMemberRanges:()=>[]}}}));this.hooks.evaluate.for("MetaProperty").tap("JavascriptParser",(v=>{const E=v;return this.callHooksForName(this.hooks.evaluateIdentifier,getRootName(v),E)}));tapEvaluateWithVariableInfo("MemberExpression",(v=>this.getMemberExpressionInfo(v,Ie)));this.hooks.evaluate.for("CallExpression").tap("JavascriptParser",(v=>{const E=v;if(E.callee.type==="MemberExpression"&&E.callee.property.type===(E.callee.computed?"Literal":"Identifier")){const v=this.evaluateExpression(E.callee.object);const P=E.callee.property.type==="Literal"?`${E.callee.property.value}`:E.callee.property.name;const R=this.hooks.evaluateCallExpressionMember.get(P);if(R!==undefined){return R.call(E,v)}}else if(E.callee.type==="Identifier"){return this.callHooksForName(this.hooks.evaluateCallExpression,E.callee.name,E)}}));this.hooks.evaluateCallExpressionMember.for("indexOf").tap("JavascriptParser",((v,E)=>{if(!E.isString())return;if(v.arguments.length===0)return;const[P,R]=v.arguments;if(P.type==="SpreadElement")return;const $=this.evaluateExpression(P);if(!$.isString())return;const N=$.string;let L;if(R){if(R.type==="SpreadElement")return;const v=this.evaluateExpression(R);if(!v.isNumber())return;L=E.string.indexOf(N,v.number)}else{L=E.string.indexOf(N)}return(new xe).setNumber(L).setSideEffects(E.couldHaveSideEffects()).setRange(v.range)}));this.hooks.evaluateCallExpressionMember.for("replace").tap("JavascriptParser",((v,E)=>{if(!E.isString())return;if(v.arguments.length!==2)return;if(v.arguments[0].type==="SpreadElement")return;if(v.arguments[1].type==="SpreadElement")return;let P=this.evaluateExpression(v.arguments[0]);let R=this.evaluateExpression(v.arguments[1]);if(!P.isString()&&!P.isRegExp())return;const $=P.regExp||P.string;if(!R.isString())return;const N=R.string;return(new xe).setString(E.string.replace($,N)).setSideEffects(E.couldHaveSideEffects()).setRange(v.range)}));["substr","substring","slice"].forEach((v=>{this.hooks.evaluateCallExpressionMember.for(v).tap("JavascriptParser",((E,P)=>{if(!P.isString())return;let R;let $,N=P.string;switch(E.arguments.length){case 1:if(E.arguments[0].type==="SpreadElement")return;R=this.evaluateExpression(E.arguments[0]);if(!R.isNumber())return;$=N[v](R.number);break;case 2:{if(E.arguments[0].type==="SpreadElement")return;if(E.arguments[1].type==="SpreadElement")return;R=this.evaluateExpression(E.arguments[0]);const P=this.evaluateExpression(E.arguments[1]);if(!R.isNumber())return;if(!P.isNumber())return;$=N[v](R.number,P.number);break}default:return}return(new xe).setString($).setSideEffects(P.couldHaveSideEffects()).setRange(E.range)}))}));const getSimplifiedTemplateResult=(v,E)=>{const P=[];const R=[];for(let $=0;$0){const v=R[R.length-1];const P=this.evaluateExpression(E.expressions[$-1]);const q=P.asString();if(typeof q==="string"&&!P.couldHaveSideEffects()){v.setString(v.string+q+L);v.setRange([v.range[0],N.range[1]]);v.setExpression(undefined);continue}R.push(P)}const q=(new xe).setString(L).setRange(N.range).setExpression(N);P.push(q);R.push(q)}return{quasis:P,parts:R}};this.hooks.evaluate.for("TemplateLiteral").tap("JavascriptParser",(v=>{const E=v;const{quasis:P,parts:R}=getSimplifiedTemplateResult("cooked",E);if(R.length===1){return R[0].setRange(E.range)}return(new xe).setTemplateString(P,R,"cooked").setRange(E.range)}));this.hooks.evaluate.for("TaggedTemplateExpression").tap("JavascriptParser",(v=>{const E=v;const P=this.evaluateExpression(E.tag);if(P.isIdentifier()&&P.identifier==="String.raw"){const{quasis:v,parts:P}=getSimplifiedTemplateResult("raw",E.quasi);return(new xe).setTemplateString(v,P,"raw").setRange(E.range)}}));this.hooks.evaluateCallExpressionMember.for("concat").tap("JavascriptParser",((v,E)=>{if(!E.isString()&&!E.isWrapped())return;let P=null;let R=false;const $=[];for(let E=v.arguments.length-1;E>=0;E--){const N=v.arguments[E];if(N.type==="SpreadElement")return;const L=this.evaluateExpression(N);if(R||!L.isString()&&!L.isNumber()){R=true;$.push(L);continue}const q=L.isString()?L.string:""+L.number;const K=q+(P?P.string:"");const ae=[L.range[0],(P||L).range[1]];P=(new xe).setString(K).setSideEffects(P&&P.couldHaveSideEffects()||L.couldHaveSideEffects()).setRange(ae)}if(R){const R=E.isString()?E:E.prefix;const N=E.isWrapped()&&E.wrappedInnerExpressions?E.wrappedInnerExpressions.concat($.reverse()):$.reverse();return(new xe).setWrapped(R,P,N).setRange(v.range)}else if(E.isWrapped()){const R=P||E.postfix;const N=E.wrappedInnerExpressions?E.wrappedInnerExpressions.concat($.reverse()):$.reverse();return(new xe).setWrapped(E.prefix,R,N).setRange(v.range)}else{const R=E.string+(P?P.string:"");return(new xe).setString(R).setSideEffects(P&&P.couldHaveSideEffects()||E.couldHaveSideEffects()).setRange(v.range)}}));this.hooks.evaluateCallExpressionMember.for("split").tap("JavascriptParser",((v,E)=>{if(!E.isString())return;if(v.arguments.length!==1)return;if(v.arguments[0].type==="SpreadElement")return;let P;const R=this.evaluateExpression(v.arguments[0]);if(R.isString()){P=E.string.split(R.string)}else if(R.isRegExp()){P=E.string.split(R.regExp)}else{return}return(new xe).setArray(P).setSideEffects(E.couldHaveSideEffects()).setRange(v.range)}));this.hooks.evaluate.for("ConditionalExpression").tap("JavascriptParser",(v=>{const E=v;const P=this.evaluateExpression(E.test);const R=P.asBool();let $;if(R===undefined){const v=this.evaluateExpression(E.consequent);const P=this.evaluateExpression(E.alternate);$=new xe;if(v.isConditional()){$.setOptions(v.options)}else{$.setOptions([v])}if(P.isConditional()){$.addOptions(P.options)}else{$.addOptions([P])}}else{$=this.evaluateExpression(R?E.consequent:E.alternate);if(P.couldHaveSideEffects())$.setSideEffects()}$.setRange(E.range);return $}));this.hooks.evaluate.for("ArrayExpression").tap("JavascriptParser",(v=>{const E=v;const P=E.elements.map((v=>v!==null&&v.type!=="SpreadElement"&&this.evaluateExpression(v)));if(!P.every(Boolean))return;return(new xe).setItems(P).setRange(E.range)}));this.hooks.evaluate.for("ChainExpression").tap("JavascriptParser",(v=>{const E=v;const P=[];let R=E.expression;while(R.type==="MemberExpression"||R.type==="CallExpression"){if(R.type==="MemberExpression"){if(R.optional){P.push(R.object)}R=R.object}else{if(R.optional){P.push(R.callee)}R=R.callee}}while(P.length>0){const E=P.pop();const R=this.evaluateExpression(E);if(R.asNullish()){return R.setRange(v.range)}}return this.evaluateExpression(E.expression)}))}destructuringAssignmentPropertiesFor(v){if(!this.destructuringAssignmentProperties)return undefined;return this.destructuringAssignmentProperties.get(v)}getRenameIdentifier(v){const E=this.evaluateExpression(v);if(E.isIdentifier()){return E.identifier}}walkClass(v){if(v.superClass){if(!this.hooks.classExtendsExpression.call(v.superClass,v)){this.walkExpression(v.superClass)}}if(v.body&&v.body.type==="ClassBody"){const E=[];if(v.id){E.push(v.id)}this.inClassScope(true,E,(()=>{for(const E of v.body.body){if(!this.hooks.classBodyElement.call(E,v)){if(E.computed&&E.key){this.walkExpression(E.key)}if(E.value){if(!this.hooks.classBodyValue.call(E.value,E,v)){const v=this.scope.topLevelScope;this.scope.topLevelScope=false;this.walkExpression(E.value);this.scope.topLevelScope=v}}else if(E.type==="StaticBlock"){const v=this.scope.topLevelScope;this.scope.topLevelScope=false;this.walkBlockStatement(E);this.scope.topLevelScope=v}}}}))}}preWalkStatements(v){for(let E=0,P=v.length;E{const E=v.body;const P=this.prevStatement;this.blockPreWalkStatements(E);this.prevStatement=P;this.walkStatements(E)}))}walkExpressionStatement(v){this.walkExpression(v.expression)}preWalkIfStatement(v){this.preWalkStatement(v.consequent);if(v.alternate){this.preWalkStatement(v.alternate)}}walkIfStatement(v){const E=this.hooks.statementIf.call(v);if(E===undefined){this.walkExpression(v.test);this.walkNestedStatement(v.consequent);if(v.alternate){this.walkNestedStatement(v.alternate)}}else{if(E){this.walkNestedStatement(v.consequent)}else if(v.alternate){this.walkNestedStatement(v.alternate)}}}preWalkLabeledStatement(v){this.preWalkStatement(v.body)}walkLabeledStatement(v){const E=this.hooks.label.get(v.label.name);if(E!==undefined){const P=E.call(v);if(P===true)return}this.walkNestedStatement(v.body)}preWalkWithStatement(v){this.preWalkStatement(v.body)}walkWithStatement(v){this.walkExpression(v.object);this.walkNestedStatement(v.body)}preWalkSwitchStatement(v){this.preWalkSwitchCases(v.cases)}walkSwitchStatement(v){this.walkExpression(v.discriminant);this.walkSwitchCases(v.cases)}walkTerminatingStatement(v){if(v.argument)this.walkExpression(v.argument)}walkReturnStatement(v){this.walkTerminatingStatement(v)}walkThrowStatement(v){this.walkTerminatingStatement(v)}preWalkTryStatement(v){this.preWalkStatement(v.block);if(v.handler)this.preWalkCatchClause(v.handler);if(v.finalizer)this.preWalkStatement(v.finalizer)}walkTryStatement(v){if(this.scope.inTry){this.walkStatement(v.block)}else{this.scope.inTry=true;this.walkStatement(v.block);this.scope.inTry=false}if(v.handler)this.walkCatchClause(v.handler);if(v.finalizer)this.walkStatement(v.finalizer)}preWalkWhileStatement(v){this.preWalkStatement(v.body)}walkWhileStatement(v){this.walkExpression(v.test);this.walkNestedStatement(v.body)}preWalkDoWhileStatement(v){this.preWalkStatement(v.body)}walkDoWhileStatement(v){this.walkNestedStatement(v.body);this.walkExpression(v.test)}preWalkForStatement(v){if(v.init){if(v.init.type==="VariableDeclaration"){this.preWalkStatement(v.init)}}this.preWalkStatement(v.body)}walkForStatement(v){this.inBlockScope((()=>{if(v.init){if(v.init.type==="VariableDeclaration"){this.blockPreWalkVariableDeclaration(v.init);this.prevStatement=undefined;this.walkStatement(v.init)}else{this.walkExpression(v.init)}}if(v.test){this.walkExpression(v.test)}if(v.update){this.walkExpression(v.update)}const E=v.body;if(E.type==="BlockStatement"){const v=this.prevStatement;this.blockPreWalkStatements(E.body);this.prevStatement=v;this.walkStatements(E.body)}else{this.walkNestedStatement(E)}}))}preWalkForInStatement(v){if(v.left.type==="VariableDeclaration"){this.preWalkVariableDeclaration(v.left)}this.preWalkStatement(v.body)}walkForInStatement(v){this.inBlockScope((()=>{if(v.left.type==="VariableDeclaration"){this.blockPreWalkVariableDeclaration(v.left);this.walkVariableDeclaration(v.left)}else{this.walkPattern(v.left)}this.walkExpression(v.right);const E=v.body;if(E.type==="BlockStatement"){const v=this.prevStatement;this.blockPreWalkStatements(E.body);this.prevStatement=v;this.walkStatements(E.body)}else{this.walkNestedStatement(E)}}))}preWalkForOfStatement(v){if(v.await&&this.scope.topLevelScope===true){this.hooks.topLevelAwait.call(v)}if(v.left.type==="VariableDeclaration"){this.preWalkVariableDeclaration(v.left)}this.preWalkStatement(v.body)}walkForOfStatement(v){this.inBlockScope((()=>{if(v.left.type==="VariableDeclaration"){this.blockPreWalkVariableDeclaration(v.left);this.walkVariableDeclaration(v.left)}else{this.walkPattern(v.left)}this.walkExpression(v.right);const E=v.body;if(E.type==="BlockStatement"){const v=this.prevStatement;this.blockPreWalkStatements(E.body);this.prevStatement=v;this.walkStatements(E.body)}else{this.walkNestedStatement(E)}}))}preWalkFunctionDeclaration(v){if(v.id){this.defineVariable(v.id.name)}}walkFunctionDeclaration(v){const E=this.scope.topLevelScope;this.scope.topLevelScope=false;this.inFunctionScope(true,v.params,(()=>{for(const E of v.params){this.walkPattern(E)}if(v.body.type==="BlockStatement"){this.detectMode(v.body.body);const E=this.prevStatement;this.preWalkStatement(v.body);this.prevStatement=E;this.walkStatement(v.body)}else{this.walkExpression(v.body)}}));this.scope.topLevelScope=E}blockPreWalkExpressionStatement(v){const E=v.expression;switch(E.type){case"AssignmentExpression":this.preWalkAssignmentExpression(E)}}preWalkAssignmentExpression(v){if(v.left.type!=="ObjectPattern"||!this.destructuringAssignmentProperties)return;const E=this._preWalkObjectPattern(v.left);if(!E)return;if(this.destructuringAssignmentProperties.has(v)){const P=this.destructuringAssignmentProperties.get(v);this.destructuringAssignmentProperties.delete(v);for(const v of P)E.add(v)}this.destructuringAssignmentProperties.set(v.right.type==="AwaitExpression"?v.right.argument:v.right,E);if(v.right.type==="AssignmentExpression"){this.preWalkAssignmentExpression(v.right)}}blockPreWalkImportDeclaration(v){const E=v.source.value;this.hooks.import.call(v,E);for(const P of v.specifiers){const R=P.local.name;switch(P.type){case"ImportDefaultSpecifier":if(!this.hooks.importSpecifier.call(v,E,"default",R)){this.defineVariable(R)}break;case"ImportSpecifier":if(!this.hooks.importSpecifier.call(v,E,P.imported.name||P.imported.value,R)){this.defineVariable(R)}break;case"ImportNamespaceSpecifier":if(!this.hooks.importSpecifier.call(v,E,null,R)){this.defineVariable(R)}break;default:this.defineVariable(R)}}}enterDeclaration(v,E){switch(v.type){case"VariableDeclaration":for(const P of v.declarations){switch(P.type){case"VariableDeclarator":{this.enterPattern(P.id,E);break}}}break;case"FunctionDeclaration":this.enterPattern(v.id,E);break;case"ClassDeclaration":this.enterPattern(v.id,E);break}}blockPreWalkExportNamedDeclaration(v){let E;if(v.source){E=v.source.value;this.hooks.exportImport.call(v,E)}else{this.hooks.export.call(v)}if(v.declaration){if(!this.hooks.exportDeclaration.call(v,v.declaration)){const E=this.prevStatement;this.preWalkStatement(v.declaration);this.prevStatement=E;this.blockPreWalkStatement(v.declaration);let P=0;this.enterDeclaration(v.declaration,(E=>{this.hooks.exportSpecifier.call(v,E,E,P++)}))}}if(v.specifiers){for(let P=0;P{let R=E.get(v);if(R===undefined||!R.call(P)){R=this.hooks.varDeclaration.get(v);if(R===undefined||!R.call(P)){this.defineVariable(v)}}}))}break}}}}_preWalkObjectPattern(v){const E=new Set;const P=v.properties;for(let v=0;v{const E=v.length;for(let P=0;P0){const v=this.prevStatement;this.blockPreWalkStatements(E.consequent);this.prevStatement=v}}for(let P=0;P0){this.walkStatements(E.consequent)}}}))}preWalkCatchClause(v){this.preWalkStatement(v.body)}walkCatchClause(v){this.inBlockScope((()=>{if(v.param!==null){this.enterPattern(v.param,(v=>{this.defineVariable(v)}));this.walkPattern(v.param)}const E=this.prevStatement;this.blockPreWalkStatement(v.body);this.prevStatement=E;this.walkStatement(v.body)}))}walkPattern(v){switch(v.type){case"ArrayPattern":this.walkArrayPattern(v);break;case"AssignmentPattern":this.walkAssignmentPattern(v);break;case"MemberExpression":this.walkMemberExpression(v);break;case"ObjectPattern":this.walkObjectPattern(v);break;case"RestElement":this.walkRestElement(v);break}}walkAssignmentPattern(v){this.walkExpression(v.right);this.walkPattern(v.left)}walkObjectPattern(v){for(let E=0,P=v.properties.length;E{for(const E of v.params){this.walkPattern(E)}if(v.body.type==="BlockStatement"){this.detectMode(v.body.body);const E=this.prevStatement;this.preWalkStatement(v.body);this.prevStatement=E;this.walkStatement(v.body)}else{this.walkExpression(v.body)}}));this.scope.topLevelScope=E}walkArrowFunctionExpression(v){const E=this.scope.topLevelScope;this.scope.topLevelScope=E?"arrow":false;this.inFunctionScope(false,v.params,(()=>{for(const E of v.params){this.walkPattern(E)}if(v.body.type==="BlockStatement"){this.detectMode(v.body.body);const E=this.prevStatement;this.preWalkStatement(v.body);this.prevStatement=E;this.walkStatement(v.body)}else{this.walkExpression(v.body)}}));this.scope.topLevelScope=E}walkSequenceExpression(v){if(!v.expressions)return;const E=this.statementPath[this.statementPath.length-1];if(E===v||E.type==="ExpressionStatement"&&E.expression===v){const E=this.statementPath.pop();for(const E of v.expressions){this.statementPath.push(E);this.walkExpression(E);this.statementPath.pop()}this.statementPath.push(E)}else{this.walkExpressions(v.expressions)}}walkUpdateExpression(v){this.walkExpression(v.argument)}walkUnaryExpression(v){if(v.operator==="typeof"){const E=this.callHooksForExpression(this.hooks.typeof,v.argument,v);if(E===true)return;if(v.argument.type==="ChainExpression"){const E=this.callHooksForExpression(this.hooks.typeof,v.argument.expression,v);if(E===true)return}}this.walkExpression(v.argument)}walkLeftRightExpression(v){this.walkExpression(v.left);this.walkExpression(v.right)}walkBinaryExpression(v){if(this.hooks.binaryExpression.call(v)===undefined){this.walkLeftRightExpression(v)}}walkLogicalExpression(v){const E=this.hooks.expressionLogicalOperator.call(v);if(E===undefined){this.walkLeftRightExpression(v)}else{if(E){this.walkExpression(v.right)}}}walkAssignmentExpression(v){if(v.left.type==="Identifier"){const E=this.getRenameIdentifier(v.right);if(E){if(this.callHooksForInfo(this.hooks.canRename,E,v.right)){if(!this.callHooksForInfo(this.hooks.rename,E,v.right)){this.setVariable(v.left.name,typeof E==="string"?this.getVariableInfo(E):E)}return}}this.walkExpression(v.right);this.enterPattern(v.left,((E,P)=>{if(!this.callHooksForName(this.hooks.assign,E,v)){this.walkExpression(v.left)}}));return}if(v.left.type.endsWith("Pattern")){this.walkExpression(v.right);this.enterPattern(v.left,((E,P)=>{if(!this.callHooksForName(this.hooks.assign,E,v)){this.defineVariable(E)}}));this.walkPattern(v.left)}else if(v.left.type==="MemberExpression"){const E=this.getMemberExpressionInfo(v.left,Ie);if(E){if(this.callHooksForInfo(this.hooks.assignMemberChain,E.rootInfo,v,E.getMembers())){return}}this.walkExpression(v.right);this.walkExpression(v.left)}else{this.walkExpression(v.right);this.walkExpression(v.left)}}walkConditionalExpression(v){const E=this.hooks.expressionConditionalOperator.call(v);if(E===undefined){this.walkExpression(v.test);this.walkExpression(v.consequent);if(v.alternate){this.walkExpression(v.alternate)}}else{if(E){this.walkExpression(v.consequent)}else if(v.alternate){this.walkExpression(v.alternate)}}}walkNewExpression(v){const E=this.callHooksForExpression(this.hooks.new,v.callee,v);if(E===true)return;this.walkExpression(v.callee);if(v.arguments){this.walkExpressions(v.arguments)}}walkYieldExpression(v){if(v.argument){this.walkExpression(v.argument)}}walkTemplateLiteral(v){if(v.expressions){this.walkExpressions(v.expressions)}}walkTaggedTemplateExpression(v){if(v.tag){this.scope.inTaggedTemplateTag=true;this.walkExpression(v.tag);this.scope.inTaggedTemplateTag=false}if(v.quasi&&v.quasi.expressions){this.walkExpressions(v.quasi.expressions)}}walkClassExpression(v){this.walkClass(v)}walkChainExpression(v){const E=this.hooks.optionalChaining.call(v);if(E===undefined){if(v.expression.type==="CallExpression"){this.walkCallExpression(v.expression)}else{this.walkMemberExpression(v.expression)}}}_walkIIFE(v,E,P){const getVarInfo=v=>{const E=this.getRenameIdentifier(v);if(E){if(this.callHooksForInfo(this.hooks.canRename,E,v)){if(!this.callHooksForInfo(this.hooks.rename,E,v)){return typeof E==="string"?this.getVariableInfo(E):E}}}this.walkExpression(v)};const{params:R,type:$}=v;const N=$==="ArrowFunctionExpression";const L=P?getVarInfo(P):null;const q=E.map(getVarInfo);const K=this.scope.topLevelScope;this.scope.topLevelScope=K&&N?"arrow":false;const ae=R.filter(((v,E)=>!q[E]));if(v.id){ae.push(v.id.name)}this.inFunctionScope(true,ae,(()=>{if(L&&!N){this.setVariable("this",L)}for(let v=0;vv.params.every((v=>v.type==="Identifier"));if(v.callee.type==="MemberExpression"&&v.callee.object.type.endsWith("FunctionExpression")&&!v.callee.computed&&(v.callee.property.name==="call"||v.callee.property.name==="bind")&&v.arguments.length>0&&isSimpleFunction(v.callee.object)){this._walkIIFE(v.callee.object,v.arguments.slice(1),v.arguments[0])}else if(v.callee.type.endsWith("FunctionExpression")&&isSimpleFunction(v.callee)){this._walkIIFE(v.callee,v.arguments,null)}else{if(v.callee.type==="MemberExpression"){const E=this.getMemberExpressionInfo(v.callee,Ae);if(E&&E.type==="call"){const P=this.callHooksForInfo(this.hooks.callMemberChainOfCallMemberChain,E.rootInfo,v,E.getCalleeMembers(),E.call,E.getMembers(),E.getMemberRanges());if(P===true)return}}const E=this.evaluateExpression(v.callee);if(E.isIdentifier()){const P=this.callHooksForInfo(this.hooks.callMemberChain,E.rootInfo,v,E.getMembers(),E.getMembersOptionals?E.getMembersOptionals():E.getMembers().map((()=>false)),E.getMemberRanges?E.getMemberRanges():[]);if(P===true)return;const R=this.callHooksForInfo(this.hooks.call,E.identifier,v);if(R===true)return}if(v.callee){if(v.callee.type==="MemberExpression"){this.walkExpression(v.callee.object);if(v.callee.computed===true)this.walkExpression(v.callee.property)}else{this.walkExpression(v.callee)}}if(v.arguments)this.walkExpressions(v.arguments)}}walkMemberExpression(v){const E=this.getMemberExpressionInfo(v,He);if(E){switch(E.type){case"expression":{const P=this.callHooksForInfo(this.hooks.expression,E.name,v);if(P===true)return;const R=E.getMembers();const $=E.getMembersOptionals();const N=E.getMemberRanges();const L=this.callHooksForInfo(this.hooks.expressionMemberChain,E.rootInfo,v,R,$,N);if(L===true)return;this.walkMemberExpressionWithExpressionName(v,E.name,E.rootInfo,R.slice(),(()=>this.callHooksForInfo(this.hooks.unhandledExpressionMemberChain,E.rootInfo,v,R)));return}case"call":{const P=this.callHooksForInfo(this.hooks.memberChainOfCallMemberChain,E.rootInfo,v,E.getCalleeMembers(),E.call,E.getMembers(),E.getMemberRanges());if(P===true)return;this.walkExpression(E.call);return}}}this.walkExpression(v.object);if(v.computed===true)this.walkExpression(v.property)}walkMemberExpressionWithExpressionName(v,E,P,R,$){if(v.object.type==="MemberExpression"){const N=v.property.name||`${v.property.value}`;E=E.slice(0,-N.length-1);R.pop();const L=this.callHooksForInfo(this.hooks.expression,E,v.object);if(L===true)return;this.walkMemberExpressionWithExpressionName(v.object,E,P,R,$)}else if(!$||!$()){this.walkExpression(v.object)}if(v.computed===true)this.walkExpression(v.property)}walkThisExpression(v){this.callHooksForName(this.hooks.expression,"this",v)}walkIdentifier(v){this.callHooksForName(this.hooks.expression,v.name,v)}walkMetaProperty(v){this.hooks.expression.for(getRootName(v)).call(v)}callHooksForExpression(v,E,...P){return this.callHooksForExpressionWithFallback(v,E,undefined,undefined,...P)}callHooksForExpressionWithFallback(v,E,P,R,...$){const N=this.getMemberExpressionInfo(E,Ie);if(N!==undefined){const E=N.getMembers();return this.callHooksForInfoWithFallback(v,E.length===0?N.rootInfo:N.name,P&&(v=>P(v,N.rootInfo,N.getMembers)),R&&(()=>R(N.name)),...$)}}callHooksForName(v,E,...P){return this.callHooksForNameWithFallback(v,E,undefined,undefined,...P)}callHooksForInfo(v,E,...P){return this.callHooksForInfoWithFallback(v,E,undefined,undefined,...P)}callHooksForInfoWithFallback(v,E,P,R,...$){let N;if(typeof E==="string"){N=E}else{if(!(E instanceof VariableInfo)){if(R!==undefined){return R()}return}let P=E.tagInfo;while(P!==undefined){const E=v.get(P.tag);if(E!==undefined){this.currentTagData=P.data;const v=E.call(...$);this.currentTagData=undefined;if(v!==undefined)return v}P=P.next}if(E.freeName===true){if(R!==undefined){return R()}return}N=E.freeName}const L=v.get(N);if(L!==undefined){const v=L.call(...$);if(v!==undefined)return v}if(P!==undefined){return P(N)}}callHooksForNameWithFallback(v,E,P,R,...$){return this.callHooksForInfoWithFallback(v,this.getVariableInfo(E),P,R,...$)}inScope(v,E){const P=this.scope;this.scope={topLevelScope:P.topLevelScope,inTry:false,inShorthand:false,inTaggedTemplateTag:false,isStrict:P.isStrict,isAsmJs:P.isAsmJs,definitions:P.definitions.createChild()};this.undefineVariable("this");this.enterPatterns(v,((v,E)=>{this.defineVariable(v)}));E();this.scope=P}inClassScope(v,E,P){const R=this.scope;this.scope={topLevelScope:R.topLevelScope,inTry:false,inShorthand:false,inTaggedTemplateTag:false,isStrict:R.isStrict,isAsmJs:R.isAsmJs,definitions:R.definitions.createChild()};if(v){this.undefineVariable("this")}this.enterPatterns(E,((v,E)=>{this.defineVariable(v)}));P();this.scope=R}inFunctionScope(v,E,P){const R=this.scope;this.scope={topLevelScope:R.topLevelScope,inTry:false,inShorthand:false,inTaggedTemplateTag:false,isStrict:R.isStrict,isAsmJs:R.isAsmJs,definitions:R.definitions.createChild()};if(v){this.undefineVariable("this")}this.enterPatterns(E,((v,E)=>{this.defineVariable(v)}));P();this.scope=R}inBlockScope(v){const E=this.scope;this.scope={topLevelScope:E.topLevelScope,inTry:E.inTry,inShorthand:false,inTaggedTemplateTag:false,isStrict:E.isStrict,isAsmJs:E.isAsmJs,definitions:E.definitions.createChild()};v();this.scope=E}detectMode(v){const E=v.length>=1&&v[0].type==="ExpressionStatement"&&v[0].expression.type==="Literal";if(E&&v[0].expression.value==="use strict"){this.scope.isStrict=true}if(E&&v[0].expression.value==="use asm"){this.scope.isAsmJs=true}}enterPatterns(v,E){for(const P of v){if(typeof P!=="string"){this.enterPattern(P,E)}else if(P){E(P)}}}enterPattern(v,E){if(!v)return;switch(v.type){case"ArrayPattern":this.enterArrayPattern(v,E);break;case"AssignmentPattern":this.enterAssignmentPattern(v,E);break;case"Identifier":this.enterIdentifier(v,E);break;case"ObjectPattern":this.enterObjectPattern(v,E);break;case"RestElement":this.enterRestElement(v,E);break;case"Property":if(v.shorthand&&v.value.type==="Identifier"){this.scope.inShorthand=v.value.name;this.enterIdentifier(v.value,E);this.scope.inShorthand=false}else{this.enterPattern(v.value,E)}break}}enterIdentifier(v,E){if(!this.callHooksForName(this.hooks.pattern,v.name,v)){E(v.name,v)}}enterObjectPattern(v,E){for(let P=0,R=v.properties.length;P$.add(v)})}const N=this.scope;const L=this.state;const q=this.comments;const K=this.semicolons;const ge=this.statementPath;const be=this.prevStatement;this.scope={topLevelScope:true,inTry:false,inShorthand:false,inTaggedTemplateTag:false,isStrict:false,isAsmJs:false,definitions:new ae};this.state=E;this.comments=R;this.semicolons=$;this.statementPath=[];this.prevStatement=undefined;if(this.hooks.program.call(P,R)===undefined){this.destructuringAssignmentProperties=new WeakMap;this.detectMode(P.body);this.preWalkStatements(P.body);this.prevStatement=undefined;this.blockPreWalkStatements(P.body);this.prevStatement=undefined;this.walkStatements(P.body);this.destructuringAssignmentProperties=undefined}this.hooks.finish.call(P,R);this.scope=N;this.state=L;this.comments=q;this.semicolons=K;this.statementPath=ge;this.prevStatement=be;return E}evaluate(v){const E=JavascriptParser._parse("("+v+")",{sourceType:this.sourceType,locations:false});if(E.body.length!==1||E.body[0].type!=="ExpressionStatement"){throw new Error("evaluate: Source is not a expression")}return this.evaluateExpression(E.body[0].expression)}isPure(v,E){if(!v)return true;const P=this.hooks.isPure.for(v.type).call(v,E);if(typeof P==="boolean")return P;switch(v.type){case"ClassDeclaration":case"ClassExpression":{if(v.body.type!=="ClassBody")return false;if(v.superClass&&!this.isPure(v.superClass,v.range[0])){return false}const E=v.body.body;return E.every((E=>{if(E.computed&&E.key&&!this.isPure(E.key,E.range[0])){return false}if(E.static&&E.value&&!this.isPure(E.value,E.key?E.key.range[1]:E.range[0])){return false}if(E.type==="StaticBlock"){return false}if(v.superClass&&E.type==="MethodDefinition"&&E.kind==="constructor"){return false}return true}))}case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"ThisExpression":case"Literal":case"TemplateLiteral":case"Identifier":case"PrivateIdentifier":return true;case"VariableDeclaration":return v.declarations.every((v=>this.isPure(v.init,v.range[0])));case"ConditionalExpression":return this.isPure(v.test,E)&&this.isPure(v.consequent,v.test.range[1])&&this.isPure(v.alternate,v.consequent.range[1]);case"LogicalExpression":return this.isPure(v.left,E)&&this.isPure(v.right,v.left.range[1]);case"SequenceExpression":return v.expressions.every((v=>{const P=this.isPure(v,E);E=v.range[1];return P}));case"CallExpression":{const P=v.range[0]-E>12&&this.getComments([E,v.range[0]]).some((v=>v.type==="Block"&&/^\s*(#|@)__PURE__\s*$/.test(v.value)));if(!P)return false;E=v.callee.range[1];return v.arguments.every((v=>{if(v.type==="SpreadElement")return false;const P=this.isPure(v,E);E=v.range[1];return P}))}}const R=this.evaluateExpression(v);return!R.couldHaveSideEffects()}getComments(v){const[E,P]=v;const compare=(v,E)=>v.range[0]-E;let R=ge.ge(this.comments,E,compare);let $=[];while(this.comments[R]&&this.comments[R].range[1]<=P){$.push(this.comments[R]);R++}return $}isAsiPosition(v){const E=this.statementPath[this.statementPath.length-1];if(E===undefined)throw new Error("Not in statement");return E.range[1]===v&&this.semicolons.has(v)||E.range[0]===v&&this.prevStatement!==undefined&&this.semicolons.has(this.prevStatement.range[1])}unsetAsiPosition(v){this.semicolons.delete(v)}isStatementLevelExpression(v){const E=this.statementPath[this.statementPath.length-1];return v===E||E.type==="ExpressionStatement"&&E.expression===v}getTagData(v,E){const P=this.scope.definitions.get(v);if(P instanceof VariableInfo){let v=P.tagInfo;while(v!==undefined){if(v.tag===E)return v.data;v=v.next}}}tagVariable(v,E,P){const R=this.scope.definitions.get(v);let $;if(R===undefined){$=new VariableInfo(this.scope,v,{tag:E,data:P,next:undefined})}else if(R instanceof VariableInfo){$=new VariableInfo(R.declaredScope,R.freeName,{tag:E,data:P,next:R.tagInfo})}else{$=new VariableInfo(R,true,{tag:E,data:P,next:undefined})}this.scope.definitions.set(v,$)}defineVariable(v){const E=this.scope.definitions.get(v);if(E instanceof VariableInfo&&E.declaredScope===this.scope)return;this.scope.definitions.set(v,this.scope)}undefineVariable(v){this.scope.definitions.delete(v)}isVariableDefined(v){const E=this.scope.definitions.get(v);if(E===undefined)return false;if(E instanceof VariableInfo){return E.freeName===true}return true}getVariableInfo(v){const E=this.scope.definitions.get(v);if(E===undefined){return v}else{return E}}setVariable(v,E){if(typeof E==="string"){if(E===v){this.scope.definitions.delete(v)}else{this.scope.definitions.set(v,new VariableInfo(this.scope,E,undefined))}}else{this.scope.definitions.set(v,E)}}evaluatedVariable(v){return new VariableInfo(this.scope,undefined,v)}parseCommentOptions(v){const E=this.getComments(v);if(E.length===0){return Ke}let P={};let R=[];for(const v of E){const{value:E}=v;if(E&&Ve.test(E)){try{for(let[v,R]of Object.entries(q.runInNewContext(`(function(){return {${E}};})()`))){if(typeof R==="object"&&R!==null){if(R.constructor.name==="RegExp")R=new RegExp(R);else R=JSON.parse(JSON.stringify(R))}P[v]=R}}catch(E){const P=new Error(String(E.message));P.stack=String(E.stack);Object.assign(P,{comment:v});R.push(P)}}}return{options:P,errors:R}}extractMemberExpressionChain(v){let E=v;const P=[];const R=[];const $=[];while(E.type==="MemberExpression"){if(E.computed){if(E.property.type!=="Literal")break;P.push(`${E.property.value}`);$.push(E.object.range)}else{if(E.property.type!=="Identifier")break;P.push(E.property.name);$.push(E.object.range)}R.push(E.optional);E=E.object}return{members:P,membersOptionals:R,memberRanges:$,object:E}}getFreeInfoFromVariable(v){const E=this.getVariableInfo(v);let P;if(E instanceof VariableInfo){P=E.freeName;if(typeof P!=="string")return undefined}else if(typeof E!=="string"){return undefined}else{P=E}return{info:E,name:P}}getMemberExpressionInfo(v,E){const{object:P,members:R,membersOptionals:$,memberRanges:N}=this.extractMemberExpressionChain(v);switch(P.type){case"CallExpression":{if((E&Ae)===0)return undefined;let v=P.callee;let L=ve;if(v.type==="MemberExpression"){({object:v,members:L}=this.extractMemberExpressionChain(v))}const q=getRootName(v);if(!q)return undefined;const K=this.getFreeInfoFromVariable(q);if(!K)return undefined;const{info:ae,name:ge}=K;const xe=objectAndMembersToName(ge,L);return{type:"call",call:P,calleeName:xe,rootInfo:ae,getCalleeMembers:be((()=>L.reverse())),name:objectAndMembersToName(`${xe}()`,R),getMembers:be((()=>R.reverse())),getMembersOptionals:be((()=>$.reverse())),getMemberRanges:be((()=>N.reverse()))}}case"Identifier":case"MetaProperty":case"ThisExpression":{if((E&Ie)===0)return undefined;const v=getRootName(P);if(!v)return undefined;const L=this.getFreeInfoFromVariable(v);if(!L)return undefined;const{info:q,name:K}=L;return{type:"expression",name:objectAndMembersToName(K,R),rootInfo:q,getMembers:be((()=>R.reverse())),getMembersOptionals:be((()=>$.reverse())),getMemberRanges:be((()=>N.reverse()))}}}}getNameForExpression(v){return this.getMemberExpressionInfo(v,Ie)}static _parse(v,E){const P=E?E.sourceType:"module";const R={...Je,allowReturnOutsideFunction:P==="script",...E,sourceType:P==="auto"?"module":P};let $;let N;let L=false;try{$=Qe.parse(v,R)}catch(v){N=v;L=true}if(L&&P==="auto"){R.sourceType="script";if(!("allowReturnOutsideFunction"in E)){R.allowReturnOutsideFunction=true}if(Array.isArray(R.onComment)){R.onComment.length=0}try{$=Qe.parse(v,R);L=false}catch(v){}}if(L){throw N}return $}}v.exports=JavascriptParser;v.exports.ALLOWED_MEMBER_TYPES_ALL=He;v.exports.ALLOWED_MEMBER_TYPES_EXPRESSION=Ie;v.exports.ALLOWED_MEMBER_TYPES_CALL_EXPRESSION=Ae},73320:function(v,E,P){"use strict";const R=P(90784);const $=P(9297);const N=P(81792);E.toConstantDependency=(v,E,P)=>function constDependency(R){const N=new $(E,R.range,P);N.loc=R.loc;v.state.module.addPresentationalDependency(N);return true};E.evaluateToString=v=>function stringExpression(E){return(new N).setString(v).setRange(E.range)};E.evaluateToNumber=v=>function stringExpression(E){return(new N).setNumber(v).setRange(E.range)};E.evaluateToBoolean=v=>function booleanExpression(E){return(new N).setBoolean(v).setRange(E.range)};E.evaluateToIdentifier=(v,E,P,R)=>function identifierExpression($){let L=(new N).setIdentifier(v,E,P).setSideEffects(false).setRange($.range);switch(R){case true:L.setTruthy();break;case null:L.setNullish(true);break;case false:L.setFalsy();break}return L};E.expressionIsUnsupported=(v,E)=>function unsupportedExpression(P){const N=new $("(void 0)",P.range,null);N.loc=P.loc;v.state.module.addPresentationalDependency(N);if(!v.state.module)return;v.state.module.addWarning(new R(E,P.loc));return true};E.skipTraversal=()=>true;E.approve=()=>true},5606:function(v,E,P){"use strict";const R=P(92529);const $=P(25233);const{isSubset:N}=P(64960);const{getAllChunks:L}=P(67611);const q=`var ${R.exports} = `;E.generateEntryStartup=(v,E,P,K,ae)=>{const ge=[`var __webpack_exec__ = ${E.returningFunction(`${R.require}(${R.entryModuleId} = moduleId)`,"moduleId")}`];const runModule=v=>`__webpack_exec__(${JSON.stringify(v)})`;const outputCombination=(v,P,$)=>{if(v.size===0){ge.push(`${$?q:""}(${P.map(runModule).join(", ")});`)}else{const N=E.returningFunction(P.map(runModule).join(", "));ge.push(`${$&&!ae?q:""}${ae?R.onChunksLoaded:R.startupEntrypoint}(0, ${JSON.stringify(Array.from(v,(v=>v.id)))}, ${N});`);if($&&ae){ge.push(`${q}${R.onChunksLoaded}();`)}}};let be=undefined;let xe=undefined;for(const[E,R]of P){const P=R.getRuntimeChunk();const $=v.getModuleId(E);const q=L(R,K,P);if(be&&be.size===q.size&&N(be,q)){xe.push($)}else{if(be){outputCombination(be,xe)}be=q;xe=[$]}}if(be){outputCombination(be,xe,true)}ge.push("");return $.asString(ge)};E.updateHashForEntryStartup=(v,E,P,R)=>{for(const[$,N]of P){const P=N.getRuntimeChunk();const q=E.getModuleId($);v.update(`${q}`);for(const E of L(N,R,P))v.update(`${E.id}`)}};E.getInitialChunkIds=(v,E,P)=>{const R=new Set(v.ids);for(const $ of v.getAllInitialChunks()){if($===v||P($,E))continue;for(const v of $.ids)R.add(v)}return R}},26427:function(v,E,P){"use strict";const{register:R}=P(29260);class JsonData{constructor(v){this._buffer=undefined;this._data=undefined;if(Buffer.isBuffer(v)){this._buffer=v}else{this._data=v}}get(){if(this._data===undefined&&this._buffer!==undefined){this._data=JSON.parse(this._buffer.toString())}return this._data}updateHash(v){if(this._buffer===undefined&&this._data!==undefined){this._buffer=Buffer.from(JSON.stringify(this._data))}if(this._buffer)v.update(this._buffer)}}R(JsonData,"webpack/lib/json/JsonData",null,{serialize(v,{write:E}){if(v._buffer===undefined&&v._data!==undefined){v._buffer=Buffer.from(JSON.stringify(v._data))}E(v._buffer)},deserialize({read:v}){return new JsonData(v())}});v.exports=JsonData},93844:function(v,E,P){"use strict";const{RawSource:R}=P(51255);const $=P(32757);const{UsageState:N}=P(8435);const L=P(29900);const q=P(92529);const stringifySafe=v=>{const E=JSON.stringify(v);if(!E){return undefined}return E.replace(/\u2028|\u2029/g,(v=>v==="\u2029"?"\\u2029":"\\u2028"))};const createObjectForExportsInfo=(v,E,P)=>{if(E.otherExportsInfo.getUsed(P)!==N.Unused)return v;const R=Array.isArray(v);const $=R?[]:{};for(const R of Object.keys(v)){const L=E.getReadOnlyExportInfo(R);const q=L.getUsed(P);if(q===N.Unused)continue;let K;if(q===N.OnlyPropertiesUsed&&L.exportsInfo){K=createObjectForExportsInfo(v[R],L.exportsInfo,P)}else{K=v[R]}const ae=L.getUsedName(R,P);$[ae]=K}if(R){let R=E.getReadOnlyExportInfo("length").getUsed(P)!==N.Unused?v.length:undefined;let L=0;for(let v=0;v<$.length;v++){if($[v]===undefined){L-=2}else{L+=`${v}`.length+3}}if(R!==undefined){L+=`${R}`.length+8-(R-$.length)*2}if(L<0)return Object.assign(R===undefined?{}:{length:R},$);const q=R!==undefined?Math.max(R,$.length):$.length;for(let v=0;v20&&typeof xe==="object"?`/*#__PURE__*/JSON.parse('${ve.replace(/[\\']/g,"\\$&")}')`:ve;let Ie;if(ae){Ie=`${P.supportsConst()?"const":"var"} ${$.NAMESPACE_OBJECT_EXPORT} = ${Ae};`;ae.registerNamespaceExport($.NAMESPACE_OBJECT_EXPORT)}else{L.add(q.module);Ie=`${v.moduleArgument}.exports = ${Ae};`}return new R(Ie)}}v.exports=JsonGenerator},58880:function(v,E,P){"use strict";const{JSON_MODULE_TYPE:R}=P(96170);const $=P(21596);const N=P(93844);const L=P(85889);const q=$(P(74504),(()=>P(10021)),{name:"Json Modules Plugin",baseDataPath:"parser"});const K="JsonModulesPlugin";class JsonModulesPlugin{apply(v){v.hooks.compilation.tap(K,((v,{normalModuleFactory:E})=>{E.hooks.createParser.for(R).tap(K,(v=>{q(v);return new L(v)}));E.hooks.createGenerator.for(R).tap(K,(()=>new N))}))}}v.exports=JsonModulesPlugin},85889:function(v,E,P){"use strict";const R=P(38063);const $=P(62927);const N=P(25689);const L=P(26427);const q=N((()=>P(54650)));class JsonParser extends R{constructor(v){super();this.options=v||{}}parse(v,E){if(Buffer.isBuffer(v)){v=v.toString("utf-8")}const P=typeof this.options.parse==="function"?this.options.parse:q();let R;try{R=typeof v==="object"?v:P(v[0]==="\ufeff"?v.slice(1):v)}catch(v){throw new Error(`Cannot parse JSON: ${v.message}`)}const N=new L(R);const K=E.module.buildInfo;K.jsonData=N;K.strict=true;const ae=E.module.buildMeta;ae.exportsType="default";ae.defaultObject=typeof R==="object"?"redirect-warn":false;E.module.addDependency(new $(N));return E}}v.exports=JsonParser},84607:function(v,E,P){"use strict";const R=P(92529);const $=P(42453);const N="Common configuration options that specific library names are 'output.library[.name]', 'entry.xyz.library[.name]', 'ModuleFederationPlugin.name' and 'ModuleFederationPlugin.library[.name]'.";class AbstractLibraryPlugin{constructor({pluginName:v,type:E}){this._pluginName=v;this._type=E;this._parseCache=new WeakMap}apply(v){const{_pluginName:E}=this;v.hooks.thisCompilation.tap(E,(v=>{v.hooks.finishModules.tap({name:E,stage:10},(()=>{for(const[E,{dependencies:P,options:{library:R}}]of v.entries){const $=this._parseOptionsCached(R!==undefined?R:v.outputOptions.library);if($!==false){const R=P[P.length-1];if(R){const P=v.moduleGraph.getModule(R);if(P){this.finishEntryModule(P,E,{options:$,compilation:v,chunkGraph:v.chunkGraph})}}}}}));const getOptionsForChunk=E=>{if(v.chunkGraph.getNumberOfEntryModules(E)===0)return false;const P=E.getEntryOptions();const R=P&&P.library;return this._parseOptionsCached(R!==undefined?R:v.outputOptions.library)};if(this.render!==AbstractLibraryPlugin.prototype.render||this.runtimeRequirements!==AbstractLibraryPlugin.prototype.runtimeRequirements){v.hooks.additionalChunkRuntimeRequirements.tap(E,((E,P,{chunkGraph:R})=>{const $=getOptionsForChunk(E);if($!==false){this.runtimeRequirements(E,P,{options:$,compilation:v,chunkGraph:R})}}))}const P=$.getCompilationHooks(v);if(this.render!==AbstractLibraryPlugin.prototype.render){P.render.tap(E,((E,P)=>{const R=getOptionsForChunk(P.chunk);if(R===false)return E;return this.render(E,P,{options:R,compilation:v,chunkGraph:v.chunkGraph})}))}if(this.embedInRuntimeBailout!==AbstractLibraryPlugin.prototype.embedInRuntimeBailout){P.embedInRuntimeBailout.tap(E,((E,P)=>{const R=getOptionsForChunk(P.chunk);if(R===false)return;return this.embedInRuntimeBailout(E,P,{options:R,compilation:v,chunkGraph:v.chunkGraph})}))}if(this.strictRuntimeBailout!==AbstractLibraryPlugin.prototype.strictRuntimeBailout){P.strictRuntimeBailout.tap(E,(E=>{const P=getOptionsForChunk(E.chunk);if(P===false)return;return this.strictRuntimeBailout(E,{options:P,compilation:v,chunkGraph:v.chunkGraph})}))}if(this.renderStartup!==AbstractLibraryPlugin.prototype.renderStartup){P.renderStartup.tap(E,((E,P,R)=>{const $=getOptionsForChunk(R.chunk);if($===false)return E;return this.renderStartup(E,P,R,{options:$,compilation:v,chunkGraph:v.chunkGraph})}))}P.chunkHash.tap(E,((E,P,R)=>{const $=getOptionsForChunk(E);if($===false)return;this.chunkHash(E,P,R,{options:$,compilation:v,chunkGraph:v.chunkGraph})}))}))}_parseOptionsCached(v){if(!v)return false;if(v.type!==this._type)return false;const E=this._parseCache.get(v);if(E!==undefined)return E;const P=this.parseOptions(v);this._parseCache.set(v,P);return P}parseOptions(v){const E=P(71432);throw new E}finishEntryModule(v,E,P){}embedInRuntimeBailout(v,E,P){return undefined}strictRuntimeBailout(v,E){return undefined}runtimeRequirements(v,E,P){if(this.render!==AbstractLibraryPlugin.prototype.render)E.add(R.returnExportsFromRuntime)}render(v,E,P){return v}renderStartup(v,E,P,R){return v}chunkHash(v,E,P,R){const $=this._parseOptionsCached(R.compilation.outputOptions.library);E.update(this._pluginName);E.update(JSON.stringify($))}}AbstractLibraryPlugin.COMMON_LIBRARY_NAME_MESSAGE=N;v.exports=AbstractLibraryPlugin},95622:function(v,E,P){"use strict";const{ConcatSource:R}=P(51255);const $=P(74805);const N=P(25233);const L=P(84607);class AmdLibraryPlugin extends L{constructor(v){super({pluginName:"AmdLibraryPlugin",type:v.type});this.requireAsWrapper=v.requireAsWrapper}parseOptions(v){const{name:E,amdContainer:P}=v;if(this.requireAsWrapper){if(E){throw new Error(`AMD library name must be unset. ${L.COMMON_LIBRARY_NAME_MESSAGE}`)}}else{if(E&&typeof E!=="string"){throw new Error(`AMD library name must be a simple string or unset. ${L.COMMON_LIBRARY_NAME_MESSAGE}`)}}return{name:E,amdContainer:P}}render(v,{chunkGraph:E,chunk:P,runtimeTemplate:L},{options:q,compilation:K}){const ae=L.supportsArrowFunction();const ge=E.getChunkModules(P).filter((v=>v instanceof $&&(v.externalType==="amd"||v.externalType==="amd-require")));const be=ge;const xe=JSON.stringify(be.map((v=>typeof v.request==="object"&&!Array.isArray(v.request)?v.request.amd:v.request)));const ve=be.map((v=>`__WEBPACK_EXTERNAL_MODULE_${N.toIdentifier(`${E.getModuleId(v)}`)}__`)).join(", ");const Ae=L.isIIFE();const Ie=(ae?`(${ve}) => {`:`function(${ve}) {`)+(Ae||!P.hasRuntime()?" return ":"\n");const He=Ae?";\n}":"\n}";let Qe="";if(q.amdContainer){Qe=`${q.amdContainer}.`}if(this.requireAsWrapper){return new R(`${Qe}require(${xe}, ${Ie}`,v,`${He});`)}else if(q.name){const E=K.getPath(q.name,{chunk:P});return new R(`${Qe}define(${JSON.stringify(E)}, ${xe}, ${Ie}`,v,`${He});`)}else if(ve){return new R(`${Qe}define(${xe}, ${Ie}`,v,`${He});`)}else{return new R(`${Qe}define(${Ie}`,v,`${He});`)}}chunkHash(v,E,P,{options:R,compilation:$}){E.update("AmdLibraryPlugin");if(this.requireAsWrapper){E.update("requireAsWrapper")}else if(R.name){E.update("named");const P=$.getPath(R.name,{chunk:v});E.update(P)}else if(R.amdContainer){E.update("amdContainer");E.update(R.amdContainer)}}}v.exports=AmdLibraryPlugin},46489:function(v,E,P){"use strict";const{ConcatSource:R}=P(51255);const{UsageState:$}=P(8435);const N=P(92529);const L=P(25233);const q=P(11930);const{getEntryRuntime:K}=P(65153);const ae=P(84607);const ge=/^(await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|super|switch|static|this|throw|try|true|typeof|var|void|while|with|yield)$/;const be=/^[\p{L}\p{Nl}$_][\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}]*$/iu;const isNameValid=v=>!ge.test(v)&&be.test(v);const accessWithInit=(v,E,P=false)=>{const R=v[0];if(v.length===1&&!P)return R;let $=E>0?R:`(${R} = typeof ${R} === "undefined" ? {} : ${R})`;let N=1;let L;if(E>N){L=v.slice(1,E);N=E;$+=q(L)}else{L=[]}const K=P?v.length:v.length-1;for(;NP.getPath(v,{chunk:E})))}render(v,{chunk:E},{options:P,compilation:$}){const N=this._getResolvedFullName(P,E,$);if(this.declare){const E=N[0];if(!isNameValid(E)){throw new Error(`Library name base (${E}) must be a valid identifier when using a var declaring library type. Either use a valid identifier (e. g. ${L.toIdentifier(E)}) or use a different library type (e. g. 'type: "global"', which assign a property on the global scope instead of declaring a variable). ${ae.COMMON_LIBRARY_NAME_MESSAGE}`)}v=new R(`${this.declare} ${E};\n`,v)}return v}embedInRuntimeBailout(v,{chunk:E,codeGenerationResults:P},{options:R,compilation:$}){const{data:N}=P.get(v,E.runtime);const L=N&&N.get("topLevelDeclarations")||v.buildInfo&&v.buildInfo.topLevelDeclarations;if(!L)return"it doesn't tell about top level declarations.";const q=this._getResolvedFullName(R,E,$);const K=q[0];if(L.has(K))return`it declares '${K}' on top-level, which conflicts with the current library output.`}strictRuntimeBailout({chunk:v},{options:E,compilation:P}){if(this.declare||this.prefix==="global"||this.prefix.length>0||!E.name){return}return"a global variable is assign and maybe created"}renderStartup(v,E,{moduleGraph:P,chunk:$},{options:L,compilation:K}){const ae=this._getResolvedFullName(L,$,K);const ge=this.unnamed==="static";const be=L.export?q(Array.isArray(L.export)?L.export:[L.export]):"";const xe=new R(v);if(ge){const v=P.getExportsInfo(E);const R=accessWithInit(ae,this._getPrefix(K).length,true);for(const E of v.orderedExports){if(!E.provided)continue;const v=q([E.name]);xe.add(`${R}${v} = ${N.exports}${be}${v};\n`)}xe.add(`Object.defineProperty(${R}, "__esModule", { value: true });\n`)}else if(L.name?this.named==="copy":this.unnamed==="copy"){xe.add(`var __webpack_export_target__ = ${accessWithInit(ae,this._getPrefix(K).length,true)};\n`);let v=N.exports;if(be){xe.add(`var __webpack_exports_export__ = ${N.exports}${be};\n`);v="__webpack_exports_export__"}xe.add(`for(var i in ${v}) __webpack_export_target__[i] = ${v}[i];\n`);xe.add(`if(${v}.__esModule) Object.defineProperty(__webpack_export_target__, "__esModule", { value: true });\n`)}else{xe.add(`${accessWithInit(ae,this._getPrefix(K).length,false)} = ${N.exports}${be};\n`)}return xe}runtimeRequirements(v,E,P){}chunkHash(v,E,P,{options:R,compilation:$}){E.update("AssignLibraryPlugin");const N=this._getResolvedFullName(R,v,$);if(R.name?this.named==="copy":this.unnamed==="copy"){E.update("copy")}if(this.declare){E.update(this.declare)}E.update(N.join("."));if(R.export){E.update(`${R.export}`)}}}v.exports=AssignLibraryPlugin},61201:function(v,E,P){"use strict";const R=new WeakMap;const getEnabledTypes=v=>{let E=R.get(v);if(E===undefined){E=new Set;R.set(v,E)}return E};class EnableLibraryPlugin{constructor(v){this.type=v}static setEnabled(v,E){getEnabledTypes(v).add(E)}static checkEnabled(v,E){if(!getEnabledTypes(v).has(E)){throw new Error(`Library type "${E}" is not enabled. `+"EnableLibraryPlugin need to be used to enable this type of library. "+'This usually happens through the "output.enabledLibraryTypes" option. '+'If you are using a function as entry which sets "library", you need to add all potential library types to "output.enabledLibraryTypes". '+"These types are enabled: "+Array.from(getEnabledTypes(v)).join(", "))}}apply(v){const{type:E}=this;const R=getEnabledTypes(v);if(R.has(E))return;R.add(E);if(typeof E==="string"){const enableExportProperty=()=>{const R=P(44983);new R({type:E,nsObjectUsed:E!=="module"}).apply(v)};switch(E){case"var":{const R=P(46489);new R({type:E,prefix:[],declare:"var",unnamed:"error"}).apply(v);break}case"assign-properties":{const R=P(46489);new R({type:E,prefix:[],declare:false,unnamed:"error",named:"copy"}).apply(v);break}case"assign":{const R=P(46489);new R({type:E,prefix:[],declare:false,unnamed:"error"}).apply(v);break}case"this":{const R=P(46489);new R({type:E,prefix:["this"],declare:false,unnamed:"copy"}).apply(v);break}case"window":{const R=P(46489);new R({type:E,prefix:["window"],declare:false,unnamed:"copy"}).apply(v);break}case"self":{const R=P(46489);new R({type:E,prefix:["self"],declare:false,unnamed:"copy"}).apply(v);break}case"global":{const R=P(46489);new R({type:E,prefix:"global",declare:false,unnamed:"copy"}).apply(v);break}case"commonjs":{const R=P(46489);new R({type:E,prefix:["exports"],declare:false,unnamed:"copy"}).apply(v);break}case"commonjs-static":{const R=P(46489);new R({type:E,prefix:["exports"],declare:false,unnamed:"static"}).apply(v);break}case"commonjs2":case"commonjs-module":{const R=P(46489);new R({type:E,prefix:["module","exports"],declare:false,unnamed:"assign"}).apply(v);break}case"amd":case"amd-require":{enableExportProperty();const R=P(95622);new R({type:E,requireAsWrapper:E==="amd-require"}).apply(v);break}case"umd":case"umd2":{enableExportProperty();const R=P(30884);new R({type:E,optionalAmdExternalAsGlobal:E==="umd2"}).apply(v);break}case"system":{enableExportProperty();const R=P(4525);new R({type:E}).apply(v);break}case"jsonp":{enableExportProperty();const R=P(25255);new R({type:E}).apply(v);break}case"module":{enableExportProperty();const R=P(27811);new R({type:E}).apply(v);break}default:throw new Error(`Unsupported library type ${E}.\nPlugins which provide custom library types must call EnableLibraryPlugin.setEnabled(compiler, type) to disable this error.`)}}else{}}}v.exports=EnableLibraryPlugin},44983:function(v,E,P){"use strict";const{ConcatSource:R}=P(51255);const{UsageState:$}=P(8435);const N=P(92529);const L=P(11930);const{getEntryRuntime:q}=P(65153);const K=P(84607);class ExportPropertyLibraryPlugin extends K{constructor({type:v,nsObjectUsed:E}){super({pluginName:"ExportPropertyLibraryPlugin",type:v});this.nsObjectUsed=E}parseOptions(v){return{export:v.export}}finishEntryModule(v,E,{options:P,compilation:R,compilation:{moduleGraph:N}}){const L=q(R,E);if(P.export){const E=N.getExportInfo(v,Array.isArray(P.export)?P.export[0]:P.export);E.setUsed($.Used,L);E.canMangleUse=false}else{const E=N.getExportsInfo(v);if(this.nsObjectUsed){E.setUsedInUnknownWay(L)}else{E.setAllKnownExportsUsed(L)}}N.addExtraReason(v,"used as library export")}runtimeRequirements(v,E,P){}renderStartup(v,E,P,{options:$}){if(!$.export)return v;const q=`${N.exports} = ${N.exports}${L(Array.isArray($.export)?$.export:[$.export])};\n`;return new R(v,q)}}v.exports=ExportPropertyLibraryPlugin},25255:function(v,E,P){"use strict";const{ConcatSource:R}=P(51255);const $=P(84607);class JsonpLibraryPlugin extends ${constructor(v){super({pluginName:"JsonpLibraryPlugin",type:v.type})}parseOptions(v){const{name:E}=v;if(typeof E!=="string"){throw new Error(`Jsonp library name must be a simple string. ${$.COMMON_LIBRARY_NAME_MESSAGE}`)}return{name:E}}render(v,{chunk:E},{options:P,compilation:$}){const N=$.getPath(P.name,{chunk:E});return new R(`${N}(`,v,")")}chunkHash(v,E,P,{options:R,compilation:$}){E.update("JsonpLibraryPlugin");E.update($.getPath(R.name,{chunk:v}))}}v.exports=JsonpLibraryPlugin},27811:function(v,E,P){"use strict";const{ConcatSource:R}=P(51255);const $=P(92529);const N=P(25233);const L=P(11930);const q=P(84607);class ModuleLibraryPlugin extends q{constructor(v){super({pluginName:"ModuleLibraryPlugin",type:v.type})}parseOptions(v){const{name:E}=v;if(E){throw new Error(`Library name must be unset. ${q.COMMON_LIBRARY_NAME_MESSAGE}`)}return{name:E}}renderStartup(v,E,{moduleGraph:P,chunk:q},{options:K,compilation:ae}){const ge=new R(v);const be=P.getExportsInfo(E);const xe=[];const ve=P.isAsync(E);if(ve){ge.add(`${$.exports} = await ${$.exports};\n`)}for(const v of be.orderedExports){if(!v.provided)continue;const E=`${$.exports}${N.toIdentifier(v.name)}`;ge.add(`var ${E} = ${$.exports}${L([v.getUsedName(v.name,q.runtime)])};\n`);xe.push(`${E} as ${v.name}`)}if(xe.length>0){ge.add(`export { ${xe.join(", ")} };\n`)}return ge}}v.exports=ModuleLibraryPlugin},4525:function(v,E,P){"use strict";const{ConcatSource:R}=P(51255);const{UsageState:$}=P(8435);const N=P(74805);const L=P(25233);const q=P(11930);const K=P(84607);class SystemLibraryPlugin extends K{constructor(v){super({pluginName:"SystemLibraryPlugin",type:v.type})}parseOptions(v){const{name:E}=v;if(E&&typeof E!=="string"){throw new Error(`System.js library name must be a simple string or unset. ${K.COMMON_LIBRARY_NAME_MESSAGE}`)}return{name:E}}render(v,{chunkGraph:E,moduleGraph:P,chunk:K},{options:ae,compilation:ge}){const be=E.getChunkModules(K).filter((v=>v instanceof N&&v.externalType==="system"));const xe=be;const ve=ae.name?`${JSON.stringify(ge.getPath(ae.name,{chunk:K}))}, `:"";const Ae=JSON.stringify(xe.map((v=>typeof v.request==="object"&&!Array.isArray(v.request)?v.request.amd:v.request)));const Ie="__WEBPACK_DYNAMIC_EXPORT__";const He=xe.map((v=>`__WEBPACK_EXTERNAL_MODULE_${L.toIdentifier(`${E.getModuleId(v)}`)}__`));const Qe=He.map((v=>`var ${v} = {};`)).join("\n");const Je=[];const Ve=He.length===0?"":L.asString(["setters: [",L.indent(xe.map(((v,E)=>{const R=He[E];const N=P.getExportsInfo(v);const ae=N.otherExportsInfo.getUsed(K.runtime)===$.Unused;const ge=[];const be=[];for(const v of N.orderedExports){const E=v.getUsedName(undefined,K.runtime);if(E){if(ae||E!==v.name){ge.push(`${R}${q([E])} = module${q([v.name])};`);be.push(v.name)}}else{be.push(v.name)}}if(!ae){if(!Array.isArray(v.request)||v.request.length===1){Je.push(`Object.defineProperty(${R}, "__esModule", { value: true });`)}if(be.length>0){const v=`${R}handledNames`;Je.push(`var ${v} = ${JSON.stringify(be)};`);ge.push(L.asString(["Object.keys(module).forEach(function(key) {",L.indent([`if(${v}.indexOf(key) >= 0)`,L.indent(`${R}[key] = module[key];`)]),"});"]))}else{ge.push(L.asString(["Object.keys(module).forEach(function(key) {",L.indent([`${R}[key] = module[key];`]),"});"]))}}if(ge.length===0)return"function() {}";return L.asString(["function(module) {",L.indent(ge),"}"])})).join(",\n")),"],"]);return new R(L.asString([`System.register(${ve}${Ae}, function(${Ie}, __system_context__) {`,L.indent([Qe,L.asString(Je),"return {",L.indent([Ve,"execute: function() {",L.indent(`${Ie}(`)])]),""]),v,L.asString(["",L.indent([L.indent([L.indent([");"]),"}"]),"};"]),"})"]))}chunkHash(v,E,P,{options:R,compilation:$}){E.update("SystemLibraryPlugin");if(R.name){E.update($.getPath(R.name,{chunk:v}))}}}v.exports=SystemLibraryPlugin},30884:function(v,E,P){"use strict";const{ConcatSource:R,OriginalSource:$}=P(51255);const N=P(74805);const L=P(25233);const q=P(84607);const accessorToObjectAccess=v=>v.map((v=>`[${JSON.stringify(v)}]`)).join("");const accessorAccess=(v,E,P=", ")=>{const R=Array.isArray(E)?E:[E];return R.map(((E,P)=>{const $=v?v+accessorToObjectAccess(R.slice(0,P+1)):R[0]+accessorToObjectAccess(R.slice(1,P+1));if(P===R.length-1)return $;if(P===0&&v===undefined)return`${$} = typeof ${$} === "object" ? ${$} : {}`;return`${$} = ${$} || {}`})).join(P)};class UmdLibraryPlugin extends q{constructor(v){super({pluginName:"UmdLibraryPlugin",type:v.type});this.optionalAmdExternalAsGlobal=v.optionalAmdExternalAsGlobal}parseOptions(v){let E;let P;if(typeof v.name==="object"&&!Array.isArray(v.name)){E=v.name.root||v.name.amd||v.name.commonjs;P=v.name}else{E=v.name;const R=Array.isArray(E)?E[0]:E;P={commonjs:R,root:v.name,amd:R}}return{name:E,names:P,auxiliaryComment:v.auxiliaryComment,namedDefine:v.umdNamedDefine}}render(v,{chunkGraph:E,runtimeTemplate:P,chunk:q,moduleGraph:K},{options:ae,compilation:ge}){const be=E.getChunkModules(q).filter((v=>v instanceof N&&(v.externalType==="umd"||v.externalType==="umd2")));let xe=be;const ve=[];let Ae=[];if(this.optionalAmdExternalAsGlobal){for(const v of xe){if(v.isOptional(K)){ve.push(v)}else{Ae.push(v)}}xe=Ae.concat(ve)}else{Ae=xe}const replaceKeys=v=>ge.getPath(v,{chunk:q});const externalsDepsArray=v=>`[${replaceKeys(v.map((v=>JSON.stringify(typeof v.request==="object"?v.request.amd:v.request))).join(", "))}]`;const externalsRootArray=v=>replaceKeys(v.map((v=>{let E=v.request;if(typeof E==="object")E=E.root;return`root${accessorToObjectAccess([].concat(E))}`})).join(", "));const externalsRequireArray=v=>replaceKeys(xe.map((E=>{let P;let R=E.request;if(typeof R==="object"){R=R[v]}if(R===undefined){throw new Error("Missing external configuration for type:"+v)}if(Array.isArray(R)){P=`require(${JSON.stringify(R[0])})${accessorToObjectAccess(R.slice(1))}`}else{P=`require(${JSON.stringify(R)})`}if(E.isOptional(K)){P=`(function webpackLoadOptionalExternalModule() { try { return ${P}; } catch(e) {} }())`}return P})).join(", "));const externalsArguments=v=>v.map((v=>`__WEBPACK_EXTERNAL_MODULE_${L.toIdentifier(`${E.getModuleId(v)}`)}__`)).join(", ");const libraryName=v=>JSON.stringify(replaceKeys([].concat(v).pop()));let Ie;if(ve.length>0){const v=externalsArguments(Ae);const E=Ae.length>0?externalsArguments(Ae)+", "+externalsRootArray(ve):externalsRootArray(ve);Ie=`function webpackLoadOptionalExternalModuleAmd(${v}) {\n`+`\t\t\treturn factory(${E});\n`+"\t\t}"}else{Ie="factory"}const{auxiliaryComment:He,namedDefine:Qe,names:Je}=ae;const getAuxiliaryComment=v=>{if(He){if(typeof He==="string")return"\t//"+He+"\n";if(He[v])return"\t//"+He[v]+"\n"}return""};return new R(new $("(function webpackUniversalModuleDefinition(root, factory) {\n"+getAuxiliaryComment("commonjs2")+"\tif(typeof exports === 'object' && typeof module === 'object')\n"+"\t\tmodule.exports = factory("+externalsRequireArray("commonjs2")+");\n"+getAuxiliaryComment("amd")+"\telse if(typeof define === 'function' && define.amd)\n"+(Ae.length>0?Je.amd&&Qe===true?"\t\tdefine("+libraryName(Je.amd)+", "+externalsDepsArray(Ae)+", "+Ie+");\n":"\t\tdefine("+externalsDepsArray(Ae)+", "+Ie+");\n":Je.amd&&Qe===true?"\t\tdefine("+libraryName(Je.amd)+", [], "+Ie+");\n":"\t\tdefine([], "+Ie+");\n")+(Je.root||Je.commonjs?getAuxiliaryComment("commonjs")+"\telse if(typeof exports === 'object')\n"+"\t\texports["+libraryName(Je.commonjs||Je.root)+"] = factory("+externalsRequireArray("commonjs")+");\n"+getAuxiliaryComment("root")+"\telse\n"+"\t\t"+replaceKeys(accessorAccess("root",Je.root||Je.commonjs))+" = factory("+externalsRootArray(xe)+");\n":"\telse {\n"+(xe.length>0?"\t\tvar a = typeof exports === 'object' ? factory("+externalsRequireArray("commonjs")+") : factory("+externalsRootArray(xe)+");\n":"\t\tvar a = factory();\n")+"\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n"+"\t}\n")+`})(${P.outputOptions.globalObject}, ${P.supportsArrowFunction()?`(${externalsArguments(xe)}) =>`:`function(${externalsArguments(xe)})`} {\nreturn `,"webpack/universalModuleDefinition"),v,";\n})")}}v.exports=UmdLibraryPlugin},61348:function(v,E){"use strict";const P=Object.freeze({error:"error",warn:"warn",info:"info",log:"log",debug:"debug",trace:"trace",group:"group",groupCollapsed:"groupCollapsed",groupEnd:"groupEnd",profile:"profile",profileEnd:"profileEnd",time:"time",clear:"clear",status:"status"});E.LogType=P;const R=Symbol("webpack logger raw log method");const $=Symbol("webpack logger times");const N=Symbol("webpack logger aggregated times");class WebpackLogger{constructor(v,E){this[R]=v;this.getChildLogger=E}error(...v){this[R](P.error,v)}warn(...v){this[R](P.warn,v)}info(...v){this[R](P.info,v)}log(...v){this[R](P.log,v)}debug(...v){this[R](P.debug,v)}assert(v,...E){if(!v){this[R](P.error,E)}}trace(){this[R](P.trace,["Trace"])}clear(){this[R](P.clear)}status(...v){this[R](P.status,v)}group(...v){this[R](P.group,v)}groupCollapsed(...v){this[R](P.groupCollapsed,v)}groupEnd(...v){this[R](P.groupEnd,v)}profile(v){this[R](P.profile,[v])}profileEnd(v){this[R](P.profileEnd,[v])}time(v){this[$]=this[$]||new Map;this[$].set(v,process.hrtime())}timeLog(v){const E=this[$]&&this[$].get(v);if(!E){throw new Error(`No such label '${v}' for WebpackLogger.timeLog()`)}const N=process.hrtime(E);this[R](P.time,[v,...N])}timeEnd(v){const E=this[$]&&this[$].get(v);if(!E){throw new Error(`No such label '${v}' for WebpackLogger.timeEnd()`)}const N=process.hrtime(E);this[$].delete(v);this[R](P.time,[v,...N])}timeAggregate(v){const E=this[$]&&this[$].get(v);if(!E){throw new Error(`No such label '${v}' for WebpackLogger.timeAggregate()`)}const P=process.hrtime(E);this[$].delete(v);this[N]=this[N]||new Map;const R=this[N].get(v);if(R!==undefined){if(P[1]+R[1]>1e9){P[0]+=R[0]+1;P[1]=P[1]-1e9+R[1]}else{P[0]+=R[0];P[1]+=R[1]}}this[N].set(v,P)}timeAggregateEnd(v){if(this[N]===undefined)return;const E=this[N].get(v);if(E===undefined)return;this[N].delete(v);this[R](P.time,[v,...E])}}E.Logger=WebpackLogger},4425:function(v,E,P){"use strict";const{LogType:R}=P(61348);const filterToFunction=v=>{if(typeof v==="string"){const E=new RegExp(`[\\\\/]${v.replace(/[-[\]{}()*+?.\\^$|]/g,"\\$&")}([\\\\/]|$|!|\\?)`);return v=>E.test(v)}if(v&&typeof v==="object"&&typeof v.test==="function"){return E=>v.test(E)}if(typeof v==="function"){return v}if(typeof v==="boolean"){return()=>v}};const $={none:6,false:6,error:5,warn:4,info:3,log:2,true:2,verbose:1};v.exports=({level:v="info",debug:E=false,console:P})=>{const N=typeof E==="boolean"?[()=>E]:[].concat(E).map(filterToFunction);const L=$[`${v}`]||0;const logger=(v,E,q)=>{const labeledArgs=()=>{if(Array.isArray(q)){if(q.length>0&&typeof q[0]==="string"){return[`[${v}] ${q[0]}`,...q.slice(1)]}else{return[`[${v}]`,...q]}}else{return[]}};const K=N.some((E=>E(v)));switch(E){case R.debug:if(!K)return;if(typeof P.debug==="function"){P.debug(...labeledArgs())}else{P.log(...labeledArgs())}break;case R.log:if(!K&&L>$.log)return;P.log(...labeledArgs());break;case R.info:if(!K&&L>$.info)return;P.info(...labeledArgs());break;case R.warn:if(!K&&L>$.warn)return;P.warn(...labeledArgs());break;case R.error:if(!K&&L>$.error)return;P.error(...labeledArgs());break;case R.trace:if(!K)return;P.trace();break;case R.groupCollapsed:if(!K&&L>$.log)return;if(!K&&L>$.verbose){if(typeof P.groupCollapsed==="function"){P.groupCollapsed(...labeledArgs())}else{P.log(...labeledArgs())}break}case R.group:if(!K&&L>$.log)return;if(typeof P.group==="function"){P.group(...labeledArgs())}else{P.log(...labeledArgs())}break;case R.groupEnd:if(!K&&L>$.log)return;if(typeof P.groupEnd==="function"){P.groupEnd()}break;case R.time:{if(!K&&L>$.log)return;const E=q[1]*1e3+q[2]/1e6;const R=`[${v}] ${q[0]}: ${E} ms`;if(typeof P.logTime==="function"){P.logTime(R)}else{P.log(R)}break}case R.profile:if(typeof P.profile==="function"){P.profile(...labeledArgs())}break;case R.profileEnd:if(typeof P.profileEnd==="function"){P.profileEnd(...labeledArgs())}break;case R.clear:if(!K&&L>$.log)return;if(typeof P.clear==="function"){P.clear()}break;case R.status:if(!K&&L>$.info)return;if(typeof P.status==="function"){if(q.length===0){P.status()}else{P.status(...labeledArgs())}}else{if(q.length!==0){P.info(...labeledArgs())}}break;default:throw new Error(`Unexpected LogType ${E}`)}};return logger}},39967:function(v){"use strict";const arraySum=v=>{let E=0;for(const P of v)E+=P;return E};const truncateArgs=(v,E)=>{const P=v.map((v=>`${v}`.length));const R=E-P.length+1;if(R>0&&v.length===1){if(R>=v[0].length){return v}else if(R>3){return["..."+v[0].slice(-R+3)]}else{return[v[0].slice(-R)]}}if(RMath.min(v,6))))){if(v.length>1)return truncateArgs(v.slice(0,v.length-1),E);return[]}let $=arraySum(P);if($<=R)return v;while($>R){const v=Math.max(...P);const E=P.filter((E=>E!==v));const N=E.length>0?Math.max(...E):0;const L=v-N;let q=P.length-E.length;let K=$-R;for(let E=0;E{const R=`${v}`;const $=P[E];if(R.length===$){return R}else if($>5){return"..."+R.slice(-$+3)}else if($>0){return R.slice(-$)}else{return""}}))};v.exports=truncateArgs},36904:function(v,E,P){"use strict";const R=P(92529);const $=P(9578);class CommonJsChunkLoadingPlugin{constructor(v={}){this._asyncChunkLoading=v.asyncChunkLoading}apply(v){const E=this._asyncChunkLoading?P(10077):P(12290);const N=this._asyncChunkLoading?"async-node":"require";new $({chunkLoading:N,asyncChunkLoading:this._asyncChunkLoading}).apply(v);v.hooks.thisCompilation.tap("CommonJsChunkLoadingPlugin",(v=>{const P=v.outputOptions.chunkLoading;const isEnabledForChunk=v=>{const E=v.getEntryOptions();const R=E&&E.chunkLoading!==undefined?E.chunkLoading:P;return R===N};const $=new WeakSet;const handler=(P,N)=>{if($.has(P))return;$.add(P);if(!isEnabledForChunk(P))return;N.add(R.moduleFactoriesAddOnly);N.add(R.hasOwnProperty);v.addRuntimeModule(P,new E(N))};v.hooks.runtimeRequirementInTree.for(R.ensureChunkHandlers).tap("CommonJsChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.hmrDownloadUpdateHandlers).tap("CommonJsChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.hmrDownloadManifest).tap("CommonJsChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.baseURI).tap("CommonJsChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.externalInstallChunk).tap("CommonJsChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.onChunksLoaded).tap("CommonJsChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.ensureChunkHandlers).tap("CommonJsChunkLoadingPlugin",((v,E)=>{if(!isEnabledForChunk(v))return;E.add(R.getChunkScriptFilename)}));v.hooks.runtimeRequirementInTree.for(R.hmrDownloadUpdateHandlers).tap("CommonJsChunkLoadingPlugin",((v,E)=>{if(!isEnabledForChunk(v))return;E.add(R.getChunkUpdateScriptFilename);E.add(R.moduleCache);E.add(R.hmrModuleData);E.add(R.moduleFactoriesAddOnly)}));v.hooks.runtimeRequirementInTree.for(R.hmrDownloadManifest).tap("CommonJsChunkLoadingPlugin",((v,E)=>{if(!isEnabledForChunk(v))return;E.add(R.getUpdateManifestFilename)}))}))}}v.exports=CommonJsChunkLoadingPlugin},6661:function(v,E,P){"use strict";const R=P(82755);const $=P(56450);const N=P(4425);const L=P(95525);const q=P(19259);class NodeEnvironmentPlugin{constructor(v){this.options=v}apply(v){const{infrastructureLogging:E}=this.options;v.infrastructureLogger=N({level:E.level||"info",debug:E.debug||false,console:E.console||q({colors:E.colors,appendOnly:E.appendOnly,stream:E.stream})});v.inputFileSystem=new R($,6e4);const P=v.inputFileSystem;v.outputFileSystem=$;v.intermediateFileSystem=$;v.watchFileSystem=new L(v.inputFileSystem);v.hooks.beforeRun.tap("NodeEnvironmentPlugin",(v=>{if(v.inputFileSystem===P){v.fsStartTime=Date.now();P.purge()}}))}}v.exports=NodeEnvironmentPlugin},27828:function(v){"use strict";class NodeSourcePlugin{apply(v){}}v.exports=NodeSourcePlugin},11966:function(v,E,P){"use strict";const R=P(33554);const $=["assert","assert/strict","async_hooks","buffer","child_process","cluster","console","constants","crypto","dgram","diagnostics_channel","dns","dns/promises","domain","events","fs","fs/promises","http","http2","https","inspector","inspector/promises","module","net","os","path","path/posix","path/win32","perf_hooks","process","punycode","querystring","readline","readline/promises","repl","stream","stream/consumers","stream/promises","stream/web","string_decoder","sys","timers","timers/promises","tls","trace_events","tty","url","util","util/types","v8","vm","wasi","worker_threads","zlib",/^node:/,"pnpapi"];class NodeTargetPlugin{apply(v){new R("node-commonjs",$).apply(v)}}v.exports=NodeTargetPlugin},10649:function(v,E,P){"use strict";const R=P(35564);const $=P(31371);class NodeTemplatePlugin{constructor(v={}){this._options=v}apply(v){const E=this._options.asyncChunkLoading?"async-node":"require";v.options.output.chunkLoading=E;(new R).apply(v);new $(E).apply(v)}}v.exports=NodeTemplatePlugin},95525:function(v,E,P){"use strict";const R=P(73837);const $=P(36871);class NodeWatchFileSystem{constructor(v){this.inputFileSystem=v;this.watcherOptions={aggregateTimeout:0};this.watcher=new $(this.watcherOptions)}watch(v,E,P,N,L,q,K){if(!v||typeof v[Symbol.iterator]!=="function"){throw new Error("Invalid arguments: 'files'")}if(!E||typeof E[Symbol.iterator]!=="function"){throw new Error("Invalid arguments: 'directories'")}if(!P||typeof P[Symbol.iterator]!=="function"){throw new Error("Invalid arguments: 'missing'")}if(typeof q!=="function"){throw new Error("Invalid arguments: 'callback'")}if(typeof N!=="number"&&N){throw new Error("Invalid arguments: 'startTime'")}if(typeof L!=="object"){throw new Error("Invalid arguments: 'options'")}if(typeof K!=="function"&&K){throw new Error("Invalid arguments: 'callbackUndelayed'")}const ae=this.watcher;this.watcher=new $(L);if(K){this.watcher.once("change",K)}const fetchTimeInfo=()=>{const v=new Map;const E=new Map;if(this.watcher){this.watcher.collectTimeInfoEntries(v,E)}return{fileTimeInfoEntries:v,contextTimeInfoEntries:E}};this.watcher.once("aggregated",((v,E)=>{this.watcher.pause();if(this.inputFileSystem&&this.inputFileSystem.purge){const P=this.inputFileSystem;for(const E of v){P.purge(E)}for(const v of E){P.purge(v)}}const{fileTimeInfoEntries:P,contextTimeInfoEntries:R}=fetchTimeInfo();q(null,P,R,v,E)}));this.watcher.watch({files:v,directories:E,missing:P,startTime:N});if(ae){ae.close()}return{close:()=>{if(this.watcher){this.watcher.close();this.watcher=null}},pause:()=>{if(this.watcher){this.watcher.pause()}},getAggregatedRemovals:R.deprecate((()=>{const v=this.watcher&&this.watcher.aggregatedRemovals;if(v&&this.inputFileSystem&&this.inputFileSystem.purge){const E=this.inputFileSystem;for(const P of v){E.purge(P)}}return v}),"Watcher.getAggregatedRemovals is deprecated in favor of Watcher.getInfo since that's more performant.","DEP_WEBPACK_WATCHER_GET_AGGREGATED_REMOVALS"),getAggregatedChanges:R.deprecate((()=>{const v=this.watcher&&this.watcher.aggregatedChanges;if(v&&this.inputFileSystem&&this.inputFileSystem.purge){const E=this.inputFileSystem;for(const P of v){E.purge(P)}}return v}),"Watcher.getAggregatedChanges is deprecated in favor of Watcher.getInfo since that's more performant.","DEP_WEBPACK_WATCHER_GET_AGGREGATED_CHANGES"),getFileTimeInfoEntries:R.deprecate((()=>fetchTimeInfo().fileTimeInfoEntries),"Watcher.getFileTimeInfoEntries is deprecated in favor of Watcher.getInfo since that's more performant.","DEP_WEBPACK_WATCHER_FILE_TIME_INFO_ENTRIES"),getContextTimeInfoEntries:R.deprecate((()=>fetchTimeInfo().contextTimeInfoEntries),"Watcher.getContextTimeInfoEntries is deprecated in favor of Watcher.getInfo since that's more performant.","DEP_WEBPACK_WATCHER_CONTEXT_TIME_INFO_ENTRIES"),getInfo:()=>{const v=this.watcher&&this.watcher.aggregatedRemovals;const E=this.watcher&&this.watcher.aggregatedChanges;if(this.inputFileSystem&&this.inputFileSystem.purge){const P=this.inputFileSystem;if(v){for(const E of v){P.purge(E)}}if(E){for(const v of E){P.purge(v)}}}const{fileTimeInfoEntries:P,contextTimeInfoEntries:R}=fetchTimeInfo();return{changes:E,removals:v,fileTimeInfoEntries:P,contextTimeInfoEntries:R}}}}}v.exports=NodeWatchFileSystem},10077:function(v,E,P){"use strict";const R=P(92529);const $=P(845);const N=P(25233);const{chunkHasJs:L,getChunkFilenameTemplate:q}=P(42453);const{getInitialChunkIds:K}=P(5606);const ae=P(49694);const{getUndoPath:ge}=P(51984);class ReadFileChunkLoadingRuntimeModule extends ${constructor(v){super("readFile chunk loading",$.STAGE_ATTACH);this.runtimeRequirements=v}_generateBaseUri(v,E){const P=v.getEntryOptions();if(P&&P.baseUri){return`${R.baseURI} = ${JSON.stringify(P.baseUri)};`}return`${R.baseURI} = require("url").pathToFileURL(${E?`__dirname + ${JSON.stringify("/"+E)}`:"__filename"});`}generate(){const v=this.compilation;const E=this.chunkGraph;const P=this.chunk;const{runtimeTemplate:$}=v;const be=R.ensureChunkHandlers;const xe=this.runtimeRequirements.has(R.baseURI);const ve=this.runtimeRequirements.has(R.externalInstallChunk);const Ae=this.runtimeRequirements.has(R.onChunksLoaded);const Ie=this.runtimeRequirements.has(R.ensureChunkHandlers);const He=this.runtimeRequirements.has(R.hmrDownloadUpdateHandlers);const Qe=this.runtimeRequirements.has(R.hmrDownloadManifest);const Je=E.getChunkConditionMap(P,L);const Ve=ae(Je);const Ke=K(P,E,L);const Ye=v.getPath(q(P,v.outputOptions),{chunk:P,contentHashType:"javascript"});const Xe=ge(Ye,v.outputOptions.path,false);const Ze=He?`${R.hmrRuntimeStatePrefix}_readFileVm`:undefined;return N.asString([xe?this._generateBaseUri(P,Xe):"// no baseURI","","// object to store loaded chunks",'// "0" means "already loaded", Promise means loading',`var installedChunks = ${Ze?`${Ze} = ${Ze} || `:""}{`,N.indent(Array.from(Ke,(v=>`${JSON.stringify(v)}: 0`)).join(",\n")),"};","",Ae?`${R.onChunksLoaded}.readFileVm = ${$.returningFunction("installedChunks[chunkId] === 0","chunkId")};`:"// no on chunks loaded","",Ie||ve?`var installChunk = ${$.basicFunction("chunk",["var moreModules = chunk.modules, chunkIds = chunk.ids, runtime = chunk.runtime;","for(var moduleId in moreModules) {",N.indent([`if(${R.hasOwnProperty}(moreModules, moduleId)) {`,N.indent([`${R.moduleFactories}[moduleId] = moreModules[moduleId];`]),"}"]),"}",`if(runtime) runtime(${R.require});`,"for(var i = 0; i < chunkIds.length; i++) {",N.indent(["if(installedChunks[chunkIds[i]]) {",N.indent(["installedChunks[chunkIds[i]][0]();"]),"}","installedChunks[chunkIds[i]] = 0;"]),"}",Ae?`${R.onChunksLoaded}();`:""])};`:"// no chunk install function needed","",Ie?N.asString(["// ReadFile + VM.run chunk loading for javascript",`${be}.readFileVm = function(chunkId, promises) {`,Ve!==false?N.indent(["","var installedChunkData = installedChunks[chunkId];",'if(installedChunkData !== 0) { // 0 means "already installed".',N.indent(['// array of [resolve, reject, promise] means "currently loading"',"if(installedChunkData) {",N.indent(["promises.push(installedChunkData[2]);"]),"} else {",N.indent([Ve===true?"if(true) { // all chunks have JS":`if(${Ve("chunkId")}) {`,N.indent(["// load the chunk and return promise to it","var promise = new Promise(function(resolve, reject) {",N.indent(["installedChunkData = installedChunks[chunkId] = [resolve, reject];",`var filename = require('path').join(__dirname, ${JSON.stringify(Xe)} + ${R.getChunkScriptFilename}(chunkId));`,"require('fs').readFile(filename, 'utf-8', function(err, content) {",N.indent(["if(err) return reject(err);","var chunk = {};","require('vm').runInThisContext('(function(exports, require, __dirname, __filename) {' + content + '\\n})', filename)"+"(chunk, require, require('path').dirname(filename), filename);","installChunk(chunk);"]),"});"]),"});","promises.push(installedChunkData[2] = promise);"]),Ve===true?"}":"} else installedChunks[chunkId] = 0;"]),"}"]),"}"]):N.indent(["installedChunks[chunkId] = 0;"]),"};"]):"// no chunk loading","",ve?N.asString([`module.exports = ${R.require};`,`${R.externalInstallChunk} = installChunk;`]):"// no external install chunk","",He?N.asString(["function loadUpdateChunk(chunkId, updatedModulesList) {",N.indent(["return new Promise(function(resolve, reject) {",N.indent([`var filename = require('path').join(__dirname, ${JSON.stringify(Xe)} + ${R.getChunkUpdateScriptFilename}(chunkId));`,"require('fs').readFile(filename, 'utf-8', function(err, content) {",N.indent(["if(err) return reject(err);","var update = {};","require('vm').runInThisContext('(function(exports, require, __dirname, __filename) {' + content + '\\n})', filename)"+"(update, require, require('path').dirname(filename), filename);","var updatedModules = update.modules;","var runtime = update.runtime;","for(var moduleId in updatedModules) {",N.indent([`if(${R.hasOwnProperty}(updatedModules, moduleId)) {`,N.indent([`currentUpdate[moduleId] = updatedModules[moduleId];`,"if(updatedModulesList) updatedModulesList.push(moduleId);"]),"}"]),"}","if(runtime) currentUpdateRuntime.push(runtime);","resolve();"]),"});"]),"});"]),"}","",N.getFunctionContent(require("./JavascriptHotModuleReplacement.runtime.js")).replace(/\$key\$/g,"readFileVm").replace(/\$installedChunks\$/g,"installedChunks").replace(/\$loadUpdateChunk\$/g,"loadUpdateChunk").replace(/\$moduleCache\$/g,R.moduleCache).replace(/\$moduleFactories\$/g,R.moduleFactories).replace(/\$ensureChunkHandlers\$/g,R.ensureChunkHandlers).replace(/\$hasOwnProperty\$/g,R.hasOwnProperty).replace(/\$hmrModuleData\$/g,R.hmrModuleData).replace(/\$hmrDownloadUpdateHandlers\$/g,R.hmrDownloadUpdateHandlers).replace(/\$hmrInvalidateModuleHandlers\$/g,R.hmrInvalidateModuleHandlers)]):"// no HMR","",Qe?N.asString([`${R.hmrDownloadManifest} = function() {`,N.indent(["return new Promise(function(resolve, reject) {",N.indent([`var filename = require('path').join(__dirname, ${JSON.stringify(Xe)} + ${R.getUpdateManifestFilename}());`,"require('fs').readFile(filename, 'utf-8', function(err, content) {",N.indent(["if(err) {",N.indent(['if(err.code === "ENOENT") return resolve();',"return reject(err);"]),"}","try { resolve(JSON.parse(content)); }","catch(e) { reject(e); }"]),"});"]),"});"]),"}"]):"// no HMR manifest"])}}v.exports=ReadFileChunkLoadingRuntimeModule},3992:function(v,E,P){"use strict";const{WEBASSEMBLY_MODULE_TYPE_ASYNC:R}=P(96170);const $=P(92529);const N=P(25233);const L=P(184);class ReadFileCompileAsyncWasmPlugin{constructor({type:v="async-node",import:E=false}={}){this._type=v;this._import=E}apply(v){v.hooks.thisCompilation.tap("ReadFileCompileAsyncWasmPlugin",(v=>{const E=v.outputOptions.wasmLoading;const isEnabledForChunk=v=>{const P=v.getEntryOptions();const R=P&&P.wasmLoading!==undefined?P.wasmLoading:E;return R===this._type};const{importMetaName:P}=v.outputOptions;const q=this._import?v=>N.asString(["Promise.all([import('fs'), import('url')]).then(([{ readFile }, { URL }]) => new Promise((resolve, reject) => {",N.indent([`readFile(new URL(${v}, ${P}.url), (err, buffer) => {`,N.indent(["if (err) return reject(err);","","// Fake fetch response","resolve({",N.indent(["arrayBuffer() { return buffer; }"]),"});"]),"});"]),"}))"]):v=>N.asString(["new Promise(function (resolve, reject) {",N.indent(["try {",N.indent(["var { readFile } = require('fs');","var { join } = require('path');","",`readFile(join(__dirname, ${v}), function(err, buffer){`,N.indent(["if (err) return reject(err);","","// Fake fetch response","resolve({",N.indent(["arrayBuffer() { return buffer; }"]),"});"]),"});"]),"} catch (err) { reject(err); }"]),"})"]);v.hooks.runtimeRequirementInTree.for($.instantiateWasm).tap("ReadFileCompileAsyncWasmPlugin",((E,P)=>{if(!isEnabledForChunk(E))return;const N=v.chunkGraph;if(!N.hasModuleInGraph(E,(v=>v.type===R))){return}P.add($.publicPath);v.addRuntimeModule(E,new L({generateLoadBinaryCode:q,supportsStreaming:false}))}))}))}}v.exports=ReadFileCompileAsyncWasmPlugin},99162:function(v,E,P){"use strict";const{WEBASSEMBLY_MODULE_TYPE_SYNC:R}=P(96170);const $=P(92529);const N=P(25233);const L=P(41068);class ReadFileCompileWasmPlugin{constructor(v={}){this.options=v}apply(v){v.hooks.thisCompilation.tap("ReadFileCompileWasmPlugin",(v=>{const E=v.outputOptions.wasmLoading;const isEnabledForChunk=v=>{const P=v.getEntryOptions();const R=P&&P.wasmLoading!==undefined?P.wasmLoading:E;return R==="async-node"};const generateLoadBinaryCode=v=>N.asString(["new Promise(function (resolve, reject) {",N.indent(["var { readFile } = require('fs');","var { join } = require('path');","","try {",N.indent([`readFile(join(__dirname, ${v}), function(err, buffer){`,N.indent(["if (err) return reject(err);","","// Fake fetch response","resolve({",N.indent(["arrayBuffer() { return buffer; }"]),"});"]),"});"]),"} catch (err) { reject(err); }"]),"})"]);v.hooks.runtimeRequirementInTree.for($.ensureChunkHandlers).tap("ReadFileCompileWasmPlugin",((E,P)=>{if(!isEnabledForChunk(E))return;const N=v.chunkGraph;if(!N.hasModuleInGraph(E,(v=>v.type===R))){return}P.add($.moduleCache);v.addRuntimeModule(E,new L({generateLoadBinaryCode:generateLoadBinaryCode,supportsStreaming:false,mangleImports:this.options.mangleImports,runtimeRequirements:P}))}))}))}}v.exports=ReadFileCompileWasmPlugin},12290:function(v,E,P){"use strict";const R=P(92529);const $=P(845);const N=P(25233);const{chunkHasJs:L,getChunkFilenameTemplate:q}=P(42453);const{getInitialChunkIds:K}=P(5606);const ae=P(49694);const{getUndoPath:ge}=P(51984);class RequireChunkLoadingRuntimeModule extends ${constructor(v){super("require chunk loading",$.STAGE_ATTACH);this.runtimeRequirements=v}_generateBaseUri(v,E){const P=v.getEntryOptions();if(P&&P.baseUri){return`${R.baseURI} = ${JSON.stringify(P.baseUri)};`}return`${R.baseURI} = require("url").pathToFileURL(${E!=="./"?`__dirname + ${JSON.stringify("/"+E)}`:"__filename"});`}generate(){const v=this.compilation;const E=this.chunkGraph;const P=this.chunk;const{runtimeTemplate:$}=v;const be=R.ensureChunkHandlers;const xe=this.runtimeRequirements.has(R.baseURI);const ve=this.runtimeRequirements.has(R.externalInstallChunk);const Ae=this.runtimeRequirements.has(R.onChunksLoaded);const Ie=this.runtimeRequirements.has(R.ensureChunkHandlers);const He=this.runtimeRequirements.has(R.hmrDownloadUpdateHandlers);const Qe=this.runtimeRequirements.has(R.hmrDownloadManifest);const Je=E.getChunkConditionMap(P,L);const Ve=ae(Je);const Ke=K(P,E,L);const Ye=v.getPath(q(P,v.outputOptions),{chunk:P,contentHashType:"javascript"});const Xe=ge(Ye,v.outputOptions.path,true);const Ze=He?`${R.hmrRuntimeStatePrefix}_require`:undefined;return N.asString([xe?this._generateBaseUri(P,Xe):"// no baseURI","","// object to store loaded chunks",'// "1" means "loaded", otherwise not loaded yet',`var installedChunks = ${Ze?`${Ze} = ${Ze} || `:""}{`,N.indent(Array.from(Ke,(v=>`${JSON.stringify(v)}: 1`)).join(",\n")),"};","",Ae?`${R.onChunksLoaded}.require = ${$.returningFunction("installedChunks[chunkId]","chunkId")};`:"// no on chunks loaded","",Ie||ve?`var installChunk = ${$.basicFunction("chunk",["var moreModules = chunk.modules, chunkIds = chunk.ids, runtime = chunk.runtime;","for(var moduleId in moreModules) {",N.indent([`if(${R.hasOwnProperty}(moreModules, moduleId)) {`,N.indent([`${R.moduleFactories}[moduleId] = moreModules[moduleId];`]),"}"]),"}",`if(runtime) runtime(${R.require});`,"for(var i = 0; i < chunkIds.length; i++)",N.indent("installedChunks[chunkIds[i]] = 1;"),Ae?`${R.onChunksLoaded}();`:""])};`:"// no chunk install function needed","",Ie?N.asString(["// require() chunk loading for javascript",`${be}.require = ${$.basicFunction("chunkId, promises",Ve!==false?['// "1" is the signal for "already loaded"',"if(!installedChunks[chunkId]) {",N.indent([Ve===true?"if(true) { // all chunks have JS":`if(${Ve("chunkId")}) {`,N.indent([`installChunk(require(${JSON.stringify(Xe)} + ${R.getChunkScriptFilename}(chunkId)));`]),"} else installedChunks[chunkId] = 1;",""]),"}"]:"installedChunks[chunkId] = 1;")};`]):"// no chunk loading","",ve?N.asString([`module.exports = ${R.require};`,`${R.externalInstallChunk} = installChunk;`]):"// no external install chunk","",He?N.asString(["function loadUpdateChunk(chunkId, updatedModulesList) {",N.indent([`var update = require(${JSON.stringify(Xe)} + ${R.getChunkUpdateScriptFilename}(chunkId));`,"var updatedModules = update.modules;","var runtime = update.runtime;","for(var moduleId in updatedModules) {",N.indent([`if(${R.hasOwnProperty}(updatedModules, moduleId)) {`,N.indent([`currentUpdate[moduleId] = updatedModules[moduleId];`,"if(updatedModulesList) updatedModulesList.push(moduleId);"]),"}"]),"}","if(runtime) currentUpdateRuntime.push(runtime);"]),"}","",N.getFunctionContent(require("./JavascriptHotModuleReplacement.runtime.js")).replace(/\$key\$/g,"require").replace(/\$installedChunks\$/g,"installedChunks").replace(/\$loadUpdateChunk\$/g,"loadUpdateChunk").replace(/\$moduleCache\$/g,R.moduleCache).replace(/\$moduleFactories\$/g,R.moduleFactories).replace(/\$ensureChunkHandlers\$/g,R.ensureChunkHandlers).replace(/\$hasOwnProperty\$/g,R.hasOwnProperty).replace(/\$hmrModuleData\$/g,R.hmrModuleData).replace(/\$hmrDownloadUpdateHandlers\$/g,R.hmrDownloadUpdateHandlers).replace(/\$hmrInvalidateModuleHandlers\$/g,R.hmrInvalidateModuleHandlers)]):"// no HMR","",Qe?N.asString([`${R.hmrDownloadManifest} = function() {`,N.indent(["return Promise.resolve().then(function() {",N.indent([`return require(${JSON.stringify(Xe)} + ${R.getUpdateManifestFilename}());`]),"})['catch'](function(err) { if(err.code !== 'MODULE_NOT_FOUND') throw err; });"]),"}"]):"// no HMR manifest"])}}v.exports=RequireChunkLoadingRuntimeModule},19259:function(v,E,P){"use strict";const R=P(73837);const $=P(39967);v.exports=({colors:v,appendOnly:E,stream:P})=>{let N=undefined;let L=false;let q="";let K=0;const indent=(E,P,R,$)=>{if(E==="")return E;P=q+P;if(v){return P+R+E.replace(/\n/g,$+"\n"+P+R)+$}else{return P+E.replace(/\n/g,"\n"+P)}};const clearStatusMessage=()=>{if(L){P.write("\r");L=false}};const writeStatusMessage=()=>{if(!N)return;const v=P.columns||40;const E=$(N,v-1);const R=E.join(" ");const q=`${R}`;P.write(`\r${q}`);L=true};const writeColored=(v,E,$)=>(...N)=>{if(K>0)return;clearStatusMessage();const L=indent(R.format(...N),v,E,$);P.write(L+"\n");writeStatusMessage()};const ae=writeColored("<-> ","","");const ge=writeColored("<+> ","","");return{log:writeColored(" ","",""),debug:writeColored(" ","",""),trace:writeColored(" ","",""),info:writeColored(" ","",""),warn:writeColored(" ","",""),error:writeColored(" ","",""),logTime:writeColored(" ","",""),group:(...v)=>{ae(...v);if(K>0){K++}else{q+=" "}},groupCollapsed:(...v)=>{ge(...v);K++},groupEnd:()=>{if(K>0)K--;else if(q.length>=2)q=q.slice(0,q.length-2)},profile:console.profile&&(v=>console.profile(v)),profileEnd:console.profileEnd&&(v=>console.profileEnd(v)),clear:!E&&console.clear&&(()=>{clearStatusMessage();console.clear();writeStatusMessage()}),status:E?writeColored(" ","",""):(v,...E)=>{E=E.filter(Boolean);if(v===undefined&&E.length===0){clearStatusMessage();N=undefined}else if(typeof v==="string"&&v.startsWith("[webpack.Progress] ")){N=[v.slice(19),...E];writeStatusMessage()}else if(v==="[webpack.Progress]"){N=[...E];writeStatusMessage()}else{N=[v,...E];writeStatusMessage()}}}}},1969:function(v,E,P){"use strict";const{STAGE_ADVANCED:R}=P(63171);class AggressiveMergingPlugin{constructor(v){if(v!==undefined&&typeof v!=="object"||Array.isArray(v)){throw new Error("Argument should be an options object. To use defaults, pass in nothing.\nFor more info on options, see https://webpack.js.org/plugins/")}this.options=v||{}}apply(v){const E=this.options;const P=E.minSizeReduce||1.5;v.hooks.thisCompilation.tap("AggressiveMergingPlugin",(v=>{v.hooks.optimizeChunks.tap({name:"AggressiveMergingPlugin",stage:R},(E=>{const R=v.chunkGraph;let $=[];for(const v of E){if(v.canBeInitial())continue;for(const P of E){if(P.canBeInitial())continue;if(P===v)break;if(!R.canChunksBeIntegrated(v,P)){continue}const E=R.getChunkSize(P,{chunkOverhead:0});const N=R.getChunkSize(v,{chunkOverhead:0});const L=R.getIntegratedChunksSize(P,v,{chunkOverhead:0});const q=(E+N)/L;$.push({a:v,b:P,improvement:q})}}$.sort(((v,E)=>E.improvement-v.improvement));const N=$[0];if(!N)return;if(N.improvementP(99885)),{name:"Aggressive Splitting Plugin",baseDataPath:"options"});const moveModuleBetween=(v,E,P)=>R=>{v.disconnectChunkAndModule(E,R);v.connectChunkAndModule(P,R)};const isNotAEntryModule=(v,E)=>P=>!v.isEntryModuleInChunk(P,E);const ge=new WeakSet;class AggressiveSplittingPlugin{constructor(v={}){ae(v);this.options=v;if(typeof this.options.minSize!=="number"){this.options.minSize=30*1024}if(typeof this.options.maxSize!=="number"){this.options.maxSize=50*1024}if(typeof this.options.chunkOverhead!=="number"){this.options.chunkOverhead=0}if(typeof this.options.entryChunkMultiplicator!=="number"){this.options.entryChunkMultiplicator=1}}static wasChunkRecorded(v){return ge.has(v)}apply(v){v.hooks.thisCompilation.tap("AggressiveSplittingPlugin",(E=>{let P=false;let q;let ae;let be;E.hooks.optimize.tap("AggressiveSplittingPlugin",(()=>{q=[];ae=new Set;be=new Map}));E.hooks.optimizeChunks.tap({name:"AggressiveSplittingPlugin",stage:R},(P=>{const R=E.chunkGraph;const ge=new Map;const xe=new Map;const ve=K.makePathsRelative.bindContextCache(v.context,v.root);for(const v of E.modules){const E=ve(v.identifier());ge.set(E,v);xe.set(v,E)}const Ae=new Set;for(const v of P){Ae.add(v.id)}const Ie=E.records&&E.records.aggressiveSplits||[];const He=q?Ie.concat(q):Ie;const Qe=this.options.minSize;const Je=this.options.maxSize;const applySplit=v=>{if(v.id!==undefined&&Ae.has(v.id)){return false}const P=v.modules.map((v=>ge.get(v)));if(!P.every(Boolean))return false;let N=0;for(const v of P)N+=v.size();if(N!==v.size)return false;const L=$(P.map((v=>new Set(R.getModuleChunksIterable(v)))));if(L.size===0)return false;if(L.size===1&&R.getNumberOfChunkModules(Array.from(L)[0])===P.length){const E=Array.from(L)[0];if(ae.has(E))return false;ae.add(E);be.set(E,v);return true}const q=E.addChunk();q.chunkReason="aggressive splitted";for(const v of L){P.forEach(moveModuleBetween(R,v,q));v.split(q);v.name=null}ae.add(q);be.set(q,v);if(v.id!==null&&v.id!==undefined){q.id=v.id;q.ids=[v.id]}return true};let Ve=false;for(let v=0;v{const P=R.getChunkModulesSize(E)-R.getChunkModulesSize(v);if(P)return P;const $=R.getNumberOfChunkModules(v)-R.getNumberOfChunkModules(E);if($)return $;return Ke(v,E)}));for(const v of Ye){if(ae.has(v))continue;const E=R.getChunkModulesSize(v);if(E>Je&&R.getNumberOfChunkModules(v)>1){const E=R.getOrderedChunkModules(v,N).filter(isNotAEntryModule(R,v));const P=[];let $=0;for(let v=0;vJe&&$>=Qe){break}$=N;P.push(R)}if(P.length===0)continue;const L={modules:P.map((v=>xe.get(v))).sort(),size:$};if(applySplit(L)){q=(q||[]).concat(L);Ve=true}}}if(Ve)return true}));E.hooks.recordHash.tap("AggressiveSplittingPlugin",(v=>{const R=new Set;const $=new Set;for(const v of E.chunks){const E=be.get(v);if(E!==undefined){if(E.hash&&v.hash!==E.hash){$.add(E)}}}if($.size>0){v.aggressiveSplits=v.aggressiveSplits.filter((v=>!$.has(v)));P=true}else{for(const v of E.chunks){const E=be.get(v);if(E!==undefined){E.hash=v.hash;E.id=v.id;R.add(E);ge.add(v)}}const N=E.records&&E.records.aggressiveSplits;if(N){for(const v of N){if(!$.has(v))R.add(v)}}v.aggressiveSplits=Array.from(R);P=false}}));E.hooks.needAdditionalSeal.tap("AggressiveSplittingPlugin",(()=>{if(P){P=false;return true}}))}))}}v.exports=AggressiveSplittingPlugin},98557:function(v,E,P){"use strict";const R=P(12836);const $=P(48648);const{CachedSource:N,ConcatSource:L,ReplaceSource:q}=P(51255);const K=P(32757);const{UsageState:ae}=P(8435);const ge=P(72011);const{JAVASCRIPT_MODULE_TYPE_ESM:be}=P(96170);const xe=P(92529);const ve=P(25233);const Ae=P(24647);const Ie=P(51224);const{equals:He}=P(30806);const Qe=P(2035);const{concatComparators:Je}=P(28273);const Ve=P(20932);const{makePathsRelative:Ke}=P(51984);const Ye=P(41718);const Xe=P(11930);const{propertyName:Ze}=P(15780);const{filterRuntime:et,intersectRuntime:tt,mergeRuntimeCondition:nt,mergeRuntimeConditionNonFalse:st,runtimeConditionToString:rt,subtractRuntimeCondition:ot}=P(65153);const it=$;if(!it.prototype.PropertyDefinition){it.prototype.PropertyDefinition=it.prototype.Property}const at=new Set([K.DEFAULT_EXPORT,K.NAMESPACE_OBJECT_EXPORT,"abstract,arguments,async,await,boolean,break,byte,case,catch,char,class,const,continue","debugger,default,delete,do,double,else,enum,eval,export,extends,false,final,finally,float","for,function,goto,if,implements,import,in,instanceof,int,interface,let,long,native,new,null","package,private,protected,public,return,short,static,super,switch,synchronized,this,throw","throws,transient,true,try,typeof,var,void,volatile,while,with,yield","module,__dirname,__filename,exports,require,define","Array,Date,eval,function,hasOwnProperty,Infinity,isFinite,isNaN,isPrototypeOf,length,Math","NaN,name,Number,Object,prototype,String,toString,undefined,valueOf","alert,all,anchor,anchors,area,assign,blur,button,checkbox,clearInterval,clearTimeout","clientInformation,close,closed,confirm,constructor,crypto,decodeURI,decodeURIComponent","defaultStatus,document,element,elements,embed,embeds,encodeURI,encodeURIComponent,escape","event,fileUpload,focus,form,forms,frame,innerHeight,innerWidth,layer,layers,link,location","mimeTypes,navigate,navigator,frames,frameRate,hidden,history,image,images,offscreenBuffering","open,opener,option,outerHeight,outerWidth,packages,pageXOffset,pageYOffset,parent,parseFloat","parseInt,password,pkcs11,plugin,prompt,propertyIsEnum,radio,reset,screenX,screenY,scroll","secure,select,self,setInterval,setTimeout,status,submit,taint,text,textarea,top,unescape","untaint,window","onblur,onclick,onerror,onfocus,onkeydown,onkeypress,onkeyup,onmouseover,onload,onmouseup,onmousedown,onsubmit"].join(",").split(","));const createComparator=(v,E)=>(P,R)=>E(P[v],R[v]);const compareNumbers=(v,E)=>{if(isNaN(v)){if(!isNaN(E)){return 1}}else{if(isNaN(E)){return-1}if(v!==E){return v{let E="";let P=true;for(const R of v){if(P){P=false}else{E+=", "}E+=R}return E};const getFinalBinding=(v,E,P,R,$,N,L,q,K,ae,ge,be=new Set)=>{const xe=E.module.getExportsType(v,ae);if(P.length===0){switch(xe){case"default-only":E.interopNamespaceObject2Used=true;return{info:E,rawName:E.interopNamespaceObject2Name,ids:P,exportName:P};case"default-with-named":E.interopNamespaceObjectUsed=true;return{info:E,rawName:E.interopNamespaceObjectName,ids:P,exportName:P};case"namespace":case"dynamic":break;default:throw new Error(`Unexpected exportsType ${xe}`)}}else{switch(xe){case"namespace":break;case"default-with-named":switch(P[0]){case"default":P=P.slice(1);break;case"__esModule":return{info:E,rawName:"/* __esModule */true",ids:P.slice(1),exportName:P}}break;case"default-only":{const v=P[0];if(v==="__esModule"){return{info:E,rawName:"/* __esModule */true",ids:P.slice(1),exportName:P}}P=P.slice(1);if(v!=="default"){return{info:E,rawName:"/* non-default import from default-exporting module */undefined",ids:P,exportName:P}}break}case"dynamic":switch(P[0]){case"default":{P=P.slice(1);E.interopDefaultAccessUsed=true;const v=K?`${E.interopDefaultAccessName}()`:ge?`(${E.interopDefaultAccessName}())`:ge===false?`;(${E.interopDefaultAccessName}())`:`${E.interopDefaultAccessName}.a`;return{info:E,rawName:v,ids:P,exportName:P}}case"__esModule":return{info:E,rawName:"/* __esModule */true",ids:P.slice(1),exportName:P}}break;default:throw new Error(`Unexpected exportsType ${xe}`)}}if(P.length===0){switch(E.type){case"concatenated":q.add(E);return{info:E,rawName:E.namespaceObjectName,ids:P,exportName:P};case"external":return{info:E,rawName:E.name,ids:P,exportName:P}}}const Ae=v.getExportsInfo(E.module);const Ie=Ae.getExportInfo(P[0]);if(be.has(Ie)){return{info:E,rawName:"/* circular reexport */ Object(function x() { x() }())",ids:[],exportName:P}}be.add(Ie);switch(E.type){case"concatenated":{const ae=P[0];if(Ie.provided===false){q.add(E);return{info:E,rawName:E.namespaceObjectName,ids:P,exportName:P}}const xe=E.exportMap&&E.exportMap.get(ae);if(xe){const v=Ae.getUsedName(P,$);if(!v){return{info:E,rawName:"/* unused export */ undefined",ids:P.slice(1),exportName:P}}return{info:E,name:xe,ids:v.slice(1),exportName:P}}const ve=E.rawExportMap&&E.rawExportMap.get(ae);if(ve){return{info:E,rawName:ve,ids:P.slice(1),exportName:P}}const He=Ie.findTarget(v,(v=>R.has(v)));if(He===false){throw new Error(`Target module of reexport from '${E.module.readableIdentifier(N)}' is not part of the concatenation (export '${ae}')\nModules in the concatenation:\n${Array.from(R,(([v,E])=>` * ${E.type} ${v.readableIdentifier(N)}`)).join("\n")}`)}if(He){const ae=R.get(He.module);return getFinalBinding(v,ae,He.export?[...He.export,...P.slice(1)]:P.slice(1),R,$,N,L,q,K,E.module.buildMeta.strictHarmonyModule,ge,be)}if(E.namespaceExportSymbol){const v=Ae.getUsedName(P,$);return{info:E,rawName:E.namespaceObjectName,ids:v,exportName:P}}throw new Error(`Cannot get final name for export '${P.join(".")}' of ${E.module.readableIdentifier(N)}`)}case"external":{const v=Ae.getUsedName(P,$);if(!v){return{info:E,rawName:"/* unused export */ undefined",ids:P.slice(1),exportName:P}}const R=He(v,P)?"":ve.toNormalComment(`${P.join(".")}`);return{info:E,rawName:E.name+R,ids:v,exportName:P}}}};const getFinalName=(v,E,P,R,$,N,L,q,K,ae,ge,be)=>{const xe=getFinalBinding(v,E,P,R,$,N,L,q,K,ge,be);{const{ids:v,comment:E}=xe;let P;let R;if("rawName"in xe){P=`${xe.rawName}${E||""}${Xe(v)}`;R=v.length>0}else{const{info:$,name:L}=xe;const q=$.internalNames.get(L);if(!q){throw new Error(`The export "${L}" in "${$.module.readableIdentifier(N)}" has no internal name (existing names: ${Array.from($.internalNames,(([v,E])=>`${v}: ${E}`)).join(", ")||"none"})`)}P=`${q}${E||""}${Xe(v)}`;R=v.length>1}if(R&&K&&ae===false){return be?`(0,${P})`:be===false?`;(0,${P})`:`/*#__PURE__*/Object(${P})`}return P}};const addScopeSymbols=(v,E,P,R)=>{let $=v;while($){if(P.has($))break;if(R.has($))break;P.add($);for(const v of $.variables){E.add(v.name)}$=$.upper}};const getAllReferences=v=>{let E=v.references;const P=new Set(v.identifiers);for(const R of v.scope.childScopes){for(const v of R.variables){if(v.identifiers.some((v=>P.has(v)))){E=E.concat(v.references);break}}}return E};const getPathInAst=(v,E)=>{if(v===E){return[]}const P=E.range;const enterNode=v=>{if(!v)return undefined;const R=v.range;if(R){if(R[0]<=P[0]&&R[1]>=P[1]){const P=getPathInAst(v,E);if(P){P.push(v);return P}}}return undefined};if(Array.isArray(v)){for(let E=0;E!(v instanceof Ae)||!this._modules.has(E.moduleGraph.getModule(v))))){this.dependencies.push(P)}for(const E of v.blocks){this.blocks.push(E)}const P=v.getWarnings();if(P!==undefined){for(const v of P){this.addWarning(v)}}const R=v.getErrors();if(R!==undefined){for(const v of R){this.addError(v)}}if(v.buildInfo.topLevelDeclarations){const E=this.buildInfo.topLevelDeclarations;if(E!==undefined){for(const P of v.buildInfo.topLevelDeclarations){E.add(P)}}}else{this.buildInfo.topLevelDeclarations=undefined}if(v.buildInfo.assets){if(this.buildInfo.assets===undefined){this.buildInfo.assets=Object.create(null)}Object.assign(this.buildInfo.assets,v.buildInfo.assets)}if(v.buildInfo.assetsInfo){if(this.buildInfo.assetsInfo===undefined){this.buildInfo.assetsInfo=new Map}for(const[E,P]of v.buildInfo.assetsInfo){this.buildInfo.assetsInfo.set(E,P)}}}$()}size(v){let E=0;for(const P of this._modules){E+=P.size(v)}return E}_createConcatenationList(v,E,P,R){const $=[];const N=new Map;const getConcatenatedImports=E=>{let $=Array.from(R.getOutgoingConnections(E));if(E===v){for(const v of R.getOutgoingConnections(this))$.push(v)}const N=$.filter((v=>{if(!(v.dependency instanceof Ae))return false;return v&&v.resolvedOriginModule===E&&v.module&&v.isTargetActive(P)})).map((v=>{const E=v.dependency;return{connection:v,sourceOrder:E.sourceOrder,rangeStart:E.range&&E.range[0]}}));N.sort(Je(ct,lt));const L=new Map;for(const{connection:v}of N){const E=et(P,(E=>v.isTargetActive(E)));if(E===false)continue;const R=v.module;const $=L.get(R);if($===undefined){L.set(R,{connection:v,runtimeCondition:E});continue}$.runtimeCondition=st($.runtimeCondition,E,P)}return L.values()};const enterModule=(v,R)=>{const L=v.module;if(!L)return;const q=N.get(L);if(q===true){return}if(E.has(L)){N.set(L,true);if(R!==true){throw new Error(`Cannot runtime-conditional concatenate a module (${L.identifier()} in ${this.rootModule.identifier()}, ${rt(R)}). This should not happen.`)}const E=getConcatenatedImports(L);for(const{connection:v,runtimeCondition:P}of E)enterModule(v,P);$.push({type:"concatenated",module:v.module,runtimeCondition:R})}else{if(q!==undefined){const E=ot(R,q,P);if(E===false)return;R=E;N.set(v.module,st(q,R,P))}else{N.set(v.module,R)}if($.length>0){const E=$[$.length-1];if(E.type==="external"&&E.module===v.module){E.runtimeCondition=nt(E.runtimeCondition,R,P);return}}$.push({type:"external",get module(){return v.module},runtimeCondition:R})}};N.set(v,true);const L=getConcatenatedImports(v);for(const{connection:v,runtimeCondition:E}of L)enterModule(v,E);$.push({type:"concatenated",module:v,runtimeCondition:true});return $}static _createIdentifier(v,E,P,R="md4"){const $=Ke.bindContextCache(v.context,P);let N=[];for(const v of E){N.push($(v.identifier()))}N.sort();const L=Ve(R);L.update(N.join(" "));return v.identifier()+"|"+L.digest("hex")}addCacheDependencies(v,E,P,R){for(const $ of this._modules){$.addCacheDependencies(v,E,P,R)}}codeGeneration({dependencyTemplates:v,runtimeTemplate:E,moduleGraph:P,chunkGraph:R,runtime:$,codeGenerationResults:q}){const ge=new Set;const be=tt($,this._runtime);const ve=E.requestShortener;const[Ae,Ie]=this._getModulesWithInfo(P,be);const He=new Set;for(const $ of Ie.values()){this._analyseModule(Ie,$,v,E,P,R,be,q)}const Qe=new Set(at);const Je=new Set;const Ve=new Map;const getUsedNamesInScopeInfo=(v,E)=>{const P=`${v}-${E}`;let R=Ve.get(P);if(R===undefined){R={usedNames:new Set,alreadyCheckedScopes:new Set};Ve.set(P,R)}return R};const Ke=new Set;for(const v of Ae){if(v.type==="concatenated"){if(v.moduleScope){Ke.add(v.moduleScope)}const R=new WeakMap;const getSuperClassExpressions=v=>{const E=R.get(v);if(E!==undefined)return E;const P=[];for(const E of v.childScopes){if(E.type!=="class")continue;const v=E.block;if((v.type==="ClassDeclaration"||v.type==="ClassExpression")&&v.superClass){P.push({range:v.superClass.range,variables:E.variables})}}R.set(v,P);return P};if(v.globalScope){for(const R of v.globalScope.through){const $=R.identifier.name;if(K.isModuleReference($)){const N=K.matchModuleReference($);if(!N)continue;const L=Ae[N.index];if(L.type==="reference")throw new Error("Module reference can't point to a reference");const q=getFinalBinding(P,L,N.ids,Ie,be,ve,E,He,false,v.module.buildMeta.strictHarmonyModule,true);if(!q.ids)continue;const{usedNames:ae,alreadyCheckedScopes:ge}=getUsedNamesInScopeInfo(q.info.module.identifier(),"name"in q?q.name:"");for(const v of getSuperClassExpressions(R.from)){if(v.range[0]<=R.identifier.range[0]&&v.range[1]>=R.identifier.range[1]){for(const E of v.variables){ae.add(E.name)}}}addScopeSymbols(R.from,ae,ge,Ke)}else{Qe.add($)}}}}}for(const v of Ie.values()){const{usedNames:E}=getUsedNamesInScopeInfo(v.module.identifier(),"");switch(v.type){case"concatenated":{for(const E of v.moduleScope.variables){const P=E.name;const{usedNames:R,alreadyCheckedScopes:$}=getUsedNamesInScopeInfo(v.module.identifier(),P);if(Qe.has(P)||R.has(P)){const N=getAllReferences(E);for(const v of N){addScopeSymbols(v.from,R,$,Ke)}const L=this.findNewName(P,Qe,R,v.module.readableIdentifier(ve));Qe.add(L);v.internalNames.set(P,L);Je.add(L);const q=v.source;const K=new Set(N.map((v=>v.identifier)).concat(E.identifiers));for(const E of K){const P=E.range;const R=getPathInAst(v.ast,E);if(R&&R.length>1){const v=R[1].type==="AssignmentPattern"&&R[1].left===R[0]?R[2]:R[1];if(v.type==="Property"&&v.shorthand){q.insert(P[1],`: ${L}`);continue}}q.replace(P[0],P[1]-1,L)}}else{Qe.add(P);v.internalNames.set(P,P);Je.add(P)}}let P;if(v.namespaceExportSymbol){P=v.internalNames.get(v.namespaceExportSymbol)}else{P=this.findNewName("namespaceObject",Qe,E,v.module.readableIdentifier(ve));Qe.add(P)}v.namespaceObjectName=P;Je.add(P);break}case"external":{const P=this.findNewName("",Qe,E,v.module.readableIdentifier(ve));Qe.add(P);v.name=P;Je.add(P);break}}if(v.module.buildMeta.exportsType!=="namespace"){const P=this.findNewName("namespaceObject",Qe,E,v.module.readableIdentifier(ve));Qe.add(P);v.interopNamespaceObjectName=P;Je.add(P)}if(v.module.buildMeta.exportsType==="default"&&v.module.buildMeta.defaultObject!=="redirect"){const P=this.findNewName("namespaceObject2",Qe,E,v.module.readableIdentifier(ve));Qe.add(P);v.interopNamespaceObject2Name=P;Je.add(P)}if(v.module.buildMeta.exportsType==="dynamic"||!v.module.buildMeta.exportsType){const P=this.findNewName("default",Qe,E,v.module.readableIdentifier(ve));Qe.add(P);v.interopDefaultAccessName=P;Je.add(P)}}for(const v of Ie.values()){if(v.type==="concatenated"){for(const R of v.globalScope.through){const $=R.identifier.name;const N=K.matchModuleReference($);if(N){const $=Ae[N.index];if($.type==="reference")throw new Error("Module reference can't point to a reference");const L=getFinalName(P,$,N.ids,Ie,be,ve,E,He,N.call,!N.directImport,v.module.buildMeta.strictHarmonyModule,N.asiSafe);const q=R.identifier.range;const K=v.source;K.replace(q[0],q[1]+1,L)}}}}const Ye=new Map;const Xe=new Set;const et=Ie.get(this.rootModule);const nt=et.module.buildMeta.strictHarmonyModule;const st=P.getExportsInfo(et.module);for(const v of st.orderedExports){const R=v.name;if(v.provided===false)continue;const $=v.getUsedName(undefined,be);if(!$){Xe.add(R);continue}Ye.set($,(N=>{try{const $=getFinalName(P,et,[R],Ie,be,N,E,He,false,false,nt,true);return`/* ${v.isReexport()?"reexport":"binding"} */ ${$}`}catch(v){v.message+=`\nwhile generating the root export '${R}' (used name: '${$}')`;throw v}}))}const rt=new L;if(P.getExportsInfo(this).otherExportsInfo.getUsed(be)!==ae.Unused){rt.add(`// ESM COMPAT FLAG\n`);rt.add(E.defineEsModuleFlagStatement({exportsArgument:this.exportsArgument,runtimeRequirements:ge}))}if(Ye.size>0){ge.add(xe.exports);ge.add(xe.definePropertyGetters);const v=[];for(const[P,R]of Ye){v.push(`\n ${Ze(P)}: ${E.returningFunction(R(ve))}`)}rt.add(`\n// EXPORTS\n`);rt.add(`${xe.definePropertyGetters}(${this.exportsArgument}, {${v.join(",")}\n});\n`)}if(Xe.size>0){rt.add(`\n// UNUSED EXPORTS: ${joinIterableWithComma(Xe)}\n`)}const ot=new Map;for(const v of He){if(v.namespaceExportSymbol)continue;const R=[];const $=P.getExportsInfo(v.module);for(const N of $.orderedExports){if(N.provided===false)continue;const $=N.getUsedName(undefined,be);if($){const L=getFinalName(P,v,[N.name],Ie,be,ve,E,He,false,undefined,v.module.buildMeta.strictHarmonyModule,true);R.push(`\n ${Ze($)}: ${E.returningFunction(L)}`)}}const N=v.namespaceObjectName;const L=R.length>0?`${xe.definePropertyGetters}(${N}, {${R.join(",")}\n});\n`:"";if(R.length>0)ge.add(xe.definePropertyGetters);ot.set(v,`\n// NAMESPACE OBJECT: ${v.module.readableIdentifier(ve)}\nvar ${N} = {};\n${xe.makeNamespaceObject}(${N});\n${L}`);ge.add(xe.makeNamespaceObject)}for(const v of Ae){if(v.type==="concatenated"){const E=ot.get(v);if(!E)continue;rt.add(E)}}const it=[];for(const v of Ae){let P;let $=false;const N=v.type==="reference"?v.target:v;switch(N.type){case"concatenated":{rt.add(`\n;// CONCATENATED MODULE: ${N.module.readableIdentifier(ve)}\n`);rt.add(N.source);if(N.chunkInitFragments){for(const v of N.chunkInitFragments)it.push(v)}if(N.runtimeRequirements){for(const v of N.runtimeRequirements){ge.add(v)}}P=N.namespaceObjectName;break}case"external":{rt.add(`\n// EXTERNAL MODULE: ${N.module.readableIdentifier(ve)}\n`);ge.add(xe.require);const{runtimeCondition:L}=v;const q=E.runtimeConditionExpression({chunkGraph:R,runtimeCondition:L,runtime:be,runtimeRequirements:ge});if(q!=="true"){$=true;rt.add(`if (${q}) {\n`)}rt.add(`var ${N.name} = ${xe.require}(${JSON.stringify(R.getModuleId(N.module))});`);P=N.name;break}default:throw new Error(`Unsupported concatenation entry type ${N.type}`)}if(N.interopNamespaceObjectUsed){ge.add(xe.createFakeNamespaceObject);rt.add(`\nvar ${N.interopNamespaceObjectName} = /*#__PURE__*/${xe.createFakeNamespaceObject}(${P}, 2);`)}if(N.interopNamespaceObject2Used){ge.add(xe.createFakeNamespaceObject);rt.add(`\nvar ${N.interopNamespaceObject2Name} = /*#__PURE__*/${xe.createFakeNamespaceObject}(${P});`)}if(N.interopDefaultAccessUsed){ge.add(xe.compatGetDefaultExport);rt.add(`\nvar ${N.interopDefaultAccessName} = /*#__PURE__*/${xe.compatGetDefaultExport}(${P});`)}if($){rt.add("\n}")}}const ct=new Map;if(it.length>0)ct.set("chunkInitFragments",it);ct.set("topLevelDeclarations",Je);const lt={sources:new Map([["javascript",new N(rt)]]),data:ct,runtimeRequirements:ge};return lt}_analyseModule(v,E,P,$,N,L,ae,ge){if(E.type==="concatenated"){const be=E.module;try{const xe=new K(v,E);const ve=be.codeGeneration({dependencyTemplates:P,runtimeTemplate:$,moduleGraph:N,chunkGraph:L,runtime:ae,concatenationScope:xe,codeGenerationResults:ge,sourceTypes:ut});const Ae=ve.sources.get("javascript");const He=ve.data;const Qe=He&&He.get("chunkInitFragments");const Je=Ae.source().toString();let Ve;try{Ve=Ie._parse(Je,{sourceType:"module"})}catch(v){if(v.loc&&typeof v.loc==="object"&&typeof v.loc.line==="number"){const E=v.loc.line;const P=Je.split("\n");v.message+="\n| "+P.slice(Math.max(0,E-3),E+2).join("\n| ")}throw v}const Ke=R.analyze(Ve,{ecmaVersion:6,sourceType:"module",optimistic:true,ignoreEval:true,impliedStrict:true});const Ye=Ke.acquire(Ve);const Xe=Ye.childScopes[0];const Ze=new q(Ae);E.runtimeRequirements=ve.runtimeRequirements;E.ast=Ve;E.internalSource=Ae;E.source=Ze;E.chunkInitFragments=Qe;E.globalScope=Ye;E.moduleScope=Xe}catch(v){v.message+=`\nwhile analyzing module ${be.identifier()} for concatenation`;throw v}}}_getModulesWithInfo(v,E){const P=this._createConcatenationList(this.rootModule,this._modules,E,v);const R=new Map;const $=P.map(((v,E)=>{let P=R.get(v.module);if(P===undefined){switch(v.type){case"concatenated":P={type:"concatenated",module:v.module,index:E,ast:undefined,internalSource:undefined,runtimeRequirements:undefined,source:undefined,globalScope:undefined,moduleScope:undefined,internalNames:new Map,exportMap:undefined,rawExportMap:undefined,namespaceExportSymbol:undefined,namespaceObjectName:undefined,interopNamespaceObjectUsed:false,interopNamespaceObjectName:undefined,interopNamespaceObject2Used:false,interopNamespaceObject2Name:undefined,interopDefaultAccessUsed:false,interopDefaultAccessName:undefined};break;case"external":P={type:"external",module:v.module,runtimeCondition:v.runtimeCondition,index:E,name:undefined,interopNamespaceObjectUsed:false,interopNamespaceObjectName:undefined,interopNamespaceObject2Used:false,interopNamespaceObject2Name:undefined,interopDefaultAccessUsed:false,interopDefaultAccessName:undefined};break;default:throw new Error(`Unsupported concatenation entry type ${v.type}`)}R.set(P.module,P);return P}else{const E={type:"reference",runtimeCondition:v.runtimeCondition,target:P};return E}}));return[$,R]}findNewName(v,E,P,R){let $=v;if($===K.DEFAULT_EXPORT){$=""}if($===K.NAMESPACE_OBJECT_EXPORT){$="namespaceObject"}R=R.replace(/\.+\/|(\/index)?\.([a-zA-Z0-9]{1,4})($|\s|\?)|\s*\+\s*\d+\s*modules/g,"");const N=R.split("/");while(N.length){$=N.pop()+($?"_"+$:"");const v=ve.toIdentifier($);if(!E.has(v)&&(!P||!P.has(v)))return v}let L=0;let q=ve.toIdentifier(`${$}_${L}`);while(E.has(q)||P&&P.has(q)){L++;q=ve.toIdentifier(`${$}_${L}`)}return q}updateHash(v,E){const{chunkGraph:P,runtime:R}=E;for(const $ of this._createConcatenationList(this.rootModule,this._modules,tt(R,this._runtime),P.moduleGraph)){switch($.type){case"concatenated":$.module.updateHash(v,E);break;case"external":v.update(`${P.getModuleId($.module)}`);break}}super.updateHash(v,E)}static deserialize(v){const E=new ConcatenatedModule({identifier:undefined,rootModule:undefined,modules:undefined,runtime:undefined});E.deserialize(v);return E}}Ye(ConcatenatedModule,"webpack/lib/optimize/ConcatenatedModule");v.exports=ConcatenatedModule},50030:function(v,E,P){"use strict";const{STAGE_BASIC:R}=P(63171);class EnsureChunkConditionsPlugin{apply(v){v.hooks.compilation.tap("EnsureChunkConditionsPlugin",(v=>{const handler=E=>{const P=v.chunkGraph;const R=new Set;const $=new Set;for(const E of v.modules){if(!E.hasChunkCondition())continue;for(const N of P.getModuleChunksIterable(E)){if(!E.chunkCondition(N,v)){R.add(N);for(const v of N.groupsIterable){$.add(v)}}}if(R.size===0)continue;const N=new Set;e:for(const P of $){for(const R of P.chunks){if(E.chunkCondition(R,v)){N.add(R);continue e}}if(P.isInitial()){throw new Error("Cannot fullfil chunk condition of "+E.identifier())}for(const v of P.parentsIterable){$.add(v)}}for(const v of R){P.disconnectChunkAndModule(v,E)}for(const v of N){P.connectChunkAndModule(v,E)}R.clear();$.clear()}};v.hooks.optimizeChunks.tap({name:"EnsureChunkConditionsPlugin",stage:R},handler)}))}}v.exports=EnsureChunkConditionsPlugin},51376:function(v){"use strict";class FlagIncludedChunksPlugin{apply(v){v.hooks.compilation.tap("FlagIncludedChunksPlugin",(v=>{v.hooks.optimizeChunkIds.tap("FlagIncludedChunksPlugin",(E=>{const P=v.chunkGraph;const R=new WeakMap;const $=v.modules.size;const N=1/Math.pow(1/$,1/31);const L=Array.from({length:31},((v,E)=>Math.pow(N,E)|0));let q=0;for(const E of v.modules){let v=30;while(q%L[v]!==0){v--}R.set(E,1<P.getNumberOfModuleChunks(E))$=E}e:for(const N of P.getModuleChunksIterable($)){if(v===N)continue;const $=P.getNumberOfChunkModules(N);if($===0)continue;if(R>$)continue;const L=K.get(N);if((L&E)!==E)continue;for(const E of P.getChunkModulesIterable(v)){if(!P.isModuleInChunk(E,N))continue e}N.ids.push(v.id)}}}))}))}}v.exports=FlagIncludedChunksPlugin},48404:function(v,E,P){"use strict";const{UsageState:R}=P(8435);const $=new WeakMap;const N=Symbol("top level symbol");function getState(v){return $.get(v)}E.bailout=v=>{$.set(v,false)};E.enable=v=>{const E=$.get(v);if(E===false){return}$.set(v,{innerGraph:new Map,currentTopLevelSymbol:undefined,usageCallbackMap:new Map})};E.isEnabled=v=>{const E=$.get(v);return!!E};E.addUsage=(v,E,P)=>{const R=getState(v);if(R){const{innerGraph:v}=R;const $=v.get(E);if(P===true){v.set(E,true)}else if($===undefined){v.set(E,new Set([P]))}else if($!==true){$.add(P)}}};E.addVariableUsage=(v,P,R)=>{const $=v.getTagData(P,N)||E.tagTopLevelSymbol(v,P);if($){E.addUsage(v.state,$,R)}};E.inferDependencyUsage=v=>{const E=getState(v);if(!E){return}const{innerGraph:P,usageCallbackMap:R}=E;const $=new Map;const N=new Set(P.keys());while(N.size>0){for(const v of N){let E=new Set;let R=true;const L=P.get(v);let q=$.get(v);if(q===undefined){q=new Set;$.set(v,q)}if(L!==true&&L!==undefined){for(const v of L){q.add(v)}for(const $ of L){if(typeof $==="string"){E.add($)}else{const N=P.get($);if(N===true){E=true;break}if(N!==undefined){for(const P of N){if(P===v)continue;if(q.has(P))continue;E.add(P);if(typeof P!=="string"){R=false}}}}}if(E===true){P.set(v,true)}else if(E.size===0){P.set(v,undefined)}else{P.set(v,E)}}if(R){N.delete(v);if(v===null){const v=P.get(null);if(v){for(const[E,R]of P){if(E!==null&&R!==true){if(v===true){P.set(E,true)}else{const $=new Set(R);for(const E of v){$.add(E)}P.set(E,$)}}}}}}}}for(const[v,E]of R){const R=P.get(v);for(const v of E){v(R===undefined?false:R)}}};E.onUsage=(v,E)=>{const P=getState(v);if(P){const{usageCallbackMap:v,currentTopLevelSymbol:R}=P;if(R){let P=v.get(R);if(P===undefined){P=new Set;v.set(R,P)}P.add(E)}else{E(true)}}else{E(undefined)}};E.setTopLevelSymbol=(v,E)=>{const P=getState(v);if(P){P.currentTopLevelSymbol=E}};E.getTopLevelSymbol=v=>{const E=getState(v);if(E){return E.currentTopLevelSymbol}};E.tagTopLevelSymbol=(v,E)=>{const P=getState(v.state);if(!P)return;v.defineVariable(E);const R=v.getTagData(E,N);if(R){return R}const $=new TopLevelSymbol(E);v.tagVariable(E,N,$);return $};E.isDependencyUsedByExports=(v,E,P,$)=>{if(E===false)return false;if(E!==true&&E!==undefined){const N=P.getParentModule(v);const L=P.getExportsInfo(N);let q=false;for(const v of E){if(L.getUsed(v,$)!==R.Unused)q=true}if(!q)return false}return true};E.getDependencyUsedByExportsCondition=(v,E,P)=>{if(E===false)return false;if(E!==true&&E!==undefined){const $=P.getParentModule(v);const N=P.getExportsInfo($);return(v,P)=>{for(const v of E){if(N.getUsed(v,P)!==R.Unused)return true}return false}}return null};class TopLevelSymbol{constructor(v){this.name=v}}E.TopLevelSymbol=TopLevelSymbol;E.topLevelSymbolTag=N},45542:function(v,E,P){"use strict";const{JAVASCRIPT_MODULE_TYPE_AUTO:R,JAVASCRIPT_MODULE_TYPE_ESM:$}=P(96170);const N=P(59854);const L=P(48404);const{topLevelSymbolTag:q}=L;const K="InnerGraphPlugin";class InnerGraphPlugin{apply(v){v.hooks.compilation.tap(K,((v,{normalModuleFactory:E})=>{const P=v.getLogger("webpack.InnerGraphPlugin");v.dependencyTemplates.set(N,new N.Template);const handler=(v,E)=>{const onUsageSuper=E=>{L.onUsage(v.state,(P=>{switch(P){case undefined:case true:return;default:{const R=new N(E.range);R.loc=E.loc;R.usedByExports=P;v.state.module.addDependency(R);break}}}))};v.hooks.program.tap(K,(()=>{L.enable(v.state)}));v.hooks.finish.tap(K,(()=>{if(!L.isEnabled(v.state))return;P.time("infer dependency usage");L.inferDependencyUsage(v.state);P.timeAggregate("infer dependency usage")}));const R=new WeakMap;const $=new WeakMap;const ae=new WeakMap;const ge=new WeakMap;const be=new WeakSet;v.hooks.preStatement.tap(K,(E=>{if(!L.isEnabled(v.state))return;if(v.scope.topLevelScope===true){if(E.type==="FunctionDeclaration"){const P=E.id?E.id.name:"*default*";const $=L.tagTopLevelSymbol(v,P);R.set(E,$);return true}}}));v.hooks.blockPreStatement.tap(K,(E=>{if(!L.isEnabled(v.state))return;if(v.scope.topLevelScope===true){if(E.type==="ClassDeclaration"&&v.isPure(E,E.range[0])){const P=E.id?E.id.name:"*default*";const R=L.tagTopLevelSymbol(v,P);ae.set(E,R);return true}if(E.type==="ExportDefaultDeclaration"){const P="*default*";const N=L.tagTopLevelSymbol(v,P);const q=E.declaration;if((q.type==="ClassExpression"||q.type==="ClassDeclaration")&&v.isPure(q,q.range[0])){ae.set(q,N)}else if(v.isPure(q,E.range[0])){R.set(E,N);if(!q.type.endsWith("FunctionExpression")&&!q.type.endsWith("Declaration")&&q.type!=="Literal"){$.set(E,q)}}}}}));v.hooks.preDeclarator.tap(K,((E,P)=>{if(!L.isEnabled(v.state))return;if(v.scope.topLevelScope===true&&E.init&&E.id.type==="Identifier"){const P=E.id.name;if(E.init.type==="ClassExpression"&&v.isPure(E.init,E.id.range[1])){const R=L.tagTopLevelSymbol(v,P);ae.set(E.init,R)}else if(v.isPure(E.init,E.id.range[1])){const R=L.tagTopLevelSymbol(v,P);ge.set(E,R);if(!E.init.type.endsWith("FunctionExpression")&&E.init.type!=="Literal"){be.add(E)}}}}));v.hooks.statement.tap(K,(E=>{if(!L.isEnabled(v.state))return;if(v.scope.topLevelScope===true){L.setTopLevelSymbol(v.state,undefined);const P=R.get(E);if(P){L.setTopLevelSymbol(v.state,P);const R=$.get(E);if(R){L.onUsage(v.state,(P=>{switch(P){case undefined:case true:return;default:{const $=new N(R.range);$.loc=E.loc;$.usedByExports=P;v.state.module.addDependency($);break}}}))}}}}));v.hooks.classExtendsExpression.tap(K,((E,P)=>{if(!L.isEnabled(v.state))return;if(v.scope.topLevelScope===true){const R=ae.get(P);if(R&&v.isPure(E,P.id?P.id.range[1]:P.range[0])){L.setTopLevelSymbol(v.state,R);onUsageSuper(E)}}}));v.hooks.classBodyElement.tap(K,((E,P)=>{if(!L.isEnabled(v.state))return;if(v.scope.topLevelScope===true){const E=ae.get(P);if(E){L.setTopLevelSymbol(v.state,undefined)}}}));v.hooks.classBodyValue.tap(K,((E,P,R)=>{if(!L.isEnabled(v.state))return;if(v.scope.topLevelScope===true){const $=ae.get(R);if($){if(!P.static||v.isPure(E,P.key?P.key.range[1]:P.range[0])){L.setTopLevelSymbol(v.state,$);if(P.type!=="MethodDefinition"&&P.static){L.onUsage(v.state,(P=>{switch(P){case undefined:case true:return;default:{const R=new N(E.range);R.loc=E.loc;R.usedByExports=P;v.state.module.addDependency(R);break}}}))}}else{L.setTopLevelSymbol(v.state,undefined)}}}}));v.hooks.declarator.tap(K,((E,P)=>{if(!L.isEnabled(v.state))return;const R=ge.get(E);if(R){L.setTopLevelSymbol(v.state,R);if(be.has(E)){if(E.init.type==="ClassExpression"){if(E.init.superClass){onUsageSuper(E.init.superClass)}}else{L.onUsage(v.state,(P=>{switch(P){case undefined:case true:return;default:{const R=new N(E.init.range);R.loc=E.loc;R.usedByExports=P;v.state.module.addDependency(R);break}}}))}}v.walkExpression(E.init);L.setTopLevelSymbol(v.state,undefined);return true}else if(E.id.type==="Identifier"&&E.init&&E.init.type==="ClassExpression"&&ae.has(E.init)){v.walkExpression(E.init);L.setTopLevelSymbol(v.state,undefined);return true}}));v.hooks.expression.for(q).tap(K,(()=>{const E=v.currentTagData;const P=L.getTopLevelSymbol(v.state);L.addUsage(v.state,E,P||true)}));v.hooks.assign.for(q).tap(K,(E=>{if(!L.isEnabled(v.state))return;if(E.operator==="=")return true}))};E.hooks.parser.for(R).tap(K,handler);E.hooks.parser.for($).tap(K,handler);v.hooks.finishModules.tap(K,(()=>{P.timeAggregateEnd("infer dependency usage")}))}))}}v.exports=InnerGraphPlugin},86878:function(v,E,P){"use strict";const{STAGE_ADVANCED:R}=P(63171);const $=P(6);const{compareChunks:N}=P(28273);const L=P(21596);const q=L(P(1243),(()=>P(51514)),{name:"Limit Chunk Count Plugin",baseDataPath:"options"});const addToSetMap=(v,E,P)=>{const R=v.get(E);if(R===undefined){v.set(E,new Set([P]))}else{R.add(P)}};class LimitChunkCountPlugin{constructor(v){q(v);this.options=v}apply(v){const E=this.options;v.hooks.compilation.tap("LimitChunkCountPlugin",(v=>{v.hooks.optimizeChunks.tap({name:"LimitChunkCountPlugin",stage:R},(P=>{const R=v.chunkGraph;const L=E.maxChunks;if(!L)return;if(L<1)return;if(v.chunks.size<=L)return;let q=v.chunks.size-L;const K=N(R);const ae=Array.from(P).sort(K);const ge=new $((v=>v.sizeDiff),((v,E)=>E-v),(v=>v.integratedSize),((v,E)=>v-E),(v=>v.bIdx-v.aIdx),((v,E)=>v-E),((v,E)=>v.bIdx-E.bIdx));const be=new Map;ae.forEach(((v,P)=>{for(let $=0;$0){const v=new Set($.groupsIterable);for(const E of N.groupsIterable){v.add(E)}for(const E of v){for(const v of xe){if(v!==$&&v!==N&&v.isInGroup(E)){q--;if(q<=0)break e;xe.add($);xe.add(N);continue e}}for(const P of E.parentsIterable){v.add(P)}}}if(R.canChunksBeIntegrated($,N)){R.integrateChunks($,N);v.chunks.delete(N);xe.add($);ve=true;q--;if(q<=0)break;for(const v of be.get($)){if(v.deleted)continue;v.deleted=true;ge.delete(v)}for(const v of be.get(N)){if(v.deleted)continue;if(v.a===N){if(!R.canChunksBeIntegrated($,v.b)){v.deleted=true;ge.delete(v);continue}const P=R.getIntegratedChunksSize($,v.b,E);const N=ge.startUpdate(v);v.a=$;v.integratedSize=P;v.aSize=L;v.sizeDiff=v.bSize+L-P;N()}else if(v.b===N){if(!R.canChunksBeIntegrated(v.a,$)){v.deleted=true;ge.delete(v);continue}const P=R.getIntegratedChunksSize(v.a,$,E);const N=ge.startUpdate(v);v.b=$;v.integratedSize=P;v.bSize=L;v.sizeDiff=L+v.aSize-P;N()}}be.set($,be.get(N));be.delete(N)}}if(ve)return true}))}))}}v.exports=LimitChunkCountPlugin},37184:function(v,E,P){"use strict";const{UsageState:R}=P(8435);const{numberToIdentifier:$,NUMBER_OF_IDENTIFIER_START_CHARS:N,NUMBER_OF_IDENTIFIER_CONTINUATION_CHARS:L}=P(25233);const{assignDeterministicIds:q}=P(74340);const{compareSelect:K,compareStringsNumeric:ae}=P(28273);const canMangle=v=>{if(v.otherExportsInfo.getUsed(undefined)!==R.Unused)return false;let E=false;for(const P of v.exports){if(P.canMangle===true){E=true}}return E};const ge=K((v=>v.name),ae);const mangleExportsInfo=(v,E,P)=>{if(!canMangle(E))return;const K=new Set;const ae=[];let be=!P;if(!be&&v){for(const v of E.ownedExports){if(v.provided!==false){be=true;break}}}for(const P of E.ownedExports){const E=P.name;if(!P.hasUsedName()){if(P.canMangle!==true||E.length===1&&/^[a-zA-Z0-9_$]/.test(E)||v&&E.length===2&&/^[a-zA-Z_$][a-zA-Z0-9_$]|^[1-9][0-9]/.test(E)||be&&P.provided!==true){P.setUsedName(E);K.add(E)}else{ae.push(P)}}if(P.exportsInfoOwned){const E=P.getUsed(undefined);if(E===R.OnlyPropertiesUsed||E===R.Unused){mangleExportsInfo(v,P.exportsInfo,false)}}}if(v){q(ae,(v=>v.name),ge,((v,E)=>{const P=$(E);const R=K.size;K.add(P);if(R===K.size)return false;v.setUsedName(P);return true}),[N,N*L],L,K.size)}else{const v=[];const E=[];for(const P of ae){if(P.getUsed(undefined)===R.Unused){E.push(P)}else{v.push(P)}}v.sort(ge);E.sort(ge);let P=0;for(const R of[v,E]){for(const v of R){let E;do{E=$(P++)}while(K.has(E));v.setUsedName(E)}}}};class MangleExportsPlugin{constructor(v){this._deterministic=v}apply(v){const{_deterministic:E}=this;v.hooks.compilation.tap("MangleExportsPlugin",(v=>{const P=v.moduleGraph;v.hooks.optimizeCodeGeneration.tap("MangleExportsPlugin",(R=>{if(v.moduleMemCaches){throw new Error("optimization.mangleExports can't be used with cacheUnaffected as export mangling is a global effect")}for(const v of R){const R=v.buildMeta&&v.buildMeta.exportsType==="namespace";const $=P.getExportsInfo(v);mangleExportsInfo(E,$,R)}}))}))}}v.exports=MangleExportsPlugin},7603:function(v,E,P){"use strict";const{STAGE_BASIC:R}=P(63171);const{runtimeEqual:$}=P(65153);class MergeDuplicateChunksPlugin{apply(v){v.hooks.compilation.tap("MergeDuplicateChunksPlugin",(v=>{v.hooks.optimizeChunks.tap({name:"MergeDuplicateChunksPlugin",stage:R},(E=>{const{chunkGraph:P,moduleGraph:R}=v;const N=new Set;for(const L of E){let E;for(const v of P.getChunkModulesIterable(L)){if(E===undefined){for(const R of P.getModuleChunksIterable(v)){if(R!==L&&P.getNumberOfChunkModules(L)===P.getNumberOfChunkModules(R)&&!N.has(R)){if(E===undefined){E=new Set}E.add(R)}}if(E===undefined)break}else{for(const R of E){if(!P.isModuleInChunk(v,R)){E.delete(R)}}if(E.size===0)break}}if(E!==undefined&&E.size>0){e:for(const N of E){if(N.hasRuntime()!==L.hasRuntime())continue;if(P.getNumberOfEntryModules(L)>0)continue;if(P.getNumberOfEntryModules(N)>0)continue;if(!$(L.runtime,N.runtime)){for(const v of P.getChunkModulesIterable(L)){const E=R.getExportsInfo(v);if(!E.isEquallyUsed(L.runtime,N.runtime)){continue e}}}if(P.canChunksBeIntegrated(L,N)){P.integrateChunks(L,N);v.chunks.delete(N)}}}N.add(L)}}))}))}}v.exports=MergeDuplicateChunksPlugin},80589:function(v,E,P){"use strict";const{STAGE_ADVANCED:R}=P(63171);const $=P(21596);const N=$(P(80128),(()=>P(98105)),{name:"Min Chunk Size Plugin",baseDataPath:"options"});class MinChunkSizePlugin{constructor(v){N(v);this.options=v}apply(v){const E=this.options;const P=E.minChunkSize;v.hooks.compilation.tap("MinChunkSizePlugin",(v=>{v.hooks.optimizeChunks.tap({name:"MinChunkSizePlugin",stage:R},(R=>{const $=v.chunkGraph;const N={chunkOverhead:1,entryChunkMultiplicator:1};const L=new Map;const q=[];const K=[];const ae=[];for(const v of R){if($.getChunkSize(v,N){const P=L.get(v[0]);const R=L.get(v[1]);const N=$.getIntegratedChunksSize(v[0],v[1],E);const q=[P+R-N,N,v[0],v[1]];return q})).sort(((v,E)=>{const P=E[0]-v[0];if(P!==0)return P;return v[1]-E[1]}));if(ge.length===0)return;const be=ge[0];$.integrateChunks(be[2],be[3]);v.chunks.delete(be[3]);return true}))}))}}v.exports=MinChunkSizePlugin},15414:function(v,E,P){"use strict";const R=P(34966);const $=P(16413);class MinMaxSizeWarning extends ${constructor(v,E,P){let $="Fallback cache group";if(v){$=v.length>1?`Cache groups ${v.sort().join(", ")}`:`Cache group ${v[0]}`}super(`SplitChunksPlugin\n`+`${$}\n`+`Configured minSize (${R.formatSize(E)}) is `+`bigger than maxSize (${R.formatSize(P)}).\n`+"This seem to be a invalid optimization.splitChunks configuration.")}}v.exports=MinMaxSizeWarning},52607:function(v,E,P){"use strict";const R=P(78175);const $=P(86255);const N=P(49188);const{STAGE_DEFAULT:L}=P(63171);const q=P(24647);const{compareModulesByIdentifier:K}=P(28273);const{intersectRuntime:ae,mergeRuntimeOwned:ge,filterRuntime:be,runtimeToString:xe,mergeRuntime:ve}=P(65153);const Ae=P(98557);const formatBailoutReason=v=>"ModuleConcatenation bailout: "+v;class ModuleConcatenationPlugin{constructor(v){if(typeof v!=="object")v={};this.options=v}apply(v){const{_backCompat:E}=v;v.hooks.compilation.tap("ModuleConcatenationPlugin",(P=>{if(P.moduleMemCaches){throw new Error("optimization.concatenateModules can't be used with cacheUnaffected as module concatenation is a global effect")}const K=P.moduleGraph;const ae=new Map;const setBailoutReason=(v,E)=>{setInnerBailoutReason(v,E);K.getOptimizationBailout(v).push(typeof E==="function"?v=>formatBailoutReason(E(v)):formatBailoutReason(E))};const setInnerBailoutReason=(v,E)=>{ae.set(v,E)};const getInnerBailoutReason=(v,E)=>{const P=ae.get(v);if(typeof P==="function")return P(E);return P};const formatBailoutWarning=(v,E)=>P=>{if(typeof E==="function"){return formatBailoutReason(`Cannot concat with ${v.readableIdentifier(P)}: ${E(P)}`)}const R=getInnerBailoutReason(v,P);const $=R?`: ${R}`:"";if(v===E){return formatBailoutReason(`Cannot concat with ${v.readableIdentifier(P)}${$}`)}else{return formatBailoutReason(`Cannot concat with ${v.readableIdentifier(P)} because of ${E.readableIdentifier(P)}${$}`)}};P.hooks.optimizeChunkModules.tapAsync({name:"ModuleConcatenationPlugin",stage:L},((L,K,ae)=>{const xe=P.getLogger("webpack.ModuleConcatenationPlugin");const{chunkGraph:ve,moduleGraph:Ie}=P;const He=[];const Qe=new Set;const Je={chunkGraph:ve,moduleGraph:Ie};xe.time("select relevant modules");for(const v of K){let E=true;let P=true;const R=v.getConcatenationBailoutReason(Je);if(R){setBailoutReason(v,R);continue}if(Ie.isAsync(v)){setBailoutReason(v,`Module is async`);continue}if(!v.buildInfo.strict){setBailoutReason(v,`Module is not in strict mode`);continue}if(ve.getNumberOfModuleChunks(v)===0){setBailoutReason(v,"Module is not in any chunk");continue}const $=Ie.getExportsInfo(v);const N=$.getRelevantExports(undefined);const L=N.filter((v=>v.isReexport()&&!v.getTarget(Ie)));if(L.length>0){setBailoutReason(v,`Reexports in this module do not have a static target (${Array.from(L,(v=>`${v.name||"other exports"}: ${v.getUsedInfo()}`)).join(", ")})`);continue}const q=N.filter((v=>v.provided!==true));if(q.length>0){setBailoutReason(v,`List of module exports is dynamic (${Array.from(q,(v=>`${v.name||"other exports"}: ${v.getProvidedInfo()} and ${v.getUsedInfo()}`)).join(", ")})`);E=false}if(ve.isEntryModule(v)){setInnerBailoutReason(v,"Module is an entry point");P=false}if(E)He.push(v);if(P)Qe.add(v)}xe.timeEnd("select relevant modules");xe.debug(`${He.length} potential root modules, ${Qe.size} potential inner modules`);xe.time("sort relevant modules");He.sort(((v,E)=>Ie.getDepth(v)-Ie.getDepth(E)));xe.timeEnd("sort relevant modules");const Ve={cached:0,alreadyInConfig:0,invalidModule:0,incorrectChunks:0,incorrectDependency:0,incorrectModuleDependency:0,incorrectChunksOfImporter:0,incorrectRuntimeCondition:0,importerFailed:0,added:0};let Ke=0;let Ye=0;let Xe=0;xe.time("find modules to concatenate");const Ze=[];const et=new Set;for(const v of He){if(et.has(v))continue;let E=undefined;for(const P of ve.getModuleRuntimes(v)){E=ge(E,P)}const R=Ie.getExportsInfo(v);const $=be(E,(v=>R.isModuleUsed(v)));const N=$===true?E:$===false?undefined:$;const L=new ConcatConfiguration(v,N);const q=new Map;const K=new Set;for(const E of this._getImports(P,v,N)){K.add(E)}for(const v of K){const R=new Set;const $=this._tryToAdd(P,L,v,E,N,Qe,R,q,ve,true,Ve);if($){q.set(v,$);L.addWarning(v,$)}else{for(const v of R){K.add(v)}}}Ke+=K.size;if(!L.isEmpty()){const v=L.getModules();Ye+=v.size;Ze.push(L);for(const E of v){if(E!==L.rootModule){et.add(E)}}}else{Xe++;const E=Ie.getOptimizationBailout(v);for(const v of L.getWarningsSorted()){E.push(formatBailoutWarning(v[0],v[1]))}}}xe.timeEnd("find modules to concatenate");xe.debug(`${Ze.length} successful concat configurations (avg size: ${Ye/Ze.length}), ${Xe} bailed out completely`);xe.debug(`${Ke} candidates were considered for adding (${Ve.cached} cached failure, ${Ve.alreadyInConfig} already in config, ${Ve.invalidModule} invalid module, ${Ve.incorrectChunks} incorrect chunks, ${Ve.incorrectDependency} incorrect dependency, ${Ve.incorrectChunksOfImporter} incorrect chunks of importer, ${Ve.incorrectModuleDependency} incorrect module dependency, ${Ve.incorrectRuntimeCondition} incorrect runtime condition, ${Ve.importerFailed} importer failed, ${Ve.added} added)`);xe.time(`sort concat configurations`);Ze.sort(((v,E)=>E.modules.size-v.modules.size));xe.timeEnd(`sort concat configurations`);const tt=new Set;xe.time("create concatenated modules");R.each(Ze,((R,L)=>{const K=R.rootModule;if(tt.has(K))return L();const ae=R.getModules();for(const v of ae){tt.add(v)}let ge=Ae.create(K,ae,R.runtime,v.root,P.outputOptions.hashFunction);const build=()=>{ge.build(v.options,P,null,null,(v=>{if(v){if(!v.module){v.module=ge}return L(v)}integrate()}))};const integrate=()=>{if(E){$.setChunkGraphForModule(ge,ve);N.setModuleGraphForModule(ge,Ie)}for(const v of R.getWarningsSorted()){Ie.getOptimizationBailout(ge).push(formatBailoutWarning(v[0],v[1]))}Ie.cloneModuleAttributes(K,ge);for(const v of ae){if(P.builtModules.has(v)){P.builtModules.add(ge)}if(v!==K){Ie.copyOutgoingModuleConnections(v,ge,(E=>E.originModule===v&&!(E.dependency instanceof q&&ae.has(E.module))));for(const E of ve.getModuleChunksIterable(K)){const P=ve.getChunkModuleSourceTypes(E,v);if(P.size===1){ve.disconnectChunkAndModule(E,v)}else{const R=new Set(P);R.delete("javascript");ve.setChunkModuleSourceTypes(E,v,R)}}}}P.modules.delete(K);$.clearChunkGraphForModule(K);N.clearModuleGraphForModule(K);ve.replaceModule(K,ge);Ie.moveModuleConnections(K,ge,(v=>{const E=v.module===K?v.originModule:v.module;const P=v.dependency instanceof q&&ae.has(E);return!P}));P.modules.add(ge);L()};build()}),(v=>{xe.timeEnd("create concatenated modules");process.nextTick(ae.bind(null,v))}))}))}))}_getImports(v,E,P){const R=v.moduleGraph;const $=new Set;for(const N of E.dependencies){if(!(N instanceof q))continue;const L=R.getConnection(N);if(!L||!L.module||!L.isTargetActive(P)){continue}const K=v.getDependencyReferencedExports(N,undefined);if(K.every((v=>Array.isArray(v)?v.length>0:v.name.length>0))||Array.isArray(R.getProvidedExports(E))){$.add(L.module)}}return $}_tryToAdd(v,E,P,R,$,N,L,Ae,Ie,He,Qe){const Je=Ae.get(P);if(Je){Qe.cached++;return Je}if(E.has(P)){Qe.alreadyInConfig++;return null}if(!N.has(P)){Qe.invalidModule++;Ae.set(P,P);return P}const Ve=Array.from(Ie.getModuleChunksIterable(E.rootModule)).filter((v=>!Ie.isModuleInChunk(P,v)));if(Ve.length>0){const problem=v=>{const E=Array.from(new Set(Ve.map((v=>v.name||"unnamed chunk(s)")))).sort();const R=Array.from(new Set(Array.from(Ie.getModuleChunksIterable(P)).map((v=>v.name||"unnamed chunk(s)")))).sort();return`Module ${P.readableIdentifier(v)} is not in the same chunk(s) (expected in chunk(s) ${E.join(", ")}, module is in chunk(s) ${R.join(", ")})`};Qe.incorrectChunks++;Ae.set(P,problem);return problem}const Ke=v.moduleGraph;const Ye=Ke.getIncomingConnectionsByOriginModule(P);const Xe=Ye.get(null)||Ye.get(undefined);if(Xe){const v=Xe.filter((v=>v.isActive(R)));if(v.length>0){const problem=E=>{const R=new Set(v.map((v=>v.explanation)).filter(Boolean));const $=Array.from(R).sort();return`Module ${P.readableIdentifier(E)} is referenced ${$.length>0?`by: ${$.join(", ")}`:"in an unsupported way"}`};Qe.incorrectDependency++;Ae.set(P,problem);return problem}}const Ze=new Map;for(const[v,E]of Ye){if(v){if(Ie.getNumberOfModuleChunks(v)===0)continue;let P=undefined;for(const E of Ie.getModuleRuntimes(v)){P=ge(P,E)}if(!ae(R,P))continue;const $=E.filter((v=>v.isActive(R)));if($.length>0)Ze.set(v,$)}}const et=Array.from(Ze.keys());const tt=et.filter((v=>{for(const P of Ie.getModuleChunksIterable(E.rootModule)){if(!Ie.isModuleInChunk(v,P)){return true}}return false}));if(tt.length>0){const problem=v=>{const E=tt.map((E=>E.readableIdentifier(v))).sort();return`Module ${P.readableIdentifier(v)} is referenced from different chunks by these modules: ${E.join(", ")}`};Qe.incorrectChunksOfImporter++;Ae.set(P,problem);return problem}const nt=new Map;for(const[v,E]of Ze){const P=E.filter((v=>!v.dependency||!(v.dependency instanceof q)));if(P.length>0)nt.set(v,E)}if(nt.size>0){const problem=v=>{const E=Array.from(nt).map((([E,P])=>`${E.readableIdentifier(v)} (referenced with ${Array.from(new Set(P.map((v=>v.dependency&&v.dependency.type)).filter(Boolean))).sort().join(", ")})`)).sort();return`Module ${P.readableIdentifier(v)} is referenced from these modules with unsupported syntax: ${E.join(", ")}`};Qe.incorrectModuleDependency++;Ae.set(P,problem);return problem}if(R!==undefined&&typeof R!=="string"){const v=[];e:for(const[E,P]of Ze){let $=false;for(const v of P){const E=be(R,(E=>v.isTargetActive(E)));if(E===false)continue;if(E===true)continue e;if($!==false){$=ve($,E)}else{$=E}}if($!==false){v.push({originModule:E,runtimeCondition:$})}}if(v.length>0){const problem=E=>`Module ${P.readableIdentifier(E)} is runtime-dependent referenced by these modules: ${Array.from(v,(({originModule:v,runtimeCondition:P})=>`${v.readableIdentifier(E)} (expected runtime ${xe(R)}, module is only referenced in ${xe(P)})`)).join(", ")}`;Qe.incorrectRuntimeCondition++;Ae.set(P,problem);return problem}}let st;if(He){st=E.snapshot()}E.add(P);et.sort(K);for(const q of et){const K=this._tryToAdd(v,E,q,R,$,N,L,Ae,Ie,false,Qe);if(K){if(st!==undefined)E.rollback(st);Qe.importerFailed++;Ae.set(P,K);return K}}for(const E of this._getImports(v,P,R)){L.add(E)}Qe.added++;return null}}class ConcatConfiguration{constructor(v,E){this.rootModule=v;this.runtime=E;this.modules=new Set;this.modules.add(v);this.warnings=new Map}add(v){this.modules.add(v)}has(v){return this.modules.has(v)}isEmpty(){return this.modules.size===1}addWarning(v,E){this.warnings.set(v,E)}getWarningsSorted(){return new Map(Array.from(this.warnings).sort(((v,E)=>{const P=v[0].identifier();const R=E[0].identifier();if(PR)return 1;return 0})))}getModules(){return this.modules}snapshot(){return this.modules.size}rollback(v){const E=this.modules;for(const P of E){if(v===0){E.delete(P)}else{v--}}}}v.exports=ModuleConcatenationPlugin},71045:function(v,E,P){"use strict";const{SyncBailHook:R}=P(79846);const{RawSource:$,CachedSource:N,CompatSource:L}=P(51255);const q=P(6944);const K=P(16413);const{compareSelect:ae,compareStrings:ge}=P(28273);const be=P(20932);const xe=new Set;const addToList=(v,E)=>{if(Array.isArray(v)){for(const P of v){E.add(P)}}else if(v){E.add(v)}};const mapAndDeduplicateBuffers=(v,E)=>{const P=[];e:for(const R of v){const v=E(R);for(const E of P){if(v.equals(E))continue e}P.push(v)}return P};const quoteMeta=v=>v.replace(/[-[\]\\/{}()*+?.^$|]/g,"\\$&");const ve=new WeakMap;const toCachedSource=v=>{if(v instanceof N){return v}const E=ve.get(v);if(E!==undefined)return E;const P=new N(L.from(v));ve.set(v,P);return P};const Ae=new WeakMap;class RealContentHashPlugin{static getCompilationHooks(v){if(!(v instanceof q)){throw new TypeError("The 'compilation' argument must be an instance of Compilation")}let E=Ae.get(v);if(E===undefined){E={updateHash:new R(["content","oldHash"])};Ae.set(v,E)}return E}constructor({hashFunction:v,hashDigest:E}){this._hashFunction=v;this._hashDigest=E}apply(v){v.hooks.compilation.tap("RealContentHashPlugin",(v=>{const E=v.getCache("RealContentHashPlugin|analyse");const P=v.getCache("RealContentHashPlugin|generate");const R=RealContentHashPlugin.getCompilationHooks(v);v.hooks.processAssets.tapPromise({name:"RealContentHashPlugin",stage:q.PROCESS_ASSETS_STAGE_OPTIMIZE_HASH},(async()=>{const N=v.getAssets();const L=[];const q=new Map;for(const{source:v,info:E,name:P}of N){const R=toCachedSource(v);const $=R.source();const N=new Set;addToList(E.contenthash,N);const K={name:P,info:E,source:R,newSource:undefined,newSourceWithoutOwn:undefined,content:$,ownHashes:undefined,contentComputePromise:undefined,contentComputeWithoutOwnPromise:undefined,referencedHashes:undefined,hashes:N};L.push(K);for(const v of N){const E=q.get(v);if(E===undefined){q.set(v,[K])}else{E.push(K)}}}if(q.size===0)return;const ve=new RegExp(Array.from(q.keys(),quoteMeta).join("|"),"g");await Promise.all(L.map((async v=>{const{name:P,source:R,content:$,hashes:N}=v;if(Buffer.isBuffer($)){v.referencedHashes=xe;v.ownHashes=xe;return}const L=E.mergeEtags(E.getLazyHashedEtag(R),Array.from(N).join("|"));[v.referencedHashes,v.ownHashes]=await E.providePromise(P,L,(()=>{const v=new Set;let E=new Set;const P=$.match(ve);if(P){for(const R of P){if(N.has(R)){E.add(R);continue}v.add(R)}}return[v,E]}))})));const getDependencies=E=>{const P=q.get(E);if(!P){const P=L.filter((v=>v.referencedHashes.has(E)));const R=new K(`RealContentHashPlugin\nSome kind of unexpected caching problem occurred.\nAn asset was cached with a reference to another asset (${E}) that's not in the compilation anymore.\nEither the asset was incorrectly cached, or the referenced asset should also be restored from cache.\nReferenced by:\n${P.map((v=>{const P=new RegExp(`.{0,20}${quoteMeta(E)}.{0,20}`).exec(v.content);return` - ${v.name}: ...${P?P[0]:"???"}...`})).join("\n")}`);v.errors.push(R);return undefined}const R=new Set;for(const{referencedHashes:v,ownHashes:$}of P){if(!$.has(E)){for(const v of $){R.add(v)}}for(const E of v){R.add(E)}}return R};const hashInfo=v=>{const E=q.get(v);return`${v} (${Array.from(E,(v=>v.name))})`};const Ae=new Set;for(const v of q.keys()){const add=(v,E)=>{const P=getDependencies(v);if(!P)return;E.add(v);for(const v of P){if(Ae.has(v))continue;if(E.has(v)){throw new Error(`Circular hash dependency ${Array.from(E,hashInfo).join(" -> ")} -> ${hashInfo(v)}`)}add(v,E)}Ae.add(v);E.delete(v)};if(Ae.has(v))continue;add(v,new Set)}const Ie=new Map;const getEtag=v=>P.mergeEtags(P.getLazyHashedEtag(v.source),Array.from(v.referencedHashes,(v=>Ie.get(v))).join("|"));const computeNewContent=v=>{if(v.contentComputePromise)return v.contentComputePromise;return v.contentComputePromise=(async()=>{if(v.ownHashes.size>0||Array.from(v.referencedHashes).some((v=>Ie.get(v)!==v))){const E=v.name;const R=getEtag(v);v.newSource=await P.providePromise(E,R,(()=>{const E=v.content.replace(ve,(v=>Ie.get(v)));return new $(E)}))}})()};const computeNewContentWithoutOwn=v=>{if(v.contentComputeWithoutOwnPromise)return v.contentComputeWithoutOwnPromise;return v.contentComputeWithoutOwnPromise=(async()=>{if(v.ownHashes.size>0||Array.from(v.referencedHashes).some((v=>Ie.get(v)!==v))){const E=v.name+"|without-own";const R=getEtag(v);v.newSourceWithoutOwn=await P.providePromise(E,R,(()=>{const E=v.content.replace(ve,(E=>{if(v.ownHashes.has(E)){return""}return Ie.get(E)}));return new $(E)}))}})()};const He=ae((v=>v.name),ge);for(const E of Ae){const P=q.get(E);P.sort(He);await Promise.all(P.map((v=>v.ownHashes.has(E)?computeNewContentWithoutOwn(v):computeNewContent(v))));const $=mapAndDeduplicateBuffers(P,(v=>{if(v.ownHashes.has(E)){return v.newSourceWithoutOwn?v.newSourceWithoutOwn.buffer():v.source.buffer()}else{return v.newSource?v.newSource.buffer():v.source.buffer()}}));let N=R.updateHash.call($,E);if(!N){const P=be(this._hashFunction);if(v.outputOptions.hashSalt){P.update(v.outputOptions.hashSalt)}for(const v of $){P.update(v)}const R=P.digest(this._hashDigest);N=R.slice(0,E.length)}Ie.set(E,N)}await Promise.all(L.map((async E=>{await computeNewContent(E);const P=E.name.replace(ve,(v=>Ie.get(v)));const R={};const $=E.info.contenthash;R.contenthash=Array.isArray($)?$.map((v=>Ie.get(v))):Ie.get($);if(E.newSource!==undefined){v.updateAsset(E.name,E.newSource,R)}else{v.updateAsset(E.name,E.source,R)}if(E.name!==P){v.renameAsset(E.name,P)}})))}))}))}}v.exports=RealContentHashPlugin},39388:function(v,E,P){"use strict";const{STAGE_BASIC:R,STAGE_ADVANCED:$}=P(63171);class RemoveEmptyChunksPlugin{apply(v){v.hooks.compilation.tap("RemoveEmptyChunksPlugin",(v=>{const handler=E=>{const P=v.chunkGraph;for(const R of E){if(P.getNumberOfChunkModules(R)===0&&!R.hasRuntime()&&P.getNumberOfEntryModules(R)===0){v.chunkGraph.disconnectChunk(R);v.chunks.delete(R)}}};v.hooks.optimizeChunks.tap({name:"RemoveEmptyChunksPlugin",stage:R},handler);v.hooks.optimizeChunks.tap({name:"RemoveEmptyChunksPlugin",stage:$},handler)}))}}v.exports=RemoveEmptyChunksPlugin},12988:function(v,E,P){"use strict";const{STAGE_BASIC:R}=P(63171);function intersectMasks(v){let E=v[0];for(let P=v.length-1;P>=1;P--){E&=v[P]}return E}const $=BigInt(0);const N=BigInt(1);const L=BigInt(32);function*getModulesFromMask(v,E){let P=31;while(v!==$){let R=Number(BigInt.asUintN(32,v));while(R>0){let v=Math.clz32(R);const $=P-v;const N=E[$];yield N;R&=~(1<<31-v)}v>>=L;P+=32}}class RemoveParentModulesPlugin{apply(v){v.hooks.compilation.tap("RemoveParentModulesPlugin",(v=>{const handler=(E,P)=>{const R=v.chunkGraph;const L=new Set;const q=new WeakMap;let K=N;const ae=new WeakMap;const ge=[];const getOrCreateModuleMask=v=>{let E=ae.get(v);if(E===undefined){E=K;ge.push(v);ae.set(v,E);K<<=N}return E};const be=new WeakMap;for(const v of E){let E=$;for(const P of R.getChunkModulesIterable(v)){const v=getOrCreateModuleMask(P);E|=v}be.set(v,E)}const xe=new WeakMap;for(const v of P){let E=$;for(const P of v.chunks){const v=be.get(P);if(v!==undefined){E|=v}}xe.set(v,E)}for(const E of v.entrypoints.values()){q.set(E,$);for(const v of E.childrenIterable){L.add(v)}}for(const E of v.asyncEntrypoints){q.set(E,$);for(const v of E.childrenIterable){L.add(v)}}for(const v of L){let E=q.get(v);let P=false;for(const R of v.parentsIterable){const v=q.get(R);if(v!==undefined){const $=v|xe.get(R);if(E===undefined){E=$;P=true}else{let v=E&$;if(v!==E){P=true;E=v}}}}if(P){q.set(v,E);for(const E of v.childrenIterable){L.delete(E);L.add(E)}}}for(const v of E){const E=be.get(v);if(E===undefined)continue;const P=Array.from(v.groupsIterable,(v=>q.get(v)));if(P.some((v=>v===undefined)))continue;const N=intersectMasks(P);const L=E&N;if(L!==$){for(const E of getModulesFromMask(L,ge)){R.disconnectChunkAndModule(v,E)}}}};v.hooks.optimizeChunks.tap({name:"RemoveParentModulesPlugin",stage:R},handler)}))}}v.exports=RemoveParentModulesPlugin},41225:function(v){"use strict";class RuntimeChunkPlugin{constructor(v){this.options={name:v=>`runtime~${v.name}`,...v}}apply(v){v.hooks.thisCompilation.tap("RuntimeChunkPlugin",(v=>{v.hooks.addEntry.tap("RuntimeChunkPlugin",((E,{name:P})=>{if(P===undefined)return;const R=v.entries.get(P);if(R.options.runtime===undefined&&!R.options.dependOn){let v=this.options.name;if(typeof v==="function"){v=v({name:P})}R.options.runtime=v}}))}))}}v.exports=RuntimeChunkPlugin},25647:function(v,E,P){"use strict";const R=P(21660);const{JAVASCRIPT_MODULE_TYPE_AUTO:$,JAVASCRIPT_MODULE_TYPE_ESM:N,JAVASCRIPT_MODULE_TYPE_DYNAMIC:L}=P(96170);const{STAGE_DEFAULT:q}=P(63171);const K=P(9797);const ae=P(15965);const ge=P(81949);const be=new WeakMap;const globToRegexp=(v,E)=>{const P=E.get(v);if(P!==undefined)return P;if(!v.includes("/")){v=`**/${v}`}const $=R(v,{globstar:true,extended:true});const N=$.source;const L=new RegExp("^(\\./)?"+N.slice(1));E.set(v,L);return L};const xe="SideEffectsFlagPlugin";class SideEffectsFlagPlugin{constructor(v=true){this._analyseSource=v}apply(v){let E=be.get(v.root);if(E===undefined){E=new Map;be.set(v.root,E)}v.hooks.compilation.tap(xe,((v,{normalModuleFactory:P})=>{const R=v.moduleGraph;P.hooks.module.tap(xe,((v,P)=>{const R=P.resourceResolveData;if(R&&R.descriptionFileData&&R.relativePath){const P=R.descriptionFileData.sideEffects;if(P!==undefined){if(v.factoryMeta===undefined){v.factoryMeta={}}const $=SideEffectsFlagPlugin.moduleHasSideEffects(R.relativePath,P,E);v.factoryMeta.sideEffectFree=!$}}return v}));P.hooks.module.tap(xe,((v,E)=>{if(typeof E.settings.sideEffects==="boolean"){if(v.factoryMeta===undefined){v.factoryMeta={}}v.factoryMeta.sideEffectFree=!E.settings.sideEffects}return v}));if(this._analyseSource){const parserHandler=v=>{let E;v.hooks.program.tap(xe,(()=>{E=undefined}));v.hooks.statement.tap({name:xe,stage:-100},(P=>{if(E)return;if(v.scope.topLevelScope!==true)return;switch(P.type){case"ExpressionStatement":if(!v.isPure(P.expression,P.range[0])){E=P}break;case"IfStatement":case"WhileStatement":case"DoWhileStatement":if(!v.isPure(P.test,P.range[0])){E=P}break;case"ForStatement":if(!v.isPure(P.init,P.range[0])||!v.isPure(P.test,P.init?P.init.range[1]:P.range[0])||!v.isPure(P.update,P.test?P.test.range[1]:P.init?P.init.range[1]:P.range[0])){E=P}break;case"SwitchStatement":if(!v.isPure(P.discriminant,P.range[0])){E=P}break;case"VariableDeclaration":case"ClassDeclaration":case"FunctionDeclaration":if(!v.isPure(P,P.range[0])){E=P}break;case"ExportNamedDeclaration":case"ExportDefaultDeclaration":if(!v.isPure(P.declaration,P.range[0])){E=P}break;case"LabeledStatement":case"BlockStatement":break;case"EmptyStatement":break;case"ExportAllDeclaration":case"ImportDeclaration":break;default:E=P;break}}));v.hooks.finish.tap(xe,(()=>{if(E===undefined){v.state.module.buildMeta.sideEffectFree=true}else{const{loc:P,type:$}=E;R.getOptimizationBailout(v.state.module).push((()=>`Statement (${$}) with side effects in source code at ${ge(P)}`))}}))};for(const v of[$,N,L]){P.hooks.parser.for(v).tap(xe,parserHandler)}}v.hooks.optimizeDependencies.tap({name:xe,stage:q},(E=>{const P=v.getLogger("webpack.SideEffectsFlagPlugin");P.time("update dependencies");const $=new Set;const optimizeIncomingConnections=v=>{if($.has(v))return;$.add(v);if(v.getSideEffectsConnectionState(R)===false){const E=R.getExportsInfo(v);for(const P of R.getIncomingConnections(v)){const v=P.dependency;let $;if(($=v instanceof K)||v instanceof ae&&!v.namespaceObjectAsContext){if(P.originModule!==null){optimizeIncomingConnections(P.originModule)}if($&&v.name){const E=R.getExportInfo(P.originModule,v.name);E.moveTarget(R,(({module:v})=>v.getSideEffectsConnectionState(R)===false),(({module:E,export:P})=>{R.updateModule(v,E);R.addExplanation(v,"(skipped side-effect-free modules)");const $=v.getIds(R);v.setIds(R,P?[...P,...$.slice(1)]:$.slice(1));return R.getConnection(v)}));continue}const N=v.getIds(R);if(N.length>0){const P=E.getExportInfo(N[0]);const $=P.getTarget(R,(({module:v})=>v.getSideEffectsConnectionState(R)===false));if(!$)continue;R.updateModule(v,$.module);R.addExplanation(v,"(skipped side-effect-free modules)");v.setIds(R,$.export?[...$.export,...N.slice(1)]:N.slice(1))}}}}};for(const v of E){optimizeIncomingConnections(v)}P.timeEnd("update dependencies")}))}))}static moduleHasSideEffects(v,E,P){switch(typeof E){case"undefined":return true;case"boolean":return E;case"string":return globToRegexp(E,P).test(v);case"object":return E.some((E=>SideEffectsFlagPlugin.moduleHasSideEffects(v,E,P)))}}}v.exports=SideEffectsFlagPlugin},67877:function(v,E,P){"use strict";const R=P(56738);const{STAGE_ADVANCED:$}=P(63171);const N=P(16413);const{requestToId:L}=P(74340);const{isSubset:q}=P(64960);const K=P(68001);const{compareModulesByIdentifier:ae,compareIterables:ge}=P(28273);const be=P(20932);const xe=P(98722);const{makePathsRelative:ve}=P(51984);const Ae=P(25689);const Ie=P(15414);const defaultGetName=()=>{};const He=xe;const Qe=new WeakMap;const hashFilename=(v,E)=>{const P=be(E.hashFunction).update(v).digest(E.hashDigest);return P.slice(0,8)};const getRequests=v=>{let E=0;for(const P of v.groupsIterable){E=Math.max(E,P.chunks.length)}return E};const mapObject=(v,E)=>{const P=Object.create(null);for(const R of Object.keys(v)){P[R]=E(v[R],R)}return P};const isOverlap=(v,E)=>{for(const P of v){if(E.has(P))return true}return false};const Je=ge(ae);const compareEntries=(v,E)=>{const P=v.cacheGroup.priority-E.cacheGroup.priority;if(P)return P;const R=v.chunks.size-E.chunks.size;if(R)return R;const $=totalSize(v.sizes)*(v.chunks.size-1);const N=totalSize(E.sizes)*(E.chunks.size-1);const L=$-N;if(L)return L;const q=E.cacheGroupIndex-v.cacheGroupIndex;if(q)return q;const K=v.modules;const ae=E.modules;const ge=K.size-ae.size;if(ge)return ge;K.sort();ae.sort();return Je(K,ae)};const INITIAL_CHUNK_FILTER=v=>v.canBeInitial();const ASYNC_CHUNK_FILTER=v=>!v.canBeInitial();const ALL_CHUNK_FILTER=v=>true;const normalizeSizes=(v,E)=>{if(typeof v==="number"){const P={};for(const R of E)P[R]=v;return P}else if(typeof v==="object"&&v!==null){return{...v}}else{return{}}};const mergeSizes=(...v)=>{let E={};for(let P=v.length-1;P>=0;P--){E=Object.assign(E,v[P])}return E};const hasNonZeroSizes=v=>{for(const E of Object.keys(v)){if(v[E]>0)return true}return false};const combineSizes=(v,E,P)=>{const R=new Set(Object.keys(v));const $=new Set(Object.keys(E));const N={};for(const L of R){if($.has(L)){N[L]=P(v[L],E[L])}else{N[L]=v[L]}}for(const v of $){if(!R.has(v)){N[v]=E[v]}}return N};const checkMinSize=(v,E)=>{for(const P of Object.keys(E)){const R=v[P];if(R===undefined||R===0)continue;if(R{for(const R of Object.keys(E)){const $=v[R];if($===undefined||$===0)continue;if($*P{let P;for(const R of Object.keys(E)){const $=v[R];if($===undefined||$===0)continue;if(${let E=0;for(const P of Object.keys(v)){E+=v[P]}return E};const normalizeName=v=>{if(typeof v==="string"){return()=>v}if(typeof v==="function"){return v}};const normalizeChunksFilter=v=>{if(v==="initial"){return INITIAL_CHUNK_FILTER}if(v==="async"){return ASYNC_CHUNK_FILTER}if(v==="all"){return ALL_CHUNK_FILTER}if(v instanceof RegExp){return E=>E.name?v.test(E.name):false}if(typeof v==="function"){return v}};const normalizeCacheGroups=(v,E)=>{if(typeof v==="function"){return v}if(typeof v==="object"&&v!==null){const P=[];for(const R of Object.keys(v)){const $=v[R];if($===false){continue}if(typeof $==="string"||$ instanceof RegExp){const v=createCacheGroupSource({},R,E);P.push(((E,P,R)=>{if(checkTest($,E,P)){R.push(v)}}))}else if(typeof $==="function"){const v=new WeakMap;P.push(((P,N,L)=>{const q=$(P);if(q){const P=Array.isArray(q)?q:[q];for(const $ of P){const P=v.get($);if(P!==undefined){L.push(P)}else{const P=createCacheGroupSource($,R,E);v.set($,P);L.push(P)}}}}))}else{const v=createCacheGroupSource($,R,E);P.push(((E,P,R)=>{if(checkTest($.test,E,P)&&checkModuleType($.type,E)&&checkModuleLayer($.layer,E)){R.push(v)}}))}}const fn=(v,E)=>{let R=[];for(const $ of P){$(v,E,R)}return R};return fn}return()=>null};const checkTest=(v,E,P)=>{if(v===undefined)return true;if(typeof v==="function"){return v(E,P)}if(typeof v==="boolean")return v;if(typeof v==="string"){const P=E.nameForCondition();return P&&P.startsWith(v)}if(v instanceof RegExp){const P=E.nameForCondition();return P&&v.test(P)}return false};const checkModuleType=(v,E)=>{if(v===undefined)return true;if(typeof v==="function"){return v(E.type)}if(typeof v==="string"){const P=E.type;return v===P}if(v instanceof RegExp){const P=E.type;return v.test(P)}return false};const checkModuleLayer=(v,E)=>{if(v===undefined)return true;if(typeof v==="function"){return v(E.layer)}if(typeof v==="string"){const P=E.layer;return v===""?!P:P&&P.startsWith(v)}if(v instanceof RegExp){const P=E.layer;return v.test(P)}return false};const createCacheGroupSource=(v,E,P)=>{const R=normalizeSizes(v.minSize,P);const $=normalizeSizes(v.minSizeReduction,P);const N=normalizeSizes(v.maxSize,P);return{key:E,priority:v.priority,getName:normalizeName(v.name),chunksFilter:normalizeChunksFilter(v.chunks),enforce:v.enforce,minSize:R,minSizeReduction:$,minRemainingSize:mergeSizes(normalizeSizes(v.minRemainingSize,P),R),enforceSizeThreshold:normalizeSizes(v.enforceSizeThreshold,P),maxAsyncSize:mergeSizes(normalizeSizes(v.maxAsyncSize,P),N),maxInitialSize:mergeSizes(normalizeSizes(v.maxInitialSize,P),N),minChunks:v.minChunks,maxAsyncRequests:v.maxAsyncRequests,maxInitialRequests:v.maxInitialRequests,filename:v.filename,idHint:v.idHint,automaticNameDelimiter:v.automaticNameDelimiter,reuseExistingChunk:v.reuseExistingChunk,usedExports:v.usedExports}};v.exports=class SplitChunksPlugin{constructor(v={}){const E=v.defaultSizeTypes||["javascript","unknown"];const P=v.fallbackCacheGroup||{};const R=normalizeSizes(v.minSize,E);const $=normalizeSizes(v.minSizeReduction,E);const N=normalizeSizes(v.maxSize,E);this.options={chunksFilter:normalizeChunksFilter(v.chunks||"all"),defaultSizeTypes:E,minSize:R,minSizeReduction:$,minRemainingSize:mergeSizes(normalizeSizes(v.minRemainingSize,E),R),enforceSizeThreshold:normalizeSizes(v.enforceSizeThreshold,E),maxAsyncSize:mergeSizes(normalizeSizes(v.maxAsyncSize,E),N),maxInitialSize:mergeSizes(normalizeSizes(v.maxInitialSize,E),N),minChunks:v.minChunks||1,maxAsyncRequests:v.maxAsyncRequests||1,maxInitialRequests:v.maxInitialRequests||1,hidePathInfo:v.hidePathInfo||false,filename:v.filename||undefined,getCacheGroups:normalizeCacheGroups(v.cacheGroups,E),getName:v.name?normalizeName(v.name):defaultGetName,automaticNameDelimiter:v.automaticNameDelimiter,usedExports:v.usedExports,fallbackCacheGroup:{chunksFilter:normalizeChunksFilter(P.chunks||v.chunks||"all"),minSize:mergeSizes(normalizeSizes(P.minSize,E),R),maxAsyncSize:mergeSizes(normalizeSizes(P.maxAsyncSize,E),normalizeSizes(P.maxSize,E),normalizeSizes(v.maxAsyncSize,E),normalizeSizes(v.maxSize,E)),maxInitialSize:mergeSizes(normalizeSizes(P.maxInitialSize,E),normalizeSizes(P.maxSize,E),normalizeSizes(v.maxInitialSize,E),normalizeSizes(v.maxSize,E)),automaticNameDelimiter:P.automaticNameDelimiter||v.automaticNameDelimiter||"~"}};this._cacheGroupCache=new WeakMap}_getCacheGroup(v){const E=this._cacheGroupCache.get(v);if(E!==undefined)return E;const P=mergeSizes(v.minSize,v.enforce?undefined:this.options.minSize);const R=mergeSizes(v.minSizeReduction,v.enforce?undefined:this.options.minSizeReduction);const $=mergeSizes(v.minRemainingSize,v.enforce?undefined:this.options.minRemainingSize);const N=mergeSizes(v.enforceSizeThreshold,v.enforce?undefined:this.options.enforceSizeThreshold);const L={key:v.key,priority:v.priority||0,chunksFilter:v.chunksFilter||this.options.chunksFilter,minSize:P,minSizeReduction:R,minRemainingSize:$,enforceSizeThreshold:N,maxAsyncSize:mergeSizes(v.maxAsyncSize,v.enforce?undefined:this.options.maxAsyncSize),maxInitialSize:mergeSizes(v.maxInitialSize,v.enforce?undefined:this.options.maxInitialSize),minChunks:v.minChunks!==undefined?v.minChunks:v.enforce?1:this.options.minChunks,maxAsyncRequests:v.maxAsyncRequests!==undefined?v.maxAsyncRequests:v.enforce?Infinity:this.options.maxAsyncRequests,maxInitialRequests:v.maxInitialRequests!==undefined?v.maxInitialRequests:v.enforce?Infinity:this.options.maxInitialRequests,getName:v.getName!==undefined?v.getName:this.options.getName,usedExports:v.usedExports!==undefined?v.usedExports:this.options.usedExports,filename:v.filename!==undefined?v.filename:this.options.filename,automaticNameDelimiter:v.automaticNameDelimiter!==undefined?v.automaticNameDelimiter:this.options.automaticNameDelimiter,idHint:v.idHint!==undefined?v.idHint:v.key,reuseExistingChunk:v.reuseExistingChunk||false,_validateSize:hasNonZeroSizes(P),_validateRemainingSize:hasNonZeroSizes($),_minSizeForMaxSize:mergeSizes(v.minSize,this.options.minSize),_conditionalEnforce:hasNonZeroSizes(N)};this._cacheGroupCache.set(v,L);return L}apply(v){const E=ve.bindContextCache(v.context,v.root);v.hooks.thisCompilation.tap("SplitChunksPlugin",(v=>{const P=v.getLogger("webpack.SplitChunksPlugin");let ge=false;v.hooks.unseal.tap("SplitChunksPlugin",(()=>{ge=false}));v.hooks.optimizeChunks.tap({name:"SplitChunksPlugin",stage:$},($=>{if(ge)return;ge=true;P.time("prepare");const be=v.chunkGraph;const xe=v.moduleGraph;const ve=new Map;const Je=BigInt("0");const Ve=BigInt("1");const Ke=Ve<{const E=v[Symbol.iterator]();let P=E.next();if(P.done)return Je;const R=P.value;P=E.next();if(P.done)return R;let $=ve.get(R)|ve.get(P.value);while(!(P=E.next()).done){const v=ve.get(P.value);$=$^v}return $};const keyToString=v=>{if(typeof v==="bigint")return v.toString(16);return ve.get(v).toString(16)};const Xe=Ae((()=>{const E=new Map;const P=new Set;for(const R of v.modules){const v=be.getModuleChunksIterable(R);const $=getKey(v);if(typeof $==="bigint"){if(!E.has($)){E.set($,new Set(v))}}else{P.add($)}}return{chunkSetsInGraph:E,singleChunkSets:P}}));const groupChunksByExports=v=>{const E=xe.getExportsInfo(v);const P=new Map;for(const R of be.getModuleChunksIterable(v)){const v=E.getUsageKey(R.runtime);const $=P.get(v);if($!==undefined){$.push(R)}else{P.set(v,[R])}}return P.values()};const Ze=new Map;const et=Ae((()=>{const E=new Map;const P=new Set;for(const R of v.modules){const v=Array.from(groupChunksByExports(R));Ze.set(R,v);for(const R of v){if(R.length===1){P.add(R[0])}else{const v=getKey(R);if(!E.has(v)){E.set(v,new Set(R))}}}}return{chunkSetsInGraph:E,singleChunkSets:P}}));const groupChunkSetsByCount=v=>{const E=new Map;for(const P of v){const v=P.size;let R=E.get(v);if(R===undefined){R=[];E.set(v,R)}R.push(P)}return E};const tt=Ae((()=>groupChunkSetsByCount(Xe().chunkSetsInGraph.values())));const nt=Ae((()=>groupChunkSetsByCount(et().chunkSetsInGraph.values())));const createGetCombinations=(v,E,P)=>{const $=new Map;return N=>{const L=$.get(N);if(L!==undefined)return L;if(N instanceof R){const v=[N];$.set(N,v);return v}const K=v.get(N);const ae=[K];for(const[v,E]of P){if(v{const{chunkSetsInGraph:v,singleChunkSets:E}=Xe();return createGetCombinations(v,E,tt())}));const getCombinations=v=>st()(v);const rt=Ae((()=>{const{chunkSetsInGraph:v,singleChunkSets:E}=et();return createGetCombinations(v,E,nt())}));const getExportsCombinations=v=>rt()(v);const ot=new WeakMap;const getSelectedChunks=(v,E)=>{let P=ot.get(v);if(P===undefined){P=new WeakMap;ot.set(v,P)}let $=P.get(E);if($===undefined){const N=[];if(v instanceof R){if(E(v))N.push(v)}else{for(const P of v){if(E(P))N.push(P)}}$={chunks:N,key:getKey(N)};P.set(E,$)}return $};const it=new Map;const at=new Set;const ct=new Map;const addModuleToChunksInfoMap=(E,P,R,$,L)=>{if(R.length{const v=be.getModuleChunksIterable(E);const P=getKey(v);return getCombinations(P)}));const $=Ae((()=>{et();const v=new Set;const P=Ze.get(E);for(const E of P){const P=getKey(E);for(const E of getExportsCombinations(P))v.add(E)}return v}));let N=0;for(const L of v){const v=this._getCacheGroup(L);const q=v.usedExports?$():P();for(const P of q){const $=P instanceof R?1:P.size;if(${for(const P of v.modules){const R=P.getSourceTypes();if(E.some((v=>R.has(v)))){v.modules.delete(P);for(const E of R){v.sizes[E]-=P.size(E)}}}};const removeMinSizeViolatingModules=v=>{if(!v.cacheGroup._validateSize)return false;const E=getViolatingMinSizes(v.sizes,v.cacheGroup.minSize);if(E===undefined)return false;removeModulesWithSourceType(v,E);return v.modules.size===0};for(const[v,E]of ct){if(removeMinSizeViolatingModules(E)){ct.delete(v)}else if(!checkMinSizeReduction(E.sizes,E.cacheGroup.minSizeReduction,E.chunks.size)){ct.delete(v)}}const ut=new Map;while(ct.size>0){let E;let P;for(const v of ct){const R=v[0];const $=v[1];if(P===undefined||compareEntries(P,$)<0){P=$;E=R}}const R=P;ct.delete(E);let $=R.name;let N;let L=false;let q=false;if($){const E=v.namedChunks.get($);if(E!==undefined){N=E;const v=R.chunks.size;R.chunks.delete(N);L=R.chunks.size!==v}}else if(R.cacheGroup.reuseExistingChunk){e:for(const v of R.chunks){if(be.getNumberOfChunkModules(v)!==R.modules.size){continue}if(R.chunks.size>1&&be.getNumberOfEntryModules(v)>0){continue}for(const E of R.modules){if(!be.isModuleInChunk(E,v)){continue e}}if(!N||!N.name){N=v}else if(v.name&&v.name.length=E){ae.delete(v)}}}e:for(const v of ae){for(const E of R.modules){if(be.isModuleInChunk(E,v))continue e}ae.delete(v)}if(ae.size=R.cacheGroup.minChunks){const v=Array.from(ae);for(const E of R.modules){addModuleToChunksInfoMap(R.cacheGroup,R.cacheGroupIndex,v,getKey(ae),E)}}continue}if(!K&&R.cacheGroup._validateRemainingSize&&ae.size===1){const[v]=ae;let P=Object.create(null);for(const E of be.getChunkModulesIterable(v)){if(!R.modules.has(E)){for(const v of E.getSourceTypes()){P[v]=(P[v]||0)+E.size(v)}}}const $=getViolatingMinSizes(P,R.cacheGroup.minRemainingSize);if($!==undefined){const v=R.modules.size;removeModulesWithSourceType(R,$);if(R.modules.size>0&&R.modules.size!==v){ct.set(E,R)}continue}}if(N===undefined){N=v.addChunk($)}for(const v of ae){v.split(N)}N.chunkReason=(N.chunkReason?N.chunkReason+", ":"")+(q?"reused as split chunk":"split chunk");if(R.cacheGroup.key){N.chunkReason+=` (cache group: ${R.cacheGroup.key})`}if($){N.chunkReason+=` (name: ${$})`}if(R.cacheGroup.filename){N.filenameTemplate=R.cacheGroup.filename}if(R.cacheGroup.idHint){N.idNameHints.add(R.cacheGroup.idHint)}if(!q){for(const E of R.modules){if(!E.chunkCondition(N,v))continue;be.connectChunkAndModule(N,E);for(const v of ae){be.disconnectChunkAndModule(v,E)}}}else{for(const v of R.modules){for(const E of ae){be.disconnectChunkAndModule(E,v)}}}if(Object.keys(R.cacheGroup.maxAsyncSize).length>0||Object.keys(R.cacheGroup.maxInitialSize).length>0){const v=ut.get(N);ut.set(N,{minSize:v?combineSizes(v.minSize,R.cacheGroup._minSizeForMaxSize,Math.max):R.cacheGroup.minSize,maxAsyncSize:v?combineSizes(v.maxAsyncSize,R.cacheGroup.maxAsyncSize,Math.min):R.cacheGroup.maxAsyncSize,maxInitialSize:v?combineSizes(v.maxInitialSize,R.cacheGroup.maxInitialSize,Math.min):R.cacheGroup.maxInitialSize,automaticNameDelimiter:R.cacheGroup.automaticNameDelimiter,keys:v?v.keys.concat(R.cacheGroup.key):[R.cacheGroup.key]})}for(const[v,E]of ct){if(isOverlap(E.chunks,ae)){let P=false;for(const v of R.modules){if(E.modules.has(v)){E.modules.delete(v);for(const P of v.getSourceTypes()){E.sizes[P]-=v.size(P)}P=true}}if(P){if(E.modules.size===0){ct.delete(v);continue}if(removeMinSizeViolatingModules(E)||!checkMinSizeReduction(E.sizes,E.cacheGroup.minSizeReduction,E.chunks.size)){ct.delete(v);continue}}}}}P.timeEnd("queue");P.time("maxSize");const pt=new Set;const{outputOptions:dt}=v;const{fallbackCacheGroup:ft}=this.options;for(const P of Array.from(v.chunks)){const R=ut.get(P);const{minSize:$,maxAsyncSize:N,maxInitialSize:q,automaticNameDelimiter:K}=R||ft;if(!R&&!ft.chunksFilter(P))continue;let ae;if(P.isOnlyInitial()){ae=q}else if(P.canBeInitial()){ae=combineSizes(N,q,Math.min)}else{ae=N}if(Object.keys(ae).length===0){continue}for(const E of Object.keys(ae)){const P=ae[E];const N=$[E];if(typeof N==="number"&&N>P){const E=R&&R.keys;const $=`${E&&E.join()} ${N} ${P}`;if(!pt.has($)){pt.add($);v.warnings.push(new Ie(E,N,P))}}}const ge=He({minSize:$,maxSize:mapObject(ae,((v,E)=>{const P=$[E];return typeof P==="number"?Math.max(v,P):v})),items:be.getChunkModulesIterable(P),getKey(v){const P=Qe.get(v);if(P!==undefined)return P;const R=E(v.identifier());const $=v.nameForCondition&&v.nameForCondition();const N=$?E($):R.replace(/^.*!|\?[^?!]*$/g,"");const q=N+K+hashFilename(R,dt);const ae=L(q);Qe.set(v,ae);return ae},getSize(v){const E=Object.create(null);for(const P of v.getSourceTypes()){E[P]=v.size(P)}return E}});if(ge.length<=1){continue}for(let E=0;E100){N=N.slice(0,100)+K+hashFilename(N,dt)}if(E!==ge.length-1){const E=v.addChunk(N);P.split(E);E.chunkReason=P.chunkReason;for(const $ of R.items){if(!$.chunkCondition(E,v)){continue}be.connectChunkAndModule(E,$);be.disconnectChunkAndModule(P,$)}}else{P.name=N}}}P.timeEnd("maxSize")}))}))}}},26693:function(v,E,P){"use strict";const{formatSize:R}=P(34966);const $=P(16413);v.exports=class AssetsOverSizeLimitWarning extends ${constructor(v,E){const P=v.map((v=>`\n ${v.name} (${R(v.size)})`)).join("");super(`asset size limit: The following asset(s) exceed the recommended size limit (${R(E)}).\nThis can impact web performance.\nAssets: ${P}`);this.name="AssetsOverSizeLimitWarning";this.assets=v}}},76569:function(v,E,P){"use strict";const{formatSize:R}=P(34966);const $=P(16413);v.exports=class EntrypointsOverSizeLimitWarning extends ${constructor(v,E){const P=v.map((v=>`\n ${v.name} (${R(v.size)})\n${v.files.map((v=>` ${v}`)).join("\n")}`)).join("");super(`entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (${R(E)}). This can impact web performance.\nEntrypoints:${P}\n`);this.name="EntrypointsOverSizeLimitWarning";this.entrypoints=v}}},3633:function(v,E,P){"use strict";const R=P(16413);v.exports=class NoAsyncChunksWarning extends R{constructor(){super("webpack performance recommendations: \n"+"You can limit the size of your bundles by using import() or require.ensure to lazy load some parts of your application.\n"+"For more info visit https://webpack.js.org/guides/code-splitting/");this.name="NoAsyncChunksWarning"}}},91776:function(v,E,P){"use strict";const{find:R}=P(64960);const $=P(26693);const N=P(76569);const L=P(3633);const q=new WeakSet;const excludeSourceMap=(v,E,P)=>!P.development;v.exports=class SizeLimitsPlugin{constructor(v){this.hints=v.hints;this.maxAssetSize=v.maxAssetSize;this.maxEntrypointSize=v.maxEntrypointSize;this.assetFilter=v.assetFilter}static isOverSizeLimit(v){return q.has(v)}apply(v){const E=this.maxEntrypointSize;const P=this.maxAssetSize;const K=this.hints;const ae=this.assetFilter||excludeSourceMap;v.hooks.afterEmit.tap("SizeLimitsPlugin",(v=>{const ge=[];const getEntrypointSize=E=>{let P=0;for(const R of E.getFiles()){const E=v.getAsset(R);if(E&&ae(E.name,E.source,E.info)&&E.source){P+=E.info.size||E.source.size()}}return P};const be=[];for(const{name:E,source:R,info:$}of v.getAssets()){if(!ae(E,R,$)||!R){continue}const v=$.size||R.size();if(v>P){be.push({name:E,size:v});q.add(R)}}const fileFilter=E=>{const P=v.getAsset(E);return P&&ae(P.name,P.source,P.info)};const xe=[];for(const[P,R]of v.entrypoints){const v=getEntrypointSize(R);if(v>E){xe.push({name:P,size:v,files:R.getFiles().filter(fileFilter)});q.add(R)}}if(K){if(be.length>0){ge.push(new $(be,P))}if(xe.length>0){ge.push(new N(xe,E))}if(ge.length>0){const E=R(v.chunks,(v=>!v.canBeInitial()));if(!E){ge.push(new L)}if(K==="error"){v.errors.push(...ge)}else{v.warnings.push(...ge)}}}}))}}},64828:function(v,E,P){"use strict";const R=P(845);const $=P(25233);class ChunkPrefetchFunctionRuntimeModule extends R{constructor(v,E,P){super(`chunk ${v} function`);this.childType=v;this.runtimeFunction=E;this.runtimeHandlers=P}generate(){const{runtimeFunction:v,runtimeHandlers:E}=this;const P=this.compilation;const{runtimeTemplate:R}=P;return $.asString([`${E} = {};`,`${v} = ${R.basicFunction("chunkId",[`Object.keys(${E}).map(${R.basicFunction("key",`${E}[key](chunkId);`)});`])}`])}}v.exports=ChunkPrefetchFunctionRuntimeModule},74750:function(v,E,P){"use strict";const R=P(92529);const $=P(64828);const N=P(90259);const L=P(33838);const q=P(33967);class ChunkPrefetchPreloadPlugin{apply(v){v.hooks.compilation.tap("ChunkPrefetchPreloadPlugin",(v=>{v.hooks.additionalChunkRuntimeRequirements.tap("ChunkPrefetchPreloadPlugin",((E,P,{chunkGraph:$})=>{if($.getNumberOfEntryModules(E)===0)return;const L=E.getChildrenOfTypeInOrder($,"prefetchOrder");if(L){P.add(R.prefetchChunk);P.add(R.onChunksLoaded);v.addRuntimeModule(E,new N(L))}}));v.hooks.additionalTreeRuntimeRequirements.tap("ChunkPrefetchPreloadPlugin",((E,P,{chunkGraph:$})=>{const N=E.getChildIdsByOrdersMap($);if(N.prefetch){P.add(R.prefetchChunk);v.addRuntimeModule(E,new L(N.prefetch))}if(N.preload){P.add(R.preloadChunk);v.addRuntimeModule(E,new q(N.preload))}}));v.hooks.runtimeRequirementInTree.for(R.prefetchChunk).tap("ChunkPrefetchPreloadPlugin",((E,P)=>{v.addRuntimeModule(E,new $("prefetch",R.prefetchChunk,R.prefetchChunkHandlers));P.add(R.prefetchChunkHandlers)}));v.hooks.runtimeRequirementInTree.for(R.preloadChunk).tap("ChunkPrefetchPreloadPlugin",((E,P)=>{v.addRuntimeModule(E,new $("preload",R.preloadChunk,R.preloadChunkHandlers));P.add(R.preloadChunkHandlers)}))}))}}v.exports=ChunkPrefetchPreloadPlugin},90259:function(v,E,P){"use strict";const R=P(92529);const $=P(845);const N=P(25233);class ChunkPrefetchStartupRuntimeModule extends ${constructor(v){super("startup prefetch",$.STAGE_TRIGGER);this.startupChunks=v}generate(){const{startupChunks:v}=this;const E=this.compilation;const P=this.chunk;const{runtimeTemplate:$}=E;return N.asString(v.map((({onChunks:v,chunks:E})=>`${R.onChunksLoaded}(0, ${JSON.stringify(v.filter((v=>v===P)).map((v=>v.id)))}, ${$.basicFunction("",E.size<3?Array.from(E,(v=>`${R.prefetchChunk}(${JSON.stringify(v.id)});`)):`${JSON.stringify(Array.from(E,(v=>v.id)))}.map(${R.prefetchChunk});`)}, 5);`)))}}v.exports=ChunkPrefetchStartupRuntimeModule},33838:function(v,E,P){"use strict";const R=P(92529);const $=P(845);const N=P(25233);class ChunkPrefetchTriggerRuntimeModule extends ${constructor(v){super(`chunk prefetch trigger`,$.STAGE_TRIGGER);this.chunkMap=v}generate(){const{chunkMap:v}=this;const E=this.compilation;const{runtimeTemplate:P}=E;const $=["var chunks = chunkToChildrenMap[chunkId];",`Array.isArray(chunks) && chunks.map(${R.prefetchChunk});`];return N.asString([N.asString([`var chunkToChildrenMap = ${JSON.stringify(v,null,"\t")};`,`${R.ensureChunkHandlers}.prefetch = ${P.expressionFunction(`Promise.all(promises).then(${P.basicFunction("",$)})`,"chunkId, promises")};`])])}}v.exports=ChunkPrefetchTriggerRuntimeModule},33967:function(v,E,P){"use strict";const R=P(92529);const $=P(845);const N=P(25233);class ChunkPreloadTriggerRuntimeModule extends ${constructor(v){super(`chunk preload trigger`,$.STAGE_TRIGGER);this.chunkMap=v}generate(){const{chunkMap:v}=this;const E=this.compilation;const{runtimeTemplate:P}=E;const $=["var chunks = chunkToChildrenMap[chunkId];",`Array.isArray(chunks) && chunks.map(${R.preloadChunk});`];return N.asString([N.asString([`var chunkToChildrenMap = ${JSON.stringify(v,null,"\t")};`,`${R.ensureChunkHandlers}.preload = ${P.basicFunction("chunkId",$)};`])])}}v.exports=ChunkPreloadTriggerRuntimeModule},60599:function(v){"use strict";class BasicEffectRulePlugin{constructor(v,E){this.ruleProperty=v;this.effectType=E||v}apply(v){v.hooks.rule.tap("BasicEffectRulePlugin",((v,E,P,R,$)=>{if(P.has(this.ruleProperty)){P.delete(this.ruleProperty);const v=E[this.ruleProperty];R.effects.push({type:this.effectType,value:v})}}))}}v.exports=BasicEffectRulePlugin},81690:function(v){"use strict";class BasicMatcherRulePlugin{constructor(v,E,P){this.ruleProperty=v;this.dataProperty=E||v;this.invert=P||false}apply(v){v.hooks.rule.tap("BasicMatcherRulePlugin",((E,P,R,$)=>{if(R.has(this.ruleProperty)){R.delete(this.ruleProperty);const N=P[this.ruleProperty];const L=v.compileCondition(`${E}.${this.ruleProperty}`,N);const q=L.fn;$.conditions.push({property:this.dataProperty,matchWhenEmpty:this.invert?!L.matchWhenEmpty:L.matchWhenEmpty,fn:this.invert?v=>!q(v):q})}}))}}v.exports=BasicMatcherRulePlugin},7389:function(v){"use strict";class ObjectMatcherRulePlugin{constructor(v,E){this.ruleProperty=v;this.dataProperty=E||v}apply(v){const{ruleProperty:E,dataProperty:P}=this;v.hooks.rule.tap("ObjectMatcherRulePlugin",((R,$,N,L)=>{if(N.has(E)){N.delete(E);const q=$[E];for(const $ of Object.keys(q)){const N=$.split(".");const K=v.compileCondition(`${R}.${E}.${$}`,q[$]);L.conditions.push({property:[P,...N],matchWhenEmpty:K.matchWhenEmpty,fn:K.fn})}}}))}}v.exports=ObjectMatcherRulePlugin},78185:function(v,E,P){"use strict";const{SyncHook:R}=P(79846);class RuleSetCompiler{constructor(v){this.hooks=Object.freeze({rule:new R(["path","rule","unhandledProperties","compiledRule","references"])});if(v){for(const E of v){E.apply(this)}}}compile(v){const E=new Map;const P=this.compileRules("ruleSet",v,E);const execRule=(v,E,P)=>{for(const P of E.conditions){const E=P.property;if(Array.isArray(E)){let R=v;for(const v of E){if(R&&typeof R==="object"&&Object.prototype.hasOwnProperty.call(R,v)){R=R[v]}else{R=undefined;break}}if(R!==undefined){if(!P.fn(R))return false;continue}}else if(E in v){const R=v[E];if(R!==undefined){if(!P.fn(R))return false;continue}}if(!P.matchWhenEmpty){return false}}for(const R of E.effects){if(typeof R==="function"){const E=R(v);for(const v of E){P.push(v)}}else{P.push(R)}}if(E.rules){for(const R of E.rules){execRule(v,R,P)}}if(E.oneOf){for(const R of E.oneOf){if(execRule(v,R,P)){break}}}return true};return{references:E,exec:v=>{const E=[];for(const R of P){execRule(v,R,E)}return E}}}compileRules(v,E,P){return E.filter(Boolean).map(((E,R)=>this.compileRule(`${v}[${R}]`,E,P)))}compileRule(v,E,P){const R=new Set(Object.keys(E).filter((v=>E[v]!==undefined)));const $={conditions:[],effects:[],rules:undefined,oneOf:undefined};this.hooks.rule.call(v,E,R,$,P);if(R.has("rules")){R.delete("rules");const N=E.rules;if(!Array.isArray(N))throw this.error(v,N,"Rule.rules must be an array of rules");$.rules=this.compileRules(`${v}.rules`,N,P)}if(R.has("oneOf")){R.delete("oneOf");const N=E.oneOf;if(!Array.isArray(N))throw this.error(v,N,"Rule.oneOf must be an array of rules");$.oneOf=this.compileRules(`${v}.oneOf`,N,P)}if(R.size>0){throw this.error(v,E,`Properties ${Array.from(R).join(", ")} are unknown`)}return $}compileCondition(v,E){if(E===""){return{matchWhenEmpty:true,fn:v=>v===""}}if(!E){throw this.error(v,E,"Expected condition but got falsy value")}if(typeof E==="string"){return{matchWhenEmpty:E.length===0,fn:v=>typeof v==="string"&&v.startsWith(E)}}if(typeof E==="function"){try{return{matchWhenEmpty:E(""),fn:E}}catch(P){throw this.error(v,E,"Evaluation of condition function threw error")}}if(E instanceof RegExp){return{matchWhenEmpty:E.test(""),fn:v=>typeof v==="string"&&E.test(v)}}if(Array.isArray(E)){const P=E.map(((E,P)=>this.compileCondition(`${v}[${P}]`,E)));return this.combineConditionsOr(P)}if(typeof E!=="object"){throw this.error(v,E,`Unexpected ${typeof E} when condition was expected`)}const P=[];for(const R of Object.keys(E)){const $=E[R];switch(R){case"or":if($){if(!Array.isArray($)){throw this.error(`${v}.or`,E.or,"Expected array of conditions")}P.push(this.compileCondition(`${v}.or`,$))}break;case"and":if($){if(!Array.isArray($)){throw this.error(`${v}.and`,E.and,"Expected array of conditions")}let R=0;for(const E of $){P.push(this.compileCondition(`${v}.and[${R}]`,E));R++}}break;case"not":if($){const E=this.compileCondition(`${v}.not`,$);const R=E.fn;P.push({matchWhenEmpty:!E.matchWhenEmpty,fn:v=>!R(v)})}break;default:throw this.error(`${v}.${R}`,E[R],`Unexpected property ${R} in condition`)}}if(P.length===0){throw this.error(v,E,"Expected condition, but got empty thing")}return this.combineConditionsAnd(P)}combineConditionsOr(v){if(v.length===0){return{matchWhenEmpty:false,fn:()=>false}}else if(v.length===1){return v[0]}else{return{matchWhenEmpty:v.some((v=>v.matchWhenEmpty)),fn:E=>v.some((v=>v.fn(E)))}}}combineConditionsAnd(v){if(v.length===0){return{matchWhenEmpty:false,fn:()=>false}}else if(v.length===1){return v[0]}else{return{matchWhenEmpty:v.every((v=>v.matchWhenEmpty)),fn:E=>v.every((v=>v.fn(E)))}}}error(v,E,P){return new Error(`Compiling RuleSet failed: ${P} (at ${v}: ${E})`)}}v.exports=RuleSetCompiler},19692:function(v,E,P){"use strict";const R=P(73837);class UseEffectRulePlugin{apply(v){v.hooks.rule.tap("UseEffectRulePlugin",((E,P,$,N,L)=>{const conflictWith=(R,N)=>{if($.has(R)){throw v.error(`${E}.${R}`,P[R],`A Rule must not have a '${R}' property when it has a '${N}' property`)}};if($.has("use")){$.delete("use");$.delete("enforce");conflictWith("loader","use");conflictWith("options","use");const v=P.use;const q=P.enforce;const K=q?`use-${q}`:"use";const useToEffect=(v,E,P)=>{if(typeof P==="function"){return E=>useToEffectsWithoutIdent(v,P(E))}else{return useToEffectRaw(v,E,P)}};const useToEffectRaw=(v,E,P)=>{if(typeof P==="string"){return{type:K,value:{loader:P,options:undefined,ident:undefined}}}else{const $=P.loader;const N=P.options;let K=P.ident;if(N&&typeof N==="object"){if(!K)K=E;L.set(K,N)}if(typeof N==="string"){R.deprecate((()=>{}),`Using a string as loader options is deprecated (${v}.options)`,"DEP_WEBPACK_RULE_LOADER_OPTIONS_STRING")()}return{type:q?`use-${q}`:"use",value:{loader:$,options:N,ident:K}}}};const useToEffectsWithoutIdent=(v,E)=>{if(Array.isArray(E)){return E.filter(Boolean).map(((E,P)=>useToEffectRaw(`${v}[${P}]`,"[[missing ident]]",E)))}return[useToEffectRaw(v,"[[missing ident]]",E)]};const useToEffects=(v,E)=>{if(Array.isArray(E)){return E.filter(Boolean).map(((E,P)=>{const R=`${v}[${P}]`;return useToEffect(R,R,E)}))}return[useToEffect(v,v,E)]};if(typeof v==="function"){N.effects.push((P=>useToEffectsWithoutIdent(`${E}.use`,v(P))))}else{for(const P of useToEffects(`${E}.use`,v)){N.effects.push(P)}}}if($.has("loader")){$.delete("loader");$.delete("options");$.delete("enforce");const q=P.loader;const K=P.options;const ae=P.enforce;if(q.includes("!")){throw v.error(`${E}.loader`,q,"Exclamation mark separated loader lists has been removed in favor of the 'use' property with arrays")}if(q.includes("?")){throw v.error(`${E}.loader`,q,"Query arguments on 'loader' has been removed in favor of the 'options' property")}if(typeof K==="string"){R.deprecate((()=>{}),`Using a string as loader options is deprecated (${E}.options)`,"DEP_WEBPACK_RULE_LOADER_OPTIONS_STRING")()}const ge=K&&typeof K==="object"?E:undefined;L.set(ge,K);N.effects.push({type:ae?`use-${ae}`:"use",value:{loader:q,options:K,ident:ge}})}}))}useItemToEffects(v,E){}}v.exports=UseEffectRulePlugin},28447:function(v,E,P){"use strict";const R=P(92529);const $=P(25233);const N=P(37274);class AsyncModuleRuntimeModule extends N{constructor(){super("async module")}generate(){const v=this.compilation;const{runtimeTemplate:E}=v;const P=R.asyncModule;return $.asString(['var webpackQueues = typeof Symbol === "function" ? Symbol("webpack queues") : "__webpack_queues__";',`var webpackExports = typeof Symbol === "function" ? Symbol("webpack exports") : "${R.exports}";`,'var webpackError = typeof Symbol === "function" ? Symbol("webpack error") : "__webpack_error__";',`var resolveQueue = ${E.basicFunction("queue",["if(queue && queue.d < 1) {",$.indent(["queue.d = 1;",`queue.forEach(${E.expressionFunction("fn.r--","fn")});`,`queue.forEach(${E.expressionFunction("fn.r-- ? fn.r++ : fn()","fn")});`]),"}"])}`,`var wrapDeps = ${E.returningFunction(`deps.map(${E.basicFunction("dep",['if(dep !== null && typeof dep === "object") {',$.indent(["if(dep[webpackQueues]) return dep;","if(dep.then) {",$.indent(["var queue = [];","queue.d = 0;",`dep.then(${E.basicFunction("r",["obj[webpackExports] = r;","resolveQueue(queue);"])}, ${E.basicFunction("e",["obj[webpackError] = e;","resolveQueue(queue);"])});`,"var obj = {};",`obj[webpackQueues] = ${E.expressionFunction(`fn(queue)`,"fn")};`,"return obj;"]),"}"]),"}","var ret = {};",`ret[webpackQueues] = ${E.emptyFunction()};`,"ret[webpackExports] = dep;","return ret;"])})`,"deps")};`,`${P} = ${E.basicFunction("module, body, hasAwait",["var queue;","hasAwait && ((queue = []).d = -1);","var depQueues = new Set();","var exports = module.exports;","var currentDeps;","var outerResolve;","var reject;",`var promise = new Promise(${E.basicFunction("resolve, rej",["reject = rej;","outerResolve = resolve;"])});`,"promise[webpackExports] = exports;",`promise[webpackQueues] = ${E.expressionFunction(`queue && fn(queue), depQueues.forEach(fn), promise["catch"](${E.emptyFunction()})`,"fn")};`,"module.exports = promise;",`body(${E.basicFunction("deps",["currentDeps = wrapDeps(deps);","var fn;",`var getResult = ${E.returningFunction(`currentDeps.map(${E.basicFunction("d",["if(d[webpackError]) throw d[webpackError];","return d[webpackExports];"])})`)}`,`var promise = new Promise(${E.basicFunction("resolve",[`fn = ${E.expressionFunction("resolve(getResult)","")};`,"fn.r = 0;",`var fnQueue = ${E.expressionFunction("q !== queue && !depQueues.has(q) && (depQueues.add(q), q && !q.d && (fn.r++, q.push(fn)))","q")};`,`currentDeps.map(${E.expressionFunction("dep[webpackQueues](fnQueue)","dep")});`])});`,"return fn.r ? promise : getResult();"])}, ${E.expressionFunction("(err ? reject(promise[webpackError] = err) : outerResolve(exports)), resolveQueue(queue)","err")});`,"queue && queue.d < 0 && (queue.d = 0);"])};`])}}v.exports=AsyncModuleRuntimeModule},5370:function(v,E,P){"use strict";const R=P(92529);const $=P(845);const N=P(25233);const L=P(42453);const{getUndoPath:q}=P(51984);class AutoPublicPathRuntimeModule extends ${constructor(){super("publicPath",$.STAGE_BASIC)}generate(){const v=this.compilation;const{scriptType:E,importMetaName:P,path:$}=v.outputOptions;const K=v.getPath(L.getChunkFilenameTemplate(this.chunk,v.outputOptions),{chunk:this.chunk,contentHashType:"javascript"});const ae=q(K,$,false);return N.asString(["var scriptUrl;",E==="module"?`if (typeof ${P}.url === "string") scriptUrl = ${P}.url`:N.asString([`if (${R.global}.importScripts) scriptUrl = ${R.global}.location + "";`,`var document = ${R.global}.document;`,"if (!scriptUrl && document) {",N.indent([`if (document.currentScript)`,N.indent(`scriptUrl = document.currentScript.src;`),"if (!scriptUrl) {",N.indent(['var scripts = document.getElementsByTagName("script");',"if(scripts.length) {",N.indent(["var i = scripts.length - 1;","while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;"]),"}"]),"}"]),"}"]),"// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration",'// or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic.','if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser");','scriptUrl = scriptUrl.replace(/#.*$/, "").replace(/\\?.*$/, "").replace(/\\/[^\\/]+$/, "/");',!ae?`${R.publicPath} = scriptUrl;`:`${R.publicPath} = scriptUrl + ${JSON.stringify(ae)};`])}}v.exports=AutoPublicPathRuntimeModule},97083:function(v,E,P){"use strict";const R=P(92529);const $=P(845);class BaseUriRuntimeModule extends ${constructor(){super("base uri",$.STAGE_ATTACH)}generate(){const v=this.chunk;const E=v.getEntryOptions();return`${R.baseURI} = ${E.baseUri===undefined?"undefined":JSON.stringify(E.baseUri)};`}}v.exports=BaseUriRuntimeModule},91416:function(v,E,P){"use strict";const R=P(92529);const $=P(845);class ChunkNameRuntimeModule extends ${constructor(v){super("chunkName");this.chunkName=v}generate(){return`${R.chunkName} = ${JSON.stringify(this.chunkName)};`}}v.exports=ChunkNameRuntimeModule},6051:function(v,E,P){"use strict";const R=P(92529);const $=P(25233);const N=P(37274);class CompatGetDefaultExportRuntimeModule extends N{constructor(){super("compat get default export")}generate(){const v=this.compilation;const{runtimeTemplate:E}=v;const P=R.compatGetDefaultExport;return $.asString(["// getDefaultExport function for compatibility with non-harmony modules",`${P} = ${E.basicFunction("module",["var getter = module && module.__esModule ?",$.indent([`${E.returningFunction("module['default']")} :`,`${E.returningFunction("module")};`]),`${R.definePropertyGetters}(getter, { a: getter });`,"return getter;"])};`])}}v.exports=CompatGetDefaultExportRuntimeModule},12087:function(v,E,P){"use strict";const R=P(92529);const $=P(845);class CompatRuntimeModule extends ${constructor(){super("compat",$.STAGE_ATTACH);this.fullHash=true}generate(){const v=this.compilation;const E=this.chunkGraph;const P=this.chunk;const{runtimeTemplate:$,mainTemplate:N,moduleTemplates:L,dependencyTemplates:q}=v;const K=N.hooks.bootstrap.call("",P,v.hash||"XXXX",L.javascript,q);const ae=N.hooks.localVars.call("",P,v.hash||"XXXX");const ge=N.hooks.requireExtensions.call("",P,v.hash||"XXXX");const be=E.getTreeRuntimeRequirements(P);let xe="";if(be.has(R.ensureChunk)){const E=N.hooks.requireEnsure.call("",P,v.hash||"XXXX","chunkId");if(E){xe=`${R.ensureChunkHandlers}.compat = ${$.basicFunction("chunkId, promises",E)};`}}return[K,ae,xe,ge].filter(Boolean).join("\n")}shouldIsolate(){return false}}v.exports=CompatRuntimeModule},32667:function(v,E,P){"use strict";const R=P(92529);const $=P(25233);const N=P(37274);class CreateFakeNamespaceObjectRuntimeModule extends N{constructor(){super("create fake namespace object")}generate(){const v=this.compilation;const{runtimeTemplate:E}=v;const P=R.createFakeNamespaceObject;return $.asString([`var getProto = Object.getPrototypeOf ? ${E.returningFunction("Object.getPrototypeOf(obj)","obj")} : ${E.returningFunction("obj.__proto__","obj")};`,"var leafPrototypes;","// create a fake namespace object","// mode & 1: value is a module id, require it","// mode & 2: merge all properties of value into the ns","// mode & 4: return value when already ns object","// mode & 16: return value when it's Promise-like","// mode & 8|1: behave like require",`${P} = function(value, mode) {`,$.indent([`if(mode & 1) value = this(value);`,`if(mode & 8) return value;`,"if(typeof value === 'object' && value) {",$.indent(["if((mode & 4) && value.__esModule) return value;","if((mode & 16) && typeof value.then === 'function') return value;"]),"}","var ns = Object.create(null);",`${R.makeNamespaceObject}(ns);`,"var def = {};","leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];","for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {",$.indent([`Object.getOwnPropertyNames(current).forEach(${E.expressionFunction(`def[key] = ${E.returningFunction("value[key]","")}`,"key")});`]),"}",`def['default'] = ${E.returningFunction("value","")};`,`${R.definePropertyGetters}(ns, def);`,"return ns;"]),"};"])}}v.exports=CreateFakeNamespaceObjectRuntimeModule},99388:function(v,E,P){"use strict";const R=P(92529);const $=P(25233);const N=P(37274);class CreateScriptRuntimeModule extends N{constructor(){super("trusted types script")}generate(){const v=this.compilation;const{runtimeTemplate:E,outputOptions:P}=v;const{trustedTypes:N}=P;const L=R.createScript;return $.asString(`${L} = ${E.returningFunction(N?`${R.getTrustedTypesPolicy}().createScript(script)`:"script","script")};`)}}v.exports=CreateScriptRuntimeModule},47990:function(v,E,P){"use strict";const R=P(92529);const $=P(25233);const N=P(37274);class CreateScriptUrlRuntimeModule extends N{constructor(){super("trusted types script url")}generate(){const v=this.compilation;const{runtimeTemplate:E,outputOptions:P}=v;const{trustedTypes:N}=P;const L=R.createScriptUrl;return $.asString(`${L} = ${E.returningFunction(N?`${R.getTrustedTypesPolicy}().createScriptURL(url)`:"url","url")};`)}}v.exports=CreateScriptUrlRuntimeModule},13465:function(v,E,P){"use strict";const R=P(92529);const $=P(25233);const N=P(37274);class DefinePropertyGettersRuntimeModule extends N{constructor(){super("define property getters")}generate(){const v=this.compilation;const{runtimeTemplate:E}=v;const P=R.definePropertyGetters;return $.asString(["// define getter functions for harmony exports",`${P} = ${E.basicFunction("exports, definition",[`for(var key in definition) {`,$.indent([`if(${R.hasOwnProperty}(definition, key) && !${R.hasOwnProperty}(exports, key)) {`,$.indent(["Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });"]),"}"]),"}"])};`])}}v.exports=DefinePropertyGettersRuntimeModule},92485:function(v,E,P){"use strict";const R=P(92529);const $=P(845);const N=P(25233);class EnsureChunkRuntimeModule extends ${constructor(v){super("ensure chunk");this.runtimeRequirements=v}generate(){const v=this.compilation;const{runtimeTemplate:E}=v;if(this.runtimeRequirements.has(R.ensureChunkHandlers)){const v=this.runtimeRequirements.has(R.hasFetchPriority);const P=R.ensureChunkHandlers;return N.asString([`${P} = {};`,"// This file contains only the entry chunk.","// The chunk loading function for additional chunks",`${R.ensureChunk} = ${E.basicFunction(`chunkId${v?", fetchPriority":""}`,[`return Promise.all(Object.keys(${P}).reduce(${E.basicFunction("promises, key",[`${P}[key](chunkId, promises${v?", fetchPriority":""});`,"return promises;"])}, []));`])};`])}else{return N.asString(["// The chunk loading function for additional chunks","// Since all referenced chunks are already included","// in this file, this function is empty here.",`${R.ensureChunk} = ${E.returningFunction("Promise.resolve()")};`])}}}v.exports=EnsureChunkRuntimeModule},72361:function(v,E,P){"use strict";const R=P(92529);const $=P(845);const N=P(25233);const{first:L}=P(64960);class GetChunkFilenameRuntimeModule extends ${constructor(v,E,P,R,$){super(`get ${E} chunk filename`);this.contentType=v;this.global=P;this.getFilenameForChunk=R;this.allChunks=$;this.dependentHash=true}generate(){const{global:v,contentType:E,getFilenameForChunk:P,allChunks:$}=this;const q=this.compilation;const K=this.chunkGraph;const ae=this.chunk;const{runtimeTemplate:ge}=q;const be=new Map;let xe=0;let ve;const addChunk=v=>{const E=P(v);if(E){let P=be.get(E);if(P===undefined){be.set(E,P=new Set)}P.add(v);if(typeof E==="string"){if(P.size{const unquotedStringify=E=>{const P=`${E}`;if(P.length>=5&&P===`${v.id}`){return'" + chunkId + "'}const R=JSON.stringify(P);return R.slice(1,R.length-1)};const unquotedStringifyWithLength=v=>E=>unquotedStringify(`${v}`.slice(0,E));const $=typeof P==="function"?JSON.stringify(P({chunk:v,contentHashType:E})):JSON.stringify(P);const N=q.getPath($,{hash:`" + ${R.getFullHash}() + "`,hashWithLength:v=>`" + ${R.getFullHash}().slice(0, ${v}) + "`,chunk:{id:unquotedStringify(v.id),hash:unquotedStringify(v.renderedHash),hashWithLength:unquotedStringifyWithLength(v.renderedHash),name:unquotedStringify(v.name||v.id),contentHash:{[E]:unquotedStringify(v.contentHash[E])},contentHashWithLength:{[E]:unquotedStringifyWithLength(v.contentHash[E])}},contentHashType:E});let L=Ie.get(N);if(L===undefined){Ie.set(N,L=new Set)}L.add(v.id)};for(const[v,E]of be){if(v!==ve){for(const P of E)addStaticUrl(P,v)}else{for(const v of E)He.add(v)}}const createMap=v=>{const E={};let P=false;let R;let $=0;for(const N of He){const L=v(N);if(L===N.id){P=true}else{E[N.id]=L;R=N.id;$++}}if($===0)return"chunkId";if($===1){return P?`(chunkId === ${JSON.stringify(R)} ? ${JSON.stringify(E[R])} : chunkId)`:JSON.stringify(E[R])}return P?`(${JSON.stringify(E)}[chunkId] || chunkId)`:`${JSON.stringify(E)}[chunkId]`};const mapExpr=v=>`" + ${createMap(v)} + "`;const mapExprWithLength=v=>E=>`" + ${createMap((P=>`${v(P)}`.slice(0,E)))} + "`;const Qe=ve&&q.getPath(JSON.stringify(ve),{hash:`" + ${R.getFullHash}() + "`,hashWithLength:v=>`" + ${R.getFullHash}().slice(0, ${v}) + "`,chunk:{id:`" + chunkId + "`,hash:mapExpr((v=>v.renderedHash)),hashWithLength:mapExprWithLength((v=>v.renderedHash)),name:mapExpr((v=>v.name||v.id)),contentHash:{[E]:mapExpr((v=>v.contentHash[E]))},contentHashWithLength:{[E]:mapExprWithLength((v=>v.contentHash[E]))}},contentHashType:E});return N.asString([`// This function allow to reference ${Ae.join(" and ")}`,`${v} = ${ge.basicFunction("chunkId",Ie.size>0?["// return url for filenames not based on template",N.asString(Array.from(Ie,(([v,E])=>{const P=E.size===1?`chunkId === ${JSON.stringify(L(E))}`:`{${Array.from(E,(v=>`${JSON.stringify(v)}:1`)).join(",")}}[chunkId]`;return`if (${P}) return ${v};`}))),"// return url for filenames based on template",`return ${Qe};`]:["// return url for filenames based on template",`return ${Qe};`])};`])}}v.exports=GetChunkFilenameRuntimeModule},45652:function(v,E,P){"use strict";const R=P(92529);const $=P(845);class GetFullHashRuntimeModule extends ${constructor(){super("getFullHash");this.fullHash=true}generate(){const v=this.compilation;const{runtimeTemplate:E}=v;return`${R.getFullHash} = ${E.returningFunction(JSON.stringify(v.hash||"XXXX"))}`}}v.exports=GetFullHashRuntimeModule},6687:function(v,E,P){"use strict";const R=P(92529);const $=P(845);const N=P(25233);class GetMainFilenameRuntimeModule extends ${constructor(v,E,P){super(`get ${v} filename`);this.global=E;this.filename=P}generate(){const{global:v,filename:E}=this;const P=this.compilation;const $=this.chunk;const{runtimeTemplate:L}=P;const q=P.getPath(JSON.stringify(E),{hash:`" + ${R.getFullHash}() + "`,hashWithLength:v=>`" + ${R.getFullHash}().slice(0, ${v}) + "`,chunk:$,runtime:$.runtime});return N.asString([`${v} = ${L.returningFunction(q)};`])}}v.exports=GetMainFilenameRuntimeModule},28991:function(v,E,P){"use strict";const R=P(92529);const $=P(25233);const N=P(37274);class GetTrustedTypesPolicyRuntimeModule extends N{constructor(v){super("trusted types policy");this.runtimeRequirements=v}generate(){const v=this.compilation;const{runtimeTemplate:E,outputOptions:P}=v;const{trustedTypes:N}=P;const L=R.getTrustedTypesPolicy;const q=N?N.onPolicyCreationFailure==="continue":false;return $.asString(["var policy;",`${L} = ${E.basicFunction("",["// Create Trusted Type policy if Trusted Types are available and the policy doesn't exist yet.","if (policy === undefined) {",$.indent(["policy = {",$.indent([...this.runtimeRequirements.has(R.createScript)?[`createScript: ${E.returningFunction("script","script")}`]:[],...this.runtimeRequirements.has(R.createScriptUrl)?[`createScriptURL: ${E.returningFunction("url","url")}`]:[]].join(",\n")),"};",...N?['if (typeof trustedTypes !== "undefined" && trustedTypes.createPolicy) {',$.indent([...q?["try {"]:[],...[`policy = trustedTypes.createPolicy(${JSON.stringify(N.policyName)}, policy);`].map((v=>q?$.indent(v):v)),...q?["} catch (e) {",$.indent([`console.warn('Could not create trusted-types policy ${JSON.stringify(N.policyName)}');`]),"}"]:[]]),"}"]:[]]),"}","return policy;"])};`])}}v.exports=GetTrustedTypesPolicyRuntimeModule},86726:function(v,E,P){"use strict";const R=P(92529);const $=P(845);const N=P(25233);class GlobalRuntimeModule extends ${constructor(){super("global")}generate(){return N.asString([`${R.global} = (function() {`,N.indent(["if (typeof globalThis === 'object') return globalThis;","try {",N.indent("return this || new Function('return this')();"),"} catch (e) {",N.indent("if (typeof window === 'object') return window;"),"}"]),"})();"])}}v.exports=GlobalRuntimeModule},88171:function(v,E,P){"use strict";const R=P(92529);const $=P(845);const N=P(25233);class HasOwnPropertyRuntimeModule extends ${constructor(){super("hasOwnProperty shorthand")}generate(){const v=this.compilation;const{runtimeTemplate:E}=v;return N.asString([`${R.hasOwnProperty} = ${E.returningFunction("Object.prototype.hasOwnProperty.call(obj, prop)","obj, prop")}`])}}v.exports=HasOwnPropertyRuntimeModule},37274:function(v,E,P){"use strict";const R=P(845);class HelperRuntimeModule extends R{constructor(v){super(v)}}v.exports=HelperRuntimeModule},35974:function(v,E,P){"use strict";const{SyncWaterfallHook:R}=P(79846);const $=P(6944);const N=P(92529);const L=P(25233);const q=P(37274);const K=new WeakMap;class LoadScriptRuntimeModule extends q{static getCompilationHooks(v){if(!(v instanceof $)){throw new TypeError("The 'compilation' argument must be an instance of Compilation")}let E=K.get(v);if(E===undefined){E={createScript:new R(["source","chunk"])};K.set(v,E)}return E}constructor(v,E){super("load script");this._withCreateScriptUrl=v;this._withFetchPriority=E}generate(){const v=this.compilation;const{runtimeTemplate:E,outputOptions:P}=v;const{scriptType:R,chunkLoadTimeout:$,crossOriginLoading:q,uniqueName:K,charset:ae}=P;const ge=N.loadScript;const{createScript:be}=LoadScriptRuntimeModule.getCompilationHooks(v);const xe=L.asString(["script = document.createElement('script');",R?`script.type = ${JSON.stringify(R)};`:"",ae?"script.charset = 'utf-8';":"",`script.timeout = ${$/1e3};`,`if (${N.scriptNonce}) {`,L.indent(`script.setAttribute("nonce", ${N.scriptNonce});`),"}",K?'script.setAttribute("data-webpack", dataWebpackPrefix + key);':"",this._withFetchPriority?L.asString(["if(fetchPriority) {",L.indent('script.setAttribute("fetchpriority", fetchPriority);'),"}"]):"",`script.src = ${this._withCreateScriptUrl?`${N.createScriptUrl}(url)`:"url"};`,q?q==="use-credentials"?'script.crossOrigin = "use-credentials";':L.asString(["if (script.src.indexOf(window.location.origin + '/') !== 0) {",L.indent(`script.crossOrigin = ${JSON.stringify(q)};`),"}"]):""]);return L.asString(["var inProgress = {};",K?`var dataWebpackPrefix = ${JSON.stringify(K+":")};`:"// data-webpack is not used as build has no uniqueName","// loadScript function to load a script via script tag",`${ge} = ${E.basicFunction(`url, done, key, chunkId${this._withFetchPriority?", fetchPriority":""}`,["if(inProgress[url]) { inProgress[url].push(done); return; }","var script, needAttach;","if(key !== undefined) {",L.indent(['var scripts = document.getElementsByTagName("script");',"for(var i = 0; i < scripts.length; i++) {",L.indent(["var s = scripts[i];",`if(s.getAttribute("src") == url${K?' || s.getAttribute("data-webpack") == dataWebpackPrefix + key':""}) { script = s; break; }`]),"}"]),"}","if(!script) {",L.indent(["needAttach = true;",be.call(xe,this.chunk)]),"}","inProgress[url] = [done];","var onScriptComplete = "+E.basicFunction("prev, event",L.asString(["// avoid mem leaks in IE.","script.onerror = script.onload = null;","clearTimeout(timeout);","var doneFns = inProgress[url];","delete inProgress[url];","script.parentNode && script.parentNode.removeChild(script);",`doneFns && doneFns.forEach(${E.returningFunction("fn(event)","fn")});`,"if(prev) return prev(event);"])),`var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), ${$});`,"script.onerror = onScriptComplete.bind(null, script.onerror);","script.onload = onScriptComplete.bind(null, script.onload);","needAttach && document.head.appendChild(script);"])};`])}}v.exports=LoadScriptRuntimeModule},87105:function(v,E,P){"use strict";const R=P(92529);const $=P(25233);const N=P(37274);class MakeNamespaceObjectRuntimeModule extends N{constructor(){super("make namespace object")}generate(){const v=this.compilation;const{runtimeTemplate:E}=v;const P=R.makeNamespaceObject;return $.asString(["// define __esModule on exports",`${P} = ${E.basicFunction("exports",["if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {",$.indent(["Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });"]),"}","Object.defineProperty(exports, '__esModule', { value: true });"])};`])}}v.exports=MakeNamespaceObjectRuntimeModule},38991:function(v,E,P){"use strict";const R=P(92529);const $=P(845);class NonceRuntimeModule extends ${constructor(){super("nonce",$.STAGE_ATTACH)}generate(){return`${R.scriptNonce} = undefined;`}}v.exports=NonceRuntimeModule},54163:function(v,E,P){"use strict";const R=P(92529);const $=P(845);const N=P(25233);class OnChunksLoadedRuntimeModule extends ${constructor(){super("chunk loaded")}generate(){const v=this.compilation;const{runtimeTemplate:E}=v;return N.asString(["var deferred = [];",`${R.onChunksLoaded} = ${E.basicFunction("result, chunkIds, fn, priority",["if(chunkIds) {",N.indent(["priority = priority || 0;","for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];","deferred[i] = [chunkIds, fn, priority];","return;"]),"}","var notFulfilled = Infinity;","for (var i = 0; i < deferred.length; i++) {",N.indent([E.destructureArray(["chunkIds","fn","priority"],"deferred[i]"),"var fulfilled = true;","for (var j = 0; j < chunkIds.length; j++) {",N.indent([`if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(${R.onChunksLoaded}).every(${E.returningFunction(`${R.onChunksLoaded}[key](chunkIds[j])`,"key")})) {`,N.indent(["chunkIds.splice(j--, 1);"]),"} else {",N.indent(["fulfilled = false;","if(priority < notFulfilled) notFulfilled = priority;"]),"}"]),"}","if(fulfilled) {",N.indent(["deferred.splice(i--, 1)","var r = fn();","if (r !== undefined) result = r;"]),"}"]),"}","return result;"])};`])}}v.exports=OnChunksLoadedRuntimeModule},63830:function(v,E,P){"use strict";const R=P(92529);const $=P(845);class PublicPathRuntimeModule extends ${constructor(v){super("publicPath",$.STAGE_BASIC);this.publicPath=v}generate(){const{publicPath:v}=this;const E=this.compilation;return`${R.publicPath} = ${JSON.stringify(E.getPath(v||"",{hash:E.hash||"XXXX"}))};`}}v.exports=PublicPathRuntimeModule},82582:function(v,E,P){"use strict";const R=P(92529);const $=P(25233);const N=P(37274);class RelativeUrlRuntimeModule extends N{constructor(){super("relative url")}generate(){const v=this.compilation;const{runtimeTemplate:E}=v;return $.asString([`${R.relativeUrl} = function RelativeURL(url) {`,$.indent(['var realUrl = new URL(url, "x:/");',"var values = {};","for (var key in realUrl) values[key] = realUrl[key];","values.href = url;",'values.pathname = url.replace(/[?#].*/, "");','values.origin = values.protocol = "";',`values.toString = values.toJSON = ${E.returningFunction("url")};`,"for (var key in values) Object.defineProperty(this, key, { enumerable: true, configurable: true, value: values[key] });"]),"};",`${R.relativeUrl}.prototype = URL.prototype;`])}}v.exports=RelativeUrlRuntimeModule},52743:function(v,E,P){"use strict";const R=P(92529);const $=P(845);class RuntimeIdRuntimeModule extends ${constructor(){super("runtimeId")}generate(){const v=this.chunkGraph;const E=this.chunk;const P=E.runtime;if(typeof P!=="string")throw new Error("RuntimeIdRuntimeModule must be in a single runtime");const $=v.getRuntimeId(P);return`${R.runtimeId} = ${JSON.stringify($)};`}}v.exports=RuntimeIdRuntimeModule},9578:function(v,E,P){"use strict";const R=P(92529);const $=P(82274);const N=P(56989);class StartupChunkDependenciesPlugin{constructor(v){this.chunkLoading=v.chunkLoading;this.asyncChunkLoading=typeof v.asyncChunkLoading==="boolean"?v.asyncChunkLoading:true}apply(v){v.hooks.thisCompilation.tap("StartupChunkDependenciesPlugin",(v=>{const E=v.outputOptions.chunkLoading;const isEnabledForChunk=v=>{const P=v.getEntryOptions();const R=P&&P.chunkLoading!==undefined?P.chunkLoading:E;return R===this.chunkLoading};v.hooks.additionalTreeRuntimeRequirements.tap("StartupChunkDependenciesPlugin",((E,P,{chunkGraph:N})=>{if(!isEnabledForChunk(E))return;if(N.hasChunkEntryDependentChunks(E)){P.add(R.startup);P.add(R.ensureChunk);P.add(R.ensureChunkIncludeEntries);v.addRuntimeModule(E,new $(this.asyncChunkLoading))}}));v.hooks.runtimeRequirementInTree.for(R.startupEntrypoint).tap("StartupChunkDependenciesPlugin",((E,P)=>{if(!isEnabledForChunk(E))return;P.add(R.require);P.add(R.ensureChunk);P.add(R.ensureChunkIncludeEntries);v.addRuntimeModule(E,new N(this.asyncChunkLoading))}))}))}}v.exports=StartupChunkDependenciesPlugin},82274:function(v,E,P){"use strict";const R=P(92529);const $=P(845);const N=P(25233);class StartupChunkDependenciesRuntimeModule extends ${constructor(v){super("startup chunk dependencies",$.STAGE_TRIGGER);this.asyncChunkLoading=v}generate(){const v=this.chunkGraph;const E=this.chunk;const P=Array.from(v.getChunkEntryDependentChunksIterable(E)).map((v=>v.id));const $=this.compilation;const{runtimeTemplate:L}=$;return N.asString([`var next = ${R.startup};`,`${R.startup} = ${L.basicFunction("",!this.asyncChunkLoading?P.map((v=>`${R.ensureChunk}(${JSON.stringify(v)});`)).concat("return next();"):P.length===1?`return ${R.ensureChunk}(${JSON.stringify(P[0])}).then(next);`:P.length>2?[`return Promise.all(${JSON.stringify(P)}.map(${R.ensureChunk}, ${R.require})).then(next);`]:["return Promise.all([",N.indent(P.map((v=>`${R.ensureChunk}(${JSON.stringify(v)})`)).join(",\n")),"]).then(next);"])};`])}}v.exports=StartupChunkDependenciesRuntimeModule},56989:function(v,E,P){"use strict";const R=P(92529);const $=P(845);class StartupEntrypointRuntimeModule extends ${constructor(v){super("startup entrypoint");this.asyncChunkLoading=v}generate(){const v=this.compilation;const{runtimeTemplate:E}=v;return`${R.startupEntrypoint} = ${E.basicFunction("result, chunkIds, fn",["// arguments: chunkIds, moduleId are deprecated","var moduleId = chunkIds;",`if(!fn) chunkIds = result, fn = ${E.returningFunction(`${R.require}(${R.entryModuleId} = moduleId)`)};`,...this.asyncChunkLoading?[`return Promise.all(chunkIds.map(${R.ensureChunk}, ${R.require})).then(${E.basicFunction("",["var r = fn();","return r === undefined ? result : r;"])})`]:[`chunkIds.map(${R.ensureChunk}, ${R.require})`,"var r = fn();","return r === undefined ? result : r;"]])}`}}v.exports=StartupEntrypointRuntimeModule},78360:function(v,E,P){"use strict";const R=P(92529);const $=P(845);class SystemContextRuntimeModule extends ${constructor(){super("__system_context__")}generate(){return`${R.systemContext} = __system_context__;`}}v.exports=SystemContextRuntimeModule},14549:function(v,E,P){"use strict";const R=P(80346);const $=/^data:([^;,]+)?((?:;[^;,]+)*?)(?:;(base64))?,(.*)$/i;const decodeDataURI=v=>{const E=$.exec(v);if(!E)return null;const P=E[3];const R=E[4];if(P){return Buffer.from(R,"base64")}try{return Buffer.from(decodeURIComponent(R),"ascii")}catch(v){return Buffer.from(R,"ascii")}};class DataUriPlugin{apply(v){v.hooks.compilation.tap("DataUriPlugin",((v,{normalModuleFactory:E})=>{E.hooks.resolveForScheme.for("data").tap("DataUriPlugin",(v=>{const E=$.exec(v.resource);if(E){v.data.mimetype=E[1]||"";v.data.parameters=E[2]||"";v.data.encoding=E[3]||false;v.data.encodedContent=E[4]||""}}));R.getCompilationHooks(v).readResourceForScheme.for("data").tap("DataUriPlugin",(v=>decodeDataURI(v)))}))}}v.exports=DataUriPlugin},2407:function(v,E,P){"use strict";const{URL:R,fileURLToPath:$}=P(57310);const{NormalModule:N}=P(3266);class FileUriPlugin{apply(v){v.hooks.compilation.tap("FileUriPlugin",((v,{normalModuleFactory:E})=>{E.hooks.resolveForScheme.for("file").tap("FileUriPlugin",(v=>{const E=new R(v.resource);const P=$(E);const N=E.search;const L=E.hash;v.path=P;v.query=N;v.fragment=L;v.resource=P+N+L;return true}));const P=N.getCompilationHooks(v);P.readResource.for(undefined).tapAsync("FileUriPlugin",((v,E)=>{const{resourcePath:P}=v;v.addDependency(P);v.fs.readFile(P,E)}))}))}}v.exports=FileUriPlugin},59888:function(v,E,P){"use strict";const R=P(82361);const{extname:$,basename:N}=P(71017);const{URL:L}=P(57310);const{createGunzip:q,createBrotliDecompress:K,createInflate:ae}=P(59796);const ge=P(80346);const be=P(21596);const xe=P(20932);const{mkdirp:ve,dirname:Ae,join:Ie}=P(43860);const He=P(25689);const Qe=He((()=>P(13685)));const Je=He((()=>P(95687)));const proxyFetch=(v,E)=>(P,$,N)=>{const q=new R;const doRequest=E=>v.get(P,{...$,...E&&{socket:E}},N).on("error",q.emit.bind(q,"error"));if(E){const{hostname:v,port:R}=new L(E);Qe().request({host:v,port:R,method:"CONNECT",path:P.host}).on("connect",((v,E)=>{if(v.statusCode===200){doRequest(E)}})).on("error",(v=>{q.emit("error",new Error(`Failed to connect to proxy server "${E}": ${v.message}`))})).end()}else{doRequest()}return q};let Ve=undefined;const Ke=be(P(48684),(()=>P(81247)),{name:"Http Uri Plugin",baseDataPath:"options"});const toSafePath=v=>v.replace(/^[^a-zA-Z0-9]+|[^a-zA-Z0-9]+$/g,"").replace(/[^a-zA-Z0-9._-]+/g,"_");const computeIntegrity=v=>{const E=xe("sha512");E.update(v);const P="sha512-"+E.digest("base64");return P};const verifyIntegrity=(v,E)=>{if(E==="ignore")return true;return computeIntegrity(v)===E};const parseKeyValuePairs=v=>{const E={};for(const P of v.split(",")){const v=P.indexOf("=");if(v>=0){const R=P.slice(0,v).trim();const $=P.slice(v+1).trim();E[R]=$}else{const v=P.trim();if(!v)continue;E[v]=v}}return E};const parseCacheControl=(v,E)=>{let P=true;let R=true;let $=0;if(v){const N=parseKeyValuePairs(v);if(N["no-cache"])P=R=false;if(N["max-age"]&&!isNaN(+N["max-age"])){$=E+ +N["max-age"]*1e3}if(N["must-revalidate"])$=0}return{storeLock:R,storeCache:P,validUntil:$}};const areLockfileEntriesEqual=(v,E)=>v.resolved===E.resolved&&v.integrity===E.integrity&&v.contentType===E.contentType;const entryToString=v=>`resolved: ${v.resolved}, integrity: ${v.integrity}, contentType: ${v.contentType}`;class Lockfile{constructor(){this.version=1;this.entries=new Map}static parse(v){const E=JSON.parse(v);if(E.version!==1)throw new Error(`Unsupported lockfile version ${E.version}`);const P=new Lockfile;for(const v of Object.keys(E)){if(v==="version")continue;const R=E[v];P.entries.set(v,typeof R==="string"?R:{resolved:v,...R})}return P}toString(){let v="{\n";const E=Array.from(this.entries).sort((([v],[E])=>v{let E=false;let P=undefined;let R=undefined;let $=undefined;return N=>{if(E){if(R!==undefined)return N(null,R);if(P!==undefined)return N(P);if($===undefined)$=[N];else $.push(N);return}E=true;v(((v,E)=>{if(v)P=v;else R=E;const L=$;$=undefined;N(v,E);if(L!==undefined)for(const P of L)P(v,E)}))}};const cachedWithKey=(v,E=v)=>{const P=new Map;const resultFn=(E,R)=>{const $=P.get(E);if($!==undefined){if($.result!==undefined)return R(null,$.result);if($.error!==undefined)return R($.error);if($.callbacks===undefined)$.callbacks=[R];else $.callbacks.push(R);return}const N={result:undefined,error:undefined,callbacks:undefined};P.set(E,N);v(E,((v,E)=>{if(v)N.error=v;else N.result=E;const P=N.callbacks;N.callbacks=undefined;R(v,E);if(P!==undefined)for(const R of P)R(v,E)}))};resultFn.force=(v,R)=>{const $=P.get(v);if($!==undefined&&$.force){if($.result!==undefined)return R(null,$.result);if($.error!==undefined)return R($.error);if($.callbacks===undefined)$.callbacks=[R];else $.callbacks.push(R);return}const N={result:undefined,error:undefined,callbacks:undefined,force:true};P.set(v,N);E(v,((v,E)=>{if(v)N.error=v;else N.result=E;const P=N.callbacks;N.callbacks=undefined;R(v,E);if(P!==undefined)for(const R of P)R(v,E)}))};return resultFn};class HttpUriPlugin{constructor(v){Ke(v);this._lockfileLocation=v.lockfileLocation;this._cacheLocation=v.cacheLocation;this._upgrade=v.upgrade;this._frozen=v.frozen;this._allowedUris=v.allowedUris;this._proxy=v.proxy}apply(v){const E=this._proxy||process.env["http_proxy"]||process.env["HTTP_PROXY"];const P=[{scheme:"http",fetch:proxyFetch(Qe(),E)},{scheme:"https",fetch:proxyFetch(Je(),E)}];let R;v.hooks.compilation.tap("HttpUriPlugin",((E,{normalModuleFactory:be})=>{const He=v.intermediateFileSystem;const Qe=E.inputFileSystem;const Je=E.getCache("webpack.HttpUriPlugin");const Ke=E.getLogger("webpack.HttpUriPlugin");const Ye=this._lockfileLocation||Ie(He,v.context,v.name?`${toSafePath(v.name)}.webpack.lock`:"webpack.lock");const Xe=this._cacheLocation!==undefined?this._cacheLocation:Ye+".data";const Ze=this._upgrade||false;const et=this._frozen||false;const tt="sha512";const nt="hex";const st=20;const rt=this._allowedUris;let ot=false;const it=new Map;const getCacheKey=v=>{const E=it.get(v);if(E!==undefined)return E;const P=_getCacheKey(v);it.set(v,P);return P};const _getCacheKey=v=>{const E=new L(v);const P=toSafePath(E.origin);const R=toSafePath(E.pathname);const N=toSafePath(E.search);let q=$(R);if(q.length>20)q="";const K=q?R.slice(0,-q.length):R;const ae=xe(tt);ae.update(v);const ge=ae.digest(nt).slice(0,st);return`${P.slice(-50)}/${`${K}${N?`_${N}`:""}`.slice(0,150)}_${ge}${q}`};const at=cachedWithoutKey((P=>{const readLockfile=()=>{He.readFile(Ye,(($,N)=>{if($&&$.code!=="ENOENT"){E.missingDependencies.add(Ye);return P($)}E.fileDependencies.add(Ye);E.fileSystemInfo.createSnapshot(v.fsStartTime,N?[Ye]:[],[],N?[]:[Ye],{timestamp:true},((v,E)=>{if(v)return P(v);const $=N?Lockfile.parse(N.toString("utf-8")):new Lockfile;R={lockfile:$,snapshot:E};P(null,$)}))}))};if(R){E.fileSystemInfo.checkSnapshotValid(R.snapshot,((v,E)=>{if(v)return P(v);if(!E)return readLockfile();P(null,R.lockfile)}))}else{readLockfile()}}));let ct=undefined;const storeLockEntry=(v,E,P)=>{const R=v.entries.get(E);if(ct===undefined)ct=new Map;ct.set(E,P);v.entries.set(E,P);if(!R){Ke.log(`${E} added to lockfile`)}else if(typeof R==="string"){if(typeof P==="string"){Ke.log(`${E} updated in lockfile: ${R} -> ${P}`)}else{Ke.log(`${E} updated in lockfile: ${R} -> ${P.resolved}`)}}else if(typeof P==="string"){Ke.log(`${E} updated in lockfile: ${R.resolved} -> ${P}`)}else if(R.resolved!==P.resolved){Ke.log(`${E} updated in lockfile: ${R.resolved} -> ${P.resolved}`)}else if(R.integrity!==P.integrity){Ke.log(`${E} updated in lockfile: content changed`)}else if(R.contentType!==P.contentType){Ke.log(`${E} updated in lockfile: ${R.contentType} -> ${P.contentType}`)}else{Ke.log(`${E} updated in lockfile`)}};const storeResult=(v,E,P,R)=>{if(P.storeLock){storeLockEntry(v,E,P.entry);if(!Xe||!P.content)return R(null,P);const $=getCacheKey(P.entry.resolved);const N=Ie(He,Xe,$);ve(He,Ae(He,N),(v=>{if(v)return R(v);He.writeFile(N,P.content,(v=>{if(v)return R(v);R(null,P)}))}))}else{storeLockEntry(v,E,"no-cache");R(null,P)}};for(const{scheme:v,fetch:R}of P){const resolveContent=(v,E,R)=>{const handleResult=($,N)=>{if($)return R($);if("location"in N){return resolveContent(N.location,E,((v,E)=>{if(v)return R(v);R(null,{entry:E.entry,content:E.content,storeLock:E.storeLock&&N.storeLock})}))}else{if(!N.fresh&&E&&N.entry.integrity!==E&&!verifyIntegrity(N.content,E)){return P.force(v,handleResult)}return R(null,{entry:N.entry,content:N.content,storeLock:N.storeLock})}};P(v,handleResult)};const fetchContentRaw=(v,E,P)=>{const $=Date.now();R(new L(v),{headers:{"accept-encoding":"gzip, deflate, br","user-agent":"webpack","if-none-match":E?E.etag||null:null}},(R=>{const N=R.headers["etag"];const ge=R.headers["location"];const be=R.headers["cache-control"];const{storeLock:xe,storeCache:ve,validUntil:Ae}=parseCacheControl(be,$);const finishWith=E=>{if("location"in E){Ke.debug(`GET ${v} [${R.statusCode}] -> ${E.location}`)}else{Ke.debug(`GET ${v} [${R.statusCode}] ${Math.ceil(E.content.length/1024)} kB${!xe?" no-cache":""}`)}const $={...E,fresh:true,storeLock:xe,storeCache:ve,validUntil:Ae,etag:N};if(!ve){Ke.log(`${v} can't be stored in cache, due to Cache-Control header: ${be}`);return P(null,$)}Je.store(v,null,{...$,fresh:false},(E=>{if(E){Ke.warn(`${v} can't be stored in cache: ${E.message}`);Ke.debug(E.stack)}P(null,$)}))};if(R.statusCode===304){if(E.validUntil=301&&R.statusCode<=308){const $={location:new L(ge,v).href};if(!E||!("location"in E)||E.location!==$.location||E.validUntil{He.push(v)}));Ve.on("end",(()=>{if(!R.complete){Ke.log(`GET ${v} [${R.statusCode}] (terminated)`);return P(new Error(`${v} request was terminated`))}const E=Buffer.concat(He);if(R.statusCode!==200){Ke.log(`GET ${v} [${R.statusCode}]`);return P(new Error(`${v} request status code = ${R.statusCode}\n${E.toString("utf-8")}`))}const $=computeIntegrity(E);const N={resolved:v,integrity:$,contentType:Ie};finishWith({entry:N,content:E})}))})).on("error",(E=>{Ke.log(`GET ${v} (error)`);E.message+=`\nwhile fetching ${v}`;P(E)}))};const P=cachedWithKey(((v,E)=>{Je.get(v,null,((P,R)=>{if(P)return E(P);if(R){const v=R.validUntil>=Date.now();if(v)return E(null,R)}fetchContentRaw(v,R,E)}))}),((v,E)=>fetchContentRaw(v,undefined,E)));const isAllowed=v=>{for(const E of rt){if(typeof E==="string"){if(v.startsWith(E))return true}else if(typeof E==="function"){if(E(v))return true}else{if(E.test(v))return true}}return false};const $=cachedWithKey(((v,E)=>{if(!isAllowed(v)){return E(new Error(`${v} doesn't match the allowedUris policy. These URIs are allowed:\n${rt.map((v=>` - ${v}`)).join("\n")}`))}at(((P,R)=>{if(P)return E(P);const $=R.entries.get(v);if(!$){if(et){return E(new Error(`${v} has no lockfile entry and lockfile is frozen`))}resolveContent(v,null,((P,$)=>{if(P)return E(P);storeResult(R,v,$,E)}));return}if(typeof $==="string"){const P=$;resolveContent(v,null,(($,N)=>{if($)return E($);if(!N.storeLock||P==="ignore")return E(null,N);if(et){return E(new Error(`${v} used to have ${P} lockfile entry and has content now, but lockfile is frozen`))}if(!Ze){return E(new Error(`${v} used to have ${P} lockfile entry and has content now.\nThis should be reflected in the lockfile, so this lockfile entry must be upgraded, but upgrading is not enabled.\nRemove this line from the lockfile to force upgrading.`))}storeResult(R,v,N,E)}));return}let N=$;const doFetch=P=>{resolveContent(v,N.integrity,(($,L)=>{if($){if(P){Ke.warn(`Upgrade request to ${v} failed: ${$.message}`);Ke.debug($.stack);return E(null,{entry:N,content:P})}return E($)}if(!L.storeLock){if(et){return E(new Error(`${v} has a lockfile entry and is no-cache now, but lockfile is frozen\nLockfile: ${entryToString(N)}`))}storeResult(R,v,L,E);return}if(!areLockfileEntriesEqual(L.entry,N)){if(et){return E(new Error(`${v} has an outdated lockfile entry, but lockfile is frozen\nLockfile: ${entryToString(N)}\nExpected: ${entryToString(L.entry)}`))}storeResult(R,v,L,E);return}if(!P&&Xe){if(et){return E(new Error(`${v} is missing content in the lockfile cache, but lockfile is frozen\nLockfile: ${entryToString(N)}`))}storeResult(R,v,L,E);return}return E(null,L)}))};if(Xe){const P=getCacheKey(N.resolved);const $=Ie(He,Xe,P);Qe.readFile($,((P,L)=>{const q=L;if(P){if(P.code==="ENOENT")return doFetch();return E(P)}const continueWithCachedContent=v=>{if(!Ze){return E(null,{entry:N,content:q})}return doFetch(q)};if(!verifyIntegrity(q,N.integrity)){let P;let L=false;try{P=Buffer.from(q.toString("utf-8").replace(/\r\n/g,"\n"));L=verifyIntegrity(P,N.integrity)}catch(v){}if(L){if(!ot){const v=`Incorrect end of line sequence was detected in the lockfile cache.\nThe lockfile cache is protected by integrity checks, so any external modification will lead to a corrupted lockfile cache.\nWhen using git make sure to configure .gitattributes correctly for the lockfile cache:\n **/*webpack.lock.data/** -text\nThis will avoid that the end of line sequence is changed by git on Windows.`;if(et){Ke.error(v)}else{Ke.warn(v);Ke.info("Lockfile cache will be automatically fixed now, but when lockfile is frozen this would result in an error.")}ot=true}if(!et){Ke.log(`${$} fixed end of line sequence (\\r\\n instead of \\n).`);He.writeFile($,P,(v=>{if(v)return E(v);continueWithCachedContent(P)}));return}}if(et){return E(new Error(`${N.resolved} integrity mismatch, expected content with integrity ${N.integrity} but got ${computeIntegrity(q)}.\nLockfile corrupted (${L?"end of line sequence was unexpectedly changed":"incorrectly merged? changed by other tools?"}).\nRun build with un-frozen lockfile to automatically fix lockfile.`))}else{N={...N,integrity:computeIntegrity(q)};storeLockEntry(R,v,N)}}continueWithCachedContent(L)}))}else{doFetch()}}))}));const respondWithUrlModule=(v,E,P)=>{$(v.href,((R,$)=>{if(R)return P(R);E.resource=v.href;E.path=v.origin+v.pathname;E.query=v.search;E.fragment=v.hash;E.context=new L(".",$.entry.resolved).href.slice(0,-1);E.data.mimetype=$.entry.contentType;P(null,true)}))};be.hooks.resolveForScheme.for(v).tapAsync("HttpUriPlugin",((v,E,P)=>{respondWithUrlModule(new L(v.resource),v,P)}));be.hooks.resolveInScheme.for(v).tapAsync("HttpUriPlugin",((v,E,P)=>{if(E.dependencyType!=="url"&&!/^\.{0,2}\//.test(v.resource)){return P()}respondWithUrlModule(new L(v.resource,E.context+"/"),v,P)}));const N=ge.getCompilationHooks(E);N.readResourceForScheme.for(v).tapAsync("HttpUriPlugin",((v,E,P)=>$(v,((v,R)=>{if(v)return P(v);E.buildInfo.resourceIntegrity=R.entry.integrity;P(null,R.content)}))));N.needBuild.tapAsync("HttpUriPlugin",((E,P,R)=>{if(E.resource&&E.resource.startsWith(`${v}://`)){$(E.resource,((v,P)=>{if(v)return R(v);if(P.entry.integrity!==E.buildInfo.resourceIntegrity){return R(null,true)}R()}))}else{return R()}}))}E.hooks.finishModules.tapAsync("HttpUriPlugin",((v,E)=>{if(!ct)return E();const P=$(Ye);const R=Ie(He,Ae(He,Ye),`.${N(Ye,P)}.${Math.random()*1e4|0}${P}`);const writeDone=()=>{const v=Ve.shift();if(v){v()}else{Ve=undefined}};const runWrite=()=>{He.readFile(Ye,((v,P)=>{if(v&&v.code!=="ENOENT"){writeDone();return E(v)}const $=P?Lockfile.parse(P.toString("utf-8")):new Lockfile;for(const[v,E]of ct){$.entries.set(v,E)}He.writeFile(R,$.toString(),(v=>{if(v){writeDone();return He.unlink(R,(()=>E(v)))}He.rename(R,Ye,(v=>{if(v){writeDone();return He.unlink(R,(()=>E(v)))}writeDone();E()}))}))}))};if(Ve){Ve.push(runWrite)}else{Ve=[];runWrite()}}))}))}}v.exports=HttpUriPlugin},28509:function(v){"use strict";class ArraySerializer{serialize(v,E){E.write(v.length);for(const P of v)E.write(P)}deserialize(v){const E=v.read();const P=[];for(let R=0;R{if(v===(v|0)){if(v<=127&&v>=-128)return 0;if(v<=2147483647&&v>=-2147483648)return 1}return 2};const identifyBigInt=v=>{if(v<=BigInt(127)&&v>=BigInt(-128))return 0;if(v<=BigInt(2147483647)&&v>=BigInt(-2147483648))return 1;return 2};class BinaryMiddleware extends ${serialize(v,E){return this._serialize(v,E)}_serializeLazy(v,E){return $.serializeLazy(v,(v=>this._serialize(v,E)))}_serialize(v,E,P={allocationSize:1024,increaseCounter:0,leftOverBuffer:null}){let R=null;let st=[];let rt=P?P.leftOverBuffer:null;P.leftOverBuffer=null;let ot=0;if(rt===null){rt=Buffer.allocUnsafe(P.allocationSize)}const allocate=v=>{if(rt!==null){if(rt.length-ot>=v)return;flush()}if(R&&R.length>=v){rt=R;R=null}else{rt=Buffer.allocUnsafe(Math.max(v,P.allocationSize));if(!(P.increaseCounter=(P.increaseCounter+1)%4)&&P.allocationSize<16777216){P.allocationSize=P.allocationSize<<1}}};const flush=()=>{if(rt!==null){if(ot>0){st.push(Buffer.from(rt.buffer,rt.byteOffset,ot))}if(!R||R.length{rt.writeUInt8(v,ot++)};const writeU32=v=>{rt.writeUInt32LE(v,ot);ot+=4};const dt=[];const measureStart=()=>{dt.push(st.length,ot)};const measureEnd=()=>{const v=dt.pop();const E=dt.pop();let P=ot-v;for(let v=E;v0&&(v=L[L.length-1])!==0){const P=4294967295-v;if(P>=E.length){L[L.length-1]+=E.length}else{L.push(E.length-P);L[L.length-2]=4294967295}}else{L.push(E.length)}}allocate(5+L.length*4);writeU8(N);writeU32(L.length);for(const v of L){writeU32(v)}flush();for(const E of v){st.push(E)}break}case"string":{const v=Buffer.byteLength(ft);if(v>=128||v!==ft.length){allocate(v+it+ct);writeU8(Ye);writeU32(v);rt.write(ft,ot);ot+=v}else if(v>=70){allocate(v+it);writeU8(nt|v);rt.write(ft,ot,"latin1");ot+=v}else{allocate(v+it);writeU8(nt|v);for(let E=0;E=0&&ft<=BigInt(10)){allocate(it+at);writeU8(Ve);writeU8(Number(ft));break}switch(E){case 0:{let E=1;allocate(it+at*E);writeU8(Ve|E-1);while(E>0){rt.writeInt8(Number(v[dt]),ot);ot+=at;E--;dt++}dt--;break}case 1:{let E=1;allocate(it+ct*E);writeU8(Ke|E-1);while(E>0){rt.writeInt32LE(Number(v[dt]),ot);ot+=ct;E--;dt++}dt--;break}default:{const v=ft.toString();const E=Buffer.byteLength(v);allocate(E+it+ct);writeU8(Je);writeU32(E);rt.write(v,ot);ot+=E;break}}break}case"number":{const E=identifyNumber(ft);if(E===0&&ft>=0&&ft<=10){allocate(at);writeU8(ft);break}let P=1;for(;P<32&&dt+P0){rt.writeInt8(v[dt],ot);ot+=at;P--;dt++}break;case 1:allocate(it+ct*P);writeU8(et|P-1);while(P>0){rt.writeInt32LE(v[dt],ot);ot+=ct;P--;dt++}break;case 2:allocate(it+lt*P);writeU8(tt|P-1);while(P>0){rt.writeDoubleLE(v[dt],ot);ot+=lt;P--;dt++}break}dt--;break}case"boolean":{let E=ft===true?1:0;const P=[];let R=1;let $;for($=1;$<4294967295&&dt+$this._deserialize(v,E))),this,undefined,v)}_deserializeLazy(v,E){return $.deserializeLazy(v,(v=>this._deserialize(v,E)))}_deserialize(v,E){let P=0;let R=v[0];let $=Buffer.isBuffer(R);let it=0;const ut=E.retainedBuffer||(v=>v);const checkOverflow=()=>{if(it>=R.length){it=0;P++;R=P$&&v+it<=R.length;const ensureBuffer=()=>{if(!$){throw new Error(R===null?"Unexpected end of stream":"Unexpected lazy element in stream")}};const read=E=>{ensureBuffer();const N=R.length-it;if(N{ensureBuffer();const E=R.length-it;if(E{ensureBuffer();const v=R.readUInt8(it);it+=at;checkOverflow();return v};const readU32=()=>read(ct).readUInt32LE(0);const readBits=(v,E)=>{let P=1;while(E!==0){dt.push((v&P)!==0);P=P<<1;E--}};const pt=Array.from({length:256}).map(((pt,ft)=>{switch(ft){case N:return()=>{const N=readU32();const L=Array.from({length:N}).map((()=>readU32()));const q=[];for(let E of L){if(E===0){if(typeof R!=="function"){throw new Error("Unexpected non-lazy element in stream")}q.push(R);P++;R=P0)}}dt.push(this._createLazyDeserialized(q,E))};case Xe:return()=>{const v=readU32();dt.push(ut(read(v)))};case L:return()=>dt.push(true);case q:return()=>dt.push(false);case be:return()=>dt.push(null,null,null);case ge:return()=>dt.push(null,null);case ae:return()=>dt.push(null);case He:return()=>dt.push(null,true);case Qe:return()=>dt.push(null,false);case Ae:return()=>{if($){dt.push(null,R.readInt8(it));it+=at;checkOverflow()}else{dt.push(null,read(at).readInt8(0))}};case Ie:return()=>{dt.push(null);if(isInCurrentBuffer(ct)){dt.push(R.readInt32LE(it));it+=ct;checkOverflow()}else{dt.push(read(ct).readInt32LE(0))}};case xe:return()=>{const v=readU8()+4;for(let E=0;E{const v=readU32()+260;for(let E=0;E{const v=readU8();if((v&240)===0){readBits(v,3)}else if((v&224)===0){readBits(v,4)}else if((v&192)===0){readBits(v,5)}else if((v&128)===0){readBits(v,6)}else if(v!==255){let E=(v&127)+7;while(E>8){readBits(readU8(),8);E-=8}readBits(readU8(),E)}else{let v=readU32();while(v>8){readBits(readU8(),8);v-=8}readBits(readU8(),v)}};case Ye:return()=>{const v=readU32();if(isInCurrentBuffer(v)&&it+v<2147483647){dt.push(R.toString(undefined,it,it+v));it+=v;checkOverflow()}else{dt.push(read(v).toString())}};case nt:return()=>dt.push("");case nt|1:return()=>{if($&&it<2147483646){dt.push(R.toString("latin1",it,it+1));it++;checkOverflow()}else{dt.push(read(1).toString("latin1"))}};case Ze:return()=>{if($){dt.push(R.readInt8(it));it++;checkOverflow()}else{dt.push(read(1).readInt8(0))}};case Ve:{const v=1;return()=>{const E=at*v;if(isInCurrentBuffer(E)){for(let E=0;E{const E=ct*v;if(isInCurrentBuffer(E)){for(let E=0;E{const v=readU32();if(isInCurrentBuffer(v)&&it+v<2147483647){const E=R.toString(undefined,it,it+v);dt.push(BigInt(E));it+=v;checkOverflow()}else{const E=read(v).toString();dt.push(BigInt(E))}}}default:if(ft<=10){return()=>dt.push(ft)}else if((ft&nt)===nt){const v=ft&ot;return()=>{if(isInCurrentBuffer(v)&&it+v<2147483647){dt.push(R.toString("latin1",it,it+v));it+=v;checkOverflow()}else{dt.push(read(v).toString("latin1"))}}}else if((ft&st)===tt){const v=(ft&rt)+1;return()=>{const E=lt*v;if(isInCurrentBuffer(E)){for(let E=0;E{const E=ct*v;if(isInCurrentBuffer(E)){for(let E=0;E{const E=at*v;if(isInCurrentBuffer(E)){for(let E=0;E{throw new Error(`Unexpected header byte 0x${ft.toString(16)}`)}}}}));let dt=[];while(R!==null){if(typeof R==="function"){dt.push(this._deserializeLazy(R,E));P++;R=P{const P=ge(E);for(const E of v)P.update(E);return P.digest("hex")};const Ve=100*1024*1024;const Ke=100*1024*1024;const Ye=Buffer.prototype.writeBigUInt64LE?(v,E,P)=>{v.writeBigUInt64LE(BigInt(E),P)}:(v,E,P)=>{const R=E%4294967296;const $=(E-R)/4294967296;v.writeUInt32LE(R,P);v.writeUInt32LE($,P+4)};const Xe=Buffer.prototype.readBigUInt64LE?(v,E)=>Number(v.readBigUInt64LE(E)):(v,E)=>{const P=v.readUInt32LE(E);const R=v.readUInt32LE(E+4);return R*4294967296+P};const serialize=async(v,E,P,R,$="md4")=>{const N=[];const L=new WeakMap;let q=undefined;for(const P of await E){if(typeof P==="function"){if(!Ie.isLazy(P))throw new Error("Unexpected function");if(!Ie.isLazy(P,v)){throw new Error("Unexpected lazy value with non-this target (can't pass through lazy values)")}q=undefined;const E=Ie.getLazySerializedValue(P);if(E){if(typeof E==="function"){throw new Error("Unexpected lazy value with non-this target (can't pass through lazy values)")}else{N.push(E)}}else{const E=P();if(E){const q=Ie.getLazyOptions(P);N.push(serialize(v,E,q&&q.name||true,R,$).then((v=>{P.options.size=v.size;L.set(v,P);return v})))}else{throw new Error("Unexpected falsy value returned by lazy value function")}}}else if(P){if(q){q.push(P)}else{q=[P];N.push(q)}}else{throw new Error("Unexpected falsy value in items array")}}const K=[];const ae=(await Promise.all(N)).map((v=>{if(Array.isArray(v)||Buffer.isBuffer(v))return v;K.push(v.backgroundJob);const E=v.name;const P=Buffer.from(E);const R=Buffer.allocUnsafe(8+P.length);Ye(R,v.size,0);P.copy(R,8,0);const $=L.get(v);Ie.setLazySerializedValue($,R);return R}));const ge=[];for(const v of ae){if(Array.isArray(v)){let E=0;for(const P of v)E+=P.length;while(E>2147483647){ge.push(2147483647);E-=2147483647}ge.push(E)}else if(v){ge.push(-v.length)}else{throw new Error("Unexpected falsy value in resolved data "+v)}}const be=Buffer.allocUnsafe(8+ge.length*4);be.writeUInt32LE(He,0);be.writeUInt32LE(ge.length,4);for(let v=0;v{const R=await P(E);if(R.length===0)throw new Error("Empty file "+E);let $=0;let N=R[0];let L=N.length;let q=0;if(L===0)throw new Error("Empty file "+E);const nextContent=()=>{$++;N=R[$];L=N.length;q=0};const ensureData=v=>{if(q===L){nextContent()}while(L-qP){K.push(R[v].slice(0,P));R[v]=R[v].slice(P);P=0;break}else{K.push(R[v]);$=v;P-=E}}if(P>0)throw new Error("Unexpected end of data");N=Buffer.concat(K,v);L=v;q=0}};const readUInt32LE=()=>{ensureData(4);const v=N.readUInt32LE(q);q+=4;return v};const readInt32LE=()=>{ensureData(4);const v=N.readInt32LE(q);q+=4;return v};const readSlice=v=>{ensureData(v);if(q===0&&L===v){const E=N;if($+1=0;if(be&&E){ge[ge.length-1]+=v}else{ge.push(v);be=E}}const xe=[];for(let E of ge){if(E<0){const R=readSlice(-E);const $=Number(Xe(R,0));const N=R.slice(8);const L=N.toString();xe.push(Ie.createLazy(Ae((()=>deserialize(v,L,P))),v,{name:L,size:$},R))}else{if(q===L){nextContent()}else if(q!==0){if(E<=L-q){xe.push(Buffer.from(N.buffer,N.byteOffset+q,E));q+=E;E=0}else{const v=L-q;xe.push(Buffer.from(N.buffer,N.byteOffset+q,v));E-=v;q=L}}else{if(E>=L){xe.push(N);E-=L;q=L}else{xe.push(Buffer.from(N.buffer,N.byteOffset,E));q+=E;E=0}}while(E>0){nextContent();if(E>=L){xe.push(N);E-=L;q=L}else{xe.push(Buffer.from(N.buffer,N.byteOffset,E));q+=E;E=0}}}}return xe};class FileMiddleware extends Ie{constructor(v,E="md4"){super();this.fs=v;this._hashFunction=E}serialize(v,E){const{filename:P,extension:R=""}=E;return new Promise(((E,L)=>{ve(this.fs,be(this.fs,P),(K=>{if(K)return L(K);const ge=new Set;const writeFile=async(v,E,L)=>{const K=v?xe(this.fs,P,`../${v}${R}`):P;await new Promise(((v,P)=>{let R=this.fs.createWriteStream(K+"_");let ge;if(K.endsWith(".gz")){ge=q({chunkSize:Ve,level:ae.Z_BEST_SPEED})}else if(K.endsWith(".br")){ge=N({chunkSize:Ve,params:{[ae.BROTLI_PARAM_MODE]:ae.BROTLI_MODE_TEXT,[ae.BROTLI_PARAM_QUALITY]:2,[ae.BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING]:true,[ae.BROTLI_PARAM_SIZE_HINT]:L}})}if(ge){$(ge,R,P);R=ge;R.on("finish",(()=>v()))}else{R.on("error",(v=>P(v)));R.on("finish",(()=>v()))}const be=[];for(const v of E){if(v.length{if(v)return;if(ve===xe){R.end();return}let E=ve;let P=be[E++].length;while(EQe)break;E++}while(ve{await v;await new Promise((v=>this.fs.rename(P,P+".old",(E=>{v()}))));await Promise.all(Array.from(ge,(v=>new Promise(((E,P)=>{this.fs.rename(v+"_",v,(v=>{if(v)return P(v);E()}))})))));await new Promise((v=>{this.fs.rename(P+"_",P,(E=>{if(E)return L(E);v()}))}));return true})))}))}))}deserialize(v,E){const{filename:P,extension:$=""}=E;const readFile=v=>new Promise(((E,N)=>{const q=v?xe(this.fs,P,`../${v}${$}`):P;this.fs.stat(q,((v,P)=>{if(v){N(v);return}let $=P.size;let ae;let ge;const be=[];let xe;if(q.endsWith(".gz")){xe=K({chunkSize:Ke})}else if(q.endsWith(".br")){xe=L({chunkSize:Ke})}if(xe){let v,P;E(Promise.all([new Promise(((E,R)=>{v=E;P=R})),new Promise(((v,E)=>{xe.on("data",(v=>be.push(v)));xe.on("end",(()=>v()));xe.on("error",(v=>E(v)))}))]).then((()=>be)));E=v;N=P}this.fs.open(q,"r",((v,P)=>{if(v){N(v);return}const read=()=>{if(ae===undefined){ae=Buffer.allocUnsafeSlow(Math.min(R.MAX_LENGTH,$,xe?Ke:Infinity));ge=0}let v=ae;let L=ge;let q=ae.length-ge;if(L>2147483647){v=ae.slice(L);L=0}if(q>2147483647){q=2147483647}this.fs.read(P,v,L,q,null,((v,R)=>{if(v){this.fs.close(P,(()=>{N(v)}));return}ge+=R;$-=R;if(ge===ae.length){if(xe){xe.write(ae)}else{be.push(ae)}ae=undefined;if($===0){if(xe){xe.end()}this.fs.close(P,(v=>{if(v){N(v);return}E(be)}));return}}read()}))};read()}))}))}));return deserialize(this,false,readFile)}}v.exports=FileMiddleware},29627:function(v){"use strict";class MapObjectSerializer{serialize(v,E){E.write(v.size);for(const P of v.keys()){E.write(P)}for(const P of v.values()){E.write(P)}}deserialize(v){let E=v.read();const P=new Map;const R=[];for(let P=0;P{let P=0;for(const R of v){if(P++>=E){v.delete(R)}}};const setMapSize=(v,E)=>{let P=0;for(const R of v.keys()){if(P++>=E){v.delete(R)}}};const toHash=(v,E)=>{const P=R(E);P.update(v);return P.digest("latin1")};const ve=null;const Ae=null;const Ie=true;const He=false;const Qe=2;const Je=new Map;const Ve=new Map;const Ke=new Set;const Ye={};const Xe=new Map;Xe.set(Object,new ae);Xe.set(Array,new $);Xe.set(null,new K);Xe.set(Map,new q);Xe.set(Set,new xe);Xe.set(Date,new N);Xe.set(RegExp,new ge);Xe.set(Error,new L(Error));Xe.set(EvalError,new L(EvalError));Xe.set(RangeError,new L(RangeError));Xe.set(ReferenceError,new L(ReferenceError));Xe.set(SyntaxError,new L(SyntaxError));Xe.set(TypeError,new L(TypeError));if(E.constructor!==Object){const v=E.constructor;const P=v.constructor;for(const[v,E]of Array.from(Xe)){if(v){const R=new P(`return ${v.name};`)();Xe.set(R,E)}}}{let v=1;for(const[E,P]of Xe){Je.set(E,{request:"",name:v++,serializer:P})}}for(const{request:v,name:E,serializer:P}of Je.values()){Ve.set(`${v}/${E}`,P)}const Ze=new Map;class ObjectMiddleware extends be{constructor(v,E="md4"){super();this.extendContext=v;this._hashFunction=E}static registerLoader(v,E){Ze.set(v,E)}static register(v,E,P,R){const $=E+"/"+P;if(Je.has(v)){throw new Error(`ObjectMiddleware.register: serializer for ${v.name} is already registered`)}if(Ve.has($)){throw new Error(`ObjectMiddleware.register: serializer for ${$} is already registered`)}Je.set(v,{request:E,name:P,serializer:R});Ve.set($,R)}static registerNotSerializable(v){if(Je.has(v)){throw new Error(`ObjectMiddleware.registerNotSerializable: serializer for ${v.name} is already registered`)}Je.set(v,Ye)}static getSerializerFor(v){const E=Object.getPrototypeOf(v);let P;if(E===null){P=null}else{P=E.constructor;if(!P){throw new Error("Serialization of objects with prototype without valid constructor property not possible")}}const R=Je.get(P);if(!R)throw new Error(`No serializer registered for ${P.name}`);if(R===Ye)throw Ye;return R}static getDeserializerFor(v,E){const P=v+"/"+E;const R=Ve.get(P);if(R===undefined){throw new Error(`No deserializer registered for ${P}`)}return R}static _getDeserializerForWithoutError(v,E){const P=v+"/"+E;const R=Ve.get(P);return R}serialize(v,E){let P=[Qe];let R=0;let $=new Map;const addReferenceable=v=>{$.set(v,R++)};let N=new Map;const dedupeBuffer=v=>{const E=v.length;const P=N.get(E);if(P===undefined){N.set(E,v);return v}if(Buffer.isBuffer(P)){if(E<32){if(v.equals(P)){return P}N.set(E,[P,v]);return v}else{const R=toHash(P,this._hashFunction);const $=new Map;$.set(R,P);N.set(E,$);const L=toHash(v,this._hashFunction);if(R===L){return P}return v}}else if(Array.isArray(P)){if(P.length<16){for(const E of P){if(v.equals(E)){return E}}P.push(v);return v}else{const R=new Map;const $=toHash(v,this._hashFunction);let L;for(const v of P){const E=toHash(v,this._hashFunction);R.set(E,v);if(L===undefined&&E===$)L=v}N.set(E,R);if(L===undefined){R.set($,v);return v}else{return L}}}else{const E=toHash(v,this._hashFunction);const R=P.get(E);if(R!==undefined){return R}P.set(E,v);return v}};let L=0;let q=new Map;const K=new Set;const stackToString=v=>{const E=Array.from(K);E.push(v);return E.map((v=>{if(typeof v==="string"){if(v.length>100){return`String ${JSON.stringify(v.slice(0,100)).slice(0,-1)}..."`}return`String ${JSON.stringify(v)}`}try{const{request:E,name:P}=ObjectMiddleware.getSerializerFor(v);if(E){return`${E}${P?`.${P}`:""}`}}catch(v){}if(typeof v==="object"&&v!==null){if(v.constructor){if(v.constructor===Object)return`Object { ${Object.keys(v).join(", ")} }`;if(v.constructor===Map)return`Map { ${v.size} items }`;if(v.constructor===Array)return`Array { ${v.length} items }`;if(v.constructor===Set)return`Set { ${v.size} items }`;if(v.constructor===RegExp)return v.toString();return`${v.constructor.name}`}return`Object [null prototype] { ${Object.keys(v).join(", ")} }`}if(typeof v==="bigint"){return`BigInt ${v}n`}try{return`${v}`}catch(v){return`(${v.message})`}})).join(" -> ")};let ae;let ge={write(v,E){try{process(v)}catch(E){if(E!==Ye){if(ae===undefined)ae=new WeakSet;if(!ae.has(E)){E.message+=`\nwhile serializing ${stackToString(v)}`;ae.add(E)}}throw E}},setCircularReference(v){addReferenceable(v)},snapshot(){return{length:P.length,cycleStackSize:K.size,referenceableSize:$.size,currentPos:R,objectTypeLookupSize:q.size,currentPosTypeLookup:L}},rollback(v){P.length=v.length;setSetSize(K,v.cycleStackSize);setMapSize($,v.referenceableSize);R=v.currentPos;setMapSize(q,v.objectTypeLookupSize);L=v.currentPosTypeLookup},...E};this.extendContext(ge);const process=v=>{if(Buffer.isBuffer(v)){const E=$.get(v);if(E!==undefined){P.push(ve,E-R);return}const N=dedupeBuffer(v);if(N!==v){const E=$.get(N);if(E!==undefined){$.set(v,E);P.push(ve,E-R);return}v=N}addReferenceable(v);P.push(v)}else if(v===ve){P.push(ve,Ae)}else if(typeof v==="object"){const E=$.get(v);if(E!==undefined){P.push(ve,E-R);return}if(K.has(v)){throw new Error(`This is a circular references. To serialize circular references use 'setCircularReference' somewhere in the circle during serialize and deserialize.`)}const{request:N,name:ae,serializer:be}=ObjectMiddleware.getSerializerFor(v);const xe=`${N}/${ae}`;const Ae=q.get(xe);if(Ae===undefined){q.set(xe,L++);P.push(ve,N,ae)}else{P.push(ve,L-Ae)}K.add(v);try{be.serialize(v,ge)}finally{K.delete(v)}P.push(ve,Ie);addReferenceable(v)}else if(typeof v==="string"){if(v.length>1){const E=$.get(v);if(E!==undefined){P.push(ve,E-R);return}addReferenceable(v)}if(v.length>102400&&E.logger){E.logger.warn(`Serializing big strings (${Math.round(v.length/1024)}kiB) impacts deserialization performance (consider using Buffer instead and decode when needed)`)}P.push(v)}else if(typeof v==="function"){if(!be.isLazy(v))throw new Error("Unexpected function "+v);const R=be.getLazySerializedValue(v);if(R!==undefined){if(typeof R==="function"){P.push(R)}else{throw new Error("Not implemented")}}else if(be.isLazy(v,this)){throw new Error("Not implemented")}else{const R=be.serializeLazy(v,(v=>this.serialize([v],E)));be.setLazySerializedValue(v,R);P.push(R)}}else if(v===undefined){P.push(ve,He)}else{P.push(v)}};try{for(const E of v){process(E)}return P}catch(v){if(v===Ye)return null;throw v}finally{v=P=$=N=q=ge=undefined}}deserialize(v,E){let P=0;const read=()=>{if(P>=v.length)throw new Error("Unexpected end of stream");return v[P++]};if(read()!==Qe)throw new Error("Version mismatch, serializer changed");let R=0;let $=[];const addReferenceable=v=>{$.push(v);R++};let N=0;let L=[];let q=[];let K={read(){return decodeValue()},setCircularReference(v){addReferenceable(v)},...E};this.extendContext(K);const decodeValue=()=>{const v=read();if(v===ve){const v=read();if(v===Ae){return ve}else if(v===He){return undefined}else if(v===Ie){throw new Error(`Unexpected end of object at position ${P-1}`)}else{const E=v;let q;if(typeof E==="number"){if(E<0){return $[R+E]}q=L[N-E]}else{if(typeof E!=="string"){throw new Error(`Unexpected type (${typeof E}) of request `+`at position ${P-1}`)}const v=read();q=ObjectMiddleware._getDeserializerForWithoutError(E,v);if(q===undefined){if(E&&!Ke.has(E)){let v=false;for(const[P,R]of Ze){if(P.test(E)){if(R(E)){v=true;break}}}if(!v){require(E)}Ke.add(E)}q=ObjectMiddleware.getDeserializerFor(E,v)}L.push(q);N++}try{const v=q.deserialize(K);const E=read();if(E!==ve){throw new Error("Expected end of object")}const P=read();if(P!==Ie){throw new Error("Expected end of object")}addReferenceable(v);return v}catch(v){let E;for(const v of Je){if(v[1].serializer===q){E=v;break}}const P=!E?"unknown":!E[1].request?E[0].name:E[1].name?`${E[1].request} ${E[1].name}`:E[1].request;v.message+=`\n(during deserialization of ${P})`;throw v}}}else if(typeof v==="string"){if(v.length>1){addReferenceable(v)}return v}else if(Buffer.isBuffer(v)){addReferenceable(v);return v}else if(typeof v==="function"){return be.deserializeLazy(v,(v=>this.deserialize(v,E)[0]))}else{return v}};try{while(P{let R=E.get(P);if(R===undefined){R=new ObjectStructure;E.set(P,R)}let $=R;for(const E of v){$=$.key(E)}return $.getKeys(v)};class PlainObjectSerializer{serialize(v,E){const P=Object.keys(v);if(P.length>128){E.write(P);for(const R of P){E.write(v[R])}}else if(P.length>1){E.write(getCachedKeys(P,E.write));for(const R of P){E.write(v[R])}}else if(P.length===1){const R=P[0];E.write(R);E.write(v[R])}else{E.write(null)}}deserialize(v){const E=v.read();const P={};if(Array.isArray(E)){for(const R of E){P[R]=v.read()}}else if(E!==null){P[E]=v.read()}return P}}v.exports=PlainObjectSerializer},67256:function(v){"use strict";class RegExpObjectSerializer{serialize(v,E){E.write(v.source);E.write(v.flags)}deserialize(v){return new RegExp(v.read(),v.read())}}v.exports=RegExpObjectSerializer},82792:function(v){"use strict";class Serializer{constructor(v,E){this.serializeMiddlewares=v.slice();this.deserializeMiddlewares=v.slice().reverse();this.context=E}serialize(v,E){const P={...E,...this.context};let R=v;for(const v of this.serializeMiddlewares){if(R&&typeof R.then==="function"){R=R.then((E=>E&&v.serialize(E,P)))}else if(R){try{R=v.serialize(R,P)}catch(v){R=Promise.reject(v)}}else break}return R}deserialize(v,E){const P={...E,...this.context};let R=v;for(const v of this.deserializeMiddlewares){if(R&&typeof R.then==="function"){R=R.then((E=>v.deserialize(E,P)))}else{R=v.deserialize(R,P)}}return R}}v.exports=Serializer},95741:function(v,E,P){"use strict";const R=P(25689);const $=Symbol("lazy serialization target");const N=Symbol("lazy serialization data");class SerializerMiddleware{serialize(v,E){const R=P(71432);throw new R}deserialize(v,E){const R=P(71432);throw new R}static createLazy(v,E,P={},R){if(SerializerMiddleware.isLazy(v,E))return v;const L=typeof v==="function"?v:()=>v;L[$]=E;L.options=P;L[N]=R;return L}static isLazy(v,E){if(typeof v!=="function")return false;const P=v[$];return E?P===E:!!P}static getLazyOptions(v){if(typeof v!=="function")return undefined;return v.options}static getLazySerializedValue(v){if(typeof v!=="function")return undefined;return v[N]}static setLazySerializedValue(v,E){v[N]=E}static serializeLazy(v,E){const P=R((()=>{const P=v();if(P&&typeof P.then==="function"){return P.then((v=>v&&E(v)))}return E(P)}));P[$]=v[$];P.options=v.options;v[N]=P;return P}static deserializeLazy(v,E){const P=R((()=>{const P=v();if(P&&typeof P.then==="function"){return P.then((v=>E(v)))}return E(P)}));P[$]=v[$];P.options=v.options;P[N]=v;return P}static unMemoizeLazy(v){if(!SerializerMiddleware.isLazy(v))return v;const fn=()=>{throw new Error("A lazy value that has been unmemorized can't be called again")};fn[N]=SerializerMiddleware.unMemoizeLazy(v[N]);fn[$]=v[$];fn.options=v.options;return fn}}v.exports=SerializerMiddleware},96301:function(v){"use strict";class SetObjectSerializer{serialize(v,E){E.write(v.size);for(const P of v){E.write(P)}}deserialize(v){let E=v.read();const P=new Set;for(let R=0;RP(70379)),{name:"Consume Shared Plugin",baseDataPath:"options"});const Ve={dependencyType:"esm"};const Ke="ConsumeSharedPlugin";class ConsumeSharedPlugin{constructor(v){if(typeof v!=="string"){Je(v)}this._consumes=L(v.consumes,((E,P)=>{if(Array.isArray(E))throw new Error("Unexpected array in options");let R=E===P||!Ie(E)?{import:P,shareScope:v.shareScope||"default",shareKey:P,requiredVersion:undefined,packageName:undefined,strictVersion:false,singleton:false,eager:false}:{import:P,shareScope:v.shareScope||"default",shareKey:P,requiredVersion:ae(E),strictVersion:true,packageName:undefined,singleton:false,eager:false};return R}),((E,P)=>({import:E.import===false?undefined:E.import||P,shareScope:E.shareScope||v.shareScope||"default",shareKey:E.shareKey||P,requiredVersion:typeof E.requiredVersion==="string"?ae(E.requiredVersion):E.requiredVersion,strictVersion:typeof E.strictVersion==="boolean"?E.strictVersion:E.import!==false&&!E.singleton,packageName:E.packageName,singleton:!!E.singleton,eager:!!E.eager})))}apply(v){v.hooks.thisCompilation.tap(Ke,((E,{normalModuleFactory:P})=>{E.dependencyFactories.set(ge,P);let L,K,Ie;const Je=Ae(E,this._consumes).then((({resolved:v,unresolved:E,prefixed:P})=>{K=v;L=E;Ie=P}));const Ye=E.resolverFactory.get("normal",Ve);const createConsumeSharedModule=(P,$,L)=>{const requiredVersionWarning=v=>{const P=new N(`No required version specified and unable to automatically determine one. ${v}`);P.file=`shared module ${$}`;E.warnings.push(P)};const K=L.import&&/^(\.\.?(\/|$)|\/|[A-Za-z]:|\\\\)/.test(L.import);return Promise.all([new Promise((N=>{if(!L.import)return N();const ae={fileDependencies:new q,contextDependencies:new q,missingDependencies:new q};Ye.resolve({},K?v.context:P,L.import,ae,((v,P)=>{E.contextDependencies.addAll(ae.contextDependencies);E.fileDependencies.addAll(ae.fileDependencies);E.missingDependencies.addAll(ae.missingDependencies);if(v){E.errors.push(new R(null,v,{name:`resolving fallback for shared module ${$}`}));return N()}N(P)}))})),new Promise((v=>{if(L.requiredVersion!==undefined)return v(L.requiredVersion);let R=L.packageName;if(R===undefined){if(/^(\/|[A-Za-z]:|\\\\)/.test($)){return v()}const E=/^((?:@[^\\/]+[\\/])?[^\\/]+)/.exec($);if(!E){requiredVersionWarning("Unable to extract the package name from request.");return v()}R=E[0]}He(E.inputFileSystem,P,["package.json"],((E,$)=>{if(E){requiredVersionWarning(`Unable to read description file: ${E}`);return v()}const{data:N,path:L}=$;if(!N){requiredVersionWarning(`Unable to find description file in ${P}.`);return v()}if(N.name===R){return v()}const q=Qe(N,R);if(typeof q!=="string"){requiredVersionWarning(`Unable to find required version for "${R}" in description file (${L}). It need to be in dependencies, devDependencies or peerDependencies.`);return v()}v(ae(q))}))}))]).then((([E,R])=>new be(K?v.context:P,{...L,importResolved:E,import:E?L.import:undefined,requiredVersion:R})))};P.hooks.factorize.tapPromise(Ke,(({context:v,request:E,dependencies:P})=>Je.then((()=>{if(P[0]instanceof ge||P[0]instanceof ve){return}const R=L.get(E);if(R!==undefined){return createConsumeSharedModule(v,E,R)}for(const[P,R]of Ie){if(E.startsWith(P)){const $=E.slice(P.length);return createConsumeSharedModule(v,E,{...R,import:R.import?R.import+$:undefined,shareKey:R.shareKey+$})}}}))));P.hooks.createModule.tapPromise(Ke,(({resource:v},{context:E,dependencies:P})=>{if(P[0]instanceof ge||P[0]instanceof ve){return Promise.resolve()}const R=K.get(v);if(R!==undefined){return createConsumeSharedModule(E,v,R)}return Promise.resolve()}));E.hooks.additionalTreeRuntimeRequirements.tap(Ke,((v,P)=>{P.add($.module);P.add($.moduleCache);P.add($.moduleFactoriesAddOnly);P.add($.shareScopeMap);P.add($.initializeSharing);P.add($.hasOwnProperty);E.addRuntimeModule(v,new xe(P))}))}))}}v.exports=ConsumeSharedPlugin},21837:function(v,E,P){"use strict";const R=P(92529);const $=P(845);const N=P(25233);const{parseVersionRuntimeCode:L,versionLtRuntimeCode:q,rangeToStringRuntimeCode:K,satisfyRuntimeCode:ae}=P(48997);class ConsumeSharedRuntimeModule extends ${constructor(v){super("consumes",$.STAGE_ATTACH);this._runtimeRequirements=v}generate(){const v=this.compilation;const E=this.chunkGraph;const{runtimeTemplate:P,codeGenerationResults:$}=v;const ge={};const be=new Map;const xe=[];const addModules=(v,P,R)=>{for(const N of v){const v=N;const L=E.getModuleId(v);R.push(L);be.set(L,$.getSource(v,P.runtime,"consume-shared"))}};for(const v of this.chunk.getAllAsyncChunks()){const P=E.getChunkModulesIterableBySourceType(v,"consume-shared");if(!P)continue;addModules(P,v,ge[v.id]=[])}for(const v of this.chunk.getAllInitialChunks()){const P=E.getChunkModulesIterableBySourceType(v,"consume-shared");if(!P)continue;addModules(P,v,xe)}if(be.size===0)return null;return N.asString([L(P),q(P),K(P),ae(P),`var ensureExistence = ${P.basicFunction("scopeName, key",[`var scope = ${R.shareScopeMap}[scopeName];`,`if(!scope || !${R.hasOwnProperty}(scope, key)) throw new Error("Shared module " + key + " doesn't exist in shared scope " + scopeName);`,"return scope;"])};`,`var findVersion = ${P.basicFunction("scope, key",["var versions = scope[key];",`var key = Object.keys(versions).reduce(${P.basicFunction("a, b",["return !a || versionLt(a, b) ? b : a;"])}, 0);`,"return key && versions[key]"])};`,`var findSingletonVersionKey = ${P.basicFunction("scope, key",["var versions = scope[key];",`return Object.keys(versions).reduce(${P.basicFunction("a, b",["return !a || (!versions[a].loaded && versionLt(a, b)) ? b : a;"])}, 0);`])};`,`var getInvalidSingletonVersionMessage = ${P.basicFunction("scope, key, version, requiredVersion",[`return "Unsatisfied version " + version + " from " + (version && scope[key][version].from) + " of shared singleton module " + key + " (required " + rangeToString(requiredVersion) + ")"`])};`,`var getSingleton = ${P.basicFunction("scope, scopeName, key, requiredVersion",["var version = findSingletonVersionKey(scope, key);","return get(scope[key][version]);"])};`,`var getSingletonVersion = ${P.basicFunction("scope, scopeName, key, requiredVersion",["var version = findSingletonVersionKey(scope, key);","if (!satisfy(requiredVersion, version)) warn(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));","return get(scope[key][version]);"])};`,`var getStrictSingletonVersion = ${P.basicFunction("scope, scopeName, key, requiredVersion",["var version = findSingletonVersionKey(scope, key);","if (!satisfy(requiredVersion, version)) "+"throw new Error(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));","return get(scope[key][version]);"])};`,`var findValidVersion = ${P.basicFunction("scope, key, requiredVersion",["var versions = scope[key];",`var key = Object.keys(versions).reduce(${P.basicFunction("a, b",["if (!satisfy(requiredVersion, b)) return a;","return !a || versionLt(a, b) ? b : a;"])}, 0);`,"return key && versions[key]"])};`,`var getInvalidVersionMessage = ${P.basicFunction("scope, scopeName, key, requiredVersion",["var versions = scope[key];",'return "No satisfying version (" + rangeToString(requiredVersion) + ") of shared module " + key + " found in shared scope " + scopeName + ".\\n" +',`\t"Available versions: " + Object.keys(versions).map(${P.basicFunction("key",['return key + " from " + versions[key].from;'])}).join(", ");`])};`,`var getValidVersion = ${P.basicFunction("scope, scopeName, key, requiredVersion",["var entry = findValidVersion(scope, key, requiredVersion);","if(entry) return get(entry);","throw new Error(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));"])};`,`var warn = ${v.outputOptions.ignoreBrowserWarnings?P.basicFunction("",""):P.basicFunction("msg",['if (typeof console !== "undefined" && console.warn) console.warn(msg);'])};`,`var warnInvalidVersion = ${P.basicFunction("scope, scopeName, key, requiredVersion",["warn(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));"])};`,`var get = ${P.basicFunction("entry",["entry.loaded = 1;","return entry.get()"])};`,`var init = ${P.returningFunction(N.asString(["function(scopeName, a, b, c) {",N.indent([`var promise = ${R.initializeSharing}(scopeName);`,`if (promise && promise.then) return promise.then(fn.bind(fn, scopeName, ${R.shareScopeMap}[scopeName], a, b, c));`,`return fn(scopeName, ${R.shareScopeMap}[scopeName], a, b, c);`]),"}"]),"fn")};`,"",`var load = /*#__PURE__*/ init(${P.basicFunction("scopeName, scope, key",["ensureExistence(scopeName, key);","return get(findVersion(scope, key));"])});`,`var loadFallback = /*#__PURE__*/ init(${P.basicFunction("scopeName, scope, key, fallback",[`return scope && ${R.hasOwnProperty}(scope, key) ? get(findVersion(scope, key)) : fallback();`])});`,`var loadVersionCheck = /*#__PURE__*/ init(${P.basicFunction("scopeName, scope, key, version",["ensureExistence(scopeName, key);","return get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));"])});`,`var loadSingleton = /*#__PURE__*/ init(${P.basicFunction("scopeName, scope, key",["ensureExistence(scopeName, key);","return getSingleton(scope, scopeName, key);"])});`,`var loadSingletonVersionCheck = /*#__PURE__*/ init(${P.basicFunction("scopeName, scope, key, version",["ensureExistence(scopeName, key);","return getSingletonVersion(scope, scopeName, key, version);"])});`,`var loadStrictVersionCheck = /*#__PURE__*/ init(${P.basicFunction("scopeName, scope, key, version",["ensureExistence(scopeName, key);","return getValidVersion(scope, scopeName, key, version);"])});`,`var loadStrictSingletonVersionCheck = /*#__PURE__*/ init(${P.basicFunction("scopeName, scope, key, version",["ensureExistence(scopeName, key);","return getStrictSingletonVersion(scope, scopeName, key, version);"])});`,`var loadVersionCheckFallback = /*#__PURE__*/ init(${P.basicFunction("scopeName, scope, key, version, fallback",[`if(!scope || !${R.hasOwnProperty}(scope, key)) return fallback();`,"return get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));"])});`,`var loadSingletonFallback = /*#__PURE__*/ init(${P.basicFunction("scopeName, scope, key, fallback",[`if(!scope || !${R.hasOwnProperty}(scope, key)) return fallback();`,"return getSingleton(scope, scopeName, key);"])});`,`var loadSingletonVersionCheckFallback = /*#__PURE__*/ init(${P.basicFunction("scopeName, scope, key, version, fallback",[`if(!scope || !${R.hasOwnProperty}(scope, key)) return fallback();`,"return getSingletonVersion(scope, scopeName, key, version);"])});`,`var loadStrictVersionCheckFallback = /*#__PURE__*/ init(${P.basicFunction("scopeName, scope, key, version, fallback",[`var entry = scope && ${R.hasOwnProperty}(scope, key) && findValidVersion(scope, key, version);`,`return entry ? get(entry) : fallback();`])});`,`var loadStrictSingletonVersionCheckFallback = /*#__PURE__*/ init(${P.basicFunction("scopeName, scope, key, version, fallback",[`if(!scope || !${R.hasOwnProperty}(scope, key)) return fallback();`,"return getStrictSingletonVersion(scope, scopeName, key, version);"])});`,"var installedModules = {};","var moduleToHandlerMapping = {",N.indent(Array.from(be,(([v,E])=>`${JSON.stringify(v)}: ${E.source()}`)).join(",\n")),"};",xe.length>0?N.asString([`var initialConsumes = ${JSON.stringify(xe)};`,`initialConsumes.forEach(${P.basicFunction("id",[`${R.moduleFactories}[id] = ${P.basicFunction("module",["// Handle case when module is used sync","installedModules[id] = 0;",`delete ${R.moduleCache}[id];`,"var factory = moduleToHandlerMapping[id]();",'if(typeof factory !== "function") throw new Error("Shared module is not available for eager consumption: " + id);',`module.exports = factory();`])}`])});`]):"// no consumes in initial chunks",this._runtimeRequirements.has(R.ensureChunkHandlers)?N.asString([`var chunkMapping = ${JSON.stringify(ge,null,"\t")};`,"var startedInstallModules = {};",`${R.ensureChunkHandlers}.consumes = ${P.basicFunction("chunkId, promises",[`if(${R.hasOwnProperty}(chunkMapping, chunkId)) {`,N.indent([`chunkMapping[chunkId].forEach(${P.basicFunction("id",[`if(${R.hasOwnProperty}(installedModules, id)) return promises.push(installedModules[id]);`,"if(!startedInstallModules[id]) {",`var onFactory = ${P.basicFunction("factory",["installedModules[id] = 0;",`${R.moduleFactories}[id] = ${P.basicFunction("module",[`delete ${R.moduleCache}[id];`,"module.exports = factory();"])}`])};`,"startedInstallModules[id] = true;",`var onError = ${P.basicFunction("error",["delete installedModules[id];",`${R.moduleFactories}[id] = ${P.basicFunction("module",[`delete ${R.moduleCache}[id];`,"throw error;"])}`])};`,"try {",N.indent(["var promise = moduleToHandlerMapping[id]();","if(promise.then) {",N.indent("promises.push(installedModules[id] = promise.then(onFactory)['catch'](onError));"),"} else onFactory(promise);"]),"} catch(e) { onError(e); }","}"])});`]),"}"])}`]):"// no chunk loading of consumes"])}}v.exports=ConsumeSharedRuntimeModule},5163:function(v,E,P){"use strict";const R=P(17782);const $=P(41718);class ProvideForSharedDependency extends R{constructor(v){super(v)}get type(){return"provide module for shared"}get category(){return"esm"}}$(ProvideForSharedDependency,"webpack/lib/sharing/ProvideForSharedDependency");v.exports=ProvideForSharedDependency},68970:function(v,E,P){"use strict";const R=P(38204);const $=P(41718);class ProvideSharedDependency extends R{constructor(v,E,P,R,$){super();this.shareScope=v;this.name=E;this.version=P;this.request=R;this.eager=$}get type(){return"provide shared module"}getResourceIdentifier(){return`provide module (${this.shareScope}) ${this.request} as ${this.name} @ ${this.version}${this.eager?" (eager)":""}`}serialize(v){v.write(this.shareScope);v.write(this.name);v.write(this.request);v.write(this.version);v.write(this.eager);super.serialize(v)}static deserialize(v){const{read:E}=v;const P=new ProvideSharedDependency(E(),E(),E(),E(),E());this.shareScope=v.read();P.deserialize(v);return P}}$(ProvideSharedDependency,"webpack/lib/sharing/ProvideSharedDependency");v.exports=ProvideSharedDependency},21764:function(v,E,P){"use strict";const R=P(55936);const $=P(72011);const{WEBPACK_MODULE_TYPE_PROVIDE:N}=P(96170);const L=P(92529);const q=P(41718);const K=P(5163);const ae=new Set(["share-init"]);class ProvideSharedModule extends ${constructor(v,E,P,R,$){super(N);this._shareScope=v;this._name=E;this._version=P;this._request=R;this._eager=$}identifier(){return`provide module (${this._shareScope}) ${this._name}@${this._version} = ${this._request}`}readableIdentifier(v){return`provide shared module (${this._shareScope}) ${this._name}@${this._version} = ${v.shorten(this._request)}`}libIdent(v){return`${this.layer?`(${this.layer})/`:""}webpack/sharing/provide/${this._shareScope}/${this._name}`}needBuild(v,E){E(null,!this.buildInfo)}build(v,E,P,$,N){this.buildMeta={};this.buildInfo={strict:true};this.clearDependenciesAndBlocks();const L=new K(this._request);if(this._eager){this.addDependency(L)}else{const v=new R({});v.addDependency(L);this.addBlock(v)}N()}size(v){return 42}getSourceTypes(){return ae}codeGeneration({runtimeTemplate:v,moduleGraph:E,chunkGraph:P}){const R=new Set([L.initializeSharing]);const $=`register(${JSON.stringify(this._name)}, ${JSON.stringify(this._version||"0")}, ${this._eager?v.syncModuleFactory({dependency:this.dependencies[0],chunkGraph:P,request:this._request,runtimeRequirements:R}):v.asyncModuleFactory({block:this.blocks[0],chunkGraph:P,request:this._request,runtimeRequirements:R})}${this._eager?", 1":""});`;const N=new Map;const q=new Map;q.set("share-init",[{shareScope:this._shareScope,initStage:10,init:$}]);return{sources:N,data:q,runtimeRequirements:R}}serialize(v){const{write:E}=v;E(this._shareScope);E(this._name);E(this._version);E(this._request);E(this._eager);super.serialize(v)}static deserialize(v){const{read:E}=v;const P=new ProvideSharedModule(E(),E(),E(),E(),E());P.deserialize(v);return P}}q(ProvideSharedModule,"webpack/lib/sharing/ProvideSharedModule");v.exports=ProvideSharedModule},28261:function(v,E,P){"use strict";const R=P(22362);const $=P(21764);class ProvideSharedModuleFactory extends R{create(v,E){const P=v.dependencies[0];E(null,{module:new $(P.shareScope,P.name,P.version,P.request,P.eager)})}}v.exports=ProvideSharedModuleFactory},67669:function(v,E,P){"use strict";const R=P(16413);const{parseOptions:$}=P(89170);const N=P(21596);const L=P(5163);const q=P(68970);const K=P(28261);const ae=N(P(14476),(()=>P(39379)),{name:"Provide Shared Plugin",baseDataPath:"options"});class ProvideSharedPlugin{constructor(v){ae(v);this._provides=$(v.provides,(E=>{if(Array.isArray(E))throw new Error("Unexpected array of provides");const P={shareKey:E,version:undefined,shareScope:v.shareScope||"default",eager:false};return P}),(E=>({shareKey:E.shareKey,version:E.version,shareScope:E.shareScope||v.shareScope||"default",eager:!!E.eager})));this._provides.sort((([v],[E])=>{if(v{const $=new Map;const N=new Map;const L=new Map;for(const[v,E]of this._provides){if(/^(\/|[A-Za-z]:\\|\\\\|\.\.?(\/|$))/.test(v)){$.set(v,{config:E,version:E.version})}else if(/^(\/|[A-Za-z]:\\|\\\\)/.test(v)){$.set(v,{config:E,version:E.version})}else if(v.endsWith("/")){L.set(v,E)}else{N.set(v,E)}}E.set(v,$);const provideSharedModule=(E,P,N,L)=>{let q=P.version;if(q===undefined){let P="";if(!L){P=`No resolve data provided from resolver.`}else{const v=L.descriptionFileData;if(!v){P="No description file (usually package.json) found. Add description file with name and version, or manually specify version in shared config."}else if(!v.version){P=`No version in description file (usually package.json). Add version to description file ${L.descriptionFilePath}, or manually specify version in shared config.`}else{q=v.version}}if(!q){const $=new R(`No version specified and unable to automatically determine one. ${P}`);$.file=`shared module ${E} -> ${N}`;v.warnings.push($)}}$.set(N,{config:P,version:q})};P.hooks.module.tap("ProvideSharedPlugin",((v,{resource:E,resourceResolveData:P},R)=>{if($.has(E)){return v}const{request:q}=R;{const v=N.get(q);if(v!==undefined){provideSharedModule(q,v,E,P);R.cacheable=false}}for(const[v,$]of L){if(q.startsWith(v)){const N=q.slice(v.length);provideSharedModule(E,{...$,shareKey:$.shareKey+N},E,P);R.cacheable=false}}return v}))}));v.hooks.finishMake.tapPromise("ProvideSharedPlugin",(P=>{const R=E.get(P);if(!R)return Promise.resolve();return Promise.all(Array.from(R,(([E,{config:R,version:$}])=>new Promise(((N,L)=>{P.addInclude(v.context,new q(R.shareScope,R.shareKey,$||false,E,R.eager),{name:undefined},(v=>{if(v)return L(v);N()}))}))))).then((()=>{}))}));v.hooks.compilation.tap("ProvideSharedPlugin",((v,{normalModuleFactory:E})=>{v.dependencyFactories.set(L,E);v.dependencyFactories.set(q,new K)}))}}v.exports=ProvideSharedPlugin},64928:function(v,E,P){"use strict";const{parseOptions:R}=P(89170);const $=P(95481);const N=P(67669);const{isRequiredVersion:L}=P(59552);class SharePlugin{constructor(v){const E=R(v.shared,((v,E)=>{if(typeof v!=="string")throw new Error("Unexpected array in shared");const P=v===E||!L(v)?{import:v}:{import:E,requiredVersion:v};return P}),(v=>v));const P=E.map((([v,E])=>({[v]:{import:E.import,shareKey:E.shareKey||v,shareScope:E.shareScope,requiredVersion:E.requiredVersion,strictVersion:E.strictVersion,singleton:E.singleton,packageName:E.packageName,eager:E.eager}})));const $=E.filter((([,v])=>v.import!==false)).map((([v,E])=>({[E.import||v]:{shareKey:E.shareKey||v,shareScope:E.shareScope,version:E.version,eager:E.eager}})));this._shareScope=v.shareScope;this._consumes=P;this._provides=$}apply(v){new $({shareScope:this._shareScope,consumes:this._consumes}).apply(v);new N({shareScope:this._shareScope,provides:this._provides}).apply(v)}}v.exports=SharePlugin},84350:function(v,E,P){"use strict";const R=P(92529);const $=P(845);const N=P(25233);const{compareModulesByIdentifier:L,compareStrings:q}=P(28273);class ShareRuntimeModule extends ${constructor(){super("sharing")}generate(){const v=this.compilation;const{runtimeTemplate:E,codeGenerationResults:P,outputOptions:{uniqueName:$,ignoreBrowserWarnings:K}}=v;const ae=this.chunkGraph;const ge=new Map;for(const v of this.chunk.getAllReferencedChunks()){const E=ae.getOrderedChunkModulesIterableBySourceType(v,"share-init",L);if(!E)continue;for(const R of E){const E=P.getData(R,v.runtime,"share-init");if(!E)continue;for(const v of E){const{shareScope:E,initStage:P,init:R}=v;let $=ge.get(E);if($===undefined){ge.set(E,$=new Map)}let N=$.get(P||0);if(N===undefined){$.set(P||0,N=new Set)}N.add(R)}}}return N.asString([`${R.shareScopeMap} = {};`,"var initPromises = {};","var initTokens = {};",`${R.initializeSharing} = ${E.basicFunction("name, initScope",["if(!initScope) initScope = [];","// handling circular init calls","var initToken = initTokens[name];","if(!initToken) initToken = initTokens[name] = {};","if(initScope.indexOf(initToken) >= 0) return;","initScope.push(initToken);","// only runs once","if(initPromises[name]) return initPromises[name];","// creates a new share scope if needed",`if(!${R.hasOwnProperty}(${R.shareScopeMap}, name)) ${R.shareScopeMap}[name] = {};`,"// runs all init snippets from all modules reachable",`var scope = ${R.shareScopeMap}[name];`,`var warn = ${K?E.basicFunction("",""):E.basicFunction("msg",['if (typeof console !== "undefined" && console.warn) console.warn(msg);'])};`,`var uniqueName = ${JSON.stringify($||undefined)};`,`var register = ${E.basicFunction("name, version, factory, eager",["var versions = scope[name] = scope[name] || {};","var activeVersion = versions[version];","if(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };"])};`,`var initExternal = ${E.basicFunction("id",[`var handleError = ${E.expressionFunction('warn("Initialization of sharing external failed: " + err)',"err")};`,"try {",N.indent([`var module = ${R.require}(id);`,"if(!module) return;",`var initFn = ${E.returningFunction(`module && module.init && module.init(${R.shareScopeMap}[name], initScope)`,"module")}`,"if(module.then) return promises.push(module.then(initFn, handleError));","var initResult = initFn(module);","if(initResult && initResult.then) return promises.push(initResult['catch'](handleError));"]),"} catch(err) { handleError(err); }"])}`,"var promises = [];","switch(name) {",...Array.from(ge).sort((([v],[E])=>q(v,E))).map((([v,E])=>N.indent([`case ${JSON.stringify(v)}: {`,N.indent(Array.from(E).sort((([v],[E])=>v-E)).map((([,v])=>N.asString(Array.from(v))))),"}","break;"]))),"}","if(!promises.length) return initPromises[name] = 1;",`return initPromises[name] = Promise.all(promises).then(${E.returningFunction("initPromises[name] = 1")});`])};`])}}v.exports=ShareRuntimeModule},81396:function(v,E,P){"use strict";const R=P(1758);const $=P(2035);const N={dependencyType:"esm"};E.resolveMatchedConfigs=(v,E)=>{const P=new Map;const L=new Map;const q=new Map;const K={fileDependencies:new $,contextDependencies:new $,missingDependencies:new $};const ae=v.resolverFactory.get("normal",N);const ge=v.compiler.context;return Promise.all(E.map((([E,$])=>{if(/^\.\.?(\/|$)/.test(E)){return new Promise((N=>{ae.resolve({},ge,E,K,((L,q)=>{if(L||q===false){L=L||new Error(`Can't resolve ${E}`);v.errors.push(new R(null,L,{name:`shared module ${E}`}));return N()}P.set(q,$);N()}))}))}else if(/^(\/|[A-Za-z]:\\|\\\\)/.test(E)){P.set(E,$)}else if(E.endsWith("/")){q.set(E,$)}else{L.set(E,$)}}))).then((()=>{v.contextDependencies.addAll(K.contextDependencies);v.fileDependencies.addAll(K.fileDependencies);v.missingDependencies.addAll(K.missingDependencies);return{resolved:P,unresolved:L,prefixed:q}}))}},59552:function(v,E,P){"use strict";const{join:R,dirname:$,readJson:N}=P(43860);const L=/^[^/@:.\s][^/@:\s]*\/[^@:\s]*[^/@:\s]#\S+/;const q=/^(github|gitlab|bitbucket|gist):\/?[^/.]+\/?/i;const K=/^((git\+)?(ssh|https?|file)|git|github|gitlab|bitbucket|gist):$/i;const ae=/^((git\+)?(ssh|https?|file)|git):\/\//i;const ge=/#(?:semver:)?(.+)/;const be=/^(?:[^/.]+(\.[^/]+)+|localhost)$/;const xe=/([^/@#:.]+(?:\.[^/@#:.]+)+|localhost):([^#/0-9]+)/;const ve=/^([^/@#:.]+(?:\.[^/@#:.]+)+)/;const Ae=/^([\d^=v<>~]|[*xX]$)/;const Ie=["github:","gitlab:","bitbucket:","gist:","file:"];const He="git+ssh://";const Qe={"github.com":(v,E)=>{let[,P,R,$,N]=v.split("/",5);if($&&$!=="tree"){return}if(!$){N=E}else{N="#"+N}if(R&&R.endsWith(".git")){R=R.slice(0,-4)}if(!P||!R){return}return N},"gitlab.com":(v,E)=>{const P=v.slice(1);if(P.includes("/-/")||P.includes("/archive.tar.gz")){return}const R=P.split("/");let $=R.pop();if($.endsWith(".git")){$=$.slice(0,-4)}const N=R.join("/");if(!N||!$){return}return E},"bitbucket.org":(v,E)=>{let[,P,R,$]=v.split("/",4);if(["get"].includes($)){return}if(R&&R.endsWith(".git")){R=R.slice(0,-4)}if(!P||!R){return}return E},"gist.github.com":(v,E)=>{let[,P,R,$]=v.split("/",4);if($==="raw"){return}if(!R){if(!P){return}R=P}if(R.endsWith(".git")){R=R.slice(0,-4)}return E}};function getCommithash(v){let{hostname:E,pathname:P,hash:R}=v;E=E.replace(/^www\./,"");try{R=decodeURIComponent(R)}catch(v){}if(Qe[E]){return Qe[E](P,R)||""}return R}function correctUrl(v){return v.replace(xe,"$1/$2")}function correctProtocol(v){if(q.test(v)){return v}if(!ae.test(v)){return`${He}${v}`}return v}function getVersionFromHash(v){const E=v.match(ge);return E&&E[1]||""}function canBeDecoded(v){try{decodeURIComponent(v)}catch(v){return false}return true}function getGitUrlVersion(v){let E=v;if(L.test(v)){v="github:"+v}else{v=correctProtocol(v)}v=correctUrl(v);let P;try{P=new URL(v)}catch(v){}if(!P){return""}const{protocol:R,hostname:$,pathname:N,username:q,password:ae}=P;if(!K.test(R)){return""}if(!N||!canBeDecoded(N)){return""}if(ve.test(E)&&!q&&!ae){return""}if(!Ie.includes(R.toLowerCase())){if(!be.test($)){return""}const v=getCommithash(P);return getVersionFromHash(v)||v}return getVersionFromHash(v)}function isRequiredVersion(v){return Ae.test(v)}E.isRequiredVersion=isRequiredVersion;function normalizeVersion(v){v=v&&v.trim()||"";if(isRequiredVersion(v)){return v}return getGitUrlVersion(v.toLowerCase())}E.normalizeVersion=normalizeVersion;const getDescriptionFile=(v,E,P,L)=>{let q=0;const tryLoadCurrent=()=>{if(q>=P.length){const R=$(v,E);if(!R||R===E)return L();return getDescriptionFile(v,R,P,L)}const K=R(v,E,P[q]);N(v,K,((v,E)=>{if(v){if("code"in v&&v.code==="ENOENT"){q++;return tryLoadCurrent()}return L(v)}if(!E||typeof E!=="object"||Array.isArray(E)){return L(new Error(`Description file ${K} is not an object`))}L(null,{data:E,path:K})}))};tryLoadCurrent()};E.getDescriptionFile=getDescriptionFile;const getRequiredVersionFromDescriptionFile=(v,E)=>{const P=["optionalDependencies","dependencies","peerDependencies","devDependencies"];for(const R of P){if(v[R]&&typeof v[R]==="object"&&E in v[R]){return normalizeVersion(v[R][E])}}};E.getRequiredVersionFromDescriptionFile=getRequiredVersionFromDescriptionFile},85876:function(v,E,P){"use strict";const R=P(73837);const{WEBPACK_MODULE_TYPE_RUNTIME:$}=P(96170);const N=P(17782);const L=P(81949);const{LogType:q}=P(61348);const K=P(47200);const ae=P(91776);const{countIterable:ge}=P(6719);const{compareLocations:be,compareChunksById:xe,compareNumbers:ve,compareIds:Ae,concatComparators:Ie,compareSelect:He,compareModulesByIdentifier:Qe}=P(28273);const{makePathsRelative:Je,parseResource:Ve}=P(51984);const uniqueArray=(v,E)=>{const P=new Set;for(const R of v){for(const v of E(R)){P.add(v)}}return Array.from(P)};const uniqueOrderedArray=(v,E,P)=>uniqueArray(v,E).sort(P);const mapObject=(v,E)=>{const P=Object.create(null);for(const R of Object.keys(v)){P[R]=E(v[R],R)}return P};const countWithChildren=(v,E)=>{let P=E(v,"").length;for(const R of v.children){P+=countWithChildren(R,((v,P)=>E(v,`.children[].compilation${P}`)))}return P};const Ke={_:(v,E,P,{requestShortener:R})=>{if(typeof E==="string"){v.message=E}else{if(E.chunk){v.chunkName=E.chunk.name;v.chunkEntry=E.chunk.hasRuntime();v.chunkInitial=E.chunk.canBeInitial()}if(E.file){v.file=E.file}if(E.module){v.moduleIdentifier=E.module.identifier();v.moduleName=E.module.readableIdentifier(R)}if(E.loc){v.loc=L(E.loc)}v.message=E.message}},ids:(v,E,{compilation:{chunkGraph:P}})=>{if(typeof E!=="string"){if(E.chunk){v.chunkId=E.chunk.id}if(E.module){v.moduleId=P.getModuleId(E.module)}}},moduleTrace:(v,E,P,R,$)=>{if(typeof E!=="string"&&E.module){const{type:R,compilation:{moduleGraph:N}}=P;const L=new Set;const q=[];let K=E.module;while(K){if(L.has(K))break;L.add(K);const v=N.getIssuer(K);if(!v)break;q.push({origin:v,module:K});K=v}v.moduleTrace=$.create(`${R}.moduleTrace`,q,P)}},errorDetails:(v,E,{type:P,compilation:R,cachedGetErrors:$,cachedGetWarnings:N},{errorDetails:L})=>{if(typeof E!=="string"&&(L===true||P.endsWith(".error")&&$(R).length<3)){v.details=E.details}},errorStack:(v,E)=>{if(typeof E!=="string"){v.stack=E.stack}}};const Ye={compilation:{_:(v,E,R,$)=>{if(!R.makePathsRelative){R.makePathsRelative=Je.bindContextCache(E.compiler.context,E.compiler.root)}if(!R.cachedGetErrors){const v=new WeakMap;R.cachedGetErrors=E=>v.get(E)||(P=>(v.set(E,P),P))(E.getErrors())}if(!R.cachedGetWarnings){const v=new WeakMap;R.cachedGetWarnings=E=>v.get(E)||(P=>(v.set(E,P),P))(E.getWarnings())}if(E.name){v.name=E.name}if(E.needAdditionalPass){v.needAdditionalPass=true}const{logging:N,loggingDebug:L,loggingTrace:K}=$;if(N||L&&L.length>0){const R=P(73837);v.logging={};let ae;let ge=false;switch(N){default:ae=new Set;break;case"error":ae=new Set([q.error]);break;case"warn":ae=new Set([q.error,q.warn]);break;case"info":ae=new Set([q.error,q.warn,q.info]);break;case"log":ae=new Set([q.error,q.warn,q.info,q.log,q.group,q.groupEnd,q.groupCollapsed,q.clear]);break;case"verbose":ae=new Set([q.error,q.warn,q.info,q.log,q.group,q.groupEnd,q.groupCollapsed,q.profile,q.profileEnd,q.time,q.status,q.clear]);ge=true;break}const be=Je.bindContextCache($.context,E.compiler.root);let xe=0;for(const[P,$]of E.logging){const E=L.some((v=>v(P)));if(N===false&&!E)continue;const ve=[];const Ae=[];let Ie=Ae;let He=0;for(const v of $){let P=v.type;if(!E&&!ae.has(P))continue;if(P===q.groupCollapsed&&(E||ge))P=q.group;if(xe===0){He++}if(P===q.groupEnd){ve.pop();if(ve.length>0){Ie=ve[ve.length-1].children}else{Ie=Ae}if(xe>0)xe--;continue}let $=undefined;if(v.type===q.time){$=`${v.args[0]}: ${v.args[1]*1e3+v.args[2]/1e6} ms`}else if(v.args&&v.args.length>0){$=R.format(v.args[0],...v.args.slice(1))}const N={...v,type:P,message:$,trace:K?v.trace:undefined,children:P===q.group||P===q.groupCollapsed?[]:undefined};Ie.push(N);if(N.children){ve.push(N);Ie=N.children;if(xe>0){xe++}else if(P===q.groupCollapsed){xe=1}}}let Qe=be(P).replace(/\|/g," ");if(Qe in v.logging){let E=1;while(`${Qe}#${E}`in v.logging){E++}Qe=`${Qe}#${E}`}v.logging[Qe]={entries:Ae,filteredEntries:$.length-He,debug:E}}}},hash:(v,E)=>{v.hash=E.hash},version:v=>{v.version=P(60549).i8},env:(v,E,P,{_env:R})=>{v.env=R},timings:(v,E)=>{v.time=E.endTime-E.startTime},builtAt:(v,E)=>{v.builtAt=E.endTime},publicPath:(v,E)=>{v.publicPath=E.getPath(E.outputOptions.publicPath)},outputPath:(v,E)=>{v.outputPath=E.outputOptions.path},assets:(v,E,P,R,$)=>{const{type:N}=P;const L=new Map;const q=new Map;for(const v of E.chunks){for(const E of v.files){let P=L.get(E);if(P===undefined){P=[];L.set(E,P)}P.push(v)}for(const E of v.auxiliaryFiles){let P=q.get(E);if(P===undefined){P=[];q.set(E,P)}P.push(v)}}const K=new Map;const ae=new Set;for(const v of E.getAssets()){const E={...v,type:"asset",related:undefined};ae.add(E);K.set(v.name,E)}for(const v of K.values()){const E=v.info.related;if(!E)continue;for(const P of Object.keys(E)){const R=E[P];const $=Array.isArray(R)?R:[R];for(const E of $){const R=K.get(E);if(!R)continue;ae.delete(R);R.type=P;v.related=v.related||[];v.related.push(R)}}}v.assetsByChunkName={};for(const[E,P]of L){for(const R of P){const P=R.name;if(!P)continue;if(!Object.prototype.hasOwnProperty.call(v.assetsByChunkName,P)){v.assetsByChunkName[P]=[]}v.assetsByChunkName[P].push(E)}}const ge=$.create(`${N}.assets`,Array.from(ae),{...P,compilationFileToChunks:L,compilationAuxiliaryFileToChunks:q});const be=spaceLimited(ge,R.assetsSpace);v.assets=be.children;v.filteredAssets=be.filteredChildren},chunks:(v,E,P,R,$)=>{const{type:N}=P;v.chunks=$.create(`${N}.chunks`,Array.from(E.chunks),P)},modules:(v,E,P,R,$)=>{const{type:N}=P;const L=Array.from(E.modules);const q=$.create(`${N}.modules`,L,P);const K=spaceLimited(q,R.modulesSpace);v.modules=K.children;v.filteredModules=K.filteredChildren},entrypoints:(v,E,P,{entrypoints:R,chunkGroups:$,chunkGroupAuxiliary:N,chunkGroupChildren:L},q)=>{const{type:K}=P;const ae=Array.from(E.entrypoints,(([v,E])=>({name:v,chunkGroup:E})));if(R==="auto"&&!$){if(ae.length>5)return;if(!L&&ae.every((({chunkGroup:v})=>{if(v.chunks.length!==1)return false;const E=v.chunks[0];return E.files.size===1&&(!N||E.auxiliaryFiles.size===0)}))){return}}v.entrypoints=q.create(`${K}.entrypoints`,ae,P)},chunkGroups:(v,E,P,R,$)=>{const{type:N}=P;const L=Array.from(E.namedChunkGroups,(([v,E])=>({name:v,chunkGroup:E})));v.namedChunkGroups=$.create(`${N}.namedChunkGroups`,L,P)},errors:(v,E,P,R,$)=>{const{type:N,cachedGetErrors:L}=P;const q=L(E);const K=$.create(`${N}.errors`,L(E),P);let ae=0;if(R.errorDetails==="auto"&&q.length>=3){ae=q.map((v=>typeof v!=="string"&&v.details)).filter(Boolean).length}if(R.errorDetails===true||!Number.isFinite(R.errorsSpace)){v.errors=K;if(ae)v.filteredErrorDetailsCount=ae;return}const[ge,be]=errorsSpaceLimit(K,R.errorsSpace);v.filteredErrorDetailsCount=ae+be;v.errors=ge},errorsCount:(v,E,{cachedGetErrors:P})=>{v.errorsCount=countWithChildren(E,(v=>P(v)))},warnings:(v,E,P,R,$)=>{const{type:N,cachedGetWarnings:L}=P;const q=$.create(`${N}.warnings`,L(E),P);let K=0;if(R.errorDetails==="auto"){K=L(E).map((v=>typeof v!=="string"&&v.details)).filter(Boolean).length}if(R.errorDetails===true||!Number.isFinite(R.warningsSpace)){v.warnings=q;if(K)v.filteredWarningDetailsCount=K;return}const[ae,ge]=errorsSpaceLimit(q,R.warningsSpace);v.filteredWarningDetailsCount=K+ge;v.warnings=ae},warningsCount:(v,E,P,{warningsFilter:R},$)=>{const{type:N,cachedGetWarnings:L}=P;v.warningsCount=countWithChildren(E,((v,E)=>{if(!R&&R.length===0)return L(v);return $.create(`${N}${E}.warnings`,L(v),P).filter((v=>{const E=Object.keys(v).map((E=>`${v[E]}`)).join("\n");return!R.some((P=>P(v,E)))}))}))},children:(v,E,P,R,$)=>{const{type:N}=P;v.children=$.create(`${N}.children`,E.children,P)}},asset:{_:(v,E,P,R,$)=>{const{compilation:N}=P;v.type=E.type;v.name=E.name;v.size=E.source.size();v.emitted=N.emittedAssets.has(E.name);v.comparedForEmit=N.comparedForEmitAssets.has(E.name);const L=!v.emitted&&!v.comparedForEmit;v.cached=L;v.info=E.info;if(!L||R.cachedAssets){Object.assign(v,$.create(`${P.type}$visible`,E,P))}}},asset$visible:{_:(v,E,{compilation:P,compilationFileToChunks:R,compilationAuxiliaryFileToChunks:$})=>{const N=R.get(E.name)||[];const L=$.get(E.name)||[];v.chunkNames=uniqueOrderedArray(N,(v=>v.name?[v.name]:[]),Ae);v.chunkIdHints=uniqueOrderedArray(N,(v=>Array.from(v.idNameHints)),Ae);v.auxiliaryChunkNames=uniqueOrderedArray(L,(v=>v.name?[v.name]:[]),Ae);v.auxiliaryChunkIdHints=uniqueOrderedArray(L,(v=>Array.from(v.idNameHints)),Ae);v.filteredRelated=E.related?E.related.length:undefined},relatedAssets:(v,E,P,R,$)=>{const{type:N}=P;v.related=$.create(`${N.slice(0,-8)}.related`,E.related,P);v.filteredRelated=E.related?E.related.length-v.related.length:undefined},ids:(v,E,{compilationFileToChunks:P,compilationAuxiliaryFileToChunks:R})=>{const $=P.get(E.name)||[];const N=R.get(E.name)||[];v.chunks=uniqueOrderedArray($,(v=>v.ids),Ae);v.auxiliaryChunks=uniqueOrderedArray(N,(v=>v.ids),Ae)},performance:(v,E)=>{v.isOverSizeLimit=ae.isOverSizeLimit(E.source)}},chunkGroup:{_:(v,{name:E,chunkGroup:P},{compilation:R,compilation:{moduleGraph:$,chunkGraph:N}},{ids:L,chunkGroupAuxiliary:q,chunkGroupChildren:K,chunkGroupMaxAssets:ae})=>{const ge=K&&P.getChildrenByOrders($,N);const toAsset=v=>{const E=R.getAsset(v);return{name:v,size:E?E.info.size:-1}};const sizeReducer=(v,{size:E})=>v+E;const be=uniqueArray(P.chunks,(v=>v.files)).map(toAsset);const xe=uniqueOrderedArray(P.chunks,(v=>v.auxiliaryFiles),Ae).map(toAsset);const ve=be.reduce(sizeReducer,0);const Ie=xe.reduce(sizeReducer,0);const He={name:E,chunks:L?P.chunks.map((v=>v.id)):undefined,assets:be.length<=ae?be:undefined,filteredAssets:be.length<=ae?0:be.length,assetsSize:ve,auxiliaryAssets:q&&xe.length<=ae?xe:undefined,filteredAuxiliaryAssets:q&&xe.length<=ae?0:xe.length,auxiliaryAssetsSize:Ie,children:ge?mapObject(ge,(v=>v.map((v=>{const E=uniqueArray(v.chunks,(v=>v.files)).map(toAsset);const P=uniqueOrderedArray(v.chunks,(v=>v.auxiliaryFiles),Ae).map(toAsset);const R={name:v.name,chunks:L?v.chunks.map((v=>v.id)):undefined,assets:E.length<=ae?E:undefined,filteredAssets:E.length<=ae?0:E.length,auxiliaryAssets:q&&P.length<=ae?P:undefined,filteredAuxiliaryAssets:q&&P.length<=ae?0:P.length};return R})))):undefined,childAssets:ge?mapObject(ge,(v=>{const E=new Set;for(const P of v){for(const v of P.chunks){for(const P of v.files){E.add(P)}}}return Array.from(E)})):undefined};Object.assign(v,He)},performance:(v,{chunkGroup:E})=>{v.isOverSizeLimit=ae.isOverSizeLimit(E)}},module:{_:(v,E,P,R,$)=>{const{compilation:N,type:L}=P;const q=N.builtModules.has(E);const K=N.codeGeneratedModules.has(E);const ae=N.buildTimeExecutedModules.has(E);const ge={};for(const v of E.getSourceTypes()){ge[v]=E.size(v)}const be={type:"module",moduleType:E.type,layer:E.layer,size:E.size(),sizes:ge,built:q,codeGenerated:K,buildTimeExecuted:ae,cached:!q&&!K};Object.assign(v,be);if(q||K||R.cachedModules){Object.assign(v,$.create(`${L}$visible`,E,P))}}},module$visible:{_:(v,E,P,{requestShortener:R},$)=>{const{compilation:N,type:L,rootModules:q}=P;const{moduleGraph:K}=N;const ae=[];const be=K.getIssuer(E);let xe=be;while(xe){ae.push(xe);xe=K.getIssuer(xe)}ae.reverse();const ve=K.getProfile(E);const Ae=E.getErrors();const Ie=Ae!==undefined?ge(Ae):0;const He=E.getWarnings();const Qe=He!==undefined?ge(He):0;const Je={};for(const v of E.getSourceTypes()){Je[v]=E.size(v)}const Ve={identifier:E.identifier(),name:E.readableIdentifier(R),nameForCondition:E.nameForCondition(),index:K.getPreOrderIndex(E),preOrderIndex:K.getPreOrderIndex(E),index2:K.getPostOrderIndex(E),postOrderIndex:K.getPostOrderIndex(E),cacheable:E.buildInfo.cacheable,optional:E.isOptional(K),orphan:!L.endsWith("module.modules[].module$visible")&&N.chunkGraph.getNumberOfModuleChunks(E)===0,dependent:q?!q.has(E):undefined,issuer:be&&be.identifier(),issuerName:be&&be.readableIdentifier(R),issuerPath:be&&$.create(`${L.slice(0,-8)}.issuerPath`,ae,P),failed:Ie>0,errors:Ie,warnings:Qe};Object.assign(v,Ve);if(ve){v.profile=$.create(`${L.slice(0,-8)}.profile`,ve,P)}},ids:(v,E,{compilation:{chunkGraph:P,moduleGraph:R}})=>{v.id=P.getModuleId(E);const $=R.getIssuer(E);v.issuerId=$&&P.getModuleId($);v.chunks=Array.from(P.getOrderedModuleChunksIterable(E,xe),(v=>v.id))},moduleAssets:(v,E)=>{v.assets=E.buildInfo.assets?Object.keys(E.buildInfo.assets):[]},reasons:(v,E,P,R,$)=>{const{type:N,compilation:{moduleGraph:L}}=P;const q=$.create(`${N.slice(0,-8)}.reasons`,Array.from(L.getIncomingConnections(E)),P);const K=spaceLimited(q,R.reasonsSpace);v.reasons=K.children;v.filteredReasons=K.filteredChildren},usedExports:(v,E,{runtime:P,compilation:{moduleGraph:R}})=>{const $=R.getUsedExports(E,P);if($===null){v.usedExports=null}else if(typeof $==="boolean"){v.usedExports=$}else{v.usedExports=Array.from($)}},providedExports:(v,E,{compilation:{moduleGraph:P}})=>{const R=P.getProvidedExports(E);v.providedExports=Array.isArray(R)?R:null},optimizationBailout:(v,E,{compilation:{moduleGraph:P}},{requestShortener:R})=>{v.optimizationBailout=P.getOptimizationBailout(E).map((v=>{if(typeof v==="function")return v(R);return v}))},depth:(v,E,{compilation:{moduleGraph:P}})=>{v.depth=P.getDepth(E)},nestedModules:(v,E,P,R,$)=>{const{type:N}=P;const L=E.modules;if(Array.isArray(L)){const E=$.create(`${N.slice(0,-8)}.modules`,L,P);const q=spaceLimited(E,R.nestedModulesSpace);v.modules=q.children;v.filteredModules=q.filteredChildren}},source:(v,E)=>{const P=E.originalSource();if(P){v.source=P.source()}}},profile:{_:(v,E)=>{const P={total:E.factory+E.restoring+E.integration+E.building+E.storing,resolving:E.factory,restoring:E.restoring,building:E.building,integration:E.integration,storing:E.storing,additionalResolving:E.additionalFactories,additionalIntegration:E.additionalIntegration,factory:E.factory,dependencies:E.additionalFactories};Object.assign(v,P)}},moduleIssuer:{_:(v,E,P,{requestShortener:R},$)=>{const{compilation:N,type:L}=P;const{moduleGraph:q}=N;const K=q.getProfile(E);const ae={identifier:E.identifier(),name:E.readableIdentifier(R)};Object.assign(v,ae);if(K){v.profile=$.create(`${L}.profile`,K,P)}},ids:(v,E,{compilation:{chunkGraph:P}})=>{v.id=P.getModuleId(E)}},moduleReason:{_:(v,E,{runtime:P},{requestShortener:R})=>{const $=E.dependency;const q=$&&$ instanceof N?$:undefined;const K={moduleIdentifier:E.originModule?E.originModule.identifier():null,module:E.originModule?E.originModule.readableIdentifier(R):null,moduleName:E.originModule?E.originModule.readableIdentifier(R):null,resolvedModuleIdentifier:E.resolvedOriginModule?E.resolvedOriginModule.identifier():null,resolvedModule:E.resolvedOriginModule?E.resolvedOriginModule.readableIdentifier(R):null,type:E.dependency?E.dependency.type:null,active:E.isActive(P),explanation:E.explanation,userRequest:q&&q.userRequest||null};Object.assign(v,K);if(E.dependency){const P=L(E.dependency.loc);if(P){v.loc=P}}},ids:(v,E,{compilation:{chunkGraph:P}})=>{v.moduleId=E.originModule?P.getModuleId(E.originModule):null;v.resolvedModuleId=E.resolvedOriginModule?P.getModuleId(E.resolvedOriginModule):null}},chunk:{_:(v,E,{makePathsRelative:P,compilation:{chunkGraph:R}})=>{const $=E.getChildIdsByOrders(R);const N={rendered:E.rendered,initial:E.canBeInitial(),entry:E.hasRuntime(),recorded:K.wasChunkRecorded(E),reason:E.chunkReason,size:R.getChunkModulesSize(E),sizes:R.getChunkModulesSizes(E),names:E.name?[E.name]:[],idHints:Array.from(E.idNameHints),runtime:E.runtime===undefined?undefined:typeof E.runtime==="string"?[P(E.runtime)]:Array.from(E.runtime.sort(),P),files:Array.from(E.files),auxiliaryFiles:Array.from(E.auxiliaryFiles).sort(Ae),hash:E.renderedHash,childrenByOrder:$};Object.assign(v,N)},ids:(v,E)=>{v.id=E.id},chunkRelations:(v,E,{compilation:{chunkGraph:P}})=>{const R=new Set;const $=new Set;const N=new Set;for(const v of E.groupsIterable){for(const E of v.parentsIterable){for(const v of E.chunks){R.add(v.id)}}for(const E of v.childrenIterable){for(const v of E.chunks){$.add(v.id)}}for(const P of v.chunks){if(P!==E)N.add(P.id)}}v.siblings=Array.from(N).sort(Ae);v.parents=Array.from(R).sort(Ae);v.children=Array.from($).sort(Ae)},chunkModules:(v,E,P,R,$)=>{const{type:N,compilation:{chunkGraph:L}}=P;const q=L.getChunkModules(E);const K=$.create(`${N}.modules`,q,{...P,runtime:E.runtime,rootModules:new Set(L.getChunkRootModules(E))});const ae=spaceLimited(K,R.chunkModulesSpace);v.modules=ae.children;v.filteredModules=ae.filteredChildren},chunkOrigins:(v,E,P,R,$)=>{const{type:N,compilation:{chunkGraph:q}}=P;const K=new Set;const ae=[];for(const v of E.groupsIterable){ae.push(...v.origins)}const ge=ae.filter((v=>{const E=[v.module?q.getModuleId(v.module):undefined,L(v.loc),v.request].join();if(K.has(E))return false;K.add(E);return true}));v.origins=$.create(`${N}.origins`,ge,P)}},chunkOrigin:{_:(v,E,P,{requestShortener:R})=>{const $={module:E.module?E.module.identifier():"",moduleIdentifier:E.module?E.module.identifier():"",moduleName:E.module?E.module.readableIdentifier(R):"",loc:L(E.loc),request:E.request};Object.assign(v,$)},ids:(v,E,{compilation:{chunkGraph:P}})=>{v.moduleId=E.module?P.getModuleId(E.module):undefined}},error:Ke,warning:Ke,moduleTraceItem:{_:(v,{origin:E,module:P},R,{requestShortener:$},N)=>{const{type:L,compilation:{moduleGraph:q}}=R;v.originIdentifier=E.identifier();v.originName=E.readableIdentifier($);v.moduleIdentifier=P.identifier();v.moduleName=P.readableIdentifier($);const K=Array.from(q.getIncomingConnections(P)).filter((v=>v.resolvedOriginModule===E&&v.dependency)).map((v=>v.dependency));v.dependencies=N.create(`${L}.dependencies`,Array.from(new Set(K)),R)},ids:(v,{origin:E,module:P},{compilation:{chunkGraph:R}})=>{v.originId=R.getModuleId(E);v.moduleId=R.getModuleId(P)}},moduleTraceDependency:{_:(v,E)=>{v.loc=L(E.loc)}}};const Xe={"module.reasons":{"!orphanModules":(v,{compilation:{chunkGraph:E}})=>{if(v.originModule&&E.getNumberOfModuleChunks(v.originModule)===0){return false}}}};const Ze={"compilation.warnings":{warningsFilter:R.deprecate(((v,E,{warningsFilter:P})=>{const R=Object.keys(v).map((E=>`${v[E]}`)).join("\n");return!P.some((E=>E(v,R)))}),"config.stats.warningsFilter is deprecated in favor of config.ignoreWarnings","DEP_WEBPACK_STATS_WARNINGS_FILTER")}};const et={_:(v,{compilation:{moduleGraph:E}})=>{v.push(He((v=>E.getDepth(v)),ve),He((v=>E.getPreOrderIndex(v)),ve),He((v=>v.identifier()),Ae))}};const tt={"compilation.chunks":{_:v=>{v.push(He((v=>v.id),Ae))}},"compilation.modules":et,"chunk.rootModules":et,"chunk.modules":et,"module.modules":et,"module.reasons":{_:(v,{compilation:{chunkGraph:E}})=>{v.push(He((v=>v.originModule),Qe));v.push(He((v=>v.resolvedOriginModule),Qe));v.push(He((v=>v.dependency),Ie(He((v=>v.loc),be),He((v=>v.type),Ae))))}},"chunk.origins":{_:(v,{compilation:{chunkGraph:E}})=>{v.push(He((v=>v.module?E.getModuleId(v.module):undefined),Ae),He((v=>L(v.loc)),Ae),He((v=>v.request),Ae))}}};const getItemSize=v=>!v.children?1:v.filteredChildren?2+getTotalSize(v.children):1+getTotalSize(v.children);const getTotalSize=v=>{let E=0;for(const P of v){E+=getItemSize(P)}return E};const getTotalItems=v=>{let E=0;for(const P of v){if(!P.children&&!P.filteredChildren){E++}else{if(P.children)E+=getTotalItems(P.children);if(P.filteredChildren)E+=P.filteredChildren}}return E};const collapse=v=>{const E=[];for(const P of v){if(P.children){let v=P.filteredChildren||0;v+=getTotalItems(P.children);E.push({...P,children:undefined,filteredChildren:v})}else{E.push(P)}}return E};const spaceLimited=(v,E,P=false)=>{if(E<1){return{children:undefined,filteredChildren:getTotalItems(v)}}let R=undefined;let $=undefined;const N=[];const L=[];const q=[];let K=0;for(const E of v){if(!E.children&&!E.filteredChildren){q.push(E)}else{N.push(E);const v=getItemSize(E);L.push(v);K+=v}}if(K+q.length<=E){R=N.length>0?N.concat(q):q}else if(N.length===0){const v=E-(P?0:1);$=q.length-v;q.length=v;R=q}else{const ae=N.length+(P||q.length===0?0:1);if(ae0){const E=Math.max(...L);if(E{let P=0;if(v.length+1>=E)return[v.map((v=>{if(typeof v==="string"||!v.details)return v;P++;return{...v,details:""}})),P];let R=v.length;let $=v;let N=0;for(;NE){$=N>0?v.slice(0,N):[];const L=R-E+1;const q=v[N++];$.push({...q,details:q.details.split("\n").slice(0,-L).join("\n"),filteredDetails:L});P=v.length-N;for(;N{let P=0;for(const E of v){P+=E.size}return{size:P}};const moduleGroup=(v,E)=>{let P=0;const R={};for(const E of v){P+=E.size;for(const v of Object.keys(E.sizes)){R[v]=(R[v]||0)+E.sizes[v]}}return{size:P,sizes:R}};const reasonGroup=(v,E)=>{let P=false;for(const E of v){P=P||E.active}return{active:P}};const nt=/(\.[^.]+?)(?:\?|(?: \+ \d+ modules?)?$)/;const st=/(.+)[/\\][^/\\]+?(?:\?|(?: \+ \d+ modules?)?$)/;const rt={_:(v,E,P)=>{const groupByFlag=(E,P)=>{v.push({getKeys:v=>v[E]?["1"]:undefined,getOptions:()=>({groupChildren:!P,force:P}),createGroup:(v,R,$)=>P?{type:"assets by status",[E]:!!v,filteredChildren:$.length,...assetGroup(R,$)}:{type:"assets by status",[E]:!!v,children:R,...assetGroup(R,$)}})};const{groupAssetsByEmitStatus:R,groupAssetsByPath:$,groupAssetsByExtension:N}=P;if(R){groupByFlag("emitted");groupByFlag("comparedForEmit");groupByFlag("isOverSizeLimit")}if(R||!P.cachedAssets){groupByFlag("cached",!P.cachedAssets)}if($||N){v.push({getKeys:v=>{const E=N&&nt.exec(v.name);const P=E?E[1]:"";const R=$&&st.exec(v.name);const L=R?R[1].split(/[/\\]/):[];const q=[];if($){q.push(".");if(P)q.push(L.length?`${L.join("/")}/*${P}`:`*${P}`);while(L.length>0){q.push(L.join("/")+"/");L.pop()}}else{if(P)q.push(`*${P}`)}return q},createGroup:(v,E,P)=>({type:$?"assets by path":"assets by extension",name:v,children:E,...assetGroup(E,P)})})}},groupAssetsByInfo:(v,E,P)=>{const groupByAssetInfoFlag=E=>{v.push({getKeys:v=>v.info&&v.info[E]?["1"]:undefined,createGroup:(v,P,R)=>({type:"assets by info",info:{[E]:!!v},children:P,...assetGroup(P,R)})})};groupByAssetInfoFlag("immutable");groupByAssetInfoFlag("development");groupByAssetInfoFlag("hotModuleReplacement")},groupAssetsByChunk:(v,E,P)=>{const groupByNames=E=>{v.push({getKeys:v=>v[E],createGroup:(v,P,R)=>({type:"assets by chunk",[E]:[v],children:P,...assetGroup(P,R)})})};groupByNames("chunkNames");groupByNames("auxiliaryChunkNames");groupByNames("chunkIdHints");groupByNames("auxiliaryChunkIdHints")},excludeAssets:(v,E,{excludeAssets:P})=>{v.push({getKeys:v=>{const E=v.name;const R=P.some((P=>P(E,v)));if(R)return["excluded"]},getOptions:()=>({groupChildren:false,force:true}),createGroup:(v,E,P)=>({type:"hidden assets",filteredChildren:P.length,...assetGroup(E,P)})})}};const MODULES_GROUPERS=v=>({_:(v,E,P)=>{const groupByFlag=(E,P,R)=>{v.push({getKeys:v=>v[E]?["1"]:undefined,getOptions:()=>({groupChildren:!R,force:R}),createGroup:(v,$,N)=>({type:P,[E]:!!v,...R?{filteredChildren:N.length}:{children:$},...moduleGroup($,N)})})};const{groupModulesByCacheStatus:R,groupModulesByLayer:N,groupModulesByAttributes:L,groupModulesByType:q,groupModulesByPath:K,groupModulesByExtension:ae}=P;if(L){groupByFlag("errors","modules with errors");groupByFlag("warnings","modules with warnings");groupByFlag("assets","modules with assets");groupByFlag("optional","optional modules")}if(R){groupByFlag("cacheable","cacheable modules");groupByFlag("built","built modules");groupByFlag("codeGenerated","code generated modules")}if(R||!P.cachedModules){groupByFlag("cached","cached modules",!P.cachedModules)}if(L||!P.orphanModules){groupByFlag("orphan","orphan modules",!P.orphanModules)}if(L||!P.dependentModules){groupByFlag("dependent","dependent modules",!P.dependentModules)}if(q||!P.runtimeModules){v.push({getKeys:v=>{if(!v.moduleType)return;if(q){return[v.moduleType.split("/",1)[0]]}else if(v.moduleType===$){return[$]}},getOptions:v=>{const E=v===$&&!P.runtimeModules;return{groupChildren:!E,force:E}},createGroup:(v,E,R)=>{const N=v===$&&!P.runtimeModules;return{type:`${v} modules`,moduleType:v,...N?{filteredChildren:R.length}:{children:E},...moduleGroup(E,R)}}})}if(N){v.push({getKeys:v=>[v.layer],createGroup:(v,E,P)=>({type:"modules by layer",layer:v,children:E,...moduleGroup(E,P)})})}if(K||ae){v.push({getKeys:v=>{if(!v.name)return;const E=Ve(v.name.split("!").pop()).path;const P=/^data:[^,;]+/.exec(E);if(P)return[P[0]];const R=ae&&nt.exec(E);const $=R?R[1]:"";const N=K&&st.exec(E);const L=N?N[1].split(/[/\\]/):[];const q=[];if(K){if($)q.push(L.length?`${L.join("/")}/*${$}`:`*${$}`);while(L.length>0){q.push(L.join("/")+"/");L.pop()}}else{if($)q.push(`*${$}`)}return q},createGroup:(v,E,P)=>{const R=v.startsWith("data:");return{type:R?"modules by mime type":K?"modules by path":"modules by extension",name:R?v.slice(5):v,children:E,...moduleGroup(E,P)}}})}},excludeModules:(E,P,{excludeModules:R})=>{E.push({getKeys:E=>{const P=E.name;if(P){const $=R.some((R=>R(P,E,v)));if($)return["1"]}},getOptions:()=>({groupChildren:false,force:true}),createGroup:(v,E,P)=>({type:"hidden modules",filteredChildren:E.length,...moduleGroup(E,P)})})}});const ot={"compilation.assets":rt,"asset.related":rt,"compilation.modules":MODULES_GROUPERS("module"),"chunk.modules":MODULES_GROUPERS("chunk"),"chunk.rootModules":MODULES_GROUPERS("root-of-chunk"),"module.modules":MODULES_GROUPERS("nested"),"module.reasons":{groupReasonsByOrigin:v=>{v.push({getKeys:v=>[v.module],createGroup:(v,E,P)=>({type:"from origin",module:v,children:E,...reasonGroup(E,P)})})}}};const normalizeFieldKey=v=>{if(v[0]==="!"){return v.slice(1)}return v};const sortOrderRegular=v=>{if(v[0]==="!"){return false}return true};const sortByField=v=>{if(!v){const noSort=(v,E)=>0;return noSort}const E=normalizeFieldKey(v);let P=He((v=>v[E]),Ae);const R=sortOrderRegular(v);if(!R){const v=P;P=(E,P)=>v(P,E)}return P};const it={assetsSort:(v,E,{assetsSort:P})=>{v.push(sortByField(P))},_:v=>{v.push(He((v=>v.name),Ae))}};const at={"compilation.chunks":{chunksSort:(v,E,{chunksSort:P})=>{v.push(sortByField(P))}},"compilation.modules":{modulesSort:(v,E,{modulesSort:P})=>{v.push(sortByField(P))}},"chunk.modules":{chunkModulesSort:(v,E,{chunkModulesSort:P})=>{v.push(sortByField(P))}},"module.modules":{nestedModulesSort:(v,E,{nestedModulesSort:P})=>{v.push(sortByField(P))}},"compilation.assets":it,"asset.related":it};const iterateConfig=(v,E,P)=>{for(const R of Object.keys(v)){const $=v[R];for(const v of Object.keys($)){if(v!=="_"){if(v.startsWith("!")){if(E[v.slice(1)])continue}else{const P=E[v];if(P===false||P===undefined||Array.isArray(P)&&P.length===0)continue}}P(R,$[v])}}};const ct={"compilation.children[]":"compilation","compilation.modules[]":"module","compilation.entrypoints[]":"chunkGroup","compilation.namedChunkGroups[]":"chunkGroup","compilation.errors[]":"error","compilation.warnings[]":"warning","chunk.modules[]":"module","chunk.rootModules[]":"module","chunk.origins[]":"chunkOrigin","compilation.chunks[]":"chunk","compilation.assets[]":"asset","asset.related[]":"asset","module.issuerPath[]":"moduleIssuer","module.reasons[]":"moduleReason","module.modules[]":"module","module.children[]":"module","moduleTrace[]":"moduleTraceItem","moduleTraceItem.dependencies[]":"moduleTraceDependency"};const mergeToObject=v=>{const E=Object.create(null);for(const P of v){E[P.name]=P}return E};const lt={"compilation.entrypoints":mergeToObject,"compilation.namedChunkGroups":mergeToObject};class DefaultStatsFactoryPlugin{apply(v){v.hooks.compilation.tap("DefaultStatsFactoryPlugin",(v=>{v.hooks.statsFactory.tap("DefaultStatsFactoryPlugin",((E,P,R)=>{iterateConfig(Ye,P,((v,R)=>{E.hooks.extract.for(v).tap("DefaultStatsFactoryPlugin",((v,$,N)=>R(v,$,N,P,E)))}));iterateConfig(Xe,P,((v,R)=>{E.hooks.filter.for(v).tap("DefaultStatsFactoryPlugin",((v,E,$,N)=>R(v,E,P,$,N)))}));iterateConfig(Ze,P,((v,R)=>{E.hooks.filterResults.for(v).tap("DefaultStatsFactoryPlugin",((v,E,$,N)=>R(v,E,P,$,N)))}));iterateConfig(tt,P,((v,R)=>{E.hooks.sort.for(v).tap("DefaultStatsFactoryPlugin",((v,E)=>R(v,E,P)))}));iterateConfig(at,P,((v,R)=>{E.hooks.sortResults.for(v).tap("DefaultStatsFactoryPlugin",((v,E)=>R(v,E,P)))}));iterateConfig(ot,P,((v,R)=>{E.hooks.groupResults.for(v).tap("DefaultStatsFactoryPlugin",((v,E)=>R(v,E,P)))}));for(const v of Object.keys(ct)){const P=ct[v];E.hooks.getItemName.for(v).tap("DefaultStatsFactoryPlugin",(()=>P))}for(const v of Object.keys(lt)){const P=lt[v];E.hooks.merge.for(v).tap("DefaultStatsFactoryPlugin",P)}if(P.children){if(Array.isArray(P.children)){E.hooks.getItemFactory.for("compilation.children[].compilation").tap("DefaultStatsFactoryPlugin",((E,{_index:$})=>{if($$))}}}))}))}}v.exports=DefaultStatsFactoryPlugin},72638:function(v,E,P){"use strict";const R=P(55071);const applyDefaults=(v,E)=>{for(const P of Object.keys(E)){if(typeof v[P]==="undefined"){v[P]=E[P]}}};const $={verbose:{hash:true,builtAt:true,relatedAssets:true,entrypoints:true,chunkGroups:true,ids:true,modules:false,chunks:true,chunkRelations:true,chunkModules:true,dependentModules:true,chunkOrigins:true,depth:true,env:true,reasons:true,usedExports:true,providedExports:true,optimizationBailout:true,errorDetails:true,errorStack:true,publicPath:true,logging:"verbose",orphanModules:true,runtimeModules:true,exclude:false,errorsSpace:Infinity,warningsSpace:Infinity,modulesSpace:Infinity,chunkModulesSpace:Infinity,assetsSpace:Infinity,reasonsSpace:Infinity,children:true},detailed:{hash:true,builtAt:true,relatedAssets:true,entrypoints:true,chunkGroups:true,ids:true,chunks:true,chunkRelations:true,chunkModules:false,chunkOrigins:true,depth:true,usedExports:true,providedExports:true,optimizationBailout:true,errorDetails:true,publicPath:true,logging:true,runtimeModules:true,exclude:false,errorsSpace:1e3,warningsSpace:1e3,modulesSpace:1e3,assetsSpace:1e3,reasonsSpace:1e3},minimal:{all:false,version:true,timings:true,modules:true,errorsSpace:0,warningsSpace:0,modulesSpace:0,assets:true,assetsSpace:0,errors:true,errorsCount:true,warnings:true,warningsCount:true,logging:"warn"},"errors-only":{all:false,errors:true,errorsCount:true,errorsSpace:Infinity,moduleTrace:true,logging:"error"},"errors-warnings":{all:false,errors:true,errorsCount:true,errorsSpace:Infinity,warnings:true,warningsCount:true,warningsSpace:Infinity,logging:"warn"},summary:{all:false,version:true,errorsCount:true,warningsCount:true},none:{all:false}};const NORMAL_ON=({all:v})=>v!==false;const NORMAL_OFF=({all:v})=>v===true;const ON_FOR_TO_STRING=({all:v},{forToString:E})=>E?v!==false:v===true;const OFF_FOR_TO_STRING=({all:v},{forToString:E})=>E?v===true:v!==false;const AUTO_FOR_TO_STRING=({all:v},{forToString:E})=>{if(v===false)return false;if(v===true)return true;if(E)return"auto";return true};const N={context:(v,E,P)=>P.compiler.context,requestShortener:(v,E,P)=>P.compiler.context===v.context?P.requestShortener:new R(v.context,P.compiler.root),performance:NORMAL_ON,hash:OFF_FOR_TO_STRING,env:NORMAL_OFF,version:NORMAL_ON,timings:NORMAL_ON,builtAt:OFF_FOR_TO_STRING,assets:NORMAL_ON,entrypoints:AUTO_FOR_TO_STRING,chunkGroups:OFF_FOR_TO_STRING,chunkGroupAuxiliary:OFF_FOR_TO_STRING,chunkGroupChildren:OFF_FOR_TO_STRING,chunkGroupMaxAssets:(v,{forToString:E})=>E?5:Infinity,chunks:OFF_FOR_TO_STRING,chunkRelations:OFF_FOR_TO_STRING,chunkModules:({all:v,modules:E})=>{if(v===false)return false;if(v===true)return true;if(E)return false;return true},dependentModules:OFF_FOR_TO_STRING,chunkOrigins:OFF_FOR_TO_STRING,ids:OFF_FOR_TO_STRING,modules:({all:v,chunks:E,chunkModules:P},{forToString:R})=>{if(v===false)return false;if(v===true)return true;if(R&&E&&P)return false;return true},nestedModules:OFF_FOR_TO_STRING,groupModulesByType:ON_FOR_TO_STRING,groupModulesByCacheStatus:ON_FOR_TO_STRING,groupModulesByLayer:ON_FOR_TO_STRING,groupModulesByAttributes:ON_FOR_TO_STRING,groupModulesByPath:ON_FOR_TO_STRING,groupModulesByExtension:ON_FOR_TO_STRING,modulesSpace:(v,{forToString:E})=>E?15:Infinity,chunkModulesSpace:(v,{forToString:E})=>E?10:Infinity,nestedModulesSpace:(v,{forToString:E})=>E?10:Infinity,relatedAssets:OFF_FOR_TO_STRING,groupAssetsByEmitStatus:ON_FOR_TO_STRING,groupAssetsByInfo:ON_FOR_TO_STRING,groupAssetsByPath:ON_FOR_TO_STRING,groupAssetsByExtension:ON_FOR_TO_STRING,groupAssetsByChunk:ON_FOR_TO_STRING,assetsSpace:(v,{forToString:E})=>E?15:Infinity,orphanModules:OFF_FOR_TO_STRING,runtimeModules:({all:v,runtime:E},{forToString:P})=>E!==undefined?E:P?v===true:v!==false,cachedModules:({all:v,cached:E},{forToString:P})=>E!==undefined?E:P?v===true:v!==false,moduleAssets:OFF_FOR_TO_STRING,depth:OFF_FOR_TO_STRING,cachedAssets:OFF_FOR_TO_STRING,reasons:OFF_FOR_TO_STRING,reasonsSpace:(v,{forToString:E})=>E?15:Infinity,groupReasonsByOrigin:ON_FOR_TO_STRING,usedExports:OFF_FOR_TO_STRING,providedExports:OFF_FOR_TO_STRING,optimizationBailout:OFF_FOR_TO_STRING,children:OFF_FOR_TO_STRING,source:NORMAL_OFF,moduleTrace:NORMAL_ON,errors:NORMAL_ON,errorsCount:NORMAL_ON,errorDetails:AUTO_FOR_TO_STRING,errorStack:OFF_FOR_TO_STRING,warnings:NORMAL_ON,warningsCount:NORMAL_ON,publicPath:OFF_FOR_TO_STRING,logging:({all:v},{forToString:E})=>E&&v!==false?"info":false,loggingDebug:()=>[],loggingTrace:OFF_FOR_TO_STRING,excludeModules:()=>[],excludeAssets:()=>[],modulesSort:()=>"depth",chunkModulesSort:()=>"name",nestedModulesSort:()=>false,chunksSort:()=>false,assetsSort:()=>"!size",outputPath:OFF_FOR_TO_STRING,colors:()=>false};const normalizeFilter=v=>{if(typeof v==="string"){const E=new RegExp(`[\\\\/]${v.replace(/[-[\]{}()*+?.\\^$|]/g,"\\$&")}([\\\\/]|$|!|\\?)`);return v=>E.test(v)}if(v&&typeof v==="object"&&typeof v.test==="function"){return E=>v.test(E)}if(typeof v==="function"){return v}if(typeof v==="boolean"){return()=>v}};const L={excludeModules:v=>{if(!Array.isArray(v)){v=v?[v]:[]}return v.map(normalizeFilter)},excludeAssets:v=>{if(!Array.isArray(v)){v=v?[v]:[]}return v.map(normalizeFilter)},warningsFilter:v=>{if(!Array.isArray(v)){v=v?[v]:[]}return v.map((v=>{if(typeof v==="string"){return(E,P)=>P.includes(v)}if(v instanceof RegExp){return(E,P)=>v.test(P)}if(typeof v==="function"){return v}throw new Error(`Can only filter warnings with Strings or RegExps. (Given: ${v})`)}))},logging:v=>{if(v===true)v="log";return v},loggingDebug:v=>{if(!Array.isArray(v)){v=v?[v]:[]}return v.map(normalizeFilter)}};class DefaultStatsPresetPlugin{apply(v){v.hooks.compilation.tap("DefaultStatsPresetPlugin",(v=>{for(const E of Object.keys($)){const P=$[E];v.hooks.statsPreset.for(E).tap("DefaultStatsPresetPlugin",((v,E)=>{applyDefaults(v,P)}))}v.hooks.statsNormalize.tap("DefaultStatsPresetPlugin",((E,P)=>{for(const R of Object.keys(N)){if(E[R]===undefined)E[R]=N[R](E,P,v)}for(const v of Object.keys(L)){E[v]=L[v](E[v])}}))}))}}v.exports=DefaultStatsPresetPlugin},78414:function(v,E,P){"use strict";const R=16;const $=80;const plural=(v,E,P)=>v===1?E:P;const printSizes=(v,{formatSize:E=(v=>`${v}`)})=>{const P=Object.keys(v);if(P.length>1){return P.map((P=>`${E(v[P])} (${P})`)).join(" ")}else if(P.length===1){return E(v[P[0]])}};const getResourceName=v=>{const E=/^data:[^,]+,/.exec(v);if(!E)return v;const P=E[0].length+R;if(v.length{const[,E,P]=/^(.*!)?([^!]*)$/.exec(v);if(P.length>$){const v=`${P.slice(0,Math.min(P.length-14,$))}...(truncated)`;return[E,getResourceName(v)]}return[E,getResourceName(P)]};const mapLines=(v,E)=>v.split("\n").map(E).join("\n");const twoDigit=v=>v>=10?`${v}`:`0${v}`;const isValidId=v=>typeof v==="number"||v;const moreCount=(v,E)=>v&&v.length>0?`+ ${E}`:`${E}`;const N={"compilation.summary!":(v,{type:E,bold:P,green:R,red:$,yellow:N,formatDateTime:L,formatTime:q,compilation:{name:K,hash:ae,version:ge,time:be,builtAt:xe,errorsCount:ve,warningsCount:Ae}})=>{const Ie=E==="compilation.summary!";const He=Ae>0?N(`${Ae} ${plural(Ae,"warning","warnings")}`):"";const Qe=ve>0?$(`${ve} ${plural(ve,"error","errors")}`):"";const Je=Ie&&be?` in ${q(be)}`:"";const Ve=ae?` (${ae})`:"";const Ke=Ie&&xe?`${L(xe)}: `:"";const Ye=Ie&&ge?`webpack ${ge}`:"";const Xe=Ie&&K?P(K):K?`Child ${P(K)}`:Ie?"":"Child";const Ze=Xe&&Ye?`${Xe} (${Ye})`:Ye||Xe||"webpack";let et;if(Qe&&He){et=`compiled with ${Qe} and ${He}`}else if(Qe){et=`compiled with ${Qe}`}else if(He){et=`compiled with ${He}`}else if(ve===0&&Ae===0){et=`compiled ${R("successfully")}`}else{et=`compiled`}if(Ke||Ye||Qe||He||ve===0&&Ae===0||Je||Ve)return`${Ke}${Ze} ${et}${Je}${Ve}`},"compilation.filteredWarningDetailsCount":v=>v?`${v} ${plural(v,"warning has","warnings have")} detailed information that is not shown.\nUse 'stats.errorDetails: true' resp. '--stats-error-details' to show it.`:undefined,"compilation.filteredErrorDetailsCount":(v,{yellow:E})=>v?E(`${v} ${plural(v,"error has","errors have")} detailed information that is not shown.\nUse 'stats.errorDetails: true' resp. '--stats-error-details' to show it.`):undefined,"compilation.env":(v,{bold:E})=>v?`Environment (--env): ${E(JSON.stringify(v,null,2))}`:undefined,"compilation.publicPath":(v,{bold:E})=>`PublicPath: ${E(v||"(none)")}`,"compilation.entrypoints":(v,E,P)=>Array.isArray(v)?undefined:P.print(E.type,Object.values(v),{...E,chunkGroupKind:"Entrypoint"}),"compilation.namedChunkGroups":(v,E,P)=>{if(!Array.isArray(v)){const{compilation:{entrypoints:R}}=E;let $=Object.values(v);if(R){$=$.filter((v=>!Object.prototype.hasOwnProperty.call(R,v.name)))}return P.print(E.type,$,{...E,chunkGroupKind:"Chunk Group"})}},"compilation.assetsByChunkName":()=>"","compilation.filteredModules":(v,{compilation:{modules:E}})=>v>0?`${moreCount(E,v)} ${plural(v,"module","modules")}`:undefined,"compilation.filteredAssets":(v,{compilation:{assets:E}})=>v>0?`${moreCount(E,v)} ${plural(v,"asset","assets")}`:undefined,"compilation.logging":(v,E,P)=>Array.isArray(v)?undefined:P.print(E.type,Object.entries(v).map((([v,E])=>({...E,name:v}))),E),"compilation.warningsInChildren!":(v,{yellow:E,compilation:P})=>{if(!P.children&&P.warningsCount>0&&P.warnings){const v=P.warningsCount-P.warnings.length;if(v>0){return E(`${v} ${plural(v,"WARNING","WARNINGS")} in child compilations${P.children?"":" (Use 'stats.children: true' resp. '--stats-children' for more details)"}`)}}},"compilation.errorsInChildren!":(v,{red:E,compilation:P})=>{if(!P.children&&P.errorsCount>0&&P.errors){const v=P.errorsCount-P.errors.length;if(v>0){return E(`${v} ${plural(v,"ERROR","ERRORS")} in child compilations${P.children?"":" (Use 'stats.children: true' resp. '--stats-children' for more details)"}`)}}},"asset.type":v=>v,"asset.name":(v,{formatFilename:E,asset:{isOverSizeLimit:P}})=>E(v,P),"asset.size":(v,{asset:{isOverSizeLimit:E},yellow:P,green:R,formatSize:$})=>E?P($(v)):$(v),"asset.emitted":(v,{green:E,formatFlag:P})=>v?E(P("emitted")):undefined,"asset.comparedForEmit":(v,{yellow:E,formatFlag:P})=>v?E(P("compared for emit")):undefined,"asset.cached":(v,{green:E,formatFlag:P})=>v?E(P("cached")):undefined,"asset.isOverSizeLimit":(v,{yellow:E,formatFlag:P})=>v?E(P("big")):undefined,"asset.info.immutable":(v,{green:E,formatFlag:P})=>v?E(P("immutable")):undefined,"asset.info.javascriptModule":(v,{formatFlag:E})=>v?E("javascript module"):undefined,"asset.info.sourceFilename":(v,{formatFlag:E})=>v?E(v===true?"from source file":`from: ${v}`):undefined,"asset.info.development":(v,{green:E,formatFlag:P})=>v?E(P("dev")):undefined,"asset.info.hotModuleReplacement":(v,{green:E,formatFlag:P})=>v?E(P("hmr")):undefined,"asset.separator!":()=>"\n","asset.filteredRelated":(v,{asset:{related:E}})=>v>0?`${moreCount(E,v)} related ${plural(v,"asset","assets")}`:undefined,"asset.filteredChildren":(v,{asset:{children:E}})=>v>0?`${moreCount(E,v)} ${plural(v,"asset","assets")}`:undefined,assetChunk:(v,{formatChunkId:E})=>E(v),assetChunkName:v=>v,assetChunkIdHint:v=>v,"module.type":v=>v!=="module"?v:undefined,"module.id":(v,{formatModuleId:E})=>isValidId(v)?E(v):undefined,"module.name":(v,{bold:E})=>{const[P,R]=getModuleName(v);return`${P||""}${E(R||"")}`},"module.identifier":v=>undefined,"module.layer":(v,{formatLayer:E})=>v?E(v):undefined,"module.sizes":printSizes,"module.chunks[]":(v,{formatChunkId:E})=>E(v),"module.depth":(v,{formatFlag:E})=>v!==null?E(`depth ${v}`):undefined,"module.cacheable":(v,{formatFlag:E,red:P})=>v===false?P(E("not cacheable")):undefined,"module.orphan":(v,{formatFlag:E,yellow:P})=>v?P(E("orphan")):undefined,"module.runtime":(v,{formatFlag:E,yellow:P})=>v?P(E("runtime")):undefined,"module.optional":(v,{formatFlag:E,yellow:P})=>v?P(E("optional")):undefined,"module.dependent":(v,{formatFlag:E,cyan:P})=>v?P(E("dependent")):undefined,"module.built":(v,{formatFlag:E,yellow:P})=>v?P(E("built")):undefined,"module.codeGenerated":(v,{formatFlag:E,yellow:P})=>v?P(E("code generated")):undefined,"module.buildTimeExecuted":(v,{formatFlag:E,green:P})=>v?P(E("build time executed")):undefined,"module.cached":(v,{formatFlag:E,green:P})=>v?P(E("cached")):undefined,"module.assets":(v,{formatFlag:E,magenta:P})=>v&&v.length?P(E(`${v.length} ${plural(v.length,"asset","assets")}`)):undefined,"module.warnings":(v,{formatFlag:E,yellow:P})=>v===true?P(E("warnings")):v?P(E(`${v} ${plural(v,"warning","warnings")}`)):undefined,"module.errors":(v,{formatFlag:E,red:P})=>v===true?P(E("errors")):v?P(E(`${v} ${plural(v,"error","errors")}`)):undefined,"module.providedExports":(v,{formatFlag:E,cyan:P})=>{if(Array.isArray(v)){if(v.length===0)return P(E("no exports"));return P(E(`exports: ${v.join(", ")}`))}},"module.usedExports":(v,{formatFlag:E,cyan:P,module:R})=>{if(v!==true){if(v===null)return P(E("used exports unknown"));if(v===false)return P(E("module unused"));if(Array.isArray(v)){if(v.length===0)return P(E("no exports used"));const $=Array.isArray(R.providedExports)?R.providedExports.length:null;if($!==null&&$===v.length){return P(E("all exports used"))}else{return P(E(`only some exports used: ${v.join(", ")}`))}}}},"module.optimizationBailout[]":(v,{yellow:E})=>E(v),"module.issuerPath":(v,{module:E})=>E.profile?undefined:"","module.profile":v=>undefined,"module.filteredModules":(v,{module:{modules:E}})=>v>0?`${moreCount(E,v)} nested ${plural(v,"module","modules")}`:undefined,"module.filteredReasons":(v,{module:{reasons:E}})=>v>0?`${moreCount(E,v)} ${plural(v,"reason","reasons")}`:undefined,"module.filteredChildren":(v,{module:{children:E}})=>v>0?`${moreCount(E,v)} ${plural(v,"module","modules")}`:undefined,"module.separator!":()=>"\n","moduleIssuer.id":(v,{formatModuleId:E})=>E(v),"moduleIssuer.profile.total":(v,{formatTime:E})=>E(v),"moduleReason.type":v=>v,"moduleReason.userRequest":(v,{cyan:E})=>E(getResourceName(v)),"moduleReason.moduleId":(v,{formatModuleId:E})=>isValidId(v)?E(v):undefined,"moduleReason.module":(v,{magenta:E})=>E(v),"moduleReason.loc":v=>v,"moduleReason.explanation":(v,{cyan:E})=>E(v),"moduleReason.active":(v,{formatFlag:E})=>v?undefined:E("inactive"),"moduleReason.resolvedModule":(v,{magenta:E})=>E(v),"moduleReason.filteredChildren":(v,{moduleReason:{children:E}})=>v>0?`${moreCount(E,v)} ${plural(v,"reason","reasons")}`:undefined,"module.profile.total":(v,{formatTime:E})=>E(v),"module.profile.resolving":(v,{formatTime:E})=>`resolving: ${E(v)}`,"module.profile.restoring":(v,{formatTime:E})=>`restoring: ${E(v)}`,"module.profile.integration":(v,{formatTime:E})=>`integration: ${E(v)}`,"module.profile.building":(v,{formatTime:E})=>`building: ${E(v)}`,"module.profile.storing":(v,{formatTime:E})=>`storing: ${E(v)}`,"module.profile.additionalResolving":(v,{formatTime:E})=>v?`additional resolving: ${E(v)}`:undefined,"module.profile.additionalIntegration":(v,{formatTime:E})=>v?`additional integration: ${E(v)}`:undefined,"chunkGroup.kind!":(v,{chunkGroupKind:E})=>E,"chunkGroup.separator!":()=>"\n","chunkGroup.name":(v,{bold:E})=>E(v),"chunkGroup.isOverSizeLimit":(v,{formatFlag:E,yellow:P})=>v?P(E("big")):undefined,"chunkGroup.assetsSize":(v,{formatSize:E})=>v?E(v):undefined,"chunkGroup.auxiliaryAssetsSize":(v,{formatSize:E})=>v?`(${E(v)})`:undefined,"chunkGroup.filteredAssets":(v,{chunkGroup:{assets:E}})=>v>0?`${moreCount(E,v)} ${plural(v,"asset","assets")}`:undefined,"chunkGroup.filteredAuxiliaryAssets":(v,{chunkGroup:{auxiliaryAssets:E}})=>v>0?`${moreCount(E,v)} auxiliary ${plural(v,"asset","assets")}`:undefined,"chunkGroup.is!":()=>"=","chunkGroupAsset.name":(v,{green:E})=>E(v),"chunkGroupAsset.size":(v,{formatSize:E,chunkGroup:P})=>P.assets.length>1||P.auxiliaryAssets&&P.auxiliaryAssets.length>0?E(v):undefined,"chunkGroup.children":(v,E,P)=>Array.isArray(v)?undefined:P.print(E.type,Object.keys(v).map((E=>({type:E,children:v[E]}))),E),"chunkGroupChildGroup.type":v=>`${v}:`,"chunkGroupChild.assets[]":(v,{formatFilename:E})=>E(v),"chunkGroupChild.chunks[]":(v,{formatChunkId:E})=>E(v),"chunkGroupChild.name":v=>v?`(name: ${v})`:undefined,"chunk.id":(v,{formatChunkId:E})=>E(v),"chunk.files[]":(v,{formatFilename:E})=>E(v),"chunk.names[]":v=>v,"chunk.idHints[]":v=>v,"chunk.runtime[]":v=>v,"chunk.sizes":(v,E)=>printSizes(v,E),"chunk.parents[]":(v,E)=>E.formatChunkId(v,"parent"),"chunk.siblings[]":(v,E)=>E.formatChunkId(v,"sibling"),"chunk.children[]":(v,E)=>E.formatChunkId(v,"child"),"chunk.childrenByOrder":(v,E,P)=>Array.isArray(v)?undefined:P.print(E.type,Object.keys(v).map((E=>({type:E,children:v[E]}))),E),"chunk.childrenByOrder[].type":v=>`${v}:`,"chunk.childrenByOrder[].children[]":(v,{formatChunkId:E})=>isValidId(v)?E(v):undefined,"chunk.entry":(v,{formatFlag:E,yellow:P})=>v?P(E("entry")):undefined,"chunk.initial":(v,{formatFlag:E,yellow:P})=>v?P(E("initial")):undefined,"chunk.rendered":(v,{formatFlag:E,green:P})=>v?P(E("rendered")):undefined,"chunk.recorded":(v,{formatFlag:E,green:P})=>v?P(E("recorded")):undefined,"chunk.reason":(v,{yellow:E})=>v?E(v):undefined,"chunk.filteredModules":(v,{chunk:{modules:E}})=>v>0?`${moreCount(E,v)} chunk ${plural(v,"module","modules")}`:undefined,"chunk.separator!":()=>"\n","chunkOrigin.request":v=>v,"chunkOrigin.moduleId":(v,{formatModuleId:E})=>isValidId(v)?E(v):undefined,"chunkOrigin.moduleName":(v,{bold:E})=>E(v),"chunkOrigin.loc":v=>v,"error.compilerPath":(v,{bold:E})=>v?E(`(${v})`):undefined,"error.chunkId":(v,{formatChunkId:E})=>isValidId(v)?E(v):undefined,"error.chunkEntry":(v,{formatFlag:E})=>v?E("entry"):undefined,"error.chunkInitial":(v,{formatFlag:E})=>v?E("initial"):undefined,"error.file":(v,{bold:E})=>E(v),"error.moduleName":(v,{bold:E})=>v.includes("!")?`${E(v.replace(/^(\s|\S)*!/,""))} (${v})`:`${E(v)}`,"error.loc":(v,{green:E})=>E(v),"error.message":(v,{bold:E,formatError:P})=>v.includes("[")?v:E(P(v)),"error.details":(v,{formatError:E})=>E(v),"error.filteredDetails":v=>v?`+ ${v} hidden lines`:undefined,"error.stack":v=>v,"error.moduleTrace":v=>undefined,"error.separator!":()=>"\n","loggingEntry(error).loggingEntry.message":(v,{red:E})=>mapLines(v,(v=>` ${E(v)}`)),"loggingEntry(warn).loggingEntry.message":(v,{yellow:E})=>mapLines(v,(v=>` ${E(v)}`)),"loggingEntry(info).loggingEntry.message":(v,{green:E})=>mapLines(v,(v=>` ${E(v)}`)),"loggingEntry(log).loggingEntry.message":(v,{bold:E})=>mapLines(v,(v=>` ${E(v)}`)),"loggingEntry(debug).loggingEntry.message":v=>mapLines(v,(v=>` ${v}`)),"loggingEntry(trace).loggingEntry.message":v=>mapLines(v,(v=>` ${v}`)),"loggingEntry(status).loggingEntry.message":(v,{magenta:E})=>mapLines(v,(v=>` ${E(v)}`)),"loggingEntry(profile).loggingEntry.message":(v,{magenta:E})=>mapLines(v,(v=>`

${E(v)}`)),"loggingEntry(profileEnd).loggingEntry.message":(v,{magenta:E})=>mapLines(v,(v=>`

${E(v)}`)),"loggingEntry(time).loggingEntry.message":(v,{magenta:E})=>mapLines(v,(v=>` ${E(v)}`)),"loggingEntry(group).loggingEntry.message":(v,{cyan:E})=>mapLines(v,(v=>`<-> ${E(v)}`)),"loggingEntry(groupCollapsed).loggingEntry.message":(v,{cyan:E})=>mapLines(v,(v=>`<+> ${E(v)}`)),"loggingEntry(clear).loggingEntry":()=>" -------","loggingEntry(groupCollapsed).loggingEntry.children":()=>"","loggingEntry.trace[]":v=>v?mapLines(v,(v=>`| ${v}`)):undefined,"moduleTraceItem.originName":v=>v,loggingGroup:v=>v.entries.length===0?"":undefined,"loggingGroup.debug":(v,{red:E})=>v?E("DEBUG"):undefined,"loggingGroup.name":(v,{bold:E})=>E(`LOG from ${v}`),"loggingGroup.separator!":()=>"\n","loggingGroup.filteredEntries":v=>v>0?`+ ${v} hidden lines`:undefined,"moduleTraceDependency.loc":v=>v};const L={"compilation.assets[]":"asset","compilation.modules[]":"module","compilation.chunks[]":"chunk","compilation.entrypoints[]":"chunkGroup","compilation.namedChunkGroups[]":"chunkGroup","compilation.errors[]":"error","compilation.warnings[]":"error","compilation.logging[]":"loggingGroup","compilation.children[]":"compilation","asset.related[]":"asset","asset.children[]":"asset","asset.chunks[]":"assetChunk","asset.auxiliaryChunks[]":"assetChunk","asset.chunkNames[]":"assetChunkName","asset.chunkIdHints[]":"assetChunkIdHint","asset.auxiliaryChunkNames[]":"assetChunkName","asset.auxiliaryChunkIdHints[]":"assetChunkIdHint","chunkGroup.assets[]":"chunkGroupAsset","chunkGroup.auxiliaryAssets[]":"chunkGroupAsset","chunkGroupChild.assets[]":"chunkGroupAsset","chunkGroupChild.auxiliaryAssets[]":"chunkGroupAsset","chunkGroup.children[]":"chunkGroupChildGroup","chunkGroupChildGroup.children[]":"chunkGroupChild","module.modules[]":"module","module.children[]":"module","module.reasons[]":"moduleReason","moduleReason.children[]":"moduleReason","module.issuerPath[]":"moduleIssuer","chunk.origins[]":"chunkOrigin","chunk.modules[]":"module","loggingGroup.entries[]":v=>`loggingEntry(${v.type}).loggingEntry`,"loggingEntry.children[]":v=>`loggingEntry(${v.type}).loggingEntry`,"error.moduleTrace[]":"moduleTraceItem","moduleTraceItem.dependencies[]":"moduleTraceDependency"};const q=["compilerPath","chunkId","chunkEntry","chunkInitial","file","separator!","moduleName","loc","separator!","message","separator!","details","separator!","filteredDetails","separator!","stack","separator!","missing","separator!","moduleTrace"];const K={compilation:["name","hash","version","time","builtAt","env","publicPath","assets","filteredAssets","entrypoints","namedChunkGroups","chunks","modules","filteredModules","children","logging","warnings","warningsInChildren!","filteredWarningDetailsCount","errors","errorsInChildren!","filteredErrorDetailsCount","summary!","needAdditionalPass"],asset:["type","name","size","chunks","auxiliaryChunks","emitted","comparedForEmit","cached","info","isOverSizeLimit","chunkNames","auxiliaryChunkNames","chunkIdHints","auxiliaryChunkIdHints","related","filteredRelated","children","filteredChildren"],"asset.info":["immutable","sourceFilename","javascriptModule","development","hotModuleReplacement"],chunkGroup:["kind!","name","isOverSizeLimit","assetsSize","auxiliaryAssetsSize","is!","assets","filteredAssets","auxiliaryAssets","filteredAuxiliaryAssets","separator!","children"],chunkGroupAsset:["name","size"],chunkGroupChildGroup:["type","children"],chunkGroupChild:["assets","chunks","name"],module:["type","name","identifier","id","layer","sizes","chunks","depth","cacheable","orphan","runtime","optional","dependent","built","codeGenerated","cached","assets","failed","warnings","errors","children","filteredChildren","providedExports","usedExports","optimizationBailout","reasons","filteredReasons","issuerPath","profile","modules","filteredModules"],moduleReason:["active","type","userRequest","moduleId","module","resolvedModule","loc","explanation","children","filteredChildren"],"module.profile":["total","separator!","resolving","restoring","integration","building","storing","additionalResolving","additionalIntegration"],chunk:["id","runtime","files","names","idHints","sizes","parents","siblings","children","childrenByOrder","entry","initial","rendered","recorded","reason","separator!","origins","separator!","modules","separator!","filteredModules"],chunkOrigin:["request","moduleId","moduleName","loc"],error:q,warning:q,"chunk.childrenByOrder[]":["type","children"],loggingGroup:["debug","name","separator!","entries","separator!","filteredEntries"],loggingEntry:["message","trace","children"]};const itemsJoinOneLine=v=>v.filter(Boolean).join(" ");const itemsJoinOneLineBrackets=v=>v.length>0?`(${v.filter(Boolean).join(" ")})`:undefined;const itemsJoinMoreSpacing=v=>v.filter(Boolean).join("\n\n");const itemsJoinComma=v=>v.filter(Boolean).join(", ");const itemsJoinCommaBrackets=v=>v.length>0?`(${v.filter(Boolean).join(", ")})`:undefined;const itemsJoinCommaBracketsWithName=v=>E=>E.length>0?`(${v}: ${E.filter(Boolean).join(", ")})`:undefined;const ae={"chunk.parents":itemsJoinOneLine,"chunk.siblings":itemsJoinOneLine,"chunk.children":itemsJoinOneLine,"chunk.names":itemsJoinCommaBrackets,"chunk.idHints":itemsJoinCommaBracketsWithName("id hint"),"chunk.runtime":itemsJoinCommaBracketsWithName("runtime"),"chunk.files":itemsJoinComma,"chunk.childrenByOrder":itemsJoinOneLine,"chunk.childrenByOrder[].children":itemsJoinOneLine,"chunkGroup.assets":itemsJoinOneLine,"chunkGroup.auxiliaryAssets":itemsJoinOneLineBrackets,"chunkGroupChildGroup.children":itemsJoinComma,"chunkGroupChild.assets":itemsJoinOneLine,"chunkGroupChild.auxiliaryAssets":itemsJoinOneLineBrackets,"asset.chunks":itemsJoinComma,"asset.auxiliaryChunks":itemsJoinCommaBrackets,"asset.chunkNames":itemsJoinCommaBracketsWithName("name"),"asset.auxiliaryChunkNames":itemsJoinCommaBracketsWithName("auxiliary name"),"asset.chunkIdHints":itemsJoinCommaBracketsWithName("id hint"),"asset.auxiliaryChunkIdHints":itemsJoinCommaBracketsWithName("auxiliary id hint"),"module.chunks":itemsJoinOneLine,"module.issuerPath":v=>v.filter(Boolean).map((v=>`${v} ->`)).join(" "),"compilation.errors":itemsJoinMoreSpacing,"compilation.warnings":itemsJoinMoreSpacing,"compilation.logging":itemsJoinMoreSpacing,"compilation.children":v=>indent(itemsJoinMoreSpacing(v)," "),"moduleTraceItem.dependencies":itemsJoinOneLine,"loggingEntry.children":v=>indent(v.filter(Boolean).join("\n")," ",false)};const joinOneLine=v=>v.map((v=>v.content)).filter(Boolean).join(" ");const joinInBrackets=v=>{const E=[];let P=0;for(const R of v){if(R.element==="separator!"){switch(P){case 0:case 1:P+=2;break;case 4:E.push(")");P=3;break}}if(!R.content)continue;switch(P){case 0:P=1;break;case 1:E.push(" ");break;case 2:E.push("(");P=4;break;case 3:E.push(" (");P=4;break;case 4:E.push(", ");break}E.push(R.content)}if(P===4)E.push(")");return E.join("")};const indent=(v,E,P)=>{const R=v.replace(/\n([^\n])/g,"\n"+E+"$1");if(P)return R;const $=v[0]==="\n"?"":E;return $+R};const joinExplicitNewLine=(v,E)=>{let P=true;let R=true;return v.map((v=>{if(!v||!v.content)return;let $=indent(v.content,R?"":E,!P);if(P){$=$.replace(/^\n+/,"")}if(!$)return;R=false;const N=P||$.startsWith("\n");P=$.endsWith("\n");return N?$:" "+$})).filter(Boolean).join("").trim()};const joinError=v=>(E,{red:P,yellow:R})=>`${v?P("ERROR"):R("WARNING")} in ${joinExplicitNewLine(E,"")}`;const ge={compilation:v=>{const E=[];let P=false;for(const R of v){if(!R.content)continue;const v=R.element==="warnings"||R.element==="filteredWarningDetailsCount"||R.element==="errors"||R.element==="filteredErrorDetailsCount"||R.element==="logging";if(E.length!==0){E.push(v||P?"\n\n":"\n")}E.push(R.content);P=v}if(P)E.push("\n");return E.join("")},asset:v=>joinExplicitNewLine(v.map((v=>{if((v.element==="related"||v.element==="children")&&v.content){return{...v,content:`\n${v.content}\n`}}return v}))," "),"asset.info":joinOneLine,module:(v,{module:E})=>{let P=false;return joinExplicitNewLine(v.map((v=>{switch(v.element){case"id":if(E.id===E.name){if(P)return false;if(v.content)P=true}break;case"name":if(P)return false;if(v.content)P=true;break;case"providedExports":case"usedExports":case"optimizationBailout":case"reasons":case"issuerPath":case"profile":case"children":case"modules":if(v.content){return{...v,content:`\n${v.content}\n`}}break}return v}))," ")},chunk:v=>{let E=false;return"chunk "+joinExplicitNewLine(v.filter((v=>{switch(v.element){case"entry":if(v.content)E=true;break;case"initial":if(E)return false;break}return true}))," ")},"chunk.childrenByOrder[]":v=>`(${joinOneLine(v)})`,chunkGroup:v=>joinExplicitNewLine(v," "),chunkGroupAsset:joinOneLine,chunkGroupChildGroup:joinOneLine,chunkGroupChild:joinOneLine,moduleReason:(v,{moduleReason:E})=>{let P=false;return joinExplicitNewLine(v.map((v=>{switch(v.element){case"moduleId":if(E.moduleId===E.module&&v.content)P=true;break;case"module":if(P)return false;break;case"resolvedModule":if(E.module===E.resolvedModule)return false;break;case"children":if(v.content){return{...v,content:`\n${v.content}\n`}}break}return v}))," ")},"module.profile":joinInBrackets,moduleIssuer:joinOneLine,chunkOrigin:v=>"> "+joinOneLine(v),"errors[].error":joinError(true),"warnings[].error":joinError(false),loggingGroup:v=>joinExplicitNewLine(v,"").trimEnd(),moduleTraceItem:v=>" @ "+joinOneLine(v),moduleTraceDependency:joinOneLine};const be={bold:"",yellow:"",red:"",green:"",cyan:"",magenta:""};const xe={formatChunkId:(v,{yellow:E},P)=>{switch(P){case"parent":return`<{${E(v)}}>`;case"sibling":return`={${E(v)}}=`;case"child":return`>{${E(v)}}<`;default:return`{${E(v)}}`}},formatModuleId:v=>`[${v}]`,formatFilename:(v,{green:E,yellow:P},R)=>(R?P:E)(v),formatFlag:v=>`[${v}]`,formatLayer:v=>`(in ${v})`,formatSize:P(34966).formatSize,formatDateTime:(v,{bold:E})=>{const P=new Date(v);const R=twoDigit;const $=`${P.getFullYear()}-${R(P.getMonth()+1)}-${R(P.getDate())}`;const N=`${R(P.getHours())}:${R(P.getMinutes())}:${R(P.getSeconds())}`;return`${$} ${E(N)}`},formatTime:(v,{timeReference:E,bold:P,green:R,yellow:$,red:N},L)=>{const q=" ms";if(E&&v!==E){const L=[E/2,E/4,E/8,E/16];if(v{if(v.includes("["))return v;const $=[{regExp:/(Did you mean .+)/g,format:E},{regExp:/(Set 'mode' option to 'development' or 'production')/g,format:E},{regExp:/(\(module has no exports\))/g,format:R},{regExp:/\(possible exports: (.+)\)/g,format:E},{regExp:/(?:^|\n)(.* doesn't exist)/g,format:R},{regExp:/('\w+' option has not been set)/g,format:R},{regExp:/(Emitted value instead of an instance of Error)/g,format:P},{regExp:/(Used? .+ instead)/gi,format:P},{regExp:/\b(deprecated|must|required)\b/g,format:P},{regExp:/\b(BREAKING CHANGE)\b/gi,format:R},{regExp:/\b(error|failed|unexpected|invalid|not found|not supported|not available|not possible|not implemented|doesn't support|conflict|conflicting|not existing|duplicate)\b/gi,format:R}];for(const{regExp:E,format:P}of $){v=v.replace(E,((v,E)=>v.replace(E,P(E))))}return v}};const ve={"module.modules":v=>indent(v,"| ")};const createOrder=(v,E)=>{const P=v.slice();const R=new Set(v);const $=new Set;v.length=0;for(const P of E){if(P.endsWith("!")||R.has(P)){v.push(P);$.add(P)}}for(const E of P){if(!$.has(E)){v.push(E)}}return v};class DefaultStatsPrinterPlugin{apply(v){v.hooks.compilation.tap("DefaultStatsPrinterPlugin",(v=>{v.hooks.statsPrinter.tap("DefaultStatsPrinterPlugin",((v,E,P)=>{v.hooks.print.for("compilation").tap("DefaultStatsPrinterPlugin",((v,P)=>{for(const v of Object.keys(be)){let R;if(E.colors){if(typeof E.colors==="object"&&typeof E.colors[v]==="string"){R=E.colors[v]}else{R=be[v]}}if(R){P[v]=v=>`${R}${typeof v==="string"?v.replace(/((\u001b\[39m|\u001b\[22m|\u001b\[0m)+)/g,`$1${R}`):v}`}else{P[v]=v=>v}}for(const v of Object.keys(xe)){P[v]=(E,...R)=>xe[v](E,P,...R)}P.timeReference=v.time}));for(const E of Object.keys(N)){v.hooks.print.for(E).tap("DefaultStatsPrinterPlugin",((P,R)=>N[E](P,R,v)))}for(const E of Object.keys(K)){const P=K[E];v.hooks.sortElements.for(E).tap("DefaultStatsPrinterPlugin",((v,E)=>{createOrder(v,P)}))}for(const E of Object.keys(L)){const P=L[E];v.hooks.getItemName.for(E).tap("DefaultStatsPrinterPlugin",typeof P==="string"?()=>P:P)}for(const E of Object.keys(ae)){const P=ae[E];v.hooks.printItems.for(E).tap("DefaultStatsPrinterPlugin",P)}for(const E of Object.keys(ge)){const P=ge[E];v.hooks.printElements.for(E).tap("DefaultStatsPrinterPlugin",P)}for(const E of Object.keys(ve)){const P=ve[E];v.hooks.result.for(E).tap("DefaultStatsPrinterPlugin",P)}}))}))}}v.exports=DefaultStatsPrinterPlugin},4901:function(v,E,P){"use strict";const{HookMap:R,SyncBailHook:$,SyncWaterfallHook:N}=P(79846);const{concatComparators:L,keepOriginalOrder:q}=P(28273);const K=P(95222);class StatsFactory{constructor(){this.hooks=Object.freeze({extract:new R((()=>new $(["object","data","context"]))),filter:new R((()=>new $(["item","context","index","unfilteredIndex"]))),sort:new R((()=>new $(["comparators","context"]))),filterSorted:new R((()=>new $(["item","context","index","unfilteredIndex"]))),groupResults:new R((()=>new $(["groupConfigs","context"]))),sortResults:new R((()=>new $(["comparators","context"]))),filterResults:new R((()=>new $(["item","context","index","unfilteredIndex"]))),merge:new R((()=>new $(["items","context"]))),result:new R((()=>new N(["result","context"]))),getItemName:new R((()=>new $(["item","context"]))),getItemFactory:new R((()=>new $(["item","context"])))});const v=this.hooks;this._caches={};for(const E of Object.keys(v)){this._caches[E]=new Map}this._inCreate=false}_getAllLevelHooks(v,E,P){const R=E.get(P);if(R!==undefined){return R}const $=[];const N=P.split(".");for(let E=0;E{for(const P of L){const R=$(P,v,E,q);if(R!==undefined){if(R)q++;return R}}q++;return true}))}create(v,E,P){if(this._inCreate){return this._create(v,E,P)}else{try{this._inCreate=true;return this._create(v,E,P)}finally{for(const v of Object.keys(this._caches))this._caches[v].clear();this._inCreate=false}}}_create(v,E,P){const R={...P,type:v,[v]:E};if(Array.isArray(E)){const P=this._forEachLevelFilter(this.hooks.filter,this._caches.filter,v,E,((v,E,P,$)=>v.call(E,R,P,$)),true);const $=[];this._forEachLevel(this.hooks.sort,this._caches.sort,v,(v=>v.call($,R)));if($.length>0){P.sort(L(...$,q(P)))}const N=this._forEachLevelFilter(this.hooks.filterSorted,this._caches.filterSorted,v,P,((v,E,P,$)=>v.call(E,R,P,$)),false);let ae=N.map(((E,P)=>{const $={...R,_index:P};const N=this._forEachLevel(this.hooks.getItemName,this._caches.getItemName,`${v}[]`,(v=>v.call(E,$)));if(N)$[N]=E;const L=N?`${v}[].${N}`:`${v}[]`;const q=this._forEachLevel(this.hooks.getItemFactory,this._caches.getItemFactory,L,(v=>v.call(E,$)))||this;return q.create(L,E,$)}));const ge=[];this._forEachLevel(this.hooks.sortResults,this._caches.sortResults,v,(v=>v.call(ge,R)));if(ge.length>0){ae.sort(L(...ge,q(ae)))}const be=[];this._forEachLevel(this.hooks.groupResults,this._caches.groupResults,v,(v=>v.call(be,R)));if(be.length>0){ae=K(ae,be)}const xe=this._forEachLevelFilter(this.hooks.filterResults,this._caches.filterResults,v,ae,((v,E,P,$)=>v.call(E,R,P,$)),false);let ve=this._forEachLevel(this.hooks.merge,this._caches.merge,v,(v=>v.call(xe,R)));if(ve===undefined)ve=xe;return this._forEachLevelWaterfall(this.hooks.result,this._caches.result,v,ve,((v,E)=>v.call(E,R)))}else{const P={};this._forEachLevel(this.hooks.extract,this._caches.extract,v,(v=>v.call(P,E,R)));return this._forEachLevelWaterfall(this.hooks.result,this._caches.result,v,P,((v,E)=>v.call(E,R)))}}}v.exports=StatsFactory},6419:function(v,E,P){"use strict";const{HookMap:R,SyncWaterfallHook:$,SyncBailHook:N}=P(79846);class StatsPrinter{constructor(){this.hooks=Object.freeze({sortElements:new R((()=>new N(["elements","context"]))),printElements:new R((()=>new N(["printedElements","context"]))),sortItems:new R((()=>new N(["items","context"]))),getItemName:new R((()=>new N(["item","context"]))),printItems:new R((()=>new N(["printedItems","context"]))),print:new R((()=>new N(["object","context"]))),result:new R((()=>new $(["result","context"])))});this._levelHookCache=new Map;this._inPrint=false}_getAllLevelHooks(v,E){let P=this._levelHookCache.get(v);if(P===undefined){P=new Map;this._levelHookCache.set(v,P)}const R=P.get(E);if(R!==undefined){return R}const $=[];const N=E.split(".");for(let E=0;Ev.call(E,R)));if($===undefined){if(Array.isArray(E)){const P=E.slice();this._forEachLevel(this.hooks.sortItems,v,(v=>v.call(P,R)));const N=P.map(((E,P)=>{const $={...R,_index:P};const N=this._forEachLevel(this.hooks.getItemName,`${v}[]`,(v=>v.call(E,$)));if(N)$[N]=E;return this.print(N?`${v}[].${N}`:`${v}[]`,E,$)}));$=this._forEachLevel(this.hooks.printItems,v,(v=>v.call(N,R)));if($===undefined){const v=N.filter(Boolean);if(v.length>0)$=v.join("\n")}}else if(E!==null&&typeof E==="object"){const P=Object.keys(E).filter((v=>E[v]!==undefined));this._forEachLevel(this.hooks.sortElements,v,(v=>v.call(P,R)));const N=P.map((P=>{const $=this.print(`${v}.${P}`,E[P],{...R,_parent:E,_element:P,[P]:E[P]});return{element:P,content:$}}));$=this._forEachLevel(this.hooks.printElements,v,(v=>v.call(N,R)));if($===undefined){const v=N.map((v=>v.content)).filter(Boolean);if(v.length>0)$=v.join("\n")}}}return this._forEachLevelWaterfall(this.hooks.result,v,$,((v,E)=>v.call(E,R)))}}v.exports=StatsPrinter},30806:function(v,E){"use strict";E.equals=(v,E)=>{if(v.length!==E.length)return false;for(let P=0;Pv.reduce(((v,P)=>{v[E(P)?0:1].push(P);return v}),[[],[]])},41452:function(v){"use strict";class ArrayQueue{constructor(v){this._list=v?Array.from(v):[];this._listReversed=[]}get length(){return this._list.length+this._listReversed.length}clear(){this._list.length=0;this._listReversed.length=0}enqueue(v){this._list.push(v)}dequeue(){if(this._listReversed.length===0){if(this._list.length===0)return undefined;if(this._list.length===1)return this._list.pop();if(this._list.length<16)return this._list.shift();const v=this._listReversed;this._listReversed=this._list;this._listReversed.reverse();this._list=v}return this._listReversed.pop()}delete(v){const E=this._list.indexOf(v);if(E>=0){this._list.splice(E,1)}else{const E=this._listReversed.indexOf(v);if(E>=0)this._listReversed.splice(E,1)}}[Symbol.iterator](){let v=-1;let E=false;return{next:()=>{if(!E){v++;if(vv);this._entries=new Map;this._queued=new q;this._children=undefined;this._activeTasks=0;this._willEnsureProcessing=false;this._needProcessing=false;this._stopped=false;this._root=P?P._root:this;if(P){if(this._root._children===undefined){this._root._children=[this]}else{this._root._children.push(this)}}this.hooks={beforeAdd:new $(["item"]),added:new R(["item"]),beforeStart:new $(["item"]),started:new R(["item"]),result:new R(["item","error","result"])};this._ensureProcessing=this._ensureProcessing.bind(this)}add(v,E){if(this._stopped)return E(new L("Queue was stopped"));this.hooks.beforeAdd.callAsync(v,(P=>{if(P){E(N(P,`AsyncQueue(${this._name}).hooks.beforeAdd`));return}const R=this._getKey(v);const $=this._entries.get(R);if($!==undefined){if($.state===ge){if(be++>3){process.nextTick((()=>E($.error,$.result)))}else{E($.error,$.result)}be--}else if($.callbacks===undefined){$.callbacks=[E]}else{$.callbacks.push(E)}return}const q=new AsyncQueueEntry(v,E);if(this._stopped){this.hooks.added.call(v);this._root._activeTasks++;process.nextTick((()=>this._handleResult(q,new L("Queue was stopped"))))}else{this._entries.set(R,q);this._queued.enqueue(q);const E=this._root;E._needProcessing=true;if(E._willEnsureProcessing===false){E._willEnsureProcessing=true;setImmediate(E._ensureProcessing)}this.hooks.added.call(v)}}))}invalidate(v){const E=this._getKey(v);const P=this._entries.get(E);this._entries.delete(E);if(P.state===K){this._queued.delete(P)}}waitFor(v,E){const P=this._getKey(v);const R=this._entries.get(P);if(R===undefined){return E(new L("waitFor can only be called for an already started item"))}if(R.state===ge){process.nextTick((()=>E(R.error,R.result)))}else if(R.callbacks===undefined){R.callbacks=[E]}else{R.callbacks.push(E)}}stop(){this._stopped=true;const v=this._queued;this._queued=new q;const E=this._root;for(const P of v){this._entries.delete(this._getKey(P.item));E._activeTasks++;this._handleResult(P,new L("Queue was stopped"))}}increaseParallelism(){const v=this._root;v._parallelism++;if(v._willEnsureProcessing===false&&v._needProcessing){v._willEnsureProcessing=true;setImmediate(v._ensureProcessing)}}decreaseParallelism(){const v=this._root;v._parallelism--}isProcessing(v){const E=this._getKey(v);const P=this._entries.get(E);return P!==undefined&&P.state===ae}isQueued(v){const E=this._getKey(v);const P=this._entries.get(E);return P!==undefined&&P.state===K}isDone(v){const E=this._getKey(v);const P=this._entries.get(E);return P!==undefined&&P.state===ge}_ensureProcessing(){while(this._activeTasks0)return;if(this._children!==undefined){for(const v of this._children){while(this._activeTasks0)return}}if(!this._willEnsureProcessing)this._needProcessing=false}_startProcessing(v){this.hooks.beforeStart.callAsync(v.item,(E=>{if(E){this._handleResult(v,N(E,`AsyncQueue(${this._name}).hooks.beforeStart`));return}let P=false;try{this._processor(v.item,((E,R)=>{P=true;this._handleResult(v,E,R)}))}catch(E){if(P)throw E;this._handleResult(v,E,null)}this.hooks.started.call(v.item)}))}_handleResult(v,E,P){this.hooks.result.callAsync(v.item,E,P,(R=>{const $=R?N(R,`AsyncQueue(${this._name}).hooks.result`):E;const L=v.callback;const q=v.callbacks;v.state=ge;v.callback=undefined;v.callbacks=undefined;v.result=P;v.error=$;const K=this._root;K._activeTasks--;if(K._willEnsureProcessing===false&&K._needProcessing){K._willEnsureProcessing=true;setImmediate(K._ensureProcessing)}if(be++>3){process.nextTick((()=>{L($,P);if(q!==undefined){for(const v of q){v($,P)}}}))}else{L($,P);if(q!==undefined){for(const v of q){v($,P)}}}be--}))}clear(){this._entries.clear();this._queued.clear();this._activeTasks=0;this._willEnsureProcessing=false;this._needProcessing=false;this._stopped=false}}v.exports=AsyncQueue},17893:function(v,E,P){"use strict";class Hash{update(v,E){const R=P(71432);throw new R}digest(v){const E=P(71432);throw new E}}v.exports=Hash},6719:function(v,E){"use strict";const last=v=>{let E;for(const P of v)E=P;return E};const someInIterable=(v,E)=>{for(const P of v){if(E(P))return true}return false};const countIterable=v=>{let E=0;for(const P of v)E++;return E};E.last=last;E.someInIterable=someInIterable;E.countIterable=countIterable},6:function(v,E,P){"use strict";const{first:R}=P(64960);const $=P(68001);class LazyBucketSortedSet{constructor(v,E,...P){this._getKey=v;this._innerArgs=P;this._leaf=P.length<=1;this._keys=new $(undefined,E);this._map=new Map;this._unsortedItems=new Set;this.size=0}add(v){this.size++;this._unsortedItems.add(v)}_addInternal(v,E){let P=this._map.get(v);if(P===undefined){P=this._leaf?new $(undefined,this._innerArgs[0]):new LazyBucketSortedSet(...this._innerArgs);this._keys.add(v);this._map.set(v,P)}P.add(E)}delete(v){this.size--;if(this._unsortedItems.has(v)){this._unsortedItems.delete(v);return}const E=this._getKey(v);const P=this._map.get(E);P.delete(v);if(P.size===0){this._deleteKey(E)}}_deleteKey(v){this._keys.delete(v);this._map.delete(v)}popFirst(){if(this.size===0)return undefined;this.size--;if(this._unsortedItems.size>0){for(const v of this._unsortedItems){const E=this._getKey(v);this._addInternal(E,v)}this._unsortedItems.clear()}this._keys.sort();const v=R(this._keys);const E=this._map.get(v);if(this._leaf){const P=E;P.sort();const $=R(P);P.delete($);if(P.size===0){this._deleteKey(v)}return $}else{const P=E;const R=P.popFirst();if(P.size===0){this._deleteKey(v)}return R}}startUpdate(v){if(this._unsortedItems.has(v)){return E=>{if(E){this._unsortedItems.delete(v);this.size--;return}}}const E=this._getKey(v);if(this._leaf){const P=this._map.get(E);return R=>{if(R){this.size--;P.delete(v);if(P.size===0){this._deleteKey(E)}return}const $=this._getKey(v);if(E===$){P.add(v)}else{P.delete(v);if(P.size===0){this._deleteKey(E)}this._addInternal($,v)}}}else{const P=this._map.get(E);const R=P.startUpdate(v);return $=>{if($){this.size--;R(true);if(P.size===0){this._deleteKey(E)}return}const N=this._getKey(v);if(E===N){R()}else{R(true);if(P.size===0){this._deleteKey(E)}this._addInternal(N,v)}}}}_appendIterators(v){if(this._unsortedItems.size>0)v.push(this._unsortedItems[Symbol.iterator]());for(const E of this._keys){const P=this._map.get(E);if(this._leaf){const E=P;const R=E[Symbol.iterator]();v.push(R)}else{const E=P;E._appendIterators(v)}}}[Symbol.iterator](){const v=[];this._appendIterators(v);v.reverse();let E=v.pop();return{next:()=>{const P=E.next();if(P.done){if(v.length===0)return P;E=v.pop();return E.next()}return P}}}}v.exports=LazyBucketSortedSet},2035:function(v,E,P){"use strict";const R=P(41718);const merge=(v,E)=>{for(const P of E){for(const E of P){v.add(E)}}};const flatten=(v,E)=>{for(const P of E){if(P._set.size>0)v.add(P._set);if(P._needMerge){for(const E of P._toMerge){v.add(E)}flatten(v,P._toDeepMerge)}}};class LazySet{constructor(v){this._set=new Set(v);this._toMerge=new Set;this._toDeepMerge=[];this._needMerge=false;this._deopt=false}_flatten(){flatten(this._toMerge,this._toDeepMerge);this._toDeepMerge.length=0}_merge(){this._flatten();merge(this._set,this._toMerge);this._toMerge.clear();this._needMerge=false}_isEmpty(){return this._set.size===0&&this._toMerge.size===0&&this._toDeepMerge.length===0}get size(){if(this._needMerge)this._merge();return this._set.size}add(v){this._set.add(v);return this}addAll(v){if(this._deopt){const E=this._set;for(const P of v){E.add(P)}}else{if(v instanceof LazySet){if(v._isEmpty())return this;this._toDeepMerge.push(v);this._needMerge=true;if(this._toDeepMerge.length>1e5){this._flatten()}}else{this._toMerge.add(v);this._needMerge=true}if(this._toMerge.size>1e5)this._merge()}return this}clear(){this._set.clear();this._toMerge.clear();this._toDeepMerge.length=0;this._needMerge=false;this._deopt=false}delete(v){if(this._needMerge)this._merge();return this._set.delete(v)}entries(){this._deopt=true;if(this._needMerge)this._merge();return this._set.entries()}forEach(v,E){this._deopt=true;if(this._needMerge)this._merge();this._set.forEach(v,E)}has(v){if(this._needMerge)this._merge();return this._set.has(v)}keys(){this._deopt=true;if(this._needMerge)this._merge();return this._set.keys()}values(){this._deopt=true;if(this._needMerge)this._merge();return this._set.values()}[Symbol.iterator](){this._deopt=true;if(this._needMerge)this._merge();return this._set[Symbol.iterator]()}get[Symbol.toStringTag](){return"LazySet"}serialize({write:v}){if(this._needMerge)this._merge();v(this._set.size);for(const E of this._set)v(E)}static deserialize({read:v}){const E=v();const P=[];for(let R=0;R{const R=v.get(E);if(R!==undefined)return R;const $=P();v.set(E,$);return $}},93058:function(v,E,P){"use strict";const R=P(86756);class ParallelismFactorCalculator{constructor(){this._rangePoints=[];this._rangeCallbacks=[]}range(v,E,P){if(v===E)return P(1);this._rangePoints.push(v);this._rangePoints.push(E);this._rangeCallbacks.push(P)}calculate(){const v=Array.from(new Set(this._rangePoints)).sort(((v,E)=>v0));const P=[];for(let $=0;${if(v.length===0)return new Set;if(v.length===1)return new Set(v[0]);let E=Infinity;let P=-1;for(let R=0;R{if(v.size{for(const P of v){if(E(P))return P}};const first=v=>{const E=v.values().next();return E.done?undefined:E.value};const combine=(v,E)=>{if(E.size===0)return v;if(v.size===0)return E;const P=new Set(v);for(const v of E)P.add(v);return P};E.intersect=intersect;E.isSubset=isSubset;E.find=find;E.first=first;E.combine=combine},68001:function(v){"use strict";const E=Symbol("not sorted");class SortableSet extends Set{constructor(v,P){super(v);this._sortFn=P;this._lastActiveSortFn=E;this._cache=undefined;this._cacheOrderIndependent=undefined}add(v){this._lastActiveSortFn=E;this._invalidateCache();this._invalidateOrderedCache();super.add(v);return this}delete(v){this._invalidateCache();this._invalidateOrderedCache();return super.delete(v)}clear(){this._invalidateCache();this._invalidateOrderedCache();return super.clear()}sortWith(v){if(this.size<=1||v===this._lastActiveSortFn){return}const E=Array.from(this).sort(v);super.clear();for(let v=0;v0;E--){const P=this.stack[E-1];if(P.size>=v.size)break;this.stack[E]=P;this.stack[E-1]=v}}else{for(const[E,P]of v){this.map.set(E,P)}}}set(v,E){this.map.set(v,E)}delete(v){throw new Error("Items can't be deleted from a StackedCacheMap")}has(v){throw new Error("Checking StackedCacheMap.has before reading is inefficient, use StackedCacheMap.get and check for undefined")}get(v){for(const E of this.stack){const P=E.get(v);if(P!==undefined)return P}return this.map.get(v)}clear(){this.stack.length=0;this.map.clear()}get size(){let v=this.map.size;for(const E of this.stack){v+=E.size}return v}[Symbol.iterator](){const v=this.stack.map((v=>v[Symbol.iterator]()));let E=this.map[Symbol.iterator]();return{next(){let P=E.next();while(P.done&&v.length>0){E=v.pop();P=E.next()}return P}}}}v.exports=StackedCacheMap},17450:function(v){"use strict";const E=Symbol("tombstone");const P=Symbol("undefined");const extractPair=v=>{const R=v[0];const $=v[1];if($===P||$===E){return[R,undefined]}else{return v}};class StackedMap{constructor(v){this.map=new Map;this.stack=v===undefined?[]:v.slice();this.stack.push(this.map)}set(v,E){this.map.set(v,E===undefined?P:E)}delete(v){if(this.stack.length>1){this.map.set(v,E)}else{this.map.delete(v)}}has(v){const P=this.map.get(v);if(P!==undefined){return P!==E}if(this.stack.length>1){for(let P=this.stack.length-2;P>=0;P--){const R=this.stack[P].get(v);if(R!==undefined){this.map.set(v,R);return R!==E}}this.map.set(v,E)}return false}get(v){const R=this.map.get(v);if(R!==undefined){return R===E||R===P?undefined:R}if(this.stack.length>1){for(let R=this.stack.length-2;R>=0;R--){const $=this.stack[R].get(v);if($!==undefined){this.map.set(v,$);return $===E||$===P?undefined:$}}this.map.set(v,E)}return undefined}_compress(){if(this.stack.length===1)return;this.map=new Map;for(const v of this.stack){for(const P of v){if(P[1]===E){this.map.delete(P[0])}else{this.map.set(P[0],P[1])}}}this.stack=[this.map]}asArray(){this._compress();return Array.from(this.map.keys())}asSet(){this._compress();return new Set(this.map.keys())}asPairArray(){this._compress();return Array.from(this.map.entries(),extractPair)}asMap(){return new Map(this.asPairArray())}get size(){this._compress();return this.map.size}createChild(){return new StackedMap(this.stack)}}v.exports=StackedMap},19943:function(v){"use strict";class StringXor{constructor(){this._value=undefined}add(v){const E=v.length;const P=this._value;if(P===undefined){const P=this._value=Buffer.allocUnsafe(E);for(let R=0;R0){this._iterator=this._set[Symbol.iterator]();const v=this._iterator.next().value;this._set.delete(...v);return v}return undefined}this._set.delete(...v.value);return v.value}}v.exports=TupleQueue},22748:function(v){"use strict";class TupleSet{constructor(v){this._map=new Map;this.size=0;if(v){for(const E of v){this.add(...E)}}}add(...v){let E=this._map;for(let P=0;P{const $=R.next();if($.done){if(v.length===0)return false;E.pop();return next(v.pop())}const[N,L]=$.value;v.push(R);E.push(N);if(L instanceof Set){P=L[Symbol.iterator]();return true}else{return next(L[Symbol.iterator]())}};next(this._map[Symbol.iterator]());return{next(){while(P){const R=P.next();if(R.done){E.pop();if(!next(v.pop())){P=undefined}}else{return{done:false,value:E.concat(R.value)}}}return{done:true,value:undefined}}}}}v.exports=TupleSet},67515:function(v,E){"use strict";const P="\\".charCodeAt(0);const R="/".charCodeAt(0);const $="a".charCodeAt(0);const N="z".charCodeAt(0);const L="A".charCodeAt(0);const q="Z".charCodeAt(0);const K="0".charCodeAt(0);const ae="9".charCodeAt(0);const ge="+".charCodeAt(0);const be="-".charCodeAt(0);const xe=":".charCodeAt(0);const ve="#".charCodeAt(0);const Ae="?".charCodeAt(0);function getScheme(v){const E=v.charCodeAt(0);if((E<$||E>N)&&(Eq)){return undefined}let Ie=1;let He=v.charCodeAt(Ie);while(He>=$&&He<=N||He>=L&&He<=q||He>=K&&He<=ae||He===ge||He===be){if(++Ie===v.length)return undefined;He=v.charCodeAt(Ie)}if(He!==xe)return undefined;if(Ie===1){const E=Ie+1typeof v==="object"&&v!==null;class WeakTupleMap{constructor(){this.f=0;this.v=undefined;this.m=undefined;this.w=undefined}set(...v){let E=this;for(let P=0;P{const N=["function ",v,"(a,l,h,",R.join(","),"){",$?"":"var i=",P?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a[m]"];if($){if(E.indexOf("c")<0){N.push(";if(x===y){return m}else if(x<=y){")}else{N.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){")}}else{N.push(";if(",E,"){i=m;")}if(P){N.push("l=m+1}else{h=m-1}")}else{N.push("h=m-1}else{l=m+1}")}N.push("}");if($){N.push("return -1};")}else{N.push("return i};")}return N.join("")};const compileBoundsSearch=(v,E,P,R)=>{const $=compileSearch("A","x"+v+"y",E,["y"],R);const N=compileSearch("P","c(x,y)"+v+"0",E,["y","c"],R);const L="function dispatchBinarySearch";const q="(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBinarySearch";const K=[$,N,L,P,q,P];const ae=K.join("");const ge=new Function(ae);return ge()};v.exports={ge:compileBoundsSearch(">=",false,"GE"),gt:compileBoundsSearch(">",false,"GT"),lt:compileBoundsSearch("<",true,"LT"),le:compileBoundsSearch("<=",true,"LE"),eq:compileBoundsSearch("-",true,"EQ",true)}},67114:function(v,E){"use strict";E.getTrimmedIdsAndRange=(v,E,P,R,$)=>{let N=trimIdsToThoseImported(v,R,$);let L=E;if(N.length!==v.length){const E=P===undefined?-1:P.length+(N.length-v.length);if(E<0||E>=P.length){N=v}else{L=P[E]}}return{trimmedIds:N,trimmedRange:L}};function trimIdsToThoseImported(v,E,P){let R=[];const $=E.getExportsInfo(E.getModule(P));let N=$;for(let E=0;E{if(E===undefined)return v;if(v===undefined)return E;if(typeof E!=="object"||E===null)return E;if(typeof v!=="object"||v===null)return v;let R=P.get(v);if(R===undefined){R=new WeakMap;P.set(v,R)}const $=R.get(E);if($!==undefined)return $;const N=_cleverMerge(v,E,true);R.set(E,N);return N};const cachedSetProperty=(v,E,P)=>{let $=R.get(v);if($===undefined){$=new Map;R.set(v,$)}let N=$.get(E);if(N===undefined){N=new Map;$.set(E,N)}let L=N.get(P);if(L)return L;L={...v,[E]:P};N.set(P,L);return L};const L=new WeakMap;const cachedParseObject=v=>{const E=L.get(v);if(E!==undefined)return E;const P=parseObject(v);L.set(v,P);return P};const parseObject=v=>{const E=new Map;let P;const getInfo=v=>{const P=E.get(v);if(P!==undefined)return P;const R={base:undefined,byProperty:undefined,byValues:undefined};E.set(v,R);return R};for(const E of Object.keys(v)){if(E.startsWith("by")){const R=E;const $=v[R];if(typeof $==="object"){for(const v of Object.keys($)){const E=$[v];for(const P of Object.keys(E)){const N=getInfo(P);if(N.byProperty===undefined){N.byProperty=R;N.byValues=new Map}else if(N.byProperty!==R){throw new Error(`${R} and ${N.byProperty} for a single property is not supported`)}N.byValues.set(v,E[P]);if(v==="default"){for(const v of Object.keys($)){if(!N.byValues.has(v))N.byValues.set(v,undefined)}}}}}else if(typeof $==="function"){if(P===undefined){P={byProperty:E,fn:$}}else{throw new Error(`${E} and ${P.byProperty} when both are functions is not supported`)}}else{const P=getInfo(E);P.base=v[E]}}else{const P=getInfo(E);P.base=v[E]}}return{static:E,dynamic:P}};const serializeObject=(v,E)=>{const P={};for(const E of v.values()){if(E.byProperty!==undefined){const v=P[E.byProperty]=P[E.byProperty]||{};for(const P of E.byValues.keys()){v[P]=v[P]||{}}}}for(const[E,R]of v){if(R.base!==undefined){P[E]=R.base}if(R.byProperty!==undefined){const v=P[R.byProperty]=P[R.byProperty]||{};for(const P of Object.keys(v)){const $=getFromByValues(R.byValues,P);if($!==undefined)v[P][E]=$}}}if(E!==undefined){P[E.byProperty]=E.fn}return P};const q=0;const K=1;const ae=2;const ge=3;const be=4;const getValueType=v=>{if(v===undefined){return q}else if(v===$){return be}else if(Array.isArray(v)){if(v.lastIndexOf("...")!==-1)return ae;return K}else if(typeof v==="object"&&v!==null&&(!v.constructor||v.constructor===Object)){return ge}return K};const cleverMerge=(v,E)=>{if(E===undefined)return v;if(v===undefined)return E;if(typeof E!=="object"||E===null)return E;if(typeof v!=="object"||v===null)return v;return _cleverMerge(v,E,false)};const _cleverMerge=(v,E,P=false)=>{const R=P?cachedParseObject(v):parseObject(v);const{static:$,dynamic:L}=R;if(L!==undefined){let{byProperty:v,fn:$}=L;const q=$[N];if(q){E=P?cachedCleverMerge(q[1],E):cleverMerge(q[1],E);$=q[0]}const newFn=(...v)=>{const R=$(...v);return P?cachedCleverMerge(R,E):cleverMerge(R,E)};newFn[N]=[$,E];return serializeObject(R.static,{byProperty:v,fn:newFn})}const q=P?cachedParseObject(E):parseObject(E);const{static:K,dynamic:ae}=q;const ge=new Map;for(const[v,E]of $){const R=K.get(v);const $=R!==undefined?mergeEntries(E,R,P):E;ge.set(v,$)}for(const[v,E]of K){if(!$.has(v)){ge.set(v,E)}}return serializeObject(ge,ae)};const mergeEntries=(v,E,P)=>{switch(getValueType(E.base)){case K:case be:return E;case q:if(!v.byProperty){return{base:v.base,byProperty:E.byProperty,byValues:E.byValues}}else if(v.byProperty!==E.byProperty){throw new Error(`${v.byProperty} and ${E.byProperty} for a single property is not supported`)}else{const R=new Map(v.byValues);for(const[$,N]of E.byValues){const E=getFromByValues(v.byValues,$);R.set($,mergeSingleValue(E,N,P))}return{base:v.base,byProperty:v.byProperty,byValues:R}}default:{if(!v.byProperty){return{base:mergeSingleValue(v.base,E.base,P),byProperty:E.byProperty,byValues:E.byValues}}let R;const $=new Map(v.byValues);for(const[v,R]of $){$.set(v,mergeSingleValue(R,E.base,P))}if(Array.from(v.byValues.values()).every((v=>{const E=getValueType(v);return E===K||E===be}))){R=mergeSingleValue(v.base,E.base,P)}else{R=v.base;if(!$.has("default"))$.set("default",E.base)}if(!E.byProperty){return{base:R,byProperty:v.byProperty,byValues:$}}else if(v.byProperty!==E.byProperty){throw new Error(`${v.byProperty} and ${E.byProperty} for a single property is not supported`)}const N=new Map($);for(const[v,R]of E.byValues){const E=getFromByValues($,v);N.set(v,mergeSingleValue(E,R,P))}return{base:R,byProperty:v.byProperty,byValues:N}}}};const getFromByValues=(v,E)=>{if(E!=="default"&&v.has(E)){return v.get(E)}return v.get("default")};const mergeSingleValue=(v,E,P)=>{const R=getValueType(E);const $=getValueType(v);switch(R){case be:case K:return E;case ge:{return $!==ge?E:P?cachedCleverMerge(v,E):cleverMerge(v,E)}case q:return v;case ae:switch($!==K?$:Array.isArray(v)?ae:ge){case q:return E;case be:return E.filter((v=>v!=="..."));case ae:{const P=[];for(const R of E){if(R==="..."){for(const E of v){P.push(E)}}else{P.push(R)}}return P}case ge:return E.map((E=>E==="..."?v:E));default:throw new Error("Not implemented")}default:throw new Error("Not implemented")}};const removeOperations=v=>{const E={};for(const P of Object.keys(v)){const R=v[P];const $=getValueType(R);switch($){case q:case be:break;case ge:E[P]=removeOperations(R);break;case ae:E[P]=R.filter((v=>v!=="..."));break;default:E[P]=R;break}}return E};const resolveByProperty=(v,E,...P)=>{if(typeof v!=="object"||v===null||!(E in v)){return v}const{[E]:R,...$}=v;const N=$;const L=R;if(typeof L==="object"){const v=P[0];if(v in L){return cachedCleverMerge(N,L[v])}else if("default"in L){return cachedCleverMerge(N,L.default)}else{return N}}else if(typeof L==="function"){const v=L.apply(null,P);return cachedCleverMerge(N,resolveByProperty(v,E,...P))}};E.cachedSetProperty=cachedSetProperty;E.cachedCleverMerge=cachedCleverMerge;E.cleverMerge=cleverMerge;E.resolveByProperty=resolveByProperty;E.removeOperations=removeOperations;E.DELETE=$},28273:function(v,E,P){"use strict";const{compareRuntime:R}=P(65153);const createCachedParameterizedComparator=v=>{const E=new WeakMap;return P=>{const R=E.get(P);if(R!==undefined)return R;const $=v.bind(null,P);E.set(P,$);return $}};E.compareChunksById=(v,E)=>compareIds(v.id,E.id);E.compareModulesByIdentifier=(v,E)=>compareIds(v.identifier(),E.identifier());const compareModulesById=(v,E,P)=>compareIds(v.getModuleId(E),v.getModuleId(P));E.compareModulesById=createCachedParameterizedComparator(compareModulesById);const compareNumbers=(v,E)=>{if(typeof v!==typeof E){return typeof vE)return 1;return 0};E.compareNumbers=compareNumbers;const compareStringsNumeric=(v,E)=>{const P=v.split(/(\d+)/);const R=E.split(/(\d+)/);const $=Math.min(P.length,R.length);for(let v=0;v<$;v++){const E=P[v];const $=R[v];if(v%2===0){if(E.length>$.length){if(E.slice(0,$.length)>$)return 1;return-1}else if($.length>E.length){if($.slice(0,E.length)>E)return-1;return 1}else{if(E<$)return-1;if(E>$)return 1}}else{const v=+E;const P=+$;if(vP)return 1}}if(R.lengthP.length)return-1;return 0};E.compareStringsNumeric=compareStringsNumeric;const compareModulesByPostOrderIndexOrIdentifier=(v,E,P)=>{const R=compareNumbers(v.getPostOrderIndex(E),v.getPostOrderIndex(P));if(R!==0)return R;return compareIds(E.identifier(),P.identifier())};E.compareModulesByPostOrderIndexOrIdentifier=createCachedParameterizedComparator(compareModulesByPostOrderIndexOrIdentifier);const compareModulesByPreOrderIndexOrIdentifier=(v,E,P)=>{const R=compareNumbers(v.getPreOrderIndex(E),v.getPreOrderIndex(P));if(R!==0)return R;return compareIds(E.identifier(),P.identifier())};E.compareModulesByPreOrderIndexOrIdentifier=createCachedParameterizedComparator(compareModulesByPreOrderIndexOrIdentifier);const compareModulesByIdOrIdentifier=(v,E,P)=>{const R=compareIds(v.getModuleId(E),v.getModuleId(P));if(R!==0)return R;return compareIds(E.identifier(),P.identifier())};E.compareModulesByIdOrIdentifier=createCachedParameterizedComparator(compareModulesByIdOrIdentifier);const compareChunks=(v,E,P)=>v.compareChunks(E,P);E.compareChunks=createCachedParameterizedComparator(compareChunks);const compareIds=(v,E)=>{if(typeof v!==typeof E){return typeof vE)return 1;return 0};E.compareIds=compareIds;const compareStrings=(v,E)=>{if(vE)return 1;return 0};E.compareStrings=compareStrings;const compareChunkGroupsByIndex=(v,E)=>v.index{if(P.length>0){const[R,...$]=P;return concatComparators(v,concatComparators(E,R,...$))}const R=$.get(v,E);if(R!==undefined)return R;const result=(P,R)=>{const $=v(P,R);if($!==0)return $;return E(P,R)};$.set(v,E,result);return result};E.concatComparators=concatComparators;const N=new TwoKeyWeakMap;const compareSelect=(v,E)=>{const P=N.get(v,E);if(P!==undefined)return P;const result=(P,R)=>{const $=v(P);const N=v(R);if($!==undefined&&$!==null){if(N!==undefined&&N!==null){return E($,N)}return-1}else{if(N!==undefined&&N!==null){return 1}return 0}};N.set(v,E,result);return result};E.compareSelect=compareSelect;const L=new WeakMap;const compareIterables=v=>{const E=L.get(v);if(E!==undefined)return E;const result=(E,P)=>{const R=E[Symbol.iterator]();const $=P[Symbol.iterator]();while(true){const E=R.next();const P=$.next();if(E.done){return P.done?0:-1}else if(P.done){return 1}const N=v(E.value,P.value);if(N!==0)return N}};L.set(v,result);return result};E.compareIterables=compareIterables;E.keepOriginalOrder=v=>{const E=new Map;let P=0;for(const R of v){E.set(R,P++)}return(v,P)=>compareNumbers(E.get(v),E.get(P))};E.compareChunksNatural=v=>{const P=E.compareModulesById(v);const $=compareIterables(P);return concatComparators(compareSelect((v=>v.name),compareIds),compareSelect((v=>v.runtime),R),compareSelect((E=>v.getOrderedChunkModulesIterable(E,P)),$))};E.compareLocations=(v,E)=>{let P=typeof v==="object"&&v!==null;let R=typeof E==="object"&&E!==null;if(!P||!R){if(P)return 1;if(R)return-1;return 0}if("start"in v){if("start"in E){const P=v.start;const R=E.start;if(P.lineR.line)return 1;if(P.columnR.column)return 1}else return-1}else if("start"in E)return 1;if("name"in v){if("name"in E){if(v.nameE.name)return 1}else return-1}else if("name"in E)return 1;if("index"in v){if("index"in E){if(v.indexE.index)return 1}else return-1}else if("index"in E)return 1;return 0}},49694:function(v){"use strict";const quoteMeta=v=>v.replace(/[-[\]\\/{}()*+?.^$|]/g,"\\$&");const toSimpleString=v=>{if(`${+v}`===v){return v}return JSON.stringify(v)};const compileBooleanMatcher=v=>{const E=Object.keys(v).filter((E=>v[E]));const P=Object.keys(v).filter((E=>!v[E]));if(E.length===0)return false;if(P.length===0)return true;return compileBooleanMatcherFromLists(E,P)};const compileBooleanMatcherFromLists=(v,E)=>{if(v.length===0)return()=>"false";if(E.length===0)return()=>"true";if(v.length===1)return E=>`${toSimpleString(v[0])} == ${E}`;if(E.length===1)return v=>`${toSimpleString(E[0])} != ${v}`;const P=itemsToRegexp(v);const R=itemsToRegexp(E);if(P.length<=R.length){return v=>`/^${P}$/.test(${v})`}else{return v=>`!/^${R}$/.test(${v})`}};const popCommonItems=(v,E,P)=>{const R=new Map;for(const P of v){const v=E(P);if(v){let E=R.get(v);if(E===undefined){E=[];R.set(v,E)}E.push(P)}}const $=[];for(const E of R.values()){if(P(E)){for(const P of E){v.delete(P)}$.push(E)}}return $};const getCommonPrefix=v=>{let E=v[0];for(let P=1;P{let E=v[0];for(let P=1;P=0;v--,P--){if(R[v]!==E[P]){E=E.slice(P+1);break}}}return E};const itemsToRegexp=v=>{if(v.length===1){return quoteMeta(v[0])}const E=[];let P=0;for(const E of v){if(E.length===1){P++}}if(P===v.length){return`[${quoteMeta(v.sort().join(""))}]`}const R=new Set(v.sort());if(P>2){let v="";for(const E of R){if(E.length===1){v+=E;R.delete(E)}}E.push(`[${quoteMeta(v)}]`)}if(E.length===0&&R.size===2){const E=getCommonPrefix(v);const P=getCommonSuffix(v.map((v=>v.slice(E.length))));if(E.length>0||P.length>0){return`${quoteMeta(E)}${itemsToRegexp(v.map((v=>v.slice(E.length,-P.length||undefined))))}${quoteMeta(P)}`}}if(E.length===0&&R.size===2){const v=R[Symbol.iterator]();const E=v.next().value;const P=v.next().value;if(E.length>0&&P.length>0&&E.slice(-1)===P.slice(-1)){return`${itemsToRegexp([E.slice(0,-1),P.slice(0,-1)])}${quoteMeta(E.slice(-1))}`}}const $=popCommonItems(R,(v=>v.length>=1?v[0]:false),(v=>{if(v.length>=3)return true;if(v.length<=1)return false;return v[0][1]===v[1][1]}));for(const v of $){const P=getCommonPrefix(v);E.push(`${quoteMeta(P)}${itemsToRegexp(v.map((v=>v.slice(P.length))))}`)}const N=popCommonItems(R,(v=>v.length>=1?v.slice(-1):false),(v=>{if(v.length>=3)return true;if(v.length<=1)return false;return v[0].slice(-2)===v[1].slice(-2)}));for(const v of N){const P=getCommonSuffix(v);E.push(`${itemsToRegexp(v.map((v=>v.slice(0,-P.length))))}${quoteMeta(P)}`)}const L=E.concat(Array.from(R,quoteMeta));if(L.length===1)return L[0];return`(${L.join("|")})`};compileBooleanMatcher.fromLists=compileBooleanMatcherFromLists;compileBooleanMatcher.itemsToRegexp=itemsToRegexp;v.exports=compileBooleanMatcher},21596:function(v,E,P){"use strict";const R=P(25689);const $=R((()=>P(38476).validate));const createSchemaValidation=(v,E,N)=>{E=R(E);return R=>{if(v&&!v(R)){$()(E(),R,N);if(v){P(73837).deprecate((()=>{}),"webpack bug: Pre-compiled schema reports error while real schema is happy. This has performance drawbacks.","DEP_WEBPACK_PRE_COMPILED_SCHEMA_INVALID")()}}}};v.exports=createSchemaValidation},20932:function(v,E,P){"use strict";const R=P(17893);const $=2e3;const N={};class BulkUpdateDecorator extends R{constructor(v,E){super();this.hashKey=E;if(typeof v==="function"){this.hashFactory=v;this.hash=undefined}else{this.hashFactory=undefined;this.hash=v}this.buffer=""}update(v,E){if(E!==undefined||typeof v!=="string"||v.length>$){if(this.hash===undefined)this.hash=this.hashFactory();if(this.buffer.length>0){this.hash.update(this.buffer);this.buffer=""}this.hash.update(v,E)}else{this.buffer+=v;if(this.buffer.length>$){if(this.hash===undefined)this.hash=this.hashFactory();this.hash.update(this.buffer);this.buffer=""}}return this}digest(v){let E;const P=this.buffer;if(this.hash===undefined){const R=`${this.hashKey}-${v}`;E=N[R];if(E===undefined){E=N[R]=new Map}const $=E.get(P);if($!==undefined)return $;this.hash=this.hashFactory()}if(P.length>0){this.hash.update(P)}const R=this.hash.digest(v);const $=typeof R==="string"?R:R.toString();if(E!==undefined){E.set(P,$)}return $}}class DebugHash extends R{constructor(){super();this.string=""}update(v,E){if(typeof v!=="string")v=v.toString("utf-8");const P=Buffer.from("@webpack-debug-digest@").toString("hex");if(v.startsWith(P)){v=Buffer.from(v.slice(P.length),"hex").toString()}this.string+=`[${v}](${(new Error).stack.split("\n",3)[2]})\n`;return this}digest(v){return Buffer.from("@webpack-debug-digest@"+this.string).toString("hex")}}let L=undefined;let q=undefined;let K=undefined;let ae=undefined;v.exports=v=>{if(typeof v==="function"){return new BulkUpdateDecorator((()=>new v))}switch(v){case"debug":return new DebugHash;case"xxhash64":if(q===undefined){q=P(37527);if(ae===undefined){ae=P(79298)}}return new ae(q());case"md4":if(K===undefined){K=P(33655);if(ae===undefined){ae=P(79298)}}return new ae(K());case"native-md4":if(L===undefined)L=P(6113);return new BulkUpdateDecorator((()=>L.createHash("md4")),"md4");default:if(L===undefined)L=P(6113);return new BulkUpdateDecorator((()=>L.createHash(v)),v)}}},31950:function(v,E,P){"use strict";const R=P(73837);const $=new Map;const createDeprecation=(v,E)=>{const P=$.get(v);if(P!==undefined)return P;const N=R.deprecate((()=>{}),v,"DEP_WEBPACK_DEPRECATION_"+E);$.set(v,N);return N};const N=["concat","entry","filter","find","findIndex","includes","indexOf","join","lastIndexOf","map","reduce","reduceRight","slice","some"];const L=["copyWithin","entries","fill","keys","pop","reverse","shift","splice","sort","unshift"];E.arrayToSetDeprecation=(v,E)=>{for(const P of N){if(v[P])continue;const R=createDeprecation(`${E} was changed from Array to Set (using Array method '${P}' is deprecated)`,"ARRAY_TO_SET");v[P]=function(){R();const v=Array.from(this);return Array.prototype[P].apply(v,arguments)}}const P=createDeprecation(`${E} was changed from Array to Set (using Array method 'push' is deprecated)`,"ARRAY_TO_SET_PUSH");const R=createDeprecation(`${E} was changed from Array to Set (using Array property 'length' is deprecated)`,"ARRAY_TO_SET_LENGTH");const $=createDeprecation(`${E} was changed from Array to Set (indexing Array is deprecated)`,"ARRAY_TO_SET_INDEXER");v.push=function(){P();for(const v of Array.from(arguments)){this.add(v)}return this.size};for(const P of L){if(v[P])continue;v[P]=()=>{throw new Error(`${E} was changed from Array to Set (using Array method '${P}' is not possible)`)}}const createIndexGetter=v=>{const fn=function(){$();let E=0;for(const P of this){if(E++===v)return P}return undefined};return fn};const defineIndexGetter=P=>{Object.defineProperty(v,P,{get:createIndexGetter(P),set(v){throw new Error(`${E} was changed from Array to Set (indexing Array with write is not possible)`)}})};defineIndexGetter(0);let q=1;Object.defineProperty(v,"length",{get(){R();const v=this.size;for(q;q{let P=false;class SetDeprecatedArray extends Set{constructor(R){super(R);if(!P){P=true;E.arrayToSetDeprecation(SetDeprecatedArray.prototype,v)}}}return SetDeprecatedArray};E.soonFrozenObjectDeprecation=(v,E,P,$="")=>{const N=`${E} will be frozen in future, all modifications are deprecated.${$&&`\n${$}`}`;return new Proxy(v,{set:R.deprecate(((v,E,P,R)=>Reflect.set(v,E,P,R)),N,P),defineProperty:R.deprecate(((v,E,P)=>Reflect.defineProperty(v,E,P)),N,P),deleteProperty:R.deprecate(((v,E)=>Reflect.deleteProperty(v,E)),N,P),setPrototypeOf:R.deprecate(((v,E)=>Reflect.setPrototypeOf(v,E)),N,P)})};const deprecateAllProperties=(v,E,P)=>{const $={};const N=Object.getOwnPropertyDescriptors(v);for(const v of Object.keys(N)){const L=N[v];if(typeof L.value==="function"){Object.defineProperty($,v,{...L,value:R.deprecate(L.value,E,P)})}else if(L.get||L.set){Object.defineProperty($,v,{...L,get:L.get&&R.deprecate(L.get,E,P),set:L.set&&R.deprecate(L.set,E,P)})}else{let N=L.value;Object.defineProperty($,v,{configurable:L.configurable,enumerable:L.enumerable,get:R.deprecate((()=>N),E,P),set:L.writable?R.deprecate((v=>N=v),E,P):undefined})}}return $};E.deprecateAllProperties=deprecateAllProperties;E.createFakeHook=(v,E,P)=>{if(E&&P){v=deprecateAllProperties(v,E,P)}return Object.freeze(Object.assign(v,{_fakeHook:true}))}},98722:function(v){"use strict";const similarity=(v,E)=>{const P=Math.min(v.length,E.length);let R=0;for(let $=0;${const R=Math.min(v.length,E.length);let $=0;while(${for(const P of Object.keys(E)){v[P]=(v[P]||0)+E[P]}};const subtractSizeFrom=(v,E)=>{for(const P of Object.keys(E)){v[P]-=E[P]}};const sumSize=v=>{const E=Object.create(null);for(const P of v){addSizeTo(E,P.size)}return E};const isTooBig=(v,E)=>{for(const P of Object.keys(v)){const R=v[P];if(R===0)continue;const $=E[P];if(typeof $==="number"){if(R>$)return true}}return false};const isTooSmall=(v,E)=>{for(const P of Object.keys(v)){const R=v[P];if(R===0)continue;const $=E[P];if(typeof $==="number"){if(R<$)return true}}return false};const getTooSmallTypes=(v,E)=>{const P=new Set;for(const R of Object.keys(v)){const $=v[R];if($===0)continue;const N=E[R];if(typeof N==="number"){if(${let P=0;for(const R of Object.keys(v)){if(v[R]!==0&&E.has(R))P++}return P};const selectiveSizeSum=(v,E)=>{let P=0;for(const R of Object.keys(v)){if(v[R]!==0&&E.has(R))P+=v[R]}return P};class Node{constructor(v,E,P){this.item=v;this.key=E;this.size=P}}class Group{constructor(v,E,P){this.nodes=v;this.similarities=E;this.size=P||sumSize(v);this.key=undefined}popNodes(v){const E=[];const P=[];const R=[];let $;for(let N=0;N0){P.push($===this.nodes[N-1]?this.similarities[N-1]:similarity($.key,L.key))}E.push(L);$=L}}if(R.length===this.nodes.length)return undefined;this.nodes=E;this.similarities=P;this.size=sumSize(E);return R}}const getSimilarities=v=>{const E=[];let P=undefined;for(const R of v){if(P!==undefined){E.push(similarity(P.key,R.key))}P=R}return E};v.exports=({maxSize:v,minSize:E,items:P,getSize:R,getKey:$})=>{const N=[];const L=Array.from(P,(v=>new Node(v,$(v),R(v))));const q=[];L.sort(((v,E)=>{if(v.keyE.key)return 1;return 0}));for(const P of L){if(isTooBig(P.size,v)&&!isTooSmall(P.size,E)){N.push(new Group([P],[]))}else{q.push(P)}}if(q.length>0){const P=new Group(q,getSimilarities(q));const removeProblematicNodes=(v,P=v.size)=>{const R=getTooSmallTypes(P,E);if(R.size>0){const E=v.popNodes((v=>getNumberOfMatchingSizeTypes(v.size,R)>0));if(E===undefined)return false;const P=N.filter((v=>getNumberOfMatchingSizeTypes(v.size,R)>0));if(P.length>0){const v=P.reduce(((v,E)=>{const P=getNumberOfMatchingSizeTypes(v,R);const $=getNumberOfMatchingSizeTypes(E,R);if(P!==$)return P<$?E:v;if(selectiveSizeSum(v.size,R)>selectiveSizeSum(E.size,R))return E;return v}));for(const P of E)v.nodes.push(P);v.nodes.sort(((v,E)=>{if(v.keyE.key)return 1;return 0}))}else{N.push(new Group(E,null))}return true}else{return false}};if(P.nodes.length>0){const R=[P];while(R.length){const P=R.pop();if(!isTooBig(P.size,v)){N.push(P);continue}if(removeProblematicNodes(P)){R.push(P);continue}let $=1;let L=Object.create(null);addSizeTo(L,P.nodes[0].size);while($=0&&isTooSmall(K,E)){addSizeTo(K,P.nodes[q].size);q--}if($-1>q){let v;if(q{if(v.nodes[0].keyE.nodes[0].key)return 1;return 0}));const K=new Set;for(let v=0;v({key:v.key,items:v.nodes.map((v=>v.item)),size:v.size})))}},72059:function(v){"use strict";v.exports=function extractUrlAndGlobal(v){const E=v.indexOf("@");if(E<=0||E===v.length-1){throw new Error(`Invalid request "${v}"`)}return[v.substring(E+1),v.substring(0,E)]}},65874:function(v){"use strict";const E=0;const P=1;const R=2;const $=3;const N=4;class Node{constructor(v){this.item=v;this.dependencies=new Set;this.marker=E;this.cycle=undefined;this.incoming=0}}class Cycle{constructor(){this.nodes=new Set}}v.exports=(v,L)=>{const q=new Map;for(const E of v){const v=new Node(E);q.set(E,v)}if(q.size<=1)return v;for(const v of q.values()){for(const E of L(v.item)){const P=q.get(E);if(P!==undefined){v.dependencies.add(P)}}}const K=new Set;const ae=new Set;for(const v of q.values()){if(v.marker===E){v.marker=P;const L=[{node:v,openEdges:Array.from(v.dependencies)}];while(L.length>0){const v=L[L.length-1];if(v.openEdges.length>0){const q=v.openEdges.pop();switch(q.marker){case E:L.push({node:q,openEdges:Array.from(q.dependencies)});q.marker=P;break;case P:{let v=q.cycle;if(!v){v=new Cycle;v.nodes.add(q);q.cycle=v}for(let E=L.length-1;L[E].node!==q;E--){const P=L[E].node;if(P.cycle){if(P.cycle!==v){for(const E of P.cycle.nodes){E.cycle=v;v.nodes.add(E)}}}else{P.cycle=v;v.nodes.add(P)}}break}case N:q.marker=R;K.delete(q);break;case $:ae.delete(q.cycle);q.marker=R;break}}else{L.pop();v.node.marker=R}}const q=v.cycle;if(q){for(const v of q.nodes){v.marker=$}ae.add(q)}else{v.marker=N;K.add(v)}}}for(const v of ae){let E=0;const P=new Set;const R=v.nodes;for(const v of R){for(const $ of v.dependencies){if(R.has($)){$.incoming++;if($.incomingE){P.clear();E=$.incoming}P.add($)}}}for(const v of P){K.add(v)}}if(K.size>0){return Array.from(K,(v=>v.item))}else{throw new Error("Implementation of findGraphRoots is broken")}}},43860:function(v,E,P){"use strict";const R=P(71017);const relative=(v,E,P)=>{if(v&&v.relative){return v.relative(E,P)}else if(R.posix.isAbsolute(E)){return R.posix.relative(E,P)}else if(R.win32.isAbsolute(E)){return R.win32.relative(E,P)}else{throw new Error(`${E} is neither a posix nor a windows path, and there is no 'relative' method defined in the file system`)}};E.relative=relative;const join=(v,E,P)=>{if(v&&v.join){return v.join(E,P)}else if(R.posix.isAbsolute(E)){return R.posix.join(E,P)}else if(R.win32.isAbsolute(E)){return R.win32.join(E,P)}else{throw new Error(`${E} is neither a posix nor a windows path, and there is no 'join' method defined in the file system`)}};E.join=join;const dirname=(v,E)=>{if(v&&v.dirname){return v.dirname(E)}else if(R.posix.isAbsolute(E)){return R.posix.dirname(E)}else if(R.win32.isAbsolute(E)){return R.win32.dirname(E)}else{throw new Error(`${E} is neither a posix nor a windows path, and there is no 'dirname' method defined in the file system`)}};E.dirname=dirname;const mkdirp=(v,E,P)=>{v.mkdir(E,(R=>{if(R){if(R.code==="ENOENT"){const $=dirname(v,E);if($===E){P(R);return}mkdirp(v,$,(R=>{if(R){P(R);return}v.mkdir(E,(v=>{if(v){if(v.code==="EEXIST"){P();return}P(v);return}P()}))}));return}else if(R.code==="EEXIST"){P();return}P(R);return}P()}))};E.mkdirp=mkdirp;const mkdirpSync=(v,E)=>{try{v.mkdirSync(E)}catch(P){if(P){if(P.code==="ENOENT"){const R=dirname(v,E);if(R===E){throw P}mkdirpSync(v,R);v.mkdirSync(E);return}else if(P.code==="EEXIST"){return}throw P}}};E.mkdirpSync=mkdirpSync;const readJson=(v,E,P)=>{if("readJson"in v)return v.readJson(E,P);v.readFile(E,((v,E)=>{if(v)return P(v);let R;try{R=JSON.parse(E.toString("utf-8"))}catch(v){return P(v)}return P(null,R)}))};E.readJson=readJson;const lstatReadlinkAbsolute=(v,E,P)=>{let R=3;const doReadLink=()=>{v.readlink(E,(($,N)=>{if($&&--R>0){return doStat()}if($||!N)return doStat();const L=N.toString();P(null,join(v,dirname(v,E),L))}))};const doStat=()=>{if("lstat"in v){return v.lstat(E,((v,E)=>{if(v)return P(v);if(E.isSymbolicLink()){return doReadLink()}P(null,E)}))}else{return v.stat(E,P)}};if("lstat"in v)return doStat();doReadLink()};E.lstatReadlinkAbsolute=lstatReadlinkAbsolute},79298:function(v,E,P){"use strict";const R=P(17893);const $=P(6351).MAX_SHORT_STRING;class BatchedHash extends R{constructor(v){super();this.string=undefined;this.encoding=undefined;this.hash=v}update(v,E){if(this.string!==undefined){if(typeof v==="string"&&E===this.encoding&&this.string.length+v.length<$){this.string+=v;return this}this.hash.update(this.string,this.encoding);this.string=undefined}if(typeof v==="string"){if(v.length<$&&(!E||!E.startsWith("ba"))){this.string=v;this.encoding=E}else{this.hash.update(v,E)}}else{this.hash.update(v)}return this}digest(v){if(this.string!==undefined){this.hash.update(this.string,this.encoding)}return this.hash.digest(v)}}v.exports=BatchedHash},33655:function(v,E,P){"use strict";const R=P(6351);const $=new WebAssembly.Module(Buffer.from("AGFzbQEAAAABCAJgAX8AYAAAAwUEAQAAAAUDAQABBhoFfwFBAAt/AUEAC38BQQALfwFBAAt/AUEACwciBARpbml0AAAGdXBkYXRlAAIFZmluYWwAAwZtZW1vcnkCAAqJEAQmAEGBxpS6BiQBQYnXtv5+JAJB/rnrxXkkA0H2qMmBASQEQQAkAAvQCgEZfyMBIQUjAiECIwMhAyMEIQQDQCAAIAFLBEAgASgCBCIOIAQgAyABKAIAIg8gBSAEIAIgAyAEc3FzampBA3ciCCACIANzcXNqakEHdyEJIAEoAgwiBiACIAggASgCCCIQIAMgAiAJIAIgCHNxc2pqQQt3IgogCCAJc3FzampBE3chCyABKAIUIgcgCSAKIAEoAhAiESAIIAkgCyAJIApzcXNqakEDdyIMIAogC3Nxc2pqQQd3IQ0gASgCHCIJIAsgDCABKAIYIgggCiALIA0gCyAMc3FzampBC3ciEiAMIA1zcXNqakETdyETIAEoAiQiFCANIBIgASgCICIVIAwgDSATIA0gEnNxc2pqQQN3IgwgEiATc3FzampBB3chDSABKAIsIgsgEyAMIAEoAigiCiASIBMgDSAMIBNzcXNqakELdyISIAwgDXNxc2pqQRN3IRMgASgCNCIWIA0gEiABKAIwIhcgDCANIBMgDSASc3FzampBA3ciGCASIBNzcXNqakEHdyEZIBggASgCPCINIBMgGCABKAI4IgwgEiATIBkgEyAYc3FzampBC3ciEiAYIBlzcXNqakETdyITIBIgGXJxIBIgGXFyaiAPakGZ84nUBWpBA3ciGCATIBIgGSAYIBIgE3JxIBIgE3FyaiARakGZ84nUBWpBBXciEiATIBhycSATIBhxcmogFWpBmfOJ1AVqQQl3IhMgEiAYcnEgEiAYcXJqIBdqQZnzidQFakENdyIYIBIgE3JxIBIgE3FyaiAOakGZ84nUBWpBA3ciGSAYIBMgEiAZIBMgGHJxIBMgGHFyaiAHakGZ84nUBWpBBXciEiAYIBlycSAYIBlxcmogFGpBmfOJ1AVqQQl3IhMgEiAZcnEgEiAZcXJqIBZqQZnzidQFakENdyIYIBIgE3JxIBIgE3FyaiAQakGZ84nUBWpBA3ciGSAYIBMgEiAZIBMgGHJxIBMgGHFyaiAIakGZ84nUBWpBBXciEiAYIBlycSAYIBlxcmogCmpBmfOJ1AVqQQl3IhMgEiAZcnEgEiAZcXJqIAxqQZnzidQFakENdyIYIBIgE3JxIBIgE3FyaiAGakGZ84nUBWpBA3ciGSAYIBMgEiAZIBMgGHJxIBMgGHFyaiAJakGZ84nUBWpBBXciEiAYIBlycSAYIBlxcmogC2pBmfOJ1AVqQQl3IhMgEiAZcnEgEiAZcXJqIA1qQZnzidQFakENdyIYIBNzIBJzaiAPakGh1+f2BmpBA3ciDyAYIBMgEiAPIBhzIBNzaiAVakGh1+f2BmpBCXciEiAPcyAYc2ogEWpBodfn9gZqQQt3IhEgEnMgD3NqIBdqQaHX5/YGakEPdyIPIBFzIBJzaiAQakGh1+f2BmpBA3ciECAPIBEgEiAPIBBzIBFzaiAKakGh1+f2BmpBCXciCiAQcyAPc2ogCGpBodfn9gZqQQt3IgggCnMgEHNqIAxqQaHX5/YGakEPdyIMIAhzIApzaiAOakGh1+f2BmpBA3ciDiAMIAggCiAMIA5zIAhzaiAUakGh1+f2BmpBCXciCCAOcyAMc2ogB2pBodfn9gZqQQt3IgcgCHMgDnNqIBZqQaHX5/YGakEPdyIKIAdzIAhzaiAGakGh1+f2BmpBA3ciBiAFaiEFIAIgCiAHIAggBiAKcyAHc2ogC2pBodfn9gZqQQl3IgcgBnMgCnNqIAlqQaHX5/YGakELdyIIIAdzIAZzaiANakGh1+f2BmpBD3dqIQIgAyAIaiEDIAQgB2ohBCABQUBrIQEMAQsLIAUkASACJAIgAyQDIAQkBAsNACAAEAEjACAAaiQAC/8EAgN/AX4jACAAaq1CA4YhBCAAQcgAakFAcSICQQhrIQMgACIBQQFqIQAgAUGAAToAAANAIAAgAklBACAAQQdxGwRAIABBADoAACAAQQFqIQAMAQsLA0AgACACSQRAIABCADcDACAAQQhqIQAMAQsLIAMgBDcDACACEAFBACMBrSIEQv//A4MgBEKAgPz/D4NCEIaEIgRC/4GAgPAfgyAEQoD+g4CA4D+DQgiGhCIEQo+AvIDwgcAHg0IIhiAEQvCBwIeAnoD4AINCBIiEIgRChoyYsODAgYMGfEIEiEKBgoSIkKDAgAGDQid+IARCsODAgYOGjJgwhHw3AwBBCCMCrSIEQv//A4MgBEKAgPz/D4NCEIaEIgRC/4GAgPAfgyAEQoD+g4CA4D+DQgiGhCIEQo+AvIDwgcAHg0IIhiAEQvCBwIeAnoD4AINCBIiEIgRChoyYsODAgYMGfEIEiEKBgoSIkKDAgAGDQid+IARCsODAgYOGjJgwhHw3AwBBECMDrSIEQv//A4MgBEKAgPz/D4NCEIaEIgRC/4GAgPAfgyAEQoD+g4CA4D+DQgiGhCIEQo+AvIDwgcAHg0IIhiAEQvCBwIeAnoD4AINCBIiEIgRChoyYsODAgYMGfEIEiEKBgoSIkKDAgAGDQid+IARCsODAgYOGjJgwhHw3AwBBGCMErSIEQv//A4MgBEKAgPz/D4NCEIaEIgRC/4GAgPAfgyAEQoD+g4CA4D+DQgiGhCIEQo+AvIDwgcAHg0IIhiAEQvCBwIeAnoD4AINCBIiEIgRChoyYsODAgYMGfEIEiEKBgoSIkKDAgAGDQid+IARCsODAgYOGjJgwhHw3AwAL","base64"));v.exports=R.bind(null,$,[],64,32)},6351:function(v){"use strict";const E=Math.floor((65536-64)/4)&~3;class WasmHash{constructor(v,E,P,R){const $=v.exports;$.init();this.exports=$;this.mem=Buffer.from($.memory.buffer,0,65536);this.buffered=0;this.instancesPool=E;this.chunkSize=P;this.digestSize=R}reset(){this.buffered=0;this.exports.init()}update(v,P){if(typeof v==="string"){while(v.length>E){this._updateWithShortString(v.slice(0,E),P);v=v.slice(E)}this._updateWithShortString(v,P);return this}this._updateWithBuffer(v);return this}_updateWithShortString(v,E){const{exports:P,buffered:R,mem:$,chunkSize:N}=this;let L;if(v.length<70){if(!E||E==="utf-8"||E==="utf8"){L=R;for(let P=0;P>6|192;$[L+1]=R&63|128;L+=2}else{L+=$.write(v.slice(P),L,E);break}}}else if(E==="latin1"){L=R;for(let E=0;E0)$.copyWithin(0,v,L)}}_updateWithBuffer(v){const{exports:E,buffered:P,mem:R}=this;const $=v.length;if(P+$65536){let $=65536-P;v.copy(R,P,0,$);E.update(65536);const L=N-P-65536;while($0)v.copy(R,0,$-L,$)}}digest(v){const{exports:E,buffered:P,mem:R,digestSize:$}=this;E.final(P);this.instancesPool.push(this);const N=R.toString("latin1",0,$);if(v==="hex")return N;if(v==="binary"||!v)return Buffer.from(N,"hex");return Buffer.from(N,"hex").toString(v)}}const create=(v,E,P,R)=>{if(E.length>0){const v=E.pop();v.reset();return v}else{return new WasmHash(new WebAssembly.Instance(v),E,P,R)}};v.exports=create;v.exports.MAX_SHORT_STRING=E},37527:function(v,E,P){"use strict";const R=P(6351);const $=new WebAssembly.Module(Buffer.from("AGFzbQEAAAABCAJgAX8AYAAAAwQDAQAABQMBAAEGGgV+AUIAC34BQgALfgFCAAt+AUIAC34BQgALByIEBGluaXQAAAZ1cGRhdGUAAQVmaW5hbAACBm1lbW9yeQIACrAIAzAAQtbrgu7q/Yn14AAkAELP1tO+0ser2UIkAUIAJAJC+erQ0OfJoeThACQDQgAkBAvUAQIBfwR+IABFBEAPCyMEIACtfCQEIwAhAiMBIQMjAiEEIwMhBQNAIAIgASkDAELP1tO+0ser2UJ+fEIfiUKHla+vmLbem55/fiECIAMgASkDCELP1tO+0ser2UJ+fEIfiUKHla+vmLbem55/fiEDIAQgASkDEELP1tO+0ser2UJ+fEIfiUKHla+vmLbem55/fiEEIAUgASkDGELP1tO+0ser2UJ+fEIfiUKHla+vmLbem55/fiEFIAFBIGoiASAASQ0ACyACJAAgAyQBIAQkAiAFJAMLpgYCAn8EfiMEQgBSBH4jACIDQgGJIwEiBEIHiXwjAiIFQgyJfCMDIgZCEol8IANCz9bTvtLHq9lCfkIfiUKHla+vmLbem55/foVCh5Wvr5i23puef35CnaO16oOxjYr6AH0gBELP1tO+0ser2UJ+Qh+JQoeVr6+Ytt6bnn9+hUKHla+vmLbem55/fkKdo7Xqg7GNivoAfSAFQs/W077Sx6vZQn5CH4lCh5Wvr5i23puef36FQoeVr6+Ytt6bnn9+Qp2jteqDsY2K+gB9IAZCz9bTvtLHq9lCfkIfiUKHla+vmLbem55/foVCh5Wvr5i23puef35CnaO16oOxjYr6AH0FQsXP2bLx5brqJwsjBCAArXx8IQMDQCABQQhqIgIgAE0EQCADIAEpAwBCz9bTvtLHq9lCfkIfiUKHla+vmLbem55/foVCG4lCh5Wvr5i23puef35CnaO16oOxjYr6AH0hAyACIQEMAQsLIAFBBGoiAiAATQRAIAMgATUCAEKHla+vmLbem55/foVCF4lCz9bTvtLHq9lCfkL5893xmfaZqxZ8IQMgAiEBCwNAIAAgAUcEQCADIAExAABCxc/ZsvHluuonfoVCC4lCh5Wvr5i23puef34hAyABQQFqIQEMAQsLQQAgAyADQiGIhULP1tO+0ser2UJ+IgNCHYggA4VC+fPd8Zn2masWfiIDQiCIIAOFIgNCIIgiBEL//wODQiCGIARCgID8/w+DQhCIhCIEQv+BgIDwH4NCEIYgBEKA/oOAgOA/g0IIiIQiBEKPgLyA8IHAB4NCCIYgBELwgcCHgJ6A+ACDQgSIhCIEQoaMmLDgwIGDBnxCBIhCgYKEiJCgwIABg0InfiAEQrDgwIGDhoyYMIR8NwMAQQggA0L/////D4MiA0L//wODQiCGIANCgID8/w+DQhCIhCIDQv+BgIDwH4NCEIYgA0KA/oOAgOA/g0IIiIQiA0KPgLyA8IHAB4NCCIYgA0LwgcCHgJ6A+ACDQgSIhCIDQoaMmLDgwIGDBnxCBIhCgYKEiJCgwIABg0InfiADQrDgwIGDhoyYMIR8NwMACw==","base64"));v.exports=R.bind(null,$,[],32,16)},51984:function(v,E,P){"use strict";const R=P(71017);const $=/^[a-zA-Z]:[\\/]/;const N=/([|!])/;const L=/\\/g;const relativePathToRequest=v=>{if(v==="")return"./.";if(v==="..")return"../.";if(v.startsWith("../"))return v;return`./${v}`};const absoluteToRequest=(v,E)=>{if(E[0]==="/"){if(E.length>1&&E[E.length-1]==="/"){return E}const P=E.indexOf("?");let $=P===-1?E:E.slice(0,P);$=relativePathToRequest(R.posix.relative(v,$));return P===-1?$:$+E.slice(P)}if($.test(E)){const P=E.indexOf("?");let N=P===-1?E:E.slice(0,P);N=R.win32.relative(v,N);if(!$.test(N)){N=relativePathToRequest(N.replace(L,"/"))}return P===-1?N:N+E.slice(P)}return E};const requestToAbsolute=(v,E)=>{if(E.startsWith("./")||E.startsWith("../"))return R.join(v,E);return E};const makeCacheable=v=>{const E=new WeakMap;const getCache=v=>{const P=E.get(v);if(P!==undefined)return P;const R=new Map;E.set(v,R);return R};const fn=(E,P)=>{if(!P)return v(E);const R=getCache(P);const $=R.get(E);if($!==undefined)return $;const N=v(E);R.set(E,N);return N};fn.bindCache=E=>{const P=getCache(E);return E=>{const R=P.get(E);if(R!==undefined)return R;const $=v(E);P.set(E,$);return $}};return fn};const makeCacheableWithContext=v=>{const E=new WeakMap;const cachedFn=(P,R,$)=>{if(!$)return v(P,R);let N=E.get($);if(N===undefined){N=new Map;E.set($,N)}let L;let q=N.get(P);if(q===undefined){N.set(P,q=new Map)}else{L=q.get(R)}if(L!==undefined){return L}else{const E=v(P,R);q.set(R,E);return E}};cachedFn.bindCache=P=>{let R;if(P){R=E.get(P);if(R===undefined){R=new Map;E.set(P,R)}}else{R=new Map}const boundFn=(E,P)=>{let $;let N=R.get(E);if(N===undefined){R.set(E,N=new Map)}else{$=N.get(P)}if($!==undefined){return $}else{const R=v(E,P);N.set(P,R);return R}};return boundFn};cachedFn.bindContextCache=(P,R)=>{let $;if(R){let v=E.get(R);if(v===undefined){v=new Map;E.set(R,v)}$=v.get(P);if($===undefined){v.set(P,$=new Map)}}else{$=new Map}const boundFn=E=>{const R=$.get(E);if(R!==undefined){return R}else{const R=v(P,E);$.set(E,R);return R}};return boundFn};return cachedFn};const _makePathsRelative=(v,E)=>E.split(N).map((E=>absoluteToRequest(v,E))).join("");E.makePathsRelative=makeCacheableWithContext(_makePathsRelative);const _makePathsAbsolute=(v,E)=>E.split(N).map((E=>requestToAbsolute(v,E))).join("");E.makePathsAbsolute=makeCacheableWithContext(_makePathsAbsolute);const _contextify=(v,E)=>E.split("!").map((E=>absoluteToRequest(v,E))).join("!");const q=makeCacheableWithContext(_contextify);E.contextify=q;const _absolutify=(v,E)=>E.split("!").map((E=>requestToAbsolute(v,E))).join("!");const K=makeCacheableWithContext(_absolutify);E.absolutify=K;const ae=/^((?:\0.|[^?#\0])*)(\?(?:\0.|[^#\0])*)?(#.*)?$/;const ge=/^((?:\0.|[^?\0])*)(\?.*)?$/;const _parseResource=v=>{const E=ae.exec(v);return{resource:v,path:E[1].replace(/\0(.)/g,"$1"),query:E[2]?E[2].replace(/\0(.)/g,"$1"):"",fragment:E[3]||""}};E.parseResource=makeCacheable(_parseResource);const _parseResourceWithoutFragment=v=>{const E=ge.exec(v);return{resource:v,path:E[1].replace(/\0(.)/g,"$1"),query:E[2]?E[2].replace(/\0(.)/g,"$1"):""}};E.parseResourceWithoutFragment=makeCacheable(_parseResourceWithoutFragment);E.getUndoPath=(v,E,P)=>{let R=-1;let $="";E=E.replace(/[\\/]$/,"");for(const P of v.split(/[/\\]+/)){if(P===".."){if(R>-1){R--}else{const v=E.lastIndexOf("/");const P=E.lastIndexOf("\\");const R=v<0?P:P<0?v:Math.max(v,P);if(R<0)return E+"/";$=E.slice(R+1)+"/"+$;E=E.slice(0,R)}}else if(P!=="."){R++}}return R>0?`${"../".repeat(R)}${$}`:P?`./${$}`:$}},48837:function(v,E,P){"use strict";v.exports={AsyncDependenciesBlock:()=>P(55936),CommentCompilationWarning:()=>P(64584),ContextModule:()=>P(11076),"cache/PackFileCacheStrategy":()=>P(81080),"cache/ResolverCachePlugin":()=>P(33261),"container/ContainerEntryDependency":()=>P(17036),"container/ContainerEntryModule":()=>P(17332),"container/ContainerExposedDependency":()=>P(22217),"container/FallbackDependency":()=>P(28969),"container/FallbackItemDependency":()=>P(24680),"container/FallbackModule":()=>P(73419),"container/RemoteModule":()=>P(55185),"container/RemoteToExternalDependency":()=>P(7171),"dependencies/AMDDefineDependency":()=>P(18949),"dependencies/AMDRequireArrayDependency":()=>P(1675),"dependencies/AMDRequireContextDependency":()=>P(47864),"dependencies/AMDRequireDependenciesBlock":()=>P(3465),"dependencies/AMDRequireDependency":()=>P(98166),"dependencies/AMDRequireItemDependency":()=>P(2505),"dependencies/CachedConstDependency":()=>P(10194),"dependencies/ExternalModuleDependency":()=>P(83945),"dependencies/ExternalModuleInitFragment":()=>P(76386),"dependencies/CreateScriptUrlDependency":()=>P(22861),"dependencies/CommonJsRequireContextDependency":()=>P(1331),"dependencies/CommonJsExportRequireDependency":()=>P(75827),"dependencies/CommonJsExportsDependency":()=>P(96111),"dependencies/CommonJsFullRequireDependency":()=>P(51531),"dependencies/CommonJsRequireDependency":()=>P(9201),"dependencies/CommonJsSelfReferenceDependency":()=>P(52371),"dependencies/ConstDependency":()=>P(9297),"dependencies/ContextDependency":()=>P(19397),"dependencies/ContextElementDependency":()=>P(17817),"dependencies/CriticalDependencyWarning":()=>P(27011),"dependencies/CssImportDependency":()=>P(53008),"dependencies/CssLocalIdentifierDependency":()=>P(84119),"dependencies/CssSelfLocalIdentifierDependency":()=>P(10691),"dependencies/CssExportDependency":()=>P(29827),"dependencies/CssUrlDependency":()=>P(11208),"dependencies/DelegatedSourceDependency":()=>P(88278),"dependencies/DllEntryDependency":()=>P(19191),"dependencies/EntryDependency":()=>P(99520),"dependencies/ExportsInfoDependency":()=>P(48535),"dependencies/HarmonyAcceptDependency":()=>P(16781),"dependencies/HarmonyAcceptImportDependency":()=>P(41465),"dependencies/HarmonyCompatibilityDependency":()=>P(49914),"dependencies/HarmonyExportExpressionDependency":()=>P(67876),"dependencies/HarmonyExportHeaderDependency":()=>P(88125),"dependencies/HarmonyExportImportedSpecifierDependency":()=>P(9797),"dependencies/HarmonyExportSpecifierDependency":()=>P(42833),"dependencies/HarmonyImportSideEffectDependency":()=>P(33306),"dependencies/HarmonyImportSpecifierDependency":()=>P(15965),"dependencies/HarmonyEvaluatedImportSpecifierDependency":()=>P(22514),"dependencies/ImportContextDependency":()=>P(15009),"dependencies/ImportDependency":()=>P(81754),"dependencies/ImportEagerDependency":()=>P(92341),"dependencies/ImportWeakDependency":()=>P(94873),"dependencies/JsonExportsDependency":()=>P(62927),"dependencies/LocalModule":()=>P(3679),"dependencies/LocalModuleDependency":()=>P(85521),"dependencies/ModuleDecoratorDependency":()=>P(83985),"dependencies/ModuleHotAcceptDependency":()=>P(8082),"dependencies/ModuleHotDeclineDependency":()=>P(29653),"dependencies/ImportMetaHotAcceptDependency":()=>P(2920),"dependencies/ImportMetaHotDeclineDependency":()=>P(24949),"dependencies/ImportMetaContextDependency":()=>P(97576),"dependencies/ProvidedDependency":()=>P(74121),"dependencies/PureExpressionDependency":()=>P(59854),"dependencies/RequireContextDependency":()=>P(6990),"dependencies/RequireEnsureDependenciesBlock":()=>P(97481),"dependencies/RequireEnsureDependency":()=>P(17729),"dependencies/RequireEnsureItemDependency":()=>P(80843),"dependencies/RequireHeaderDependency":()=>P(80418),"dependencies/RequireIncludeDependency":()=>P(98545),"dependencies/RequireIncludeDependencyParserPlugin":()=>P(48333),"dependencies/RequireResolveContextDependency":()=>P(341),"dependencies/RequireResolveDependency":()=>P(72103),"dependencies/RequireResolveHeaderDependency":()=>P(46636),"dependencies/RuntimeRequirementsDependency":()=>P(94280),"dependencies/StaticExportsDependency":()=>P(92090),"dependencies/SystemPlugin":()=>P(91032),"dependencies/UnsupportedDependency":()=>P(95043),"dependencies/URLDependency":()=>P(57745),"dependencies/WebAssemblyExportImportedDependency":()=>P(76863),"dependencies/WebAssemblyImportDependency":()=>P(47874),"dependencies/WebpackIsIncludedDependency":()=>P(96134),"dependencies/WorkerDependency":()=>P(12517),"json/JsonData":()=>P(26427),"optimize/ConcatenatedModule":()=>P(98557),DelegatedModule:()=>P(87238),DependenciesBlock:()=>P(60890),DllModule:()=>P(63744),ExternalModule:()=>P(74805),FileSystemInfo:()=>P(24965),InitFragment:()=>P(23596),InvalidDependenciesModuleWarning:()=>P(21092),Module:()=>P(72011),ModuleBuildError:()=>P(8627),ModuleDependencyWarning:()=>P(34734),ModuleError:()=>P(15073),ModuleGraph:()=>P(49188),ModuleParseError:()=>P(8899),ModuleWarning:()=>P(14763),NormalModule:()=>P(80346),CssModule:()=>P(72702),RawDataUrlModule:()=>P(88249),RawModule:()=>P(35976),"sharing/ConsumeSharedModule":()=>P(22973),"sharing/ConsumeSharedFallbackDependency":()=>P(74559),"sharing/ProvideSharedModule":()=>P(21764),"sharing/ProvideSharedDependency":()=>P(68970),"sharing/ProvideForSharedDependency":()=>P(5163),UnsupportedFeatureWarning:()=>P(90784),"util/LazySet":()=>P(2035),UnhandledSchemeError:()=>P(27723),NodeStuffInWebError:()=>P(10957),EnvironmentNotSupportAsyncWarning:()=>P(66866),WebpackError:()=>P(16413),"util/registerExternalSerializer":()=>{}}},41718:function(v,E,P){"use strict";const{register:R}=P(29260);class ClassSerializer{constructor(v){this.Constructor=v}serialize(v,E){v.serialize(E)}deserialize(v){if(typeof this.Constructor.deserialize==="function"){return this.Constructor.deserialize(v)}const E=new this.Constructor;E.deserialize(v);return E}}v.exports=(v,E,P=null)=>{R(v,E,P,new ClassSerializer(v))}},25689:function(v){"use strict";const memoize=v=>{let E=false;let P=undefined;return()=>{if(E){return P}else{P=v();E=true;v=undefined;return P}}};v.exports=memoize},20859:function(v){"use strict";const E="a".charCodeAt(0);v.exports=(v,P)=>{if(P<1)return"";const R=v.slice(0,P);if(R.match(/[^\d]/))return R;return`${String.fromCharCode(E+parseInt(v[0],10)%6)}${R.slice(1)}`}},76694:function(v){"use strict";const E=2147483648;const P=E-1;const R=4;const $=[0,0,0,0,0];const N=[3,7,17,19];v.exports=(v,L)=>{$.fill(0);for(let E=0;E>1;$[1]=$[1]^$[$[1]%R]>>1;$[2]=$[2]^$[$[2]%R]>>1;$[3]=$[3]^$[$[3]%R]>>1}if(L<=P){return($[0]+$[1]+$[2]+$[3])%L}else{const v=Math.floor(L/E);const R=$[0]+$[2]&P;const N=($[0]+$[2])%v;return(N*E+R)%L}}},63842:function(v){"use strict";const processAsyncTree=(v,E,P,R)=>{const $=Array.from(v);if($.length===0)return R();let N=0;let L=false;let q=true;const push=v=>{$.push(v);if(!q&&N{N--;if(v&&!L){L=true;R(v);return}if(!q){q=true;process.nextTick(processQueue)}};const processQueue=()=>{if(L)return;while(N0){N++;const v=$.pop();P(v,push,processorCallback)}q=false;if($.length===0&&N===0&&!L){L=true;R()}};processQueue()};v.exports=processAsyncTree},11930:function(v,E,P){"use strict";const{SAFE_IDENTIFIER:R,RESERVED_IDENTIFIER:$}=P(15780);const propertyAccess=(v,E=0)=>{let P="";for(let N=E;N{if(E.test(v)&&!P.has(v)){return v}else{return JSON.stringify(v)}};v.exports={SAFE_IDENTIFIER:E,RESERVED_IDENTIFIER:P,propertyName:propertyName}},56437:function(v,E,P){"use strict";const{register:R}=P(29260);const $=P(31988).Position;const N=P(31988).SourceLocation;const L=P(94362).Z;const{CachedSource:q,ConcatSource:K,OriginalSource:ae,PrefixSource:ge,RawSource:be,ReplaceSource:xe,SourceMapSource:ve}=P(51255);const Ae="webpack/lib/util/registerExternalSerializer";R(q,Ae,"webpack-sources/CachedSource",new class CachedSourceSerializer{serialize(v,{write:E,writeLazy:P}){if(P){P(v.originalLazy())}else{E(v.original())}E(v.getCachedData())}deserialize({read:v}){const E=v();const P=v();return new q(E,P)}});R(be,Ae,"webpack-sources/RawSource",new class RawSourceSerializer{serialize(v,{write:E}){E(v.buffer());E(!v.isBuffer())}deserialize({read:v}){const E=v();const P=v();return new be(E,P)}});R(K,Ae,"webpack-sources/ConcatSource",new class ConcatSourceSerializer{serialize(v,{write:E}){E(v.getChildren())}deserialize({read:v}){const E=new K;E.addAllSkipOptimizing(v());return E}});R(ge,Ae,"webpack-sources/PrefixSource",new class PrefixSourceSerializer{serialize(v,{write:E}){E(v.getPrefix());E(v.original())}deserialize({read:v}){return new ge(v(),v())}});R(xe,Ae,"webpack-sources/ReplaceSource",new class ReplaceSourceSerializer{serialize(v,{write:E}){E(v.original());E(v.getName());const P=v.getReplacements();E(P.length);for(const v of P){E(v.start);E(v.end)}for(const v of P){E(v.content);E(v.name)}}deserialize({read:v}){const E=new xe(v(),v());const P=v();const R=[];for(let E=0;E{let R;let $;if(P){({dependOn:R,runtime:$}=P)}else{const P=v.entries.get(E);if(!P)return E;({dependOn:R,runtime:$}=P.options)}if(R){let P=undefined;const $=new Set(R);for(const E of $){const R=v.entries.get(E);if(!R)continue;const{dependOn:N,runtime:L}=R.options;if(N){for(const v of N){$.add(v)}}else{P=mergeRuntimeOwned(P,L||E)}}return P||E}else{return $||E}};const forEachRuntime=(v,E,P=false)=>{if(v===undefined){E(undefined)}else if(typeof v==="string"){E(v)}else{if(P)v.sort();for(const P of v){E(P)}}};E.forEachRuntime=forEachRuntime;const getRuntimesKey=v=>{v.sort();return Array.from(v).join("\n")};const getRuntimeKey=v=>{if(v===undefined)return"*";if(typeof v==="string")return v;return v.getFromUnorderedCache(getRuntimesKey)};E.getRuntimeKey=getRuntimeKey;const keyToRuntime=v=>{if(v==="*")return undefined;const E=v.split("\n");if(E.length===1)return E[0];return new R(E)};E.keyToRuntime=keyToRuntime;const getRuntimesString=v=>{v.sort();return Array.from(v).join("+")};const runtimeToString=v=>{if(v===undefined)return"*";if(typeof v==="string")return v;return v.getFromUnorderedCache(getRuntimesString)};E.runtimeToString=runtimeToString;E.runtimeConditionToString=v=>{if(v===true)return"true";if(v===false)return"false";return runtimeToString(v)};const runtimeEqual=(v,E)=>{if(v===E){return true}else if(v===undefined||E===undefined||typeof v==="string"||typeof E==="string"){return false}else if(v.size!==E.size){return false}else{v.sort();E.sort();const P=v[Symbol.iterator]();const R=E[Symbol.iterator]();for(;;){const v=P.next();if(v.done)return true;const E=R.next();if(v.value!==E.value)return false}}};E.runtimeEqual=runtimeEqual;E.compareRuntime=(v,E)=>{if(v===E){return 0}else if(v===undefined){return-1}else if(E===undefined){return 1}else{const P=getRuntimeKey(v);const R=getRuntimeKey(E);if(PR)return 1;return 0}};const mergeRuntime=(v,E)=>{if(v===undefined){return E}else if(E===undefined){return v}else if(v===E){return v}else if(typeof v==="string"){if(typeof E==="string"){const P=new R;P.add(v);P.add(E);return P}else if(E.has(v)){return E}else{const P=new R(E);P.add(v);return P}}else{if(typeof E==="string"){if(v.has(E))return v;const P=new R(v);P.add(E);return P}else{const P=new R(v);for(const v of E)P.add(v);if(P.size===v.size)return v;return P}}};E.mergeRuntime=mergeRuntime;E.deepMergeRuntime=(v,E)=>{if(!Array.isArray(v)){return E}let P=E;for(const R of v){P=mergeRuntime(E,R)}return P};E.mergeRuntimeCondition=(v,E,P)=>{if(v===false)return E;if(E===false)return v;if(v===true||E===true)return true;const R=mergeRuntime(v,E);if(R===undefined)return undefined;if(typeof R==="string"){if(typeof P==="string"&&R===P)return true;return R}if(typeof P==="string"||P===undefined)return R;if(R.size===P.size)return true;return R};E.mergeRuntimeConditionNonFalse=(v,E,P)=>{if(v===true||E===true)return true;const R=mergeRuntime(v,E);if(R===undefined)return undefined;if(typeof R==="string"){if(typeof P==="string"&&R===P)return true;return R}if(typeof P==="string"||P===undefined)return R;if(R.size===P.size)return true;return R};const mergeRuntimeOwned=(v,E)=>{if(E===undefined){return v}else if(v===E){return v}else if(v===undefined){if(typeof E==="string"){return E}else{return new R(E)}}else if(typeof v==="string"){if(typeof E==="string"){const P=new R;P.add(v);P.add(E);return P}else{const P=new R(E);P.add(v);return P}}else{if(typeof E==="string"){v.add(E);return v}else{for(const P of E)v.add(P);return v}}};E.mergeRuntimeOwned=mergeRuntimeOwned;E.intersectRuntime=(v,E)=>{if(v===undefined){return E}else if(E===undefined){return v}else if(v===E){return v}else if(typeof v==="string"){if(typeof E==="string"){return undefined}else if(E.has(v)){return v}else{return undefined}}else{if(typeof E==="string"){if(v.has(E))return E;return undefined}else{const P=new R;for(const R of E){if(v.has(R))P.add(R)}if(P.size===0)return undefined;if(P.size===1)for(const v of P)return v;return P}}};const subtractRuntime=(v,E)=>{if(v===undefined){return undefined}else if(E===undefined){return v}else if(v===E){return undefined}else if(typeof v==="string"){if(typeof E==="string"){return v}else if(E.has(v)){return undefined}else{return v}}else{if(typeof E==="string"){if(!v.has(E))return v;if(v.size===2){for(const P of v){if(P!==E)return P}}const P=new R(v);P.delete(E)}else{const P=new R;for(const R of v){if(!E.has(R))P.add(R)}if(P.size===0)return undefined;if(P.size===1)for(const v of P)return v;return P}}};E.subtractRuntime=subtractRuntime;E.subtractRuntimeCondition=(v,E,P)=>{if(E===true)return false;if(E===false)return v;if(v===false)return false;const R=subtractRuntime(v===true?P:v,E);return R===undefined?false:R};E.filterRuntime=(v,E)=>{if(v===undefined)return E(undefined);if(typeof v==="string")return E(v);let P=false;let R=true;let $=undefined;for(const N of v){const v=E(N);if(v){P=true;$=mergeRuntimeOwned($,N)}else{R=false}}if(!P)return false;if(R)return true;return $};class RuntimeSpecMap{constructor(v){this._mode=v?v._mode:0;this._singleRuntime=v?v._singleRuntime:undefined;this._singleValue=v?v._singleValue:undefined;this._map=v&&v._map?new Map(v._map):undefined}get(v){switch(this._mode){case 0:return undefined;case 1:return runtimeEqual(this._singleRuntime,v)?this._singleValue:undefined;default:return this._map.get(getRuntimeKey(v))}}has(v){switch(this._mode){case 0:return false;case 1:return runtimeEqual(this._singleRuntime,v);default:return this._map.has(getRuntimeKey(v))}}set(v,E){switch(this._mode){case 0:this._mode=1;this._singleRuntime=v;this._singleValue=E;break;case 1:if(runtimeEqual(this._singleRuntime,v)){this._singleValue=E;break}this._mode=2;this._map=new Map;this._map.set(getRuntimeKey(this._singleRuntime),this._singleValue);this._singleRuntime=undefined;this._singleValue=undefined;default:this._map.set(getRuntimeKey(v),E)}}provide(v,E){switch(this._mode){case 0:this._mode=1;this._singleRuntime=v;return this._singleValue=E();case 1:{if(runtimeEqual(this._singleRuntime,v)){return this._singleValue}this._mode=2;this._map=new Map;this._map.set(getRuntimeKey(this._singleRuntime),this._singleValue);this._singleRuntime=undefined;this._singleValue=undefined;const P=E();this._map.set(getRuntimeKey(v),P);return P}default:{const P=getRuntimeKey(v);const R=this._map.get(P);if(R!==undefined)return R;const $=E();this._map.set(P,$);return $}}}delete(v){switch(this._mode){case 0:return;case 1:if(runtimeEqual(this._singleRuntime,v)){this._mode=0;this._singleRuntime=undefined;this._singleValue=undefined}return;default:this._map.delete(getRuntimeKey(v))}}update(v,E){switch(this._mode){case 0:throw new Error("runtime passed to update must exist");case 1:{if(runtimeEqual(this._singleRuntime,v)){this._singleValue=E(this._singleValue);break}const P=E(undefined);if(P!==undefined){this._mode=2;this._map=new Map;this._map.set(getRuntimeKey(this._singleRuntime),this._singleValue);this._singleRuntime=undefined;this._singleValue=undefined;this._map.set(getRuntimeKey(v),P)}break}default:{const P=getRuntimeKey(v);const R=this._map.get(P);const $=E(R);if($!==R)this._map.set(P,$)}}}keys(){switch(this._mode){case 0:return[];case 1:return[this._singleRuntime];default:return Array.from(this._map.keys(),keyToRuntime)}}values(){switch(this._mode){case 0:return[][Symbol.iterator]();case 1:return[this._singleValue][Symbol.iterator]();default:return this._map.values()}}get size(){if(this._mode<=1)return this._mode;return this._map.size}}E.RuntimeSpecMap=RuntimeSpecMap;class RuntimeSpecSet{constructor(v){this._map=new Map;if(v){for(const E of v){this.add(E)}}}add(v){this._map.set(getRuntimeKey(v),v)}has(v){return this._map.has(getRuntimeKey(v))}[Symbol.iterator](){return this._map.values()}get size(){return this._map.size}}E.RuntimeSpecSet=RuntimeSpecSet},48997:function(v,E){"use strict";const parseVersion=v=>{var splitAndConvert=function(v){return v.split(".").map((function(v){return+v==v?+v:v}))};var E=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(v);var P=E[1]?splitAndConvert(E[1]):[];if(E[2]){P.length++;P.push.apply(P,splitAndConvert(E[2]))}if(E[3]){P.push([]);P.push.apply(P,splitAndConvert(E[3]))}return P};E.parseVersion=parseVersion;const versionLt=(v,E)=>{v=parseVersion(v);E=parseVersion(E);var P=0;for(;;){if(P>=v.length)return P=E.length)return $=="u";var N=E[P];var L=(typeof N)[0];if($==L){if($!="o"&&$!="u"&&R!=N){return R{const splitAndConvert=v=>v.split(".").map((v=>v!=="NaN"&&`${+v}`===v?+v:v));const parsePartial=v=>{const E=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(v);const P=E[1]?[0,...splitAndConvert(E[1])]:[0];if(E[2]){P.length++;P.push.apply(P,splitAndConvert(E[2]))}let R=P[P.length-1];while(P.length&&(R===undefined||/^[*xX]$/.test(R))){P.pop();R=P[P.length-1]}return P};const toFixed=v=>{if(v.length===1){return[0]}else if(v.length===2){return[1,...v.slice(1)]}else if(v.length===3){return[2,...v.slice(1)]}else{return[v.length,...v.slice(1)]}};const negate=v=>[-v[0]-1,...v.slice(1)];const parseSimple=v=>{const E=/^(\^|~|<=|<|>=|>|=|v|!)/.exec(v);const P=E?E[0]:"";const R=parsePartial(P.length?v.slice(P.length).trim():v.trim());switch(P){case"^":if(R.length>1&&R[1]===0){if(R.length>2&&R[2]===0){return[3,...R.slice(1)]}return[2,...R.slice(1)]}return[1,...R.slice(1)];case"~":return[2,...R.slice(1)];case">=":return R;case"=":case"v":case"":return toFixed(R);case"<":return negate(R);case">":{const v=toFixed(R);return[,v,0,R,2]}case"<=":return[,toFixed(R),negate(R),1];case"!":{const v=toFixed(R);return[,v,0]}default:throw new Error("Unexpected start value")}};const combine=(v,E)=>{if(v.length===1)return v[0];const P=[];for(const E of v.slice().reverse()){if(0 in E){P.push(E)}else{P.push(...E.slice(1))}}return[,...P,...v.slice(1).map((()=>E))]};const parseRange=v=>{const E=v.split(/\s+-\s+/);if(E.length===1){const E=v.trim().split(/(?<=[-0-9A-Za-z])\s+/g).map(parseSimple);return combine(E,2)}const P=parsePartial(E[0]);const R=parsePartial(E[1]);return[,toFixed(R),negate(R),1,P,2]};const parseLogicalOr=v=>{const E=v.split(/\s*\|\|\s*/).map(parseRange);return combine(E,1)};return parseLogicalOr(v)};const rangeToString=v=>{var E=v[0];var P="";if(v.length===1){return"*"}else if(E+.5){P+=E==0?">=":E==-1?"<":E==1?"^":E==2?"~":E>0?"=":"!=";var R=1;for(var $=1;$0?".":"")+(R=2,N)}return P}else{var q=[];for(var $=1;${if(0 in v){E=parseVersion(E);var P=v[0];var R=P<0;if(R)P=-P-1;for(var $=0,N=1,L=true;;N++,$++){var q=N=E.length||(K=E[$],(ae=(typeof K)[0])=="o")){if(!L)return true;if(q=="u")return N>P&&!R;return q==""!=R}if(ae=="u"){if(!L||q!="u"){return false}}else if(L){if(q==ae){if(N<=P){if(K!=v[N]){return false}}else{if(R?K>v[N]:K{switch(typeof v){case"undefined":return"";case"object":if(Array.isArray(v)){let E="[";for(let P=0;P`var parseVersion = ${v.basicFunction("str",["// see webpack/lib/util/semver.js for original code",`var p=${v.supportsArrowFunction()?"p=>":"function(p)"}{return p.split(".").map((${v.supportsArrowFunction()?"p=>":"function(p)"}{return+p==p?+p:p}))},n=/^([^-+]+)?(?:-([^+]+))?(?:\\+(.+))?$/.exec(str),r=n[1]?p(n[1]):[];return n[2]&&(r.length++,r.push.apply(r,p(n[2]))),n[3]&&(r.push([]),r.push.apply(r,p(n[3]))),r;`])}`;E.versionLtRuntimeCode=v=>`var versionLt = ${v.basicFunction("a, b",["// see webpack/lib/util/semver.js for original code",'a=parseVersion(a),b=parseVersion(b);for(var r=0;;){if(r>=a.length)return r=b.length)return"u"==n;var t=b[r],f=(typeof t)[0];if(n!=f)return"o"==n&&"n"==f||("s"==f||"u"==n);if("o"!=n&&"u"!=n&&e!=t)return e`var rangeToString = ${v.basicFunction("range",["// see webpack/lib/util/semver.js for original code",'var r=range[0],n="";if(1===range.length)return"*";if(r+.5){n+=0==r?">=":-1==r?"<":1==r?"^":2==r?"~":r>0?"=":"!=";for(var e=1,a=1;a0?".":"")+(e=2,t)}return n}var g=[];for(a=1;a`var satisfy = ${v.basicFunction("range, version",["// see webpack/lib/util/semver.js for original code",'if(0 in range){version=parseVersion(version);var e=range[0],r=e<0;r&&(e=-e-1);for(var n=0,i=1,a=!0;;i++,n++){var f,s,g=i=version.length||"o"==(s=(typeof(f=version[n]))[0]))return!a||("u"==g?i>e&&!r:""==g!=r);if("u"==s){if(!a||"u"!=g)return!1}else if(a)if(g==s)if(i<=e){if(f!=range[i])return!1}else{if(r?f>range[i]:fP(67304)));const N=R((()=>P(66202)));const L=R((()=>P(61453)));const q=R((()=>P(82792)));const K=R((()=>P(95741)));const ae=R((()=>new($())));const ge=R((()=>{P(56437);const v=P(48837);N().registerLoader(/^webpack\/lib\//,(E=>{const P=v[E.slice("webpack/lib/".length)];if(P){P()}else{console.warn(`${E} not found in internalSerializables`)}return true}))}));let be;v.exports={get register(){return N().register},get registerLoader(){return N().registerLoader},get registerNotSerializable(){return N().registerNotSerializable},get NOT_SERIALIZABLE(){return N().NOT_SERIALIZABLE},get MEASURE_START_OPERATION(){return $().MEASURE_START_OPERATION},get MEASURE_END_OPERATION(){return $().MEASURE_END_OPERATION},get buffersSerializer(){if(be!==undefined)return be;ge();const v=q();const E=ae();const P=K();const R=L();return be=new v([new R,new(N())((v=>{if(v.write){v.writeLazy=R=>{v.write(P.createLazy(R,E))}}}),"md4"),E])},createFileSerializer:(v,E)=>{ge();const R=q();const $=P(42004);const be=new $(v,E);const xe=ae();const ve=K();const Ae=L();return new R([new Ae,new(N())((v=>{if(v.write){v.writeLazy=E=>{v.write(ve.createLazy(E,xe))};v.writeSeparate=(E,P)=>{const R=ve.createLazy(E,be,P);v.write(R);return R}}}),E),xe,be])}}},95222:function(v){"use strict";const smartGrouping=(v,E)=>{const P=new Set;const R=new Map;for(const $ of v){const v=new Set;for(let P=0;P{const E=v.size;for(const E of v){for(const v of E.groups){if(v.alreadyGrouped)continue;const P=v.items;if(P===undefined){v.items=new Set([E])}else{P.add(E)}}}const P=new Map;for(const v of R.values()){if(v.items){const E=v.items;v.items=undefined;P.set(v,{items:E,options:undefined,used:false})}}const $=[];for(;;){let R=undefined;let N=-1;let L=undefined;let q=undefined;for(const[$,K]of P){const{items:P,used:ae}=K;let ge=K.options;if(ge===undefined){const v=$.config;K.options=ge=v.getOptions&&v.getOptions($.name,Array.from(P,(({item:v})=>v)))||false}const be=ge&&ge.force;if(!be){if(q&&q.force)continue;if(ae)continue;if(P.size<=1||E-P.size<=1){continue}}const xe=ge&&ge.targetGroupCount||4;let ve=be?P.size:Math.min(P.size,E*2/xe+v.size-P.size);if(ve>N||be&&(!q||!q.force)){R=$;N=ve;L=P;q=ge}}if(R===undefined){break}const K=new Set(L);const ae=q;const ge=!ae||ae.groupChildren!==false;for(const E of K){v.delete(E);for(const v of E.groups){const R=P.get(v);if(R!==undefined){R.items.delete(E);if(R.items.size===0){P.delete(v)}else{R.options=undefined;if(ge){R.used=true}}}}}P.delete(R);const be=R.name;const xe=R.config;const ve=Array.from(K,(({item:v})=>v));R.alreadyGrouped=true;const Ae=ge?runGrouping(K):ve;R.alreadyGrouped=false;$.push(xe.createGroup(be,Ae,ve))}for(const{item:E}of v){$.push(E)}return $};return runGrouping(P)};v.exports=smartGrouping},74022:function(v,E){"use strict";const P=new WeakMap;const _isSourceEqual=(v,E)=>{let P=typeof v.buffer==="function"?v.buffer():v.source();let R=typeof E.buffer==="function"?E.buffer():E.source();if(P===R)return true;if(typeof P==="string"&&typeof R==="string")return false;if(!Buffer.isBuffer(P))P=Buffer.from(P,"utf-8");if(!Buffer.isBuffer(R))R=Buffer.from(R,"utf-8");return P.equals(R)};const isSourceEqual=(v,E)=>{if(v===E)return true;const R=P.get(v);if(R!==undefined){const v=R.get(E);if(v!==undefined)return v}const $=_isSourceEqual(v,E);if(R!==undefined){R.set(E,$)}else{const R=new WeakMap;R.set(E,$);P.set(v,R)}const N=P.get(E);if(N!==undefined){N.set(v,$)}else{const R=new WeakMap;R.set(v,$);P.set(E,R)}return $};E.isSourceEqual=isSourceEqual},21917:function(v,E,P){"use strict";const{validate:R}=P(38476);const $={rules:"module.rules",loaders:"module.rules or module.rules.*.use",query:"module.rules.*.options (BREAKING CHANGE since webpack 5)",noParse:"module.noParse",filename:"output.filename or module.rules.*.generator.filename",file:"output.filename",chunkFilename:"output.chunkFilename",chunkfilename:"output.chunkFilename",ecmaVersion:"output.environment (output.ecmaVersion was a temporary configuration option during webpack 5 beta)",ecmaversion:"output.environment (output.ecmaVersion was a temporary configuration option during webpack 5 beta)",ecma:"output.environment (output.ecmaVersion was a temporary configuration option during webpack 5 beta)",path:"output.path",pathinfo:"output.pathinfo",pathInfo:"output.pathinfo",jsonpFunction:"output.chunkLoadingGlobal (BREAKING CHANGE since webpack 5)",chunkCallbackName:"output.chunkLoadingGlobal (BREAKING CHANGE since webpack 5)",jsonpScriptType:"output.scriptType (BREAKING CHANGE since webpack 5)",hotUpdateFunction:"output.hotUpdateGlobal (BREAKING CHANGE since webpack 5)",splitChunks:"optimization.splitChunks",immutablePaths:"snapshot.immutablePaths",managedPaths:"snapshot.managedPaths",maxModules:"stats.modulesSpace (BREAKING CHANGE since webpack 5)",hashedModuleIds:'optimization.moduleIds: "hashed" (BREAKING CHANGE since webpack 5)',namedChunks:'optimization.chunkIds: "named" (BREAKING CHANGE since webpack 5)',namedModules:'optimization.moduleIds: "named" (BREAKING CHANGE since webpack 5)',occurrenceOrder:'optimization.chunkIds: "size" and optimization.moduleIds: "size" (BREAKING CHANGE since webpack 5)',automaticNamePrefix:"optimization.splitChunks.[cacheGroups.*].idHint (BREAKING CHANGE since webpack 5)",noEmitOnErrors:"optimization.emitOnErrors (BREAKING CHANGE since webpack 5: logic is inverted to avoid negative flags)",Buffer:"to use the ProvidePlugin to process the Buffer variable to modules as polyfill\n"+"BREAKING CHANGE: webpack 5 no longer provided Node.js polyfills by default.\n"+"Note: if you are using 'node.Buffer: false', you can just remove that as this is the default behavior now.\n"+"To provide a polyfill to modules use:\n"+'new ProvidePlugin({ Buffer: ["buffer", "Buffer"] }) and npm install buffer.',process:"to use the ProvidePlugin to process the process variable to modules as polyfill\n"+"BREAKING CHANGE: webpack 5 no longer provided Node.js polyfills by default.\n"+"Note: if you are using 'node.process: false', you can just remove that as this is the default behavior now.\n"+"To provide a polyfill to modules use:\n"+'new ProvidePlugin({ process: "process" }) and npm install buffer.'};const N={concord:"BREAKING CHANGE: resolve.concord has been removed and is no longer available.",devtoolLineToLine:"BREAKING CHANGE: output.devtoolLineToLine has been removed and is no longer available."};const validateSchema=(v,E,P)=>{R(v,E,P||{name:"Webpack",postFormatter:(v,E)=>{const P=E.children;if(P&&P.some((v=>v.keyword==="absolutePath"&&v.dataPath===".output.filename"))){return`${v}\nPlease use output.path to specify absolute path and output.filename for the file name.`}if(P&&P.some((v=>v.keyword==="pattern"&&v.dataPath===".devtool"))){return`${v}\n`+"BREAKING CHANGE since webpack 5: The devtool option is more strict.\n"+"Please strictly follow the order of the keywords in the pattern."}if(E.keyword==="additionalProperties"){const P=E.params;if(Object.prototype.hasOwnProperty.call($,P.additionalProperty)){return`${v}\nDid you mean ${$[P.additionalProperty]}?`}if(Object.prototype.hasOwnProperty.call(N,P.additionalProperty)){return`${v}\n${N[P.additionalProperty]}?`}if(!E.dataPath){if(P.additionalProperty==="debug"){return`${v}\n`+"The 'debug' property was removed in webpack 2.0.0.\n"+"Loaders should be updated to allow passing this option via loader options in module.rules.\n"+"Until loaders are updated one can use the LoaderOptionsPlugin to switch loaders into debug mode:\n"+"plugins: [\n"+" new webpack.LoaderOptionsPlugin({\n"+" debug: true\n"+" })\n"+"]"}if(P.additionalProperty){return`${v}\n`+"For typos: please correct them.\n"+"For loader options: webpack >= v2.0.0 no longer allows custom properties in configuration.\n"+" Loaders should be updated to allow passing options via loader options in module.rules.\n"+" Until loaders are updated one can use the LoaderOptionsPlugin to pass these options to the loader:\n"+" plugins: [\n"+" new webpack.LoaderOptionsPlugin({\n"+" // test: /\\.xxx$/, // may apply this only for some modules\n"+" options: {\n"+` ${P.additionalProperty}: …\n`+" }\n"+" })\n"+" ]"}}}return v}})};v.exports=validateSchema},184:function(v,E,P){"use strict";const R=P(92529);const $=P(845);const N=P(25233);class AsyncWasmLoadingRuntimeModule extends ${constructor({generateLoadBinaryCode:v,supportsStreaming:E}){super("wasm loading",$.STAGE_NORMAL);this.generateLoadBinaryCode=v;this.supportsStreaming=E}generate(){const v=this.compilation;const E=this.chunk;const{outputOptions:P,runtimeTemplate:$}=v;const L=R.instantiateWasm;const q=v.getPath(JSON.stringify(P.webassemblyModuleFilename),{hash:`" + ${R.getFullHash}() + "`,hashWithLength:v=>`" + ${R.getFullHash}}().slice(0, ${v}) + "`,module:{id:'" + wasmModuleId + "',hash:`" + wasmModuleHash + "`,hashWithLength(v){return`" + wasmModuleHash.slice(0, ${v}) + "`}},runtime:E.runtime});return`${L} = ${$.basicFunction("exports, wasmModuleId, wasmModuleHash, importsObj",[`var req = ${this.generateLoadBinaryCode(q)};`,this.supportsStreaming?N.asString(["if (typeof WebAssembly.instantiateStreaming === 'function') {",N.indent(["return WebAssembly.instantiateStreaming(req, importsObj)",N.indent([`.then(${$.returningFunction("Object.assign(exports, res.instance.exports)","res")});`])]),"}"]):"// no support for streaming compilation","return req",N.indent([`.then(${$.returningFunction("x.arrayBuffer()","x")})`,`.then(${$.returningFunction("WebAssembly.instantiate(bytes, importsObj)","bytes")})`,`.then(${$.returningFunction("Object.assign(exports, res.instance.exports)","res")});`])])};`}}v.exports=AsyncWasmLoadingRuntimeModule},92973:function(v,E,P){"use strict";const R=P(29900);const $=new Set(["webassembly"]);class AsyncWebAssemblyGenerator extends R{constructor(v){super();this.options=v}getTypes(v){return $}getSize(v,E){const P=v.originalSource();if(!P){return 0}return P.size()}generate(v,E){return v.originalSource()}}v.exports=AsyncWebAssemblyGenerator},30802:function(v,E,P){"use strict";const{RawSource:R}=P(51255);const $=P(29900);const N=P(23596);const L=P(92529);const q=P(25233);const K=P(47874);const ae=new Set(["webassembly"]);class AsyncWebAssemblyJavascriptGenerator extends ${constructor(v){super();this.filenameTemplate=v}getTypes(v){return ae}getSize(v,E){return 40+v.dependencies.length*10}generate(v,E){const{runtimeTemplate:P,chunkGraph:$,moduleGraph:ae,runtimeRequirements:ge,runtime:be}=E;ge.add(L.module);ge.add(L.moduleId);ge.add(L.exports);ge.add(L.instantiateWasm);const xe=[];const ve=new Map;const Ae=new Map;for(const E of v.dependencies){if(E instanceof K){const v=ae.getModule(E);if(!ve.has(v)){ve.set(v,{request:E.request,importVar:`WEBPACK_IMPORTED_MODULE_${ve.size}`})}let P=Ae.get(E.request);if(P===undefined){P=[];Ae.set(E.request,P)}P.push(E)}}const Ie=[];const He=Array.from(ve,(([E,{request:R,importVar:N}])=>{if(ae.isAsync(E)){Ie.push(N)}return P.importStatement({update:false,module:E,chunkGraph:$,request:R,originModule:v,importVar:N,runtimeRequirements:ge})}));const Qe=He.map((([v])=>v)).join("");const Je=He.map((([v,E])=>E)).join("");const Ve=Array.from(Ae,(([E,R])=>{const $=R.map((R=>{const $=ae.getModule(R);const N=ve.get($).importVar;return`${JSON.stringify(R.name)}: ${P.exportFromImport({moduleGraph:ae,module:$,request:E,exportName:R.name,originModule:v,asiSafe:true,isCall:false,callContext:false,defaultInterop:true,importVar:N,initFragments:xe,runtime:be,runtimeRequirements:ge})}`}));return q.asString([`${JSON.stringify(E)}: {`,q.indent($.join(",\n")),"}"])}));const Ke=Ve.length>0?q.asString(["{",q.indent(Ve.join(",\n")),"}"]):undefined;const Ye=`${L.instantiateWasm}(${v.exportsArgument}, ${v.moduleArgument}.id, ${JSON.stringify($.getRenderedModuleHash(v,be))}`+(Ke?`, ${Ke})`:`)`);if(Ie.length>0)ge.add(L.asyncModule);const Xe=new R(Ie.length>0?q.asString([`var __webpack_instantiate__ = ${P.basicFunction(`[${Ie.join(", ")}]`,`${Je}return ${Ye};`)}`,`${L.asyncModule}(${v.moduleArgument}, async ${P.basicFunction("__webpack_handle_async_dependencies__, __webpack_async_result__",["try {",Qe,`var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([${Ie.join(", ")}]);`,`var [${Ie.join(", ")}] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__;`,`${Je}await ${Ye};`,"__webpack_async_result__();","} catch(e) { __webpack_async_result__(e); }"])}, 1);`]):`${Qe}${Je}module.exports = ${Ye};`);return N.addToSource(Xe,xe,E)}}v.exports=AsyncWebAssemblyJavascriptGenerator},37660:function(v,E,P){"use strict";const{SyncWaterfallHook:R}=P(79846);const $=P(6944);const N=P(29900);const{tryRunOrWebpackError:L}=P(2202);const{WEBASSEMBLY_MODULE_TYPE_ASYNC:q}=P(96170);const K=P(47874);const{compareModulesByIdentifier:ae}=P(28273);const ge=P(25689);const be=ge((()=>P(92973)));const xe=ge((()=>P(30802)));const ve=ge((()=>P(55590)));const Ae=new WeakMap;const Ie="AsyncWebAssemblyModulesPlugin";class AsyncWebAssemblyModulesPlugin{static getCompilationHooks(v){if(!(v instanceof $)){throw new TypeError("The 'compilation' argument must be an instance of Compilation")}let E=Ae.get(v);if(E===undefined){E={renderModuleContent:new R(["source","module","renderContext"])};Ae.set(v,E)}return E}constructor(v){this.options=v}apply(v){v.hooks.compilation.tap(Ie,((v,{normalModuleFactory:E})=>{const P=AsyncWebAssemblyModulesPlugin.getCompilationHooks(v);v.dependencyFactories.set(K,E);E.hooks.createParser.for(q).tap(Ie,(()=>{const v=ve();return new v}));E.hooks.createGenerator.for(q).tap(Ie,(()=>{const E=xe();const P=be();return N.byType({javascript:new E(v.outputOptions.webassemblyModuleFilename),webassembly:new P(this.options)})}));v.hooks.renderManifest.tap("WebAssemblyModulesPlugin",((E,R)=>{const{moduleGraph:$,chunkGraph:N,runtimeTemplate:L}=v;const{chunk:K,outputOptions:ge,dependencyTemplates:be,codeGenerationResults:xe}=R;for(const v of N.getOrderedChunkModulesIterable(K,ae)){if(v.type===q){const R=ge.webassemblyModuleFilename;E.push({render:()=>this.renderModule(v,{chunk:K,dependencyTemplates:be,runtimeTemplate:L,moduleGraph:$,chunkGraph:N,codeGenerationResults:xe},P),filenameTemplate:R,pathOptions:{module:v,runtime:K.runtime,chunkGraph:N},auxiliary:true,identifier:`webassemblyAsyncModule${N.getModuleId(v)}`,hash:N.getModuleHash(v,K.runtime)})}}return E}))}))}renderModule(v,E,P){const{codeGenerationResults:R,chunk:$}=E;try{const N=R.getSource(v,$.runtime,"webassembly");return L((()=>P.renderModuleContent.call(N,v,E)),"AsyncWebAssemblyModulesPlugin.getCompilationHooks().renderModuleContent")}catch(E){E.module=v;throw E}}}v.exports=AsyncWebAssemblyModulesPlugin},55590:function(v,E,P){"use strict";const R=P(26333);const{decode:$}=P(57480);const N=P(66866);const L=P(38063);const q=P(92090);const K=P(47874);const ae={ignoreCodeSection:true,ignoreDataSection:true,ignoreCustomNameSection:true};class WebAssemblyParser extends L{constructor(v){super();this.hooks=Object.freeze({});this.options=v}parse(v,E){if(!Buffer.isBuffer(v)){throw new Error("WebAssemblyParser input must be a Buffer")}const P=E.module.buildInfo;P.strict=true;const L=E.module.buildMeta;L.exportsType="namespace";L.async=true;N.check(E.module,E.compilation.runtimeTemplate,"asyncWebAssembly");const ge=$(v,ae);const be=ge.body[0];const xe=[];R.traverse(be,{ModuleExport({node:v}){xe.push(v.name)},ModuleImport({node:v}){const P=new K(v.module,v.name,v.descr,false);E.module.addDependency(P)}});E.module.addDependency(new q(xe,false));return E}}v.exports=WebAssemblyParser},80592:function(v,E,P){"use strict";const R=P(16413);v.exports=class UnsupportedWebAssemblyFeatureError extends R{constructor(v){super(v);this.name="UnsupportedWebAssemblyFeatureError";this.hideStack=true}}},41068:function(v,E,P){"use strict";const R=P(92529);const $=P(845);const N=P(25233);const{compareModulesByIdentifier:L}=P(28273);const q=P(55321);const getAllWasmModules=(v,E,P)=>{const R=P.getAllAsyncChunks();const $=[];for(const v of R){for(const P of E.getOrderedChunkModulesIterable(v,L)){if(P.type.startsWith("webassembly")){$.push(P)}}}return $};const generateImportObject=(v,E,P,$,L)=>{const K=v.moduleGraph;const ae=new Map;const ge=[];const be=q.getUsedDependencies(K,E,P);for(const E of be){const P=E.dependency;const q=K.getModule(P);const be=P.name;const xe=q&&K.getExportsInfo(q).getUsedName(be,L);const ve=P.description;const Ae=P.onlyDirectImport;const Ie=E.module;const He=E.name;if(Ae){const E=`m${ae.size}`;ae.set(E,v.getModuleId(q));ge.push({module:Ie,name:He,value:`${E}[${JSON.stringify(xe)}]`})}else{const E=ve.signature.params.map(((v,E)=>"p"+E+v.valtype));const P=`${R.moduleCache}[${JSON.stringify(v.getModuleId(q))}]`;const L=`${P}.exports`;const K=`wasmImportedFuncCache${$.length}`;$.push(`var ${K};`);ge.push({module:Ie,name:He,value:N.asString([(q.type.startsWith("webassembly")?`${P} ? ${L}[${JSON.stringify(xe)}] : `:"")+`function(${E}) {`,N.indent([`if(${K} === undefined) ${K} = ${L};`,`return ${K}[${JSON.stringify(xe)}](${E});`]),"}"])})}}let xe;if(P){xe=["return {",N.indent([ge.map((v=>`${JSON.stringify(v.name)}: ${v.value}`)).join(",\n")]),"};"]}else{const v=new Map;for(const E of ge){let P=v.get(E.module);if(P===undefined){v.set(E.module,P=[])}P.push(E)}xe=["return {",N.indent([Array.from(v,(([v,E])=>N.asString([`${JSON.stringify(v)}: {`,N.indent([E.map((v=>`${JSON.stringify(v.name)}: ${v.value}`)).join(",\n")]),"}"]))).join(",\n")]),"};"]}const ve=JSON.stringify(v.getModuleId(E));if(ae.size===1){const v=Array.from(ae.values())[0];const E=`installedWasmModules[${JSON.stringify(v)}]`;const P=Array.from(ae.keys())[0];return N.asString([`${ve}: function() {`,N.indent([`return promiseResolve().then(function() { return ${E}; }).then(function(${P}) {`,N.indent(xe),"});"]),"},"])}else if(ae.size>0){const v=Array.from(ae.values(),(v=>`installedWasmModules[${JSON.stringify(v)}]`)).join(", ");const E=Array.from(ae.keys(),((v,E)=>`${v} = array[${E}]`)).join(", ");return N.asString([`${ve}: function() {`,N.indent([`return promiseResolve().then(function() { return Promise.all([${v}]); }).then(function(array) {`,N.indent([`var ${E};`,...xe]),"});"]),"},"])}else{return N.asString([`${ve}: function() {`,N.indent(xe),"},"])}};class WasmChunkLoadingRuntimeModule extends ${constructor({generateLoadBinaryCode:v,supportsStreaming:E,mangleImports:P,runtimeRequirements:R}){super("wasm chunk loading",$.STAGE_ATTACH);this.generateLoadBinaryCode=v;this.supportsStreaming=E;this.mangleImports=P;this._runtimeRequirements=R}generate(){const v=R.ensureChunkHandlers;const E=this._runtimeRequirements.has(R.hmrDownloadUpdateHandlers);const P=this.compilation;const{moduleGraph:$,outputOptions:L}=P;const K=this.chunkGraph;const ae=this.chunk;const ge=getAllWasmModules($,K,ae);const{mangleImports:be}=this;const xe=[];const ve=ge.map((v=>generateImportObject(K,v,be,xe,ae.runtime)));const Ae=K.getChunkModuleIdMap(ae,(v=>v.type.startsWith("webassembly")));const createImportObject=v=>be?`{ ${JSON.stringify(q.MANGLED_MODULE)}: ${v} }`:v;const Ie=P.getPath(JSON.stringify(L.webassemblyModuleFilename),{hash:`" + ${R.getFullHash}() + "`,hashWithLength:v=>`" + ${R.getFullHash}}().slice(0, ${v}) + "`,module:{id:'" + wasmModuleId + "',hash:`" + ${JSON.stringify(K.getChunkModuleRenderedHashMap(ae,(v=>v.type.startsWith("webassembly"))))}[chunkId][wasmModuleId] + "`,hashWithLength(v){return`" + ${JSON.stringify(K.getChunkModuleRenderedHashMap(ae,(v=>v.type.startsWith("webassembly")),v))}[chunkId][wasmModuleId] + "`}},runtime:ae.runtime});const He=E?`${R.hmrRuntimeStatePrefix}_wasm`:undefined;return N.asString(["// object to store loaded and loading wasm modules",`var installedWasmModules = ${He?`${He} = ${He} || `:""}{};`,"","function promiseResolve() { return Promise.resolve(); }","",N.asString(xe),"var wasmImportObjects = {",N.indent(ve),"};","",`var wasmModuleMap = ${JSON.stringify(Ae,undefined,"\t")};`,"","// object with all WebAssembly.instance exports",`${R.wasmInstances} = {};`,"","// Fetch + compile chunk loading for webassembly",`${v}.wasm = function(chunkId, promises) {`,N.indent(["",`var wasmModules = wasmModuleMap[chunkId] || [];`,"","wasmModules.forEach(function(wasmModuleId, idx) {",N.indent(["var installedWasmModuleData = installedWasmModules[wasmModuleId];","",'// a Promise means "currently loading" or "already loaded".',"if(installedWasmModuleData)",N.indent(["promises.push(installedWasmModuleData);"]),"else {",N.indent([`var importObject = wasmImportObjects[wasmModuleId]();`,`var req = ${this.generateLoadBinaryCode(Ie)};`,"var promise;",this.supportsStreaming?N.asString(["if(importObject && typeof importObject.then === 'function' && typeof WebAssembly.compileStreaming === 'function') {",N.indent(["promise = Promise.all([WebAssembly.compileStreaming(req), importObject]).then(function(items) {",N.indent([`return WebAssembly.instantiate(items[0], ${createImportObject("items[1]")});`]),"});"]),"} else if(typeof WebAssembly.instantiateStreaming === 'function') {",N.indent([`promise = WebAssembly.instantiateStreaming(req, ${createImportObject("importObject")});`])]):N.asString(["if(importObject && typeof importObject.then === 'function') {",N.indent(["var bytesPromise = req.then(function(x) { return x.arrayBuffer(); });","promise = Promise.all([",N.indent(["bytesPromise.then(function(bytes) { return WebAssembly.compile(bytes); }),","importObject"]),"]).then(function(items) {",N.indent([`return WebAssembly.instantiate(items[0], ${createImportObject("items[1]")});`]),"});"])]),"} else {",N.indent(["var bytesPromise = req.then(function(x) { return x.arrayBuffer(); });","promise = bytesPromise.then(function(bytes) {",N.indent([`return WebAssembly.instantiate(bytes, ${createImportObject("importObject")});`]),"});"]),"}","promises.push(installedWasmModules[wasmModuleId] = promise.then(function(res) {",N.indent([`return ${R.wasmInstances}[wasmModuleId] = (res.instance || res).exports;`]),"}));"]),"}"]),"});"]),"};"])}}v.exports=WasmChunkLoadingRuntimeModule},12176:function(v,E,P){"use strict";const R=P(81949);const $=P(80592);class WasmFinalizeExportsPlugin{apply(v){v.hooks.compilation.tap("WasmFinalizeExportsPlugin",(v=>{v.hooks.finishModules.tap("WasmFinalizeExportsPlugin",(E=>{for(const P of E){if(P.type.startsWith("webassembly")===true){const E=P.buildMeta.jsIncompatibleExports;if(E===undefined){continue}for(const N of v.moduleGraph.getIncomingConnections(P)){if(N.isTargetActive(undefined)&&N.originModule.type.startsWith("webassembly")===false){const L=v.getDependencyReferencedExports(N.dependency,undefined);for(const q of L){const L=Array.isArray(q)?q:q.name;if(L.length===0)continue;const K=L[0];if(typeof K==="object")continue;if(Object.prototype.hasOwnProperty.call(E,K)){const L=new $(`Export "${K}" with ${E[K]} can only be used for direct wasm to wasm dependencies\n`+`It's used from ${N.originModule.readableIdentifier(v.requestShortener)} at ${R(N.dependency.loc)}.`);L.module=P;v.errors.push(L)}}}}}}}))}))}}v.exports=WasmFinalizeExportsPlugin},70822:function(v,E,P){"use strict";const{RawSource:R}=P(51255);const $=P(29900);const N=P(55321);const L=P(26333);const{moduleContextFromModuleAST:q}=P(26333);const{editWithAST:K,addWithAST:ae}=P(12092);const{decode:ge}=P(57480);const be=P(76863);const compose=(...v)=>v.reduce(((v,E)=>P=>E(v(P))),(v=>v));const removeStartFunc=v=>E=>K(v.ast,E,{Start(v){v.remove()}});const getImportedGlobals=v=>{const E=[];L.traverse(v,{ModuleImport({node:v}){if(L.isGlobalType(v.descr)){E.push(v)}}});return E};const getCountImportedFunc=v=>{let E=0;L.traverse(v,{ModuleImport({node:v}){if(L.isFuncImportDescr(v.descr)){E++}}});return E};const getNextTypeIndex=v=>{const E=L.getSectionMetadata(v,"type");if(E===undefined){return L.indexLiteral(0)}return L.indexLiteral(E.vectorOfSize.value)};const getNextFuncIndex=(v,E)=>{const P=L.getSectionMetadata(v,"func");if(P===undefined){return L.indexLiteral(0+E)}const R=P.vectorOfSize.value;return L.indexLiteral(R+E)};const createDefaultInitForGlobal=v=>{if(v.valtype[0]==="i"){return L.objectInstruction("const",v.valtype,[L.numberLiteralFromRaw(66)])}else if(v.valtype[0]==="f"){return L.objectInstruction("const",v.valtype,[L.floatLiteral(66,false,false,"66")])}else{throw new Error("unknown type: "+v.valtype)}};const rewriteImportedGlobals=v=>E=>{const P=v.additionalInitCode;const R=[];E=K(v.ast,E,{ModuleImport(v){if(L.isGlobalType(v.node.descr)){const E=v.node.descr;E.mutability="var";const P=[createDefaultInitForGlobal(E),L.instruction("end")];R.push(L.global(E,P));v.remove()}},Global(v){const{node:E}=v;const[$]=E.init;if($.id==="get_global"){E.globalType.mutability="var";const v=$.args[0];E.init=[createDefaultInitForGlobal(E.globalType),L.instruction("end")];P.push(L.instruction("get_local",[v]),L.instruction("set_global",[L.indexLiteral(R.length)]))}R.push(E);v.remove()}});return ae(v.ast,E,R)};const rewriteExportNames=({ast:v,moduleGraph:E,module:P,externalExports:R,runtime:$})=>N=>K(v,N,{ModuleExport(v){const N=R.has(v.node.name);if(N){v.remove();return}const L=E.getExportsInfo(P).getUsedName(v.node.name,$);if(!L){v.remove();return}v.node.name=L}});const rewriteImports=({ast:v,usedDependencyMap:E})=>P=>K(v,P,{ModuleImport(v){const P=E.get(v.node.module+":"+v.node.name);if(P!==undefined){v.node.module=P.module;v.node.name=P.name}}});const addInitFunction=({ast:v,initFuncId:E,startAtFuncOffset:P,importedGlobals:R,additionalInitCode:$,nextFuncIndex:N,nextTypeIndex:q})=>K=>{const ge=R.map((v=>{const E=L.identifier(`${v.module}.${v.name}`);return L.funcParam(v.descr.valtype,E)}));const be=[];R.forEach(((v,E)=>{const P=[L.indexLiteral(E)];const R=[L.instruction("get_local",P),L.instruction("set_global",P)];be.push(...R)}));if(typeof P==="number"){be.push(L.callInstruction(L.numberLiteralFromRaw(P)))}for(const v of $){be.push(v)}be.push(L.instruction("end"));const xe=[];const ve=L.signature(ge,xe);const Ae=L.func(E,ve,be);const Ie=L.typeInstruction(undefined,ve);const He=L.indexInFuncSection(q);const Qe=L.moduleExport(E.value,L.moduleExportDescr("Func",N));return ae(v,K,[Ae,Qe,He,Ie])};const getUsedDependencyMap=(v,E,P)=>{const R=new Map;for(const $ of N.getUsedDependencies(v,E,P)){const v=$.dependency;const E=v.request;const P=v.name;R.set(E+":"+P,$)}return R};const xe=new Set(["webassembly"]);class WebAssemblyGenerator extends ${constructor(v){super();this.options=v}getTypes(v){return xe}getSize(v,E){const P=v.originalSource();if(!P){return 0}return P.size()}generate(v,{moduleGraph:E,runtime:P}){const $=v.originalSource().source();const N=L.identifier("");const K=ge($,{ignoreDataSection:true,ignoreCodeSection:true,ignoreCustomNameSection:true});const ae=q(K.body[0]);const xe=getImportedGlobals(K);const ve=getCountImportedFunc(K);const Ae=ae.getStart();const Ie=getNextFuncIndex(K,ve);const He=getNextTypeIndex(K);const Qe=getUsedDependencyMap(E,v,this.options.mangleImports);const Je=new Set(v.dependencies.filter((v=>v instanceof be)).map((v=>{const E=v;return E.exportName})));const Ve=[];const Ke=compose(rewriteExportNames({ast:K,moduleGraph:E,module:v,externalExports:Je,runtime:P}),removeStartFunc({ast:K}),rewriteImportedGlobals({ast:K,additionalInitCode:Ve}),rewriteImports({ast:K,usedDependencyMap:Qe}),addInitFunction({ast:K,initFuncId:N,importedGlobals:xe,additionalInitCode:Ve,startAtFuncOffset:Ae,nextFuncIndex:Ie,nextTypeIndex:He}));const Ye=Ke($);const Xe=Buffer.from(Ye);return new R(Xe)}}v.exports=WebAssemblyGenerator},49477:function(v,E,P){"use strict";const R=P(16413);const getInitialModuleChains=(v,E,P,R)=>{const $=[{head:v,message:v.readableIdentifier(R)}];const N=new Set;const L=new Set;const q=new Set;for(const v of $){const{head:K,message:ae}=v;let ge=true;const be=new Set;for(const v of E.getIncomingConnections(K)){const E=v.originModule;if(E){if(!P.getModuleChunks(E).some((v=>v.canBeInitial())))continue;ge=false;if(be.has(E))continue;be.add(E);const N=E.readableIdentifier(R);const K=v.explanation?` (${v.explanation})`:"";const xe=`${N}${K} --\x3e ${ae}`;if(q.has(E)){L.add(`... --\x3e ${xe}`);continue}q.add(E);$.push({head:E,message:xe})}else{ge=false;const E=v.explanation?`(${v.explanation}) --\x3e ${ae}`:ae;N.add(E)}}if(ge){N.add(ae)}}for(const v of L){N.add(v)}return Array.from(N)};v.exports=class WebAssemblyInInitialChunkError extends R{constructor(v,E,P,R){const $=getInitialModuleChains(v,E,P,R);const N=`WebAssembly module is included in initial chunk.\nThis is not allowed, because WebAssembly download and compilation must happen asynchronous.\nAdd an async split point (i. e. import()) somewhere between your entrypoint and the WebAssembly module:\n${$.map((v=>`* ${v}`)).join("\n")}`;super(N);this.name="WebAssemblyInInitialChunkError";this.hideStack=true;this.module=v}}},44549:function(v,E,P){"use strict";const{RawSource:R}=P(51255);const{UsageState:$}=P(8435);const N=P(29900);const L=P(23596);const q=P(92529);const K=P(25233);const ae=P(17782);const ge=P(76863);const be=P(47874);const xe=new Set(["webassembly"]);class WebAssemblyJavascriptGenerator extends N{getTypes(v){return xe}getSize(v,E){return 95+v.dependencies.length*5}generate(v,E){const{runtimeTemplate:P,moduleGraph:N,chunkGraph:xe,runtimeRequirements:ve,runtime:Ae}=E;const Ie=[];const He=N.getExportsInfo(v);let Qe=false;const Je=new Map;const Ve=[];let Ke=0;for(const E of v.dependencies){const R=E&&E instanceof ae?E:undefined;if(N.getModule(E)){let $=Je.get(N.getModule(E));if($===undefined){Je.set(N.getModule(E),$={importVar:`m${Ke}`,index:Ke,request:R&&R.userRequest||undefined,names:new Set,reexports:[]});Ke++}if(E instanceof be){$.names.add(E.name);if(E.description.type==="GlobalType"){const R=E.name;const L=N.getModule(E);if(L){const q=N.getExportsInfo(L).getUsedName(R,Ae);if(q){Ve.push(P.exportFromImport({moduleGraph:N,module:L,request:E.request,importVar:$.importVar,originModule:v,exportName:E.name,asiSafe:true,isCall:false,callContext:null,defaultInterop:true,initFragments:Ie,runtime:Ae,runtimeRequirements:ve}))}}}}if(E instanceof ge){$.names.add(E.name);const R=N.getExportsInfo(v).getUsedName(E.exportName,Ae);if(R){ve.add(q.exports);const L=`${v.exportsArgument}[${JSON.stringify(R)}]`;const ae=K.asString([`${L} = ${P.exportFromImport({moduleGraph:N,module:N.getModule(E),request:E.request,importVar:$.importVar,originModule:v,exportName:E.name,asiSafe:true,isCall:false,callContext:null,defaultInterop:true,initFragments:Ie,runtime:Ae,runtimeRequirements:ve})};`,`if(WebAssembly.Global) ${L} = `+`new WebAssembly.Global({ value: ${JSON.stringify(E.valueType)} }, ${L});`]);$.reexports.push(ae);Qe=true}}}}const Ye=K.asString(Array.from(Je,(([v,{importVar:E,request:R,reexports:$}])=>{const N=P.importStatement({module:v,chunkGraph:xe,request:R,importVar:E,originModule:v,runtimeRequirements:ve});return N[0]+N[1]+$.join("\n")})));const Xe=He.otherExportsInfo.getUsed(Ae)===$.Unused&&!Qe;ve.add(q.module);ve.add(q.moduleId);ve.add(q.wasmInstances);if(He.otherExportsInfo.getUsed(Ae)!==$.Unused){ve.add(q.makeNamespaceObject);ve.add(q.exports)}if(!Xe){ve.add(q.exports)}const Ze=new R(['"use strict";',"// Instantiate WebAssembly module",`var wasmExports = ${q.wasmInstances}[${v.moduleArgument}.id];`,He.otherExportsInfo.getUsed(Ae)!==$.Unused?`${q.makeNamespaceObject}(${v.exportsArgument});`:"","// export exports from WebAssembly module",Xe?`${v.moduleArgument}.exports = wasmExports;`:"for(var name in wasmExports) "+`if(name) `+`${v.exportsArgument}[name] = wasmExports[name];`,"// exec imports from WebAssembly module (for esm order)",Ye,"","// exec wasm module",`wasmExports[""](${Ve.join(", ")})`].join("\n"));return L.addToSource(Ze,Ie,E)}}v.exports=WebAssemblyJavascriptGenerator},26216:function(v,E,P){"use strict";const R=P(29900);const{WEBASSEMBLY_MODULE_TYPE_SYNC:$}=P(96170);const N=P(76863);const L=P(47874);const{compareModulesByIdentifier:q}=P(28273);const K=P(25689);const ae=P(49477);const ge=K((()=>P(70822)));const be=K((()=>P(44549)));const xe=K((()=>P(89650)));const ve="WebAssemblyModulesPlugin";class WebAssemblyModulesPlugin{constructor(v){this.options=v}apply(v){v.hooks.compilation.tap(ve,((v,{normalModuleFactory:E})=>{v.dependencyFactories.set(L,E);v.dependencyFactories.set(N,E);E.hooks.createParser.for($).tap(ve,(()=>{const v=xe();return new v}));E.hooks.createGenerator.for($).tap(ve,(()=>{const v=be();const E=ge();return R.byType({javascript:new v,webassembly:new E(this.options)})}));v.hooks.renderManifest.tap(ve,((E,P)=>{const{chunkGraph:R}=v;const{chunk:N,outputOptions:L,codeGenerationResults:K}=P;for(const v of R.getOrderedChunkModulesIterable(N,q)){if(v.type===$){const P=L.webassemblyModuleFilename;E.push({render:()=>K.getSource(v,N.runtime,"webassembly"),filenameTemplate:P,pathOptions:{module:v,runtime:N.runtime,chunkGraph:R},auxiliary:true,identifier:`webassemblyModule${R.getModuleId(v)}`,hash:R.getModuleHash(v,N.runtime)})}}return E}));v.hooks.afterChunks.tap(ve,(()=>{const E=v.chunkGraph;const P=new Set;for(const R of v.chunks){if(R.canBeInitial()){for(const v of E.getChunkModulesIterable(R)){if(v.type===$){P.add(v)}}}}for(const E of P){v.errors.push(new ae(E,v.moduleGraph,v.chunkGraph,v.requestShortener))}}))}))}}v.exports=WebAssemblyModulesPlugin},89650:function(v,E,P){"use strict";const R=P(26333);const{moduleContextFromModuleAST:$}=P(26333);const{decode:N}=P(57480);const L=P(38063);const q=P(92090);const K=P(76863);const ae=P(47874);const ge=new Set(["i32","i64","f32","f64"]);const getJsIncompatibleType=v=>{for(const E of v.params){if(!ge.has(E.valtype)){return`${E.valtype} as parameter`}}for(const E of v.results){if(!ge.has(E))return`${E} as result`}return null};const getJsIncompatibleTypeOfFuncSignature=v=>{for(const E of v.args){if(!ge.has(E)){return`${E} as parameter`}}for(const E of v.result){if(!ge.has(E))return`${E} as result`}return null};const be={ignoreCodeSection:true,ignoreDataSection:true,ignoreCustomNameSection:true};class WebAssemblyParser extends L{constructor(v){super();this.hooks=Object.freeze({});this.options=v}parse(v,E){if(!Buffer.isBuffer(v)){throw new Error("WebAssemblyParser input must be a Buffer")}E.module.buildInfo.strict=true;E.module.buildMeta.exportsType="namespace";const P=N(v,be);const L=P.body[0];const xe=$(L);const ve=[];let Ae=E.module.buildMeta.jsIncompatibleExports=undefined;const Ie=[];R.traverse(L,{ModuleExport({node:v}){const P=v.descr;if(P.exportType==="Func"){const R=P.id.value;const $=xe.getFunction(R);const N=getJsIncompatibleTypeOfFuncSignature($);if(N){if(Ae===undefined){Ae=E.module.buildMeta.jsIncompatibleExports={}}Ae[v.name]=N}}ve.push(v.name);if(v.descr&&v.descr.exportType==="Global"){const P=Ie[v.descr.id.value];if(P){const R=new K(v.name,P.module,P.name,P.descr.valtype);E.module.addDependency(R)}}},Global({node:v}){const E=v.init[0];let P=null;if(E.id==="get_global"){const v=E.args[0].value;if(v{const L=[];let q=0;for(const K of E.dependencies){if(K instanceof $){if(K.description.type==="GlobalType"||v.getModule(K)===null){continue}const E=K.name;if(P){L.push({dependency:K,name:R.numberToIdentifier(q++),module:N})}else{L.push({dependency:K,name:E,module:K.request})}}}return L};E.getUsedDependencies=getUsedDependencies;E.MANGLED_MODULE=N},58878:function(v,E,P){"use strict";const R=new WeakMap;const getEnabledTypes=v=>{let E=R.get(v);if(E===undefined){E=new Set;R.set(v,E)}return E};class EnableWasmLoadingPlugin{constructor(v){this.type=v}static setEnabled(v,E){getEnabledTypes(v).add(E)}static checkEnabled(v,E){if(!getEnabledTypes(v).has(E)){throw new Error(`Library type "${E}" is not enabled. `+"EnableWasmLoadingPlugin need to be used to enable this type of wasm loading. "+'This usually happens through the "output.enabledWasmLoadingTypes" option. '+'If you are using a function as entry which sets "wasmLoading", you need to add all potential library types to "output.enabledWasmLoadingTypes". '+"These types are enabled: "+Array.from(getEnabledTypes(v)).join(", "))}}apply(v){const{type:E}=this;const R=getEnabledTypes(v);if(R.has(E))return;R.add(E);if(typeof E==="string"){switch(E){case"fetch":{const E=P(7557);const R=P(65099);new E({mangleImports:v.options.optimization.mangleWasmImports}).apply(v);(new R).apply(v);break}case"async-node":{const R=P(99162);const $=P(3992);new R({mangleImports:v.options.optimization.mangleWasmImports}).apply(v);new $({type:E}).apply(v);break}case"async-node-module":{const R=P(3992);new R({type:E,import:true}).apply(v);break}case"universal":throw new Error("Universal WebAssembly Loading is not implemented yet");default:throw new Error(`Unsupported wasm loading type ${E}.\nPlugins which provide custom wasm loading types must call EnableWasmLoadingPlugin.setEnabled(compiler, type) to disable this error.`)}}else{}}}v.exports=EnableWasmLoadingPlugin},65099:function(v,E,P){"use strict";const{WEBASSEMBLY_MODULE_TYPE_ASYNC:R}=P(96170);const $=P(92529);const N=P(184);class FetchCompileAsyncWasmPlugin{apply(v){v.hooks.thisCompilation.tap("FetchCompileAsyncWasmPlugin",(v=>{const E=v.outputOptions.wasmLoading;const isEnabledForChunk=v=>{const P=v.getEntryOptions();const R=P&&P.wasmLoading!==undefined?P.wasmLoading:E;return R==="fetch"};const generateLoadBinaryCode=v=>`fetch(${$.publicPath} + ${v})`;v.hooks.runtimeRequirementInTree.for($.instantiateWasm).tap("FetchCompileAsyncWasmPlugin",((E,P)=>{if(!isEnabledForChunk(E))return;const L=v.chunkGraph;if(!L.hasModuleInGraph(E,(v=>v.type===R))){return}P.add($.publicPath);v.addRuntimeModule(E,new N({generateLoadBinaryCode:generateLoadBinaryCode,supportsStreaming:true}))}))}))}}v.exports=FetchCompileAsyncWasmPlugin},7557:function(v,E,P){"use strict";const{WEBASSEMBLY_MODULE_TYPE_SYNC:R}=P(96170);const $=P(92529);const N=P(41068);const L="FetchCompileWasmPlugin";class FetchCompileWasmPlugin{constructor(v={}){this.options=v}apply(v){v.hooks.thisCompilation.tap(L,(v=>{const E=v.outputOptions.wasmLoading;const isEnabledForChunk=v=>{const P=v.getEntryOptions();const R=P&&P.wasmLoading!==undefined?P.wasmLoading:E;return R==="fetch"};const generateLoadBinaryCode=v=>`fetch(${$.publicPath} + ${v})`;v.hooks.runtimeRequirementInTree.for($.ensureChunkHandlers).tap(L,((E,P)=>{if(!isEnabledForChunk(E))return;const L=v.chunkGraph;if(!L.hasModuleInGraph(E,(v=>v.type===R))){return}P.add($.moduleCache);P.add($.publicPath);v.addRuntimeModule(E,new N({generateLoadBinaryCode:generateLoadBinaryCode,supportsStreaming:true,mangleImports:this.options.mangleImports,runtimeRequirements:P}))}))}))}}v.exports=FetchCompileWasmPlugin},69430:function(v,E,P){"use strict";const R=P(92529);const $=P(75014);class JsonpChunkLoadingPlugin{apply(v){v.hooks.thisCompilation.tap("JsonpChunkLoadingPlugin",(v=>{const E=v.outputOptions.chunkLoading;const isEnabledForChunk=v=>{const P=v.getEntryOptions();const R=P&&P.chunkLoading!==undefined?P.chunkLoading:E;return R==="jsonp"};const P=new WeakSet;const handler=(E,N)=>{if(P.has(E))return;P.add(E);if(!isEnabledForChunk(E))return;N.add(R.moduleFactoriesAddOnly);N.add(R.hasOwnProperty);v.addRuntimeModule(E,new $(N))};v.hooks.runtimeRequirementInTree.for(R.ensureChunkHandlers).tap("JsonpChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.hmrDownloadUpdateHandlers).tap("JsonpChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.hmrDownloadManifest).tap("JsonpChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.baseURI).tap("JsonpChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.onChunksLoaded).tap("JsonpChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.ensureChunkHandlers).tap("JsonpChunkLoadingPlugin",((v,E)=>{if(!isEnabledForChunk(v))return;E.add(R.publicPath);E.add(R.loadScript);E.add(R.getChunkScriptFilename)}));v.hooks.runtimeRequirementInTree.for(R.hmrDownloadUpdateHandlers).tap("JsonpChunkLoadingPlugin",((v,E)=>{if(!isEnabledForChunk(v))return;E.add(R.publicPath);E.add(R.loadScript);E.add(R.getChunkUpdateScriptFilename);E.add(R.moduleCache);E.add(R.hmrModuleData);E.add(R.moduleFactoriesAddOnly)}));v.hooks.runtimeRequirementInTree.for(R.hmrDownloadManifest).tap("JsonpChunkLoadingPlugin",((v,E)=>{if(!isEnabledForChunk(v))return;E.add(R.publicPath);E.add(R.getUpdateManifestFilename)}))}))}}v.exports=JsonpChunkLoadingPlugin},75014:function(v,E,P){"use strict";const{SyncWaterfallHook:R}=P(79846);const $=P(6944);const N=P(92529);const L=P(845);const q=P(25233);const K=P(42453).chunkHasJs;const{getInitialChunkIds:ae}=P(5606);const ge=P(49694);const be=new WeakMap;class JsonpChunkLoadingRuntimeModule extends L{static getCompilationHooks(v){if(!(v instanceof $)){throw new TypeError("The 'compilation' argument must be an instance of Compilation")}let E=be.get(v);if(E===undefined){E={linkPreload:new R(["source","chunk"]),linkPrefetch:new R(["source","chunk"])};be.set(v,E)}return E}constructor(v){super("jsonp chunk loading",L.STAGE_ATTACH);this._runtimeRequirements=v}_generateBaseUri(v){const E=v.getEntryOptions();if(E&&E.baseUri){return`${N.baseURI} = ${JSON.stringify(E.baseUri)};`}else{return`${N.baseURI} = document.baseURI || self.location.href;`}}generate(){const v=this.compilation;const{runtimeTemplate:E,outputOptions:{chunkLoadingGlobal:P,hotUpdateGlobal:R,crossOriginLoading:$,scriptType:L}}=v;const be=E.globalObject;const{linkPreload:xe,linkPrefetch:ve}=JsonpChunkLoadingRuntimeModule.getCompilationHooks(v);const Ae=N.ensureChunkHandlers;const Ie=this._runtimeRequirements.has(N.baseURI);const He=this._runtimeRequirements.has(N.ensureChunkHandlers);const Qe=this._runtimeRequirements.has(N.chunkCallback);const Je=this._runtimeRequirements.has(N.onChunksLoaded);const Ve=this._runtimeRequirements.has(N.hmrDownloadUpdateHandlers);const Ke=this._runtimeRequirements.has(N.hmrDownloadManifest);const Ye=this._runtimeRequirements.has(N.prefetchChunkHandlers);const Xe=this._runtimeRequirements.has(N.preloadChunkHandlers);const Ze=this._runtimeRequirements.has(N.hasFetchPriority);const et=`${be}[${JSON.stringify(P)}]`;const tt=this.chunkGraph;const nt=this.chunk;const st=tt.getChunkConditionMap(nt,K);const rt=ge(st);const ot=ae(nt,tt,K);const it=Ve?`${N.hmrRuntimeStatePrefix}_jsonp`:undefined;return q.asString([Ie?this._generateBaseUri(nt):"// no baseURI","","// object to store loaded and loading chunks","// undefined = chunk not loaded, null = chunk preloaded/prefetched","// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded",`var installedChunks = ${it?`${it} = ${it} || `:""}{`,q.indent(Array.from(ot,(v=>`${JSON.stringify(v)}: 0`)).join(",\n")),"};","",He?q.asString([`${Ae}.j = ${E.basicFunction(`chunkId, promises${Ze?", fetchPriority":""}`,rt!==false?q.indent(["// JSONP chunk loading for javascript",`var installedChunkData = ${N.hasOwnProperty}(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;`,'if(installedChunkData !== 0) { // 0 means "already installed".',q.indent(["",'// a Promise means "currently loading".',"if(installedChunkData) {",q.indent(["promises.push(installedChunkData[2]);"]),"} else {",q.indent([rt===true?"if(true) { // all chunks have JS":`if(${rt("chunkId")}) {`,q.indent(["// setup Promise in chunk cache",`var promise = new Promise(${E.expressionFunction(`installedChunkData = installedChunks[chunkId] = [resolve, reject]`,"resolve, reject")});`,"promises.push(installedChunkData[2] = promise);","","// start chunk loading",`var url = ${N.publicPath} + ${N.getChunkScriptFilename}(chunkId);`,"// create error before stack unwound to get useful stacktrace later","var error = new Error();",`var loadingEnded = ${E.basicFunction("event",[`if(${N.hasOwnProperty}(installedChunks, chunkId)) {`,q.indent(["installedChunkData = installedChunks[chunkId];","if(installedChunkData !== 0) installedChunks[chunkId] = undefined;","if(installedChunkData) {",q.indent(["var errorType = event && (event.type === 'load' ? 'missing' : event.type);","var realSrc = event && event.target && event.target.src;","error.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';","error.name = 'ChunkLoadError';","error.type = errorType;","error.request = realSrc;","installedChunkData[1](error);"]),"}"]),"}"])};`,`${N.loadScript}(url, loadingEnded, "chunk-" + chunkId, chunkId${Ze?", fetchPriority":""});`]),rt===true?"}":"} else installedChunks[chunkId] = 0;"]),"}"]),"}"]):q.indent(["installedChunks[chunkId] = 0;"]))};`]):"// no chunk on demand loading","",Ye&&rt!==false?`${N.prefetchChunkHandlers}.j = ${E.basicFunction("chunkId",[`if((!${N.hasOwnProperty}(installedChunks, chunkId) || installedChunks[chunkId] === undefined) && ${rt===true?"true":rt("chunkId")}) {`,q.indent(["installedChunks[chunkId] = null;",ve.call(q.asString(["var link = document.createElement('link');",$?`link.crossOrigin = ${JSON.stringify($)};`:"",`if (${N.scriptNonce}) {`,q.indent(`link.setAttribute("nonce", ${N.scriptNonce});`),"}",'link.rel = "prefetch";','link.as = "script";',`link.href = ${N.publicPath} + ${N.getChunkScriptFilename}(chunkId);`]),nt),"document.head.appendChild(link);"]),"}"])};`:"// no prefetching","",Xe&&rt!==false?`${N.preloadChunkHandlers}.j = ${E.basicFunction("chunkId",[`if((!${N.hasOwnProperty}(installedChunks, chunkId) || installedChunks[chunkId] === undefined) && ${rt===true?"true":rt("chunkId")}) {`,q.indent(["installedChunks[chunkId] = null;",xe.call(q.asString(["var link = document.createElement('link');",L&&L!=="module"?`link.type = ${JSON.stringify(L)};`:"","link.charset = 'utf-8';",`if (${N.scriptNonce}) {`,q.indent(`link.setAttribute("nonce", ${N.scriptNonce});`),"}",L==="module"?'link.rel = "modulepreload";':'link.rel = "preload";',L==="module"?"":'link.as = "script";',`link.href = ${N.publicPath} + ${N.getChunkScriptFilename}(chunkId);`,$?$==="use-credentials"?'link.crossOrigin = "use-credentials";':q.asString(["if (link.href.indexOf(window.location.origin + '/') !== 0) {",q.indent(`link.crossOrigin = ${JSON.stringify($)};`),"}"]):""]),nt),"document.head.appendChild(link);"]),"}"])};`:"// no preloaded","",Ve?q.asString(["var currentUpdatedModulesList;","var waitingUpdateResolves = {};","function loadUpdateChunk(chunkId, updatedModulesList) {",q.indent(["currentUpdatedModulesList = updatedModulesList;",`return new Promise(${E.basicFunction("resolve, reject",["waitingUpdateResolves[chunkId] = resolve;","// start update chunk loading",`var url = ${N.publicPath} + ${N.getChunkUpdateScriptFilename}(chunkId);`,"// create error before stack unwound to get useful stacktrace later","var error = new Error();",`var loadingEnded = ${E.basicFunction("event",["if(waitingUpdateResolves[chunkId]) {",q.indent(["waitingUpdateResolves[chunkId] = undefined","var errorType = event && (event.type === 'load' ? 'missing' : event.type);","var realSrc = event && event.target && event.target.src;","error.message = 'Loading hot update chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';","error.name = 'ChunkLoadError';","error.type = errorType;","error.request = realSrc;","reject(error);"]),"}"])};`,`${N.loadScript}(url, loadingEnded);`])});`]),"}","",`${be}[${JSON.stringify(R)}] = ${E.basicFunction("chunkId, moreModules, runtime",["for(var moduleId in moreModules) {",q.indent([`if(${N.hasOwnProperty}(moreModules, moduleId)) {`,q.indent(["currentUpdate[moduleId] = moreModules[moduleId];","if(currentUpdatedModulesList) currentUpdatedModulesList.push(moduleId);"]),"}"]),"}","if(runtime) currentUpdateRuntime.push(runtime);","if(waitingUpdateResolves[chunkId]) {",q.indent(["waitingUpdateResolves[chunkId]();","waitingUpdateResolves[chunkId] = undefined;"]),"}"])};`,"",q.getFunctionContent(require("./JavascriptHotModuleReplacement.runtime.js")).replace(/\$key\$/g,"jsonp").replace(/\$installedChunks\$/g,"installedChunks").replace(/\$loadUpdateChunk\$/g,"loadUpdateChunk").replace(/\$moduleCache\$/g,N.moduleCache).replace(/\$moduleFactories\$/g,N.moduleFactories).replace(/\$ensureChunkHandlers\$/g,N.ensureChunkHandlers).replace(/\$hasOwnProperty\$/g,N.hasOwnProperty).replace(/\$hmrModuleData\$/g,N.hmrModuleData).replace(/\$hmrDownloadUpdateHandlers\$/g,N.hmrDownloadUpdateHandlers).replace(/\$hmrInvalidateModuleHandlers\$/g,N.hmrInvalidateModuleHandlers)]):"// no HMR","",Ke?q.asString([`${N.hmrDownloadManifest} = ${E.basicFunction("",['if (typeof fetch === "undefined") throw new Error("No browser support: need fetch API");',`return fetch(${N.publicPath} + ${N.getUpdateManifestFilename}()).then(${E.basicFunction("response",["if(response.status === 404) return; // no update available",'if(!response.ok) throw new Error("Failed to fetch update manifest " + response.statusText);',"return response.json();"])});`])};`]):"// no HMR manifest","",Je?`${N.onChunksLoaded}.j = ${E.returningFunction("installedChunks[chunkId] === 0","chunkId")};`:"// no on chunks loaded","",Qe||He?q.asString(["// install a JSONP callback for chunk loading",`var webpackJsonpCallback = ${E.basicFunction("parentChunkLoadingFunction, data",[E.destructureArray(["chunkIds","moreModules","runtime"],"data"),'// add "moreModules" to the modules object,','// then flag all "chunkIds" as loaded and fire callback',"var moduleId, chunkId, i = 0;",`if(chunkIds.some(${E.returningFunction("installedChunks[id] !== 0","id")})) {`,q.indent(["for(moduleId in moreModules) {",q.indent([`if(${N.hasOwnProperty}(moreModules, moduleId)) {`,q.indent(`${N.moduleFactories}[moduleId] = moreModules[moduleId];`),"}"]),"}",`if(runtime) var result = runtime(${N.require});`]),"}","if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);","for(;i < chunkIds.length; i++) {",q.indent(["chunkId = chunkIds[i];",`if(${N.hasOwnProperty}(installedChunks, chunkId) && installedChunks[chunkId]) {`,q.indent("installedChunks[chunkId][0]();"),"}","installedChunks[chunkId] = 0;"]),"}",Je?`return ${N.onChunksLoaded}(result);`:""])}`,"",`var chunkLoadingGlobal = ${et} = ${et} || [];`,"chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));","chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));"]):"// no jsonp function"])}}v.exports=JsonpChunkLoadingRuntimeModule},3635:function(v,E,P){"use strict";const R=P(66837);const $=P(31371);const N=P(75014);class JsonpTemplatePlugin{static getCompilationHooks(v){return N.getCompilationHooks(v)}apply(v){v.options.output.chunkLoading="jsonp";(new R).apply(v);new $("jsonp").apply(v)}}v.exports=JsonpTemplatePlugin},84159:function(v,E,P){"use strict";const R=P(73837);const $=P(8954);const N=P(74792);const L=P(74883);const q=P(20381);const K=P(98574);const{applyWebpackOptionsDefaults:ae,applyWebpackOptionsBaseDefaults:ge}=P(58504);const{getNormalizedWebpackOptions:be}=P(87605);const xe=P(6661);const ve=P(25689);const Ae=ve((()=>P(21917)));const createMultiCompiler=(v,E)=>{const P=v.map((v=>createCompiler(v)));const R=new q(P,E);for(const v of P){if(v.options.dependencies){R.setDependencies(v,v.options.dependencies)}}return R};const createCompiler=v=>{const E=be(v);ge(E);const P=new L(E.context,E);new xe({infrastructureLogging:E.infrastructureLogging}).apply(P);if(Array.isArray(E.plugins)){for(const v of E.plugins){if(typeof v==="function"){v.call(P,P)}else if(v){v.apply(P)}}}ae(E);P.hooks.environment.call();P.hooks.afterEnvironment.call();(new K).process(E,P);P.hooks.initialize.call();return P};const asArray=v=>Array.isArray(v)?Array.from(v):[v];const webpack=(v,E)=>{const create=()=>{if(!asArray(v).every($)){Ae()(N,v);R.deprecate((()=>{}),"webpack bug: Pre-compiled schema reports error while real schema is happy. This has performance drawbacks.","DEP_WEBPACK_PRE_COMPILED_SCHEMA_INVALID")()}let E;let P=false;let L;if(Array.isArray(v)){E=createMultiCompiler(v,v);P=v.some((v=>v.watch));L=v.map((v=>v.watchOptions||{}))}else{const R=v;E=createCompiler(R);P=R.watch;L=R.watchOptions||{}}return{compiler:E,watch:P,watchOptions:L}};if(E){try{const{compiler:v,watch:P,watchOptions:R}=create();if(P){v.watch(R,E)}else{v.run(((P,R)=>{v.close((v=>{E(P||v,R)}))}))}return v}catch(v){process.nextTick((()=>E(v)));return null}}else{const{compiler:v,watch:E}=create();if(E){R.deprecate((()=>{}),"A 'callback' argument needs to be provided to the 'webpack(options, callback)' function when the 'watch' option is set. There is no way to handle the 'watch' option without a callback.","DEP_WEBPACK_WATCH_WITHOUT_CALLBACK")()}return v}};v.exports=webpack},12249:function(v,E,P){"use strict";const R=P(92529);const $=P(9578);const N=P(47116);class ImportScriptsChunkLoadingPlugin{apply(v){new $({chunkLoading:"import-scripts",asyncChunkLoading:true}).apply(v);v.hooks.thisCompilation.tap("ImportScriptsChunkLoadingPlugin",(v=>{const E=v.outputOptions.chunkLoading;const isEnabledForChunk=v=>{const P=v.getEntryOptions();const R=P&&P.chunkLoading!==undefined?P.chunkLoading:E;return R==="import-scripts"};const P=new WeakSet;const handler=(E,$)=>{if(P.has(E))return;P.add(E);if(!isEnabledForChunk(E))return;const L=!!v.outputOptions.trustedTypes;$.add(R.moduleFactoriesAddOnly);$.add(R.hasOwnProperty);if(L){$.add(R.createScriptUrl)}v.addRuntimeModule(E,new N($,L))};v.hooks.runtimeRequirementInTree.for(R.ensureChunkHandlers).tap("ImportScriptsChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.hmrDownloadUpdateHandlers).tap("ImportScriptsChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.hmrDownloadManifest).tap("ImportScriptsChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.baseURI).tap("ImportScriptsChunkLoadingPlugin",handler);v.hooks.runtimeRequirementInTree.for(R.ensureChunkHandlers).tap("ImportScriptsChunkLoadingPlugin",((v,E)=>{if(!isEnabledForChunk(v))return;E.add(R.publicPath);E.add(R.getChunkScriptFilename)}));v.hooks.runtimeRequirementInTree.for(R.hmrDownloadUpdateHandlers).tap("ImportScriptsChunkLoadingPlugin",((v,E)=>{if(!isEnabledForChunk(v))return;E.add(R.publicPath);E.add(R.getChunkUpdateScriptFilename);E.add(R.moduleCache);E.add(R.hmrModuleData);E.add(R.moduleFactoriesAddOnly)}));v.hooks.runtimeRequirementInTree.for(R.hmrDownloadManifest).tap("ImportScriptsChunkLoadingPlugin",((v,E)=>{if(!isEnabledForChunk(v))return;E.add(R.publicPath);E.add(R.getUpdateManifestFilename)}))}))}}v.exports=ImportScriptsChunkLoadingPlugin},47116:function(v,E,P){"use strict";const R=P(92529);const $=P(845);const N=P(25233);const{getChunkFilenameTemplate:L,chunkHasJs:q}=P(42453);const{getInitialChunkIds:K}=P(5606);const ae=P(49694);const{getUndoPath:ge}=P(51984);class ImportScriptsChunkLoadingRuntimeModule extends ${constructor(v,E){super("importScripts chunk loading",$.STAGE_ATTACH);this.runtimeRequirements=v;this._withCreateScriptUrl=E}_generateBaseUri(v){const E=v.getEntryOptions();if(E&&E.baseUri){return`${R.baseURI} = ${JSON.stringify(E.baseUri)};`}const P=this.compilation;const $=P.getPath(L(v,P.outputOptions),{chunk:v,contentHashType:"javascript"});const N=ge($,P.outputOptions.path,false);return`${R.baseURI} = self.location + ${JSON.stringify(N?"/../"+N:"")};`}generate(){const v=this.compilation;const E=R.ensureChunkHandlers;const P=this.runtimeRequirements.has(R.baseURI);const $=this.runtimeRequirements.has(R.ensureChunkHandlers);const L=this.runtimeRequirements.has(R.hmrDownloadUpdateHandlers);const ge=this.runtimeRequirements.has(R.hmrDownloadManifest);const be=v.runtimeTemplate.globalObject;const xe=`${be}[${JSON.stringify(v.outputOptions.chunkLoadingGlobal)}]`;const ve=this.chunkGraph;const Ae=this.chunk;const Ie=ae(ve.getChunkConditionMap(Ae,q));const He=K(Ae,ve,q);const Qe=L?`${R.hmrRuntimeStatePrefix}_importScripts`:undefined;const Je=v.runtimeTemplate;const{_withCreateScriptUrl:Ve}=this;return N.asString([P?this._generateBaseUri(Ae):"// no baseURI","","// object to store loaded chunks",'// "1" means "already loaded"',`var installedChunks = ${Qe?`${Qe} = ${Qe} || `:""}{`,N.indent(Array.from(He,(v=>`${JSON.stringify(v)}: 1`)).join(",\n")),"};","",$?N.asString(["// importScripts chunk loading",`var installChunk = ${Je.basicFunction("data",[Je.destructureArray(["chunkIds","moreModules","runtime"],"data"),"for(var moduleId in moreModules) {",N.indent([`if(${R.hasOwnProperty}(moreModules, moduleId)) {`,N.indent(`${R.moduleFactories}[moduleId] = moreModules[moduleId];`),"}"]),"}",`if(runtime) runtime(${R.require});`,"while(chunkIds.length)",N.indent("installedChunks[chunkIds.pop()] = 1;"),"parentChunkLoadingFunction(data);"])};`]):"// no chunk install function needed",$?N.asString([`${E}.i = ${Je.basicFunction("chunkId, promises",Ie!==false?['// "1" is the signal for "already loaded"',"if(!installedChunks[chunkId]) {",N.indent([Ie===true?"if(true) { // all chunks have JS":`if(${Ie("chunkId")}) {`,N.indent(`importScripts(${Ve?`${R.createScriptUrl}(${R.publicPath} + ${R.getChunkScriptFilename}(chunkId))`:`${R.publicPath} + ${R.getChunkScriptFilename}(chunkId)`});`),"}"]),"}"]:"installedChunks[chunkId] = 1;")};`,"",`var chunkLoadingGlobal = ${xe} = ${xe} || [];`,"var parentChunkLoadingFunction = chunkLoadingGlobal.push.bind(chunkLoadingGlobal);","chunkLoadingGlobal.push = installChunk;"]):"// no chunk loading","",L?N.asString(["function loadUpdateChunk(chunkId, updatedModulesList) {",N.indent(["var success = false;",`${be}[${JSON.stringify(v.outputOptions.hotUpdateGlobal)}] = ${Je.basicFunction("_, moreModules, runtime",["for(var moduleId in moreModules) {",N.indent([`if(${R.hasOwnProperty}(moreModules, moduleId)) {`,N.indent(["currentUpdate[moduleId] = moreModules[moduleId];","if(updatedModulesList) updatedModulesList.push(moduleId);"]),"}"]),"}","if(runtime) currentUpdateRuntime.push(runtime);","success = true;"])};`,"// start update chunk loading",`importScripts(${Ve?`${R.createScriptUrl}(${R.publicPath} + ${R.getChunkUpdateScriptFilename}(chunkId))`:`${R.publicPath} + ${R.getChunkUpdateScriptFilename}(chunkId)`});`,'if(!success) throw new Error("Loading update chunk failed for unknown reason");']),"}","",N.getFunctionContent(require("./JavascriptHotModuleReplacement.runtime.js")).replace(/\$key\$/g,"importScripts").replace(/\$installedChunks\$/g,"installedChunks").replace(/\$loadUpdateChunk\$/g,"loadUpdateChunk").replace(/\$moduleCache\$/g,R.moduleCache).replace(/\$moduleFactories\$/g,R.moduleFactories).replace(/\$ensureChunkHandlers\$/g,R.ensureChunkHandlers).replace(/\$hasOwnProperty\$/g,R.hasOwnProperty).replace(/\$hmrModuleData\$/g,R.hmrModuleData).replace(/\$hmrDownloadUpdateHandlers\$/g,R.hmrDownloadUpdateHandlers).replace(/\$hmrInvalidateModuleHandlers\$/g,R.hmrInvalidateModuleHandlers)]):"// no HMR","",ge?N.asString([`${R.hmrDownloadManifest} = ${Je.basicFunction("",['if (typeof fetch === "undefined") throw new Error("No browser support: need fetch API");',`return fetch(${R.publicPath} + ${R.getUpdateManifestFilename}()).then(${Je.basicFunction("response",["if(response.status === 404) return; // no update available",'if(!response.ok) throw new Error("Failed to fetch update manifest " + response.statusText);',"return response.json();"])});`])};`]):"// no HMR manifest"])}}v.exports=ImportScriptsChunkLoadingRuntimeModule},87616:function(v,E,P){"use strict";const R=P(66837);const $=P(31371);class WebWorkerTemplatePlugin{apply(v){v.options.output.chunkLoading="import-scripts";(new R).apply(v);new $("import-scripts").apply(v)}}v.exports=WebWorkerTemplatePlugin},8954:function(v){const E=/^(?:[A-Za-z]:[\\/]|\\\\|\/)/;v.exports=_e,v.exports["default"]=_e;const P={definitions:{Amd:{anyOf:[{enum:[!1]},{type:"object"}]},AmdContainer:{type:"string",minLength:1},AssetFilterItemTypes:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!1},{instanceof:"Function"}]},AssetFilterTypes:{anyOf:[{type:"array",items:{oneOf:[{$ref:"#/definitions/AssetFilterItemTypes"}]}},{$ref:"#/definitions/AssetFilterItemTypes"}]},AssetGeneratorDataUrl:{anyOf:[{$ref:"#/definitions/AssetGeneratorDataUrlOptions"},{$ref:"#/definitions/AssetGeneratorDataUrlFunction"}]},AssetGeneratorDataUrlFunction:{instanceof:"Function"},AssetGeneratorDataUrlOptions:{type:"object",additionalProperties:!1,properties:{encoding:{enum:[!1,"base64"]},mimetype:{type:"string"}}},AssetGeneratorOptions:{type:"object",additionalProperties:!1,properties:{dataUrl:{$ref:"#/definitions/AssetGeneratorDataUrl"},emit:{type:"boolean"},filename:{$ref:"#/definitions/FilenameTemplate"},outputPath:{$ref:"#/definitions/AssetModuleOutputPath"},publicPath:{$ref:"#/definitions/RawPublicPath"}}},AssetInlineGeneratorOptions:{type:"object",additionalProperties:!1,properties:{dataUrl:{$ref:"#/definitions/AssetGeneratorDataUrl"}}},AssetModuleFilename:{anyOf:[{type:"string",absolutePath:!1},{instanceof:"Function"}]},AssetModuleOutputPath:{anyOf:[{type:"string",absolutePath:!1},{instanceof:"Function"}]},AssetParserDataUrlFunction:{instanceof:"Function"},AssetParserDataUrlOptions:{type:"object",additionalProperties:!1,properties:{maxSize:{type:"number"}}},AssetParserOptions:{type:"object",additionalProperties:!1,properties:{dataUrlCondition:{anyOf:[{$ref:"#/definitions/AssetParserDataUrlOptions"},{$ref:"#/definitions/AssetParserDataUrlFunction"}]}}},AssetResourceGeneratorOptions:{type:"object",additionalProperties:!1,properties:{emit:{type:"boolean"},filename:{$ref:"#/definitions/FilenameTemplate"},outputPath:{$ref:"#/definitions/AssetModuleOutputPath"},publicPath:{$ref:"#/definitions/RawPublicPath"}}},AuxiliaryComment:{anyOf:[{type:"string"},{$ref:"#/definitions/LibraryCustomUmdCommentObject"}]},Bail:{type:"boolean"},CacheOptions:{anyOf:[{enum:[!0]},{$ref:"#/definitions/CacheOptionsNormalized"}]},CacheOptionsNormalized:{anyOf:[{enum:[!1]},{$ref:"#/definitions/MemoryCacheOptions"},{$ref:"#/definitions/FileCacheOptions"}]},Charset:{type:"boolean"},ChunkFilename:{oneOf:[{$ref:"#/definitions/FilenameTemplate"}]},ChunkFormat:{anyOf:[{enum:["array-push","commonjs","module",!1]},{type:"string"}]},ChunkLoadTimeout:{type:"number"},ChunkLoading:{anyOf:[{enum:[!1]},{$ref:"#/definitions/ChunkLoadingType"}]},ChunkLoadingGlobal:{type:"string"},ChunkLoadingType:{anyOf:[{enum:["jsonp","import-scripts","require","async-node","import"]},{type:"string"}]},Clean:{anyOf:[{type:"boolean"},{$ref:"#/definitions/CleanOptions"}]},CleanOptions:{type:"object",additionalProperties:!1,properties:{dry:{type:"boolean"},keep:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!1},{instanceof:"Function"}]}}},CompareBeforeEmit:{type:"boolean"},Context:{type:"string",absolutePath:!0},CrossOriginLoading:{enum:[!1,"anonymous","use-credentials"]},CssAutoGeneratorOptions:{type:"object",additionalProperties:!1,properties:{exportsOnly:{$ref:"#/definitions/CssGeneratorExportsOnly"}}},CssAutoParserOptions:{type:"object",additionalProperties:!1,properties:{namedExports:{$ref:"#/definitions/CssParserNamedExports"}}},CssChunkFilename:{oneOf:[{$ref:"#/definitions/FilenameTemplate"}]},CssFilename:{oneOf:[{$ref:"#/definitions/FilenameTemplate"}]},CssGeneratorExportsOnly:{type:"boolean"},CssGeneratorOptions:{type:"object",additionalProperties:!1,properties:{exportsOnly:{$ref:"#/definitions/CssGeneratorExportsOnly"}}},CssGlobalGeneratorOptions:{type:"object",additionalProperties:!1,properties:{exportsOnly:{$ref:"#/definitions/CssGeneratorExportsOnly"}}},CssGlobalParserOptions:{type:"object",additionalProperties:!1,properties:{namedExports:{$ref:"#/definitions/CssParserNamedExports"}}},CssModuleGeneratorOptions:{type:"object",additionalProperties:!1,properties:{exportsOnly:{$ref:"#/definitions/CssGeneratorExportsOnly"}}},CssModuleParserOptions:{type:"object",additionalProperties:!1,properties:{namedExports:{$ref:"#/definitions/CssParserNamedExports"}}},CssParserNamedExports:{type:"boolean"},CssParserOptions:{type:"object",additionalProperties:!1,properties:{namedExports:{$ref:"#/definitions/CssParserNamedExports"}}},Dependencies:{type:"array",items:{type:"string"}},DevServer:{anyOf:[{enum:[!1]},{type:"object"}]},DevTool:{anyOf:[{enum:[!1,"eval"]},{type:"string",pattern:"^(inline-|hidden-|eval-)?(nosources-)?(cheap-(module-)?)?source-map$"}]},DevtoolFallbackModuleFilenameTemplate:{anyOf:[{type:"string"},{instanceof:"Function"}]},DevtoolModuleFilenameTemplate:{anyOf:[{type:"string"},{instanceof:"Function"}]},DevtoolNamespace:{type:"string"},EmptyGeneratorOptions:{type:"object",additionalProperties:!1},EmptyParserOptions:{type:"object",additionalProperties:!1},EnabledChunkLoadingTypes:{type:"array",items:{$ref:"#/definitions/ChunkLoadingType"}},EnabledLibraryTypes:{type:"array",items:{$ref:"#/definitions/LibraryType"}},EnabledWasmLoadingTypes:{type:"array",items:{$ref:"#/definitions/WasmLoadingType"}},Entry:{anyOf:[{$ref:"#/definitions/EntryDynamic"},{$ref:"#/definitions/EntryStatic"}]},EntryDescription:{type:"object",additionalProperties:!1,properties:{asyncChunks:{type:"boolean"},baseUri:{type:"string"},chunkLoading:{$ref:"#/definitions/ChunkLoading"},dependOn:{anyOf:[{type:"array",items:{type:"string",minLength:1},minItems:1,uniqueItems:!0},{type:"string",minLength:1}]},filename:{$ref:"#/definitions/EntryFilename"},import:{$ref:"#/definitions/EntryItem"},layer:{$ref:"#/definitions/Layer"},library:{$ref:"#/definitions/LibraryOptions"},publicPath:{$ref:"#/definitions/PublicPath"},runtime:{$ref:"#/definitions/EntryRuntime"},wasmLoading:{$ref:"#/definitions/WasmLoading"}},required:["import"]},EntryDescriptionNormalized:{type:"object",additionalProperties:!1,properties:{asyncChunks:{type:"boolean"},baseUri:{type:"string"},chunkLoading:{$ref:"#/definitions/ChunkLoading"},dependOn:{type:"array",items:{type:"string",minLength:1},minItems:1,uniqueItems:!0},filename:{$ref:"#/definitions/Filename"},import:{type:"array",items:{type:"string",minLength:1},minItems:1,uniqueItems:!0},layer:{$ref:"#/definitions/Layer"},library:{$ref:"#/definitions/LibraryOptions"},publicPath:{$ref:"#/definitions/PublicPath"},runtime:{$ref:"#/definitions/EntryRuntime"},wasmLoading:{$ref:"#/definitions/WasmLoading"}}},EntryDynamic:{instanceof:"Function"},EntryDynamicNormalized:{instanceof:"Function"},EntryFilename:{oneOf:[{$ref:"#/definitions/FilenameTemplate"}]},EntryItem:{anyOf:[{type:"array",items:{type:"string",minLength:1},minItems:1,uniqueItems:!0},{type:"string",minLength:1}]},EntryNormalized:{anyOf:[{$ref:"#/definitions/EntryDynamicNormalized"},{$ref:"#/definitions/EntryStaticNormalized"}]},EntryObject:{type:"object",additionalProperties:{anyOf:[{$ref:"#/definitions/EntryItem"},{$ref:"#/definitions/EntryDescription"}]}},EntryRuntime:{anyOf:[{enum:[!1]},{type:"string",minLength:1}]},EntryStatic:{anyOf:[{$ref:"#/definitions/EntryObject"},{$ref:"#/definitions/EntryUnnamed"}]},EntryStaticNormalized:{type:"object",additionalProperties:{oneOf:[{$ref:"#/definitions/EntryDescriptionNormalized"}]}},EntryUnnamed:{oneOf:[{$ref:"#/definitions/EntryItem"}]},Environment:{type:"object",additionalProperties:!1,properties:{arrowFunction:{type:"boolean"},asyncFunction:{type:"boolean"},bigIntLiteral:{type:"boolean"},const:{type:"boolean"},destructuring:{type:"boolean"},dynamicImport:{type:"boolean"},dynamicImportInWorker:{type:"boolean"},forOf:{type:"boolean"},globalThis:{type:"boolean"},module:{type:"boolean"},optionalChaining:{type:"boolean"},templateLiteral:{type:"boolean"}}},Experiments:{type:"object",additionalProperties:!1,properties:{asyncWebAssembly:{type:"boolean"},backCompat:{type:"boolean"},buildHttp:{anyOf:[{$ref:"#/definitions/HttpUriAllowedUris"},{$ref:"#/definitions/HttpUriOptions"}]},cacheUnaffected:{type:"boolean"},css:{type:"boolean"},futureDefaults:{type:"boolean"},layers:{type:"boolean"},lazyCompilation:{anyOf:[{type:"boolean"},{$ref:"#/definitions/LazyCompilationOptions"}]},outputModule:{type:"boolean"},syncWebAssembly:{type:"boolean"},topLevelAwait:{type:"boolean"}}},ExperimentsCommon:{type:"object",additionalProperties:!1,properties:{asyncWebAssembly:{type:"boolean"},backCompat:{type:"boolean"},cacheUnaffected:{type:"boolean"},futureDefaults:{type:"boolean"},layers:{type:"boolean"},outputModule:{type:"boolean"},syncWebAssembly:{type:"boolean"},topLevelAwait:{type:"boolean"}}},ExperimentsNormalized:{type:"object",additionalProperties:!1,properties:{asyncWebAssembly:{type:"boolean"},backCompat:{type:"boolean"},buildHttp:{oneOf:[{$ref:"#/definitions/HttpUriOptions"}]},cacheUnaffected:{type:"boolean"},css:{type:"boolean"},futureDefaults:{type:"boolean"},layers:{type:"boolean"},lazyCompilation:{anyOf:[{enum:[!1]},{$ref:"#/definitions/LazyCompilationOptions"}]},outputModule:{type:"boolean"},syncWebAssembly:{type:"boolean"},topLevelAwait:{type:"boolean"}}},Extends:{anyOf:[{type:"array",items:{$ref:"#/definitions/ExtendsItem"}},{$ref:"#/definitions/ExtendsItem"}]},ExtendsItem:{type:"string"},ExternalItem:{anyOf:[{instanceof:"RegExp"},{type:"string"},{type:"object",additionalProperties:{$ref:"#/definitions/ExternalItemValue"},properties:{byLayer:{anyOf:[{type:"object",additionalProperties:{$ref:"#/definitions/ExternalItem"}},{instanceof:"Function"}]}}},{instanceof:"Function"}]},ExternalItemFunctionData:{type:"object",additionalProperties:!1,properties:{context:{type:"string"},contextInfo:{type:"object"},dependencyType:{type:"string"},getResolve:{instanceof:"Function"},request:{type:"string"}}},ExternalItemValue:{anyOf:[{type:"array",items:{type:"string",minLength:1}},{type:"boolean"},{type:"string"},{type:"object"}]},Externals:{anyOf:[{type:"array",items:{$ref:"#/definitions/ExternalItem"}},{$ref:"#/definitions/ExternalItem"}]},ExternalsPresets:{type:"object",additionalProperties:!1,properties:{electron:{type:"boolean"},electronMain:{type:"boolean"},electronPreload:{type:"boolean"},electronRenderer:{type:"boolean"},node:{type:"boolean"},nwjs:{type:"boolean"},web:{type:"boolean"},webAsync:{type:"boolean"}}},ExternalsType:{enum:["var","module","assign","this","window","self","global","commonjs","commonjs2","commonjs-module","commonjs-static","amd","amd-require","umd","umd2","jsonp","system","promise","import","script","node-commonjs"]},Falsy:{enum:[!1,0,"",null],undefinedAsNull:!0},FileCacheOptions:{type:"object",additionalProperties:!1,properties:{allowCollectingMemory:{type:"boolean"},buildDependencies:{type:"object",additionalProperties:{type:"array",items:{type:"string",minLength:1}}},cacheDirectory:{type:"string",absolutePath:!0},cacheLocation:{type:"string",absolutePath:!0},compression:{enum:[!1,"gzip","brotli"]},hashAlgorithm:{type:"string"},idleTimeout:{type:"number",minimum:0},idleTimeoutAfterLargeChanges:{type:"number",minimum:0},idleTimeoutForInitialStore:{type:"number",minimum:0},immutablePaths:{type:"array",items:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!0,minLength:1}]}},managedPaths:{type:"array",items:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!0,minLength:1}]}},maxAge:{type:"number",minimum:0},maxMemoryGenerations:{type:"number",minimum:0},memoryCacheUnaffected:{type:"boolean"},name:{type:"string"},profile:{type:"boolean"},readonly:{type:"boolean"},store:{enum:["pack"]},type:{enum:["filesystem"]},version:{type:"string"}},required:["type"]},Filename:{oneOf:[{$ref:"#/definitions/FilenameTemplate"}]},FilenameTemplate:{anyOf:[{type:"string",absolutePath:!1,minLength:1},{instanceof:"Function"}]},FilterItemTypes:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!1},{instanceof:"Function"}]},FilterTypes:{anyOf:[{type:"array",items:{oneOf:[{$ref:"#/definitions/FilterItemTypes"}]}},{$ref:"#/definitions/FilterItemTypes"}]},GeneratorOptionsByModuleType:{type:"object",additionalProperties:{type:"object",additionalProperties:!0},properties:{asset:{$ref:"#/definitions/AssetGeneratorOptions"},"asset/inline":{$ref:"#/definitions/AssetInlineGeneratorOptions"},"asset/resource":{$ref:"#/definitions/AssetResourceGeneratorOptions"},css:{$ref:"#/definitions/CssGeneratorOptions"},"css/auto":{$ref:"#/definitions/CssAutoGeneratorOptions"},"css/global":{$ref:"#/definitions/CssGlobalGeneratorOptions"},"css/module":{$ref:"#/definitions/CssModuleGeneratorOptions"},javascript:{$ref:"#/definitions/EmptyGeneratorOptions"},"javascript/auto":{$ref:"#/definitions/EmptyGeneratorOptions"},"javascript/dynamic":{$ref:"#/definitions/EmptyGeneratorOptions"},"javascript/esm":{$ref:"#/definitions/EmptyGeneratorOptions"}}},GlobalObject:{type:"string",minLength:1},HashDigest:{type:"string"},HashDigestLength:{type:"number",minimum:1},HashFunction:{anyOf:[{type:"string",minLength:1},{instanceof:"Function"}]},HashSalt:{type:"string",minLength:1},HotUpdateChunkFilename:{type:"string",absolutePath:!1},HotUpdateGlobal:{type:"string"},HotUpdateMainFilename:{type:"string",absolutePath:!1},HttpUriAllowedUris:{oneOf:[{$ref:"#/definitions/HttpUriOptionsAllowedUris"}]},HttpUriOptions:{type:"object",additionalProperties:!1,properties:{allowedUris:{$ref:"#/definitions/HttpUriOptionsAllowedUris"},cacheLocation:{anyOf:[{enum:[!1]},{type:"string",absolutePath:!0}]},frozen:{type:"boolean"},lockfileLocation:{type:"string",absolutePath:!0},proxy:{type:"string"},upgrade:{type:"boolean"}},required:["allowedUris"]},HttpUriOptionsAllowedUris:{type:"array",items:{anyOf:[{instanceof:"RegExp"},{type:"string",pattern:"^https?://"},{instanceof:"Function"}]}},IgnoreWarnings:{type:"array",items:{anyOf:[{instanceof:"RegExp"},{type:"object",additionalProperties:!1,properties:{file:{instanceof:"RegExp"},message:{instanceof:"RegExp"},module:{instanceof:"RegExp"}}},{instanceof:"Function"}]}},IgnoreWarningsNormalized:{type:"array",items:{instanceof:"Function"}},Iife:{type:"boolean"},ImportFunctionName:{type:"string"},ImportMetaName:{type:"string"},InfrastructureLogging:{type:"object",additionalProperties:!1,properties:{appendOnly:{type:"boolean"},colors:{type:"boolean"},console:{},debug:{anyOf:[{type:"boolean"},{$ref:"#/definitions/FilterTypes"}]},level:{enum:["none","error","warn","info","log","verbose"]},stream:{}}},JavascriptParserOptions:{type:"object",additionalProperties:!0,properties:{amd:{$ref:"#/definitions/Amd"},browserify:{type:"boolean"},commonjs:{type:"boolean"},commonjsMagicComments:{type:"boolean"},createRequire:{anyOf:[{type:"boolean"},{type:"string"}]},dynamicImportFetchPriority:{enum:["low","high","auto",!1]},dynamicImportMode:{enum:["eager","weak","lazy","lazy-once"]},dynamicImportPrefetch:{anyOf:[{type:"number"},{type:"boolean"}]},dynamicImportPreload:{anyOf:[{type:"number"},{type:"boolean"}]},exportsPresence:{enum:["error","warn","auto",!1]},exprContextCritical:{type:"boolean"},exprContextRecursive:{type:"boolean"},exprContextRegExp:{anyOf:[{instanceof:"RegExp"},{type:"boolean"}]},exprContextRequest:{type:"string"},harmony:{type:"boolean"},import:{type:"boolean"},importExportsPresence:{enum:["error","warn","auto",!1]},importMeta:{type:"boolean"},importMetaContext:{type:"boolean"},node:{$ref:"#/definitions/Node"},reexportExportsPresence:{enum:["error","warn","auto",!1]},requireContext:{type:"boolean"},requireEnsure:{type:"boolean"},requireInclude:{type:"boolean"},requireJs:{type:"boolean"},strictExportPresence:{type:"boolean"},strictThisContextOnImports:{type:"boolean"},system:{type:"boolean"},unknownContextCritical:{type:"boolean"},unknownContextRecursive:{type:"boolean"},unknownContextRegExp:{anyOf:[{instanceof:"RegExp"},{type:"boolean"}]},unknownContextRequest:{type:"string"},url:{anyOf:[{enum:["relative"]},{type:"boolean"}]},worker:{anyOf:[{type:"array",items:{type:"string",minLength:1}},{type:"boolean"}]},wrappedContextCritical:{type:"boolean"},wrappedContextRecursive:{type:"boolean"},wrappedContextRegExp:{instanceof:"RegExp"}}},Layer:{anyOf:[{enum:[null]},{type:"string",minLength:1}]},LazyCompilationDefaultBackendOptions:{type:"object",additionalProperties:!1,properties:{client:{type:"string"},listen:{anyOf:[{type:"number"},{type:"object",additionalProperties:!0,properties:{host:{type:"string"},port:{type:"number"}}},{instanceof:"Function"}]},protocol:{enum:["http","https"]},server:{anyOf:[{type:"object",additionalProperties:!0,properties:{}},{instanceof:"Function"}]}}},LazyCompilationOptions:{type:"object",additionalProperties:!1,properties:{backend:{anyOf:[{instanceof:"Function"},{$ref:"#/definitions/LazyCompilationDefaultBackendOptions"}]},entries:{type:"boolean"},imports:{type:"boolean"},test:{anyOf:[{instanceof:"RegExp"},{type:"string"},{instanceof:"Function"}]}}},Library:{anyOf:[{$ref:"#/definitions/LibraryName"},{$ref:"#/definitions/LibraryOptions"}]},LibraryCustomUmdCommentObject:{type:"object",additionalProperties:!1,properties:{amd:{type:"string"},commonjs:{type:"string"},commonjs2:{type:"string"},root:{type:"string"}}},LibraryCustomUmdObject:{type:"object",additionalProperties:!1,properties:{amd:{type:"string",minLength:1},commonjs:{type:"string",minLength:1},root:{anyOf:[{type:"array",items:{type:"string",minLength:1}},{type:"string",minLength:1}]}}},LibraryExport:{anyOf:[{type:"array",items:{type:"string",minLength:1}},{type:"string",minLength:1}]},LibraryName:{anyOf:[{type:"array",items:{type:"string",minLength:1},minItems:1},{type:"string",minLength:1},{$ref:"#/definitions/LibraryCustomUmdObject"}]},LibraryOptions:{type:"object",additionalProperties:!1,properties:{amdContainer:{$ref:"#/definitions/AmdContainer"},auxiliaryComment:{$ref:"#/definitions/AuxiliaryComment"},export:{$ref:"#/definitions/LibraryExport"},name:{$ref:"#/definitions/LibraryName"},type:{$ref:"#/definitions/LibraryType"},umdNamedDefine:{$ref:"#/definitions/UmdNamedDefine"}},required:["type"]},LibraryType:{anyOf:[{enum:["var","module","assign","assign-properties","this","window","self","global","commonjs","commonjs2","commonjs-module","commonjs-static","amd","amd-require","umd","umd2","jsonp","system"]},{type:"string"}]},Loader:{type:"object"},MemoryCacheOptions:{type:"object",additionalProperties:!1,properties:{cacheUnaffected:{type:"boolean"},maxGenerations:{type:"number",minimum:1},type:{enum:["memory"]}},required:["type"]},Mode:{enum:["development","production","none"]},ModuleFilterItemTypes:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!1},{instanceof:"Function"}]},ModuleFilterTypes:{anyOf:[{type:"array",items:{oneOf:[{$ref:"#/definitions/ModuleFilterItemTypes"}]}},{$ref:"#/definitions/ModuleFilterItemTypes"}]},ModuleOptions:{type:"object",additionalProperties:!1,properties:{defaultRules:{oneOf:[{$ref:"#/definitions/RuleSetRules"}]},exprContextCritical:{type:"boolean"},exprContextRecursive:{type:"boolean"},exprContextRegExp:{anyOf:[{instanceof:"RegExp"},{type:"boolean"}]},exprContextRequest:{type:"string"},generator:{$ref:"#/definitions/GeneratorOptionsByModuleType"},noParse:{$ref:"#/definitions/NoParse"},parser:{$ref:"#/definitions/ParserOptionsByModuleType"},rules:{oneOf:[{$ref:"#/definitions/RuleSetRules"}]},strictExportPresence:{type:"boolean"},strictThisContextOnImports:{type:"boolean"},unknownContextCritical:{type:"boolean"},unknownContextRecursive:{type:"boolean"},unknownContextRegExp:{anyOf:[{instanceof:"RegExp"},{type:"boolean"}]},unknownContextRequest:{type:"string"},unsafeCache:{anyOf:[{type:"boolean"},{instanceof:"Function"}]},wrappedContextCritical:{type:"boolean"},wrappedContextRecursive:{type:"boolean"},wrappedContextRegExp:{instanceof:"RegExp"}}},ModuleOptionsNormalized:{type:"object",additionalProperties:!1,properties:{defaultRules:{oneOf:[{$ref:"#/definitions/RuleSetRules"}]},generator:{$ref:"#/definitions/GeneratorOptionsByModuleType"},noParse:{$ref:"#/definitions/NoParse"},parser:{$ref:"#/definitions/ParserOptionsByModuleType"},rules:{oneOf:[{$ref:"#/definitions/RuleSetRules"}]},unsafeCache:{anyOf:[{type:"boolean"},{instanceof:"Function"}]}},required:["defaultRules","generator","parser","rules"]},Name:{type:"string"},NoParse:{anyOf:[{type:"array",items:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!0},{instanceof:"Function"}]},minItems:1},{instanceof:"RegExp"},{type:"string",absolutePath:!0},{instanceof:"Function"}]},Node:{anyOf:[{enum:[!1]},{$ref:"#/definitions/NodeOptions"}]},NodeOptions:{type:"object",additionalProperties:!1,properties:{__dirname:{enum:[!1,!0,"warn-mock","mock","node-module","eval-only"]},__filename:{enum:[!1,!0,"warn-mock","mock","node-module","eval-only"]},global:{enum:[!1,!0,"warn"]}}},Optimization:{type:"object",additionalProperties:!1,properties:{checkWasmTypes:{type:"boolean"},chunkIds:{enum:["natural","named","deterministic","size","total-size",!1]},concatenateModules:{type:"boolean"},emitOnErrors:{type:"boolean"},flagIncludedChunks:{type:"boolean"},innerGraph:{type:"boolean"},mangleExports:{anyOf:[{enum:["size","deterministic"]},{type:"boolean"}]},mangleWasmImports:{type:"boolean"},mergeDuplicateChunks:{type:"boolean"},minimize:{type:"boolean"},minimizer:{type:"array",items:{anyOf:[{enum:["..."]},{$ref:"#/definitions/Falsy"},{$ref:"#/definitions/WebpackPluginInstance"},{$ref:"#/definitions/WebpackPluginFunction"}]}},moduleIds:{enum:["natural","named","hashed","deterministic","size",!1]},noEmitOnErrors:{type:"boolean"},nodeEnv:{anyOf:[{enum:[!1]},{type:"string"}]},portableRecords:{type:"boolean"},providedExports:{type:"boolean"},realContentHash:{type:"boolean"},removeAvailableModules:{type:"boolean"},removeEmptyChunks:{type:"boolean"},runtimeChunk:{$ref:"#/definitions/OptimizationRuntimeChunk"},sideEffects:{anyOf:[{enum:["flag"]},{type:"boolean"}]},splitChunks:{anyOf:[{enum:[!1]},{$ref:"#/definitions/OptimizationSplitChunksOptions"}]},usedExports:{anyOf:[{enum:["global"]},{type:"boolean"}]}}},OptimizationRuntimeChunk:{anyOf:[{enum:["single","multiple"]},{type:"boolean"},{type:"object",additionalProperties:!1,properties:{name:{anyOf:[{type:"string"},{instanceof:"Function"}]}}}]},OptimizationRuntimeChunkNormalized:{anyOf:[{enum:[!1]},{type:"object",additionalProperties:!1,properties:{name:{instanceof:"Function"}}}]},OptimizationSplitChunksCacheGroup:{type:"object",additionalProperties:!1,properties:{automaticNameDelimiter:{type:"string",minLength:1},chunks:{anyOf:[{enum:["initial","async","all"]},{instanceof:"RegExp"},{instanceof:"Function"}]},enforce:{type:"boolean"},enforceSizeThreshold:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},filename:{anyOf:[{type:"string",absolutePath:!1,minLength:1},{instanceof:"Function"}]},idHint:{type:"string"},layer:{anyOf:[{instanceof:"RegExp"},{type:"string"},{instanceof:"Function"}]},maxAsyncRequests:{type:"number",minimum:1},maxAsyncSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},maxInitialRequests:{type:"number",minimum:1},maxInitialSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},maxSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},minChunks:{type:"number",minimum:1},minRemainingSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},minSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},minSizeReduction:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},name:{anyOf:[{enum:[!1]},{type:"string"},{instanceof:"Function"}]},priority:{type:"number"},reuseExistingChunk:{type:"boolean"},test:{anyOf:[{instanceof:"RegExp"},{type:"string"},{instanceof:"Function"}]},type:{anyOf:[{instanceof:"RegExp"},{type:"string"},{instanceof:"Function"}]},usedExports:{type:"boolean"}}},OptimizationSplitChunksGetCacheGroups:{instanceof:"Function"},OptimizationSplitChunksOptions:{type:"object",additionalProperties:!1,properties:{automaticNameDelimiter:{type:"string",minLength:1},cacheGroups:{type:"object",additionalProperties:{anyOf:[{enum:[!1]},{instanceof:"RegExp"},{type:"string"},{instanceof:"Function"},{$ref:"#/definitions/OptimizationSplitChunksCacheGroup"}]},not:{type:"object",additionalProperties:!0,properties:{test:{anyOf:[{instanceof:"RegExp"},{type:"string"},{instanceof:"Function"}]}},required:["test"]}},chunks:{anyOf:[{enum:["initial","async","all"]},{instanceof:"RegExp"},{instanceof:"Function"}]},defaultSizeTypes:{type:"array",items:{type:"string"},minItems:1},enforceSizeThreshold:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},fallbackCacheGroup:{type:"object",additionalProperties:!1,properties:{automaticNameDelimiter:{type:"string",minLength:1},chunks:{anyOf:[{enum:["initial","async","all"]},{instanceof:"RegExp"},{instanceof:"Function"}]},maxAsyncSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},maxInitialSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},maxSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},minSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},minSizeReduction:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]}}},filename:{anyOf:[{type:"string",absolutePath:!1,minLength:1},{instanceof:"Function"}]},hidePathInfo:{type:"boolean"},maxAsyncRequests:{type:"number",minimum:1},maxAsyncSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},maxInitialRequests:{type:"number",minimum:1},maxInitialSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},maxSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},minChunks:{type:"number",minimum:1},minRemainingSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},minSize:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},minSizeReduction:{oneOf:[{$ref:"#/definitions/OptimizationSplitChunksSizes"}]},name:{anyOf:[{enum:[!1]},{type:"string"},{instanceof:"Function"}]},usedExports:{type:"boolean"}}},OptimizationSplitChunksSizes:{anyOf:[{type:"number",minimum:0},{type:"object",additionalProperties:{type:"number"}}]},Output:{type:"object",additionalProperties:!1,properties:{amdContainer:{oneOf:[{$ref:"#/definitions/AmdContainer"}]},assetModuleFilename:{$ref:"#/definitions/AssetModuleFilename"},asyncChunks:{type:"boolean"},auxiliaryComment:{oneOf:[{$ref:"#/definitions/AuxiliaryComment"}]},charset:{$ref:"#/definitions/Charset"},chunkFilename:{$ref:"#/definitions/ChunkFilename"},chunkFormat:{$ref:"#/definitions/ChunkFormat"},chunkLoadTimeout:{$ref:"#/definitions/ChunkLoadTimeout"},chunkLoading:{$ref:"#/definitions/ChunkLoading"},chunkLoadingGlobal:{$ref:"#/definitions/ChunkLoadingGlobal"},clean:{$ref:"#/definitions/Clean"},compareBeforeEmit:{$ref:"#/definitions/CompareBeforeEmit"},crossOriginLoading:{$ref:"#/definitions/CrossOriginLoading"},cssChunkFilename:{$ref:"#/definitions/CssChunkFilename"},cssFilename:{$ref:"#/definitions/CssFilename"},devtoolFallbackModuleFilenameTemplate:{$ref:"#/definitions/DevtoolFallbackModuleFilenameTemplate"},devtoolModuleFilenameTemplate:{$ref:"#/definitions/DevtoolModuleFilenameTemplate"},devtoolNamespace:{$ref:"#/definitions/DevtoolNamespace"},enabledChunkLoadingTypes:{$ref:"#/definitions/EnabledChunkLoadingTypes"},enabledLibraryTypes:{$ref:"#/definitions/EnabledLibraryTypes"},enabledWasmLoadingTypes:{$ref:"#/definitions/EnabledWasmLoadingTypes"},environment:{$ref:"#/definitions/Environment"},filename:{$ref:"#/definitions/Filename"},globalObject:{$ref:"#/definitions/GlobalObject"},hashDigest:{$ref:"#/definitions/HashDigest"},hashDigestLength:{$ref:"#/definitions/HashDigestLength"},hashFunction:{$ref:"#/definitions/HashFunction"},hashSalt:{$ref:"#/definitions/HashSalt"},hotUpdateChunkFilename:{$ref:"#/definitions/HotUpdateChunkFilename"},hotUpdateGlobal:{$ref:"#/definitions/HotUpdateGlobal"},hotUpdateMainFilename:{$ref:"#/definitions/HotUpdateMainFilename"},ignoreBrowserWarnings:{type:"boolean"},iife:{$ref:"#/definitions/Iife"},importFunctionName:{$ref:"#/definitions/ImportFunctionName"},importMetaName:{$ref:"#/definitions/ImportMetaName"},library:{$ref:"#/definitions/Library"},libraryExport:{oneOf:[{$ref:"#/definitions/LibraryExport"}]},libraryTarget:{oneOf:[{$ref:"#/definitions/LibraryType"}]},module:{$ref:"#/definitions/OutputModule"},path:{$ref:"#/definitions/Path"},pathinfo:{$ref:"#/definitions/Pathinfo"},publicPath:{$ref:"#/definitions/PublicPath"},scriptType:{$ref:"#/definitions/ScriptType"},sourceMapFilename:{$ref:"#/definitions/SourceMapFilename"},sourcePrefix:{$ref:"#/definitions/SourcePrefix"},strictModuleErrorHandling:{$ref:"#/definitions/StrictModuleErrorHandling"},strictModuleExceptionHandling:{$ref:"#/definitions/StrictModuleExceptionHandling"},trustedTypes:{anyOf:[{enum:[!0]},{type:"string",minLength:1},{$ref:"#/definitions/TrustedTypes"}]},umdNamedDefine:{oneOf:[{$ref:"#/definitions/UmdNamedDefine"}]},uniqueName:{$ref:"#/definitions/UniqueName"},wasmLoading:{$ref:"#/definitions/WasmLoading"},webassemblyModuleFilename:{$ref:"#/definitions/WebassemblyModuleFilename"},workerChunkLoading:{$ref:"#/definitions/ChunkLoading"},workerPublicPath:{$ref:"#/definitions/WorkerPublicPath"},workerWasmLoading:{$ref:"#/definitions/WasmLoading"}}},OutputModule:{type:"boolean"},OutputNormalized:{type:"object",additionalProperties:!1,properties:{assetModuleFilename:{$ref:"#/definitions/AssetModuleFilename"},asyncChunks:{type:"boolean"},charset:{$ref:"#/definitions/Charset"},chunkFilename:{$ref:"#/definitions/ChunkFilename"},chunkFormat:{$ref:"#/definitions/ChunkFormat"},chunkLoadTimeout:{$ref:"#/definitions/ChunkLoadTimeout"},chunkLoading:{$ref:"#/definitions/ChunkLoading"},chunkLoadingGlobal:{$ref:"#/definitions/ChunkLoadingGlobal"},clean:{$ref:"#/definitions/Clean"},compareBeforeEmit:{$ref:"#/definitions/CompareBeforeEmit"},crossOriginLoading:{$ref:"#/definitions/CrossOriginLoading"},cssChunkFilename:{$ref:"#/definitions/CssChunkFilename"},cssFilename:{$ref:"#/definitions/CssFilename"},devtoolFallbackModuleFilenameTemplate:{$ref:"#/definitions/DevtoolFallbackModuleFilenameTemplate"},devtoolModuleFilenameTemplate:{$ref:"#/definitions/DevtoolModuleFilenameTemplate"},devtoolNamespace:{$ref:"#/definitions/DevtoolNamespace"},enabledChunkLoadingTypes:{$ref:"#/definitions/EnabledChunkLoadingTypes"},enabledLibraryTypes:{$ref:"#/definitions/EnabledLibraryTypes"},enabledWasmLoadingTypes:{$ref:"#/definitions/EnabledWasmLoadingTypes"},environment:{$ref:"#/definitions/Environment"},filename:{$ref:"#/definitions/Filename"},globalObject:{$ref:"#/definitions/GlobalObject"},hashDigest:{$ref:"#/definitions/HashDigest"},hashDigestLength:{$ref:"#/definitions/HashDigestLength"},hashFunction:{$ref:"#/definitions/HashFunction"},hashSalt:{$ref:"#/definitions/HashSalt"},hotUpdateChunkFilename:{$ref:"#/definitions/HotUpdateChunkFilename"},hotUpdateGlobal:{$ref:"#/definitions/HotUpdateGlobal"},hotUpdateMainFilename:{$ref:"#/definitions/HotUpdateMainFilename"},ignoreBrowserWarnings:{type:"boolean"},iife:{$ref:"#/definitions/Iife"},importFunctionName:{$ref:"#/definitions/ImportFunctionName"},importMetaName:{$ref:"#/definitions/ImportMetaName"},library:{$ref:"#/definitions/LibraryOptions"},module:{$ref:"#/definitions/OutputModule"},path:{$ref:"#/definitions/Path"},pathinfo:{$ref:"#/definitions/Pathinfo"},publicPath:{$ref:"#/definitions/PublicPath"},scriptType:{$ref:"#/definitions/ScriptType"},sourceMapFilename:{$ref:"#/definitions/SourceMapFilename"},sourcePrefix:{$ref:"#/definitions/SourcePrefix"},strictModuleErrorHandling:{$ref:"#/definitions/StrictModuleErrorHandling"},strictModuleExceptionHandling:{$ref:"#/definitions/StrictModuleExceptionHandling"},trustedTypes:{$ref:"#/definitions/TrustedTypes"},uniqueName:{$ref:"#/definitions/UniqueName"},wasmLoading:{$ref:"#/definitions/WasmLoading"},webassemblyModuleFilename:{$ref:"#/definitions/WebassemblyModuleFilename"},workerChunkLoading:{$ref:"#/definitions/ChunkLoading"},workerPublicPath:{$ref:"#/definitions/WorkerPublicPath"},workerWasmLoading:{$ref:"#/definitions/WasmLoading"}}},Parallelism:{type:"number",minimum:1},ParserOptionsByModuleType:{type:"object",additionalProperties:{type:"object",additionalProperties:!0},properties:{asset:{$ref:"#/definitions/AssetParserOptions"},"asset/inline":{$ref:"#/definitions/EmptyParserOptions"},"asset/resource":{$ref:"#/definitions/EmptyParserOptions"},"asset/source":{$ref:"#/definitions/EmptyParserOptions"},css:{$ref:"#/definitions/CssParserOptions"},"css/auto":{$ref:"#/definitions/CssAutoParserOptions"},"css/global":{$ref:"#/definitions/CssGlobalParserOptions"},"css/module":{$ref:"#/definitions/CssModuleParserOptions"},javascript:{$ref:"#/definitions/JavascriptParserOptions"},"javascript/auto":{$ref:"#/definitions/JavascriptParserOptions"},"javascript/dynamic":{$ref:"#/definitions/JavascriptParserOptions"},"javascript/esm":{$ref:"#/definitions/JavascriptParserOptions"}}},Path:{type:"string",absolutePath:!0},Pathinfo:{anyOf:[{enum:["verbose"]},{type:"boolean"}]},Performance:{anyOf:[{enum:[!1]},{$ref:"#/definitions/PerformanceOptions"}]},PerformanceOptions:{type:"object",additionalProperties:!1,properties:{assetFilter:{instanceof:"Function"},hints:{enum:[!1,"warning","error"]},maxAssetSize:{type:"number"},maxEntrypointSize:{type:"number"}}},Plugins:{type:"array",items:{anyOf:[{$ref:"#/definitions/Falsy"},{$ref:"#/definitions/WebpackPluginInstance"},{$ref:"#/definitions/WebpackPluginFunction"}]}},Profile:{type:"boolean"},PublicPath:{anyOf:[{enum:["auto"]},{$ref:"#/definitions/RawPublicPath"}]},RawPublicPath:{anyOf:[{type:"string"},{instanceof:"Function"}]},RecordsInputPath:{anyOf:[{enum:[!1]},{type:"string",absolutePath:!0}]},RecordsOutputPath:{anyOf:[{enum:[!1]},{type:"string",absolutePath:!0}]},RecordsPath:{anyOf:[{enum:[!1]},{type:"string",absolutePath:!0}]},Resolve:{oneOf:[{$ref:"#/definitions/ResolveOptions"}]},ResolveAlias:{anyOf:[{type:"array",items:{type:"object",additionalProperties:!1,properties:{alias:{anyOf:[{type:"array",items:{type:"string",minLength:1}},{enum:[!1]},{type:"string",minLength:1}]},name:{type:"string"},onlyModule:{type:"boolean"}},required:["alias","name"]}},{type:"object",additionalProperties:{anyOf:[{type:"array",items:{type:"string",minLength:1}},{enum:[!1]},{type:"string",minLength:1}]}}]},ResolveLoader:{oneOf:[{$ref:"#/definitions/ResolveOptions"}]},ResolveOptions:{type:"object",additionalProperties:!1,properties:{alias:{$ref:"#/definitions/ResolveAlias"},aliasFields:{type:"array",items:{anyOf:[{type:"array",items:{type:"string",minLength:1}},{type:"string",minLength:1}]}},byDependency:{type:"object",additionalProperties:{oneOf:[{$ref:"#/definitions/ResolveOptions"}]}},cache:{type:"boolean"},cachePredicate:{instanceof:"Function"},cacheWithContext:{type:"boolean"},conditionNames:{type:"array",items:{type:"string"}},descriptionFiles:{type:"array",items:{type:"string",minLength:1}},enforceExtension:{type:"boolean"},exportsFields:{type:"array",items:{type:"string"}},extensionAlias:{type:"object",additionalProperties:{anyOf:[{type:"array",items:{type:"string",minLength:1}},{type:"string",minLength:1}]}},extensions:{type:"array",items:{type:"string"}},fallback:{oneOf:[{$ref:"#/definitions/ResolveAlias"}]},fileSystem:{},fullySpecified:{type:"boolean"},importsFields:{type:"array",items:{type:"string"}},mainFields:{type:"array",items:{anyOf:[{type:"array",items:{type:"string",minLength:1}},{type:"string",minLength:1}]}},mainFiles:{type:"array",items:{type:"string",minLength:1}},modules:{type:"array",items:{type:"string",minLength:1}},plugins:{type:"array",items:{anyOf:[{enum:["..."]},{$ref:"#/definitions/Falsy"},{$ref:"#/definitions/ResolvePluginInstance"}]}},preferAbsolute:{type:"boolean"},preferRelative:{type:"boolean"},resolver:{},restrictions:{type:"array",items:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!0,minLength:1}]}},roots:{type:"array",items:{type:"string"}},symlinks:{type:"boolean"},unsafeCache:{anyOf:[{type:"boolean"},{type:"object",additionalProperties:!0}]},useSyncFileSystemCalls:{type:"boolean"}}},ResolvePluginInstance:{type:"object",additionalProperties:!0,properties:{apply:{instanceof:"Function"}},required:["apply"]},RuleSetCondition:{anyOf:[{instanceof:"RegExp"},{type:"string"},{instanceof:"Function"},{$ref:"#/definitions/RuleSetLogicalConditions"},{$ref:"#/definitions/RuleSetConditions"}]},RuleSetConditionAbsolute:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!0},{instanceof:"Function"},{$ref:"#/definitions/RuleSetLogicalConditionsAbsolute"},{$ref:"#/definitions/RuleSetConditionsAbsolute"}]},RuleSetConditionOrConditions:{anyOf:[{$ref:"#/definitions/RuleSetCondition"},{$ref:"#/definitions/RuleSetConditions"}]},RuleSetConditionOrConditionsAbsolute:{anyOf:[{$ref:"#/definitions/RuleSetConditionAbsolute"},{$ref:"#/definitions/RuleSetConditionsAbsolute"}]},RuleSetConditions:{type:"array",items:{oneOf:[{$ref:"#/definitions/RuleSetCondition"}]}},RuleSetConditionsAbsolute:{type:"array",items:{oneOf:[{$ref:"#/definitions/RuleSetConditionAbsolute"}]}},RuleSetLoader:{type:"string",minLength:1},RuleSetLoaderOptions:{anyOf:[{type:"string"},{type:"object"}]},RuleSetLogicalConditions:{type:"object",additionalProperties:!1,properties:{and:{oneOf:[{$ref:"#/definitions/RuleSetConditions"}]},not:{oneOf:[{$ref:"#/definitions/RuleSetCondition"}]},or:{oneOf:[{$ref:"#/definitions/RuleSetConditions"}]}}},RuleSetLogicalConditionsAbsolute:{type:"object",additionalProperties:!1,properties:{and:{oneOf:[{$ref:"#/definitions/RuleSetConditionsAbsolute"}]},not:{oneOf:[{$ref:"#/definitions/RuleSetConditionAbsolute"}]},or:{oneOf:[{$ref:"#/definitions/RuleSetConditionsAbsolute"}]}}},RuleSetRule:{type:"object",additionalProperties:!1,properties:{assert:{type:"object",additionalProperties:{$ref:"#/definitions/RuleSetConditionOrConditions"}},compiler:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditions"}]},dependency:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditions"}]},descriptionData:{type:"object",additionalProperties:{$ref:"#/definitions/RuleSetConditionOrConditions"}},enforce:{enum:["pre","post"]},exclude:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},generator:{type:"object"},include:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},issuer:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},issuerLayer:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditions"}]},layer:{type:"string"},loader:{oneOf:[{$ref:"#/definitions/RuleSetLoader"}]},mimetype:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditions"}]},oneOf:{type:"array",items:{anyOf:[{$ref:"#/definitions/Falsy"},{$ref:"#/definitions/RuleSetRule"}]}},options:{oneOf:[{$ref:"#/definitions/RuleSetLoaderOptions"}]},parser:{type:"object",additionalProperties:!0},realResource:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},resolve:{type:"object",oneOf:[{$ref:"#/definitions/ResolveOptions"}]},resource:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},resourceFragment:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditions"}]},resourceQuery:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditions"}]},rules:{type:"array",items:{anyOf:[{$ref:"#/definitions/Falsy"},{$ref:"#/definitions/RuleSetRule"}]}},scheme:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditions"}]},sideEffects:{type:"boolean"},test:{oneOf:[{$ref:"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},type:{type:"string"},use:{oneOf:[{$ref:"#/definitions/RuleSetUse"}]}}},RuleSetRules:{type:"array",items:{anyOf:[{enum:["..."]},{$ref:"#/definitions/Falsy"},{$ref:"#/definitions/RuleSetRule"}]}},RuleSetUse:{anyOf:[{type:"array",items:{anyOf:[{$ref:"#/definitions/Falsy"},{$ref:"#/definitions/RuleSetUseItem"}]}},{instanceof:"Function"},{$ref:"#/definitions/RuleSetUseItem"}]},RuleSetUseItem:{anyOf:[{type:"object",additionalProperties:!1,properties:{ident:{type:"string"},loader:{oneOf:[{$ref:"#/definitions/RuleSetLoader"}]},options:{oneOf:[{$ref:"#/definitions/RuleSetLoaderOptions"}]}}},{instanceof:"Function"},{$ref:"#/definitions/RuleSetLoader"}]},ScriptType:{enum:[!1,"text/javascript","module"]},SnapshotOptions:{type:"object",additionalProperties:!1,properties:{buildDependencies:{type:"object",additionalProperties:!1,properties:{hash:{type:"boolean"},timestamp:{type:"boolean"}}},immutablePaths:{type:"array",items:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!0,minLength:1}]}},managedPaths:{type:"array",items:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!0,minLength:1}]}},module:{type:"object",additionalProperties:!1,properties:{hash:{type:"boolean"},timestamp:{type:"boolean"}}},resolve:{type:"object",additionalProperties:!1,properties:{hash:{type:"boolean"},timestamp:{type:"boolean"}}},resolveBuildDependencies:{type:"object",additionalProperties:!1,properties:{hash:{type:"boolean"},timestamp:{type:"boolean"}}},unmanagedPaths:{type:"array",items:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!0,minLength:1}]}}}},SourceMapFilename:{type:"string",absolutePath:!1},SourcePrefix:{type:"string"},StatsOptions:{type:"object",additionalProperties:!1,properties:{all:{type:"boolean"},assets:{type:"boolean"},assetsSort:{type:"string"},assetsSpace:{type:"number"},builtAt:{type:"boolean"},cached:{type:"boolean"},cachedAssets:{type:"boolean"},cachedModules:{type:"boolean"},children:{type:"boolean"},chunkGroupAuxiliary:{type:"boolean"},chunkGroupChildren:{type:"boolean"},chunkGroupMaxAssets:{type:"number"},chunkGroups:{type:"boolean"},chunkModules:{type:"boolean"},chunkModulesSpace:{type:"number"},chunkOrigins:{type:"boolean"},chunkRelations:{type:"boolean"},chunks:{type:"boolean"},chunksSort:{type:"string"},colors:{anyOf:[{type:"boolean"},{type:"object",additionalProperties:!1,properties:{bold:{type:"string"},cyan:{type:"string"},green:{type:"string"},magenta:{type:"string"},red:{type:"string"},yellow:{type:"string"}}}]},context:{type:"string",absolutePath:!0},dependentModules:{type:"boolean"},depth:{type:"boolean"},entrypoints:{anyOf:[{enum:["auto"]},{type:"boolean"}]},env:{type:"boolean"},errorDetails:{anyOf:[{enum:["auto"]},{type:"boolean"}]},errorStack:{type:"boolean"},errors:{type:"boolean"},errorsCount:{type:"boolean"},errorsSpace:{type:"number"},exclude:{anyOf:[{type:"boolean"},{$ref:"#/definitions/ModuleFilterTypes"}]},excludeAssets:{oneOf:[{$ref:"#/definitions/AssetFilterTypes"}]},excludeModules:{anyOf:[{type:"boolean"},{$ref:"#/definitions/ModuleFilterTypes"}]},groupAssetsByChunk:{type:"boolean"},groupAssetsByEmitStatus:{type:"boolean"},groupAssetsByExtension:{type:"boolean"},groupAssetsByInfo:{type:"boolean"},groupAssetsByPath:{type:"boolean"},groupModulesByAttributes:{type:"boolean"},groupModulesByCacheStatus:{type:"boolean"},groupModulesByExtension:{type:"boolean"},groupModulesByLayer:{type:"boolean"},groupModulesByPath:{type:"boolean"},groupModulesByType:{type:"boolean"},groupReasonsByOrigin:{type:"boolean"},hash:{type:"boolean"},ids:{type:"boolean"},logging:{anyOf:[{enum:["none","error","warn","info","log","verbose"]},{type:"boolean"}]},loggingDebug:{anyOf:[{type:"boolean"},{$ref:"#/definitions/FilterTypes"}]},loggingTrace:{type:"boolean"},moduleAssets:{type:"boolean"},moduleTrace:{type:"boolean"},modules:{type:"boolean"},modulesSort:{type:"string"},modulesSpace:{type:"number"},nestedModules:{type:"boolean"},nestedModulesSpace:{type:"number"},optimizationBailout:{type:"boolean"},orphanModules:{type:"boolean"},outputPath:{type:"boolean"},performance:{type:"boolean"},preset:{anyOf:[{type:"boolean"},{type:"string"}]},providedExports:{type:"boolean"},publicPath:{type:"boolean"},reasons:{type:"boolean"},reasonsSpace:{type:"number"},relatedAssets:{type:"boolean"},runtime:{type:"boolean"},runtimeModules:{type:"boolean"},source:{type:"boolean"},timings:{type:"boolean"},usedExports:{type:"boolean"},version:{type:"boolean"},warnings:{type:"boolean"},warningsCount:{type:"boolean"},warningsFilter:{oneOf:[{$ref:"#/definitions/WarningFilterTypes"}]},warningsSpace:{type:"number"}}},StatsValue:{anyOf:[{enum:["none","summary","errors-only","errors-warnings","minimal","normal","detailed","verbose"]},{type:"boolean"},{$ref:"#/definitions/StatsOptions"}]},StrictModuleErrorHandling:{type:"boolean"},StrictModuleExceptionHandling:{type:"boolean"},Target:{anyOf:[{type:"array",items:{type:"string",minLength:1},minItems:1},{enum:[!1]},{type:"string",minLength:1}]},TrustedTypes:{type:"object",additionalProperties:!1,properties:{onPolicyCreationFailure:{enum:["continue","stop"]},policyName:{type:"string",minLength:1}}},UmdNamedDefine:{type:"boolean"},UniqueName:{type:"string",minLength:1},WarningFilterItemTypes:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!1},{instanceof:"Function"}]},WarningFilterTypes:{anyOf:[{type:"array",items:{oneOf:[{$ref:"#/definitions/WarningFilterItemTypes"}]}},{$ref:"#/definitions/WarningFilterItemTypes"}]},WasmLoading:{anyOf:[{enum:[!1]},{$ref:"#/definitions/WasmLoadingType"}]},WasmLoadingType:{anyOf:[{enum:["fetch-streaming","fetch","async-node"]},{type:"string"}]},Watch:{type:"boolean"},WatchOptions:{type:"object",additionalProperties:!1,properties:{aggregateTimeout:{type:"number"},followSymlinks:{type:"boolean"},ignored:{anyOf:[{type:"array",items:{type:"string",minLength:1}},{instanceof:"RegExp"},{type:"string",minLength:1}]},poll:{anyOf:[{type:"number"},{type:"boolean"}]},stdin:{type:"boolean"}}},WebassemblyModuleFilename:{type:"string",absolutePath:!1},WebpackOptionsNormalized:{type:"object",additionalProperties:!1,properties:{amd:{$ref:"#/definitions/Amd"},bail:{$ref:"#/definitions/Bail"},cache:{$ref:"#/definitions/CacheOptionsNormalized"},context:{$ref:"#/definitions/Context"},dependencies:{$ref:"#/definitions/Dependencies"},devServer:{$ref:"#/definitions/DevServer"},devtool:{$ref:"#/definitions/DevTool"},entry:{$ref:"#/definitions/EntryNormalized"},experiments:{$ref:"#/definitions/ExperimentsNormalized"},externals:{$ref:"#/definitions/Externals"},externalsPresets:{$ref:"#/definitions/ExternalsPresets"},externalsType:{$ref:"#/definitions/ExternalsType"},ignoreWarnings:{$ref:"#/definitions/IgnoreWarningsNormalized"},infrastructureLogging:{$ref:"#/definitions/InfrastructureLogging"},loader:{$ref:"#/definitions/Loader"},mode:{$ref:"#/definitions/Mode"},module:{$ref:"#/definitions/ModuleOptionsNormalized"},name:{$ref:"#/definitions/Name"},node:{$ref:"#/definitions/Node"},optimization:{$ref:"#/definitions/Optimization"},output:{$ref:"#/definitions/OutputNormalized"},parallelism:{$ref:"#/definitions/Parallelism"},performance:{$ref:"#/definitions/Performance"},plugins:{$ref:"#/definitions/Plugins"},profile:{$ref:"#/definitions/Profile"},recordsInputPath:{$ref:"#/definitions/RecordsInputPath"},recordsOutputPath:{$ref:"#/definitions/RecordsOutputPath"},resolve:{$ref:"#/definitions/Resolve"},resolveLoader:{$ref:"#/definitions/ResolveLoader"},snapshot:{$ref:"#/definitions/SnapshotOptions"},stats:{$ref:"#/definitions/StatsValue"},target:{$ref:"#/definitions/Target"},watch:{$ref:"#/definitions/Watch"},watchOptions:{$ref:"#/definitions/WatchOptions"}},required:["cache","snapshot","entry","experiments","externals","externalsPresets","infrastructureLogging","module","node","optimization","output","plugins","resolve","resolveLoader","stats","watchOptions"]},WebpackPluginFunction:{instanceof:"Function"},WebpackPluginInstance:{type:"object",additionalProperties:!0,properties:{apply:{instanceof:"Function"}},required:["apply"]},WorkerPublicPath:{type:"string"}},type:"object",additionalProperties:!1,properties:{amd:{$ref:"#/definitions/Amd"},bail:{$ref:"#/definitions/Bail"},cache:{$ref:"#/definitions/CacheOptions"},context:{$ref:"#/definitions/Context"},dependencies:{$ref:"#/definitions/Dependencies"},devServer:{$ref:"#/definitions/DevServer"},devtool:{$ref:"#/definitions/DevTool"},entry:{$ref:"#/definitions/Entry"},experiments:{$ref:"#/definitions/Experiments"},extends:{$ref:"#/definitions/Extends"},externals:{$ref:"#/definitions/Externals"},externalsPresets:{$ref:"#/definitions/ExternalsPresets"},externalsType:{$ref:"#/definitions/ExternalsType"},ignoreWarnings:{$ref:"#/definitions/IgnoreWarnings"},infrastructureLogging:{$ref:"#/definitions/InfrastructureLogging"},loader:{$ref:"#/definitions/Loader"},mode:{$ref:"#/definitions/Mode"},module:{$ref:"#/definitions/ModuleOptions"},name:{$ref:"#/definitions/Name"},node:{$ref:"#/definitions/Node"},optimization:{$ref:"#/definitions/Optimization"},output:{$ref:"#/definitions/Output"},parallelism:{$ref:"#/definitions/Parallelism"},performance:{$ref:"#/definitions/Performance"},plugins:{$ref:"#/definitions/Plugins"},profile:{$ref:"#/definitions/Profile"},recordsInputPath:{$ref:"#/definitions/RecordsInputPath"},recordsOutputPath:{$ref:"#/definitions/RecordsOutputPath"},recordsPath:{$ref:"#/definitions/RecordsPath"},resolve:{$ref:"#/definitions/Resolve"},resolveLoader:{$ref:"#/definitions/ResolveLoader"},snapshot:{$ref:"#/definitions/SnapshotOptions"},stats:{$ref:"#/definitions/StatsValue"},target:{$ref:"#/definitions/Target"},watch:{$ref:"#/definitions/Watch"},watchOptions:{$ref:"#/definitions/WatchOptions"}}},R=Object.prototype.hasOwnProperty,$={type:"object",additionalProperties:!1,properties:{allowCollectingMemory:{type:"boolean"},buildDependencies:{type:"object",additionalProperties:{type:"array",items:{type:"string",minLength:1}}},cacheDirectory:{type:"string",absolutePath:!0},cacheLocation:{type:"string",absolutePath:!0},compression:{enum:[!1,"gzip","brotli"]},hashAlgorithm:{type:"string"},idleTimeout:{type:"number",minimum:0},idleTimeoutAfterLargeChanges:{type:"number",minimum:0},idleTimeoutForInitialStore:{type:"number",minimum:0},immutablePaths:{type:"array",items:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!0,minLength:1}]}},managedPaths:{type:"array",items:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!0,minLength:1}]}},maxAge:{type:"number",minimum:0},maxMemoryGenerations:{type:"number",minimum:0},memoryCacheUnaffected:{type:"boolean"},name:{type:"string"},profile:{type:"boolean"},readonly:{type:"boolean"},store:{enum:["pack"]},type:{enum:["filesystem"]},version:{type:"string"}},required:["type"]};function o(v,{instancePath:P="",parentData:N,parentDataProperty:L,rootData:q=v}={}){let K=null,ae=0;const ge=ae;let be=!1;const xe=ae;if(!1!==v){const v={params:{}};null===K?K=[v]:K.push(v),ae++}var ve=xe===ae;if(be=be||ve,!be){const P=ae;if(ae==ae)if(v&&"object"==typeof v&&!Array.isArray(v)){let E;if(void 0===v.type&&(E="type")){const v={params:{missingProperty:E}};null===K?K=[v]:K.push(v),ae++}else{const E=ae;for(const E in v)if("cacheUnaffected"!==E&&"maxGenerations"!==E&&"type"!==E){const v={params:{additionalProperty:E}};null===K?K=[v]:K.push(v),ae++;break}if(E===ae){if(void 0!==v.cacheUnaffected){const E=ae;if("boolean"!=typeof v.cacheUnaffected){const v={params:{type:"boolean"}};null===K?K=[v]:K.push(v),ae++}var Ae=E===ae}else Ae=!0;if(Ae){if(void 0!==v.maxGenerations){let E=v.maxGenerations;const P=ae;if(ae===P)if("number"==typeof E){if(E<1||isNaN(E)){const v={params:{comparison:">=",limit:1}};null===K?K=[v]:K.push(v),ae++}}else{const v={params:{type:"number"}};null===K?K=[v]:K.push(v),ae++}Ae=P===ae}else Ae=!0;if(Ae)if(void 0!==v.type){const E=ae;if("memory"!==v.type){const v={params:{}};null===K?K=[v]:K.push(v),ae++}Ae=E===ae}else Ae=!0}}}}else{const v={params:{type:"object"}};null===K?K=[v]:K.push(v),ae++}if(ve=P===ae,be=be||ve,!be){const P=ae;if(ae==ae)if(v&&"object"==typeof v&&!Array.isArray(v)){let P;if(void 0===v.type&&(P="type")){const v={params:{missingProperty:P}};null===K?K=[v]:K.push(v),ae++}else{const P=ae;for(const E in v)if(!R.call($.properties,E)){const v={params:{additionalProperty:E}};null===K?K=[v]:K.push(v),ae++;break}if(P===ae){if(void 0!==v.allowCollectingMemory){const E=ae;if("boolean"!=typeof v.allowCollectingMemory){const v={params:{type:"boolean"}};null===K?K=[v]:K.push(v),ae++}var Ie=E===ae}else Ie=!0;if(Ie){if(void 0!==v.buildDependencies){let E=v.buildDependencies;const P=ae;if(ae===P)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){let P=E[v];const R=ae;if(ae===R)if(Array.isArray(P)){const v=P.length;for(let E=0;E=",limit:0}};null===K?K=[v]:K.push(v),ae++}}else{const v={params:{type:"number"}};null===K?K=[v]:K.push(v),ae++}Ie=P===ae}else Ie=!0;if(Ie){if(void 0!==v.idleTimeoutAfterLargeChanges){let E=v.idleTimeoutAfterLargeChanges;const P=ae;if(ae===P)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===K?K=[v]:K.push(v),ae++}}else{const v={params:{type:"number"}};null===K?K=[v]:K.push(v),ae++}Ie=P===ae}else Ie=!0;if(Ie){if(void 0!==v.idleTimeoutForInitialStore){let E=v.idleTimeoutForInitialStore;const P=ae;if(ae===P)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===K?K=[v]:K.push(v),ae++}}else{const v={params:{type:"number"}};null===K?K=[v]:K.push(v),ae++}Ie=P===ae}else Ie=!0;if(Ie){if(void 0!==v.immutablePaths){let P=v.immutablePaths;const R=ae;if(ae===R)if(Array.isArray(P)){const v=P.length;for(let R=0;R=",limit:0}};null===K?K=[v]:K.push(v),ae++}}else{const v={params:{type:"number"}};null===K?K=[v]:K.push(v),ae++}Ie=P===ae}else Ie=!0;if(Ie){if(void 0!==v.maxMemoryGenerations){let E=v.maxMemoryGenerations;const P=ae;if(ae===P)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===K?K=[v]:K.push(v),ae++}}else{const v={params:{type:"number"}};null===K?K=[v]:K.push(v),ae++}Ie=P===ae}else Ie=!0;if(Ie){if(void 0!==v.memoryCacheUnaffected){const E=ae;if("boolean"!=typeof v.memoryCacheUnaffected){const v={params:{type:"boolean"}};null===K?K=[v]:K.push(v),ae++}Ie=E===ae}else Ie=!0;if(Ie){if(void 0!==v.name){const E=ae;if("string"!=typeof v.name){const v={params:{type:"string"}};null===K?K=[v]:K.push(v),ae++}Ie=E===ae}else Ie=!0;if(Ie){if(void 0!==v.profile){const E=ae;if("boolean"!=typeof v.profile){const v={params:{type:"boolean"}};null===K?K=[v]:K.push(v),ae++}Ie=E===ae}else Ie=!0;if(Ie){if(void 0!==v.readonly){const E=ae;if("boolean"!=typeof v.readonly){const v={params:{type:"boolean"}};null===K?K=[v]:K.push(v),ae++}Ie=E===ae}else Ie=!0;if(Ie){if(void 0!==v.store){const E=ae;if("pack"!==v.store){const v={params:{}};null===K?K=[v]:K.push(v),ae++}Ie=E===ae}else Ie=!0;if(Ie){if(void 0!==v.type){const E=ae;if("filesystem"!==v.type){const v={params:{}};null===K?K=[v]:K.push(v),ae++}Ie=E===ae}else Ie=!0;if(Ie)if(void 0!==v.version){const E=ae;if("string"!=typeof v.version){const v={params:{type:"string"}};null===K?K=[v]:K.push(v),ae++}Ie=E===ae}else Ie=!0}}}}}}}}}}}}}}}}}}}}}else{const v={params:{type:"object"}};null===K?K=[v]:K.push(v),ae++}ve=P===ae,be=be||ve}}if(!be){const v={params:{}};return null===K?K=[v]:K.push(v),ae++,o.errors=K,!1}return ae=ge,null!==K&&(ge?K.length=ge:K=null),o.errors=K,0===ae}function s(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){let N=null,L=0;const q=L;let K=!1;const ae=L;if(!0!==v){const v={params:{}};null===N?N=[v]:N.push(v),L++}var ge=ae===L;if(K=K||ge,!K){const q=L;o(v,{instancePath:E,parentData:P,parentDataProperty:R,rootData:$})||(N=null===N?o.errors:N.concat(o.errors),L=N.length),ge=q===L,K=K||ge}if(!K){const v={params:{}};return null===N?N=[v]:N.push(v),L++,s.errors=N,!1}return L=q,null!==N&&(q?N.length=q:N=null),s.errors=N,0===L}const N={type:"object",additionalProperties:!1,properties:{asyncChunks:{type:"boolean"},baseUri:{type:"string"},chunkLoading:{$ref:"#/definitions/ChunkLoading"},dependOn:{anyOf:[{type:"array",items:{type:"string",minLength:1},minItems:1,uniqueItems:!0},{type:"string",minLength:1}]},filename:{$ref:"#/definitions/EntryFilename"},import:{$ref:"#/definitions/EntryItem"},layer:{$ref:"#/definitions/Layer"},library:{$ref:"#/definitions/LibraryOptions"},publicPath:{$ref:"#/definitions/PublicPath"},runtime:{$ref:"#/definitions/EntryRuntime"},wasmLoading:{$ref:"#/definitions/WasmLoading"}},required:["import"]};function a(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){let N=null,L=0;const q=L;let K=!1;const ae=L;if(!1!==v){const v={params:{}};null===N?N=[v]:N.push(v),L++}var ge=ae===L;if(K=K||ge,!K){const E=L,P=L;let R=!1;const $=L;if("jsonp"!==v&&"import-scripts"!==v&&"require"!==v&&"async-node"!==v&&"import"!==v){const v={params:{}};null===N?N=[v]:N.push(v),L++}var be=$===L;if(R=R||be,!R){const E=L;if("string"!=typeof v){const v={params:{type:"string"}};null===N?N=[v]:N.push(v),L++}be=E===L,R=R||be}if(R)L=P,null!==N&&(P?N.length=P:N=null);else{const v={params:{}};null===N?N=[v]:N.push(v),L++}ge=E===L,K=K||ge}if(!K){const v={params:{}};return null===N?N=[v]:N.push(v),L++,a.errors=N,!1}return L=q,null!==N&&(q?N.length=q:N=null),a.errors=N,0===L}function l(v,{instancePath:P="",parentData:R,parentDataProperty:$,rootData:N=v}={}){let L=null,q=0;const K=q;let ae=!1,ge=null;const be=q,xe=q;let ve=!1;const Ae=q;if(q===Ae)if("string"==typeof v){if(v.includes("!")||!1!==E.test(v)){const v={params:{}};null===L?L=[v]:L.push(v),q++}else if(v.length<1){const v={params:{}};null===L?L=[v]:L.push(v),q++}}else{const v={params:{type:"string"}};null===L?L=[v]:L.push(v),q++}var Ie=Ae===q;if(ve=ve||Ie,!ve){const E=q;if(!(v instanceof Function)){const v={params:{}};null===L?L=[v]:L.push(v),q++}Ie=E===q,ve=ve||Ie}if(ve)q=xe,null!==L&&(xe?L.length=xe:L=null);else{const v={params:{}};null===L?L=[v]:L.push(v),q++}if(be===q&&(ae=!0,ge=0),!ae){const v={params:{passingSchemas:ge}};return null===L?L=[v]:L.push(v),q++,l.errors=L,!1}return q=K,null!==L&&(K?L.length=K:L=null),l.errors=L,0===q}function p(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){let N=null,L=0;const q=L;let K=!1;const ae=L;if("string"!=typeof v){const v={params:{type:"string"}};null===N?N=[v]:N.push(v),L++}var ge=ae===L;if(K=K||ge,!K){const E=L;if(L==L)if(v&&"object"==typeof v&&!Array.isArray(v)){const E=L;for(const E in v)if("amd"!==E&&"commonjs"!==E&&"commonjs2"!==E&&"root"!==E){const v={params:{additionalProperty:E}};null===N?N=[v]:N.push(v),L++;break}if(E===L){if(void 0!==v.amd){const E=L;if("string"!=typeof v.amd){const v={params:{type:"string"}};null===N?N=[v]:N.push(v),L++}var be=E===L}else be=!0;if(be){if(void 0!==v.commonjs){const E=L;if("string"!=typeof v.commonjs){const v={params:{type:"string"}};null===N?N=[v]:N.push(v),L++}be=E===L}else be=!0;if(be){if(void 0!==v.commonjs2){const E=L;if("string"!=typeof v.commonjs2){const v={params:{type:"string"}};null===N?N=[v]:N.push(v),L++}be=E===L}else be=!0;if(be)if(void 0!==v.root){const E=L;if("string"!=typeof v.root){const v={params:{type:"string"}};null===N?N=[v]:N.push(v),L++}be=E===L}else be=!0}}}}else{const v={params:{type:"object"}};null===N?N=[v]:N.push(v),L++}ge=E===L,K=K||ge}if(!K){const v={params:{}};return null===N?N=[v]:N.push(v),L++,p.errors=N,!1}return L=q,null!==N&&(q?N.length=q:N=null),p.errors=N,0===L}function f(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){let N=null,L=0;const q=L;let K=!1;const ae=L;if(L===ae)if(Array.isArray(v))if(v.length<1){const v={params:{limit:1}};null===N?N=[v]:N.push(v),L++}else{const E=v.length;for(let P=0;P1){const R={};for(;P--;){let $=E[P];if("string"==typeof $){if("number"==typeof R[$]){v=R[$];const E={params:{i:P,j:v}};null===q?q=[E]:q.push(E),K++;break}R[$]=P}}}}}else{const v={params:{type:"array"}};null===q?q=[v]:q.push(v),K++}var be=N===K;if($=$||be,!$){const v=K;if(K===v)if("string"==typeof E){if(E.length<1){const v={params:{}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}be=v===K,$=$||be}if(!$){const v={params:{}};return null===q?q=[v]:q.push(v),K++,m.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.filename){const P=K;l(v.filename,{instancePath:E+"/filename",parentData:v,parentDataProperty:"filename",rootData:L})||(q=null===q?l.errors:q.concat(l.errors),K=q.length),ae=P===K}else ae=!0;if(ae){if(void 0!==v.import){let E=v.import;const P=K,R=K;let $=!1;const N=K;if(K===N)if(Array.isArray(E))if(E.length<1){const v={params:{limit:1}};null===q?q=[v]:q.push(v),K++}else{var xe=!0;const v=E.length;for(let P=0;P1){const R={};for(;P--;){let $=E[P];if("string"==typeof $){if("number"==typeof R[$]){v=R[$];const E={params:{i:P,j:v}};null===q?q=[E]:q.push(E),K++;break}R[$]=P}}}}}else{const v={params:{type:"array"}};null===q?q=[v]:q.push(v),K++}var ve=N===K;if($=$||ve,!$){const v=K;if(K===v)if("string"==typeof E){if(E.length<1){const v={params:{}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}ve=v===K,$=$||ve}if(!$){const v={params:{}};return null===q?q=[v]:q.push(v),K++,m.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.layer){let E=v.layer;const P=K,R=K;let $=!1;const N=K;if(null!==E){const v={params:{}};null===q?q=[v]:q.push(v),K++}var Ae=N===K;if($=$||Ae,!$){const v=K;if(K===v)if("string"==typeof E){if(E.length<1){const v={params:{}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}Ae=v===K,$=$||Ae}if(!$){const v={params:{}};return null===q?q=[v]:q.push(v),K++,m.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.library){const P=K;u(v.library,{instancePath:E+"/library",parentData:v,parentDataProperty:"library",rootData:L})||(q=null===q?u.errors:q.concat(u.errors),K=q.length),ae=P===K}else ae=!0;if(ae){if(void 0!==v.publicPath){const P=K;c(v.publicPath,{instancePath:E+"/publicPath",parentData:v,parentDataProperty:"publicPath",rootData:L})||(q=null===q?c.errors:q.concat(c.errors),K=q.length),ae=P===K}else ae=!0;if(ae){if(void 0!==v.runtime){let E=v.runtime;const P=K,R=K;let $=!1;const N=K;if(!1!==E){const v={params:{}};null===q?q=[v]:q.push(v),K++}var Ie=N===K;if($=$||Ie,!$){const v=K;if(K===v)if("string"==typeof E){if(E.length<1){const v={params:{}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}Ie=v===K,$=$||Ie}if(!$){const v={params:{}};return null===q?q=[v]:q.push(v),K++,m.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae)if(void 0!==v.wasmLoading){const P=K;y(v.wasmLoading,{instancePath:E+"/wasmLoading",parentData:v,parentDataProperty:"wasmLoading",rootData:L})||(q=null===q?y.errors:q.concat(y.errors),K=q.length),ae=P===K}else ae=!0}}}}}}}}}}}}}return m.errors=q,0===K}function d(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){let N=null,L=0;if(0===L){if(!v||"object"!=typeof v||Array.isArray(v))return d.errors=[{params:{type:"object"}}],!1;for(const P in v){let R=v[P];const ge=L,be=L;let xe=!1;const ve=L,Ae=L;let Ie=!1;const He=L;if(L===He)if(Array.isArray(R))if(R.length<1){const v={params:{limit:1}};null===N?N=[v]:N.push(v),L++}else{var q=!0;const v=R.length;for(let E=0;E1){const P={};for(;E--;){let $=R[E];if("string"==typeof $){if("number"==typeof P[$]){v=P[$];const R={params:{i:E,j:v}};null===N?N=[R]:N.push(R),L++;break}P[$]=E}}}}}else{const v={params:{type:"array"}};null===N?N=[v]:N.push(v),L++}var K=He===L;if(Ie=Ie||K,!Ie){const v=L;if(L===v)if("string"==typeof R){if(R.length<1){const v={params:{}};null===N?N=[v]:N.push(v),L++}}else{const v={params:{type:"string"}};null===N?N=[v]:N.push(v),L++}K=v===L,Ie=Ie||K}if(Ie)L=Ae,null!==N&&(Ae?N.length=Ae:N=null);else{const v={params:{}};null===N?N=[v]:N.push(v),L++}var ae=ve===L;if(xe=xe||ae,!xe){const q=L;m(R,{instancePath:E+"/"+P.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:v,parentDataProperty:P,rootData:$})||(N=null===N?m.errors:N.concat(m.errors),L=N.length),ae=q===L,xe=xe||ae}if(!xe){const v={params:{}};return null===N?N=[v]:N.push(v),L++,d.errors=N,!1}if(L=be,null!==N&&(be?N.length=be:N=null),ge!==L)break}}return d.errors=N,0===L}function h(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){let N=null,L=0;const q=L;let K=!1,ae=null;const ge=L,be=L;let xe=!1;const ve=L;if(L===ve)if(Array.isArray(v))if(v.length<1){const v={params:{limit:1}};null===N?N=[v]:N.push(v),L++}else{var Ae=!0;const E=v.length;for(let P=0;P1){const R={};for(;P--;){let $=v[P];if("string"==typeof $){if("number"==typeof R[$]){E=R[$];const v={params:{i:P,j:E}};null===N?N=[v]:N.push(v),L++;break}R[$]=P}}}}}else{const v={params:{type:"array"}};null===N?N=[v]:N.push(v),L++}var Ie=ve===L;if(xe=xe||Ie,!xe){const E=L;if(L===E)if("string"==typeof v){if(v.length<1){const v={params:{}};null===N?N=[v]:N.push(v),L++}}else{const v={params:{type:"string"}};null===N?N=[v]:N.push(v),L++}Ie=E===L,xe=xe||Ie}if(xe)L=be,null!==N&&(be?N.length=be:N=null);else{const v={params:{}};null===N?N=[v]:N.push(v),L++}if(ge===L&&(K=!0,ae=0),!K){const v={params:{passingSchemas:ae}};return null===N?N=[v]:N.push(v),L++,h.errors=N,!1}return L=q,null!==N&&(q?N.length=q:N=null),h.errors=N,0===L}function g(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){let N=null,L=0;const q=L;let K=!1;const ae=L;d(v,{instancePath:E,parentData:P,parentDataProperty:R,rootData:$})||(N=null===N?d.errors:N.concat(d.errors),L=N.length);var ge=ae===L;if(K=K||ge,!K){const q=L;h(v,{instancePath:E,parentData:P,parentDataProperty:R,rootData:$})||(N=null===N?h.errors:N.concat(h.errors),L=N.length),ge=q===L,K=K||ge}if(!K){const v={params:{}};return null===N?N=[v]:N.push(v),L++,g.errors=N,!1}return L=q,null!==N&&(q?N.length=q:N=null),g.errors=N,0===L}function b(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){let N=null,L=0;const q=L;let K=!1;const ae=L;if(!(v instanceof Function)){const v={params:{}};null===N?N=[v]:N.push(v),L++}var ge=ae===L;if(K=K||ge,!K){const q=L;g(v,{instancePath:E,parentData:P,parentDataProperty:R,rootData:$})||(N=null===N?g.errors:N.concat(g.errors),L=N.length),ge=q===L,K=K||ge}if(!K){const v={params:{}};return null===N?N=[v]:N.push(v),L++,b.errors=N,!1}return L=q,null!==N&&(q?N.length=q:N=null),b.errors=N,0===L}const L={type:"object",additionalProperties:!1,properties:{asyncWebAssembly:{type:"boolean"},backCompat:{type:"boolean"},buildHttp:{anyOf:[{$ref:"#/definitions/HttpUriAllowedUris"},{$ref:"#/definitions/HttpUriOptions"}]},cacheUnaffected:{type:"boolean"},css:{type:"boolean"},futureDefaults:{type:"boolean"},layers:{type:"boolean"},lazyCompilation:{anyOf:[{type:"boolean"},{$ref:"#/definitions/LazyCompilationOptions"}]},outputModule:{type:"boolean"},syncWebAssembly:{type:"boolean"},topLevelAwait:{type:"boolean"}}},q=new RegExp("^https?://","u");function D(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){let N=null,L=0;const K=L;let ae=!1,ge=null;const be=L;if(L==L)if(Array.isArray(v)){const E=v.length;for(let P=0;P=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var be=ve===K;if(xe=xe||be,!xe){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}be=v===K,xe=xe||be}if(xe)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,Pe.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.filename){let P=v.filename;const R=K,$=K;let N=!1;const L=K;if(K===L)if("string"==typeof P){if(P.includes("!")||!1!==E.test(P)){const v={params:{}};null===q?q=[v]:q.push(v),K++}else if(P.length<1){const v={params:{}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}var xe=L===K;if(N=N||xe,!N){const v=K;if(!(P instanceof Function)){const v={params:{}};null===q?q=[v]:q.push(v),K++}xe=v===K,N=N||xe}if(!N){const v={params:{}};return null===q?q=[v]:q.push(v),K++,Pe.errors=q,!1}K=$,null!==q&&($?q.length=$:q=null),ae=R===K}else ae=!0;if(ae){if(void 0!==v.idHint){const E=K;if("string"!=typeof v.idHint)return Pe.errors=[{params:{type:"string"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.layer){let E=v.layer;const P=K,R=K;let $=!1;const N=K;if(!(E instanceof RegExp)){const v={params:{}};null===q?q=[v]:q.push(v),K++}var ve=N===K;if($=$||ve,!$){const v=K;if("string"!=typeof E){const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}if(ve=v===K,$=$||ve,!$){const v=K;if(!(E instanceof Function)){const v={params:{}};null===q?q=[v]:q.push(v),K++}ve=v===K,$=$||ve}}if(!$){const v={params:{}};return null===q?q=[v]:q.push(v),K++,Pe.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.maxAsyncRequests){let E=v.maxAsyncRequests;const P=K;if(K===P){if("number"!=typeof E)return Pe.errors=[{params:{type:"number"}}],!1;if(E<1||isNaN(E))return Pe.errors=[{params:{comparison:">=",limit:1}}],!1}ae=P===K}else ae=!0;if(ae){if(void 0!==v.maxAsyncSize){let E=v.maxAsyncSize;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var Ae=xe===K;if(be=be||Ae,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}Ae=v===K,be=be||Ae}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,Pe.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.maxInitialRequests){let E=v.maxInitialRequests;const P=K;if(K===P){if("number"!=typeof E)return Pe.errors=[{params:{type:"number"}}],!1;if(E<1||isNaN(E))return Pe.errors=[{params:{comparison:">=",limit:1}}],!1}ae=P===K}else ae=!0;if(ae){if(void 0!==v.maxInitialSize){let E=v.maxInitialSize;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var Ie=xe===K;if(be=be||Ie,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}Ie=v===K,be=be||Ie}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,Pe.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.maxSize){let E=v.maxSize;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var He=xe===K;if(be=be||He,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}He=v===K,be=be||He}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,Pe.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.minChunks){let E=v.minChunks;const P=K;if(K===P){if("number"!=typeof E)return Pe.errors=[{params:{type:"number"}}],!1;if(E<1||isNaN(E))return Pe.errors=[{params:{comparison:">=",limit:1}}],!1}ae=P===K}else ae=!0;if(ae){if(void 0!==v.minRemainingSize){let E=v.minRemainingSize;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var Qe=xe===K;if(be=be||Qe,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}Qe=v===K,be=be||Qe}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,Pe.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.minSize){let E=v.minSize;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var Je=xe===K;if(be=be||Je,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}Je=v===K,be=be||Je}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,Pe.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.minSizeReduction){let E=v.minSizeReduction;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var Ve=xe===K;if(be=be||Ve,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}Ve=v===K,be=be||Ve}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,Pe.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.name){let E=v.name;const P=K,R=K;let $=!1;const N=K;if(!1!==E){const v={params:{}};null===q?q=[v]:q.push(v),K++}var Ye=N===K;if($=$||Ye,!$){const v=K;if("string"!=typeof E){const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}if(Ye=v===K,$=$||Ye,!$){const v=K;if(!(E instanceof Function)){const v={params:{}};null===q?q=[v]:q.push(v),K++}Ye=v===K,$=$||Ye}}if(!$){const v={params:{}};return null===q?q=[v]:q.push(v),K++,Pe.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.priority){const E=K;if("number"!=typeof v.priority)return Pe.errors=[{params:{type:"number"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.reuseExistingChunk){const E=K;if("boolean"!=typeof v.reuseExistingChunk)return Pe.errors=[{params:{type:"boolean"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.test){let E=v.test;const P=K,R=K;let $=!1;const N=K;if(!(E instanceof RegExp)){const v={params:{}};null===q?q=[v]:q.push(v),K++}var Xe=N===K;if($=$||Xe,!$){const v=K;if("string"!=typeof E){const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}if(Xe=v===K,$=$||Xe,!$){const v=K;if(!(E instanceof Function)){const v={params:{}};null===q?q=[v]:q.push(v),K++}Xe=v===K,$=$||Xe}}if(!$){const v={params:{}};return null===q?q=[v]:q.push(v),K++,Pe.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.type){let E=v.type;const P=K,R=K;let $=!1;const N=K;if(!(E instanceof RegExp)){const v={params:{}};null===q?q=[v]:q.push(v),K++}var Ze=N===K;if($=$||Ze,!$){const v=K;if("string"!=typeof E){const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}if(Ze=v===K,$=$||Ze,!$){const v=K;if(!(E instanceof Function)){const v={params:{}};null===q?q=[v]:q.push(v),K++}Ze=v===K,$=$||Ze}}if(!$){const v={params:{}};return null===q?q=[v]:q.push(v),K++,Pe.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae)if(void 0!==v.usedExports){const E=K;if("boolean"!=typeof v.usedExports)return Pe.errors=[{params:{type:"boolean"}}],!1;ae=E===K}else ae=!0}}}}}}}}}}}}}}}}}}}}}}}return Pe.errors=q,0===K}function De(v,{instancePath:P="",parentData:$,parentDataProperty:N,rootData:L=v}={}){let q=null,K=0;if(0===K){if(!v||"object"!=typeof v||Array.isArray(v))return De.errors=[{params:{type:"object"}}],!1;{const $=K;for(const E in v)if(!R.call(Ve.properties,E))return De.errors=[{params:{additionalProperty:E}}],!1;if($===K){if(void 0!==v.automaticNameDelimiter){let E=v.automaticNameDelimiter;const P=K;if(K===P){if("string"!=typeof E)return De.errors=[{params:{type:"string"}}],!1;if(E.length<1)return De.errors=[{params:{}}],!1}var ae=P===K}else ae=!0;if(ae){if(void 0!==v.cacheGroups){let E=v.cacheGroups;const R=K,$=K,N=K;if(K===N)if(E&&"object"==typeof E&&!Array.isArray(E)){let v;if(void 0===E.test&&(v="test")){const v={};null===q?q=[v]:q.push(v),K++}else if(void 0!==E.test){let v=E.test;const P=K;let R=!1;const $=K;if(!(v instanceof RegExp)){const v={};null===q?q=[v]:q.push(v),K++}var ge=$===K;if(R=R||ge,!R){const E=K;if("string"!=typeof v){const v={};null===q?q=[v]:q.push(v),K++}if(ge=E===K,R=R||ge,!R){const E=K;if(!(v instanceof Function)){const v={};null===q?q=[v]:q.push(v),K++}ge=E===K,R=R||ge}}if(R)K=P,null!==q&&(P?q.length=P:q=null);else{const v={};null===q?q=[v]:q.push(v),K++}}}else{const v={};null===q?q=[v]:q.push(v),K++}if(N===K)return De.errors=[{params:{}}],!1;if(K=$,null!==q&&($?q.length=$:q=null),K===R){if(!E||"object"!=typeof E||Array.isArray(E))return De.errors=[{params:{type:"object"}}],!1;for(const v in E){let R=E[v];const $=K,N=K;let ae=!1;const ge=K;if(!1!==R){const v={params:{}};null===q?q=[v]:q.push(v),K++}var be=ge===K;if(ae=ae||be,!ae){const $=K;if(!(R instanceof RegExp)){const v={params:{}};null===q?q=[v]:q.push(v),K++}if(be=$===K,ae=ae||be,!ae){const $=K;if("string"!=typeof R){const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}if(be=$===K,ae=ae||be,!ae){const $=K;if(!(R instanceof Function)){const v={params:{}};null===q?q=[v]:q.push(v),K++}if(be=$===K,ae=ae||be,!ae){const $=K;Pe(R,{instancePath:P+"/cacheGroups/"+v.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:E,parentDataProperty:v,rootData:L})||(q=null===q?Pe.errors:q.concat(Pe.errors),K=q.length),be=$===K,ae=ae||be}}}}if(!ae){const v={params:{}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}if(K=N,null!==q&&(N?q.length=N:q=null),$!==K)break}}ae=R===K}else ae=!0;if(ae){if(void 0!==v.chunks){let E=v.chunks;const P=K,R=K;let $=!1;const N=K;if("initial"!==E&&"async"!==E&&"all"!==E){const v={params:{}};null===q?q=[v]:q.push(v),K++}var xe=N===K;if($=$||xe,!$){const v=K;if(!(E instanceof RegExp)){const v={params:{}};null===q?q=[v]:q.push(v),K++}if(xe=v===K,$=$||xe,!$){const v=K;if(!(E instanceof Function)){const v={params:{}};null===q?q=[v]:q.push(v),K++}xe=v===K,$=$||xe}}if(!$){const v={params:{}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.defaultSizeTypes){let E=v.defaultSizeTypes;const P=K;if(K===P){if(!Array.isArray(E))return De.errors=[{params:{type:"array"}}],!1;if(E.length<1)return De.errors=[{params:{limit:1}}],!1;{const v=E.length;for(let P=0;P=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var ve=xe===K;if(be=be||ve,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}ve=v===K,be=be||ve}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.fallbackCacheGroup){let E=v.fallbackCacheGroup;const P=K;if(K===P){if(!E||"object"!=typeof E||Array.isArray(E))return De.errors=[{params:{type:"object"}}],!1;{const v=K;for(const v in E)if("automaticNameDelimiter"!==v&&"chunks"!==v&&"maxAsyncSize"!==v&&"maxInitialSize"!==v&&"maxSize"!==v&&"minSize"!==v&&"minSizeReduction"!==v)return De.errors=[{params:{additionalProperty:v}}],!1;if(v===K){if(void 0!==E.automaticNameDelimiter){let v=E.automaticNameDelimiter;const P=K;if(K===P){if("string"!=typeof v)return De.errors=[{params:{type:"string"}}],!1;if(v.length<1)return De.errors=[{params:{}}],!1}var Ae=P===K}else Ae=!0;if(Ae){if(void 0!==E.chunks){let v=E.chunks;const P=K,R=K;let $=!1;const N=K;if("initial"!==v&&"async"!==v&&"all"!==v){const v={params:{}};null===q?q=[v]:q.push(v),K++}var Ie=N===K;if($=$||Ie,!$){const E=K;if(!(v instanceof RegExp)){const v={params:{}};null===q?q=[v]:q.push(v),K++}if(Ie=E===K,$=$||Ie,!$){const E=K;if(!(v instanceof Function)){const v={params:{}};null===q?q=[v]:q.push(v),K++}Ie=E===K,$=$||Ie}}if(!$){const v={params:{}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),Ae=P===K}else Ae=!0;if(Ae){if(void 0!==E.maxAsyncSize){let v=E.maxAsyncSize;const P=K,R=K;let $=!1,N=null;const L=K,ae=K;let ge=!1;const be=K;if(K===be)if("number"==typeof v){if(v<0||isNaN(v)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var He=be===K;if(ge=ge||He,!ge){const E=K;if(K===E)if(v&&"object"==typeof v&&!Array.isArray(v))for(const E in v){const P=K;if("number"!=typeof v[E]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}He=E===K,ge=ge||He}if(ge)K=ae,null!==q&&(ae?q.length=ae:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),Ae=P===K}else Ae=!0;if(Ae){if(void 0!==E.maxInitialSize){let v=E.maxInitialSize;const P=K,R=K;let $=!1,N=null;const L=K,ae=K;let ge=!1;const be=K;if(K===be)if("number"==typeof v){if(v<0||isNaN(v)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var Qe=be===K;if(ge=ge||Qe,!ge){const E=K;if(K===E)if(v&&"object"==typeof v&&!Array.isArray(v))for(const E in v){const P=K;if("number"!=typeof v[E]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}Qe=E===K,ge=ge||Qe}if(ge)K=ae,null!==q&&(ae?q.length=ae:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),Ae=P===K}else Ae=!0;if(Ae){if(void 0!==E.maxSize){let v=E.maxSize;const P=K,R=K;let $=!1,N=null;const L=K,ae=K;let ge=!1;const be=K;if(K===be)if("number"==typeof v){if(v<0||isNaN(v)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var Je=be===K;if(ge=ge||Je,!ge){const E=K;if(K===E)if(v&&"object"==typeof v&&!Array.isArray(v))for(const E in v){const P=K;if("number"!=typeof v[E]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}Je=E===K,ge=ge||Je}if(ge)K=ae,null!==q&&(ae?q.length=ae:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),Ae=P===K}else Ae=!0;if(Ae){if(void 0!==E.minSize){let v=E.minSize;const P=K,R=K;let $=!1,N=null;const L=K,ae=K;let ge=!1;const be=K;if(K===be)if("number"==typeof v){if(v<0||isNaN(v)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var Ke=be===K;if(ge=ge||Ke,!ge){const E=K;if(K===E)if(v&&"object"==typeof v&&!Array.isArray(v))for(const E in v){const P=K;if("number"!=typeof v[E]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}Ke=E===K,ge=ge||Ke}if(ge)K=ae,null!==q&&(ae?q.length=ae:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),Ae=P===K}else Ae=!0;if(Ae)if(void 0!==E.minSizeReduction){let v=E.minSizeReduction;const P=K,R=K;let $=!1,N=null;const L=K,ae=K;let ge=!1;const be=K;if(K===be)if("number"==typeof v){if(v<0||isNaN(v)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var Ye=be===K;if(ge=ge||Ye,!ge){const E=K;if(K===E)if(v&&"object"==typeof v&&!Array.isArray(v))for(const E in v){const P=K;if("number"!=typeof v[E]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}Ye=E===K,ge=ge||Ye}if(ge)K=ae,null!==q&&(ae?q.length=ae:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),Ae=P===K}else Ae=!0}}}}}}}}ae=P===K}else ae=!0;if(ae){if(void 0!==v.filename){let P=v.filename;const R=K,$=K;let N=!1;const L=K;if(K===L)if("string"==typeof P){if(P.includes("!")||!1!==E.test(P)){const v={params:{}};null===q?q=[v]:q.push(v),K++}else if(P.length<1){const v={params:{}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}var Xe=L===K;if(N=N||Xe,!N){const v=K;if(!(P instanceof Function)){const v={params:{}};null===q?q=[v]:q.push(v),K++}Xe=v===K,N=N||Xe}if(!N){const v={params:{}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=$,null!==q&&($?q.length=$:q=null),ae=R===K}else ae=!0;if(ae){if(void 0!==v.hidePathInfo){const E=K;if("boolean"!=typeof v.hidePathInfo)return De.errors=[{params:{type:"boolean"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.maxAsyncRequests){let E=v.maxAsyncRequests;const P=K;if(K===P){if("number"!=typeof E)return De.errors=[{params:{type:"number"}}],!1;if(E<1||isNaN(E))return De.errors=[{params:{comparison:">=",limit:1}}],!1}ae=P===K}else ae=!0;if(ae){if(void 0!==v.maxAsyncSize){let E=v.maxAsyncSize;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var Ze=xe===K;if(be=be||Ze,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}Ze=v===K,be=be||Ze}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.maxInitialRequests){let E=v.maxInitialRequests;const P=K;if(K===P){if("number"!=typeof E)return De.errors=[{params:{type:"number"}}],!1;if(E<1||isNaN(E))return De.errors=[{params:{comparison:">=",limit:1}}],!1}ae=P===K}else ae=!0;if(ae){if(void 0!==v.maxInitialSize){let E=v.maxInitialSize;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var et=xe===K;if(be=be||et,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}et=v===K,be=be||et}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.maxSize){let E=v.maxSize;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var tt=xe===K;if(be=be||tt,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}tt=v===K,be=be||tt}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.minChunks){let E=v.minChunks;const P=K;if(K===P){if("number"!=typeof E)return De.errors=[{params:{type:"number"}}],!1;if(E<1||isNaN(E))return De.errors=[{params:{comparison:">=",limit:1}}],!1}ae=P===K}else ae=!0;if(ae){if(void 0!==v.minRemainingSize){let E=v.minRemainingSize;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var nt=xe===K;if(be=be||nt,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}nt=v===K,be=be||nt}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.minSize){let E=v.minSize;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var st=xe===K;if(be=be||st,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}st=v===K,be=be||st}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.minSizeReduction){let E=v.minSizeReduction;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if("number"==typeof E){if(E<0||isNaN(E)){const v={params:{comparison:">=",limit:0}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}var rt=xe===K;if(be=be||rt,!be){const v=K;if(K===v)if(E&&"object"==typeof E&&!Array.isArray(E))for(const v in E){const P=K;if("number"!=typeof E[v]){const v={params:{type:"number"}};null===q?q=[v]:q.push(v),K++}if(P!==K)break}else{const v={params:{type:"object"}};null===q?q=[v]:q.push(v),K++}rt=v===K,be=be||rt}if(be)K=ge,null!==q&&(ge?q.length=ge:q=null);else{const v={params:{}};null===q?q=[v]:q.push(v),K++}if(L===K&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.name){let E=v.name;const P=K,R=K;let $=!1;const N=K;if(!1!==E){const v={params:{}};null===q?q=[v]:q.push(v),K++}var ot=N===K;if($=$||ot,!$){const v=K;if("string"!=typeof E){const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}if(ot=v===K,$=$||ot,!$){const v=K;if(!(E instanceof Function)){const v={params:{}};null===q?q=[v]:q.push(v),K++}ot=v===K,$=$||ot}}if(!$){const v={params:{}};return null===q?q=[v]:q.push(v),K++,De.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae)if(void 0!==v.usedExports){const E=K;if("boolean"!=typeof v.usedExports)return De.errors=[{params:{type:"boolean"}}],!1;ae=E===K}else ae=!0}}}}}}}}}}}}}}}}}}}}return De.errors=q,0===K}function Oe(v,{instancePath:E="",parentData:P,parentDataProperty:$,rootData:N=v}={}){let L=null,q=0;if(0===q){if(!v||"object"!=typeof v||Array.isArray(v))return Oe.errors=[{params:{type:"object"}}],!1;{const P=q;for(const E in v)if(!R.call(Je.properties,E))return Oe.errors=[{params:{additionalProperty:E}}],!1;if(P===q){if(void 0!==v.checkWasmTypes){const E=q;if("boolean"!=typeof v.checkWasmTypes)return Oe.errors=[{params:{type:"boolean"}}],!1;var K=E===q}else K=!0;if(K){if(void 0!==v.chunkIds){let E=v.chunkIds;const P=q;if("natural"!==E&&"named"!==E&&"deterministic"!==E&&"size"!==E&&"total-size"!==E&&!1!==E)return Oe.errors=[{params:{}}],!1;K=P===q}else K=!0;if(K){if(void 0!==v.concatenateModules){const E=q;if("boolean"!=typeof v.concatenateModules)return Oe.errors=[{params:{type:"boolean"}}],!1;K=E===q}else K=!0;if(K){if(void 0!==v.emitOnErrors){const E=q;if("boolean"!=typeof v.emitOnErrors)return Oe.errors=[{params:{type:"boolean"}}],!1;K=E===q}else K=!0;if(K){if(void 0!==v.flagIncludedChunks){const E=q;if("boolean"!=typeof v.flagIncludedChunks)return Oe.errors=[{params:{type:"boolean"}}],!1;K=E===q}else K=!0;if(K){if(void 0!==v.innerGraph){const E=q;if("boolean"!=typeof v.innerGraph)return Oe.errors=[{params:{type:"boolean"}}],!1;K=E===q}else K=!0;if(K){if(void 0!==v.mangleExports){let E=v.mangleExports;const P=q,R=q;let $=!1;const N=q;if("size"!==E&&"deterministic"!==E){const v={params:{}};null===L?L=[v]:L.push(v),q++}var ae=N===q;if($=$||ae,!$){const v=q;if("boolean"!=typeof E){const v={params:{type:"boolean"}};null===L?L=[v]:L.push(v),q++}ae=v===q,$=$||ae}if(!$){const v={params:{}};return null===L?L=[v]:L.push(v),q++,Oe.errors=L,!1}q=R,null!==L&&(R?L.length=R:L=null),K=P===q}else K=!0;if(K){if(void 0!==v.mangleWasmImports){const E=q;if("boolean"!=typeof v.mangleWasmImports)return Oe.errors=[{params:{type:"boolean"}}],!1;K=E===q}else K=!0;if(K){if(void 0!==v.mergeDuplicateChunks){const E=q;if("boolean"!=typeof v.mergeDuplicateChunks)return Oe.errors=[{params:{type:"boolean"}}],!1;K=E===q}else K=!0;if(K){if(void 0!==v.minimize){const E=q;if("boolean"!=typeof v.minimize)return Oe.errors=[{params:{type:"boolean"}}],!1;K=E===q}else K=!0;if(K){if(void 0!==v.minimizer){let E=v.minimizer;const P=q;if(q===P){if(!Array.isArray(E))return Oe.errors=[{params:{type:"array"}}],!1;{const v=E.length;for(let P=0;P=",limit:1}}],!1}ae=P===K}else ae=!0;if(ae){if(void 0!==v.hashFunction){let E=v.hashFunction;const P=K,R=K;let $=!1;const N=K;if(K===N)if("string"==typeof E){if(E.length<1){const v={params:{}};null===q?q=[v]:q.push(v),K++}}else{const v={params:{type:"string"}};null===q?q=[v]:q.push(v),K++}var Ie=N===K;if($=$||Ie,!$){const v=K;if(!(E instanceof Function)){const v={params:{}};null===q?q=[v]:q.push(v),K++}Ie=v===K,$=$||Ie}if(!$){const v={params:{}};return null===q?q=[v]:q.push(v),K++,ze.errors=q,!1}K=R,null!==q&&(R?q.length=R:q=null),ae=P===K}else ae=!0;if(ae){if(void 0!==v.hashSalt){let E=v.hashSalt;const P=K;if(K==K){if("string"!=typeof E)return ze.errors=[{params:{type:"string"}}],!1;if(E.length<1)return ze.errors=[{params:{}}],!1}ae=P===K}else ae=!0;if(ae){if(void 0!==v.hotUpdateChunkFilename){let P=v.hotUpdateChunkFilename;const R=K;if(K==K){if("string"!=typeof P)return ze.errors=[{params:{type:"string"}}],!1;if(P.includes("!")||!1!==E.test(P))return ze.errors=[{params:{}}],!1}ae=R===K}else ae=!0;if(ae){if(void 0!==v.hotUpdateGlobal){const E=K;if("string"!=typeof v.hotUpdateGlobal)return ze.errors=[{params:{type:"string"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.hotUpdateMainFilename){let P=v.hotUpdateMainFilename;const R=K;if(K==K){if("string"!=typeof P)return ze.errors=[{params:{type:"string"}}],!1;if(P.includes("!")||!1!==E.test(P))return ze.errors=[{params:{}}],!1}ae=R===K}else ae=!0;if(ae){if(void 0!==v.ignoreBrowserWarnings){const E=K;if("boolean"!=typeof v.ignoreBrowserWarnings)return ze.errors=[{params:{type:"boolean"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.iife){const E=K;if("boolean"!=typeof v.iife)return ze.errors=[{params:{type:"boolean"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.importFunctionName){const E=K;if("string"!=typeof v.importFunctionName)return ze.errors=[{params:{type:"string"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.importMetaName){const E=K;if("string"!=typeof v.importMetaName)return ze.errors=[{params:{type:"string"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.library){const E=K;Le(v.library,{instancePath:P+"/library",parentData:v,parentDataProperty:"library",rootData:L})||(q=null===q?Le.errors:q.concat(Le.errors),K=q.length),ae=E===K}else ae=!0;if(ae){if(void 0!==v.libraryExport){let E=v.libraryExport;const P=K,R=K;let $=!1,N=null;const L=K,ge=K;let be=!1;const xe=K;if(K===xe)if(Array.isArray(E)){const v=E.length;for(let P=0;P=",limit:1}}],!1}be=P===ae}else be=!0;if(be){if(void 0!==v.performance){const E=ae;Me(v.performance,{instancePath:$+"/performance",parentData:v,parentDataProperty:"performance",rootData:q})||(K=null===K?Me.errors:K.concat(Me.errors),ae=K.length),be=E===ae}else be=!0;if(be){if(void 0!==v.plugins){const E=ae;we(v.plugins,{instancePath:$+"/plugins",parentData:v,parentDataProperty:"plugins",rootData:q})||(K=null===K?we.errors:K.concat(we.errors),ae=K.length),be=E===ae}else be=!0;if(be){if(void 0!==v.profile){const E=ae;if("boolean"!=typeof v.profile)return _e.errors=[{params:{type:"boolean"}}],!1;be=E===ae}else be=!0;if(be){if(void 0!==v.recordsInputPath){let P=v.recordsInputPath;const R=ae,$=ae;let N=!1;const L=ae;if(!1!==P){const v={params:{}};null===K?K=[v]:K.push(v),ae++}var Qe=L===ae;if(N=N||Qe,!N){const v=ae;if(ae===v)if("string"==typeof P){if(P.includes("!")||!0!==E.test(P)){const v={params:{}};null===K?K=[v]:K.push(v),ae++}}else{const v={params:{type:"string"}};null===K?K=[v]:K.push(v),ae++}Qe=v===ae,N=N||Qe}if(!N){const v={params:{}};return null===K?K=[v]:K.push(v),ae++,_e.errors=K,!1}ae=$,null!==K&&($?K.length=$:K=null),be=R===ae}else be=!0;if(be){if(void 0!==v.recordsOutputPath){let P=v.recordsOutputPath;const R=ae,$=ae;let N=!1;const L=ae;if(!1!==P){const v={params:{}};null===K?K=[v]:K.push(v),ae++}var Je=L===ae;if(N=N||Je,!N){const v=ae;if(ae===v)if("string"==typeof P){if(P.includes("!")||!0!==E.test(P)){const v={params:{}};null===K?K=[v]:K.push(v),ae++}}else{const v={params:{type:"string"}};null===K?K=[v]:K.push(v),ae++}Je=v===ae,N=N||Je}if(!N){const v={params:{}};return null===K?K=[v]:K.push(v),ae++,_e.errors=K,!1}ae=$,null!==K&&($?K.length=$:K=null),be=R===ae}else be=!0;if(be){if(void 0!==v.recordsPath){let P=v.recordsPath;const R=ae,$=ae;let N=!1;const L=ae;if(!1!==P){const v={params:{}};null===K?K=[v]:K.push(v),ae++}var Ve=L===ae;if(N=N||Ve,!N){const v=ae;if(ae===v)if("string"==typeof P){if(P.includes("!")||!0!==E.test(P)){const v={params:{}};null===K?K=[v]:K.push(v),ae++}}else{const v={params:{type:"string"}};null===K?K=[v]:K.push(v),ae++}Ve=v===ae,N=N||Ve}if(!N){const v={params:{}};return null===K?K=[v]:K.push(v),ae++,_e.errors=K,!1}ae=$,null!==K&&($?K.length=$:K=null),be=R===ae}else be=!0;if(be){if(void 0!==v.resolve){const E=ae;Te(v.resolve,{instancePath:$+"/resolve",parentData:v,parentDataProperty:"resolve",rootData:q})||(K=null===K?Te.errors:K.concat(Te.errors),ae=K.length),be=E===ae}else be=!0;if(be){if(void 0!==v.resolveLoader){const E=ae;Ne(v.resolveLoader,{instancePath:$+"/resolveLoader",parentData:v,parentDataProperty:"resolveLoader",rootData:q})||(K=null===K?Ne.errors:K.concat(Ne.errors),ae=K.length),be=E===ae}else be=!0;if(be){if(void 0!==v.snapshot){let P=v.snapshot;const R=ae;if(ae==ae){if(!P||"object"!=typeof P||Array.isArray(P))return _e.errors=[{params:{type:"object"}}],!1;{const v=ae;for(const v in P)if("buildDependencies"!==v&&"immutablePaths"!==v&&"managedPaths"!==v&&"module"!==v&&"resolve"!==v&&"resolveBuildDependencies"!==v&&"unmanagedPaths"!==v)return _e.errors=[{params:{additionalProperty:v}}],!1;if(v===ae){if(void 0!==P.buildDependencies){let v=P.buildDependencies;const E=ae;if(ae===E){if(!v||"object"!=typeof v||Array.isArray(v))return _e.errors=[{params:{type:"object"}}],!1;{const E=ae;for(const E in v)if("hash"!==E&&"timestamp"!==E)return _e.errors=[{params:{additionalProperty:E}}],!1;if(E===ae){if(void 0!==v.hash){const E=ae;if("boolean"!=typeof v.hash)return _e.errors=[{params:{type:"boolean"}}],!1;var Ke=E===ae}else Ke=!0;if(Ke)if(void 0!==v.timestamp){const E=ae;if("boolean"!=typeof v.timestamp)return _e.errors=[{params:{type:"boolean"}}],!1;Ke=E===ae}else Ke=!0}}}var Ye=E===ae}else Ye=!0;if(Ye){if(void 0!==P.immutablePaths){let v=P.immutablePaths;const R=ae;if(ae===R){if(!Array.isArray(v))return _e.errors=[{params:{type:"array"}}],!1;{const P=v.length;for(let R=0;R=",limit:1}}],!1}K=P===q}else K=!0;if(K)if(void 0!==v.hashFunction){let E=v.hashFunction;const P=q,R=q;let $=!1,N=null;const ge=q,be=q;let xe=!1;const ve=q;if(q===ve)if("string"==typeof E){if(E.length<1){const v={params:{}};null===L?L=[v]:L.push(v),q++}}else{const v={params:{type:"string"}};null===L?L=[v]:L.push(v),q++}var ae=ve===q;if(xe=xe||ae,!xe){const v=q;if(!(E instanceof Function)){const v={params:{}};null===L?L=[v]:L.push(v),q++}ae=v===q,xe=xe||ae}if(xe)q=be,null!==L&&(be?L.length=be:L=null);else{const v={params:{}};null===L?L=[v]:L.push(v),q++}if(ge===q&&($=!0,N=0),!$){const v={params:{passingSchemas:N}};return null===L?L=[v]:L.push(v),q++,e.errors=L,!1}q=R,null!==L&&(R?L.length=R:L=null),K=P===q}else K=!0}}}}}return e.errors=L,0===q}v.exports=e,v.exports["default"]=e},96897:function(v){"use strict";function e(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){let N=null,L=0;const q=L;let K=!1;const ae=L;if(L===ae)if(v&&"object"==typeof v&&!Array.isArray(v)){let E;if(void 0===v.resourceRegExp&&(E="resourceRegExp")){const v={params:{missingProperty:E}};null===N?N=[v]:N.push(v),L++}else{const E=L;for(const E in v)if("contextRegExp"!==E&&"resourceRegExp"!==E){const v={params:{additionalProperty:E}};null===N?N=[v]:N.push(v),L++;break}if(E===L){if(void 0!==v.contextRegExp){const E=L;if(!(v.contextRegExp instanceof RegExp)){const v={params:{}};null===N?N=[v]:N.push(v),L++}var ge=E===L}else ge=!0;if(ge)if(void 0!==v.resourceRegExp){const E=L;if(!(v.resourceRegExp instanceof RegExp)){const v={params:{}};null===N?N=[v]:N.push(v),L++}ge=E===L}else ge=!0}}}else{const v={params:{type:"object"}};null===N?N=[v]:N.push(v),L++}var be=ae===L;if(K=K||be,!K){const E=L;if(L===E)if(v&&"object"==typeof v&&!Array.isArray(v)){let E;if(void 0===v.checkResource&&(E="checkResource")){const v={params:{missingProperty:E}};null===N?N=[v]:N.push(v),L++}else{const E=L;for(const E in v)if("checkResource"!==E){const v={params:{additionalProperty:E}};null===N?N=[v]:N.push(v),L++;break}if(E===L&&void 0!==v.checkResource&&!(v.checkResource instanceof Function)){const v={params:{}};null===N?N=[v]:N.push(v),L++}}}else{const v={params:{type:"object"}};null===N?N=[v]:N.push(v),L++}be=E===L,K=K||be}if(!K){const v={params:{}};return null===N?N=[v]:N.push(v),L++,e.errors=N,!1}return L=q,null!==N&&(q?N.length=q:N=null),e.errors=N,0===L}v.exports=e,v.exports["default"]=e},74504:function(v){"use strict";function r(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){if(!v||"object"!=typeof v||Array.isArray(v))return r.errors=[{params:{type:"object"}}],!1;{const E=0;for(const E in v)if("parse"!==E)return r.errors=[{params:{additionalProperty:E}}],!1;if(0===E&&void 0!==v.parse&&!(v.parse instanceof Function))return r.errors=[{params:{}}],!1}return r.errors=null,!0}v.exports=r,v.exports["default"]=r},67583:function(v){const E=/^(?:[A-Za-z]:[\\/]|\\\\|\/)/;function e(v,{instancePath:P="",parentData:R,parentDataProperty:$,rootData:N=v}={}){if(!v||"object"!=typeof v||Array.isArray(v))return e.errors=[{params:{type:"object"}}],!1;if(void 0!==v.debug){const E=0;if("boolean"!=typeof v.debug)return e.errors=[{params:{type:"boolean"}}],!1;var L=0===E}else L=!0;if(L){if(void 0!==v.minimize){const E=0;if("boolean"!=typeof v.minimize)return e.errors=[{params:{type:"boolean"}}],!1;L=0===E}else L=!0;if(L)if(void 0!==v.options){let P=v.options;const R=0;if(0===R){if(!P||"object"!=typeof P||Array.isArray(P))return e.errors=[{params:{type:"object"}}],!1;if(void 0!==P.context){let v=P.context;if("string"!=typeof v)return e.errors=[{params:{type:"string"}}],!1;if(v.includes("!")||!0!==E.test(v))return e.errors=[{params:{}}],!1}}L=0===R}else L=!0}return e.errors=null,!0}v.exports=e,v.exports["default"]=e},3210:function(v){"use strict";v.exports=t,v.exports["default"]=t;const E={type:"object",additionalProperties:!1,properties:{activeModules:{type:"boolean"},dependencies:{type:"boolean"},dependenciesCount:{type:"number"},entries:{type:"boolean"},handler:{oneOf:[{$ref:"#/definitions/HandlerFunction"}]},modules:{type:"boolean"},modulesCount:{type:"number"},percentBy:{enum:["entries","modules","dependencies",null]},profile:{enum:[!0,!1,null]}}},P=Object.prototype.hasOwnProperty;function n(v,{instancePath:R="",parentData:$,parentDataProperty:N,rootData:L=v}={}){let q=null,K=0;if(0===K){if(!v||"object"!=typeof v||Array.isArray(v))return n.errors=[{params:{type:"object"}}],!1;{const R=K;for(const R in v)if(!P.call(E.properties,R))return n.errors=[{params:{additionalProperty:R}}],!1;if(R===K){if(void 0!==v.activeModules){const E=K;if("boolean"!=typeof v.activeModules)return n.errors=[{params:{type:"boolean"}}],!1;var ae=E===K}else ae=!0;if(ae){if(void 0!==v.dependencies){const E=K;if("boolean"!=typeof v.dependencies)return n.errors=[{params:{type:"boolean"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.dependenciesCount){const E=K;if("number"!=typeof v.dependenciesCount)return n.errors=[{params:{type:"number"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.entries){const E=K;if("boolean"!=typeof v.entries)return n.errors=[{params:{type:"boolean"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.handler){const E=K,P=K;let R=!1,$=null;const N=K;if(!(v.handler instanceof Function)){const v={params:{}};null===q?q=[v]:q.push(v),K++}if(N===K&&(R=!0,$=0),!R){const v={params:{passingSchemas:$}};return null===q?q=[v]:q.push(v),K++,n.errors=q,!1}K=P,null!==q&&(P?q.length=P:q=null),ae=E===K}else ae=!0;if(ae){if(void 0!==v.modules){const E=K;if("boolean"!=typeof v.modules)return n.errors=[{params:{type:"boolean"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.modulesCount){const E=K;if("number"!=typeof v.modulesCount)return n.errors=[{params:{type:"number"}}],!1;ae=E===K}else ae=!0;if(ae){if(void 0!==v.percentBy){let E=v.percentBy;const P=K;if("entries"!==E&&"modules"!==E&&"dependencies"!==E&&null!==E)return n.errors=[{params:{}}],!1;ae=P===K}else ae=!0;if(ae)if(void 0!==v.profile){let E=v.profile;const P=K;if(!0!==E&&!1!==E&&null!==E)return n.errors=[{params:{}}],!1;ae=P===K}else ae=!0}}}}}}}}}}return n.errors=q,0===K}function t(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){let N=null,L=0;const q=L;let K=!1;const ae=L;n(v,{instancePath:E,parentData:P,parentDataProperty:R,rootData:$})||(N=null===N?n.errors:N.concat(n.errors),L=N.length);var ge=ae===L;if(K=K||ge,!K){const E=L;if(!(v instanceof Function)){const v={params:{}};null===N?N=[v]:N.push(v),L++}ge=E===L,K=K||ge}if(!K){const v={params:{}};return null===N?N=[v]:N.push(v),L++,t.errors=N,!1}return L=q,null!==N&&(q?N.length=q:N=null),t.errors=N,0===L}},99936:function(v){const E=/^(?:[A-Za-z]:[\\/]|\\\\|\/)/;v.exports=l,v.exports["default"]=l;const P={definitions:{rule:{anyOf:[{instanceof:"RegExp"},{type:"string",minLength:1}]},rules:{anyOf:[{type:"array",items:{oneOf:[{$ref:"#/definitions/rule"}]}},{$ref:"#/definitions/rule"}]}},type:"object",additionalProperties:!1,properties:{append:{anyOf:[{enum:[!1,null]},{type:"string",minLength:1},{instanceof:"Function"}]},columns:{type:"boolean"},exclude:{oneOf:[{$ref:"#/definitions/rules"}]},fallbackModuleFilenameTemplate:{anyOf:[{type:"string",minLength:1},{instanceof:"Function"}]},fileContext:{type:"string"},filename:{anyOf:[{enum:[!1,null]},{type:"string",absolutePath:!1,minLength:1}]},include:{oneOf:[{$ref:"#/definitions/rules"}]},module:{type:"boolean"},moduleFilenameTemplate:{anyOf:[{type:"string",minLength:1},{instanceof:"Function"}]},namespace:{type:"string"},noSources:{type:"boolean"},publicPath:{type:"string"},sourceRoot:{type:"string"},test:{$ref:"#/definitions/rules"}}},R=Object.prototype.hasOwnProperty;function s(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){let N=null,L=0;const q=L;let K=!1;const ae=L;if(L===ae)if(Array.isArray(v)){const E=v.length;for(let P=0;P=",limit:1}}],!1}N=0===P}else N=!0}}}}return r.errors=null,!0}v.exports=r,v.exports["default"]=r},80128:function(v){"use strict";function r(v,{instancePath:E="",parentData:P,parentDataProperty:R,rootData:$=v}={}){if(!v||"object"!=typeof v||Array.isArray(v))return r.errors=[{params:{type:"object"}}],!1;{let E;if(void 0===v.minChunkSize&&(E="minChunkSize"))return r.errors=[{params:{missingProperty:E}}],!1;{const E=0;for(const E in v)if("chunkOverhead"!==E&&"entryChunkMultiplicator"!==E&&"minChunkSize"!==E)return r.errors=[{params:{additionalProperty:E}}],!1;if(0===E){if(void 0!==v.chunkOverhead){const E=0;if("number"!=typeof v.chunkOverhead)return r.errors=[{params:{type:"number"}}],!1;var N=0===E}else N=!0;if(N){if(void 0!==v.entryChunkMultiplicator){const E=0;if("number"!=typeof v.entryChunkMultiplicator)return r.errors=[{params:{type:"number"}}],!1;N=0===E}else N=!0;if(N)if(void 0!==v.minChunkSize){const E=0;if("number"!=typeof v.minChunkSize)return r.errors=[{params:{type:"number"}}],!1;N=0===E}else N=!0}}}}return r.errors=null,!0}v.exports=r,v.exports["default"]=r},48684:function(v){const E=/^(?:[A-Za-z]:[\\/]|\\\\|\/)/;v.exports=n,v.exports["default"]=n;const P=new RegExp("^https?://","u");function e(v,{instancePath:R="",parentData:$,parentDataProperty:N,rootData:L=v}={}){let q=null,K=0;if(0===K){if(!v||"object"!=typeof v||Array.isArray(v))return e.errors=[{params:{type:"object"}}],!1;{let R;if(void 0===v.allowedUris&&(R="allowedUris"))return e.errors=[{params:{missingProperty:R}}],!1;{const R=K;for(const E in v)if("allowedUris"!==E&&"cacheLocation"!==E&&"frozen"!==E&&"lockfileLocation"!==E&&"proxy"!==E&&"upgrade"!==E)return e.errors=[{params:{additionalProperty:E}}],!1;if(R===K){if(void 0!==v.allowedUris){let E=v.allowedUris;const R=K;if(K==K){if(!Array.isArray(E))return e.errors=[{params:{type:"array"}}],!1;{const v=E.length;for(let R=0;Rparse(v)));const N=v.length+1,L=(R.__heap_base.value||R.__heap_base)+4*N-R.memory.buffer.byteLength;L>0&&R.memory.grow(Math.ceil(L/65536));const q=R.sa(N-1);if((P?B:Q)(v,new Uint16Array(R.memory.buffer,q,N)),!R.parse())throw Object.assign(new Error(`Parse error ${E}:${v.slice(0,R.e()).split("\n").length}:${R.e()-v.lastIndexOf("\n",R.e()-1)}`),{idx:R.e()});const K=[],ae=[];for(;R.ri();){const E=R.is(),P=R.ie(),$=R.ai(),N=R.id(),L=R.ss(),q=R.se();let ae;R.ip()&&(ae=J(v.slice(-1===N?E-1:E,-1===N?P+1:P))),K.push({n:ae,s:E,e:P,ss:L,se:q,d:N,a:$})}for(;R.re();){const E=R.es(),P=R.ee(),$=R.els(),N=R.ele(),L=v.slice(E,P),q=L[0],K=$<0?void 0:v.slice($,N),ge=K?K[0]:"";ae.push({s:E,e:P,ls:$,le:N,n:'"'===q||"'"===q?J(L):L,ln:'"'===ge||"'"===ge?J(K):K})}function J(v){try{return(0,eval)(v)}catch(v){}}return[K,ae,!!R.f()]}function Q(v,E){const P=v.length;let R=0;for(;R>>8}}function B(v,E){const P=v.length;let R=0;for(;Rv.charCodeAt(0))))).then(WebAssembly.instantiate).then((({exports:v})=>{R=v}));var N;E.init=$},13348:function(v){"use strict";v.exports={i8:"5.1.1"}},14730:function(v){"use strict";v.exports={version:"4.3.0"}},61752:function(v){"use strict";v.exports={i8:"4.3.0"}},66282:function(v){"use strict";v.exports=JSON.parse('{"application/1d-interleaved-parityfec":{"source":"iana"},"application/3gpdash-qoe-report+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/3gpp-ims+xml":{"source":"iana","compressible":true},"application/a2l":{"source":"iana"},"application/activemessage":{"source":"iana"},"application/activity+json":{"source":"iana","compressible":true},"application/alto-costmap+json":{"source":"iana","compressible":true},"application/alto-costmapfilter+json":{"source":"iana","compressible":true},"application/alto-directory+json":{"source":"iana","compressible":true},"application/alto-endpointcost+json":{"source":"iana","compressible":true},"application/alto-endpointcostparams+json":{"source":"iana","compressible":true},"application/alto-endpointprop+json":{"source":"iana","compressible":true},"application/alto-endpointpropparams+json":{"source":"iana","compressible":true},"application/alto-error+json":{"source":"iana","compressible":true},"application/alto-networkmap+json":{"source":"iana","compressible":true},"application/alto-networkmapfilter+json":{"source":"iana","compressible":true},"application/alto-updatestreamcontrol+json":{"source":"iana","compressible":true},"application/alto-updatestreamparams+json":{"source":"iana","compressible":true},"application/aml":{"source":"iana"},"application/andrew-inset":{"source":"iana","extensions":["ez"]},"application/applefile":{"source":"iana"},"application/applixware":{"source":"apache","extensions":["aw"]},"application/atf":{"source":"iana"},"application/atfx":{"source":"iana"},"application/atom+xml":{"source":"iana","compressible":true,"extensions":["atom"]},"application/atomcat+xml":{"source":"iana","compressible":true,"extensions":["atomcat"]},"application/atomdeleted+xml":{"source":"iana","compressible":true,"extensions":["atomdeleted"]},"application/atomicmail":{"source":"iana"},"application/atomsvc+xml":{"source":"iana","compressible":true,"extensions":["atomsvc"]},"application/atsc-dwd+xml":{"source":"iana","compressible":true,"extensions":["dwd"]},"application/atsc-dynamic-event-message":{"source":"iana"},"application/atsc-held+xml":{"source":"iana","compressible":true,"extensions":["held"]},"application/atsc-rdt+json":{"source":"iana","compressible":true},"application/atsc-rsat+xml":{"source":"iana","compressible":true,"extensions":["rsat"]},"application/atxml":{"source":"iana"},"application/auth-policy+xml":{"source":"iana","compressible":true},"application/bacnet-xdd+zip":{"source":"iana","compressible":false},"application/batch-smtp":{"source":"iana"},"application/bdoc":{"compressible":false,"extensions":["bdoc"]},"application/beep+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/calendar+json":{"source":"iana","compressible":true},"application/calendar+xml":{"source":"iana","compressible":true,"extensions":["xcs"]},"application/call-completion":{"source":"iana"},"application/cals-1840":{"source":"iana"},"application/captive+json":{"source":"iana","compressible":true},"application/cbor":{"source":"iana"},"application/cbor-seq":{"source":"iana"},"application/cccex":{"source":"iana"},"application/ccmp+xml":{"source":"iana","compressible":true},"application/ccxml+xml":{"source":"iana","compressible":true,"extensions":["ccxml"]},"application/cdfx+xml":{"source":"iana","compressible":true,"extensions":["cdfx"]},"application/cdmi-capability":{"source":"iana","extensions":["cdmia"]},"application/cdmi-container":{"source":"iana","extensions":["cdmic"]},"application/cdmi-domain":{"source":"iana","extensions":["cdmid"]},"application/cdmi-object":{"source":"iana","extensions":["cdmio"]},"application/cdmi-queue":{"source":"iana","extensions":["cdmiq"]},"application/cdni":{"source":"iana"},"application/cea":{"source":"iana"},"application/cea-2018+xml":{"source":"iana","compressible":true},"application/cellml+xml":{"source":"iana","compressible":true},"application/cfw":{"source":"iana"},"application/clr":{"source":"iana"},"application/clue+xml":{"source":"iana","compressible":true},"application/clue_info+xml":{"source":"iana","compressible":true},"application/cms":{"source":"iana"},"application/cnrp+xml":{"source":"iana","compressible":true},"application/coap-group+json":{"source":"iana","compressible":true},"application/coap-payload":{"source":"iana"},"application/commonground":{"source":"iana"},"application/conference-info+xml":{"source":"iana","compressible":true},"application/cose":{"source":"iana"},"application/cose-key":{"source":"iana"},"application/cose-key-set":{"source":"iana"},"application/cpl+xml":{"source":"iana","compressible":true},"application/csrattrs":{"source":"iana"},"application/csta+xml":{"source":"iana","compressible":true},"application/cstadata+xml":{"source":"iana","compressible":true},"application/csvm+json":{"source":"iana","compressible":true},"application/cu-seeme":{"source":"apache","extensions":["cu"]},"application/cwt":{"source":"iana"},"application/cybercash":{"source":"iana"},"application/dart":{"compressible":true},"application/dash+xml":{"source":"iana","compressible":true,"extensions":["mpd"]},"application/dashdelta":{"source":"iana"},"application/davmount+xml":{"source":"iana","compressible":true,"extensions":["davmount"]},"application/dca-rft":{"source":"iana"},"application/dcd":{"source":"iana"},"application/dec-dx":{"source":"iana"},"application/dialog-info+xml":{"source":"iana","compressible":true},"application/dicom":{"source":"iana"},"application/dicom+json":{"source":"iana","compressible":true},"application/dicom+xml":{"source":"iana","compressible":true},"application/dii":{"source":"iana"},"application/dit":{"source":"iana"},"application/dns":{"source":"iana"},"application/dns+json":{"source":"iana","compressible":true},"application/dns-message":{"source":"iana"},"application/docbook+xml":{"source":"apache","compressible":true,"extensions":["dbk"]},"application/dots+cbor":{"source":"iana"},"application/dskpp+xml":{"source":"iana","compressible":true},"application/dssc+der":{"source":"iana","extensions":["dssc"]},"application/dssc+xml":{"source":"iana","compressible":true,"extensions":["xdssc"]},"application/dvcs":{"source":"iana"},"application/ecmascript":{"source":"iana","compressible":true,"extensions":["es","ecma"]},"application/edi-consent":{"source":"iana"},"application/edi-x12":{"source":"iana","compressible":false},"application/edifact":{"source":"iana","compressible":false},"application/efi":{"source":"iana"},"application/elm+json":{"source":"iana","charset":"UTF-8","compressible":true},"application/elm+xml":{"source":"iana","compressible":true},"application/emergencycalldata.cap+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/emergencycalldata.comment+xml":{"source":"iana","compressible":true},"application/emergencycalldata.control+xml":{"source":"iana","compressible":true},"application/emergencycalldata.deviceinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.ecall.msd":{"source":"iana"},"application/emergencycalldata.providerinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.serviceinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.subscriberinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.veds+xml":{"source":"iana","compressible":true},"application/emma+xml":{"source":"iana","compressible":true,"extensions":["emma"]},"application/emotionml+xml":{"source":"iana","compressible":true,"extensions":["emotionml"]},"application/encaprtp":{"source":"iana"},"application/epp+xml":{"source":"iana","compressible":true},"application/epub+zip":{"source":"iana","compressible":false,"extensions":["epub"]},"application/eshop":{"source":"iana"},"application/exi":{"source":"iana","extensions":["exi"]},"application/expect-ct-report+json":{"source":"iana","compressible":true},"application/fastinfoset":{"source":"iana"},"application/fastsoap":{"source":"iana"},"application/fdt+xml":{"source":"iana","compressible":true,"extensions":["fdt"]},"application/fhir+json":{"source":"iana","charset":"UTF-8","compressible":true},"application/fhir+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/fido.trusted-apps+json":{"compressible":true},"application/fits":{"source":"iana"},"application/flexfec":{"source":"iana"},"application/font-sfnt":{"source":"iana"},"application/font-tdpfr":{"source":"iana","extensions":["pfr"]},"application/font-woff":{"source":"iana","compressible":false},"application/framework-attributes+xml":{"source":"iana","compressible":true},"application/geo+json":{"source":"iana","compressible":true,"extensions":["geojson"]},"application/geo+json-seq":{"source":"iana"},"application/geopackage+sqlite3":{"source":"iana"},"application/geoxacml+xml":{"source":"iana","compressible":true},"application/gltf-buffer":{"source":"iana"},"application/gml+xml":{"source":"iana","compressible":true,"extensions":["gml"]},"application/gpx+xml":{"source":"apache","compressible":true,"extensions":["gpx"]},"application/gxf":{"source":"apache","extensions":["gxf"]},"application/gzip":{"source":"iana","compressible":false,"extensions":["gz"]},"application/h224":{"source":"iana"},"application/held+xml":{"source":"iana","compressible":true},"application/hjson":{"extensions":["hjson"]},"application/http":{"source":"iana"},"application/hyperstudio":{"source":"iana","extensions":["stk"]},"application/ibe-key-request+xml":{"source":"iana","compressible":true},"application/ibe-pkg-reply+xml":{"source":"iana","compressible":true},"application/ibe-pp-data":{"source":"iana"},"application/iges":{"source":"iana"},"application/im-iscomposing+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/index":{"source":"iana"},"application/index.cmd":{"source":"iana"},"application/index.obj":{"source":"iana"},"application/index.response":{"source":"iana"},"application/index.vnd":{"source":"iana"},"application/inkml+xml":{"source":"iana","compressible":true,"extensions":["ink","inkml"]},"application/iotp":{"source":"iana"},"application/ipfix":{"source":"iana","extensions":["ipfix"]},"application/ipp":{"source":"iana"},"application/isup":{"source":"iana"},"application/its+xml":{"source":"iana","compressible":true,"extensions":["its"]},"application/java-archive":{"source":"apache","compressible":false,"extensions":["jar","war","ear"]},"application/java-serialized-object":{"source":"apache","compressible":false,"extensions":["ser"]},"application/java-vm":{"source":"apache","compressible":false,"extensions":["class"]},"application/javascript":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["js","mjs"]},"application/jf2feed+json":{"source":"iana","compressible":true},"application/jose":{"source":"iana"},"application/jose+json":{"source":"iana","compressible":true},"application/jrd+json":{"source":"iana","compressible":true},"application/jscalendar+json":{"source":"iana","compressible":true},"application/json":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["json","map"]},"application/json-patch+json":{"source":"iana","compressible":true},"application/json-seq":{"source":"iana"},"application/json5":{"extensions":["json5"]},"application/jsonml+json":{"source":"apache","compressible":true,"extensions":["jsonml"]},"application/jwk+json":{"source":"iana","compressible":true},"application/jwk-set+json":{"source":"iana","compressible":true},"application/jwt":{"source":"iana"},"application/kpml-request+xml":{"source":"iana","compressible":true},"application/kpml-response+xml":{"source":"iana","compressible":true},"application/ld+json":{"source":"iana","compressible":true,"extensions":["jsonld"]},"application/lgr+xml":{"source":"iana","compressible":true,"extensions":["lgr"]},"application/link-format":{"source":"iana"},"application/load-control+xml":{"source":"iana","compressible":true},"application/lost+xml":{"source":"iana","compressible":true,"extensions":["lostxml"]},"application/lostsync+xml":{"source":"iana","compressible":true},"application/lpf+zip":{"source":"iana","compressible":false},"application/lxf":{"source":"iana"},"application/mac-binhex40":{"source":"iana","extensions":["hqx"]},"application/mac-compactpro":{"source":"apache","extensions":["cpt"]},"application/macwriteii":{"source":"iana"},"application/mads+xml":{"source":"iana","compressible":true,"extensions":["mads"]},"application/manifest+json":{"charset":"UTF-8","compressible":true,"extensions":["webmanifest"]},"application/marc":{"source":"iana","extensions":["mrc"]},"application/marcxml+xml":{"source":"iana","compressible":true,"extensions":["mrcx"]},"application/mathematica":{"source":"iana","extensions":["ma","nb","mb"]},"application/mathml+xml":{"source":"iana","compressible":true,"extensions":["mathml"]},"application/mathml-content+xml":{"source":"iana","compressible":true},"application/mathml-presentation+xml":{"source":"iana","compressible":true},"application/mbms-associated-procedure-description+xml":{"source":"iana","compressible":true},"application/mbms-deregister+xml":{"source":"iana","compressible":true},"application/mbms-envelope+xml":{"source":"iana","compressible":true},"application/mbms-msk+xml":{"source":"iana","compressible":true},"application/mbms-msk-response+xml":{"source":"iana","compressible":true},"application/mbms-protection-description+xml":{"source":"iana","compressible":true},"application/mbms-reception-report+xml":{"source":"iana","compressible":true},"application/mbms-register+xml":{"source":"iana","compressible":true},"application/mbms-register-response+xml":{"source":"iana","compressible":true},"application/mbms-schedule+xml":{"source":"iana","compressible":true},"application/mbms-user-service-description+xml":{"source":"iana","compressible":true},"application/mbox":{"source":"iana","extensions":["mbox"]},"application/media-policy-dataset+xml":{"source":"iana","compressible":true},"application/media_control+xml":{"source":"iana","compressible":true},"application/mediaservercontrol+xml":{"source":"iana","compressible":true,"extensions":["mscml"]},"application/merge-patch+json":{"source":"iana","compressible":true},"application/metalink+xml":{"source":"apache","compressible":true,"extensions":["metalink"]},"application/metalink4+xml":{"source":"iana","compressible":true,"extensions":["meta4"]},"application/mets+xml":{"source":"iana","compressible":true,"extensions":["mets"]},"application/mf4":{"source":"iana"},"application/mikey":{"source":"iana"},"application/mipc":{"source":"iana"},"application/mmt-aei+xml":{"source":"iana","compressible":true,"extensions":["maei"]},"application/mmt-usd+xml":{"source":"iana","compressible":true,"extensions":["musd"]},"application/mods+xml":{"source":"iana","compressible":true,"extensions":["mods"]},"application/moss-keys":{"source":"iana"},"application/moss-signature":{"source":"iana"},"application/mosskey-data":{"source":"iana"},"application/mosskey-request":{"source":"iana"},"application/mp21":{"source":"iana","extensions":["m21","mp21"]},"application/mp4":{"source":"iana","extensions":["mp4s","m4p"]},"application/mpeg4-generic":{"source":"iana"},"application/mpeg4-iod":{"source":"iana"},"application/mpeg4-iod-xmt":{"source":"iana"},"application/mrb-consumer+xml":{"source":"iana","compressible":true},"application/mrb-publish+xml":{"source":"iana","compressible":true},"application/msc-ivr+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/msc-mixer+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/msword":{"source":"iana","compressible":false,"extensions":["doc","dot"]},"application/mud+json":{"source":"iana","compressible":true},"application/multipart-core":{"source":"iana"},"application/mxf":{"source":"iana","extensions":["mxf"]},"application/n-quads":{"source":"iana","extensions":["nq"]},"application/n-triples":{"source":"iana","extensions":["nt"]},"application/nasdata":{"source":"iana"},"application/news-checkgroups":{"source":"iana","charset":"US-ASCII"},"application/news-groupinfo":{"source":"iana","charset":"US-ASCII"},"application/news-transmission":{"source":"iana"},"application/nlsml+xml":{"source":"iana","compressible":true},"application/node":{"source":"iana","extensions":["cjs"]},"application/nss":{"source":"iana"},"application/ocsp-request":{"source":"iana"},"application/ocsp-response":{"source":"iana"},"application/octet-stream":{"source":"iana","compressible":false,"extensions":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{"source":"iana","extensions":["oda"]},"application/odm+xml":{"source":"iana","compressible":true},"application/odx":{"source":"iana"},"application/oebps-package+xml":{"source":"iana","compressible":true,"extensions":["opf"]},"application/ogg":{"source":"iana","compressible":false,"extensions":["ogx"]},"application/omdoc+xml":{"source":"apache","compressible":true,"extensions":["omdoc"]},"application/onenote":{"source":"apache","extensions":["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{"source":"iana","compressible":true},"application/oscore":{"source":"iana"},"application/oxps":{"source":"iana","extensions":["oxps"]},"application/p2p-overlay+xml":{"source":"iana","compressible":true,"extensions":["relo"]},"application/parityfec":{"source":"iana"},"application/passport":{"source":"iana"},"application/patch-ops-error+xml":{"source":"iana","compressible":true,"extensions":["xer"]},"application/pdf":{"source":"iana","compressible":false,"extensions":["pdf"]},"application/pdx":{"source":"iana"},"application/pem-certificate-chain":{"source":"iana"},"application/pgp-encrypted":{"source":"iana","compressible":false,"extensions":["pgp"]},"application/pgp-keys":{"source":"iana"},"application/pgp-signature":{"source":"iana","extensions":["asc","sig"]},"application/pics-rules":{"source":"apache","extensions":["prf"]},"application/pidf+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/pidf-diff+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/pkcs10":{"source":"iana","extensions":["p10"]},"application/pkcs12":{"source":"iana"},"application/pkcs7-mime":{"source":"iana","extensions":["p7m","p7c"]},"application/pkcs7-signature":{"source":"iana","extensions":["p7s"]},"application/pkcs8":{"source":"iana","extensions":["p8"]},"application/pkcs8-encrypted":{"source":"iana"},"application/pkix-attr-cert":{"source":"iana","extensions":["ac"]},"application/pkix-cert":{"source":"iana","extensions":["cer"]},"application/pkix-crl":{"source":"iana","extensions":["crl"]},"application/pkix-pkipath":{"source":"iana","extensions":["pkipath"]},"application/pkixcmp":{"source":"iana","extensions":["pki"]},"application/pls+xml":{"source":"iana","compressible":true,"extensions":["pls"]},"application/poc-settings+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/postscript":{"source":"iana","compressible":true,"extensions":["ai","eps","ps"]},"application/ppsp-tracker+json":{"source":"iana","compressible":true},"application/problem+json":{"source":"iana","compressible":true},"application/problem+xml":{"source":"iana","compressible":true},"application/provenance+xml":{"source":"iana","compressible":true,"extensions":["provx"]},"application/prs.alvestrand.titrax-sheet":{"source":"iana"},"application/prs.cww":{"source":"iana","extensions":["cww"]},"application/prs.cyn":{"source":"iana","charset":"7-BIT"},"application/prs.hpub+zip":{"source":"iana","compressible":false},"application/prs.nprend":{"source":"iana"},"application/prs.plucker":{"source":"iana"},"application/prs.rdf-xml-crypt":{"source":"iana"},"application/prs.xsf+xml":{"source":"iana","compressible":true},"application/pskc+xml":{"source":"iana","compressible":true,"extensions":["pskcxml"]},"application/pvd+json":{"source":"iana","compressible":true},"application/qsig":{"source":"iana"},"application/raml+yaml":{"compressible":true,"extensions":["raml"]},"application/raptorfec":{"source":"iana"},"application/rdap+json":{"source":"iana","compressible":true},"application/rdf+xml":{"source":"iana","compressible":true,"extensions":["rdf","owl"]},"application/reginfo+xml":{"source":"iana","compressible":true,"extensions":["rif"]},"application/relax-ng-compact-syntax":{"source":"iana","extensions":["rnc"]},"application/remote-printing":{"source":"iana"},"application/reputon+json":{"source":"iana","compressible":true},"application/resource-lists+xml":{"source":"iana","compressible":true,"extensions":["rl"]},"application/resource-lists-diff+xml":{"source":"iana","compressible":true,"extensions":["rld"]},"application/rfc+xml":{"source":"iana","compressible":true},"application/riscos":{"source":"iana"},"application/rlmi+xml":{"source":"iana","compressible":true},"application/rls-services+xml":{"source":"iana","compressible":true,"extensions":["rs"]},"application/route-apd+xml":{"source":"iana","compressible":true,"extensions":["rapd"]},"application/route-s-tsid+xml":{"source":"iana","compressible":true,"extensions":["sls"]},"application/route-usd+xml":{"source":"iana","compressible":true,"extensions":["rusd"]},"application/rpki-ghostbusters":{"source":"iana","extensions":["gbr"]},"application/rpki-manifest":{"source":"iana","extensions":["mft"]},"application/rpki-publication":{"source":"iana"},"application/rpki-roa":{"source":"iana","extensions":["roa"]},"application/rpki-updown":{"source":"iana"},"application/rsd+xml":{"source":"apache","compressible":true,"extensions":["rsd"]},"application/rss+xml":{"source":"apache","compressible":true,"extensions":["rss"]},"application/rtf":{"source":"iana","compressible":true,"extensions":["rtf"]},"application/rtploopback":{"source":"iana"},"application/rtx":{"source":"iana"},"application/samlassertion+xml":{"source":"iana","compressible":true},"application/samlmetadata+xml":{"source":"iana","compressible":true},"application/sarif+json":{"source":"iana","compressible":true},"application/sbe":{"source":"iana"},"application/sbml+xml":{"source":"iana","compressible":true,"extensions":["sbml"]},"application/scaip+xml":{"source":"iana","compressible":true},"application/scim+json":{"source":"iana","compressible":true},"application/scvp-cv-request":{"source":"iana","extensions":["scq"]},"application/scvp-cv-response":{"source":"iana","extensions":["scs"]},"application/scvp-vp-request":{"source":"iana","extensions":["spq"]},"application/scvp-vp-response":{"source":"iana","extensions":["spp"]},"application/sdp":{"source":"iana","extensions":["sdp"]},"application/secevent+jwt":{"source":"iana"},"application/senml+cbor":{"source":"iana"},"application/senml+json":{"source":"iana","compressible":true},"application/senml+xml":{"source":"iana","compressible":true,"extensions":["senmlx"]},"application/senml-etch+cbor":{"source":"iana"},"application/senml-etch+json":{"source":"iana","compressible":true},"application/senml-exi":{"source":"iana"},"application/sensml+cbor":{"source":"iana"},"application/sensml+json":{"source":"iana","compressible":true},"application/sensml+xml":{"source":"iana","compressible":true,"extensions":["sensmlx"]},"application/sensml-exi":{"source":"iana"},"application/sep+xml":{"source":"iana","compressible":true},"application/sep-exi":{"source":"iana"},"application/session-info":{"source":"iana"},"application/set-payment":{"source":"iana"},"application/set-payment-initiation":{"source":"iana","extensions":["setpay"]},"application/set-registration":{"source":"iana"},"application/set-registration-initiation":{"source":"iana","extensions":["setreg"]},"application/sgml":{"source":"iana"},"application/sgml-open-catalog":{"source":"iana"},"application/shf+xml":{"source":"iana","compressible":true,"extensions":["shf"]},"application/sieve":{"source":"iana","extensions":["siv","sieve"]},"application/simple-filter+xml":{"source":"iana","compressible":true},"application/simple-message-summary":{"source":"iana"},"application/simplesymbolcontainer":{"source":"iana"},"application/sipc":{"source":"iana"},"application/slate":{"source":"iana"},"application/smil":{"source":"iana"},"application/smil+xml":{"source":"iana","compressible":true,"extensions":["smi","smil"]},"application/smpte336m":{"source":"iana"},"application/soap+fastinfoset":{"source":"iana"},"application/soap+xml":{"source":"iana","compressible":true},"application/sparql-query":{"source":"iana","extensions":["rq"]},"application/sparql-results+xml":{"source":"iana","compressible":true,"extensions":["srx"]},"application/spirits-event+xml":{"source":"iana","compressible":true},"application/sql":{"source":"iana"},"application/srgs":{"source":"iana","extensions":["gram"]},"application/srgs+xml":{"source":"iana","compressible":true,"extensions":["grxml"]},"application/sru+xml":{"source":"iana","compressible":true,"extensions":["sru"]},"application/ssdl+xml":{"source":"apache","compressible":true,"extensions":["ssdl"]},"application/ssml+xml":{"source":"iana","compressible":true,"extensions":["ssml"]},"application/stix+json":{"source":"iana","compressible":true},"application/swid+xml":{"source":"iana","compressible":true,"extensions":["swidtag"]},"application/tamp-apex-update":{"source":"iana"},"application/tamp-apex-update-confirm":{"source":"iana"},"application/tamp-community-update":{"source":"iana"},"application/tamp-community-update-confirm":{"source":"iana"},"application/tamp-error":{"source":"iana"},"application/tamp-sequence-adjust":{"source":"iana"},"application/tamp-sequence-adjust-confirm":{"source":"iana"},"application/tamp-status-query":{"source":"iana"},"application/tamp-status-response":{"source":"iana"},"application/tamp-update":{"source":"iana"},"application/tamp-update-confirm":{"source":"iana"},"application/tar":{"compressible":true},"application/taxii+json":{"source":"iana","compressible":true},"application/td+json":{"source":"iana","compressible":true},"application/tei+xml":{"source":"iana","compressible":true,"extensions":["tei","teicorpus"]},"application/tetra_isi":{"source":"iana"},"application/thraud+xml":{"source":"iana","compressible":true,"extensions":["tfi"]},"application/timestamp-query":{"source":"iana"},"application/timestamp-reply":{"source":"iana"},"application/timestamped-data":{"source":"iana","extensions":["tsd"]},"application/tlsrpt+gzip":{"source":"iana"},"application/tlsrpt+json":{"source":"iana","compressible":true},"application/tnauthlist":{"source":"iana"},"application/toml":{"compressible":true,"extensions":["toml"]},"application/trickle-ice-sdpfrag":{"source":"iana"},"application/trig":{"source":"iana"},"application/ttml+xml":{"source":"iana","compressible":true,"extensions":["ttml"]},"application/tve-trigger":{"source":"iana"},"application/tzif":{"source":"iana"},"application/tzif-leap":{"source":"iana"},"application/ubjson":{"compressible":false,"extensions":["ubj"]},"application/ulpfec":{"source":"iana"},"application/urc-grpsheet+xml":{"source":"iana","compressible":true},"application/urc-ressheet+xml":{"source":"iana","compressible":true,"extensions":["rsheet"]},"application/urc-targetdesc+xml":{"source":"iana","compressible":true,"extensions":["td"]},"application/urc-uisocketdesc+xml":{"source":"iana","compressible":true},"application/vcard+json":{"source":"iana","compressible":true},"application/vcard+xml":{"source":"iana","compressible":true},"application/vemmi":{"source":"iana"},"application/vividence.scriptfile":{"source":"apache"},"application/vnd.1000minds.decision-model+xml":{"source":"iana","compressible":true,"extensions":["1km"]},"application/vnd.3gpp-prose+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-prose-pc3ch+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-v2x-local-service-information":{"source":"iana"},"application/vnd.3gpp.access-transfer-events+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.bsf+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.gmop+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.interworking-data":{"source":"iana"},"application/vnd.3gpp.mc-signalling-ear":{"source":"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-payload":{"source":"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-signalling":{"source":"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-floor-request+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-location-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-signed+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-ue-init-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-location-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-transmission-request+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mid-call+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.pic-bw-large":{"source":"iana","extensions":["plb"]},"application/vnd.3gpp.pic-bw-small":{"source":"iana","extensions":["psb"]},"application/vnd.3gpp.pic-bw-var":{"source":"iana","extensions":["pvb"]},"application/vnd.3gpp.sms":{"source":"iana"},"application/vnd.3gpp.sms+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.srvcc-ext+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.srvcc-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.state-and-event-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.ussd+xml":{"source":"iana","compressible":true},"application/vnd.3gpp2.bcmcsinfo+xml":{"source":"iana","compressible":true},"application/vnd.3gpp2.sms":{"source":"iana"},"application/vnd.3gpp2.tcap":{"source":"iana","extensions":["tcap"]},"application/vnd.3lightssoftware.imagescal":{"source":"iana"},"application/vnd.3m.post-it-notes":{"source":"iana","extensions":["pwn"]},"application/vnd.accpac.simply.aso":{"source":"iana","extensions":["aso"]},"application/vnd.accpac.simply.imp":{"source":"iana","extensions":["imp"]},"application/vnd.acucobol":{"source":"iana","extensions":["acu"]},"application/vnd.acucorp":{"source":"iana","extensions":["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{"source":"apache","compressible":false,"extensions":["air"]},"application/vnd.adobe.flash.movie":{"source":"iana"},"application/vnd.adobe.formscentral.fcdt":{"source":"iana","extensions":["fcdt"]},"application/vnd.adobe.fxp":{"source":"iana","extensions":["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{"source":"iana"},"application/vnd.adobe.xdp+xml":{"source":"iana","compressible":true,"extensions":["xdp"]},"application/vnd.adobe.xfdf":{"source":"iana","extensions":["xfdf"]},"application/vnd.aether.imp":{"source":"iana"},"application/vnd.afpc.afplinedata":{"source":"iana"},"application/vnd.afpc.afplinedata-pagedef":{"source":"iana"},"application/vnd.afpc.cmoca-cmresource":{"source":"iana"},"application/vnd.afpc.foca-charset":{"source":"iana"},"application/vnd.afpc.foca-codedfont":{"source":"iana"},"application/vnd.afpc.foca-codepage":{"source":"iana"},"application/vnd.afpc.modca":{"source":"iana"},"application/vnd.afpc.modca-cmtable":{"source":"iana"},"application/vnd.afpc.modca-formdef":{"source":"iana"},"application/vnd.afpc.modca-mediummap":{"source":"iana"},"application/vnd.afpc.modca-objectcontainer":{"source":"iana"},"application/vnd.afpc.modca-overlay":{"source":"iana"},"application/vnd.afpc.modca-pagesegment":{"source":"iana"},"application/vnd.ah-barcode":{"source":"iana"},"application/vnd.ahead.space":{"source":"iana","extensions":["ahead"]},"application/vnd.airzip.filesecure.azf":{"source":"iana","extensions":["azf"]},"application/vnd.airzip.filesecure.azs":{"source":"iana","extensions":["azs"]},"application/vnd.amadeus+json":{"source":"iana","compressible":true},"application/vnd.amazon.ebook":{"source":"apache","extensions":["azw"]},"application/vnd.amazon.mobi8-ebook":{"source":"iana"},"application/vnd.americandynamics.acc":{"source":"iana","extensions":["acc"]},"application/vnd.amiga.ami":{"source":"iana","extensions":["ami"]},"application/vnd.amundsen.maze+xml":{"source":"iana","compressible":true},"application/vnd.android.ota":{"source":"iana"},"application/vnd.android.package-archive":{"source":"apache","compressible":false,"extensions":["apk"]},"application/vnd.anki":{"source":"iana"},"application/vnd.anser-web-certificate-issue-initiation":{"source":"iana","extensions":["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{"source":"apache","extensions":["fti"]},"application/vnd.antix.game-component":{"source":"iana","extensions":["atx"]},"application/vnd.apache.thrift.binary":{"source":"iana"},"application/vnd.apache.thrift.compact":{"source":"iana"},"application/vnd.apache.thrift.json":{"source":"iana"},"application/vnd.api+json":{"source":"iana","compressible":true},"application/vnd.aplextor.warrp+json":{"source":"iana","compressible":true},"application/vnd.apothekende.reservation+json":{"source":"iana","compressible":true},"application/vnd.apple.installer+xml":{"source":"iana","compressible":true,"extensions":["mpkg"]},"application/vnd.apple.keynote":{"source":"iana","extensions":["key"]},"application/vnd.apple.mpegurl":{"source":"iana","extensions":["m3u8"]},"application/vnd.apple.numbers":{"source":"iana","extensions":["numbers"]},"application/vnd.apple.pages":{"source":"iana","extensions":["pages"]},"application/vnd.apple.pkpass":{"compressible":false,"extensions":["pkpass"]},"application/vnd.arastra.swi":{"source":"iana"},"application/vnd.aristanetworks.swi":{"source":"iana","extensions":["swi"]},"application/vnd.artisan+json":{"source":"iana","compressible":true},"application/vnd.artsquare":{"source":"iana"},"application/vnd.astraea-software.iota":{"source":"iana","extensions":["iota"]},"application/vnd.audiograph":{"source":"iana","extensions":["aep"]},"application/vnd.autopackage":{"source":"iana"},"application/vnd.avalon+json":{"source":"iana","compressible":true},"application/vnd.avistar+xml":{"source":"iana","compressible":true},"application/vnd.balsamiq.bmml+xml":{"source":"iana","compressible":true,"extensions":["bmml"]},"application/vnd.balsamiq.bmpr":{"source":"iana"},"application/vnd.banana-accounting":{"source":"iana"},"application/vnd.bbf.usp.error":{"source":"iana"},"application/vnd.bbf.usp.msg":{"source":"iana"},"application/vnd.bbf.usp.msg+json":{"source":"iana","compressible":true},"application/vnd.bekitzur-stech+json":{"source":"iana","compressible":true},"application/vnd.bint.med-content":{"source":"iana"},"application/vnd.biopax.rdf+xml":{"source":"iana","compressible":true},"application/vnd.blink-idb-value-wrapper":{"source":"iana"},"application/vnd.blueice.multipass":{"source":"iana","extensions":["mpm"]},"application/vnd.bluetooth.ep.oob":{"source":"iana"},"application/vnd.bluetooth.le.oob":{"source":"iana"},"application/vnd.bmi":{"source":"iana","extensions":["bmi"]},"application/vnd.bpf":{"source":"iana"},"application/vnd.bpf3":{"source":"iana"},"application/vnd.businessobjects":{"source":"iana","extensions":["rep"]},"application/vnd.byu.uapi+json":{"source":"iana","compressible":true},"application/vnd.cab-jscript":{"source":"iana"},"application/vnd.canon-cpdl":{"source":"iana"},"application/vnd.canon-lips":{"source":"iana"},"application/vnd.capasystems-pg+json":{"source":"iana","compressible":true},"application/vnd.cendio.thinlinc.clientconf":{"source":"iana"},"application/vnd.century-systems.tcp_stream":{"source":"iana"},"application/vnd.chemdraw+xml":{"source":"iana","compressible":true,"extensions":["cdxml"]},"application/vnd.chess-pgn":{"source":"iana"},"application/vnd.chipnuts.karaoke-mmd":{"source":"iana","extensions":["mmd"]},"application/vnd.ciedi":{"source":"iana"},"application/vnd.cinderella":{"source":"iana","extensions":["cdy"]},"application/vnd.cirpack.isdn-ext":{"source":"iana"},"application/vnd.citationstyles.style+xml":{"source":"iana","compressible":true,"extensions":["csl"]},"application/vnd.claymore":{"source":"iana","extensions":["cla"]},"application/vnd.cloanto.rp9":{"source":"iana","extensions":["rp9"]},"application/vnd.clonk.c4group":{"source":"iana","extensions":["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{"source":"iana","extensions":["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{"source":"iana","extensions":["c11amz"]},"application/vnd.coffeescript":{"source":"iana"},"application/vnd.collabio.xodocuments.document":{"source":"iana"},"application/vnd.collabio.xodocuments.document-template":{"source":"iana"},"application/vnd.collabio.xodocuments.presentation":{"source":"iana"},"application/vnd.collabio.xodocuments.presentation-template":{"source":"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{"source":"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{"source":"iana"},"application/vnd.collection+json":{"source":"iana","compressible":true},"application/vnd.collection.doc+json":{"source":"iana","compressible":true},"application/vnd.collection.next+json":{"source":"iana","compressible":true},"application/vnd.comicbook+zip":{"source":"iana","compressible":false},"application/vnd.comicbook-rar":{"source":"iana"},"application/vnd.commerce-battelle":{"source":"iana"},"application/vnd.commonspace":{"source":"iana","extensions":["csp"]},"application/vnd.contact.cmsg":{"source":"iana","extensions":["cdbcmsg"]},"application/vnd.coreos.ignition+json":{"source":"iana","compressible":true},"application/vnd.cosmocaller":{"source":"iana","extensions":["cmc"]},"application/vnd.crick.clicker":{"source":"iana","extensions":["clkx"]},"application/vnd.crick.clicker.keyboard":{"source":"iana","extensions":["clkk"]},"application/vnd.crick.clicker.palette":{"source":"iana","extensions":["clkp"]},"application/vnd.crick.clicker.template":{"source":"iana","extensions":["clkt"]},"application/vnd.crick.clicker.wordbank":{"source":"iana","extensions":["clkw"]},"application/vnd.criticaltools.wbs+xml":{"source":"iana","compressible":true,"extensions":["wbs"]},"application/vnd.cryptii.pipe+json":{"source":"iana","compressible":true},"application/vnd.crypto-shade-file":{"source":"iana"},"application/vnd.cryptomator.encrypted":{"source":"iana"},"application/vnd.ctc-posml":{"source":"iana","extensions":["pml"]},"application/vnd.ctct.ws+xml":{"source":"iana","compressible":true},"application/vnd.cups-pdf":{"source":"iana"},"application/vnd.cups-postscript":{"source":"iana"},"application/vnd.cups-ppd":{"source":"iana","extensions":["ppd"]},"application/vnd.cups-raster":{"source":"iana"},"application/vnd.cups-raw":{"source":"iana"},"application/vnd.curl":{"source":"iana"},"application/vnd.curl.car":{"source":"apache","extensions":["car"]},"application/vnd.curl.pcurl":{"source":"apache","extensions":["pcurl"]},"application/vnd.cyan.dean.root+xml":{"source":"iana","compressible":true},"application/vnd.cybank":{"source":"iana"},"application/vnd.cyclonedx+json":{"source":"iana","compressible":true},"application/vnd.cyclonedx+xml":{"source":"iana","compressible":true},"application/vnd.d2l.coursepackage1p0+zip":{"source":"iana","compressible":false},"application/vnd.d3m-dataset":{"source":"iana"},"application/vnd.d3m-problem":{"source":"iana"},"application/vnd.dart":{"source":"iana","compressible":true,"extensions":["dart"]},"application/vnd.data-vision.rdz":{"source":"iana","extensions":["rdz"]},"application/vnd.datapackage+json":{"source":"iana","compressible":true},"application/vnd.dataresource+json":{"source":"iana","compressible":true},"application/vnd.dbf":{"source":"iana","extensions":["dbf"]},"application/vnd.debian.binary-package":{"source":"iana"},"application/vnd.dece.data":{"source":"iana","extensions":["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{"source":"iana","compressible":true,"extensions":["uvt","uvvt"]},"application/vnd.dece.unspecified":{"source":"iana","extensions":["uvx","uvvx"]},"application/vnd.dece.zip":{"source":"iana","extensions":["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{"source":"iana","extensions":["fe_launch"]},"application/vnd.desmume.movie":{"source":"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{"source":"iana"},"application/vnd.dm.delegation+xml":{"source":"iana","compressible":true},"application/vnd.dna":{"source":"iana","extensions":["dna"]},"application/vnd.document+json":{"source":"iana","compressible":true},"application/vnd.dolby.mlp":{"source":"apache","extensions":["mlp"]},"application/vnd.dolby.mobile.1":{"source":"iana"},"application/vnd.dolby.mobile.2":{"source":"iana"},"application/vnd.doremir.scorecloud-binary-document":{"source":"iana"},"application/vnd.dpgraph":{"source":"iana","extensions":["dpg"]},"application/vnd.dreamfactory":{"source":"iana","extensions":["dfac"]},"application/vnd.drive+json":{"source":"iana","compressible":true},"application/vnd.ds-keypoint":{"source":"apache","extensions":["kpxx"]},"application/vnd.dtg.local":{"source":"iana"},"application/vnd.dtg.local.flash":{"source":"iana"},"application/vnd.dtg.local.html":{"source":"iana"},"application/vnd.dvb.ait":{"source":"iana","extensions":["ait"]},"application/vnd.dvb.dvbisl+xml":{"source":"iana","compressible":true},"application/vnd.dvb.dvbj":{"source":"iana"},"application/vnd.dvb.esgcontainer":{"source":"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{"source":"iana"},"application/vnd.dvb.ipdcesgaccess":{"source":"iana"},"application/vnd.dvb.ipdcesgaccess2":{"source":"iana"},"application/vnd.dvb.ipdcesgpdd":{"source":"iana"},"application/vnd.dvb.ipdcroaming":{"source":"iana"},"application/vnd.dvb.iptv.alfec-base":{"source":"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{"source":"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-container+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-generic+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-msglist+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-registration-request+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-registration-response+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-init+xml":{"source":"iana","compressible":true},"application/vnd.dvb.pfr":{"source":"iana"},"application/vnd.dvb.service":{"source":"iana","extensions":["svc"]},"application/vnd.dxr":{"source":"iana"},"application/vnd.dynageo":{"source":"iana","extensions":["geo"]},"application/vnd.dzr":{"source":"iana"},"application/vnd.easykaraoke.cdgdownload":{"source":"iana"},"application/vnd.ecdis-update":{"source":"iana"},"application/vnd.ecip.rlp":{"source":"iana"},"application/vnd.ecowin.chart":{"source":"iana","extensions":["mag"]},"application/vnd.ecowin.filerequest":{"source":"iana"},"application/vnd.ecowin.fileupdate":{"source":"iana"},"application/vnd.ecowin.series":{"source":"iana"},"application/vnd.ecowin.seriesrequest":{"source":"iana"},"application/vnd.ecowin.seriesupdate":{"source":"iana"},"application/vnd.efi.img":{"source":"iana"},"application/vnd.efi.iso":{"source":"iana"},"application/vnd.emclient.accessrequest+xml":{"source":"iana","compressible":true},"application/vnd.enliven":{"source":"iana","extensions":["nml"]},"application/vnd.enphase.envoy":{"source":"iana"},"application/vnd.eprints.data+xml":{"source":"iana","compressible":true},"application/vnd.epson.esf":{"source":"iana","extensions":["esf"]},"application/vnd.epson.msf":{"source":"iana","extensions":["msf"]},"application/vnd.epson.quickanime":{"source":"iana","extensions":["qam"]},"application/vnd.epson.salt":{"source":"iana","extensions":["slt"]},"application/vnd.epson.ssf":{"source":"iana","extensions":["ssf"]},"application/vnd.ericsson.quickcall":{"source":"iana"},"application/vnd.espass-espass+zip":{"source":"iana","compressible":false},"application/vnd.eszigno3+xml":{"source":"iana","compressible":true,"extensions":["es3","et3"]},"application/vnd.etsi.aoc+xml":{"source":"iana","compressible":true},"application/vnd.etsi.asic-e+zip":{"source":"iana","compressible":false},"application/vnd.etsi.asic-s+zip":{"source":"iana","compressible":false},"application/vnd.etsi.cug+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvcommand+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvdiscovery+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvprofile+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-bc+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-cod+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-npvr+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvservice+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsync+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvueprofile+xml":{"source":"iana","compressible":true},"application/vnd.etsi.mcid+xml":{"source":"iana","compressible":true},"application/vnd.etsi.mheg5":{"source":"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{"source":"iana","compressible":true},"application/vnd.etsi.pstn+xml":{"source":"iana","compressible":true},"application/vnd.etsi.sci+xml":{"source":"iana","compressible":true},"application/vnd.etsi.simservs+xml":{"source":"iana","compressible":true},"application/vnd.etsi.timestamp-token":{"source":"iana"},"application/vnd.etsi.tsl+xml":{"source":"iana","compressible":true},"application/vnd.etsi.tsl.der":{"source":"iana"},"application/vnd.eudora.data":{"source":"iana"},"application/vnd.evolv.ecig.profile":{"source":"iana"},"application/vnd.evolv.ecig.settings":{"source":"iana"},"application/vnd.evolv.ecig.theme":{"source":"iana"},"application/vnd.exstream-empower+zip":{"source":"iana","compressible":false},"application/vnd.exstream-package":{"source":"iana"},"application/vnd.ezpix-album":{"source":"iana","extensions":["ez2"]},"application/vnd.ezpix-package":{"source":"iana","extensions":["ez3"]},"application/vnd.f-secure.mobile":{"source":"iana"},"application/vnd.fastcopy-disk-image":{"source":"iana"},"application/vnd.fdf":{"source":"iana","extensions":["fdf"]},"application/vnd.fdsn.mseed":{"source":"iana","extensions":["mseed"]},"application/vnd.fdsn.seed":{"source":"iana","extensions":["seed","dataless"]},"application/vnd.ffsns":{"source":"iana"},"application/vnd.ficlab.flb+zip":{"source":"iana","compressible":false},"application/vnd.filmit.zfc":{"source":"iana"},"application/vnd.fints":{"source":"iana"},"application/vnd.firemonkeys.cloudcell":{"source":"iana"},"application/vnd.flographit":{"source":"iana","extensions":["gph"]},"application/vnd.fluxtime.clip":{"source":"iana","extensions":["ftc"]},"application/vnd.font-fontforge-sfd":{"source":"iana"},"application/vnd.framemaker":{"source":"iana","extensions":["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{"source":"iana","extensions":["fnc"]},"application/vnd.frogans.ltf":{"source":"iana","extensions":["ltf"]},"application/vnd.fsc.weblaunch":{"source":"iana","extensions":["fsc"]},"application/vnd.fujitsu.oasys":{"source":"iana","extensions":["oas"]},"application/vnd.fujitsu.oasys2":{"source":"iana","extensions":["oa2"]},"application/vnd.fujitsu.oasys3":{"source":"iana","extensions":["oa3"]},"application/vnd.fujitsu.oasysgp":{"source":"iana","extensions":["fg5"]},"application/vnd.fujitsu.oasysprs":{"source":"iana","extensions":["bh2"]},"application/vnd.fujixerox.art-ex":{"source":"iana"},"application/vnd.fujixerox.art4":{"source":"iana"},"application/vnd.fujixerox.ddd":{"source":"iana","extensions":["ddd"]},"application/vnd.fujixerox.docuworks":{"source":"iana","extensions":["xdw"]},"application/vnd.fujixerox.docuworks.binder":{"source":"iana","extensions":["xbd"]},"application/vnd.fujixerox.docuworks.container":{"source":"iana"},"application/vnd.fujixerox.hbpl":{"source":"iana"},"application/vnd.fut-misnet":{"source":"iana"},"application/vnd.futoin+cbor":{"source":"iana"},"application/vnd.futoin+json":{"source":"iana","compressible":true},"application/vnd.fuzzysheet":{"source":"iana","extensions":["fzs"]},"application/vnd.genomatix.tuxedo":{"source":"iana","extensions":["txd"]},"application/vnd.gentics.grd+json":{"source":"iana","compressible":true},"application/vnd.geo+json":{"source":"iana","compressible":true},"application/vnd.geocube+xml":{"source":"iana","compressible":true},"application/vnd.geogebra.file":{"source":"iana","extensions":["ggb"]},"application/vnd.geogebra.slides":{"source":"iana"},"application/vnd.geogebra.tool":{"source":"iana","extensions":["ggt"]},"application/vnd.geometry-explorer":{"source":"iana","extensions":["gex","gre"]},"application/vnd.geonext":{"source":"iana","extensions":["gxt"]},"application/vnd.geoplan":{"source":"iana","extensions":["g2w"]},"application/vnd.geospace":{"source":"iana","extensions":["g3w"]},"application/vnd.gerber":{"source":"iana"},"application/vnd.globalplatform.card-content-mgt":{"source":"iana"},"application/vnd.globalplatform.card-content-mgt-response":{"source":"iana"},"application/vnd.gmx":{"source":"iana","extensions":["gmx"]},"application/vnd.google-apps.document":{"compressible":false,"extensions":["gdoc"]},"application/vnd.google-apps.presentation":{"compressible":false,"extensions":["gslides"]},"application/vnd.google-apps.spreadsheet":{"compressible":false,"extensions":["gsheet"]},"application/vnd.google-earth.kml+xml":{"source":"iana","compressible":true,"extensions":["kml"]},"application/vnd.google-earth.kmz":{"source":"iana","compressible":false,"extensions":["kmz"]},"application/vnd.gov.sk.e-form+xml":{"source":"iana","compressible":true},"application/vnd.gov.sk.e-form+zip":{"source":"iana","compressible":false},"application/vnd.gov.sk.xmldatacontainer+xml":{"source":"iana","compressible":true},"application/vnd.grafeq":{"source":"iana","extensions":["gqf","gqs"]},"application/vnd.gridmp":{"source":"iana"},"application/vnd.groove-account":{"source":"iana","extensions":["gac"]},"application/vnd.groove-help":{"source":"iana","extensions":["ghf"]},"application/vnd.groove-identity-message":{"source":"iana","extensions":["gim"]},"application/vnd.groove-injector":{"source":"iana","extensions":["grv"]},"application/vnd.groove-tool-message":{"source":"iana","extensions":["gtm"]},"application/vnd.groove-tool-template":{"source":"iana","extensions":["tpl"]},"application/vnd.groove-vcard":{"source":"iana","extensions":["vcg"]},"application/vnd.hal+json":{"source":"iana","compressible":true},"application/vnd.hal+xml":{"source":"iana","compressible":true,"extensions":["hal"]},"application/vnd.handheld-entertainment+xml":{"source":"iana","compressible":true,"extensions":["zmm"]},"application/vnd.hbci":{"source":"iana","extensions":["hbci"]},"application/vnd.hc+json":{"source":"iana","compressible":true},"application/vnd.hcl-bireports":{"source":"iana"},"application/vnd.hdt":{"source":"iana"},"application/vnd.heroku+json":{"source":"iana","compressible":true},"application/vnd.hhe.lesson-player":{"source":"iana","extensions":["les"]},"application/vnd.hp-hpgl":{"source":"iana","extensions":["hpgl"]},"application/vnd.hp-hpid":{"source":"iana","extensions":["hpid"]},"application/vnd.hp-hps":{"source":"iana","extensions":["hps"]},"application/vnd.hp-jlyt":{"source":"iana","extensions":["jlt"]},"application/vnd.hp-pcl":{"source":"iana","extensions":["pcl"]},"application/vnd.hp-pclxl":{"source":"iana","extensions":["pclxl"]},"application/vnd.httphone":{"source":"iana"},"application/vnd.hydrostatix.sof-data":{"source":"iana","extensions":["sfd-hdstx"]},"application/vnd.hyper+json":{"source":"iana","compressible":true},"application/vnd.hyper-item+json":{"source":"iana","compressible":true},"application/vnd.hyperdrive+json":{"source":"iana","compressible":true},"application/vnd.hzn-3d-crossword":{"source":"iana"},"application/vnd.ibm.afplinedata":{"source":"iana"},"application/vnd.ibm.electronic-media":{"source":"iana"},"application/vnd.ibm.minipay":{"source":"iana","extensions":["mpy"]},"application/vnd.ibm.modcap":{"source":"iana","extensions":["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{"source":"iana","extensions":["irm"]},"application/vnd.ibm.secure-container":{"source":"iana","extensions":["sc"]},"application/vnd.iccprofile":{"source":"iana","extensions":["icc","icm"]},"application/vnd.ieee.1905":{"source":"iana"},"application/vnd.igloader":{"source":"iana","extensions":["igl"]},"application/vnd.imagemeter.folder+zip":{"source":"iana","compressible":false},"application/vnd.imagemeter.image+zip":{"source":"iana","compressible":false},"application/vnd.immervision-ivp":{"source":"iana","extensions":["ivp"]},"application/vnd.immervision-ivu":{"source":"iana","extensions":["ivu"]},"application/vnd.ims.imsccv1p1":{"source":"iana"},"application/vnd.ims.imsccv1p2":{"source":"iana"},"application/vnd.ims.imsccv1p3":{"source":"iana"},"application/vnd.ims.lis.v2.result+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolproxy+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolproxy.id+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolsettings+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolsettings.simple+json":{"source":"iana","compressible":true},"application/vnd.informedcontrol.rms+xml":{"source":"iana","compressible":true},"application/vnd.informix-visionary":{"source":"iana"},"application/vnd.infotech.project":{"source":"iana"},"application/vnd.infotech.project+xml":{"source":"iana","compressible":true},"application/vnd.innopath.wamp.notification":{"source":"iana"},"application/vnd.insors.igm":{"source":"iana","extensions":["igm"]},"application/vnd.intercon.formnet":{"source":"iana","extensions":["xpw","xpx"]},"application/vnd.intergeo":{"source":"iana","extensions":["i2g"]},"application/vnd.intertrust.digibox":{"source":"iana"},"application/vnd.intertrust.nncp":{"source":"iana"},"application/vnd.intu.qbo":{"source":"iana","extensions":["qbo"]},"application/vnd.intu.qfx":{"source":"iana","extensions":["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.conceptitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.knowledgeitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.newsitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.newsmessage+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.packageitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.planningitem+xml":{"source":"iana","compressible":true},"application/vnd.ipunplugged.rcprofile":{"source":"iana","extensions":["rcprofile"]},"application/vnd.irepository.package+xml":{"source":"iana","compressible":true,"extensions":["irp"]},"application/vnd.is-xpr":{"source":"iana","extensions":["xpr"]},"application/vnd.isac.fcs":{"source":"iana","extensions":["fcs"]},"application/vnd.iso11783-10+zip":{"source":"iana","compressible":false},"application/vnd.jam":{"source":"iana","extensions":["jam"]},"application/vnd.japannet-directory-service":{"source":"iana"},"application/vnd.japannet-jpnstore-wakeup":{"source":"iana"},"application/vnd.japannet-payment-wakeup":{"source":"iana"},"application/vnd.japannet-registration":{"source":"iana"},"application/vnd.japannet-registration-wakeup":{"source":"iana"},"application/vnd.japannet-setstore-wakeup":{"source":"iana"},"application/vnd.japannet-verification":{"source":"iana"},"application/vnd.japannet-verification-wakeup":{"source":"iana"},"application/vnd.jcp.javame.midlet-rms":{"source":"iana","extensions":["rms"]},"application/vnd.jisp":{"source":"iana","extensions":["jisp"]},"application/vnd.joost.joda-archive":{"source":"iana","extensions":["joda"]},"application/vnd.jsk.isdn-ngn":{"source":"iana"},"application/vnd.kahootz":{"source":"iana","extensions":["ktz","ktr"]},"application/vnd.kde.karbon":{"source":"iana","extensions":["karbon"]},"application/vnd.kde.kchart":{"source":"iana","extensions":["chrt"]},"application/vnd.kde.kformula":{"source":"iana","extensions":["kfo"]},"application/vnd.kde.kivio":{"source":"iana","extensions":["flw"]},"application/vnd.kde.kontour":{"source":"iana","extensions":["kon"]},"application/vnd.kde.kpresenter":{"source":"iana","extensions":["kpr","kpt"]},"application/vnd.kde.kspread":{"source":"iana","extensions":["ksp"]},"application/vnd.kde.kword":{"source":"iana","extensions":["kwd","kwt"]},"application/vnd.kenameaapp":{"source":"iana","extensions":["htke"]},"application/vnd.kidspiration":{"source":"iana","extensions":["kia"]},"application/vnd.kinar":{"source":"iana","extensions":["kne","knp"]},"application/vnd.koan":{"source":"iana","extensions":["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{"source":"iana","extensions":["sse"]},"application/vnd.las":{"source":"iana"},"application/vnd.las.las+json":{"source":"iana","compressible":true},"application/vnd.las.las+xml":{"source":"iana","compressible":true,"extensions":["lasxml"]},"application/vnd.laszip":{"source":"iana"},"application/vnd.leap+json":{"source":"iana","compressible":true},"application/vnd.liberty-request+xml":{"source":"iana","compressible":true},"application/vnd.llamagraphics.life-balance.desktop":{"source":"iana","extensions":["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{"source":"iana","compressible":true,"extensions":["lbe"]},"application/vnd.logipipe.circuit+zip":{"source":"iana","compressible":false},"application/vnd.loom":{"source":"iana"},"application/vnd.lotus-1-2-3":{"source":"iana","extensions":["123"]},"application/vnd.lotus-approach":{"source":"iana","extensions":["apr"]},"application/vnd.lotus-freelance":{"source":"iana","extensions":["pre"]},"application/vnd.lotus-notes":{"source":"iana","extensions":["nsf"]},"application/vnd.lotus-organizer":{"source":"iana","extensions":["org"]},"application/vnd.lotus-screencam":{"source":"iana","extensions":["scm"]},"application/vnd.lotus-wordpro":{"source":"iana","extensions":["lwp"]},"application/vnd.macports.portpkg":{"source":"iana","extensions":["portpkg"]},"application/vnd.mapbox-vector-tile":{"source":"iana"},"application/vnd.marlin.drm.actiontoken+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.conftoken+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.license+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.mdcf":{"source":"iana"},"application/vnd.mason+json":{"source":"iana","compressible":true},"application/vnd.maxmind.maxmind-db":{"source":"iana"},"application/vnd.mcd":{"source":"iana","extensions":["mcd"]},"application/vnd.medcalcdata":{"source":"iana","extensions":["mc1"]},"application/vnd.mediastation.cdkey":{"source":"iana","extensions":["cdkey"]},"application/vnd.meridian-slingshot":{"source":"iana"},"application/vnd.mfer":{"source":"iana","extensions":["mwf"]},"application/vnd.mfmp":{"source":"iana","extensions":["mfm"]},"application/vnd.micro+json":{"source":"iana","compressible":true},"application/vnd.micrografx.flo":{"source":"iana","extensions":["flo"]},"application/vnd.micrografx.igx":{"source":"iana","extensions":["igx"]},"application/vnd.microsoft.portable-executable":{"source":"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{"source":"iana"},"application/vnd.miele+json":{"source":"iana","compressible":true},"application/vnd.mif":{"source":"iana","extensions":["mif"]},"application/vnd.minisoft-hp3000-save":{"source":"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{"source":"iana"},"application/vnd.mobius.daf":{"source":"iana","extensions":["daf"]},"application/vnd.mobius.dis":{"source":"iana","extensions":["dis"]},"application/vnd.mobius.mbk":{"source":"iana","extensions":["mbk"]},"application/vnd.mobius.mqy":{"source":"iana","extensions":["mqy"]},"application/vnd.mobius.msl":{"source":"iana","extensions":["msl"]},"application/vnd.mobius.plc":{"source":"iana","extensions":["plc"]},"application/vnd.mobius.txf":{"source":"iana","extensions":["txf"]},"application/vnd.mophun.application":{"source":"iana","extensions":["mpn"]},"application/vnd.mophun.certificate":{"source":"iana","extensions":["mpc"]},"application/vnd.motorola.flexsuite":{"source":"iana"},"application/vnd.motorola.flexsuite.adsi":{"source":"iana"},"application/vnd.motorola.flexsuite.fis":{"source":"iana"},"application/vnd.motorola.flexsuite.gotap":{"source":"iana"},"application/vnd.motorola.flexsuite.kmr":{"source":"iana"},"application/vnd.motorola.flexsuite.ttc":{"source":"iana"},"application/vnd.motorola.flexsuite.wem":{"source":"iana"},"application/vnd.motorola.iprm":{"source":"iana"},"application/vnd.mozilla.xul+xml":{"source":"iana","compressible":true,"extensions":["xul"]},"application/vnd.ms-3mfdocument":{"source":"iana"},"application/vnd.ms-artgalry":{"source":"iana","extensions":["cil"]},"application/vnd.ms-asf":{"source":"iana"},"application/vnd.ms-cab-compressed":{"source":"iana","extensions":["cab"]},"application/vnd.ms-color.iccprofile":{"source":"apache"},"application/vnd.ms-excel":{"source":"iana","compressible":false,"extensions":["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{"source":"iana","extensions":["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{"source":"iana","extensions":["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{"source":"iana","extensions":["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{"source":"iana","extensions":["xltm"]},"application/vnd.ms-fontobject":{"source":"iana","compressible":true,"extensions":["eot"]},"application/vnd.ms-htmlhelp":{"source":"iana","extensions":["chm"]},"application/vnd.ms-ims":{"source":"iana","extensions":["ims"]},"application/vnd.ms-lrm":{"source":"iana","extensions":["lrm"]},"application/vnd.ms-office.activex+xml":{"source":"iana","compressible":true},"application/vnd.ms-officetheme":{"source":"iana","extensions":["thmx"]},"application/vnd.ms-opentype":{"source":"apache","compressible":true},"application/vnd.ms-outlook":{"compressible":false,"extensions":["msg"]},"application/vnd.ms-package.obfuscated-opentype":{"source":"apache"},"application/vnd.ms-pki.seccat":{"source":"apache","extensions":["cat"]},"application/vnd.ms-pki.stl":{"source":"apache","extensions":["stl"]},"application/vnd.ms-playready.initiator+xml":{"source":"iana","compressible":true},"application/vnd.ms-powerpoint":{"source":"iana","compressible":false,"extensions":["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{"source":"iana","extensions":["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{"source":"iana","extensions":["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{"source":"iana","extensions":["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{"source":"iana","extensions":["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{"source":"iana","extensions":["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{"source":"iana","compressible":true},"application/vnd.ms-printing.printticket+xml":{"source":"apache","compressible":true},"application/vnd.ms-printschematicket+xml":{"source":"iana","compressible":true},"application/vnd.ms-project":{"source":"iana","extensions":["mpp","mpt"]},"application/vnd.ms-tnef":{"source":"iana"},"application/vnd.ms-windows.devicepairing":{"source":"iana"},"application/vnd.ms-windows.nwprinting.oob":{"source":"iana"},"application/vnd.ms-windows.printerpairing":{"source":"iana"},"application/vnd.ms-windows.wsd.oob":{"source":"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{"source":"iana"},"application/vnd.ms-wmdrm.lic-resp":{"source":"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{"source":"iana"},"application/vnd.ms-wmdrm.meter-resp":{"source":"iana"},"application/vnd.ms-word.document.macroenabled.12":{"source":"iana","extensions":["docm"]},"application/vnd.ms-word.template.macroenabled.12":{"source":"iana","extensions":["dotm"]},"application/vnd.ms-works":{"source":"iana","extensions":["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{"source":"iana","extensions":["wpl"]},"application/vnd.ms-xpsdocument":{"source":"iana","compressible":false,"extensions":["xps"]},"application/vnd.msa-disk-image":{"source":"iana"},"application/vnd.mseq":{"source":"iana","extensions":["mseq"]},"application/vnd.msign":{"source":"iana"},"application/vnd.multiad.creator":{"source":"iana"},"application/vnd.multiad.creator.cif":{"source":"iana"},"application/vnd.music-niff":{"source":"iana"},"application/vnd.musician":{"source":"iana","extensions":["mus"]},"application/vnd.muvee.style":{"source":"iana","extensions":["msty"]},"application/vnd.mynfc":{"source":"iana","extensions":["taglet"]},"application/vnd.ncd.control":{"source":"iana"},"application/vnd.ncd.reference":{"source":"iana"},"application/vnd.nearst.inv+json":{"source":"iana","compressible":true},"application/vnd.nebumind.line":{"source":"iana"},"application/vnd.nervana":{"source":"iana"},"application/vnd.netfpx":{"source":"iana"},"application/vnd.neurolanguage.nlu":{"source":"iana","extensions":["nlu"]},"application/vnd.nimn":{"source":"iana"},"application/vnd.nintendo.nitro.rom":{"source":"iana"},"application/vnd.nintendo.snes.rom":{"source":"iana"},"application/vnd.nitf":{"source":"iana","extensions":["ntf","nitf"]},"application/vnd.noblenet-directory":{"source":"iana","extensions":["nnd"]},"application/vnd.noblenet-sealer":{"source":"iana","extensions":["nns"]},"application/vnd.noblenet-web":{"source":"iana","extensions":["nnw"]},"application/vnd.nokia.catalogs":{"source":"iana"},"application/vnd.nokia.conml+wbxml":{"source":"iana"},"application/vnd.nokia.conml+xml":{"source":"iana","compressible":true},"application/vnd.nokia.iptv.config+xml":{"source":"iana","compressible":true},"application/vnd.nokia.isds-radio-presets":{"source":"iana"},"application/vnd.nokia.landmark+wbxml":{"source":"iana"},"application/vnd.nokia.landmark+xml":{"source":"iana","compressible":true},"application/vnd.nokia.landmarkcollection+xml":{"source":"iana","compressible":true},"application/vnd.nokia.n-gage.ac+xml":{"source":"iana","compressible":true,"extensions":["ac"]},"application/vnd.nokia.n-gage.data":{"source":"iana","extensions":["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{"source":"iana","extensions":["n-gage"]},"application/vnd.nokia.ncd":{"source":"iana"},"application/vnd.nokia.pcd+wbxml":{"source":"iana"},"application/vnd.nokia.pcd+xml":{"source":"iana","compressible":true},"application/vnd.nokia.radio-preset":{"source":"iana","extensions":["rpst"]},"application/vnd.nokia.radio-presets":{"source":"iana","extensions":["rpss"]},"application/vnd.novadigm.edm":{"source":"iana","extensions":["edm"]},"application/vnd.novadigm.edx":{"source":"iana","extensions":["edx"]},"application/vnd.novadigm.ext":{"source":"iana","extensions":["ext"]},"application/vnd.ntt-local.content-share":{"source":"iana"},"application/vnd.ntt-local.file-transfer":{"source":"iana"},"application/vnd.ntt-local.ogw_remote-access":{"source":"iana"},"application/vnd.ntt-local.sip-ta_remote":{"source":"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{"source":"iana"},"application/vnd.oasis.opendocument.chart":{"source":"iana","extensions":["odc"]},"application/vnd.oasis.opendocument.chart-template":{"source":"iana","extensions":["otc"]},"application/vnd.oasis.opendocument.database":{"source":"iana","extensions":["odb"]},"application/vnd.oasis.opendocument.formula":{"source":"iana","extensions":["odf"]},"application/vnd.oasis.opendocument.formula-template":{"source":"iana","extensions":["odft"]},"application/vnd.oasis.opendocument.graphics":{"source":"iana","compressible":false,"extensions":["odg"]},"application/vnd.oasis.opendocument.graphics-template":{"source":"iana","extensions":["otg"]},"application/vnd.oasis.opendocument.image":{"source":"iana","extensions":["odi"]},"application/vnd.oasis.opendocument.image-template":{"source":"iana","extensions":["oti"]},"application/vnd.oasis.opendocument.presentation":{"source":"iana","compressible":false,"extensions":["odp"]},"application/vnd.oasis.opendocument.presentation-template":{"source":"iana","extensions":["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{"source":"iana","compressible":false,"extensions":["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{"source":"iana","extensions":["ots"]},"application/vnd.oasis.opendocument.text":{"source":"iana","compressible":false,"extensions":["odt"]},"application/vnd.oasis.opendocument.text-master":{"source":"iana","extensions":["odm"]},"application/vnd.oasis.opendocument.text-template":{"source":"iana","extensions":["ott"]},"application/vnd.oasis.opendocument.text-web":{"source":"iana","extensions":["oth"]},"application/vnd.obn":{"source":"iana"},"application/vnd.ocf+cbor":{"source":"iana"},"application/vnd.oci.image.manifest.v1+json":{"source":"iana","compressible":true},"application/vnd.oftn.l10n+json":{"source":"iana","compressible":true},"application/vnd.oipf.contentaccessdownload+xml":{"source":"iana","compressible":true},"application/vnd.oipf.contentaccessstreaming+xml":{"source":"iana","compressible":true},"application/vnd.oipf.cspg-hexbinary":{"source":"iana"},"application/vnd.oipf.dae.svg+xml":{"source":"iana","compressible":true},"application/vnd.oipf.dae.xhtml+xml":{"source":"iana","compressible":true},"application/vnd.oipf.mippvcontrolmessage+xml":{"source":"iana","compressible":true},"application/vnd.oipf.pae.gem":{"source":"iana"},"application/vnd.oipf.spdiscovery+xml":{"source":"iana","compressible":true},"application/vnd.oipf.spdlist+xml":{"source":"iana","compressible":true},"application/vnd.oipf.ueprofile+xml":{"source":"iana","compressible":true},"application/vnd.oipf.userprofile+xml":{"source":"iana","compressible":true},"application/vnd.olpc-sugar":{"source":"iana","extensions":["xo"]},"application/vnd.oma-scws-config":{"source":"iana"},"application/vnd.oma-scws-http-request":{"source":"iana"},"application/vnd.oma-scws-http-response":{"source":"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.drm-trigger+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.imd+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.ltkm":{"source":"iana"},"application/vnd.oma.bcast.notification+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.provisioningtrigger":{"source":"iana"},"application/vnd.oma.bcast.sgboot":{"source":"iana"},"application/vnd.oma.bcast.sgdd+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.sgdu":{"source":"iana"},"application/vnd.oma.bcast.simple-symbol-container":{"source":"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.sprov+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.stkm":{"source":"iana"},"application/vnd.oma.cab-address-book+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-feature-handler+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-pcc+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-subs-invite+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-user-prefs+xml":{"source":"iana","compressible":true},"application/vnd.oma.dcd":{"source":"iana"},"application/vnd.oma.dcdc":{"source":"iana"},"application/vnd.oma.dd2+xml":{"source":"iana","compressible":true,"extensions":["dd2"]},"application/vnd.oma.drm.risd+xml":{"source":"iana","compressible":true},"application/vnd.oma.group-usage-list+xml":{"source":"iana","compressible":true},"application/vnd.oma.lwm2m+cbor":{"source":"iana"},"application/vnd.oma.lwm2m+json":{"source":"iana","compressible":true},"application/vnd.oma.lwm2m+tlv":{"source":"iana"},"application/vnd.oma.pal+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.detailed-progress-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.final-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.groups+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.invocation-descriptor+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.optimized-progress-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.push":{"source":"iana"},"application/vnd.oma.scidm.messages+xml":{"source":"iana","compressible":true},"application/vnd.oma.xcap-directory+xml":{"source":"iana","compressible":true},"application/vnd.omads-email+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omads-file+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omads-folder+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omaloc-supl-init":{"source":"iana"},"application/vnd.onepager":{"source":"iana"},"application/vnd.onepagertamp":{"source":"iana"},"application/vnd.onepagertamx":{"source":"iana"},"application/vnd.onepagertat":{"source":"iana"},"application/vnd.onepagertatp":{"source":"iana"},"application/vnd.onepagertatx":{"source":"iana"},"application/vnd.openblox.game+xml":{"source":"iana","compressible":true,"extensions":["obgx"]},"application/vnd.openblox.game-binary":{"source":"iana"},"application/vnd.openeye.oeb":{"source":"iana"},"application/vnd.openofficeorg.extension":{"source":"apache","extensions":["oxt"]},"application/vnd.openstreetmap.data+xml":{"source":"iana","compressible":true,"extensions":["osm"]},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawing+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{"source":"iana","compressible":false,"extensions":["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slide":{"source":"iana","extensions":["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{"source":"iana","extensions":["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.template":{"source":"iana","extensions":["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"source":"iana","compressible":false,"extensions":["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{"source":"iana","extensions":["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.theme+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.vmldrawing":{"source":"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{"source":"iana","compressible":false,"extensions":["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{"source":"iana","extensions":["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.core-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.relationships+xml":{"source":"iana","compressible":true},"application/vnd.oracle.resource+json":{"source":"iana","compressible":true},"application/vnd.orange.indata":{"source":"iana"},"application/vnd.osa.netdeploy":{"source":"iana"},"application/vnd.osgeo.mapguide.package":{"source":"iana","extensions":["mgp"]},"application/vnd.osgi.bundle":{"source":"iana"},"application/vnd.osgi.dp":{"source":"iana","extensions":["dp"]},"application/vnd.osgi.subsystem":{"source":"iana","extensions":["esa"]},"application/vnd.otps.ct-kip+xml":{"source":"iana","compressible":true},"application/vnd.oxli.countgraph":{"source":"iana"},"application/vnd.pagerduty+json":{"source":"iana","compressible":true},"application/vnd.palm":{"source":"iana","extensions":["pdb","pqa","oprc"]},"application/vnd.panoply":{"source":"iana"},"application/vnd.paos.xml":{"source":"iana"},"application/vnd.patentdive":{"source":"iana"},"application/vnd.patientecommsdoc":{"source":"iana"},"application/vnd.pawaafile":{"source":"iana","extensions":["paw"]},"application/vnd.pcos":{"source":"iana"},"application/vnd.pg.format":{"source":"iana","extensions":["str"]},"application/vnd.pg.osasli":{"source":"iana","extensions":["ei6"]},"application/vnd.piaccess.application-licence":{"source":"iana"},"application/vnd.picsel":{"source":"iana","extensions":["efif"]},"application/vnd.pmi.widget":{"source":"iana","extensions":["wg"]},"application/vnd.poc.group-advertisement+xml":{"source":"iana","compressible":true},"application/vnd.pocketlearn":{"source":"iana","extensions":["plf"]},"application/vnd.powerbuilder6":{"source":"iana","extensions":["pbd"]},"application/vnd.powerbuilder6-s":{"source":"iana"},"application/vnd.powerbuilder7":{"source":"iana"},"application/vnd.powerbuilder7-s":{"source":"iana"},"application/vnd.powerbuilder75":{"source":"iana"},"application/vnd.powerbuilder75-s":{"source":"iana"},"application/vnd.preminet":{"source":"iana"},"application/vnd.previewsystems.box":{"source":"iana","extensions":["box"]},"application/vnd.proteus.magazine":{"source":"iana","extensions":["mgz"]},"application/vnd.psfs":{"source":"iana"},"application/vnd.publishare-delta-tree":{"source":"iana","extensions":["qps"]},"application/vnd.pvi.ptid1":{"source":"iana","extensions":["ptid"]},"application/vnd.pwg-multiplexed":{"source":"iana"},"application/vnd.pwg-xhtml-print+xml":{"source":"iana","compressible":true},"application/vnd.qualcomm.brew-app-res":{"source":"iana"},"application/vnd.quarantainenet":{"source":"iana"},"application/vnd.quark.quarkxpress":{"source":"iana","extensions":["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{"source":"iana"},"application/vnd.radisys.moml+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-conf+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-conn+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-dialog+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-stream+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-conf+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-base+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-fax-detect+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-group+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-speech+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-transform+xml":{"source":"iana","compressible":true},"application/vnd.rainstor.data":{"source":"iana"},"application/vnd.rapid":{"source":"iana"},"application/vnd.rar":{"source":"iana","extensions":["rar"]},"application/vnd.realvnc.bed":{"source":"iana","extensions":["bed"]},"application/vnd.recordare.musicxml":{"source":"iana","extensions":["mxl"]},"application/vnd.recordare.musicxml+xml":{"source":"iana","compressible":true,"extensions":["musicxml"]},"application/vnd.renlearn.rlprint":{"source":"iana"},"application/vnd.restful+json":{"source":"iana","compressible":true},"application/vnd.rig.cryptonote":{"source":"iana","extensions":["cryptonote"]},"application/vnd.rim.cod":{"source":"apache","extensions":["cod"]},"application/vnd.rn-realmedia":{"source":"apache","extensions":["rm"]},"application/vnd.rn-realmedia-vbr":{"source":"apache","extensions":["rmvb"]},"application/vnd.route66.link66+xml":{"source":"iana","compressible":true,"extensions":["link66"]},"application/vnd.rs-274x":{"source":"iana"},"application/vnd.ruckus.download":{"source":"iana"},"application/vnd.s3sms":{"source":"iana"},"application/vnd.sailingtracker.track":{"source":"iana","extensions":["st"]},"application/vnd.sar":{"source":"iana"},"application/vnd.sbm.cid":{"source":"iana"},"application/vnd.sbm.mid2":{"source":"iana"},"application/vnd.scribus":{"source":"iana"},"application/vnd.sealed.3df":{"source":"iana"},"application/vnd.sealed.csf":{"source":"iana"},"application/vnd.sealed.doc":{"source":"iana"},"application/vnd.sealed.eml":{"source":"iana"},"application/vnd.sealed.mht":{"source":"iana"},"application/vnd.sealed.net":{"source":"iana"},"application/vnd.sealed.ppt":{"source":"iana"},"application/vnd.sealed.tiff":{"source":"iana"},"application/vnd.sealed.xls":{"source":"iana"},"application/vnd.sealedmedia.softseal.html":{"source":"iana"},"application/vnd.sealedmedia.softseal.pdf":{"source":"iana"},"application/vnd.seemail":{"source":"iana","extensions":["see"]},"application/vnd.seis+json":{"source":"iana","compressible":true},"application/vnd.sema":{"source":"iana","extensions":["sema"]},"application/vnd.semd":{"source":"iana","extensions":["semd"]},"application/vnd.semf":{"source":"iana","extensions":["semf"]},"application/vnd.shade-save-file":{"source":"iana"},"application/vnd.shana.informed.formdata":{"source":"iana","extensions":["ifm"]},"application/vnd.shana.informed.formtemplate":{"source":"iana","extensions":["itp"]},"application/vnd.shana.informed.interchange":{"source":"iana","extensions":["iif"]},"application/vnd.shana.informed.package":{"source":"iana","extensions":["ipk"]},"application/vnd.shootproof+json":{"source":"iana","compressible":true},"application/vnd.shopkick+json":{"source":"iana","compressible":true},"application/vnd.shp":{"source":"iana"},"application/vnd.shx":{"source":"iana"},"application/vnd.sigrok.session":{"source":"iana"},"application/vnd.simtech-mindmapper":{"source":"iana","extensions":["twd","twds"]},"application/vnd.siren+json":{"source":"iana","compressible":true},"application/vnd.smaf":{"source":"iana","extensions":["mmf"]},"application/vnd.smart.notebook":{"source":"iana"},"application/vnd.smart.teacher":{"source":"iana","extensions":["teacher"]},"application/vnd.snesdev-page-table":{"source":"iana"},"application/vnd.software602.filler.form+xml":{"source":"iana","compressible":true,"extensions":["fo"]},"application/vnd.software602.filler.form-xml-zip":{"source":"iana"},"application/vnd.solent.sdkm+xml":{"source":"iana","compressible":true,"extensions":["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{"source":"iana","extensions":["dxp"]},"application/vnd.spotfire.sfs":{"source":"iana","extensions":["sfs"]},"application/vnd.sqlite3":{"source":"iana"},"application/vnd.sss-cod":{"source":"iana"},"application/vnd.sss-dtf":{"source":"iana"},"application/vnd.sss-ntf":{"source":"iana"},"application/vnd.stardivision.calc":{"source":"apache","extensions":["sdc"]},"application/vnd.stardivision.draw":{"source":"apache","extensions":["sda"]},"application/vnd.stardivision.impress":{"source":"apache","extensions":["sdd"]},"application/vnd.stardivision.math":{"source":"apache","extensions":["smf"]},"application/vnd.stardivision.writer":{"source":"apache","extensions":["sdw","vor"]},"application/vnd.stardivision.writer-global":{"source":"apache","extensions":["sgl"]},"application/vnd.stepmania.package":{"source":"iana","extensions":["smzip"]},"application/vnd.stepmania.stepchart":{"source":"iana","extensions":["sm"]},"application/vnd.street-stream":{"source":"iana"},"application/vnd.sun.wadl+xml":{"source":"iana","compressible":true,"extensions":["wadl"]},"application/vnd.sun.xml.calc":{"source":"apache","extensions":["sxc"]},"application/vnd.sun.xml.calc.template":{"source":"apache","extensions":["stc"]},"application/vnd.sun.xml.draw":{"source":"apache","extensions":["sxd"]},"application/vnd.sun.xml.draw.template":{"source":"apache","extensions":["std"]},"application/vnd.sun.xml.impress":{"source":"apache","extensions":["sxi"]},"application/vnd.sun.xml.impress.template":{"source":"apache","extensions":["sti"]},"application/vnd.sun.xml.math":{"source":"apache","extensions":["sxm"]},"application/vnd.sun.xml.writer":{"source":"apache","extensions":["sxw"]},"application/vnd.sun.xml.writer.global":{"source":"apache","extensions":["sxg"]},"application/vnd.sun.xml.writer.template":{"source":"apache","extensions":["stw"]},"application/vnd.sus-calendar":{"source":"iana","extensions":["sus","susp"]},"application/vnd.svd":{"source":"iana","extensions":["svd"]},"application/vnd.swiftview-ics":{"source":"iana"},"application/vnd.sycle+xml":{"source":"iana","compressible":true},"application/vnd.symbian.install":{"source":"apache","extensions":["sis","sisx"]},"application/vnd.syncml+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["xsm"]},"application/vnd.syncml.dm+wbxml":{"source":"iana","charset":"UTF-8","extensions":["bdm"]},"application/vnd.syncml.dm+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["xdm"]},"application/vnd.syncml.dm.notification":{"source":"iana"},"application/vnd.syncml.dmddf+wbxml":{"source":"iana"},"application/vnd.syncml.dmddf+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{"source":"iana"},"application/vnd.syncml.dmtnds+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.syncml.ds.notification":{"source":"iana"},"application/vnd.tableschema+json":{"source":"iana","compressible":true},"application/vnd.tao.intent-module-archive":{"source":"iana","extensions":["tao"]},"application/vnd.tcpdump.pcap":{"source":"iana","extensions":["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{"source":"iana","compressible":true},"application/vnd.tmd.mediaflex.api+xml":{"source":"iana","compressible":true},"application/vnd.tml":{"source":"iana"},"application/vnd.tmobile-livetv":{"source":"iana","extensions":["tmo"]},"application/vnd.tri.onesource":{"source":"iana"},"application/vnd.trid.tpt":{"source":"iana","extensions":["tpt"]},"application/vnd.triscape.mxs":{"source":"iana","extensions":["mxs"]},"application/vnd.trueapp":{"source":"iana","extensions":["tra"]},"application/vnd.truedoc":{"source":"iana"},"application/vnd.ubisoft.webplayer":{"source":"iana"},"application/vnd.ufdl":{"source":"iana","extensions":["ufd","ufdl"]},"application/vnd.uiq.theme":{"source":"iana","extensions":["utz"]},"application/vnd.umajin":{"source":"iana","extensions":["umj"]},"application/vnd.unity":{"source":"iana","extensions":["unityweb"]},"application/vnd.uoml+xml":{"source":"iana","compressible":true,"extensions":["uoml"]},"application/vnd.uplanet.alert":{"source":"iana"},"application/vnd.uplanet.alert-wbxml":{"source":"iana"},"application/vnd.uplanet.bearer-choice":{"source":"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{"source":"iana"},"application/vnd.uplanet.cacheop":{"source":"iana"},"application/vnd.uplanet.cacheop-wbxml":{"source":"iana"},"application/vnd.uplanet.channel":{"source":"iana"},"application/vnd.uplanet.channel-wbxml":{"source":"iana"},"application/vnd.uplanet.list":{"source":"iana"},"application/vnd.uplanet.list-wbxml":{"source":"iana"},"application/vnd.uplanet.listcmd":{"source":"iana"},"application/vnd.uplanet.listcmd-wbxml":{"source":"iana"},"application/vnd.uplanet.signal":{"source":"iana"},"application/vnd.uri-map":{"source":"iana"},"application/vnd.valve.source.material":{"source":"iana"},"application/vnd.vcx":{"source":"iana","extensions":["vcx"]},"application/vnd.vd-study":{"source":"iana"},"application/vnd.vectorworks":{"source":"iana"},"application/vnd.vel+json":{"source":"iana","compressible":true},"application/vnd.verimatrix.vcas":{"source":"iana"},"application/vnd.veryant.thin":{"source":"iana"},"application/vnd.ves.encrypted":{"source":"iana"},"application/vnd.vidsoft.vidconference":{"source":"iana"},"application/vnd.visio":{"source":"iana","extensions":["vsd","vst","vss","vsw"]},"application/vnd.visionary":{"source":"iana","extensions":["vis"]},"application/vnd.vividence.scriptfile":{"source":"iana"},"application/vnd.vsf":{"source":"iana","extensions":["vsf"]},"application/vnd.wap.sic":{"source":"iana"},"application/vnd.wap.slc":{"source":"iana"},"application/vnd.wap.wbxml":{"source":"iana","charset":"UTF-8","extensions":["wbxml"]},"application/vnd.wap.wmlc":{"source":"iana","extensions":["wmlc"]},"application/vnd.wap.wmlscriptc":{"source":"iana","extensions":["wmlsc"]},"application/vnd.webturbo":{"source":"iana","extensions":["wtb"]},"application/vnd.wfa.dpp":{"source":"iana"},"application/vnd.wfa.p2p":{"source":"iana"},"application/vnd.wfa.wsc":{"source":"iana"},"application/vnd.windows.devicepairing":{"source":"iana"},"application/vnd.wmc":{"source":"iana"},"application/vnd.wmf.bootstrap":{"source":"iana"},"application/vnd.wolfram.mathematica":{"source":"iana"},"application/vnd.wolfram.mathematica.package":{"source":"iana"},"application/vnd.wolfram.player":{"source":"iana","extensions":["nbp"]},"application/vnd.wordperfect":{"source":"iana","extensions":["wpd"]},"application/vnd.wqd":{"source":"iana","extensions":["wqd"]},"application/vnd.wrq-hp3000-labelled":{"source":"iana"},"application/vnd.wt.stf":{"source":"iana","extensions":["stf"]},"application/vnd.wv.csp+wbxml":{"source":"iana"},"application/vnd.wv.csp+xml":{"source":"iana","compressible":true},"application/vnd.wv.ssp+xml":{"source":"iana","compressible":true},"application/vnd.xacml+json":{"source":"iana","compressible":true},"application/vnd.xara":{"source":"iana","extensions":["xar"]},"application/vnd.xfdl":{"source":"iana","extensions":["xfdl"]},"application/vnd.xfdl.webform":{"source":"iana"},"application/vnd.xmi+xml":{"source":"iana","compressible":true},"application/vnd.xmpie.cpkg":{"source":"iana"},"application/vnd.xmpie.dpkg":{"source":"iana"},"application/vnd.xmpie.plan":{"source":"iana"},"application/vnd.xmpie.ppkg":{"source":"iana"},"application/vnd.xmpie.xlim":{"source":"iana"},"application/vnd.yamaha.hv-dic":{"source":"iana","extensions":["hvd"]},"application/vnd.yamaha.hv-script":{"source":"iana","extensions":["hvs"]},"application/vnd.yamaha.hv-voice":{"source":"iana","extensions":["hvp"]},"application/vnd.yamaha.openscoreformat":{"source":"iana","extensions":["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{"source":"iana","compressible":true,"extensions":["osfpvg"]},"application/vnd.yamaha.remote-setup":{"source":"iana"},"application/vnd.yamaha.smaf-audio":{"source":"iana","extensions":["saf"]},"application/vnd.yamaha.smaf-phrase":{"source":"iana","extensions":["spf"]},"application/vnd.yamaha.through-ngn":{"source":"iana"},"application/vnd.yamaha.tunnel-udpencap":{"source":"iana"},"application/vnd.yaoweme":{"source":"iana"},"application/vnd.yellowriver-custom-menu":{"source":"iana","extensions":["cmp"]},"application/vnd.youtube.yt":{"source":"iana"},"application/vnd.zul":{"source":"iana","extensions":["zir","zirz"]},"application/vnd.zzazz.deck+xml":{"source":"iana","compressible":true,"extensions":["zaz"]},"application/voicexml+xml":{"source":"iana","compressible":true,"extensions":["vxml"]},"application/voucher-cms+json":{"source":"iana","compressible":true},"application/vq-rtcpxr":{"source":"iana"},"application/wasm":{"compressible":true,"extensions":["wasm"]},"application/watcherinfo+xml":{"source":"iana","compressible":true},"application/webpush-options+json":{"source":"iana","compressible":true},"application/whoispp-query":{"source":"iana"},"application/whoispp-response":{"source":"iana"},"application/widget":{"source":"iana","extensions":["wgt"]},"application/winhlp":{"source":"apache","extensions":["hlp"]},"application/wita":{"source":"iana"},"application/wordperfect5.1":{"source":"iana"},"application/wsdl+xml":{"source":"iana","compressible":true,"extensions":["wsdl"]},"application/wspolicy+xml":{"source":"iana","compressible":true,"extensions":["wspolicy"]},"application/x-7z-compressed":{"source":"apache","compressible":false,"extensions":["7z"]},"application/x-abiword":{"source":"apache","extensions":["abw"]},"application/x-ace-compressed":{"source":"apache","extensions":["ace"]},"application/x-amf":{"source":"apache"},"application/x-apple-diskimage":{"source":"apache","extensions":["dmg"]},"application/x-arj":{"compressible":false,"extensions":["arj"]},"application/x-authorware-bin":{"source":"apache","extensions":["aab","x32","u32","vox"]},"application/x-authorware-map":{"source":"apache","extensions":["aam"]},"application/x-authorware-seg":{"source":"apache","extensions":["aas"]},"application/x-bcpio":{"source":"apache","extensions":["bcpio"]},"application/x-bdoc":{"compressible":false,"extensions":["bdoc"]},"application/x-bittorrent":{"source":"apache","extensions":["torrent"]},"application/x-blorb":{"source":"apache","extensions":["blb","blorb"]},"application/x-bzip":{"source":"apache","compressible":false,"extensions":["bz"]},"application/x-bzip2":{"source":"apache","compressible":false,"extensions":["bz2","boz"]},"application/x-cbr":{"source":"apache","extensions":["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{"source":"apache","extensions":["vcd"]},"application/x-cfs-compressed":{"source":"apache","extensions":["cfs"]},"application/x-chat":{"source":"apache","extensions":["chat"]},"application/x-chess-pgn":{"source":"apache","extensions":["pgn"]},"application/x-chrome-extension":{"extensions":["crx"]},"application/x-cocoa":{"source":"nginx","extensions":["cco"]},"application/x-compress":{"source":"apache"},"application/x-conference":{"source":"apache","extensions":["nsc"]},"application/x-cpio":{"source":"apache","extensions":["cpio"]},"application/x-csh":{"source":"apache","extensions":["csh"]},"application/x-deb":{"compressible":false},"application/x-debian-package":{"source":"apache","extensions":["deb","udeb"]},"application/x-dgc-compressed":{"source":"apache","extensions":["dgc"]},"application/x-director":{"source":"apache","extensions":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{"source":"apache","extensions":["wad"]},"application/x-dtbncx+xml":{"source":"apache","compressible":true,"extensions":["ncx"]},"application/x-dtbook+xml":{"source":"apache","compressible":true,"extensions":["dtb"]},"application/x-dtbresource+xml":{"source":"apache","compressible":true,"extensions":["res"]},"application/x-dvi":{"source":"apache","compressible":false,"extensions":["dvi"]},"application/x-envoy":{"source":"apache","extensions":["evy"]},"application/x-eva":{"source":"apache","extensions":["eva"]},"application/x-font-bdf":{"source":"apache","extensions":["bdf"]},"application/x-font-dos":{"source":"apache"},"application/x-font-framemaker":{"source":"apache"},"application/x-font-ghostscript":{"source":"apache","extensions":["gsf"]},"application/x-font-libgrx":{"source":"apache"},"application/x-font-linux-psf":{"source":"apache","extensions":["psf"]},"application/x-font-pcf":{"source":"apache","extensions":["pcf"]},"application/x-font-snf":{"source":"apache","extensions":["snf"]},"application/x-font-speedo":{"source":"apache"},"application/x-font-sunos-news":{"source":"apache"},"application/x-font-type1":{"source":"apache","extensions":["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{"source":"apache"},"application/x-freearc":{"source":"apache","extensions":["arc"]},"application/x-futuresplash":{"source":"apache","extensions":["spl"]},"application/x-gca-compressed":{"source":"apache","extensions":["gca"]},"application/x-glulx":{"source":"apache","extensions":["ulx"]},"application/x-gnumeric":{"source":"apache","extensions":["gnumeric"]},"application/x-gramps-xml":{"source":"apache","extensions":["gramps"]},"application/x-gtar":{"source":"apache","extensions":["gtar"]},"application/x-gzip":{"source":"apache"},"application/x-hdf":{"source":"apache","extensions":["hdf"]},"application/x-httpd-php":{"compressible":true,"extensions":["php"]},"application/x-install-instructions":{"source":"apache","extensions":["install"]},"application/x-iso9660-image":{"source":"apache","extensions":["iso"]},"application/x-java-archive-diff":{"source":"nginx","extensions":["jardiff"]},"application/x-java-jnlp-file":{"source":"apache","compressible":false,"extensions":["jnlp"]},"application/x-javascript":{"compressible":true},"application/x-keepass2":{"extensions":["kdbx"]},"application/x-latex":{"source":"apache","compressible":false,"extensions":["latex"]},"application/x-lua-bytecode":{"extensions":["luac"]},"application/x-lzh-compressed":{"source":"apache","extensions":["lzh","lha"]},"application/x-makeself":{"source":"nginx","extensions":["run"]},"application/x-mie":{"source":"apache","extensions":["mie"]},"application/x-mobipocket-ebook":{"source":"apache","extensions":["prc","mobi"]},"application/x-mpegurl":{"compressible":false},"application/x-ms-application":{"source":"apache","extensions":["application"]},"application/x-ms-shortcut":{"source":"apache","extensions":["lnk"]},"application/x-ms-wmd":{"source":"apache","extensions":["wmd"]},"application/x-ms-wmz":{"source":"apache","extensions":["wmz"]},"application/x-ms-xbap":{"source":"apache","extensions":["xbap"]},"application/x-msaccess":{"source":"apache","extensions":["mdb"]},"application/x-msbinder":{"source":"apache","extensions":["obd"]},"application/x-mscardfile":{"source":"apache","extensions":["crd"]},"application/x-msclip":{"source":"apache","extensions":["clp"]},"application/x-msdos-program":{"extensions":["exe"]},"application/x-msdownload":{"source":"apache","extensions":["exe","dll","com","bat","msi"]},"application/x-msmediaview":{"source":"apache","extensions":["mvb","m13","m14"]},"application/x-msmetafile":{"source":"apache","extensions":["wmf","wmz","emf","emz"]},"application/x-msmoney":{"source":"apache","extensions":["mny"]},"application/x-mspublisher":{"source":"apache","extensions":["pub"]},"application/x-msschedule":{"source":"apache","extensions":["scd"]},"application/x-msterminal":{"source":"apache","extensions":["trm"]},"application/x-mswrite":{"source":"apache","extensions":["wri"]},"application/x-netcdf":{"source":"apache","extensions":["nc","cdf"]},"application/x-ns-proxy-autoconfig":{"compressible":true,"extensions":["pac"]},"application/x-nzb":{"source":"apache","extensions":["nzb"]},"application/x-perl":{"source":"nginx","extensions":["pl","pm"]},"application/x-pilot":{"source":"nginx","extensions":["prc","pdb"]},"application/x-pkcs12":{"source":"apache","compressible":false,"extensions":["p12","pfx"]},"application/x-pkcs7-certificates":{"source":"apache","extensions":["p7b","spc"]},"application/x-pkcs7-certreqresp":{"source":"apache","extensions":["p7r"]},"application/x-pki-message":{"source":"iana"},"application/x-rar-compressed":{"source":"apache","compressible":false,"extensions":["rar"]},"application/x-redhat-package-manager":{"source":"nginx","extensions":["rpm"]},"application/x-research-info-systems":{"source":"apache","extensions":["ris"]},"application/x-sea":{"source":"nginx","extensions":["sea"]},"application/x-sh":{"source":"apache","compressible":true,"extensions":["sh"]},"application/x-shar":{"source":"apache","extensions":["shar"]},"application/x-shockwave-flash":{"source":"apache","compressible":false,"extensions":["swf"]},"application/x-silverlight-app":{"source":"apache","extensions":["xap"]},"application/x-sql":{"source":"apache","extensions":["sql"]},"application/x-stuffit":{"source":"apache","compressible":false,"extensions":["sit"]},"application/x-stuffitx":{"source":"apache","extensions":["sitx"]},"application/x-subrip":{"source":"apache","extensions":["srt"]},"application/x-sv4cpio":{"source":"apache","extensions":["sv4cpio"]},"application/x-sv4crc":{"source":"apache","extensions":["sv4crc"]},"application/x-t3vm-image":{"source":"apache","extensions":["t3"]},"application/x-tads":{"source":"apache","extensions":["gam"]},"application/x-tar":{"source":"apache","compressible":true,"extensions":["tar"]},"application/x-tcl":{"source":"apache","extensions":["tcl","tk"]},"application/x-tex":{"source":"apache","extensions":["tex"]},"application/x-tex-tfm":{"source":"apache","extensions":["tfm"]},"application/x-texinfo":{"source":"apache","extensions":["texinfo","texi"]},"application/x-tgif":{"source":"apache","extensions":["obj"]},"application/x-ustar":{"source":"apache","extensions":["ustar"]},"application/x-virtualbox-hdd":{"compressible":true,"extensions":["hdd"]},"application/x-virtualbox-ova":{"compressible":true,"extensions":["ova"]},"application/x-virtualbox-ovf":{"compressible":true,"extensions":["ovf"]},"application/x-virtualbox-vbox":{"compressible":true,"extensions":["vbox"]},"application/x-virtualbox-vbox-extpack":{"compressible":false,"extensions":["vbox-extpack"]},"application/x-virtualbox-vdi":{"compressible":true,"extensions":["vdi"]},"application/x-virtualbox-vhd":{"compressible":true,"extensions":["vhd"]},"application/x-virtualbox-vmdk":{"compressible":true,"extensions":["vmdk"]},"application/x-wais-source":{"source":"apache","extensions":["src"]},"application/x-web-app-manifest+json":{"compressible":true,"extensions":["webapp"]},"application/x-www-form-urlencoded":{"source":"iana","compressible":true},"application/x-x509-ca-cert":{"source":"iana","extensions":["der","crt","pem"]},"application/x-x509-ca-ra-cert":{"source":"iana"},"application/x-x509-next-ca-cert":{"source":"iana"},"application/x-xfig":{"source":"apache","extensions":["fig"]},"application/x-xliff+xml":{"source":"apache","compressible":true,"extensions":["xlf"]},"application/x-xpinstall":{"source":"apache","compressible":false,"extensions":["xpi"]},"application/x-xz":{"source":"apache","extensions":["xz"]},"application/x-zmachine":{"source":"apache","extensions":["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{"source":"iana"},"application/xacml+xml":{"source":"iana","compressible":true},"application/xaml+xml":{"source":"apache","compressible":true,"extensions":["xaml"]},"application/xcap-att+xml":{"source":"iana","compressible":true,"extensions":["xav"]},"application/xcap-caps+xml":{"source":"iana","compressible":true,"extensions":["xca"]},"application/xcap-diff+xml":{"source":"iana","compressible":true,"extensions":["xdf"]},"application/xcap-el+xml":{"source":"iana","compressible":true,"extensions":["xel"]},"application/xcap-error+xml":{"source":"iana","compressible":true},"application/xcap-ns+xml":{"source":"iana","compressible":true,"extensions":["xns"]},"application/xcon-conference-info+xml":{"source":"iana","compressible":true},"application/xcon-conference-info-diff+xml":{"source":"iana","compressible":true},"application/xenc+xml":{"source":"iana","compressible":true,"extensions":["xenc"]},"application/xhtml+xml":{"source":"iana","compressible":true,"extensions":["xhtml","xht"]},"application/xhtml-voice+xml":{"source":"apache","compressible":true},"application/xliff+xml":{"source":"iana","compressible":true,"extensions":["xlf"]},"application/xml":{"source":"iana","compressible":true,"extensions":["xml","xsl","xsd","rng"]},"application/xml-dtd":{"source":"iana","compressible":true,"extensions":["dtd"]},"application/xml-external-parsed-entity":{"source":"iana"},"application/xml-patch+xml":{"source":"iana","compressible":true},"application/xmpp+xml":{"source":"iana","compressible":true},"application/xop+xml":{"source":"iana","compressible":true,"extensions":["xop"]},"application/xproc+xml":{"source":"apache","compressible":true,"extensions":["xpl"]},"application/xslt+xml":{"source":"iana","compressible":true,"extensions":["xsl","xslt"]},"application/xspf+xml":{"source":"apache","compressible":true,"extensions":["xspf"]},"application/xv+xml":{"source":"iana","compressible":true,"extensions":["mxml","xhvml","xvml","xvm"]},"application/yang":{"source":"iana","extensions":["yang"]},"application/yang-data+json":{"source":"iana","compressible":true},"application/yang-data+xml":{"source":"iana","compressible":true},"application/yang-patch+json":{"source":"iana","compressible":true},"application/yang-patch+xml":{"source":"iana","compressible":true},"application/yin+xml":{"source":"iana","compressible":true,"extensions":["yin"]},"application/zip":{"source":"iana","compressible":false,"extensions":["zip"]},"application/zlib":{"source":"iana"},"application/zstd":{"source":"iana"},"audio/1d-interleaved-parityfec":{"source":"iana"},"audio/32kadpcm":{"source":"iana"},"audio/3gpp":{"source":"iana","compressible":false,"extensions":["3gpp"]},"audio/3gpp2":{"source":"iana"},"audio/aac":{"source":"iana"},"audio/ac3":{"source":"iana"},"audio/adpcm":{"source":"apache","extensions":["adp"]},"audio/amr":{"source":"iana","extensions":["amr"]},"audio/amr-wb":{"source":"iana"},"audio/amr-wb+":{"source":"iana"},"audio/aptx":{"source":"iana"},"audio/asc":{"source":"iana"},"audio/atrac-advanced-lossless":{"source":"iana"},"audio/atrac-x":{"source":"iana"},"audio/atrac3":{"source":"iana"},"audio/basic":{"source":"iana","compressible":false,"extensions":["au","snd"]},"audio/bv16":{"source":"iana"},"audio/bv32":{"source":"iana"},"audio/clearmode":{"source":"iana"},"audio/cn":{"source":"iana"},"audio/dat12":{"source":"iana"},"audio/dls":{"source":"iana"},"audio/dsr-es201108":{"source":"iana"},"audio/dsr-es202050":{"source":"iana"},"audio/dsr-es202211":{"source":"iana"},"audio/dsr-es202212":{"source":"iana"},"audio/dv":{"source":"iana"},"audio/dvi4":{"source":"iana"},"audio/eac3":{"source":"iana"},"audio/encaprtp":{"source":"iana"},"audio/evrc":{"source":"iana"},"audio/evrc-qcp":{"source":"iana"},"audio/evrc0":{"source":"iana"},"audio/evrc1":{"source":"iana"},"audio/evrcb":{"source":"iana"},"audio/evrcb0":{"source":"iana"},"audio/evrcb1":{"source":"iana"},"audio/evrcnw":{"source":"iana"},"audio/evrcnw0":{"source":"iana"},"audio/evrcnw1":{"source":"iana"},"audio/evrcwb":{"source":"iana"},"audio/evrcwb0":{"source":"iana"},"audio/evrcwb1":{"source":"iana"},"audio/evs":{"source":"iana"},"audio/flexfec":{"source":"iana"},"audio/fwdred":{"source":"iana"},"audio/g711-0":{"source":"iana"},"audio/g719":{"source":"iana"},"audio/g722":{"source":"iana"},"audio/g7221":{"source":"iana"},"audio/g723":{"source":"iana"},"audio/g726-16":{"source":"iana"},"audio/g726-24":{"source":"iana"},"audio/g726-32":{"source":"iana"},"audio/g726-40":{"source":"iana"},"audio/g728":{"source":"iana"},"audio/g729":{"source":"iana"},"audio/g7291":{"source":"iana"},"audio/g729d":{"source":"iana"},"audio/g729e":{"source":"iana"},"audio/gsm":{"source":"iana"},"audio/gsm-efr":{"source":"iana"},"audio/gsm-hr-08":{"source":"iana"},"audio/ilbc":{"source":"iana"},"audio/ip-mr_v2.5":{"source":"iana"},"audio/isac":{"source":"apache"},"audio/l16":{"source":"iana"},"audio/l20":{"source":"iana"},"audio/l24":{"source":"iana","compressible":false},"audio/l8":{"source":"iana"},"audio/lpc":{"source":"iana"},"audio/melp":{"source":"iana"},"audio/melp1200":{"source":"iana"},"audio/melp2400":{"source":"iana"},"audio/melp600":{"source":"iana"},"audio/mhas":{"source":"iana"},"audio/midi":{"source":"apache","extensions":["mid","midi","kar","rmi"]},"audio/mobile-xmf":{"source":"iana","extensions":["mxmf"]},"audio/mp3":{"compressible":false,"extensions":["mp3"]},"audio/mp4":{"source":"iana","compressible":false,"extensions":["m4a","mp4a"]},"audio/mp4a-latm":{"source":"iana"},"audio/mpa":{"source":"iana"},"audio/mpa-robust":{"source":"iana"},"audio/mpeg":{"source":"iana","compressible":false,"extensions":["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{"source":"iana"},"audio/musepack":{"source":"apache"},"audio/ogg":{"source":"iana","compressible":false,"extensions":["oga","ogg","spx","opus"]},"audio/opus":{"source":"iana"},"audio/parityfec":{"source":"iana"},"audio/pcma":{"source":"iana"},"audio/pcma-wb":{"source":"iana"},"audio/pcmu":{"source":"iana"},"audio/pcmu-wb":{"source":"iana"},"audio/prs.sid":{"source":"iana"},"audio/qcelp":{"source":"iana"},"audio/raptorfec":{"source":"iana"},"audio/red":{"source":"iana"},"audio/rtp-enc-aescm128":{"source":"iana"},"audio/rtp-midi":{"source":"iana"},"audio/rtploopback":{"source":"iana"},"audio/rtx":{"source":"iana"},"audio/s3m":{"source":"apache","extensions":["s3m"]},"audio/scip":{"source":"iana"},"audio/silk":{"source":"apache","extensions":["sil"]},"audio/smv":{"source":"iana"},"audio/smv-qcp":{"source":"iana"},"audio/smv0":{"source":"iana"},"audio/sofa":{"source":"iana"},"audio/sp-midi":{"source":"iana"},"audio/speex":{"source":"iana"},"audio/t140c":{"source":"iana"},"audio/t38":{"source":"iana"},"audio/telephone-event":{"source":"iana"},"audio/tetra_acelp":{"source":"iana"},"audio/tetra_acelp_bb":{"source":"iana"},"audio/tone":{"source":"iana"},"audio/tsvcis":{"source":"iana"},"audio/uemclip":{"source":"iana"},"audio/ulpfec":{"source":"iana"},"audio/usac":{"source":"iana"},"audio/vdvi":{"source":"iana"},"audio/vmr-wb":{"source":"iana"},"audio/vnd.3gpp.iufp":{"source":"iana"},"audio/vnd.4sb":{"source":"iana"},"audio/vnd.audiokoz":{"source":"iana"},"audio/vnd.celp":{"source":"iana"},"audio/vnd.cisco.nse":{"source":"iana"},"audio/vnd.cmles.radio-events":{"source":"iana"},"audio/vnd.cns.anp1":{"source":"iana"},"audio/vnd.cns.inf1":{"source":"iana"},"audio/vnd.dece.audio":{"source":"iana","extensions":["uva","uvva"]},"audio/vnd.digital-winds":{"source":"iana","extensions":["eol"]},"audio/vnd.dlna.adts":{"source":"iana"},"audio/vnd.dolby.heaac.1":{"source":"iana"},"audio/vnd.dolby.heaac.2":{"source":"iana"},"audio/vnd.dolby.mlp":{"source":"iana"},"audio/vnd.dolby.mps":{"source":"iana"},"audio/vnd.dolby.pl2":{"source":"iana"},"audio/vnd.dolby.pl2x":{"source":"iana"},"audio/vnd.dolby.pl2z":{"source":"iana"},"audio/vnd.dolby.pulse.1":{"source":"iana"},"audio/vnd.dra":{"source":"iana","extensions":["dra"]},"audio/vnd.dts":{"source":"iana","extensions":["dts"]},"audio/vnd.dts.hd":{"source":"iana","extensions":["dtshd"]},"audio/vnd.dts.uhd":{"source":"iana"},"audio/vnd.dvb.file":{"source":"iana"},"audio/vnd.everad.plj":{"source":"iana"},"audio/vnd.hns.audio":{"source":"iana"},"audio/vnd.lucent.voice":{"source":"iana","extensions":["lvp"]},"audio/vnd.ms-playready.media.pya":{"source":"iana","extensions":["pya"]},"audio/vnd.nokia.mobile-xmf":{"source":"iana"},"audio/vnd.nortel.vbk":{"source":"iana"},"audio/vnd.nuera.ecelp4800":{"source":"iana","extensions":["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{"source":"iana","extensions":["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{"source":"iana","extensions":["ecelp9600"]},"audio/vnd.octel.sbc":{"source":"iana"},"audio/vnd.presonus.multitrack":{"source":"iana"},"audio/vnd.qcelp":{"source":"iana"},"audio/vnd.rhetorex.32kadpcm":{"source":"iana"},"audio/vnd.rip":{"source":"iana","extensions":["rip"]},"audio/vnd.rn-realaudio":{"compressible":false},"audio/vnd.sealedmedia.softseal.mpeg":{"source":"iana"},"audio/vnd.vmx.cvsd":{"source":"iana"},"audio/vnd.wave":{"compressible":false},"audio/vorbis":{"source":"iana","compressible":false},"audio/vorbis-config":{"source":"iana"},"audio/wav":{"compressible":false,"extensions":["wav"]},"audio/wave":{"compressible":false,"extensions":["wav"]},"audio/webm":{"source":"apache","compressible":false,"extensions":["weba"]},"audio/x-aac":{"source":"apache","compressible":false,"extensions":["aac"]},"audio/x-aiff":{"source":"apache","extensions":["aif","aiff","aifc"]},"audio/x-caf":{"source":"apache","compressible":false,"extensions":["caf"]},"audio/x-flac":{"source":"apache","extensions":["flac"]},"audio/x-m4a":{"source":"nginx","extensions":["m4a"]},"audio/x-matroska":{"source":"apache","extensions":["mka"]},"audio/x-mpegurl":{"source":"apache","extensions":["m3u"]},"audio/x-ms-wax":{"source":"apache","extensions":["wax"]},"audio/x-ms-wma":{"source":"apache","extensions":["wma"]},"audio/x-pn-realaudio":{"source":"apache","extensions":["ram","ra"]},"audio/x-pn-realaudio-plugin":{"source":"apache","extensions":["rmp"]},"audio/x-realaudio":{"source":"nginx","extensions":["ra"]},"audio/x-tta":{"source":"apache"},"audio/x-wav":{"source":"apache","extensions":["wav"]},"audio/xm":{"source":"apache","extensions":["xm"]},"chemical/x-cdx":{"source":"apache","extensions":["cdx"]},"chemical/x-cif":{"source":"apache","extensions":["cif"]},"chemical/x-cmdf":{"source":"apache","extensions":["cmdf"]},"chemical/x-cml":{"source":"apache","extensions":["cml"]},"chemical/x-csml":{"source":"apache","extensions":["csml"]},"chemical/x-pdb":{"source":"apache"},"chemical/x-xyz":{"source":"apache","extensions":["xyz"]},"font/collection":{"source":"iana","extensions":["ttc"]},"font/otf":{"source":"iana","compressible":true,"extensions":["otf"]},"font/sfnt":{"source":"iana"},"font/ttf":{"source":"iana","compressible":true,"extensions":["ttf"]},"font/woff":{"source":"iana","extensions":["woff"]},"font/woff2":{"source":"iana","extensions":["woff2"]},"image/aces":{"source":"iana","extensions":["exr"]},"image/apng":{"compressible":false,"extensions":["apng"]},"image/avci":{"source":"iana"},"image/avcs":{"source":"iana"},"image/avif":{"source":"iana","compressible":false,"extensions":["avif"]},"image/bmp":{"source":"iana","compressible":true,"extensions":["bmp"]},"image/cgm":{"source":"iana","extensions":["cgm"]},"image/dicom-rle":{"source":"iana","extensions":["drle"]},"image/emf":{"source":"iana","extensions":["emf"]},"image/fits":{"source":"iana","extensions":["fits"]},"image/g3fax":{"source":"iana","extensions":["g3"]},"image/gif":{"source":"iana","compressible":false,"extensions":["gif"]},"image/heic":{"source":"iana","extensions":["heic"]},"image/heic-sequence":{"source":"iana","extensions":["heics"]},"image/heif":{"source":"iana","extensions":["heif"]},"image/heif-sequence":{"source":"iana","extensions":["heifs"]},"image/hej2k":{"source":"iana","extensions":["hej2"]},"image/hsj2":{"source":"iana","extensions":["hsj2"]},"image/ief":{"source":"iana","extensions":["ief"]},"image/jls":{"source":"iana","extensions":["jls"]},"image/jp2":{"source":"iana","compressible":false,"extensions":["jp2","jpg2"]},"image/jpeg":{"source":"iana","compressible":false,"extensions":["jpeg","jpg","jpe"]},"image/jph":{"source":"iana","extensions":["jph"]},"image/jphc":{"source":"iana","extensions":["jhc"]},"image/jpm":{"source":"iana","compressible":false,"extensions":["jpm"]},"image/jpx":{"source":"iana","compressible":false,"extensions":["jpx","jpf"]},"image/jxr":{"source":"iana","extensions":["jxr"]},"image/jxra":{"source":"iana","extensions":["jxra"]},"image/jxrs":{"source":"iana","extensions":["jxrs"]},"image/jxs":{"source":"iana","extensions":["jxs"]},"image/jxsc":{"source":"iana","extensions":["jxsc"]},"image/jxsi":{"source":"iana","extensions":["jxsi"]},"image/jxss":{"source":"iana","extensions":["jxss"]},"image/ktx":{"source":"iana","extensions":["ktx"]},"image/ktx2":{"source":"iana","extensions":["ktx2"]},"image/naplps":{"source":"iana"},"image/pjpeg":{"compressible":false},"image/png":{"source":"iana","compressible":false,"extensions":["png"]},"image/prs.btif":{"source":"iana","extensions":["btif"]},"image/prs.pti":{"source":"iana","extensions":["pti"]},"image/pwg-raster":{"source":"iana"},"image/sgi":{"source":"apache","extensions":["sgi"]},"image/svg+xml":{"source":"iana","compressible":true,"extensions":["svg","svgz"]},"image/t38":{"source":"iana","extensions":["t38"]},"image/tiff":{"source":"iana","compressible":false,"extensions":["tif","tiff"]},"image/tiff-fx":{"source":"iana","extensions":["tfx"]},"image/vnd.adobe.photoshop":{"source":"iana","compressible":true,"extensions":["psd"]},"image/vnd.airzip.accelerator.azv":{"source":"iana","extensions":["azv"]},"image/vnd.cns.inf2":{"source":"iana"},"image/vnd.dece.graphic":{"source":"iana","extensions":["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{"source":"iana","extensions":["djvu","djv"]},"image/vnd.dvb.subtitle":{"source":"iana","extensions":["sub"]},"image/vnd.dwg":{"source":"iana","extensions":["dwg"]},"image/vnd.dxf":{"source":"iana","extensions":["dxf"]},"image/vnd.fastbidsheet":{"source":"iana","extensions":["fbs"]},"image/vnd.fpx":{"source":"iana","extensions":["fpx"]},"image/vnd.fst":{"source":"iana","extensions":["fst"]},"image/vnd.fujixerox.edmics-mmr":{"source":"iana","extensions":["mmr"]},"image/vnd.fujixerox.edmics-rlc":{"source":"iana","extensions":["rlc"]},"image/vnd.globalgraphics.pgb":{"source":"iana"},"image/vnd.microsoft.icon":{"source":"iana","extensions":["ico"]},"image/vnd.mix":{"source":"iana"},"image/vnd.mozilla.apng":{"source":"iana"},"image/vnd.ms-dds":{"extensions":["dds"]},"image/vnd.ms-modi":{"source":"iana","extensions":["mdi"]},"image/vnd.ms-photo":{"source":"apache","extensions":["wdp"]},"image/vnd.net-fpx":{"source":"iana","extensions":["npx"]},"image/vnd.pco.b16":{"source":"iana","extensions":["b16"]},"image/vnd.radiance":{"source":"iana"},"image/vnd.sealed.png":{"source":"iana"},"image/vnd.sealedmedia.softseal.gif":{"source":"iana"},"image/vnd.sealedmedia.softseal.jpg":{"source":"iana"},"image/vnd.svf":{"source":"iana"},"image/vnd.tencent.tap":{"source":"iana","extensions":["tap"]},"image/vnd.valve.source.texture":{"source":"iana","extensions":["vtf"]},"image/vnd.wap.wbmp":{"source":"iana","extensions":["wbmp"]},"image/vnd.xiff":{"source":"iana","extensions":["xif"]},"image/vnd.zbrush.pcx":{"source":"iana","extensions":["pcx"]},"image/webp":{"source":"apache","extensions":["webp"]},"image/wmf":{"source":"iana","extensions":["wmf"]},"image/x-3ds":{"source":"apache","extensions":["3ds"]},"image/x-cmu-raster":{"source":"apache","extensions":["ras"]},"image/x-cmx":{"source":"apache","extensions":["cmx"]},"image/x-freehand":{"source":"apache","extensions":["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{"source":"apache","compressible":true,"extensions":["ico"]},"image/x-jng":{"source":"nginx","extensions":["jng"]},"image/x-mrsid-image":{"source":"apache","extensions":["sid"]},"image/x-ms-bmp":{"source":"nginx","compressible":true,"extensions":["bmp"]},"image/x-pcx":{"source":"apache","extensions":["pcx"]},"image/x-pict":{"source":"apache","extensions":["pic","pct"]},"image/x-portable-anymap":{"source":"apache","extensions":["pnm"]},"image/x-portable-bitmap":{"source":"apache","extensions":["pbm"]},"image/x-portable-graymap":{"source":"apache","extensions":["pgm"]},"image/x-portable-pixmap":{"source":"apache","extensions":["ppm"]},"image/x-rgb":{"source":"apache","extensions":["rgb"]},"image/x-tga":{"source":"apache","extensions":["tga"]},"image/x-xbitmap":{"source":"apache","extensions":["xbm"]},"image/x-xcf":{"compressible":false},"image/x-xpixmap":{"source":"apache","extensions":["xpm"]},"image/x-xwindowdump":{"source":"apache","extensions":["xwd"]},"message/cpim":{"source":"iana"},"message/delivery-status":{"source":"iana"},"message/disposition-notification":{"source":"iana","extensions":["disposition-notification"]},"message/external-body":{"source":"iana"},"message/feedback-report":{"source":"iana"},"message/global":{"source":"iana","extensions":["u8msg"]},"message/global-delivery-status":{"source":"iana","extensions":["u8dsn"]},"message/global-disposition-notification":{"source":"iana","extensions":["u8mdn"]},"message/global-headers":{"source":"iana","extensions":["u8hdr"]},"message/http":{"source":"iana","compressible":false},"message/imdn+xml":{"source":"iana","compressible":true},"message/news":{"source":"iana"},"message/partial":{"source":"iana","compressible":false},"message/rfc822":{"source":"iana","compressible":true,"extensions":["eml","mime"]},"message/s-http":{"source":"iana"},"message/sip":{"source":"iana"},"message/sipfrag":{"source":"iana"},"message/tracking-status":{"source":"iana"},"message/vnd.si.simp":{"source":"iana"},"message/vnd.wfa.wsc":{"source":"iana","extensions":["wsc"]},"model/3mf":{"source":"iana","extensions":["3mf"]},"model/e57":{"source":"iana"},"model/gltf+json":{"source":"iana","compressible":true,"extensions":["gltf"]},"model/gltf-binary":{"source":"iana","compressible":true,"extensions":["glb"]},"model/iges":{"source":"iana","compressible":false,"extensions":["igs","iges"]},"model/mesh":{"source":"iana","compressible":false,"extensions":["msh","mesh","silo"]},"model/mtl":{"source":"iana","extensions":["mtl"]},"model/obj":{"source":"iana","extensions":["obj"]},"model/stl":{"source":"iana","extensions":["stl"]},"model/vnd.collada+xml":{"source":"iana","compressible":true,"extensions":["dae"]},"model/vnd.dwf":{"source":"iana","extensions":["dwf"]},"model/vnd.flatland.3dml":{"source":"iana"},"model/vnd.gdl":{"source":"iana","extensions":["gdl"]},"model/vnd.gs-gdl":{"source":"apache"},"model/vnd.gs.gdl":{"source":"iana"},"model/vnd.gtw":{"source":"iana","extensions":["gtw"]},"model/vnd.moml+xml":{"source":"iana","compressible":true},"model/vnd.mts":{"source":"iana","extensions":["mts"]},"model/vnd.opengex":{"source":"iana","extensions":["ogex"]},"model/vnd.parasolid.transmit.binary":{"source":"iana","extensions":["x_b"]},"model/vnd.parasolid.transmit.text":{"source":"iana","extensions":["x_t"]},"model/vnd.rosette.annotated-data-model":{"source":"iana"},"model/vnd.sap.vds":{"source":"iana","extensions":["vds"]},"model/vnd.usdz+zip":{"source":"iana","compressible":false,"extensions":["usdz"]},"model/vnd.valve.source.compiled-map":{"source":"iana","extensions":["bsp"]},"model/vnd.vtu":{"source":"iana","extensions":["vtu"]},"model/vrml":{"source":"iana","compressible":false,"extensions":["wrl","vrml"]},"model/x3d+binary":{"source":"apache","compressible":false,"extensions":["x3db","x3dbz"]},"model/x3d+fastinfoset":{"source":"iana","extensions":["x3db"]},"model/x3d+vrml":{"source":"apache","compressible":false,"extensions":["x3dv","x3dvz"]},"model/x3d+xml":{"source":"iana","compressible":true,"extensions":["x3d","x3dz"]},"model/x3d-vrml":{"source":"iana","extensions":["x3dv"]},"multipart/alternative":{"source":"iana","compressible":false},"multipart/appledouble":{"source":"iana"},"multipart/byteranges":{"source":"iana"},"multipart/digest":{"source":"iana"},"multipart/encrypted":{"source":"iana","compressible":false},"multipart/form-data":{"source":"iana","compressible":false},"multipart/header-set":{"source":"iana"},"multipart/mixed":{"source":"iana"},"multipart/multilingual":{"source":"iana"},"multipart/parallel":{"source":"iana"},"multipart/related":{"source":"iana","compressible":false},"multipart/report":{"source":"iana"},"multipart/signed":{"source":"iana","compressible":false},"multipart/vnd.bint.med-plus":{"source":"iana"},"multipart/voice-message":{"source":"iana"},"multipart/x-mixed-replace":{"source":"iana"},"text/1d-interleaved-parityfec":{"source":"iana"},"text/cache-manifest":{"source":"iana","compressible":true,"extensions":["appcache","manifest"]},"text/calendar":{"source":"iana","extensions":["ics","ifb"]},"text/calender":{"compressible":true},"text/cmd":{"compressible":true},"text/coffeescript":{"extensions":["coffee","litcoffee"]},"text/cql":{"source":"iana"},"text/cql-expression":{"source":"iana"},"text/cql-identifier":{"source":"iana"},"text/css":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["css"]},"text/csv":{"source":"iana","compressible":true,"extensions":["csv"]},"text/csv-schema":{"source":"iana"},"text/directory":{"source":"iana"},"text/dns":{"source":"iana"},"text/ecmascript":{"source":"iana"},"text/encaprtp":{"source":"iana"},"text/enriched":{"source":"iana"},"text/fhirpath":{"source":"iana"},"text/flexfec":{"source":"iana"},"text/fwdred":{"source":"iana"},"text/gff3":{"source":"iana"},"text/grammar-ref-list":{"source":"iana"},"text/html":{"source":"iana","compressible":true,"extensions":["html","htm","shtml"]},"text/jade":{"extensions":["jade"]},"text/javascript":{"source":"iana","compressible":true},"text/jcr-cnd":{"source":"iana"},"text/jsx":{"compressible":true,"extensions":["jsx"]},"text/less":{"compressible":true,"extensions":["less"]},"text/markdown":{"source":"iana","compressible":true,"extensions":["markdown","md"]},"text/mathml":{"source":"nginx","extensions":["mml"]},"text/mdx":{"compressible":true,"extensions":["mdx"]},"text/mizar":{"source":"iana"},"text/n3":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["n3"]},"text/parameters":{"source":"iana","charset":"UTF-8"},"text/parityfec":{"source":"iana"},"text/plain":{"source":"iana","compressible":true,"extensions":["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{"source":"iana","charset":"UTF-8"},"text/prs.fallenstein.rst":{"source":"iana"},"text/prs.lines.tag":{"source":"iana","extensions":["dsc"]},"text/prs.prop.logic":{"source":"iana"},"text/raptorfec":{"source":"iana"},"text/red":{"source":"iana"},"text/rfc822-headers":{"source":"iana"},"text/richtext":{"source":"iana","compressible":true,"extensions":["rtx"]},"text/rtf":{"source":"iana","compressible":true,"extensions":["rtf"]},"text/rtp-enc-aescm128":{"source":"iana"},"text/rtploopback":{"source":"iana"},"text/rtx":{"source":"iana"},"text/sgml":{"source":"iana","extensions":["sgml","sgm"]},"text/shaclc":{"source":"iana"},"text/shex":{"extensions":["shex"]},"text/slim":{"extensions":["slim","slm"]},"text/spdx":{"source":"iana","extensions":["spdx"]},"text/strings":{"source":"iana"},"text/stylus":{"extensions":["stylus","styl"]},"text/t140":{"source":"iana"},"text/tab-separated-values":{"source":"iana","compressible":true,"extensions":["tsv"]},"text/troff":{"source":"iana","extensions":["t","tr","roff","man","me","ms"]},"text/turtle":{"source":"iana","charset":"UTF-8","extensions":["ttl"]},"text/ulpfec":{"source":"iana"},"text/uri-list":{"source":"iana","compressible":true,"extensions":["uri","uris","urls"]},"text/vcard":{"source":"iana","compressible":true,"extensions":["vcard"]},"text/vnd.a":{"source":"iana"},"text/vnd.abc":{"source":"iana"},"text/vnd.ascii-art":{"source":"iana"},"text/vnd.curl":{"source":"iana","extensions":["curl"]},"text/vnd.curl.dcurl":{"source":"apache","extensions":["dcurl"]},"text/vnd.curl.mcurl":{"source":"apache","extensions":["mcurl"]},"text/vnd.curl.scurl":{"source":"apache","extensions":["scurl"]},"text/vnd.debian.copyright":{"source":"iana","charset":"UTF-8"},"text/vnd.dmclientscript":{"source":"iana"},"text/vnd.dvb.subtitle":{"source":"iana","extensions":["sub"]},"text/vnd.esmertec.theme-descriptor":{"source":"iana","charset":"UTF-8"},"text/vnd.ficlab.flt":{"source":"iana"},"text/vnd.fly":{"source":"iana","extensions":["fly"]},"text/vnd.fmi.flexstor":{"source":"iana","extensions":["flx"]},"text/vnd.gml":{"source":"iana"},"text/vnd.graphviz":{"source":"iana","extensions":["gv"]},"text/vnd.hans":{"source":"iana"},"text/vnd.hgl":{"source":"iana"},"text/vnd.in3d.3dml":{"source":"iana","extensions":["3dml"]},"text/vnd.in3d.spot":{"source":"iana","extensions":["spot"]},"text/vnd.iptc.newsml":{"source":"iana"},"text/vnd.iptc.nitf":{"source":"iana"},"text/vnd.latex-z":{"source":"iana"},"text/vnd.motorola.reflex":{"source":"iana"},"text/vnd.ms-mediapackage":{"source":"iana"},"text/vnd.net2phone.commcenter.command":{"source":"iana"},"text/vnd.radisys.msml-basic-layout":{"source":"iana"},"text/vnd.senx.warpscript":{"source":"iana"},"text/vnd.si.uricatalogue":{"source":"iana"},"text/vnd.sosi":{"source":"iana"},"text/vnd.sun.j2me.app-descriptor":{"source":"iana","charset":"UTF-8","extensions":["jad"]},"text/vnd.trolltech.linguist":{"source":"iana","charset":"UTF-8"},"text/vnd.wap.si":{"source":"iana"},"text/vnd.wap.sl":{"source":"iana"},"text/vnd.wap.wml":{"source":"iana","extensions":["wml"]},"text/vnd.wap.wmlscript":{"source":"iana","extensions":["wmls"]},"text/vtt":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["vtt"]},"text/x-asm":{"source":"apache","extensions":["s","asm"]},"text/x-c":{"source":"apache","extensions":["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{"source":"nginx","extensions":["htc"]},"text/x-fortran":{"source":"apache","extensions":["f","for","f77","f90"]},"text/x-gwt-rpc":{"compressible":true},"text/x-handlebars-template":{"extensions":["hbs"]},"text/x-java-source":{"source":"apache","extensions":["java"]},"text/x-jquery-tmpl":{"compressible":true},"text/x-lua":{"extensions":["lua"]},"text/x-markdown":{"compressible":true,"extensions":["mkd"]},"text/x-nfo":{"source":"apache","extensions":["nfo"]},"text/x-opml":{"source":"apache","extensions":["opml"]},"text/x-org":{"compressible":true,"extensions":["org"]},"text/x-pascal":{"source":"apache","extensions":["p","pas"]},"text/x-processing":{"compressible":true,"extensions":["pde"]},"text/x-sass":{"extensions":["sass"]},"text/x-scss":{"extensions":["scss"]},"text/x-setext":{"source":"apache","extensions":["etx"]},"text/x-sfv":{"source":"apache","extensions":["sfv"]},"text/x-suse-ymp":{"compressible":true,"extensions":["ymp"]},"text/x-uuencode":{"source":"apache","extensions":["uu"]},"text/x-vcalendar":{"source":"apache","extensions":["vcs"]},"text/x-vcard":{"source":"apache","extensions":["vcf"]},"text/xml":{"source":"iana","compressible":true,"extensions":["xml"]},"text/xml-external-parsed-entity":{"source":"iana"},"text/yaml":{"extensions":["yaml","yml"]},"video/1d-interleaved-parityfec":{"source":"iana"},"video/3gpp":{"source":"iana","extensions":["3gp","3gpp"]},"video/3gpp-tt":{"source":"iana"},"video/3gpp2":{"source":"iana","extensions":["3g2"]},"video/av1":{"source":"iana"},"video/bmpeg":{"source":"iana"},"video/bt656":{"source":"iana"},"video/celb":{"source":"iana"},"video/dv":{"source":"iana"},"video/encaprtp":{"source":"iana"},"video/ffv1":{"source":"iana"},"video/flexfec":{"source":"iana"},"video/h261":{"source":"iana","extensions":["h261"]},"video/h263":{"source":"iana","extensions":["h263"]},"video/h263-1998":{"source":"iana"},"video/h263-2000":{"source":"iana"},"video/h264":{"source":"iana","extensions":["h264"]},"video/h264-rcdo":{"source":"iana"},"video/h264-svc":{"source":"iana"},"video/h265":{"source":"iana"},"video/iso.segment":{"source":"iana","extensions":["m4s"]},"video/jpeg":{"source":"iana","extensions":["jpgv"]},"video/jpeg2000":{"source":"iana"},"video/jpm":{"source":"apache","extensions":["jpm","jpgm"]},"video/mj2":{"source":"iana","extensions":["mj2","mjp2"]},"video/mp1s":{"source":"iana"},"video/mp2p":{"source":"iana"},"video/mp2t":{"source":"iana","extensions":["ts"]},"video/mp4":{"source":"iana","compressible":false,"extensions":["mp4","mp4v","mpg4"]},"video/mp4v-es":{"source":"iana"},"video/mpeg":{"source":"iana","compressible":false,"extensions":["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{"source":"iana"},"video/mpv":{"source":"iana"},"video/nv":{"source":"iana"},"video/ogg":{"source":"iana","compressible":false,"extensions":["ogv"]},"video/parityfec":{"source":"iana"},"video/pointer":{"source":"iana"},"video/quicktime":{"source":"iana","compressible":false,"extensions":["qt","mov"]},"video/raptorfec":{"source":"iana"},"video/raw":{"source":"iana"},"video/rtp-enc-aescm128":{"source":"iana"},"video/rtploopback":{"source":"iana"},"video/rtx":{"source":"iana"},"video/scip":{"source":"iana"},"video/smpte291":{"source":"iana"},"video/smpte292m":{"source":"iana"},"video/ulpfec":{"source":"iana"},"video/vc1":{"source":"iana"},"video/vc2":{"source":"iana"},"video/vnd.cctv":{"source":"iana"},"video/vnd.dece.hd":{"source":"iana","extensions":["uvh","uvvh"]},"video/vnd.dece.mobile":{"source":"iana","extensions":["uvm","uvvm"]},"video/vnd.dece.mp4":{"source":"iana"},"video/vnd.dece.pd":{"source":"iana","extensions":["uvp","uvvp"]},"video/vnd.dece.sd":{"source":"iana","extensions":["uvs","uvvs"]},"video/vnd.dece.video":{"source":"iana","extensions":["uvv","uvvv"]},"video/vnd.directv.mpeg":{"source":"iana"},"video/vnd.directv.mpeg-tts":{"source":"iana"},"video/vnd.dlna.mpeg-tts":{"source":"iana"},"video/vnd.dvb.file":{"source":"iana","extensions":["dvb"]},"video/vnd.fvt":{"source":"iana","extensions":["fvt"]},"video/vnd.hns.video":{"source":"iana"},"video/vnd.iptvforum.1dparityfec-1010":{"source":"iana"},"video/vnd.iptvforum.1dparityfec-2005":{"source":"iana"},"video/vnd.iptvforum.2dparityfec-1010":{"source":"iana"},"video/vnd.iptvforum.2dparityfec-2005":{"source":"iana"},"video/vnd.iptvforum.ttsavc":{"source":"iana"},"video/vnd.iptvforum.ttsmpeg2":{"source":"iana"},"video/vnd.motorola.video":{"source":"iana"},"video/vnd.motorola.videop":{"source":"iana"},"video/vnd.mpegurl":{"source":"iana","extensions":["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{"source":"iana","extensions":["pyv"]},"video/vnd.nokia.interleaved-multimedia":{"source":"iana"},"video/vnd.nokia.mp4vr":{"source":"iana"},"video/vnd.nokia.videovoip":{"source":"iana"},"video/vnd.objectvideo":{"source":"iana"},"video/vnd.radgamettools.bink":{"source":"iana"},"video/vnd.radgamettools.smacker":{"source":"iana"},"video/vnd.sealed.mpeg1":{"source":"iana"},"video/vnd.sealed.mpeg4":{"source":"iana"},"video/vnd.sealed.swf":{"source":"iana"},"video/vnd.sealedmedia.softseal.mov":{"source":"iana"},"video/vnd.uvvu.mp4":{"source":"iana","extensions":["uvu","uvvu"]},"video/vnd.vivo":{"source":"iana","extensions":["viv"]},"video/vnd.youtube.yt":{"source":"iana"},"video/vp8":{"source":"iana"},"video/webm":{"source":"apache","compressible":false,"extensions":["webm"]},"video/x-f4v":{"source":"apache","extensions":["f4v"]},"video/x-fli":{"source":"apache","extensions":["fli"]},"video/x-flv":{"source":"apache","compressible":false,"extensions":["flv"]},"video/x-m4v":{"source":"apache","extensions":["m4v"]},"video/x-matroska":{"source":"apache","compressible":false,"extensions":["mkv","mk3d","mks"]},"video/x-mng":{"source":"apache","extensions":["mng"]},"video/x-ms-asf":{"source":"apache","extensions":["asf","asx"]},"video/x-ms-vob":{"source":"apache","extensions":["vob"]},"video/x-ms-wm":{"source":"apache","extensions":["wm"]},"video/x-ms-wmv":{"source":"apache","compressible":false,"extensions":["wmv"]},"video/x-ms-wmx":{"source":"apache","extensions":["wmx"]},"video/x-ms-wvx":{"source":"apache","extensions":["wvx"]},"video/x-msvideo":{"source":"apache","extensions":["avi"]},"video/x-sgi-movie":{"source":"apache","extensions":["movie"]},"video/x-smv":{"source":"apache","extensions":["smv"]},"x-conference/x-cooltalk":{"source":"apache","extensions":["ice"]},"x-shader/x-fragment":{"compressible":true},"x-shader/x-vertex":{"compressible":true}}')},60549:function(v){"use strict";v.exports={i8:"5.90.0"}},74792:function(v){"use strict";v.exports=JSON.parse('{"definitions":{"Amd":{"description":"Set the value of `require.amd` and `define.amd`. Or disable AMD support.","anyOf":[{"description":"You can pass `false` to disable AMD support.","enum":[false]},{"description":"You can pass an object to set the value of `require.amd` and `define.amd`.","type":"object"}]},"AmdContainer":{"description":"Add a container for define/require functions in the AMD module.","type":"string","minLength":1},"AssetFilterItemTypes":{"description":"Filtering value, regexp or function.","cli":{"helper":true},"anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string","absolutePath":false},{"instanceof":"Function","tsType":"((name: string, asset: import(\'../lib/stats/DefaultStatsFactoryPlugin\').StatsAsset) => boolean)"}]},"AssetFilterTypes":{"description":"Filtering modules.","cli":{"helper":true},"anyOf":[{"type":"array","items":{"description":"Rule to filter.","cli":{"helper":true},"oneOf":[{"$ref":"#/definitions/AssetFilterItemTypes"}]}},{"$ref":"#/definitions/AssetFilterItemTypes"}]},"AssetGeneratorDataUrl":{"description":"The options for data url generator.","anyOf":[{"$ref":"#/definitions/AssetGeneratorDataUrlOptions"},{"$ref":"#/definitions/AssetGeneratorDataUrlFunction"}]},"AssetGeneratorDataUrlFunction":{"description":"Function that executes for module and should return an DataUrl string. It can have a string as \'ident\' property which contributes to the module hash.","instanceof":"Function","tsType":"((source: string | Buffer, context: { filename: string, module: import(\'../lib/Module\') }) => string)"},"AssetGeneratorDataUrlOptions":{"description":"Options object for data url generation.","type":"object","additionalProperties":false,"properties":{"encoding":{"description":"Asset encoding (defaults to base64).","enum":[false,"base64"]},"mimetype":{"description":"Asset mimetype (getting from file extension by default).","type":"string"}}},"AssetGeneratorOptions":{"description":"Generator options for asset modules.","type":"object","implements":["#/definitions/AssetInlineGeneratorOptions","#/definitions/AssetResourceGeneratorOptions"],"additionalProperties":false,"properties":{"dataUrl":{"$ref":"#/definitions/AssetGeneratorDataUrl"},"emit":{"description":"Emit an output asset from this asset module. This can be set to \'false\' to omit emitting e. g. for SSR.","type":"boolean"},"filename":{"$ref":"#/definitions/FilenameTemplate"},"outputPath":{"$ref":"#/definitions/AssetModuleOutputPath"},"publicPath":{"$ref":"#/definitions/RawPublicPath"}}},"AssetInlineGeneratorOptions":{"description":"Generator options for asset/inline modules.","type":"object","additionalProperties":false,"properties":{"dataUrl":{"$ref":"#/definitions/AssetGeneratorDataUrl"}}},"AssetModuleFilename":{"description":"The filename of asset modules as relative path inside the \'output.path\' directory.","anyOf":[{"type":"string","absolutePath":false},{"instanceof":"Function","tsType":"((pathData: import(\\"../lib/Compilation\\").PathData, assetInfo?: import(\\"../lib/Compilation\\").AssetInfo) => string)"}]},"AssetModuleOutputPath":{"description":"Emit the asset in the specified folder relative to \'output.path\'. This should only be needed when custom \'publicPath\' is specified to match the folder structure there.","anyOf":[{"type":"string","absolutePath":false},{"instanceof":"Function","tsType":"((pathData: import(\\"../lib/Compilation\\").PathData, assetInfo?: import(\\"../lib/Compilation\\").AssetInfo) => string)"}]},"AssetParserDataUrlFunction":{"description":"Function that executes for module and should return whenever asset should be inlined as DataUrl.","instanceof":"Function","tsType":"((source: string | Buffer, context: { filename: string, module: import(\'../lib/Module\') }) => boolean)"},"AssetParserDataUrlOptions":{"description":"Options object for DataUrl condition.","type":"object","additionalProperties":false,"properties":{"maxSize":{"description":"Maximum size of asset that should be inline as modules. Default: 8kb.","type":"number"}}},"AssetParserOptions":{"description":"Parser options for asset modules.","type":"object","additionalProperties":false,"properties":{"dataUrlCondition":{"description":"The condition for inlining the asset as DataUrl.","anyOf":[{"$ref":"#/definitions/AssetParserDataUrlOptions"},{"$ref":"#/definitions/AssetParserDataUrlFunction"}]}}},"AssetResourceGeneratorOptions":{"description":"Generator options for asset/resource modules.","type":"object","additionalProperties":false,"properties":{"emit":{"description":"Emit an output asset from this asset module. This can be set to \'false\' to omit emitting e. g. for SSR.","type":"boolean"},"filename":{"$ref":"#/definitions/FilenameTemplate"},"outputPath":{"$ref":"#/definitions/AssetModuleOutputPath"},"publicPath":{"$ref":"#/definitions/RawPublicPath"}}},"AuxiliaryComment":{"description":"Add a comment in the UMD wrapper.","anyOf":[{"description":"Append the same comment above each import style.","type":"string"},{"$ref":"#/definitions/LibraryCustomUmdCommentObject"}]},"Bail":{"description":"Report the first error as a hard error instead of tolerating it.","type":"boolean"},"CacheOptions":{"description":"Cache generated modules and chunks to improve performance for multiple incremental builds.","anyOf":[{"description":"Enable in memory caching.","enum":[true]},{"$ref":"#/definitions/CacheOptionsNormalized"}]},"CacheOptionsNormalized":{"description":"Cache generated modules and chunks to improve performance for multiple incremental builds.","anyOf":[{"description":"Disable caching.","enum":[false]},{"$ref":"#/definitions/MemoryCacheOptions"},{"$ref":"#/definitions/FileCacheOptions"}]},"Charset":{"description":"Add charset attribute for script tag.","type":"boolean"},"ChunkFilename":{"description":"Specifies the filename template of output files of non-initial chunks on disk. You must **not** specify an absolute path here, but the path may contain folders separated by \'/\'! The specified path is joined with the value of the \'output.path\' option to determine the location on disk.","oneOf":[{"$ref":"#/definitions/FilenameTemplate"}]},"ChunkFormat":{"description":"The format of chunks (formats included by default are \'array-push\' (web/WebWorker), \'commonjs\' (node.js), \'module\' (ESM), but others might be added by plugins).","anyOf":[{"enum":["array-push","commonjs","module",false]},{"type":"string"}]},"ChunkLoadTimeout":{"description":"Number of milliseconds before chunk request expires.","type":"number"},"ChunkLoading":{"description":"The method of loading chunks (methods included by default are \'jsonp\' (web), \'import\' (ESM), \'importScripts\' (WebWorker), \'require\' (sync node.js), \'async-node\' (async node.js), but others might be added by plugins).","anyOf":[{"enum":[false]},{"$ref":"#/definitions/ChunkLoadingType"}]},"ChunkLoadingGlobal":{"description":"The global variable used by webpack for loading of chunks.","type":"string"},"ChunkLoadingType":{"description":"The method of loading chunks (methods included by default are \'jsonp\' (web), \'import\' (ESM), \'importScripts\' (WebWorker), \'require\' (sync node.js), \'async-node\' (async node.js), but others might be added by plugins).","anyOf":[{"enum":["jsonp","import-scripts","require","async-node","import"]},{"type":"string"}]},"Clean":{"description":"Clean the output directory before emit.","anyOf":[{"type":"boolean"},{"$ref":"#/definitions/CleanOptions"}]},"CleanOptions":{"description":"Advanced options for cleaning assets.","type":"object","additionalProperties":false,"properties":{"dry":{"description":"Log the assets that should be removed instead of deleting them.","type":"boolean"},"keep":{"description":"Keep these assets.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string","absolutePath":false},{"instanceof":"Function","tsType":"((filename: string) => boolean)"}]}}},"CompareBeforeEmit":{"description":"Check if to be emitted file already exists and have the same content before writing to output filesystem.","type":"boolean"},"Context":{"description":"The base directory (absolute path!) for resolving the `entry` option. If `output.pathinfo` is set, the included pathinfo is shortened to this directory.","type":"string","absolutePath":true},"CrossOriginLoading":{"description":"This option enables cross-origin loading of chunks.","enum":[false,"anonymous","use-credentials"]},"CssAutoGeneratorOptions":{"description":"Generator options for css/auto modules.","type":"object","additionalProperties":false,"properties":{"exportsOnly":{"$ref":"#/definitions/CssGeneratorExportsOnly"}}},"CssAutoParserOptions":{"description":"Parser options for css/auto modules.","type":"object","additionalProperties":false,"properties":{"namedExports":{"$ref":"#/definitions/CssParserNamedExports"}}},"CssChunkFilename":{"description":"Specifies the filename template of non-initial output css files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by \'/\'! The specified path is joined with the value of the \'output.path\' option to determine the location on disk.","oneOf":[{"$ref":"#/definitions/FilenameTemplate"}]},"CssFilename":{"description":"Specifies the filename template of output css files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by \'/\'! The specified path is joined with the value of the \'output.path\' option to determine the location on disk.","oneOf":[{"$ref":"#/definitions/FilenameTemplate"}]},"CssGeneratorExportsOnly":{"description":"Avoid generating and loading a stylesheet and only embed exports from css into output javascript files.","type":"boolean"},"CssGeneratorOptions":{"description":"Generator options for css modules.","type":"object","additionalProperties":false,"properties":{"exportsOnly":{"$ref":"#/definitions/CssGeneratorExportsOnly"}}},"CssGlobalGeneratorOptions":{"description":"Generator options for css/global modules.","type":"object","additionalProperties":false,"properties":{"exportsOnly":{"$ref":"#/definitions/CssGeneratorExportsOnly"}}},"CssGlobalParserOptions":{"description":"Parser options for css/global modules.","type":"object","additionalProperties":false,"properties":{"namedExports":{"$ref":"#/definitions/CssParserNamedExports"}}},"CssModuleGeneratorOptions":{"description":"Generator options for css/module modules.","type":"object","additionalProperties":false,"properties":{"exportsOnly":{"$ref":"#/definitions/CssGeneratorExportsOnly"}}},"CssModuleParserOptions":{"description":"Parser options for css/module modules.","type":"object","additionalProperties":false,"properties":{"namedExports":{"$ref":"#/definitions/CssParserNamedExports"}}},"CssParserNamedExports":{"description":"Use ES modules named export for css exports.","type":"boolean"},"CssParserOptions":{"description":"Parser options for css modules.","type":"object","additionalProperties":false,"properties":{"namedExports":{"$ref":"#/definitions/CssParserNamedExports"}}},"Dependencies":{"description":"References to other configurations to depend on.","type":"array","items":{"description":"References to another configuration to depend on.","type":"string"}},"DevServer":{"description":"Options for the webpack-dev-server.","anyOf":[{"description":"Disable dev server.","enum":[false]},{"description":"Options for the webpack-dev-server.","type":"object"}]},"DevTool":{"description":"A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map).","anyOf":[{"enum":[false,"eval"]},{"type":"string","pattern":"^(inline-|hidden-|eval-)?(nosources-)?(cheap-(module-)?)?source-map$"}]},"DevtoolFallbackModuleFilenameTemplate":{"description":"Similar to `output.devtoolModuleFilenameTemplate`, but used in the case of duplicate module identifiers.","anyOf":[{"type":"string"},{"instanceof":"Function","tsType":"Function"}]},"DevtoolModuleFilenameTemplate":{"description":"Filename template string of function for the sources array in a generated SourceMap.","anyOf":[{"type":"string"},{"instanceof":"Function","tsType":"Function"}]},"DevtoolNamespace":{"description":"Module namespace to use when interpolating filename template string for the sources array in a generated SourceMap. Defaults to `output.library` if not set. It\'s useful for avoiding runtime collisions in sourcemaps from multiple webpack projects built as libraries.","type":"string"},"EmptyGeneratorOptions":{"description":"No generator options are supported for this module type.","type":"object","additionalProperties":false},"EmptyParserOptions":{"description":"No parser options are supported for this module type.","type":"object","additionalProperties":false},"EnabledChunkLoadingTypes":{"description":"List of chunk loading types enabled for use by entry points.","type":"array","items":{"$ref":"#/definitions/ChunkLoadingType"}},"EnabledLibraryTypes":{"description":"List of library types enabled for use by entry points.","type":"array","items":{"$ref":"#/definitions/LibraryType"}},"EnabledWasmLoadingTypes":{"description":"List of wasm loading types enabled for use by entry points.","type":"array","items":{"$ref":"#/definitions/WasmLoadingType"}},"Entry":{"description":"The entry point(s) of the compilation.","anyOf":[{"$ref":"#/definitions/EntryDynamic"},{"$ref":"#/definitions/EntryStatic"}]},"EntryDescription":{"description":"An object with entry point description.","type":"object","additionalProperties":false,"properties":{"asyncChunks":{"description":"Enable/disable creating async chunks that are loaded on demand.","type":"boolean"},"baseUri":{"description":"Base uri for this entry.","type":"string"},"chunkLoading":{"$ref":"#/definitions/ChunkLoading"},"dependOn":{"description":"The entrypoints that the current entrypoint depend on. They must be loaded when this entrypoint is loaded.","anyOf":[{"description":"The entrypoints that the current entrypoint depend on. They must be loaded when this entrypoint is loaded.","type":"array","items":{"description":"An entrypoint that the current entrypoint depend on. It must be loaded when this entrypoint is loaded.","type":"string","minLength":1},"minItems":1,"uniqueItems":true},{"description":"An entrypoint that the current entrypoint depend on. It must be loaded when this entrypoint is loaded.","type":"string","minLength":1}]},"filename":{"$ref":"#/definitions/EntryFilename"},"import":{"$ref":"#/definitions/EntryItem"},"layer":{"$ref":"#/definitions/Layer"},"library":{"$ref":"#/definitions/LibraryOptions"},"publicPath":{"$ref":"#/definitions/PublicPath"},"runtime":{"$ref":"#/definitions/EntryRuntime"},"wasmLoading":{"$ref":"#/definitions/WasmLoading"}},"required":["import"]},"EntryDescriptionNormalized":{"description":"An object with entry point description.","type":"object","additionalProperties":false,"properties":{"asyncChunks":{"description":"Enable/disable creating async chunks that are loaded on demand.","type":"boolean"},"baseUri":{"description":"Base uri for this entry.","type":"string"},"chunkLoading":{"$ref":"#/definitions/ChunkLoading"},"dependOn":{"description":"The entrypoints that the current entrypoint depend on. They must be loaded when this entrypoint is loaded.","type":"array","items":{"description":"An entrypoint that the current entrypoint depend on. It must be loaded when this entrypoint is loaded.","type":"string","minLength":1},"minItems":1,"uniqueItems":true},"filename":{"$ref":"#/definitions/Filename"},"import":{"description":"Module(s) that are loaded upon startup. The last one is exported.","type":"array","items":{"description":"Module that is loaded upon startup. Only the last one is exported.","type":"string","minLength":1},"minItems":1,"uniqueItems":true},"layer":{"$ref":"#/definitions/Layer"},"library":{"$ref":"#/definitions/LibraryOptions"},"publicPath":{"$ref":"#/definitions/PublicPath"},"runtime":{"$ref":"#/definitions/EntryRuntime"},"wasmLoading":{"$ref":"#/definitions/WasmLoading"}}},"EntryDynamic":{"description":"A Function returning an entry object, an entry string, an entry array or a promise to these things.","instanceof":"Function","tsType":"(() => EntryStatic | Promise)"},"EntryDynamicNormalized":{"description":"A Function returning a Promise resolving to a normalized entry.","instanceof":"Function","tsType":"(() => Promise)"},"EntryFilename":{"description":"Specifies the filename of the output file on disk. You must **not** specify an absolute path here, but the path may contain folders separated by \'/\'! The specified path is joined with the value of the \'output.path\' option to determine the location on disk.","oneOf":[{"$ref":"#/definitions/FilenameTemplate"}]},"EntryItem":{"description":"Module(s) that are loaded upon startup.","anyOf":[{"description":"All modules are loaded upon startup. The last one is exported.","type":"array","items":{"description":"A module that is loaded upon startup. Only the last one is exported.","type":"string","minLength":1},"minItems":1,"uniqueItems":true},{"description":"The string is resolved to a module which is loaded upon startup.","type":"string","minLength":1}]},"EntryNormalized":{"description":"The entry point(s) of the compilation.","anyOf":[{"$ref":"#/definitions/EntryDynamicNormalized"},{"$ref":"#/definitions/EntryStaticNormalized"}]},"EntryObject":{"description":"Multiple entry bundles are created. The key is the entry name. The value can be a string, an array or an entry description object.","type":"object","additionalProperties":{"description":"An entry point with name.","anyOf":[{"$ref":"#/definitions/EntryItem"},{"$ref":"#/definitions/EntryDescription"}]}},"EntryRuntime":{"description":"The name of the runtime chunk. If set a runtime chunk with this name is created or an existing entrypoint is used as runtime.","anyOf":[{"enum":[false]},{"type":"string","minLength":1}]},"EntryStatic":{"description":"A static entry description.","anyOf":[{"$ref":"#/definitions/EntryObject"},{"$ref":"#/definitions/EntryUnnamed"}]},"EntryStaticNormalized":{"description":"Multiple entry bundles are created. The key is the entry name. The value is an entry description object.","type":"object","additionalProperties":{"description":"An object with entry point description.","oneOf":[{"$ref":"#/definitions/EntryDescriptionNormalized"}]}},"EntryUnnamed":{"description":"An entry point without name.","oneOf":[{"$ref":"#/definitions/EntryItem"}]},"Environment":{"description":"The abilities of the environment where the webpack generated code should run.","type":"object","additionalProperties":false,"properties":{"arrowFunction":{"description":"The environment supports arrow functions (\'() => { ... }\').","type":"boolean"},"asyncFunction":{"description":"The environment supports async function and await (\'async function () { await ... }\').","type":"boolean"},"bigIntLiteral":{"description":"The environment supports BigInt as literal (123n).","type":"boolean"},"const":{"description":"The environment supports const and let for variable declarations.","type":"boolean"},"destructuring":{"description":"The environment supports destructuring (\'{ a, b } = obj\').","type":"boolean"},"dynamicImport":{"description":"The environment supports an async import() function to import EcmaScript modules.","type":"boolean"},"dynamicImportInWorker":{"description":"The environment supports an async import() is available when creating a worker.","type":"boolean"},"forOf":{"description":"The environment supports \'for of\' iteration (\'for (const x of array) { ... }\').","type":"boolean"},"globalThis":{"description":"The environment supports \'globalThis\'.","type":"boolean"},"module":{"description":"The environment supports EcmaScript Module syntax to import EcmaScript modules (import ... from \'...\').","type":"boolean"},"optionalChaining":{"description":"The environment supports optional chaining (\'obj?.a\' or \'obj?.()\').","type":"boolean"},"templateLiteral":{"description":"The environment supports template literals.","type":"boolean"}}},"Experiments":{"description":"Enables/Disables experiments (experimental features with relax SemVer compatibility).","type":"object","implements":["#/definitions/ExperimentsCommon"],"additionalProperties":false,"properties":{"asyncWebAssembly":{"description":"Support WebAssembly as asynchronous EcmaScript Module.","type":"boolean"},"backCompat":{"description":"Enable backward-compat layer with deprecation warnings for many webpack 4 APIs.","type":"boolean"},"buildHttp":{"description":"Build http(s): urls using a lockfile and resource content cache.","anyOf":[{"$ref":"#/definitions/HttpUriAllowedUris"},{"$ref":"#/definitions/HttpUriOptions"}]},"cacheUnaffected":{"description":"Enable additional in memory caching of modules that are unchanged and reference only unchanged modules.","type":"boolean"},"css":{"description":"Enable css support.","type":"boolean"},"futureDefaults":{"description":"Apply defaults of next major version.","type":"boolean"},"layers":{"description":"Enable module layers.","type":"boolean"},"lazyCompilation":{"description":"Compile entrypoints and import()s only when they are accessed.","anyOf":[{"type":"boolean"},{"$ref":"#/definitions/LazyCompilationOptions"}]},"outputModule":{"description":"Allow output javascript files as module source type.","type":"boolean"},"syncWebAssembly":{"description":"Support WebAssembly as synchronous EcmaScript Module (outdated).","type":"boolean"},"topLevelAwait":{"description":"Allow using top-level-await in EcmaScript Modules.","type":"boolean"}}},"ExperimentsCommon":{"description":"Enables/Disables experiments (experimental features with relax SemVer compatibility).","type":"object","additionalProperties":false,"properties":{"asyncWebAssembly":{"description":"Support WebAssembly as asynchronous EcmaScript Module.","type":"boolean"},"backCompat":{"description":"Enable backward-compat layer with deprecation warnings for many webpack 4 APIs.","type":"boolean"},"cacheUnaffected":{"description":"Enable additional in memory caching of modules that are unchanged and reference only unchanged modules.","type":"boolean"},"futureDefaults":{"description":"Apply defaults of next major version.","type":"boolean"},"layers":{"description":"Enable module layers.","type":"boolean"},"outputModule":{"description":"Allow output javascript files as module source type.","type":"boolean"},"syncWebAssembly":{"description":"Support WebAssembly as synchronous EcmaScript Module (outdated).","type":"boolean"},"topLevelAwait":{"description":"Allow using top-level-await in EcmaScript Modules.","type":"boolean"}}},"ExperimentsNormalized":{"description":"Enables/Disables experiments (experimental features with relax SemVer compatibility).","type":"object","implements":["#/definitions/ExperimentsCommon"],"additionalProperties":false,"properties":{"asyncWebAssembly":{"description":"Support WebAssembly as asynchronous EcmaScript Module.","type":"boolean"},"backCompat":{"description":"Enable backward-compat layer with deprecation warnings for many webpack 4 APIs.","type":"boolean"},"buildHttp":{"description":"Build http(s): urls using a lockfile and resource content cache.","oneOf":[{"$ref":"#/definitions/HttpUriOptions"}]},"cacheUnaffected":{"description":"Enable additional in memory caching of modules that are unchanged and reference only unchanged modules.","type":"boolean"},"css":{"description":"Enable css support.","type":"boolean"},"futureDefaults":{"description":"Apply defaults of next major version.","type":"boolean"},"layers":{"description":"Enable module layers.","type":"boolean"},"lazyCompilation":{"description":"Compile entrypoints and import()s only when they are accessed.","anyOf":[{"enum":[false]},{"$ref":"#/definitions/LazyCompilationOptions"}]},"outputModule":{"description":"Allow output javascript files as module source type.","type":"boolean"},"syncWebAssembly":{"description":"Support WebAssembly as synchronous EcmaScript Module (outdated).","type":"boolean"},"topLevelAwait":{"description":"Allow using top-level-await in EcmaScript Modules.","type":"boolean"}}},"Extends":{"description":"Extend configuration from another configuration (only works when using webpack-cli).","anyOf":[{"type":"array","items":{"$ref":"#/definitions/ExtendsItem"}},{"$ref":"#/definitions/ExtendsItem"}]},"ExtendsItem":{"description":"Path to the configuration to be extended (only works when using webpack-cli).","type":"string"},"ExternalItem":{"description":"Specify dependency that shouldn\'t be resolved by webpack, but should become dependencies of the resulting bundle. The kind of the dependency depends on `output.libraryTarget`.","anyOf":[{"description":"Every matched dependency becomes external.","instanceof":"RegExp","tsType":"RegExp"},{"description":"An exact matched dependency becomes external. The same string is used as external dependency.","type":"string"},{"description":"If an dependency matches exactly a property of the object, the property value is used as dependency.","type":"object","additionalProperties":{"$ref":"#/definitions/ExternalItemValue"},"properties":{"byLayer":{"description":"Specify externals depending on the layer.","anyOf":[{"type":"object","additionalProperties":{"$ref":"#/definitions/ExternalItem"}},{"instanceof":"Function","tsType":"((layer: string | null) => ExternalItem)"}]}}},{"description":"The function is called on each dependency (`function(context, request, callback(err, result))`).","instanceof":"Function","tsType":"(((data: ExternalItemFunctionData, callback: (err?: (Error | null), result?: ExternalItemValue) => void) => void) | ((data: ExternalItemFunctionData) => Promise))"}]},"ExternalItemFunctionData":{"description":"Data object passed as argument when a function is set for \'externals\'.","type":"object","additionalProperties":false,"properties":{"context":{"description":"The directory in which the request is placed.","type":"string"},"contextInfo":{"description":"Contextual information.","type":"object","tsType":"import(\'../lib/ModuleFactory\').ModuleFactoryCreateDataContextInfo"},"dependencyType":{"description":"The category of the referencing dependencies.","type":"string"},"getResolve":{"description":"Get a resolve function with the current resolver options.","instanceof":"Function","tsType":"((options?: ResolveOptions) => ((context: string, request: string, callback: (err?: Error, result?: string) => void) => void) | ((context: string, request: string) => Promise))"},"request":{"description":"The request as written by the user in the require/import expression/statement.","type":"string"}}},"ExternalItemValue":{"description":"The dependency used for the external.","anyOf":[{"type":"array","items":{"description":"A part of the target of the external.","type":"string","minLength":1}},{"description":"`true`: The dependency name is used as target of the external.","type":"boolean"},{"description":"The target of the external.","type":"string"},{"type":"object"}]},"Externals":{"description":"Specify dependencies that shouldn\'t be resolved by webpack, but should become dependencies of the resulting bundle. The kind of the dependency depends on `output.libraryTarget`.","anyOf":[{"type":"array","items":{"$ref":"#/definitions/ExternalItem"}},{"$ref":"#/definitions/ExternalItem"}]},"ExternalsPresets":{"description":"Enable presets of externals for specific targets.","type":"object","additionalProperties":false,"properties":{"electron":{"description":"Treat common electron built-in modules in main and preload context like \'electron\', \'ipc\' or \'shell\' as external and load them via require() when used.","type":"boolean"},"electronMain":{"description":"Treat electron built-in modules in the main context like \'app\', \'ipc-main\' or \'shell\' as external and load them via require() when used.","type":"boolean"},"electronPreload":{"description":"Treat electron built-in modules in the preload context like \'web-frame\', \'ipc-renderer\' or \'shell\' as external and load them via require() when used.","type":"boolean"},"electronRenderer":{"description":"Treat electron built-in modules in the renderer context like \'web-frame\', \'ipc-renderer\' or \'shell\' as external and load them via require() when used.","type":"boolean"},"node":{"description":"Treat node.js built-in modules like fs, path or vm as external and load them via require() when used.","type":"boolean"},"nwjs":{"description":"Treat NW.js legacy nw.gui module as external and load it via require() when used.","type":"boolean"},"web":{"description":"Treat references to \'http(s)://...\' and \'std:...\' as external and load them via import when used (Note that this changes execution order as externals are executed before any other code in the chunk).","type":"boolean"},"webAsync":{"description":"Treat references to \'http(s)://...\' and \'std:...\' as external and load them via async import() when used (Note that this external type is an async module, which has various effects on the execution).","type":"boolean"}}},"ExternalsType":{"description":"Specifies the default type of externals (\'amd*\', \'umd*\', \'system\' and \'jsonp\' depend on output.libraryTarget set to the same value).","enum":["var","module","assign","this","window","self","global","commonjs","commonjs2","commonjs-module","commonjs-static","amd","amd-require","umd","umd2","jsonp","system","promise","import","script","node-commonjs"]},"Falsy":{"description":"These values will be ignored by webpack and created to be used with \'&&\' or \'||\' to improve readability of configurations.","cli":{"exclude":true},"enum":[false,0,"",null],"undefinedAsNull":true,"tsType":"false | 0 | \'\' | null | undefined"},"FileCacheOptions":{"description":"Options object for persistent file-based caching.","type":"object","additionalProperties":false,"properties":{"allowCollectingMemory":{"description":"Allows to collect unused memory allocated during deserialization. This requires copying data into smaller buffers and has a performance cost.","type":"boolean"},"buildDependencies":{"description":"Dependencies the build depends on (in multiple categories, default categories: \'defaultWebpack\').","type":"object","additionalProperties":{"description":"List of dependencies the build depends on.","type":"array","items":{"description":"Request to a dependency (resolved as directory relative to the context directory).","type":"string","minLength":1}}},"cacheDirectory":{"description":"Base directory for the cache (defaults to node_modules/.cache/webpack).","type":"string","absolutePath":true},"cacheLocation":{"description":"Locations for the cache (defaults to cacheDirectory / name).","type":"string","absolutePath":true},"compression":{"description":"Compression type used for the cache files.","enum":[false,"gzip","brotli"]},"hashAlgorithm":{"description":"Algorithm used for generation the hash (see node.js crypto package).","type":"string"},"idleTimeout":{"description":"Time in ms after which idle period the cache storing should happen.","type":"number","minimum":0},"idleTimeoutAfterLargeChanges":{"description":"Time in ms after which idle period the cache storing should happen when larger changes has been detected (cumulative build time > 2 x avg cache store time).","type":"number","minimum":0},"idleTimeoutForInitialStore":{"description":"Time in ms after which idle period the initial cache storing should happen.","type":"number","minimum":0},"immutablePaths":{"description":"List of paths that are managed by a package manager and contain a version or hash in its path so all files are immutable.","type":"array","items":{"description":"List of paths that are managed by a package manager and contain a version or hash in its path so all files are immutable.","anyOf":[{"description":"A RegExp matching an immutable directory (usually a package manager cache directory, including the tailing slash)","instanceof":"RegExp","tsType":"RegExp"},{"description":"A path to an immutable directory (usually a package manager cache directory).","type":"string","absolutePath":true,"minLength":1}]}},"managedPaths":{"description":"List of paths that are managed by a package manager and can be trusted to not be modified otherwise.","type":"array","items":{"description":"List of paths that are managed by a package manager and can be trusted to not be modified otherwise.","anyOf":[{"description":"A RegExp matching a managed directory (usually a node_modules directory, including the tailing slash)","instanceof":"RegExp","tsType":"RegExp"},{"description":"A path to a managed directory (usually a node_modules directory).","type":"string","absolutePath":true,"minLength":1}]}},"maxAge":{"description":"Time for which unused cache entries stay in the filesystem cache at minimum (in milliseconds).","type":"number","minimum":0},"maxMemoryGenerations":{"description":"Number of generations unused cache entries stay in memory cache at minimum (0 = no memory cache used, 1 = may be removed after unused for a single compilation, ..., Infinity: kept forever). Cache entries will be deserialized from disk when removed from memory cache.","type":"number","minimum":0},"memoryCacheUnaffected":{"description":"Additionally cache computation of modules that are unchanged and reference only unchanged modules in memory.","type":"boolean"},"name":{"description":"Name for the cache. Different names will lead to different coexisting caches.","type":"string"},"profile":{"description":"Track and log detailed timing information for individual cache items.","type":"boolean"},"readonly":{"description":"Enable/disable readonly mode.","type":"boolean"},"store":{"description":"When to store data to the filesystem. (pack: Store data when compiler is idle in a single file).","enum":["pack"]},"type":{"description":"Filesystem caching.","enum":["filesystem"]},"version":{"description":"Version of the cache data. Different versions won\'t allow to reuse the cache and override existing content. Update the version when config changed in a way which doesn\'t allow to reuse cache. This will invalidate the cache.","type":"string"}},"required":["type"]},"Filename":{"description":"Specifies the filename of output files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by \'/\'! The specified path is joined with the value of the \'output.path\' option to determine the location on disk.","oneOf":[{"$ref":"#/definitions/FilenameTemplate"}]},"FilenameTemplate":{"description":"Specifies the filename template of output files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by \'/\'! The specified path is joined with the value of the \'output.path\' option to determine the location on disk.","anyOf":[{"type":"string","absolutePath":false,"minLength":1},{"instanceof":"Function","tsType":"((pathData: import(\\"../lib/Compilation\\").PathData, assetInfo?: import(\\"../lib/Compilation\\").AssetInfo) => string)"}]},"FilterItemTypes":{"description":"Filtering value, regexp or function.","cli":{"helper":true},"anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string","absolutePath":false},{"instanceof":"Function","tsType":"((value: string) => boolean)"}]},"FilterTypes":{"description":"Filtering values.","cli":{"helper":true},"anyOf":[{"type":"array","items":{"description":"Rule to filter.","cli":{"helper":true},"oneOf":[{"$ref":"#/definitions/FilterItemTypes"}]}},{"$ref":"#/definitions/FilterItemTypes"}]},"GeneratorOptionsByModuleType":{"description":"Specify options for each generator.","type":"object","additionalProperties":{"description":"Options for generating.","type":"object","additionalProperties":true},"properties":{"asset":{"$ref":"#/definitions/AssetGeneratorOptions"},"asset/inline":{"$ref":"#/definitions/AssetInlineGeneratorOptions"},"asset/resource":{"$ref":"#/definitions/AssetResourceGeneratorOptions"},"css":{"$ref":"#/definitions/CssGeneratorOptions"},"css/auto":{"$ref":"#/definitions/CssAutoGeneratorOptions"},"css/global":{"$ref":"#/definitions/CssGlobalGeneratorOptions"},"css/module":{"$ref":"#/definitions/CssModuleGeneratorOptions"},"javascript":{"$ref":"#/definitions/EmptyGeneratorOptions"},"javascript/auto":{"$ref":"#/definitions/EmptyGeneratorOptions"},"javascript/dynamic":{"$ref":"#/definitions/EmptyGeneratorOptions"},"javascript/esm":{"$ref":"#/definitions/EmptyGeneratorOptions"}}},"GlobalObject":{"description":"An expression which is used to address the global object/scope in runtime code.","type":"string","minLength":1},"HashDigest":{"description":"Digest type used for the hash.","type":"string"},"HashDigestLength":{"description":"Number of chars which are used for the hash.","type":"number","minimum":1},"HashFunction":{"description":"Algorithm used for generation the hash (see node.js crypto package).","anyOf":[{"type":"string","minLength":1},{"instanceof":"Function","tsType":"typeof import(\'../lib/util/Hash\')"}]},"HashSalt":{"description":"Any string which is added to the hash to salt it.","type":"string","minLength":1},"HotUpdateChunkFilename":{"description":"The filename of the Hot Update Chunks. They are inside the output.path directory.","type":"string","absolutePath":false},"HotUpdateGlobal":{"description":"The global variable used by webpack for loading of hot update chunks.","type":"string"},"HotUpdateMainFilename":{"description":"The filename of the Hot Update Main File. It is inside the \'output.path\' directory.","type":"string","absolutePath":false},"HttpUriAllowedUris":{"description":"List of allowed URIs for building http resources.","cli":{"exclude":true},"oneOf":[{"$ref":"#/definitions/HttpUriOptionsAllowedUris"}]},"HttpUriOptions":{"description":"Options for building http resources.","type":"object","additionalProperties":false,"properties":{"allowedUris":{"$ref":"#/definitions/HttpUriOptionsAllowedUris"},"cacheLocation":{"description":"Location where resource content is stored for lockfile entries. It\'s also possible to disable storing by passing false.","anyOf":[{"enum":[false]},{"type":"string","absolutePath":true}]},"frozen":{"description":"When set, anything that would lead to a modification of the lockfile or any resource content, will result in an error.","type":"boolean"},"lockfileLocation":{"description":"Location of the lockfile.","type":"string","absolutePath":true},"proxy":{"description":"Proxy configuration, which can be used to specify a proxy server to use for HTTP requests.","type":"string"},"upgrade":{"description":"When set, resources of existing lockfile entries will be fetched and entries will be upgraded when resource content has changed.","type":"boolean"}},"required":["allowedUris"]},"HttpUriOptionsAllowedUris":{"description":"List of allowed URIs (resp. the beginning of them).","type":"array","items":{"description":"List of allowed URIs (resp. the beginning of them).","anyOf":[{"description":"Allowed URI pattern.","instanceof":"RegExp","tsType":"RegExp"},{"description":"Allowed URI (resp. the beginning of it).","type":"string","pattern":"^https?://"},{"description":"Allowed URI filter function.","instanceof":"Function","tsType":"((uri: string) => boolean)"}]}},"IgnoreWarnings":{"description":"Ignore specific warnings.","type":"array","items":{"description":"Ignore specific warnings.","anyOf":[{"description":"A RegExp to select the warning message.","instanceof":"RegExp","tsType":"RegExp"},{"type":"object","additionalProperties":false,"properties":{"file":{"description":"A RegExp to select the origin file for the warning.","instanceof":"RegExp","tsType":"RegExp"},"message":{"description":"A RegExp to select the warning message.","instanceof":"RegExp","tsType":"RegExp"},"module":{"description":"A RegExp to select the origin module for the warning.","instanceof":"RegExp","tsType":"RegExp"}}},{"description":"A custom function to select warnings based on the raw warning instance.","instanceof":"Function","tsType":"((warning: import(\'../lib/WebpackError\'), compilation: import(\'../lib/Compilation\')) => boolean)"}]}},"IgnoreWarningsNormalized":{"description":"Ignore specific warnings.","type":"array","items":{"description":"A function to select warnings based on the raw warning instance.","instanceof":"Function","tsType":"((warning: import(\'../lib/WebpackError\'), compilation: import(\'../lib/Compilation\')) => boolean)"}},"Iife":{"description":"Wrap javascript code into IIFE\'s to avoid leaking into global scope.","type":"boolean"},"ImportFunctionName":{"description":"The name of the native import() function (can be exchanged for a polyfill).","type":"string"},"ImportMetaName":{"description":"The name of the native import.meta object (can be exchanged for a polyfill).","type":"string"},"InfrastructureLogging":{"description":"Options for infrastructure level logging.","type":"object","additionalProperties":false,"properties":{"appendOnly":{"description":"Only appends lines to the output. Avoids updating existing output e. g. for status messages. This option is only used when no custom console is provided.","type":"boolean"},"colors":{"description":"Enables/Disables colorful output. This option is only used when no custom console is provided.","type":"boolean"},"console":{"description":"Custom console used for logging.","tsType":"Console"},"debug":{"description":"Enable debug logging for specific loggers.","anyOf":[{"description":"Enable/Disable debug logging for all loggers.","type":"boolean"},{"$ref":"#/definitions/FilterTypes"}]},"level":{"description":"Log level.","enum":["none","error","warn","info","log","verbose"]},"stream":{"description":"Stream used for logging output. Defaults to process.stderr. This option is only used when no custom console is provided.","tsType":"NodeJS.WritableStream"}}},"JavascriptParserOptions":{"description":"Parser options for javascript modules.","type":"object","additionalProperties":true,"properties":{"amd":{"$ref":"#/definitions/Amd"},"browserify":{"description":"Enable/disable special handling for browserify bundles.","type":"boolean"},"commonjs":{"description":"Enable/disable parsing of CommonJs syntax.","type":"boolean"},"commonjsMagicComments":{"description":"Enable/disable parsing of magic comments in CommonJs syntax.","type":"boolean"},"createRequire":{"description":"Enable/disable parsing \\"import { createRequire } from \\"module\\"\\" and evaluating createRequire().","anyOf":[{"type":"boolean"},{"type":"string"}]},"dynamicImportFetchPriority":{"description":"Specifies global fetchPriority for dynamic import.","enum":["low","high","auto",false]},"dynamicImportMode":{"description":"Specifies global mode for dynamic import.","enum":["eager","weak","lazy","lazy-once"]},"dynamicImportPrefetch":{"description":"Specifies global prefetch for dynamic import.","anyOf":[{"type":"number"},{"type":"boolean"}]},"dynamicImportPreload":{"description":"Specifies global preload for dynamic import.","anyOf":[{"type":"number"},{"type":"boolean"}]},"exportsPresence":{"description":"Specifies the behavior of invalid export names in \\"import ... from ...\\" and \\"export ... from ...\\".","enum":["error","warn","auto",false]},"exprContextCritical":{"description":"Enable warnings for full dynamic dependencies.","type":"boolean"},"exprContextRecursive":{"description":"Enable recursive directory lookup for full dynamic dependencies.","type":"boolean"},"exprContextRegExp":{"description":"Sets the default regular expression for full dynamic dependencies.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"boolean"}]},"exprContextRequest":{"description":"Set the default request for full dynamic dependencies.","type":"string"},"harmony":{"description":"Enable/disable parsing of EcmaScript Modules syntax.","type":"boolean"},"import":{"description":"Enable/disable parsing of import() syntax.","type":"boolean"},"importExportsPresence":{"description":"Specifies the behavior of invalid export names in \\"import ... from ...\\".","enum":["error","warn","auto",false]},"importMeta":{"description":"Enable/disable evaluating import.meta.","type":"boolean"},"importMetaContext":{"description":"Enable/disable evaluating import.meta.webpackContext.","type":"boolean"},"node":{"$ref":"#/definitions/Node"},"reexportExportsPresence":{"description":"Specifies the behavior of invalid export names in \\"export ... from ...\\". This might be useful to disable during the migration from \\"export ... from ...\\" to \\"export type ... from ...\\" when reexporting types in TypeScript.","enum":["error","warn","auto",false]},"requireContext":{"description":"Enable/disable parsing of require.context syntax.","type":"boolean"},"requireEnsure":{"description":"Enable/disable parsing of require.ensure syntax.","type":"boolean"},"requireInclude":{"description":"Enable/disable parsing of require.include syntax.","type":"boolean"},"requireJs":{"description":"Enable/disable parsing of require.js special syntax like require.config, requirejs.config, require.version and requirejs.onError.","type":"boolean"},"strictExportPresence":{"description":"Deprecated in favor of \\"exportsPresence\\". Emit errors instead of warnings when imported names don\'t exist in imported module.","type":"boolean"},"strictThisContextOnImports":{"description":"Handle the this context correctly according to the spec for namespace objects.","type":"boolean"},"system":{"description":"Enable/disable parsing of System.js special syntax like System.import, System.get, System.set and System.register.","type":"boolean"},"unknownContextCritical":{"description":"Enable warnings when using the require function in a not statically analyse-able way.","type":"boolean"},"unknownContextRecursive":{"description":"Enable recursive directory lookup when using the require function in a not statically analyse-able way.","type":"boolean"},"unknownContextRegExp":{"description":"Sets the regular expression when using the require function in a not statically analyse-able way.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"boolean"}]},"unknownContextRequest":{"description":"Sets the request when using the require function in a not statically analyse-able way.","type":"string"},"url":{"description":"Enable/disable parsing of new URL() syntax.","anyOf":[{"enum":["relative"]},{"type":"boolean"}]},"worker":{"description":"Disable or configure parsing of WebWorker syntax like new Worker() or navigator.serviceWorker.register().","anyOf":[{"type":"array","items":{"description":"Specify a syntax that should be parsed as WebWorker reference. \'Abc\' handles \'new Abc()\', \'Abc from xyz\' handles \'import { Abc } from \\"xyz\\"; new Abc()\', \'abc()\' handles \'abc()\', and combinations are also possible.","type":"string","minLength":1}},{"type":"boolean"}]},"wrappedContextCritical":{"description":"Enable warnings for partial dynamic dependencies.","type":"boolean"},"wrappedContextRecursive":{"description":"Enable recursive directory lookup for partial dynamic dependencies.","type":"boolean"},"wrappedContextRegExp":{"description":"Set the inner regular expression for partial dynamic dependencies.","instanceof":"RegExp","tsType":"RegExp"}}},"Layer":{"description":"Specifies the layer in which modules of this entrypoint are placed.","anyOf":[{"enum":[null]},{"type":"string","minLength":1}]},"LazyCompilationDefaultBackendOptions":{"description":"Options for the default backend.","type":"object","additionalProperties":false,"properties":{"client":{"description":"A custom client.","type":"string"},"listen":{"description":"Specifies where to listen to from the server.","anyOf":[{"description":"A port.","type":"number"},{"description":"Listen options.","type":"object","additionalProperties":true,"properties":{"host":{"description":"A host.","type":"string"},"port":{"description":"A port.","type":"number"}},"tsType":"import(\\"net\\").ListenOptions"},{"description":"A custom listen function.","instanceof":"Function","tsType":"((server: import(\\"net\\").Server) => void)"}]},"protocol":{"description":"Specifies the protocol the client should use to connect to the server.","enum":["http","https"]},"server":{"description":"Specifies how to create the server handling the EventSource requests.","anyOf":[{"description":"ServerOptions for the http or https createServer call.","type":"object","additionalProperties":true,"properties":{},"tsType":"(import(\\"https\\").ServerOptions | import(\\"http\\").ServerOptions)"},{"description":"A custom create server function.","instanceof":"Function","tsType":"(() => import(\\"net\\").Server)"}]}}},"LazyCompilationOptions":{"description":"Options for compiling entrypoints and import()s only when they are accessed.","type":"object","additionalProperties":false,"properties":{"backend":{"description":"Specifies the backend that should be used for handling client keep alive.","anyOf":[{"description":"A custom backend.","instanceof":"Function","tsType":"(((compiler: import(\'../lib/Compiler\'), callback: (err?: Error, api?: import(\\"../lib/hmr/LazyCompilationPlugin\\").BackendApi) => void) => void) | ((compiler: import(\'../lib/Compiler\')) => Promise))"},{"$ref":"#/definitions/LazyCompilationDefaultBackendOptions"}]},"entries":{"description":"Enable/disable lazy compilation for entries.","type":"boolean"},"imports":{"description":"Enable/disable lazy compilation for import() modules.","type":"boolean"},"test":{"description":"Specify which entrypoints or import()ed modules should be lazily compiled. This is matched with the imported module and not the entrypoint name.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string"},{"instanceof":"Function","tsType":"((module: import(\'../lib/Module\')) => boolean)"}]}}},"Library":{"description":"Make the output files a library, exporting the exports of the entry point.","anyOf":[{"$ref":"#/definitions/LibraryName"},{"$ref":"#/definitions/LibraryOptions"}]},"LibraryCustomUmdCommentObject":{"description":"Set explicit comments for `commonjs`, `commonjs2`, `amd`, and `root`.","type":"object","additionalProperties":false,"properties":{"amd":{"description":"Set comment for `amd` section in UMD.","type":"string"},"commonjs":{"description":"Set comment for `commonjs` (exports) section in UMD.","type":"string"},"commonjs2":{"description":"Set comment for `commonjs2` (module.exports) section in UMD.","type":"string"},"root":{"description":"Set comment for `root` (global variable) section in UMD.","type":"string"}}},"LibraryCustomUmdObject":{"description":"Description object for all UMD variants of the library name.","type":"object","additionalProperties":false,"properties":{"amd":{"description":"Name of the exposed AMD library in the UMD.","type":"string","minLength":1},"commonjs":{"description":"Name of the exposed commonjs export in the UMD.","type":"string","minLength":1},"root":{"description":"Name of the property exposed globally by a UMD library.","anyOf":[{"type":"array","items":{"description":"Part of the name of the property exposed globally by a UMD library.","type":"string","minLength":1}},{"type":"string","minLength":1}]}}},"LibraryExport":{"description":"Specify which export should be exposed as library.","anyOf":[{"type":"array","items":{"description":"Part of the export that should be exposed as library.","type":"string","minLength":1}},{"type":"string","minLength":1}]},"LibraryName":{"description":"The name of the library (some types allow unnamed libraries too).","anyOf":[{"type":"array","items":{"description":"A part of the library name.","type":"string","minLength":1},"minItems":1},{"type":"string","minLength":1},{"$ref":"#/definitions/LibraryCustomUmdObject"}]},"LibraryOptions":{"description":"Options for library.","type":"object","additionalProperties":false,"properties":{"amdContainer":{"$ref":"#/definitions/AmdContainer"},"auxiliaryComment":{"$ref":"#/definitions/AuxiliaryComment"},"export":{"$ref":"#/definitions/LibraryExport"},"name":{"$ref":"#/definitions/LibraryName"},"type":{"$ref":"#/definitions/LibraryType"},"umdNamedDefine":{"$ref":"#/definitions/UmdNamedDefine"}},"required":["type"]},"LibraryType":{"description":"Type of library (types included by default are \'var\', \'module\', \'assign\', \'assign-properties\', \'this\', \'window\', \'self\', \'global\', \'commonjs\', \'commonjs2\', \'commonjs-module\', \'commonjs-static\', \'amd\', \'amd-require\', \'umd\', \'umd2\', \'jsonp\', \'system\', but others might be added by plugins).","anyOf":[{"enum":["var","module","assign","assign-properties","this","window","self","global","commonjs","commonjs2","commonjs-module","commonjs-static","amd","amd-require","umd","umd2","jsonp","system"]},{"type":"string"}]},"Loader":{"description":"Custom values available in the loader context.","type":"object"},"MemoryCacheOptions":{"description":"Options object for in-memory caching.","type":"object","additionalProperties":false,"properties":{"cacheUnaffected":{"description":"Additionally cache computation of modules that are unchanged and reference only unchanged modules.","type":"boolean"},"maxGenerations":{"description":"Number of generations unused cache entries stay in memory cache at minimum (1 = may be removed after unused for a single compilation, ..., Infinity: kept forever).","type":"number","minimum":1},"type":{"description":"In memory caching.","enum":["memory"]}},"required":["type"]},"Mode":{"description":"Enable production optimizations or development hints.","enum":["development","production","none"]},"ModuleFilterItemTypes":{"description":"Filtering value, regexp or function.","cli":{"helper":true},"anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string","absolutePath":false},{"instanceof":"Function","tsType":"((name: string, module: import(\'../lib/stats/DefaultStatsFactoryPlugin\').StatsModule, type: \'module\' | \'chunk\' | \'root-of-chunk\' | \'nested\') => boolean)"}]},"ModuleFilterTypes":{"description":"Filtering modules.","cli":{"helper":true},"anyOf":[{"type":"array","items":{"description":"Rule to filter.","cli":{"helper":true},"oneOf":[{"$ref":"#/definitions/ModuleFilterItemTypes"}]}},{"$ref":"#/definitions/ModuleFilterItemTypes"}]},"ModuleOptions":{"description":"Options affecting the normal modules (`NormalModuleFactory`).","type":"object","additionalProperties":false,"properties":{"defaultRules":{"description":"An array of rules applied by default for modules.","cli":{"exclude":true},"oneOf":[{"$ref":"#/definitions/RuleSetRules"}]},"exprContextCritical":{"description":"Enable warnings for full dynamic dependencies.","type":"boolean"},"exprContextRecursive":{"description":"Enable recursive directory lookup for full dynamic dependencies. Deprecated: This option has moved to \'module.parser.javascript.exprContextRecursive\'.","type":"boolean"},"exprContextRegExp":{"description":"Sets the default regular expression for full dynamic dependencies. Deprecated: This option has moved to \'module.parser.javascript.exprContextRegExp\'.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"boolean"}]},"exprContextRequest":{"description":"Set the default request for full dynamic dependencies. Deprecated: This option has moved to \'module.parser.javascript.exprContextRequest\'.","type":"string"},"generator":{"$ref":"#/definitions/GeneratorOptionsByModuleType"},"noParse":{"$ref":"#/definitions/NoParse"},"parser":{"$ref":"#/definitions/ParserOptionsByModuleType"},"rules":{"description":"An array of rules applied for modules.","oneOf":[{"$ref":"#/definitions/RuleSetRules"}]},"strictExportPresence":{"description":"Emit errors instead of warnings when imported names don\'t exist in imported module. Deprecated: This option has moved to \'module.parser.javascript.strictExportPresence\'.","type":"boolean"},"strictThisContextOnImports":{"description":"Handle the this context correctly according to the spec for namespace objects. Deprecated: This option has moved to \'module.parser.javascript.strictThisContextOnImports\'.","type":"boolean"},"unknownContextCritical":{"description":"Enable warnings when using the require function in a not statically analyse-able way. Deprecated: This option has moved to \'module.parser.javascript.unknownContextCritical\'.","type":"boolean"},"unknownContextRecursive":{"description":"Enable recursive directory lookup when using the require function in a not statically analyse-able way. Deprecated: This option has moved to \'module.parser.javascript.unknownContextRecursive\'.","type":"boolean"},"unknownContextRegExp":{"description":"Sets the regular expression when using the require function in a not statically analyse-able way. Deprecated: This option has moved to \'module.parser.javascript.unknownContextRegExp\'.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"boolean"}]},"unknownContextRequest":{"description":"Sets the request when using the require function in a not statically analyse-able way. Deprecated: This option has moved to \'module.parser.javascript.unknownContextRequest\'.","type":"string"},"unsafeCache":{"description":"Cache the resolving of module requests.","anyOf":[{"type":"boolean"},{"instanceof":"Function","tsType":"Function"}]},"wrappedContextCritical":{"description":"Enable warnings for partial dynamic dependencies. Deprecated: This option has moved to \'module.parser.javascript.wrappedContextCritical\'.","type":"boolean"},"wrappedContextRecursive":{"description":"Enable recursive directory lookup for partial dynamic dependencies. Deprecated: This option has moved to \'module.parser.javascript.wrappedContextRecursive\'.","type":"boolean"},"wrappedContextRegExp":{"description":"Set the inner regular expression for partial dynamic dependencies. Deprecated: This option has moved to \'module.parser.javascript.wrappedContextRegExp\'.","instanceof":"RegExp","tsType":"RegExp"}}},"ModuleOptionsNormalized":{"description":"Options affecting the normal modules (`NormalModuleFactory`).","type":"object","additionalProperties":false,"properties":{"defaultRules":{"description":"An array of rules applied by default for modules.","cli":{"exclude":true},"oneOf":[{"$ref":"#/definitions/RuleSetRules"}]},"generator":{"$ref":"#/definitions/GeneratorOptionsByModuleType"},"noParse":{"$ref":"#/definitions/NoParse"},"parser":{"$ref":"#/definitions/ParserOptionsByModuleType"},"rules":{"description":"An array of rules applied for modules.","oneOf":[{"$ref":"#/definitions/RuleSetRules"}]},"unsafeCache":{"description":"Cache the resolving of module requests.","anyOf":[{"type":"boolean"},{"instanceof":"Function","tsType":"Function"}]}},"required":["defaultRules","generator","parser","rules"]},"Name":{"description":"Name of the configuration. Used when loading multiple configurations.","type":"string"},"NoParse":{"description":"Don\'t parse files matching. It\'s matched against the full resolved request.","anyOf":[{"type":"array","items":{"description":"Don\'t parse files matching. It\'s matched against the full resolved request.","anyOf":[{"description":"A regular expression, when matched the module is not parsed.","instanceof":"RegExp","tsType":"RegExp"},{"description":"An absolute path, when the module starts with this path it is not parsed.","type":"string","absolutePath":true},{"instanceof":"Function","tsType":"Function"}]},"minItems":1},{"description":"A regular expression, when matched the module is not parsed.","instanceof":"RegExp","tsType":"RegExp"},{"description":"An absolute path, when the module starts with this path it is not parsed.","type":"string","absolutePath":true},{"instanceof":"Function","tsType":"Function"}]},"Node":{"description":"Include polyfills or mocks for various node stuff.","anyOf":[{"enum":[false]},{"$ref":"#/definitions/NodeOptions"}]},"NodeOptions":{"description":"Options object for node compatibility features.","type":"object","additionalProperties":false,"properties":{"__dirname":{"description":"Include a polyfill for the \'__dirname\' variable.","enum":[false,true,"warn-mock","mock","node-module","eval-only"]},"__filename":{"description":"Include a polyfill for the \'__filename\' variable.","enum":[false,true,"warn-mock","mock","node-module","eval-only"]},"global":{"description":"Include a polyfill for the \'global\' variable.","enum":[false,true,"warn"]}}},"Optimization":{"description":"Enables/Disables integrated optimizations.","type":"object","additionalProperties":false,"properties":{"checkWasmTypes":{"description":"Check for incompatible wasm types when importing/exporting from/to ESM.","type":"boolean"},"chunkIds":{"description":"Define the algorithm to choose chunk ids (named: readable ids for better debugging, deterministic: numeric hash ids for better long term caching, size: numeric ids focused on minimal initial download size, total-size: numeric ids focused on minimal total download size, false: no algorithm used, as custom one can be provided via plugin).","enum":["natural","named","deterministic","size","total-size",false]},"concatenateModules":{"description":"Concatenate modules when possible to generate less modules, more efficient code and enable more optimizations by the minimizer.","type":"boolean"},"emitOnErrors":{"description":"Emit assets even when errors occur. Critical errors are emitted into the generated code and will cause errors at runtime.","type":"boolean"},"flagIncludedChunks":{"description":"Also flag chunks as loaded which contain a subset of the modules.","type":"boolean"},"innerGraph":{"description":"Creates a module-internal dependency graph for top level symbols, exports and imports, to improve unused exports detection.","type":"boolean"},"mangleExports":{"description":"Rename exports when possible to generate shorter code (depends on optimization.usedExports and optimization.providedExports, true/\\"deterministic\\": generate short deterministic names optimized for caching, \\"size\\": generate the shortest possible names).","anyOf":[{"enum":["size","deterministic"]},{"type":"boolean"}]},"mangleWasmImports":{"description":"Reduce size of WASM by changing imports to shorter strings.","type":"boolean"},"mergeDuplicateChunks":{"description":"Merge chunks which contain the same modules.","type":"boolean"},"minimize":{"description":"Enable minimizing the output. Uses optimization.minimizer.","type":"boolean"},"minimizer":{"description":"Minimizer(s) to use for minimizing the output.","type":"array","cli":{"exclude":true},"items":{"description":"Plugin of type object or instanceof Function.","anyOf":[{"enum":["..."]},{"$ref":"#/definitions/Falsy"},{"$ref":"#/definitions/WebpackPluginInstance"},{"$ref":"#/definitions/WebpackPluginFunction"}]}},"moduleIds":{"description":"Define the algorithm to choose module ids (natural: numeric ids in order of usage, named: readable ids for better debugging, hashed: (deprecated) short hashes as ids for better long term caching, deterministic: numeric hash ids for better long term caching, size: numeric ids focused on minimal initial download size, false: no algorithm used, as custom one can be provided via plugin).","enum":["natural","named","hashed","deterministic","size",false]},"noEmitOnErrors":{"description":"Avoid emitting assets when errors occur (deprecated: use \'emitOnErrors\' instead).","type":"boolean","cli":{"exclude":true}},"nodeEnv":{"description":"Set process.env.NODE_ENV to a specific value.","anyOf":[{"enum":[false]},{"type":"string"}]},"portableRecords":{"description":"Generate records with relative paths to be able to move the context folder.","type":"boolean"},"providedExports":{"description":"Figure out which exports are provided by modules to generate more efficient code.","type":"boolean"},"realContentHash":{"description":"Use real [contenthash] based on final content of the assets.","type":"boolean"},"removeAvailableModules":{"description":"Removes modules from chunks when these modules are already included in all parents.","type":"boolean"},"removeEmptyChunks":{"description":"Remove chunks which are empty.","type":"boolean"},"runtimeChunk":{"$ref":"#/definitions/OptimizationRuntimeChunk"},"sideEffects":{"description":"Skip over modules which contain no side effects when exports are not used (false: disabled, \'flag\': only use manually placed side effects flag, true: also analyse source code for side effects).","anyOf":[{"enum":["flag"]},{"type":"boolean"}]},"splitChunks":{"description":"Optimize duplication and caching by splitting chunks by shared modules and cache group.","anyOf":[{"enum":[false]},{"$ref":"#/definitions/OptimizationSplitChunksOptions"}]},"usedExports":{"description":"Figure out which exports are used by modules to mangle export names, omit unused exports and generate more efficient code (true: analyse used exports for each runtime, \\"global\\": analyse exports globally for all runtimes combined).","anyOf":[{"enum":["global"]},{"type":"boolean"}]}}},"OptimizationRuntimeChunk":{"description":"Create an additional chunk which contains only the webpack runtime and chunk hash maps.","anyOf":[{"enum":["single","multiple"]},{"type":"boolean"},{"type":"object","additionalProperties":false,"properties":{"name":{"description":"The name or name factory for the runtime chunks.","anyOf":[{"type":"string"},{"instanceof":"Function","tsType":"Function"}]}}}]},"OptimizationRuntimeChunkNormalized":{"description":"Create an additional chunk which contains only the webpack runtime and chunk hash maps.","anyOf":[{"enum":[false]},{"type":"object","additionalProperties":false,"properties":{"name":{"description":"The name factory for the runtime chunks.","instanceof":"Function","tsType":"Function"}}}]},"OptimizationSplitChunksCacheGroup":{"description":"Options object for describing behavior of a cache group selecting modules that should be cached together.","type":"object","additionalProperties":false,"properties":{"automaticNameDelimiter":{"description":"Sets the name delimiter for created chunks.","type":"string","minLength":1},"chunks":{"description":"Select chunks for determining cache group content (defaults to \\"initial\\", \\"initial\\" and \\"all\\" requires adding these chunks to the HTML).","anyOf":[{"enum":["initial","async","all"]},{"instanceof":"RegExp","tsType":"RegExp"},{"instanceof":"Function","tsType":"((chunk: import(\'../lib/Chunk\')) => boolean)"}]},"enforce":{"description":"Ignore minimum size, minimum chunks and maximum requests and always create chunks for this cache group.","type":"boolean"},"enforceSizeThreshold":{"description":"Size threshold at which splitting is enforced and other restrictions (minRemainingSize, maxAsyncRequests, maxInitialRequests) are ignored.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"filename":{"description":"Sets the template for the filename for created chunks.","anyOf":[{"type":"string","absolutePath":false,"minLength":1},{"instanceof":"Function","tsType":"((pathData: import(\\"../lib/Compilation\\").PathData, assetInfo?: import(\\"../lib/Compilation\\").AssetInfo) => string)"}]},"idHint":{"description":"Sets the hint for chunk id.","type":"string"},"layer":{"description":"Assign modules to a cache group by module layer.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string"},{"instanceof":"Function","tsType":"Function"}]},"maxAsyncRequests":{"description":"Maximum number of requests which are accepted for on-demand loading.","type":"number","minimum":1},"maxAsyncSize":{"description":"Maximal size hint for the on-demand chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"maxInitialRequests":{"description":"Maximum number of initial chunks which are accepted for an entry point.","type":"number","minimum":1},"maxInitialSize":{"description":"Maximal size hint for the initial chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"maxSize":{"description":"Maximal size hint for the created chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"minChunks":{"description":"Minimum number of times a module has to be duplicated until it\'s considered for splitting.","type":"number","minimum":1},"minRemainingSize":{"description":"Minimal size for the chunks the stay after moving the modules to a new chunk.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"minSize":{"description":"Minimal size for the created chunk.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"minSizeReduction":{"description":"Minimum size reduction due to the created chunk.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"name":{"description":"Give chunks for this cache group a name (chunks with equal name are merged).","anyOf":[{"enum":[false]},{"type":"string"},{"instanceof":"Function","tsType":"Function"}]},"priority":{"description":"Priority of this cache group.","type":"number"},"reuseExistingChunk":{"description":"Try to reuse existing chunk (with name) when it has matching modules.","type":"boolean"},"test":{"description":"Assign modules to a cache group by module name.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string"},{"instanceof":"Function","tsType":"Function"}]},"type":{"description":"Assign modules to a cache group by module type.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string"},{"instanceof":"Function","tsType":"Function"}]},"usedExports":{"description":"Compare used exports when checking common modules. Modules will only be put in the same chunk when exports are equal.","type":"boolean"}}},"OptimizationSplitChunksGetCacheGroups":{"description":"A function returning cache groups.","instanceof":"Function","tsType":"((module: import(\'../lib/Module\')) => OptimizationSplitChunksCacheGroup | OptimizationSplitChunksCacheGroup[] | void)"},"OptimizationSplitChunksOptions":{"description":"Options object for splitting chunks into smaller chunks.","type":"object","additionalProperties":false,"properties":{"automaticNameDelimiter":{"description":"Sets the name delimiter for created chunks.","type":"string","minLength":1},"cacheGroups":{"description":"Assign modules to a cache group (modules from different cache groups are tried to keep in separate chunks, default categories: \'default\', \'defaultVendors\').","type":"object","additionalProperties":{"description":"Configuration for a cache group.","anyOf":[{"enum":[false]},{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string"},{"instanceof":"Function","tsType":"Function"},{"$ref":"#/definitions/OptimizationSplitChunksCacheGroup"}]},"not":{"description":"Using the cacheGroup shorthand syntax with a cache group named \'test\' is a potential config error\\nDid you intent to define a cache group with a test instead?\\ncacheGroups: {\\n : {\\n test: ...\\n }\\n}.","type":"object","additionalProperties":true,"properties":{"test":{"description":"The test property is a cache group name, but using the test option of the cache group could be intended instead.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string"},{"instanceof":"Function","tsType":"Function"}]}},"required":["test"]}},"chunks":{"description":"Select chunks for determining shared modules (defaults to \\"async\\", \\"initial\\" and \\"all\\" requires adding these chunks to the HTML).","anyOf":[{"enum":["initial","async","all"]},{"instanceof":"RegExp","tsType":"RegExp"},{"instanceof":"Function","tsType":"((chunk: import(\'../lib/Chunk\')) => boolean)"}]},"defaultSizeTypes":{"description":"Sets the size types which are used when a number is used for sizes.","type":"array","items":{"description":"Size type, like \'javascript\', \'webassembly\'.","type":"string"},"minItems":1},"enforceSizeThreshold":{"description":"Size threshold at which splitting is enforced and other restrictions (minRemainingSize, maxAsyncRequests, maxInitialRequests) are ignored.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"fallbackCacheGroup":{"description":"Options for modules not selected by any other cache group.","type":"object","additionalProperties":false,"properties":{"automaticNameDelimiter":{"description":"Sets the name delimiter for created chunks.","type":"string","minLength":1},"chunks":{"description":"Select chunks for determining shared modules (defaults to \\"async\\", \\"initial\\" and \\"all\\" requires adding these chunks to the HTML).","anyOf":[{"enum":["initial","async","all"]},{"instanceof":"RegExp","tsType":"RegExp"},{"instanceof":"Function","tsType":"((chunk: import(\'../lib/Chunk\')) => boolean)"}]},"maxAsyncSize":{"description":"Maximal size hint for the on-demand chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"maxInitialSize":{"description":"Maximal size hint for the initial chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"maxSize":{"description":"Maximal size hint for the created chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"minSize":{"description":"Minimal size for the created chunk.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"minSizeReduction":{"description":"Minimum size reduction due to the created chunk.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]}}},"filename":{"description":"Sets the template for the filename for created chunks.","anyOf":[{"type":"string","absolutePath":false,"minLength":1},{"instanceof":"Function","tsType":"((pathData: import(\\"../lib/Compilation\\").PathData, assetInfo?: import(\\"../lib/Compilation\\").AssetInfo) => string)"}]},"hidePathInfo":{"description":"Prevents exposing path info when creating names for parts splitted by maxSize.","type":"boolean"},"maxAsyncRequests":{"description":"Maximum number of requests which are accepted for on-demand loading.","type":"number","minimum":1},"maxAsyncSize":{"description":"Maximal size hint for the on-demand chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"maxInitialRequests":{"description":"Maximum number of initial chunks which are accepted for an entry point.","type":"number","minimum":1},"maxInitialSize":{"description":"Maximal size hint for the initial chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"maxSize":{"description":"Maximal size hint for the created chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"minChunks":{"description":"Minimum number of times a module has to be duplicated until it\'s considered for splitting.","type":"number","minimum":1},"minRemainingSize":{"description":"Minimal size for the chunks the stay after moving the modules to a new chunk.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"minSize":{"description":"Minimal size for the created chunks.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"minSizeReduction":{"description":"Minimum size reduction due to the created chunk.","oneOf":[{"$ref":"#/definitions/OptimizationSplitChunksSizes"}]},"name":{"description":"Give chunks created a name (chunks with equal name are merged).","anyOf":[{"enum":[false]},{"type":"string"},{"instanceof":"Function","tsType":"Function"}]},"usedExports":{"description":"Compare used exports when checking common modules. Modules will only be put in the same chunk when exports are equal.","type":"boolean"}}},"OptimizationSplitChunksSizes":{"description":"Size description for limits.","anyOf":[{"description":"Size of the javascript part of the chunk.","type":"number","minimum":0},{"description":"Specify size limits per size type.","type":"object","additionalProperties":{"description":"Size of the part of the chunk with the type of the key.","type":"number"}}]},"Output":{"description":"Options affecting the output of the compilation. `output` options tell webpack how to write the compiled files to disk.","type":"object","additionalProperties":false,"properties":{"amdContainer":{"cli":{"exclude":true},"oneOf":[{"$ref":"#/definitions/AmdContainer"}]},"assetModuleFilename":{"$ref":"#/definitions/AssetModuleFilename"},"asyncChunks":{"description":"Enable/disable creating async chunks that are loaded on demand.","type":"boolean"},"auxiliaryComment":{"cli":{"exclude":true},"oneOf":[{"$ref":"#/definitions/AuxiliaryComment"}]},"charset":{"$ref":"#/definitions/Charset"},"chunkFilename":{"$ref":"#/definitions/ChunkFilename"},"chunkFormat":{"$ref":"#/definitions/ChunkFormat"},"chunkLoadTimeout":{"$ref":"#/definitions/ChunkLoadTimeout"},"chunkLoading":{"$ref":"#/definitions/ChunkLoading"},"chunkLoadingGlobal":{"$ref":"#/definitions/ChunkLoadingGlobal"},"clean":{"$ref":"#/definitions/Clean"},"compareBeforeEmit":{"$ref":"#/definitions/CompareBeforeEmit"},"crossOriginLoading":{"$ref":"#/definitions/CrossOriginLoading"},"cssChunkFilename":{"$ref":"#/definitions/CssChunkFilename"},"cssFilename":{"$ref":"#/definitions/CssFilename"},"devtoolFallbackModuleFilenameTemplate":{"$ref":"#/definitions/DevtoolFallbackModuleFilenameTemplate"},"devtoolModuleFilenameTemplate":{"$ref":"#/definitions/DevtoolModuleFilenameTemplate"},"devtoolNamespace":{"$ref":"#/definitions/DevtoolNamespace"},"enabledChunkLoadingTypes":{"$ref":"#/definitions/EnabledChunkLoadingTypes"},"enabledLibraryTypes":{"$ref":"#/definitions/EnabledLibraryTypes"},"enabledWasmLoadingTypes":{"$ref":"#/definitions/EnabledWasmLoadingTypes"},"environment":{"$ref":"#/definitions/Environment"},"filename":{"$ref":"#/definitions/Filename"},"globalObject":{"$ref":"#/definitions/GlobalObject"},"hashDigest":{"$ref":"#/definitions/HashDigest"},"hashDigestLength":{"$ref":"#/definitions/HashDigestLength"},"hashFunction":{"$ref":"#/definitions/HashFunction"},"hashSalt":{"$ref":"#/definitions/HashSalt"},"hotUpdateChunkFilename":{"$ref":"#/definitions/HotUpdateChunkFilename"},"hotUpdateGlobal":{"$ref":"#/definitions/HotUpdateGlobal"},"hotUpdateMainFilename":{"$ref":"#/definitions/HotUpdateMainFilename"},"ignoreBrowserWarnings":{"description":"Ignore warnings in the browser.","type":"boolean"},"iife":{"$ref":"#/definitions/Iife"},"importFunctionName":{"$ref":"#/definitions/ImportFunctionName"},"importMetaName":{"$ref":"#/definitions/ImportMetaName"},"library":{"$ref":"#/definitions/Library"},"libraryExport":{"cli":{"exclude":true},"oneOf":[{"$ref":"#/definitions/LibraryExport"}]},"libraryTarget":{"cli":{"exclude":true},"oneOf":[{"$ref":"#/definitions/LibraryType"}]},"module":{"$ref":"#/definitions/OutputModule"},"path":{"$ref":"#/definitions/Path"},"pathinfo":{"$ref":"#/definitions/Pathinfo"},"publicPath":{"$ref":"#/definitions/PublicPath"},"scriptType":{"$ref":"#/definitions/ScriptType"},"sourceMapFilename":{"$ref":"#/definitions/SourceMapFilename"},"sourcePrefix":{"$ref":"#/definitions/SourcePrefix"},"strictModuleErrorHandling":{"$ref":"#/definitions/StrictModuleErrorHandling"},"strictModuleExceptionHandling":{"$ref":"#/definitions/StrictModuleExceptionHandling"},"trustedTypes":{"description":"Use a Trusted Types policy to create urls for chunks. \'output.uniqueName\' is used a default policy name. Passing a string sets a custom policy name.","anyOf":[{"enum":[true]},{"description":"The name of the Trusted Types policy created by webpack to serve bundle chunks.","type":"string","minLength":1},{"$ref":"#/definitions/TrustedTypes"}]},"umdNamedDefine":{"cli":{"exclude":true},"oneOf":[{"$ref":"#/definitions/UmdNamedDefine"}]},"uniqueName":{"$ref":"#/definitions/UniqueName"},"wasmLoading":{"$ref":"#/definitions/WasmLoading"},"webassemblyModuleFilename":{"$ref":"#/definitions/WebassemblyModuleFilename"},"workerChunkLoading":{"$ref":"#/definitions/ChunkLoading"},"workerPublicPath":{"$ref":"#/definitions/WorkerPublicPath"},"workerWasmLoading":{"$ref":"#/definitions/WasmLoading"}}},"OutputModule":{"description":"Output javascript files as module source type.","type":"boolean"},"OutputNormalized":{"description":"Normalized options affecting the output of the compilation. `output` options tell webpack how to write the compiled files to disk.","type":"object","additionalProperties":false,"properties":{"assetModuleFilename":{"$ref":"#/definitions/AssetModuleFilename"},"asyncChunks":{"description":"Enable/disable creating async chunks that are loaded on demand.","type":"boolean"},"charset":{"$ref":"#/definitions/Charset"},"chunkFilename":{"$ref":"#/definitions/ChunkFilename"},"chunkFormat":{"$ref":"#/definitions/ChunkFormat"},"chunkLoadTimeout":{"$ref":"#/definitions/ChunkLoadTimeout"},"chunkLoading":{"$ref":"#/definitions/ChunkLoading"},"chunkLoadingGlobal":{"$ref":"#/definitions/ChunkLoadingGlobal"},"clean":{"$ref":"#/definitions/Clean"},"compareBeforeEmit":{"$ref":"#/definitions/CompareBeforeEmit"},"crossOriginLoading":{"$ref":"#/definitions/CrossOriginLoading"},"cssChunkFilename":{"$ref":"#/definitions/CssChunkFilename"},"cssFilename":{"$ref":"#/definitions/CssFilename"},"devtoolFallbackModuleFilenameTemplate":{"$ref":"#/definitions/DevtoolFallbackModuleFilenameTemplate"},"devtoolModuleFilenameTemplate":{"$ref":"#/definitions/DevtoolModuleFilenameTemplate"},"devtoolNamespace":{"$ref":"#/definitions/DevtoolNamespace"},"enabledChunkLoadingTypes":{"$ref":"#/definitions/EnabledChunkLoadingTypes"},"enabledLibraryTypes":{"$ref":"#/definitions/EnabledLibraryTypes"},"enabledWasmLoadingTypes":{"$ref":"#/definitions/EnabledWasmLoadingTypes"},"environment":{"$ref":"#/definitions/Environment"},"filename":{"$ref":"#/definitions/Filename"},"globalObject":{"$ref":"#/definitions/GlobalObject"},"hashDigest":{"$ref":"#/definitions/HashDigest"},"hashDigestLength":{"$ref":"#/definitions/HashDigestLength"},"hashFunction":{"$ref":"#/definitions/HashFunction"},"hashSalt":{"$ref":"#/definitions/HashSalt"},"hotUpdateChunkFilename":{"$ref":"#/definitions/HotUpdateChunkFilename"},"hotUpdateGlobal":{"$ref":"#/definitions/HotUpdateGlobal"},"hotUpdateMainFilename":{"$ref":"#/definitions/HotUpdateMainFilename"},"ignoreBrowserWarnings":{"description":"Ignore warnings in the browser.","type":"boolean"},"iife":{"$ref":"#/definitions/Iife"},"importFunctionName":{"$ref":"#/definitions/ImportFunctionName"},"importMetaName":{"$ref":"#/definitions/ImportMetaName"},"library":{"$ref":"#/definitions/LibraryOptions"},"module":{"$ref":"#/definitions/OutputModule"},"path":{"$ref":"#/definitions/Path"},"pathinfo":{"$ref":"#/definitions/Pathinfo"},"publicPath":{"$ref":"#/definitions/PublicPath"},"scriptType":{"$ref":"#/definitions/ScriptType"},"sourceMapFilename":{"$ref":"#/definitions/SourceMapFilename"},"sourcePrefix":{"$ref":"#/definitions/SourcePrefix"},"strictModuleErrorHandling":{"$ref":"#/definitions/StrictModuleErrorHandling"},"strictModuleExceptionHandling":{"$ref":"#/definitions/StrictModuleExceptionHandling"},"trustedTypes":{"$ref":"#/definitions/TrustedTypes"},"uniqueName":{"$ref":"#/definitions/UniqueName"},"wasmLoading":{"$ref":"#/definitions/WasmLoading"},"webassemblyModuleFilename":{"$ref":"#/definitions/WebassemblyModuleFilename"},"workerChunkLoading":{"$ref":"#/definitions/ChunkLoading"},"workerPublicPath":{"$ref":"#/definitions/WorkerPublicPath"},"workerWasmLoading":{"$ref":"#/definitions/WasmLoading"}}},"Parallelism":{"description":"The number of parallel processed modules in the compilation.","type":"number","minimum":1},"ParserOptionsByModuleType":{"description":"Specify options for each parser.","type":"object","additionalProperties":{"description":"Options for parsing.","type":"object","additionalProperties":true},"properties":{"asset":{"$ref":"#/definitions/AssetParserOptions"},"asset/inline":{"$ref":"#/definitions/EmptyParserOptions"},"asset/resource":{"$ref":"#/definitions/EmptyParserOptions"},"asset/source":{"$ref":"#/definitions/EmptyParserOptions"},"css":{"$ref":"#/definitions/CssParserOptions"},"css/auto":{"$ref":"#/definitions/CssAutoParserOptions"},"css/global":{"$ref":"#/definitions/CssGlobalParserOptions"},"css/module":{"$ref":"#/definitions/CssModuleParserOptions"},"javascript":{"$ref":"#/definitions/JavascriptParserOptions"},"javascript/auto":{"$ref":"#/definitions/JavascriptParserOptions"},"javascript/dynamic":{"$ref":"#/definitions/JavascriptParserOptions"},"javascript/esm":{"$ref":"#/definitions/JavascriptParserOptions"}}},"Path":{"description":"The output directory as **absolute path** (required).","type":"string","absolutePath":true},"Pathinfo":{"description":"Include comments with information about the modules.","anyOf":[{"enum":["verbose"]},{"type":"boolean"}]},"Performance":{"description":"Configuration for web performance recommendations.","anyOf":[{"enum":[false]},{"$ref":"#/definitions/PerformanceOptions"}]},"PerformanceOptions":{"description":"Configuration object for web performance recommendations.","type":"object","additionalProperties":false,"properties":{"assetFilter":{"description":"Filter function to select assets that are checked.","instanceof":"Function","tsType":"Function"},"hints":{"description":"Sets the format of the hints: warnings, errors or nothing at all.","enum":[false,"warning","error"]},"maxAssetSize":{"description":"File size limit (in bytes) when exceeded, that webpack will provide performance hints.","type":"number"},"maxEntrypointSize":{"description":"Total size of an entry point (in bytes).","type":"number"}}},"Plugins":{"description":"Add additional plugins to the compiler.","type":"array","items":{"description":"Plugin of type object or instanceof Function.","anyOf":[{"$ref":"#/definitions/Falsy"},{"$ref":"#/definitions/WebpackPluginInstance"},{"$ref":"#/definitions/WebpackPluginFunction"}]}},"Profile":{"description":"Capture timing information for each module.","type":"boolean"},"PublicPath":{"description":"The \'publicPath\' specifies the public URL address of the output files when referenced in a browser.","anyOf":[{"enum":["auto"]},{"$ref":"#/definitions/RawPublicPath"}]},"RawPublicPath":{"description":"The \'publicPath\' specifies the public URL address of the output files when referenced in a browser.","anyOf":[{"type":"string"},{"instanceof":"Function","tsType":"((pathData: import(\\"../lib/Compilation\\").PathData, assetInfo?: import(\\"../lib/Compilation\\").AssetInfo) => string)"}]},"RecordsInputPath":{"description":"Store compiler state to a json file.","anyOf":[{"enum":[false]},{"type":"string","absolutePath":true}]},"RecordsOutputPath":{"description":"Load compiler state from a json file.","anyOf":[{"enum":[false]},{"type":"string","absolutePath":true}]},"RecordsPath":{"description":"Store/Load compiler state from/to a json file. This will result in persistent ids of modules and chunks. An absolute path is expected. `recordsPath` is used for `recordsInputPath` and `recordsOutputPath` if they left undefined.","anyOf":[{"enum":[false]},{"type":"string","absolutePath":true}]},"Resolve":{"description":"Options for the resolver.","oneOf":[{"$ref":"#/definitions/ResolveOptions"}]},"ResolveAlias":{"description":"Redirect module requests.","anyOf":[{"type":"array","items":{"description":"Alias configuration.","type":"object","additionalProperties":false,"properties":{"alias":{"description":"New request.","anyOf":[{"description":"Multiple alternative requests.","type":"array","items":{"description":"One choice of request.","type":"string","minLength":1}},{"description":"Ignore request (replace with empty module).","enum":[false]},{"description":"New request.","type":"string","minLength":1}]},"name":{"description":"Request to be redirected.","type":"string"},"onlyModule":{"description":"Redirect only exact matching request.","type":"boolean"}},"required":["alias","name"]}},{"type":"object","additionalProperties":{"description":"New request.","anyOf":[{"description":"Multiple alternative requests.","type":"array","items":{"description":"One choice of request.","type":"string","minLength":1}},{"description":"Ignore request (replace with empty module).","enum":[false]},{"description":"New request.","type":"string","minLength":1}]}}]},"ResolveLoader":{"description":"Options for the resolver when resolving loaders.","oneOf":[{"$ref":"#/definitions/ResolveOptions"}]},"ResolveOptions":{"description":"Options object for resolving requests.","type":"object","additionalProperties":false,"properties":{"alias":{"$ref":"#/definitions/ResolveAlias"},"aliasFields":{"description":"Fields in the description file (usually package.json) which are used to redirect requests inside the module.","type":"array","items":{"description":"Field in the description file (usually package.json) which are used to redirect requests inside the module.","anyOf":[{"type":"array","items":{"description":"Part of the field path in the description file (usually package.json) which are used to redirect requests inside the module.","type":"string","minLength":1}},{"type":"string","minLength":1}]}},"byDependency":{"description":"Extra resolve options per dependency category. Typical categories are \\"commonjs\\", \\"amd\\", \\"esm\\".","type":"object","additionalProperties":{"description":"Options object for resolving requests.","oneOf":[{"$ref":"#/definitions/ResolveOptions"}]}},"cache":{"description":"Enable caching of successfully resolved requests (cache entries are revalidated).","type":"boolean"},"cachePredicate":{"description":"Predicate function to decide which requests should be cached.","instanceof":"Function","tsType":"((request: import(\'enhanced-resolve\').ResolveRequest) => boolean)"},"cacheWithContext":{"description":"Include the context information in the cache identifier when caching.","type":"boolean"},"conditionNames":{"description":"Condition names for exports field entry point.","type":"array","items":{"description":"Condition names for exports field entry point.","type":"string"}},"descriptionFiles":{"description":"Filenames used to find a description file (like a package.json).","type":"array","items":{"description":"Filename used to find a description file (like a package.json).","type":"string","minLength":1}},"enforceExtension":{"description":"Enforce the resolver to use one of the extensions from the extensions option (User must specify requests without extension).","type":"boolean"},"exportsFields":{"description":"Field names from the description file (usually package.json) which are used to provide entry points of a package.","type":"array","items":{"description":"Field name from the description file (usually package.json) which is used to provide entry points of a package.","type":"string"}},"extensionAlias":{"description":"An object which maps extension to extension aliases.","type":"object","additionalProperties":{"description":"Extension alias.","anyOf":[{"description":"Multiple extensions.","type":"array","items":{"description":"Aliased extension.","type":"string","minLength":1}},{"description":"Aliased extension.","type":"string","minLength":1}]}},"extensions":{"description":"Extensions added to the request when trying to find the file.","type":"array","items":{"description":"Extension added to the request when trying to find the file.","type":"string"}},"fallback":{"description":"Redirect module requests when normal resolving fails.","oneOf":[{"$ref":"#/definitions/ResolveAlias"}]},"fileSystem":{"description":"Filesystem for the resolver.","tsType":"(import(\'../lib/util/fs\').InputFileSystem)"},"fullySpecified":{"description":"Treats the request specified by the user as fully specified, meaning no extensions are added and the mainFiles in directories are not resolved (This doesn\'t affect requests from mainFields, aliasFields or aliases).","type":"boolean"},"importsFields":{"description":"Field names from the description file (usually package.json) which are used to provide internal request of a package (requests starting with # are considered as internal).","type":"array","items":{"description":"Field name from the description file (usually package.json) which is used to provide internal request of a package (requests starting with # are considered as internal).","type":"string"}},"mainFields":{"description":"Field names from the description file (package.json) which are used to find the default entry point.","type":"array","items":{"description":"Field name from the description file (package.json) which are used to find the default entry point.","anyOf":[{"type":"array","items":{"description":"Part of the field path from the description file (package.json) which are used to find the default entry point.","type":"string","minLength":1}},{"type":"string","minLength":1}]}},"mainFiles":{"description":"Filenames used to find the default entry point if there is no description file or main field.","type":"array","items":{"description":"Filename used to find the default entry point if there is no description file or main field.","type":"string","minLength":1}},"modules":{"description":"Folder names or directory paths where to find modules.","type":"array","items":{"description":"Folder name or directory path where to find modules.","type":"string","minLength":1}},"plugins":{"description":"Plugins for the resolver.","type":"array","cli":{"exclude":true},"items":{"description":"Plugin of type object or instanceof Function.","anyOf":[{"enum":["..."]},{"$ref":"#/definitions/Falsy"},{"$ref":"#/definitions/ResolvePluginInstance"}]}},"preferAbsolute":{"description":"Prefer to resolve server-relative URLs (starting with \'/\') as absolute paths before falling back to resolve in \'resolve.roots\'.","type":"boolean"},"preferRelative":{"description":"Prefer to resolve module requests as relative request and fallback to resolving as module.","type":"boolean"},"resolver":{"description":"Custom resolver.","tsType":"(import(\'enhanced-resolve\').Resolver)"},"restrictions":{"description":"A list of resolve restrictions. Resolve results must fulfill all of these restrictions to resolve successfully. Other resolve paths are taken when restrictions are not met.","type":"array","items":{"description":"Resolve restriction. Resolve result must fulfill this restriction.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string","absolutePath":true,"minLength":1}]}},"roots":{"description":"A list of directories in which requests that are server-relative URLs (starting with \'/\') are resolved.","type":"array","items":{"description":"Directory in which requests that are server-relative URLs (starting with \'/\') are resolved.","type":"string"}},"symlinks":{"description":"Enable resolving symlinks to the original location.","type":"boolean"},"unsafeCache":{"description":"Enable caching of successfully resolved requests (cache entries are not revalidated).","anyOf":[{"type":"boolean"},{"type":"object","additionalProperties":true}]},"useSyncFileSystemCalls":{"description":"Use synchronous filesystem calls for the resolver.","type":"boolean"}}},"ResolvePluginInstance":{"description":"Plugin instance.","type":"object","additionalProperties":true,"properties":{"apply":{"description":"The run point of the plugin, required method.","instanceof":"Function","tsType":"(resolver: import(\'enhanced-resolve\').Resolver) => void"}},"required":["apply"]},"RuleSetCondition":{"description":"A condition matcher.","cli":{"helper":true},"anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string"},{"instanceof":"Function","tsType":"((value: string) => boolean)"},{"$ref":"#/definitions/RuleSetLogicalConditions"},{"$ref":"#/definitions/RuleSetConditions"}]},"RuleSetConditionAbsolute":{"description":"A condition matcher matching an absolute path.","cli":{"helper":true},"anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string","absolutePath":true},{"instanceof":"Function","tsType":"((value: string) => boolean)"},{"$ref":"#/definitions/RuleSetLogicalConditionsAbsolute"},{"$ref":"#/definitions/RuleSetConditionsAbsolute"}]},"RuleSetConditionOrConditions":{"description":"One or multiple rule conditions.","cli":{"helper":true},"anyOf":[{"$ref":"#/definitions/RuleSetCondition"},{"$ref":"#/definitions/RuleSetConditions"}]},"RuleSetConditionOrConditionsAbsolute":{"description":"One or multiple rule conditions matching an absolute path.","cli":{"helper":true},"anyOf":[{"$ref":"#/definitions/RuleSetConditionAbsolute"},{"$ref":"#/definitions/RuleSetConditionsAbsolute"}]},"RuleSetConditions":{"description":"A list of rule conditions.","type":"array","items":{"description":"A rule condition.","oneOf":[{"$ref":"#/definitions/RuleSetCondition"}]}},"RuleSetConditionsAbsolute":{"description":"A list of rule conditions matching an absolute path.","type":"array","items":{"description":"A rule condition matching an absolute path.","oneOf":[{"$ref":"#/definitions/RuleSetConditionAbsolute"}]}},"RuleSetLoader":{"description":"A loader request.","type":"string","minLength":1},"RuleSetLoaderOptions":{"description":"Options passed to a loader.","anyOf":[{"type":"string"},{"type":"object"}]},"RuleSetLogicalConditions":{"description":"Logic operators used in a condition matcher.","type":"object","additionalProperties":false,"properties":{"and":{"description":"Logical AND.","oneOf":[{"$ref":"#/definitions/RuleSetConditions"}]},"not":{"description":"Logical NOT.","oneOf":[{"$ref":"#/definitions/RuleSetCondition"}]},"or":{"description":"Logical OR.","oneOf":[{"$ref":"#/definitions/RuleSetConditions"}]}}},"RuleSetLogicalConditionsAbsolute":{"description":"Logic operators used in a condition matcher.","type":"object","additionalProperties":false,"properties":{"and":{"description":"Logical AND.","oneOf":[{"$ref":"#/definitions/RuleSetConditionsAbsolute"}]},"not":{"description":"Logical NOT.","oneOf":[{"$ref":"#/definitions/RuleSetConditionAbsolute"}]},"or":{"description":"Logical OR.","oneOf":[{"$ref":"#/definitions/RuleSetConditionsAbsolute"}]}}},"RuleSetRule":{"description":"A rule description with conditions and effects for modules.","type":"object","additionalProperties":false,"properties":{"assert":{"description":"Match on import assertions of the dependency.","type":"object","additionalProperties":{"$ref":"#/definitions/RuleSetConditionOrConditions"}},"compiler":{"description":"Match the child compiler name.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditions"}]},"dependency":{"description":"Match dependency type.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditions"}]},"descriptionData":{"description":"Match values of properties in the description file (usually package.json).","type":"object","additionalProperties":{"$ref":"#/definitions/RuleSetConditionOrConditions"}},"enforce":{"description":"Enforce this rule as pre or post step.","enum":["pre","post"]},"exclude":{"description":"Shortcut for resource.exclude.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},"generator":{"description":"The options for the module generator.","type":"object"},"include":{"description":"Shortcut for resource.include.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},"issuer":{"description":"Match the issuer of the module (The module pointing to this module).","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},"issuerLayer":{"description":"Match layer of the issuer of this module (The module pointing to this module).","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditions"}]},"layer":{"description":"Specifies the layer in which the module should be placed in.","type":"string"},"loader":{"description":"Shortcut for use.loader.","oneOf":[{"$ref":"#/definitions/RuleSetLoader"}]},"mimetype":{"description":"Match module mimetype when load from Data URI.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditions"}]},"oneOf":{"description":"Only execute the first matching rule in this array.","type":"array","items":{"description":"A rule.","anyOf":[{"$ref":"#/definitions/Falsy"},{"$ref":"#/definitions/RuleSetRule"}]}},"options":{"description":"Shortcut for use.options.","cli":{"exclude":true},"oneOf":[{"$ref":"#/definitions/RuleSetLoaderOptions"}]},"parser":{"description":"Options for parsing.","type":"object","additionalProperties":true},"realResource":{"description":"Match the real resource path of the module.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},"resolve":{"description":"Options for the resolver.","type":"object","oneOf":[{"$ref":"#/definitions/ResolveOptions"}]},"resource":{"description":"Match the resource path of the module.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},"resourceFragment":{"description":"Match the resource fragment of the module.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditions"}]},"resourceQuery":{"description":"Match the resource query of the module.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditions"}]},"rules":{"description":"Match and execute these rules when this rule is matched.","type":"array","items":{"description":"A rule.","anyOf":[{"$ref":"#/definitions/Falsy"},{"$ref":"#/definitions/RuleSetRule"}]}},"scheme":{"description":"Match module scheme.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditions"}]},"sideEffects":{"description":"Flags a module as with or without side effects.","type":"boolean"},"test":{"description":"Shortcut for resource.test.","oneOf":[{"$ref":"#/definitions/RuleSetConditionOrConditionsAbsolute"}]},"type":{"description":"Module type to use for the module.","type":"string"},"use":{"description":"Modifiers applied to the module when rule is matched.","oneOf":[{"$ref":"#/definitions/RuleSetUse"}]}}},"RuleSetRules":{"description":"A list of rules.","type":"array","items":{"description":"A rule.","anyOf":[{"cli":{"exclude":true},"enum":["..."]},{"$ref":"#/definitions/Falsy"},{"$ref":"#/definitions/RuleSetRule"}]}},"RuleSetUse":{"description":"A list of descriptions of loaders applied.","anyOf":[{"type":"array","items":{"description":"An use item.","anyOf":[{"$ref":"#/definitions/Falsy"},{"$ref":"#/definitions/RuleSetUseItem"}]}},{"instanceof":"Function","tsType":"((data: { resource: string, realResource: string, resourceQuery: string, issuer: string, compiler: string }) => (Falsy | RuleSetUseItem)[])"},{"$ref":"#/definitions/RuleSetUseItem"}]},"RuleSetUseItem":{"description":"A description of an applied loader.","anyOf":[{"type":"object","additionalProperties":false,"properties":{"ident":{"description":"Unique loader options identifier.","type":"string"},"loader":{"description":"Loader name.","oneOf":[{"$ref":"#/definitions/RuleSetLoader"}]},"options":{"description":"Loader options.","oneOf":[{"$ref":"#/definitions/RuleSetLoaderOptions"}]}}},{"instanceof":"Function","tsType":"((data: object) => RuleSetUseItem | (Falsy | RuleSetUseItem)[])"},{"$ref":"#/definitions/RuleSetLoader"}]},"ScriptType":{"description":"This option enables loading async chunks via a custom script type, such as script type=\\"module\\".","enum":[false,"text/javascript","module"]},"SnapshotOptions":{"description":"Options affecting how file system snapshots are created and validated.","type":"object","additionalProperties":false,"properties":{"buildDependencies":{"description":"Options for snapshotting build dependencies to determine if the whole cache need to be invalidated.","type":"object","additionalProperties":false,"properties":{"hash":{"description":"Use hashes of the content of the files/directories to determine invalidation.","type":"boolean"},"timestamp":{"description":"Use timestamps of the files/directories to determine invalidation.","type":"boolean"}}},"immutablePaths":{"description":"List of paths that are managed by a package manager and contain a version or hash in its path so all files are immutable.","type":"array","items":{"description":"List of paths that are managed by a package manager and contain a version or hash in its path so all files are immutable.","anyOf":[{"description":"A RegExp matching an immutable directory (usually a package manager cache directory, including the tailing slash)","instanceof":"RegExp","tsType":"RegExp"},{"description":"A path to an immutable directory (usually a package manager cache directory).","type":"string","absolutePath":true,"minLength":1}]}},"managedPaths":{"description":"List of paths that are managed by a package manager and can be trusted to not be modified otherwise.","type":"array","items":{"description":"List of paths that are managed by a package manager and can be trusted to not be modified otherwise.","anyOf":[{"description":"A RegExp matching a managed directory (usually a node_modules directory, including the tailing slash)","instanceof":"RegExp","tsType":"RegExp"},{"description":"A path to a managed directory (usually a node_modules directory).","type":"string","absolutePath":true,"minLength":1}]}},"module":{"description":"Options for snapshotting dependencies of modules to determine if they need to be built again.","type":"object","additionalProperties":false,"properties":{"hash":{"description":"Use hashes of the content of the files/directories to determine invalidation.","type":"boolean"},"timestamp":{"description":"Use timestamps of the files/directories to determine invalidation.","type":"boolean"}}},"resolve":{"description":"Options for snapshotting dependencies of request resolving to determine if requests need to be re-resolved.","type":"object","additionalProperties":false,"properties":{"hash":{"description":"Use hashes of the content of the files/directories to determine invalidation.","type":"boolean"},"timestamp":{"description":"Use timestamps of the files/directories to determine invalidation.","type":"boolean"}}},"resolveBuildDependencies":{"description":"Options for snapshotting the resolving of build dependencies to determine if the build dependencies need to be re-resolved.","type":"object","additionalProperties":false,"properties":{"hash":{"description":"Use hashes of the content of the files/directories to determine invalidation.","type":"boolean"},"timestamp":{"description":"Use timestamps of the files/directories to determine invalidation.","type":"boolean"}}},"unmanagedPaths":{"description":"List of paths that are not managed by a package manager and the contents are subject to change.","type":"array","items":{"description":"List of paths that are not managed by a package manager and the contents are subject to change.","anyOf":[{"description":"A RegExp matching an unmanaged directory.","instanceof":"RegExp","tsType":"RegExp"},{"description":"A path to an unmanaged directory.","type":"string","absolutePath":true,"minLength":1}]}}}},"SourceMapFilename":{"description":"The filename of the SourceMaps for the JavaScript files. They are inside the \'output.path\' directory.","type":"string","absolutePath":false},"SourcePrefix":{"description":"Prefixes every line of the source in the bundle with this string.","type":"string"},"StatsOptions":{"description":"Stats options object.","type":"object","additionalProperties":false,"properties":{"all":{"description":"Fallback value for stats options when an option is not defined (has precedence over local webpack defaults).","type":"boolean"},"assets":{"description":"Add assets information.","type":"boolean"},"assetsSort":{"description":"Sort the assets by that field.","type":"string"},"assetsSpace":{"description":"Space to display assets (groups will be collapsed to fit this space).","type":"number"},"builtAt":{"description":"Add built at time information.","type":"boolean"},"cached":{"description":"Add information about cached (not built) modules (deprecated: use \'cachedModules\' instead).","type":"boolean"},"cachedAssets":{"description":"Show cached assets (setting this to `false` only shows emitted files).","type":"boolean"},"cachedModules":{"description":"Add information about cached (not built) modules.","type":"boolean"},"children":{"description":"Add children information.","type":"boolean"},"chunkGroupAuxiliary":{"description":"Display auxiliary assets in chunk groups.","type":"boolean"},"chunkGroupChildren":{"description":"Display children of chunk groups.","type":"boolean"},"chunkGroupMaxAssets":{"description":"Limit of assets displayed in chunk groups.","type":"number"},"chunkGroups":{"description":"Display all chunk groups with the corresponding bundles.","type":"boolean"},"chunkModules":{"description":"Add built modules information to chunk information.","type":"boolean"},"chunkModulesSpace":{"description":"Space to display chunk modules (groups will be collapsed to fit this space, value is in number of modules/group).","type":"number"},"chunkOrigins":{"description":"Add the origins of chunks and chunk merging info.","type":"boolean"},"chunkRelations":{"description":"Add information about parent, children and sibling chunks to chunk information.","type":"boolean"},"chunks":{"description":"Add chunk information.","type":"boolean"},"chunksSort":{"description":"Sort the chunks by that field.","type":"string"},"colors":{"description":"Enables/Disables colorful output.","anyOf":[{"description":"Enables/Disables colorful output.","type":"boolean"},{"type":"object","additionalProperties":false,"properties":{"bold":{"description":"Custom color for bold text.","type":"string"},"cyan":{"description":"Custom color for cyan text.","type":"string"},"green":{"description":"Custom color for green text.","type":"string"},"magenta":{"description":"Custom color for magenta text.","type":"string"},"red":{"description":"Custom color for red text.","type":"string"},"yellow":{"description":"Custom color for yellow text.","type":"string"}}}]},"context":{"description":"Context directory for request shortening.","type":"string","absolutePath":true},"dependentModules":{"description":"Show chunk modules that are dependencies of other modules of the chunk.","type":"boolean"},"depth":{"description":"Add module depth in module graph.","type":"boolean"},"entrypoints":{"description":"Display the entry points with the corresponding bundles.","anyOf":[{"enum":["auto"]},{"type":"boolean"}]},"env":{"description":"Add --env information.","type":"boolean"},"errorDetails":{"description":"Add details to errors (like resolving log).","anyOf":[{"enum":["auto"]},{"type":"boolean"}]},"errorStack":{"description":"Add internal stack trace to errors.","type":"boolean"},"errors":{"description":"Add errors.","type":"boolean"},"errorsCount":{"description":"Add errors count.","type":"boolean"},"errorsSpace":{"description":"Space to display errors (value is in number of lines).","type":"number"},"exclude":{"description":"Please use excludeModules instead.","cli":{"exclude":true},"anyOf":[{"type":"boolean"},{"$ref":"#/definitions/ModuleFilterTypes"}]},"excludeAssets":{"description":"Suppress assets that match the specified filters. Filters can be Strings, RegExps or Functions.","oneOf":[{"$ref":"#/definitions/AssetFilterTypes"}]},"excludeModules":{"description":"Suppress modules that match the specified filters. Filters can be Strings, RegExps, Booleans or Functions.","anyOf":[{"type":"boolean"},{"$ref":"#/definitions/ModuleFilterTypes"}]},"groupAssetsByChunk":{"description":"Group assets by how their are related to chunks.","type":"boolean"},"groupAssetsByEmitStatus":{"description":"Group assets by their status (emitted, compared for emit or cached).","type":"boolean"},"groupAssetsByExtension":{"description":"Group assets by their extension.","type":"boolean"},"groupAssetsByInfo":{"description":"Group assets by their asset info (immutable, development, hotModuleReplacement, etc).","type":"boolean"},"groupAssetsByPath":{"description":"Group assets by their path.","type":"boolean"},"groupModulesByAttributes":{"description":"Group modules by their attributes (errors, warnings, assets, optional, orphan, or dependent).","type":"boolean"},"groupModulesByCacheStatus":{"description":"Group modules by their status (cached or built and cacheable).","type":"boolean"},"groupModulesByExtension":{"description":"Group modules by their extension.","type":"boolean"},"groupModulesByLayer":{"description":"Group modules by their layer.","type":"boolean"},"groupModulesByPath":{"description":"Group modules by their path.","type":"boolean"},"groupModulesByType":{"description":"Group modules by their type.","type":"boolean"},"groupReasonsByOrigin":{"description":"Group reasons by their origin module.","type":"boolean"},"hash":{"description":"Add the hash of the compilation.","type":"boolean"},"ids":{"description":"Add ids.","type":"boolean"},"logging":{"description":"Add logging output.","anyOf":[{"description":"Specify log level of logging output.","enum":["none","error","warn","info","log","verbose"]},{"description":"Enable/disable logging output (`true`: shows normal logging output, loglevel: log).","type":"boolean"}]},"loggingDebug":{"description":"Include debug logging of specified loggers (i. e. for plugins or loaders). Filters can be Strings, RegExps or Functions.","anyOf":[{"description":"Enable/Disable debug logging for all loggers.","type":"boolean"},{"$ref":"#/definitions/FilterTypes"}]},"loggingTrace":{"description":"Add stack traces to logging output.","type":"boolean"},"moduleAssets":{"description":"Add information about assets inside modules.","type":"boolean"},"moduleTrace":{"description":"Add dependencies and origin of warnings/errors.","type":"boolean"},"modules":{"description":"Add built modules information.","type":"boolean"},"modulesSort":{"description":"Sort the modules by that field.","type":"string"},"modulesSpace":{"description":"Space to display modules (groups will be collapsed to fit this space, value is in number of modules/groups).","type":"number"},"nestedModules":{"description":"Add information about modules nested in other modules (like with module concatenation).","type":"boolean"},"nestedModulesSpace":{"description":"Space to display modules nested within other modules (groups will be collapsed to fit this space, value is in number of modules/group).","type":"number"},"optimizationBailout":{"description":"Show reasons why optimization bailed out for modules.","type":"boolean"},"orphanModules":{"description":"Add information about orphan modules.","type":"boolean"},"outputPath":{"description":"Add output path information.","type":"boolean"},"performance":{"description":"Add performance hint flags.","type":"boolean"},"preset":{"description":"Preset for the default values.","anyOf":[{"type":"boolean"},{"type":"string"}]},"providedExports":{"description":"Show exports provided by modules.","type":"boolean"},"publicPath":{"description":"Add public path information.","type":"boolean"},"reasons":{"description":"Add information about the reasons why modules are included.","type":"boolean"},"reasonsSpace":{"description":"Space to display reasons (groups will be collapsed to fit this space).","type":"number"},"relatedAssets":{"description":"Add information about assets that are related to other assets (like SourceMaps for assets).","type":"boolean"},"runtime":{"description":"Add information about runtime modules (deprecated: use \'runtimeModules\' instead).","type":"boolean"},"runtimeModules":{"description":"Add information about runtime modules.","type":"boolean"},"source":{"description":"Add the source code of modules.","type":"boolean"},"timings":{"description":"Add timing information.","type":"boolean"},"usedExports":{"description":"Show exports used by modules.","type":"boolean"},"version":{"description":"Add webpack version information.","type":"boolean"},"warnings":{"description":"Add warnings.","type":"boolean"},"warningsCount":{"description":"Add warnings count.","type":"boolean"},"warningsFilter":{"description":"Suppress listing warnings that match the specified filters (they will still be counted). Filters can be Strings, RegExps or Functions.","oneOf":[{"$ref":"#/definitions/WarningFilterTypes"}]},"warningsSpace":{"description":"Space to display warnings (value is in number of lines).","type":"number"}}},"StatsValue":{"description":"Stats options object or preset name.","anyOf":[{"enum":["none","summary","errors-only","errors-warnings","minimal","normal","detailed","verbose"]},{"type":"boolean"},{"$ref":"#/definitions/StatsOptions"}]},"StrictModuleErrorHandling":{"description":"Handles error in module loading correctly at a performance cost. This will handle module error compatible with the EcmaScript Modules spec.","type":"boolean"},"StrictModuleExceptionHandling":{"description":"Handles exceptions in module loading correctly at a performance cost (Deprecated). This will handle module error compatible with the Node.js CommonJS way.","type":"boolean"},"Target":{"description":"Environment to build for. An array of environments to build for all of them when possible.","anyOf":[{"type":"array","items":{"description":"Environment to build for.","type":"string","minLength":1},"minItems":1},{"enum":[false]},{"type":"string","minLength":1}]},"TrustedTypes":{"description":"Use a Trusted Types policy to create urls for chunks.","type":"object","additionalProperties":false,"properties":{"onPolicyCreationFailure":{"description":"If the call to `trustedTypes.createPolicy(...)` fails -- e.g., due to the policy name missing from the CSP `trusted-types` list, or it being a duplicate name, etc. -- controls whether to continue with loading in the hope that `require-trusted-types-for \'script\'` isn\'t enforced yet, versus fail immediately. Default behavior is \'stop\'.","enum":["continue","stop"]},"policyName":{"description":"The name of the Trusted Types policy created by webpack to serve bundle chunks.","type":"string","minLength":1}}},"UmdNamedDefine":{"description":"If `output.libraryTarget` is set to umd and `output.library` is set, setting this to true will name the AMD module.","type":"boolean"},"UniqueName":{"description":"A unique name of the webpack build to avoid multiple webpack runtimes to conflict when using globals.","type":"string","minLength":1},"WarningFilterItemTypes":{"description":"Filtering value, regexp or function.","cli":{"helper":true},"anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string","absolutePath":false},{"instanceof":"Function","tsType":"((warning: import(\'../lib/stats/DefaultStatsFactoryPlugin\').StatsError, value: string) => boolean)"}]},"WarningFilterTypes":{"description":"Filtering warnings.","cli":{"helper":true},"anyOf":[{"type":"array","items":{"description":"Rule to filter.","cli":{"helper":true},"oneOf":[{"$ref":"#/definitions/WarningFilterItemTypes"}]}},{"$ref":"#/definitions/WarningFilterItemTypes"}]},"WasmLoading":{"description":"The method of loading WebAssembly Modules (methods included by default are \'fetch\' (web/WebWorker), \'async-node\' (node.js), but others might be added by plugins).","anyOf":[{"enum":[false]},{"$ref":"#/definitions/WasmLoadingType"}]},"WasmLoadingType":{"description":"The method of loading WebAssembly Modules (methods included by default are \'fetch\' (web/WebWorker), \'async-node\' (node.js), but others might be added by plugins).","anyOf":[{"enum":["fetch-streaming","fetch","async-node"]},{"type":"string"}]},"Watch":{"description":"Enter watch mode, which rebuilds on file change.","type":"boolean"},"WatchOptions":{"description":"Options for the watcher.","type":"object","additionalProperties":false,"properties":{"aggregateTimeout":{"description":"Delay the rebuilt after the first change. Value is a time in ms.","type":"number"},"followSymlinks":{"description":"Resolve symlinks and watch symlink and real file. This is usually not needed as webpack already resolves symlinks (\'resolve.symlinks\').","type":"boolean"},"ignored":{"description":"Ignore some files from watching (glob pattern or regexp).","anyOf":[{"type":"array","items":{"description":"A glob pattern for files that should be ignored from watching.","type":"string","minLength":1}},{"instanceof":"RegExp","tsType":"RegExp"},{"description":"A single glob pattern for files that should be ignored from watching.","type":"string","minLength":1}]},"poll":{"description":"Enable polling mode for watching.","anyOf":[{"description":"`number`: use polling with specified interval.","type":"number"},{"description":"`true`: use polling.","type":"boolean"}]},"stdin":{"description":"Stop watching when stdin stream has ended.","type":"boolean"}}},"WebassemblyModuleFilename":{"description":"The filename of WebAssembly modules as relative path inside the \'output.path\' directory.","type":"string","absolutePath":false},"WebpackOptionsNormalized":{"description":"Normalized webpack options object.","type":"object","additionalProperties":false,"properties":{"amd":{"$ref":"#/definitions/Amd"},"bail":{"$ref":"#/definitions/Bail"},"cache":{"$ref":"#/definitions/CacheOptionsNormalized"},"context":{"$ref":"#/definitions/Context"},"dependencies":{"$ref":"#/definitions/Dependencies"},"devServer":{"$ref":"#/definitions/DevServer"},"devtool":{"$ref":"#/definitions/DevTool"},"entry":{"$ref":"#/definitions/EntryNormalized"},"experiments":{"$ref":"#/definitions/ExperimentsNormalized"},"externals":{"$ref":"#/definitions/Externals"},"externalsPresets":{"$ref":"#/definitions/ExternalsPresets"},"externalsType":{"$ref":"#/definitions/ExternalsType"},"ignoreWarnings":{"$ref":"#/definitions/IgnoreWarningsNormalized"},"infrastructureLogging":{"$ref":"#/definitions/InfrastructureLogging"},"loader":{"$ref":"#/definitions/Loader"},"mode":{"$ref":"#/definitions/Mode"},"module":{"$ref":"#/definitions/ModuleOptionsNormalized"},"name":{"$ref":"#/definitions/Name"},"node":{"$ref":"#/definitions/Node"},"optimization":{"$ref":"#/definitions/Optimization"},"output":{"$ref":"#/definitions/OutputNormalized"},"parallelism":{"$ref":"#/definitions/Parallelism"},"performance":{"$ref":"#/definitions/Performance"},"plugins":{"$ref":"#/definitions/Plugins"},"profile":{"$ref":"#/definitions/Profile"},"recordsInputPath":{"$ref":"#/definitions/RecordsInputPath"},"recordsOutputPath":{"$ref":"#/definitions/RecordsOutputPath"},"resolve":{"$ref":"#/definitions/Resolve"},"resolveLoader":{"$ref":"#/definitions/ResolveLoader"},"snapshot":{"$ref":"#/definitions/SnapshotOptions"},"stats":{"$ref":"#/definitions/StatsValue"},"target":{"$ref":"#/definitions/Target"},"watch":{"$ref":"#/definitions/Watch"},"watchOptions":{"$ref":"#/definitions/WatchOptions"}},"required":["cache","snapshot","entry","experiments","externals","externalsPresets","infrastructureLogging","module","node","optimization","output","plugins","resolve","resolveLoader","stats","watchOptions"]},"WebpackPluginFunction":{"description":"Function acting as plugin.","instanceof":"Function","tsType":"(this: import(\'../lib/Compiler\'), compiler: import(\'../lib/Compiler\')) => void"},"WebpackPluginInstance":{"description":"Plugin instance.","type":"object","additionalProperties":true,"properties":{"apply":{"description":"The run point of the plugin, required method.","instanceof":"Function","tsType":"(compiler: import(\'../lib/Compiler\')) => void"}},"required":["apply"]},"WorkerPublicPath":{"description":"Worker public path. Much like the public path, this sets the location where the worker script file is intended to be found. If not set, webpack will use the publicPath. Don\'t set this option unless your worker scripts are located at a different path from your other script files.","type":"string"}},"title":"WebpackOptions","description":"Options object as provided by the user.","type":"object","additionalProperties":false,"properties":{"amd":{"$ref":"#/definitions/Amd"},"bail":{"$ref":"#/definitions/Bail"},"cache":{"$ref":"#/definitions/CacheOptions"},"context":{"$ref":"#/definitions/Context"},"dependencies":{"$ref":"#/definitions/Dependencies"},"devServer":{"$ref":"#/definitions/DevServer"},"devtool":{"$ref":"#/definitions/DevTool"},"entry":{"$ref":"#/definitions/Entry"},"experiments":{"$ref":"#/definitions/Experiments"},"extends":{"$ref":"#/definitions/Extends"},"externals":{"$ref":"#/definitions/Externals"},"externalsPresets":{"$ref":"#/definitions/ExternalsPresets"},"externalsType":{"$ref":"#/definitions/ExternalsType"},"ignoreWarnings":{"$ref":"#/definitions/IgnoreWarnings"},"infrastructureLogging":{"$ref":"#/definitions/InfrastructureLogging"},"loader":{"$ref":"#/definitions/Loader"},"mode":{"$ref":"#/definitions/Mode"},"module":{"$ref":"#/definitions/ModuleOptions"},"name":{"$ref":"#/definitions/Name"},"node":{"$ref":"#/definitions/Node"},"optimization":{"$ref":"#/definitions/Optimization"},"output":{"$ref":"#/definitions/Output"},"parallelism":{"$ref":"#/definitions/Parallelism"},"performance":{"$ref":"#/definitions/Performance"},"plugins":{"$ref":"#/definitions/Plugins"},"profile":{"$ref":"#/definitions/Profile"},"recordsInputPath":{"$ref":"#/definitions/RecordsInputPath"},"recordsOutputPath":{"$ref":"#/definitions/RecordsOutputPath"},"recordsPath":{"$ref":"#/definitions/RecordsPath"},"resolve":{"$ref":"#/definitions/Resolve"},"resolveLoader":{"$ref":"#/definitions/ResolveLoader"},"snapshot":{"$ref":"#/definitions/SnapshotOptions"},"stats":{"$ref":"#/definitions/StatsValue"},"target":{"$ref":"#/definitions/Target"},"watch":{"$ref":"#/definitions/Watch"},"watchOptions":{"$ref":"#/definitions/WatchOptions"}}}')},31042:function(v){"use strict";v.exports=JSON.parse('{"definitions":{"BannerFunction":{"description":"The banner as function, it will be wrapped in a comment.","instanceof":"Function","tsType":"(data: { hash: string, chunk: import(\'../../lib/Chunk\'), filename: string }) => string"},"Rule":{"description":"Filtering rule as regex or string.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string","minLength":1}]},"Rules":{"description":"Filtering rules.","anyOf":[{"type":"array","items":{"description":"A rule condition.","oneOf":[{"$ref":"#/definitions/Rule"}]}},{"$ref":"#/definitions/Rule"}]}},"title":"BannerPluginArgument","anyOf":[{"description":"The banner as string, it will be wrapped in a comment.","type":"string","minLength":1},{"title":"BannerPluginOptions","type":"object","additionalProperties":false,"properties":{"banner":{"description":"Specifies the banner.","anyOf":[{"type":"string"},{"$ref":"#/definitions/BannerFunction"}]},"entryOnly":{"description":"If true, the banner will only be added to the entry chunks.","type":"boolean"},"exclude":{"description":"Exclude all modules matching any of these conditions.","oneOf":[{"$ref":"#/definitions/Rules"}]},"footer":{"description":"If true, banner will be placed at the end of the output.","type":"boolean"},"include":{"description":"Include all modules matching any of these conditions.","oneOf":[{"$ref":"#/definitions/Rules"}]},"raw":{"description":"If true, banner will not be wrapped in a comment.","type":"boolean"},"test":{"description":"Include all modules that pass test assertion.","oneOf":[{"$ref":"#/definitions/Rules"}]}},"required":["banner"]},{"$ref":"#/definitions/BannerFunction"}]}')},47080:function(v){"use strict";v.exports=JSON.parse('{"title":"DllPluginOptions","type":"object","additionalProperties":false,"properties":{"context":{"description":"Context of requests in the manifest file (defaults to the webpack context).","type":"string","minLength":1},"entryOnly":{"description":"If true, only entry points will be exposed (default: true).","type":"boolean"},"format":{"description":"If true, manifest json file (output) will be formatted.","type":"boolean"},"name":{"description":"Name of the exposed dll function (external name, use value of \'output.library\').","type":"string","minLength":1},"path":{"description":"Absolute path to the manifest json file (output).","type":"string","minLength":1},"type":{"description":"Type of the dll bundle (external type, use value of \'output.libraryTarget\').","type":"string","minLength":1}},"required":["path"]}')},15557:function(v){"use strict";v.exports=JSON.parse('{"definitions":{"DllReferencePluginOptionsContent":{"description":"The mappings from request to module info.","type":"object","additionalProperties":{"description":"Module info.","type":"object","additionalProperties":false,"properties":{"buildMeta":{"description":"Meta information about the module.","type":"object"},"exports":{"description":"Information about the provided exports of the module.","anyOf":[{"description":"List of provided exports of the module.","type":"array","items":{"description":"Name of the export.","type":"string","minLength":1}},{"description":"Exports unknown/dynamic.","enum":[true]}]},"id":{"description":"Module ID.","anyOf":[{"type":"number"},{"type":"string","minLength":1}]}},"required":["id"]},"minProperties":1},"DllReferencePluginOptionsManifest":{"description":"An object containing content, name and type.","type":"object","additionalProperties":false,"properties":{"content":{"description":"The mappings from request to module info.","oneOf":[{"$ref":"#/definitions/DllReferencePluginOptionsContent"}]},"name":{"description":"The name where the dll is exposed (external name).","type":"string","minLength":1},"type":{"description":"The type how the dll is exposed (external type).","oneOf":[{"$ref":"#/definitions/DllReferencePluginOptionsSourceType"}]}},"required":["content"]},"DllReferencePluginOptionsSourceType":{"description":"The type how the dll is exposed (external type).","enum":["var","assign","this","window","global","commonjs","commonjs2","commonjs-module","amd","amd-require","umd","umd2","jsonp","system"]}},"title":"DllReferencePluginOptions","anyOf":[{"type":"object","additionalProperties":false,"properties":{"context":{"description":"Context of requests in the manifest (or content property) as absolute path.","type":"string","absolutePath":true},"extensions":{"description":"Extensions used to resolve modules in the dll bundle (only used when using \'scope\').","type":"array","items":{"description":"An extension.","type":"string"}},"manifest":{"description":"An object containing content and name or a string to the absolute path of the JSON manifest to be loaded upon compilation.","anyOf":[{"type":"string","absolutePath":true},{"$ref":"#/definitions/DllReferencePluginOptionsManifest"}]},"name":{"description":"The name where the dll is exposed (external name, defaults to manifest.name).","type":"string","minLength":1},"scope":{"description":"Prefix which is used for accessing the content of the dll.","type":"string","minLength":1},"sourceType":{"description":"How the dll is exposed (libraryTarget, defaults to manifest.type).","oneOf":[{"$ref":"#/definitions/DllReferencePluginOptionsSourceType"}]},"type":{"description":"The way how the export of the dll bundle is used.","enum":["require","object"]}},"required":["manifest"]},{"type":"object","additionalProperties":false,"properties":{"content":{"description":"The mappings from request to module info.","oneOf":[{"$ref":"#/definitions/DllReferencePluginOptionsContent"}]},"context":{"description":"Context of requests in the manifest (or content property) as absolute path.","type":"string","absolutePath":true},"extensions":{"description":"Extensions used to resolve modules in the dll bundle (only used when using \'scope\').","type":"array","items":{"description":"An extension.","type":"string"}},"name":{"description":"The name where the dll is exposed (external name).","type":"string","minLength":1},"scope":{"description":"Prefix which is used for accessing the content of the dll.","type":"string","minLength":1},"sourceType":{"description":"How the dll is exposed (libraryTarget).","oneOf":[{"$ref":"#/definitions/DllReferencePluginOptionsSourceType"}]},"type":{"description":"The way how the export of the dll bundle is used.","enum":["require","object"]}},"required":["content","name"]}]}')},3700:function(v){"use strict";v.exports=JSON.parse('{"definitions":{"HashFunction":{"description":"Algorithm used for generation the hash (see node.js crypto package).","anyOf":[{"type":"string","minLength":1},{"instanceof":"Function","tsType":"typeof import(\'../../lib/util/Hash\')"}]}},"title":"HashedModuleIdsPluginOptions","type":"object","additionalProperties":false,"properties":{"context":{"description":"The context directory for creating names.","type":"string","absolutePath":true},"hashDigest":{"description":"The encoding to use when generating the hash, defaults to \'base64\'. All encodings from Node.JS\' hash.digest are supported.","enum":["hex","latin1","base64"]},"hashDigestLength":{"description":"The prefix length of the hash digest to use, defaults to 4.","type":"number","minimum":1},"hashFunction":{"description":"The hashing algorithm to use, defaults to \'md4\'. All functions from Node.JS\' crypto.createHash are supported.","oneOf":[{"$ref":"#/definitions/HashFunction"}]}}}')},63072:function(v){"use strict";v.exports=JSON.parse('{"title":"IgnorePluginOptions","anyOf":[{"type":"object","additionalProperties":false,"properties":{"contextRegExp":{"description":"A RegExp to test the context (directory) against.","instanceof":"RegExp","tsType":"RegExp"},"resourceRegExp":{"description":"A RegExp to test the request against.","instanceof":"RegExp","tsType":"RegExp"}},"required":["resourceRegExp"]},{"type":"object","additionalProperties":false,"properties":{"checkResource":{"description":"A filter function for resource and context.","instanceof":"Function","tsType":"((resource: string, context: string) => boolean)"}},"required":["checkResource"]}]}')},10021:function(v){"use strict";v.exports=JSON.parse('{"title":"JsonModulesPluginParserOptions","type":"object","additionalProperties":false,"properties":{"parse":{"description":"Function that executes for a module source string and should return json-compatible data.","instanceof":"Function","tsType":"((input: string) => any)"}}}')},30653:function(v){"use strict";v.exports=JSON.parse('{"title":"LoaderOptionsPluginOptions","type":"object","additionalProperties":true,"properties":{"debug":{"description":"Whether loaders should be in debug mode or not. debug will be removed as of webpack 3.","type":"boolean"},"minimize":{"description":"Where loaders can be switched to minimize mode.","type":"boolean"},"options":{"description":"A configuration object that can be used to configure older loaders.","type":"object","additionalProperties":true,"properties":{"context":{"description":"The context that can be used to configure older loaders.","type":"string","absolutePath":true}}}}}')},17643:function(v){"use strict";v.exports=JSON.parse('{"definitions":{"HandlerFunction":{"description":"Function that executes for every progress step.","instanceof":"Function","tsType":"((percentage: number, msg: string, ...args: string[]) => void)"},"ProgressPluginOptions":{"description":"Options object for the ProgressPlugin.","type":"object","additionalProperties":false,"properties":{"activeModules":{"description":"Show active modules count and one active module in progress message.","type":"boolean"},"dependencies":{"description":"Show dependencies count in progress message.","type":"boolean"},"dependenciesCount":{"description":"Minimum dependencies count to start with. For better progress calculation. Default: 10000.","type":"number"},"entries":{"description":"Show entries count in progress message.","type":"boolean"},"handler":{"description":"Function that executes for every progress step.","oneOf":[{"$ref":"#/definitions/HandlerFunction"}]},"modules":{"description":"Show modules count in progress message.","type":"boolean"},"modulesCount":{"description":"Minimum modules count to start with. For better progress calculation. Default: 5000.","type":"number"},"percentBy":{"description":"Collect percent algorithm. By default it calculates by a median from modules, entries and dependencies percent.","enum":["entries","modules","dependencies",null]},"profile":{"description":"Collect profile data for progress steps. Default: false.","enum":[true,false,null]}}}},"title":"ProgressPluginArgument","anyOf":[{"$ref":"#/definitions/ProgressPluginOptions"},{"$ref":"#/definitions/HandlerFunction"}]}')},66727:function(v){"use strict";v.exports=JSON.parse('{"definitions":{"rule":{"description":"Include source maps for modules based on their extension (defaults to .js and .css).","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string","minLength":1}]},"rules":{"description":"Include source maps for modules based on their extension (defaults to .js and .css).","anyOf":[{"type":"array","items":{"description":"A rule condition.","oneOf":[{"$ref":"#/definitions/rule"}]}},{"$ref":"#/definitions/rule"}]}},"title":"SourceMapDevToolPluginOptions","type":"object","additionalProperties":false,"properties":{"append":{"description":"Appends the given value to the original asset. Usually the #sourceMappingURL comment. [url] is replaced with a URL to the source map file. false disables the appending.","anyOf":[{"description":"Append no SourceMap comment to the bundle, but still generate SourceMaps.","enum":[false,null]},{"type":"string","minLength":1},{"instanceof":"Function","tsType":"((pathData: import(\\"../../lib/Compilation\\").PathData, assetInfo?: import(\\"../../lib/Compilation\\").AssetInfo) => string)"}]},"columns":{"description":"Indicates whether column mappings should be used (defaults to true).","type":"boolean"},"exclude":{"description":"Exclude modules that match the given value from source map generation.","oneOf":[{"$ref":"#/definitions/rules"}]},"fallbackModuleFilenameTemplate":{"description":"Generator string or function to create identifiers of modules for the \'sources\' array in the SourceMap used only if \'moduleFilenameTemplate\' would result in a conflict.","anyOf":[{"type":"string","minLength":1},{"description":"Custom function generating the identifier.","instanceof":"Function","tsType":"Function"}]},"fileContext":{"description":"Path prefix to which the [file] placeholder is relative to.","type":"string"},"filename":{"description":"Defines the output filename of the SourceMap (will be inlined if no value is provided).","anyOf":[{"description":"Disable separate SourceMap file and inline SourceMap as DataUrl.","enum":[false,null]},{"type":"string","absolutePath":false,"minLength":1}]},"include":{"description":"Include source maps for module paths that match the given value.","oneOf":[{"$ref":"#/definitions/rules"}]},"module":{"description":"Indicates whether SourceMaps from loaders should be used (defaults to true).","type":"boolean"},"moduleFilenameTemplate":{"description":"Generator string or function to create identifiers of modules for the \'sources\' array in the SourceMap.","anyOf":[{"type":"string","minLength":1},{"description":"Custom function generating the identifier.","instanceof":"Function","tsType":"Function"}]},"namespace":{"description":"Namespace prefix to allow multiple webpack roots in the devtools.","type":"string"},"noSources":{"description":"Omit the \'sourceContents\' array from the SourceMap.","type":"boolean"},"publicPath":{"description":"Provide a custom public path for the SourceMapping comment.","type":"string"},"sourceRoot":{"description":"Provide a custom value for the \'sourceRoot\' property in the SourceMap.","type":"string"},"test":{"$ref":"#/definitions/rules"}}}')},58476:function(v){"use strict";v.exports=JSON.parse('{"title":"WatchIgnorePluginOptions","type":"object","additionalProperties":false,"properties":{"paths":{"description":"A list of RegExps or absolute paths to directories or files that should be ignored.","type":"array","items":{"description":"RegExp or absolute path to directories or files that should be ignored.","anyOf":[{"instanceof":"RegExp","tsType":"RegExp"},{"type":"string"}]},"minItems":1}},"required":["paths"]}')},42173:function(v){"use strict";v.exports=JSON.parse('{"definitions":{"AmdContainer":{"description":"Add a container for define/require functions in the AMD module.","type":"string","minLength":1},"AuxiliaryComment":{"description":"Add a comment in the UMD wrapper.","anyOf":[{"description":"Append the same comment above each import style.","type":"string"},{"$ref":"#/definitions/LibraryCustomUmdCommentObject"}]},"EntryRuntime":{"description":"The name of the runtime chunk. If set a runtime chunk with this name is created or an existing entrypoint is used as runtime.","anyOf":[{"enum":[false]},{"type":"string","minLength":1}]},"Exposes":{"description":"Modules that should be exposed by this container. When provided, property name is used as public name, otherwise public name is automatically inferred from request.","anyOf":[{"type":"array","items":{"description":"Modules that should be exposed by this container.","anyOf":[{"$ref":"#/definitions/ExposesItem"},{"$ref":"#/definitions/ExposesObject"}]}},{"$ref":"#/definitions/ExposesObject"}]},"ExposesConfig":{"description":"Advanced configuration for modules that should be exposed by this container.","type":"object","additionalProperties":false,"properties":{"import":{"description":"Request to a module that should be exposed by this container.","anyOf":[{"$ref":"#/definitions/ExposesItem"},{"$ref":"#/definitions/ExposesItems"}]},"name":{"description":"Custom chunk name for the exposed module.","type":"string"}},"required":["import"]},"ExposesItem":{"description":"Module that should be exposed by this container.","type":"string","minLength":1},"ExposesItems":{"description":"Modules that should be exposed by this container.","type":"array","items":{"$ref":"#/definitions/ExposesItem"}},"ExposesObject":{"description":"Modules that should be exposed by this container. Property names are used as public paths.","type":"object","additionalProperties":{"description":"Modules that should be exposed by this container.","anyOf":[{"$ref":"#/definitions/ExposesConfig"},{"$ref":"#/definitions/ExposesItem"},{"$ref":"#/definitions/ExposesItems"}]}},"LibraryCustomUmdCommentObject":{"description":"Set explicit comments for `commonjs`, `commonjs2`, `amd`, and `root`.","type":"object","additionalProperties":false,"properties":{"amd":{"description":"Set comment for `amd` section in UMD.","type":"string"},"commonjs":{"description":"Set comment for `commonjs` (exports) section in UMD.","type":"string"},"commonjs2":{"description":"Set comment for `commonjs2` (module.exports) section in UMD.","type":"string"},"root":{"description":"Set comment for `root` (global variable) section in UMD.","type":"string"}}},"LibraryCustomUmdObject":{"description":"Description object for all UMD variants of the library name.","type":"object","additionalProperties":false,"properties":{"amd":{"description":"Name of the exposed AMD library in the UMD.","type":"string","minLength":1},"commonjs":{"description":"Name of the exposed commonjs export in the UMD.","type":"string","minLength":1},"root":{"description":"Name of the property exposed globally by a UMD library.","anyOf":[{"type":"array","items":{"description":"Part of the name of the property exposed globally by a UMD library.","type":"string","minLength":1}},{"type":"string","minLength":1}]}}},"LibraryExport":{"description":"Specify which export should be exposed as library.","anyOf":[{"type":"array","items":{"description":"Part of the export that should be exposed as library.","type":"string","minLength":1}},{"type":"string","minLength":1}]},"LibraryName":{"description":"The name of the library (some types allow unnamed libraries too).","anyOf":[{"type":"array","items":{"description":"A part of the library name.","type":"string","minLength":1},"minItems":1},{"type":"string","minLength":1},{"$ref":"#/definitions/LibraryCustomUmdObject"}]},"LibraryOptions":{"description":"Options for library.","type":"object","additionalProperties":false,"properties":{"amdContainer":{"$ref":"#/definitions/AmdContainer"},"auxiliaryComment":{"$ref":"#/definitions/AuxiliaryComment"},"export":{"$ref":"#/definitions/LibraryExport"},"name":{"$ref":"#/definitions/LibraryName"},"type":{"$ref":"#/definitions/LibraryType"},"umdNamedDefine":{"$ref":"#/definitions/UmdNamedDefine"}},"required":["type"]},"LibraryType":{"description":"Type of library (types included by default are \'var\', \'module\', \'assign\', \'assign-properties\', \'this\', \'window\', \'self\', \'global\', \'commonjs\', \'commonjs2\', \'commonjs-module\', \'commonjs-static\', \'amd\', \'amd-require\', \'umd\', \'umd2\', \'jsonp\', \'system\', but others might be added by plugins).","anyOf":[{"enum":["var","module","assign","assign-properties","this","window","self","global","commonjs","commonjs2","commonjs-module","commonjs-static","amd","amd-require","umd","umd2","jsonp","system"]},{"type":"string"}]},"UmdNamedDefine":{"description":"If `output.libraryTarget` is set to umd and `output.library` is set, setting this to true will name the AMD module.","type":"boolean"}},"title":"ContainerPluginOptions","type":"object","additionalProperties":false,"properties":{"exposes":{"$ref":"#/definitions/Exposes"},"filename":{"description":"The filename for this container relative path inside the `output.path` directory.","type":"string","absolutePath":false,"minLength":1},"library":{"$ref":"#/definitions/LibraryOptions"},"name":{"description":"The name for this container.","type":"string","minLength":1},"runtime":{"$ref":"#/definitions/EntryRuntime"},"shareScope":{"description":"The name of the share scope which is shared with the host (defaults to \'default\').","type":"string","minLength":1}},"required":["name","exposes"]}')},52715:function(v){"use strict";v.exports=JSON.parse('{"definitions":{"ExternalsType":{"description":"Specifies the default type of externals (\'amd*\', \'umd*\', \'system\' and \'jsonp\' depend on output.libraryTarget set to the same value).","enum":["var","module","assign","this","window","self","global","commonjs","commonjs2","commonjs-module","commonjs-static","amd","amd-require","umd","umd2","jsonp","system","promise","import","script","node-commonjs"]},"Remotes":{"description":"Container locations and request scopes from which modules should be resolved and loaded at runtime. When provided, property name is used as request scope, otherwise request scope is automatically inferred from container location.","anyOf":[{"type":"array","items":{"description":"Container locations and request scopes from which modules should be resolved and loaded at runtime.","anyOf":[{"$ref":"#/definitions/RemotesItem"},{"$ref":"#/definitions/RemotesObject"}]}},{"$ref":"#/definitions/RemotesObject"}]},"RemotesConfig":{"description":"Advanced configuration for container locations from which modules should be resolved and loaded at runtime.","type":"object","additionalProperties":false,"properties":{"external":{"description":"Container locations from which modules should be resolved and loaded at runtime.","anyOf":[{"$ref":"#/definitions/RemotesItem"},{"$ref":"#/definitions/RemotesItems"}]},"shareScope":{"description":"The name of the share scope shared with this remote.","type":"string","minLength":1}},"required":["external"]},"RemotesItem":{"description":"Container location from which modules should be resolved and loaded at runtime.","type":"string","minLength":1},"RemotesItems":{"description":"Container locations from which modules should be resolved and loaded at runtime.","type":"array","items":{"$ref":"#/definitions/RemotesItem"}},"RemotesObject":{"description":"Container locations from which modules should be resolved and loaded at runtime. Property names are used as request scopes.","type":"object","additionalProperties":{"description":"Container locations from which modules should be resolved and loaded at runtime.","anyOf":[{"$ref":"#/definitions/RemotesConfig"},{"$ref":"#/definitions/RemotesItem"},{"$ref":"#/definitions/RemotesItems"}]}}},"title":"ContainerReferencePluginOptions","type":"object","additionalProperties":false,"properties":{"remoteType":{"description":"The external type of the remote containers.","oneOf":[{"$ref":"#/definitions/ExternalsType"}]},"remotes":{"$ref":"#/definitions/Remotes"},"shareScope":{"description":"The name of the share scope shared with all remotes (defaults to \'default\').","type":"string","minLength":1}},"required":["remoteType","remotes"]}')},21736:function(v){"use strict";v.exports=JSON.parse('{"definitions":{"AmdContainer":{"description":"Add a container for define/require functions in the AMD module.","type":"string","minLength":1},"AuxiliaryComment":{"description":"Add a comment in the UMD wrapper.","anyOf":[{"description":"Append the same comment above each import style.","type":"string"},{"$ref":"#/definitions/LibraryCustomUmdCommentObject"}]},"EntryRuntime":{"description":"The name of the runtime chunk. If set a runtime chunk with this name is created or an existing entrypoint is used as runtime.","anyOf":[{"enum":[false]},{"type":"string","minLength":1}]},"Exposes":{"description":"Modules that should be exposed by this container. When provided, property name is used as public name, otherwise public name is automatically inferred from request.","anyOf":[{"type":"array","items":{"description":"Modules that should be exposed by this container.","anyOf":[{"$ref":"#/definitions/ExposesItem"},{"$ref":"#/definitions/ExposesObject"}]}},{"$ref":"#/definitions/ExposesObject"}]},"ExposesConfig":{"description":"Advanced configuration for modules that should be exposed by this container.","type":"object","additionalProperties":false,"properties":{"import":{"description":"Request to a module that should be exposed by this container.","anyOf":[{"$ref":"#/definitions/ExposesItem"},{"$ref":"#/definitions/ExposesItems"}]},"name":{"description":"Custom chunk name for the exposed module.","type":"string"}},"required":["import"]},"ExposesItem":{"description":"Module that should be exposed by this container.","type":"string","minLength":1},"ExposesItems":{"description":"Modules that should be exposed by this container.","type":"array","items":{"$ref":"#/definitions/ExposesItem"}},"ExposesObject":{"description":"Modules that should be exposed by this container. Property names are used as public paths.","type":"object","additionalProperties":{"description":"Modules that should be exposed by this container.","anyOf":[{"$ref":"#/definitions/ExposesConfig"},{"$ref":"#/definitions/ExposesItem"},{"$ref":"#/definitions/ExposesItems"}]}},"ExternalsType":{"description":"Specifies the default type of externals (\'amd*\', \'umd*\', \'system\' and \'jsonp\' depend on output.libraryTarget set to the same value).","enum":["var","module","assign","this","window","self","global","commonjs","commonjs2","commonjs-module","commonjs-static","amd","amd-require","umd","umd2","jsonp","system","promise","import","script","node-commonjs"]},"LibraryCustomUmdCommentObject":{"description":"Set explicit comments for `commonjs`, `commonjs2`, `amd`, and `root`.","type":"object","additionalProperties":false,"properties":{"amd":{"description":"Set comment for `amd` section in UMD.","type":"string"},"commonjs":{"description":"Set comment for `commonjs` (exports) section in UMD.","type":"string"},"commonjs2":{"description":"Set comment for `commonjs2` (module.exports) section in UMD.","type":"string"},"root":{"description":"Set comment for `root` (global variable) section in UMD.","type":"string"}}},"LibraryCustomUmdObject":{"description":"Description object for all UMD variants of the library name.","type":"object","additionalProperties":false,"properties":{"amd":{"description":"Name of the exposed AMD library in the UMD.","type":"string","minLength":1},"commonjs":{"description":"Name of the exposed commonjs export in the UMD.","type":"string","minLength":1},"root":{"description":"Name of the property exposed globally by a UMD library.","anyOf":[{"type":"array","items":{"description":"Part of the name of the property exposed globally by a UMD library.","type":"string","minLength":1}},{"type":"string","minLength":1}]}}},"LibraryExport":{"description":"Specify which export should be exposed as library.","anyOf":[{"type":"array","items":{"description":"Part of the export that should be exposed as library.","type":"string","minLength":1}},{"type":"string","minLength":1}]},"LibraryName":{"description":"The name of the library (some types allow unnamed libraries too).","anyOf":[{"type":"array","items":{"description":"A part of the library name.","type":"string","minLength":1},"minItems":1},{"type":"string","minLength":1},{"$ref":"#/definitions/LibraryCustomUmdObject"}]},"LibraryOptions":{"description":"Options for library.","type":"object","additionalProperties":false,"properties":{"amdContainer":{"$ref":"#/definitions/AmdContainer"},"auxiliaryComment":{"$ref":"#/definitions/AuxiliaryComment"},"export":{"$ref":"#/definitions/LibraryExport"},"name":{"$ref":"#/definitions/LibraryName"},"type":{"$ref":"#/definitions/LibraryType"},"umdNamedDefine":{"$ref":"#/definitions/UmdNamedDefine"}},"required":["type"]},"LibraryType":{"description":"Type of library (types included by default are \'var\', \'module\', \'assign\', \'assign-properties\', \'this\', \'window\', \'self\', \'global\', \'commonjs\', \'commonjs2\', \'commonjs-module\', \'commonjs-static\', \'amd\', \'amd-require\', \'umd\', \'umd2\', \'jsonp\', \'system\', but others might be added by plugins).","anyOf":[{"enum":["var","module","assign","assign-properties","this","window","self","global","commonjs","commonjs2","commonjs-module","commonjs-static","amd","amd-require","umd","umd2","jsonp","system"]},{"type":"string"}]},"Remotes":{"description":"Container locations and request scopes from which modules should be resolved and loaded at runtime. When provided, property name is used as request scope, otherwise request scope is automatically inferred from container location.","anyOf":[{"type":"array","items":{"description":"Container locations and request scopes from which modules should be resolved and loaded at runtime.","anyOf":[{"$ref":"#/definitions/RemotesItem"},{"$ref":"#/definitions/RemotesObject"}]}},{"$ref":"#/definitions/RemotesObject"}]},"RemotesConfig":{"description":"Advanced configuration for container locations from which modules should be resolved and loaded at runtime.","type":"object","additionalProperties":false,"properties":{"external":{"description":"Container locations from which modules should be resolved and loaded at runtime.","anyOf":[{"$ref":"#/definitions/RemotesItem"},{"$ref":"#/definitions/RemotesItems"}]},"shareScope":{"description":"The name of the share scope shared with this remote.","type":"string","minLength":1}},"required":["external"]},"RemotesItem":{"description":"Container location from which modules should be resolved and loaded at runtime.","type":"string","minLength":1},"RemotesItems":{"description":"Container locations from which modules should be resolved and loaded at runtime.","type":"array","items":{"$ref":"#/definitions/RemotesItem"}},"RemotesObject":{"description":"Container locations from which modules should be resolved and loaded at runtime. Property names are used as request scopes.","type":"object","additionalProperties":{"description":"Container locations from which modules should be resolved and loaded at runtime.","anyOf":[{"$ref":"#/definitions/RemotesConfig"},{"$ref":"#/definitions/RemotesItem"},{"$ref":"#/definitions/RemotesItems"}]}},"Shared":{"description":"Modules that should be shared in the share scope. When provided, property names are used to match requested modules in this compilation.","anyOf":[{"type":"array","items":{"description":"Modules that should be shared in the share scope.","anyOf":[{"$ref":"#/definitions/SharedItem"},{"$ref":"#/definitions/SharedObject"}]}},{"$ref":"#/definitions/SharedObject"}]},"SharedConfig":{"description":"Advanced configuration for modules that should be shared in the share scope.","type":"object","additionalProperties":false,"properties":{"eager":{"description":"Include the provided and fallback module directly instead behind an async request. This allows to use this shared module in initial load too. All possible shared modules need to be eager too.","type":"boolean"},"import":{"description":"Provided module that should be provided to share scope. Also acts as fallback module if no shared module is found in share scope or version isn\'t valid. Defaults to the property name.","anyOf":[{"description":"No provided or fallback module.","enum":[false]},{"$ref":"#/definitions/SharedItem"}]},"packageName":{"description":"Package name to determine required version from description file. This is only needed when package name can\'t be automatically determined from request.","type":"string","minLength":1},"requiredVersion":{"description":"Version requirement from module in share scope.","anyOf":[{"description":"No version requirement check.","enum":[false]},{"description":"Version as string. Can be prefixed with \'^\' or \'~\' for minimum matches. Each part of the version should be separated by a dot \'.\'.","type":"string"}]},"shareKey":{"description":"Module is looked up under this key from the share scope.","type":"string","minLength":1},"shareScope":{"description":"Share scope name.","type":"string","minLength":1},"singleton":{"description":"Allow only a single version of the shared module in share scope (disabled by default).","type":"boolean"},"strictVersion":{"description":"Do not accept shared module if version is not valid (defaults to yes, if local fallback module is available and shared module is not a singleton, otherwise no, has no effect if there is no required version specified).","type":"boolean"},"version":{"description":"Version of the provided module. Will replace lower matching versions, but not higher.","anyOf":[{"description":"Don\'t provide a version.","enum":[false]},{"description":"Version as string. Each part of the version should be separated by a dot \'.\'.","type":"string"}]}}},"SharedItem":{"description":"A module that should be shared in the share scope.","type":"string","minLength":1},"SharedObject":{"description":"Modules that should be shared in the share scope. Property names are used to match requested modules in this compilation. Relative requests are resolved, module requests are matched unresolved, absolute paths will match resolved requests. A trailing slash will match all requests with this prefix. In this case shareKey must also have a trailing slash.","type":"object","additionalProperties":{"description":"Modules that should be shared in the share scope.","anyOf":[{"$ref":"#/definitions/SharedConfig"},{"$ref":"#/definitions/SharedItem"}]}},"UmdNamedDefine":{"description":"If `output.libraryTarget` is set to umd and `output.library` is set, setting this to true will name the AMD module.","type":"boolean"}},"title":"ModuleFederationPluginOptions","type":"object","additionalProperties":false,"properties":{"exposes":{"$ref":"#/definitions/Exposes"},"filename":{"description":"The filename of the container as relative path inside the `output.path` directory.","type":"string","absolutePath":false},"library":{"$ref":"#/definitions/LibraryOptions"},"name":{"description":"The name of the container.","type":"string"},"remoteType":{"description":"The external type of the remote containers.","oneOf":[{"$ref":"#/definitions/ExternalsType"}]},"remotes":{"$ref":"#/definitions/Remotes"},"runtime":{"$ref":"#/definitions/EntryRuntime"},"shareScope":{"description":"Share scope name used for all shared modules (defaults to \'default\').","type":"string","minLength":1},"shared":{"$ref":"#/definitions/Shared"}}}')},73499:function(v){"use strict";v.exports=JSON.parse('{"title":"ProfilingPluginOptions","type":"object","additionalProperties":false,"properties":{"outputPath":{"description":"Path to the output file e.g. `path.resolve(__dirname, \'profiling/events.json\')`. Defaults to `events.json`.","type":"string","absolutePath":true}}}')},10529:function(v){"use strict";v.exports=JSON.parse('{"title":"OccurrenceChunkIdsPluginOptions","type":"object","additionalProperties":false,"properties":{"prioritiseInitial":{"description":"Prioritise initial size over total size.","type":"boolean"}}}')},22698:function(v){"use strict";v.exports=JSON.parse('{"title":"OccurrenceModuleIdsPluginOptions","type":"object","additionalProperties":false,"properties":{"prioritiseInitial":{"description":"Prioritise initial size over total size.","type":"boolean"}}}')},99885:function(v){"use strict";v.exports=JSON.parse('{"title":"AggressiveSplittingPluginOptions","type":"object","additionalProperties":false,"properties":{"chunkOverhead":{"description":"Extra cost for each chunk (Default: 9.8kiB).","type":"number"},"entryChunkMultiplicator":{"description":"Extra cost multiplicator for entry chunks (Default: 10).","type":"number"},"maxSize":{"description":"Byte, max size of per file (Default: 50kiB).","type":"number"},"minSize":{"description":"Byte, split point. (Default: 30kiB).","type":"number"}}}')},51514:function(v){"use strict";v.exports=JSON.parse('{"title":"LimitChunkCountPluginOptions","type":"object","additionalProperties":false,"properties":{"chunkOverhead":{"description":"Constant overhead for a chunk.","type":"number"},"entryChunkMultiplicator":{"description":"Multiplicator for initial chunks.","type":"number"},"maxChunks":{"description":"Limit the maximum number of chunks using a value greater greater than or equal to 1.","type":"number","minimum":1}},"required":["maxChunks"]}')},98105:function(v){"use strict";v.exports=JSON.parse('{"title":"MinChunkSizePluginOptions","type":"object","additionalProperties":false,"properties":{"chunkOverhead":{"description":"Constant overhead for a chunk.","type":"number"},"entryChunkMultiplicator":{"description":"Multiplicator for initial chunks.","type":"number"},"minChunkSize":{"description":"Minimum number of characters.","type":"number"}},"required":["minChunkSize"]}')},81247:function(v){"use strict";v.exports=JSON.parse('{"definitions":{"HttpUriOptions":{"description":"Options for building http resources.","type":"object","additionalProperties":false,"properties":{"allowedUris":{"$ref":"#/definitions/HttpUriOptionsAllowedUris"},"cacheLocation":{"description":"Location where resource content is stored for lockfile entries. It\'s also possible to disable storing by passing false.","anyOf":[{"enum":[false]},{"type":"string","absolutePath":true}]},"frozen":{"description":"When set, anything that would lead to a modification of the lockfile or any resource content, will result in an error.","type":"boolean"},"lockfileLocation":{"description":"Location of the lockfile.","type":"string","absolutePath":true},"proxy":{"description":"Proxy configuration, which can be used to specify a proxy server to use for HTTP requests.","type":"string"},"upgrade":{"description":"When set, resources of existing lockfile entries will be fetched and entries will be upgraded when resource content has changed.","type":"boolean"}},"required":["allowedUris"]},"HttpUriOptionsAllowedUris":{"description":"List of allowed URIs (resp. the beginning of them).","type":"array","items":{"description":"List of allowed URIs (resp. the beginning of them).","anyOf":[{"description":"Allowed URI pattern.","instanceof":"RegExp","tsType":"RegExp"},{"description":"Allowed URI (resp. the beginning of it).","type":"string","pattern":"^https?://"},{"description":"Allowed URI filter function.","instanceof":"Function","tsType":"((uri: string) => boolean)"}]}}},"title":"HttpUriPluginOptions","oneOf":[{"$ref":"#/definitions/HttpUriOptions"}]}')},70379:function(v){"use strict";v.exports=JSON.parse('{"definitions":{"Consumes":{"description":"Modules that should be consumed from share scope. When provided, property names are used to match requested modules in this compilation.","anyOf":[{"type":"array","items":{"description":"Modules that should be consumed from share scope.","anyOf":[{"$ref":"#/definitions/ConsumesItem"},{"$ref":"#/definitions/ConsumesObject"}]}},{"$ref":"#/definitions/ConsumesObject"}]},"ConsumesConfig":{"description":"Advanced configuration for modules that should be consumed from share scope.","type":"object","additionalProperties":false,"properties":{"eager":{"description":"Include the fallback module directly instead behind an async request. This allows to use fallback module in initial load too. All possible shared modules need to be eager too.","type":"boolean"},"import":{"description":"Fallback module if no shared module is found in share scope. Defaults to the property name.","anyOf":[{"description":"No fallback module.","enum":[false]},{"$ref":"#/definitions/ConsumesItem"}]},"packageName":{"description":"Package name to determine required version from description file. This is only needed when package name can\'t be automatically determined from request.","type":"string","minLength":1},"requiredVersion":{"description":"Version requirement from module in share scope.","anyOf":[{"description":"No version requirement check.","enum":[false]},{"description":"Version as string. Can be prefixed with \'^\' or \'~\' for minimum matches. Each part of the version should be separated by a dot \'.\'.","type":"string"}]},"shareKey":{"description":"Module is looked up under this key from the share scope.","type":"string","minLength":1},"shareScope":{"description":"Share scope name.","type":"string","minLength":1},"singleton":{"description":"Allow only a single version of the shared module in share scope (disabled by default).","type":"boolean"},"strictVersion":{"description":"Do not accept shared module if version is not valid (defaults to yes, if local fallback module is available and shared module is not a singleton, otherwise no, has no effect if there is no required version specified).","type":"boolean"}}},"ConsumesItem":{"description":"A module that should be consumed from share scope.","type":"string","minLength":1},"ConsumesObject":{"description":"Modules that should be consumed from share scope. Property names are used to match requested modules in this compilation. Relative requests are resolved, module requests are matched unresolved, absolute paths will match resolved requests. A trailing slash will match all requests with this prefix. In this case shareKey must also have a trailing slash.","type":"object","additionalProperties":{"description":"Modules that should be consumed from share scope.","anyOf":[{"$ref":"#/definitions/ConsumesConfig"},{"$ref":"#/definitions/ConsumesItem"}]}}},"title":"ConsumeSharedPluginOptions","description":"Options for consuming shared modules.","type":"object","additionalProperties":false,"properties":{"consumes":{"$ref":"#/definitions/Consumes"},"shareScope":{"description":"Share scope name used for all consumed modules (defaults to \'default\').","type":"string","minLength":1}},"required":["consumes"]}')},39379:function(v){"use strict";v.exports=JSON.parse('{"definitions":{"Provides":{"description":"Modules that should be provided as shared modules to the share scope. When provided, property name is used to match modules, otherwise this is automatically inferred from share key.","anyOf":[{"type":"array","items":{"description":"Modules that should be provided as shared modules to the share scope.","anyOf":[{"$ref":"#/definitions/ProvidesItem"},{"$ref":"#/definitions/ProvidesObject"}]}},{"$ref":"#/definitions/ProvidesObject"}]},"ProvidesConfig":{"description":"Advanced configuration for modules that should be provided as shared modules to the share scope.","type":"object","additionalProperties":false,"properties":{"eager":{"description":"Include the provided module directly instead behind an async request. This allows to use this shared module in initial load too. All possible shared modules need to be eager too.","type":"boolean"},"shareKey":{"description":"Key in the share scope under which the shared modules should be stored.","type":"string","minLength":1},"shareScope":{"description":"Share scope name.","type":"string","minLength":1},"version":{"description":"Version of the provided module. Will replace lower matching versions, but not higher.","anyOf":[{"description":"Don\'t provide a version.","enum":[false]},{"description":"Version as string. Each part of the version should be separated by a dot \'.\'.","type":"string"}]}}},"ProvidesItem":{"description":"Request to a module that should be provided as shared module to the share scope (will be resolved when relative).","type":"string","minLength":1},"ProvidesObject":{"description":"Modules that should be provided as shared modules to the share scope. Property names are used as share keys.","type":"object","additionalProperties":{"description":"Modules that should be provided as shared modules to the share scope.","anyOf":[{"$ref":"#/definitions/ProvidesConfig"},{"$ref":"#/definitions/ProvidesItem"}]}}},"title":"ProvideSharedPluginOptions","type":"object","additionalProperties":false,"properties":{"provides":{"$ref":"#/definitions/Provides"},"shareScope":{"description":"Share scope name used for all provided modules (defaults to \'default\').","type":"string","minLength":1}},"required":["provides"]}')}};var E={};function __webpack_require__(P){var R=E[P];if(R!==undefined){return R.exports}var $=E[P]={exports:{}};var N=true;try{v[P].call($.exports,$,$.exports,__webpack_require__);N=false}finally{if(N)delete E[P]}return $.exports}if(typeof __webpack_require__!=="undefined")__webpack_require__.ab=__dirname+"/";var P=__webpack_require__(83182);module.exports=P})(); \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bb6645b70344f..92249b7a0a839 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -70,7 +70,7 @@ importers: version: 1.3.0 '@mdx-js/loader': specifier: 2.2.1 - version: 2.2.1(webpack@5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.12))) + version: 2.2.1(webpack@5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.13))) '@mdx-js/react': specifier: 2.2.1 version: 2.2.1(react@19.0.0-rc-7771d3a7-20240827) @@ -124,13 +124,13 @@ importers: version: 5.5.0 '@swc/cli': specifier: 0.1.55 - version: 0.1.55(@swc/core@1.6.13(@swc/helpers@0.5.12))(chokidar@3.6.0) + version: 0.1.55(@swc/core@1.6.13(@swc/helpers@0.5.13))(chokidar@3.6.0) '@swc/core': specifier: 1.6.13 - version: 1.6.13(@swc/helpers@0.5.12) + version: 1.6.13(@swc/helpers@0.5.13) '@swc/helpers': - specifier: 0.5.12 - version: 0.5.12 + specifier: 0.5.13 + version: 0.5.13 '@swc/types': specifier: 0.1.7 version: 0.1.7 @@ -484,10 +484,10 @@ importers: version: react-server-dom-turbopack@0.0.0-experimental-7771d3a7-20240827(react-dom@19.0.0-rc-7771d3a7-20240827(react@19.0.0-rc-7771d3a7-20240827))(react@19.0.0-rc-7771d3a7-20240827) react-server-dom-webpack: specifier: 19.0.0-rc-7771d3a7-20240827 - version: 19.0.0-rc-7771d3a7-20240827(react-dom@19.0.0-rc-7771d3a7-20240827(react@19.0.0-rc-7771d3a7-20240827))(react@19.0.0-rc-7771d3a7-20240827)(webpack@5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.12))) + version: 19.0.0-rc-7771d3a7-20240827(react-dom@19.0.0-rc-7771d3a7-20240827(react@19.0.0-rc-7771d3a7-20240827))(react@19.0.0-rc-7771d3a7-20240827)(webpack@5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.13))) react-server-dom-webpack-experimental: specifier: npm:react-server-dom-webpack@0.0.0-experimental-7771d3a7-20240827 - version: react-server-dom-webpack@0.0.0-experimental-7771d3a7-20240827(react-dom@19.0.0-rc-7771d3a7-20240827(react@19.0.0-rc-7771d3a7-20240827))(react@19.0.0-rc-7771d3a7-20240827)(webpack@5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.12))) + version: react-server-dom-webpack@0.0.0-experimental-7771d3a7-20240827(react-dom@19.0.0-rc-7771d3a7-20240827(react@19.0.0-rc-7771d3a7-20240827))(react@19.0.0-rc-7771d3a7-20240827)(webpack@5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.13))) react-ssr-prepass: specifier: 1.0.8 version: 1.0.8(react-is@19.0.0-rc-f90a6bcc-20240827)(react@19.0.0-rc-7771d3a7-20240827) @@ -571,7 +571,7 @@ importers: version: 0.2.2 webpack: specifier: 5.90.0 - version: 5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.12)) + version: 5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.13)) webpack-bundle-analyzer: specifier: 4.7.0 version: 4.7.0 @@ -853,8 +853,8 @@ importers: specifier: 0.1.3 version: 0.1.3 '@swc/helpers': - specifier: 0.5.12 - version: 0.5.12 + specifier: 0.5.13 + version: 0.5.13 babel-plugin-react-compiler: specifier: '*' version: 0.0.0-experimental-4e0eccf-20240830 @@ -1000,7 +1000,7 @@ importers: version: 1.41.2 '@swc/core': specifier: 1.7.0-nightly-20240714.1 - version: 1.7.0-nightly-20240714.1(@swc/helpers@0.5.12) + version: 1.7.0-nightly-20240714.1(@swc/helpers@0.5.13) '@swc/types': specifier: 0.1.7 version: 0.1.7 @@ -1294,7 +1294,7 @@ importers: version: 5.1.1 mini-css-extract-plugin: specifier: 2.4.4 - version: 2.4.4(webpack@5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.12))) + version: 2.4.4(webpack@5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.13))) msw: specifier: 2.3.0 version: 2.3.0(typescript@5.5.3) @@ -1381,7 +1381,7 @@ importers: version: 0.13.4 sass-loader: specifier: 12.6.0 - version: 12.6.0(sass@1.77.8)(webpack@5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.12))) + version: 12.6.0(sass@1.77.8)(webpack@5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.13))) schema-utils2: specifier: npm:schema-utils@2.7.1 version: schema-utils@2.7.1 @@ -1408,7 +1408,7 @@ importers: version: 0.6.1 source-map-loader: specifier: 5.0.0 - version: 5.0.0(webpack@5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.12))) + version: 5.0.0(webpack@5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.13))) source-map08: specifier: npm:source-map@0.8.0-beta.0 version: source-map@0.8.0-beta.0 @@ -1447,7 +1447,7 @@ importers: version: 5.27.0 terser-webpack-plugin: specifier: 5.3.9 - version: 5.3.9(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.12))(webpack@5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.12))) + version: 5.3.9(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.13))(webpack@5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.13))) text-table: specifier: 0.2.0 version: 0.2.0 @@ -1477,7 +1477,7 @@ importers: version: 4.2.1 webpack: specifier: 5.90.0 - version: 5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.12)) + version: 5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.13)) webpack-sources1: specifier: npm:webpack-sources@1.4.3 version: webpack-sources@1.4.3 @@ -1544,7 +1544,7 @@ importers: dependencies: '@mdx-js/loader': specifier: '>=0.15.0' - version: 2.2.1(webpack@5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.12))) + version: 2.2.1(webpack@5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.13))) '@mdx-js/react': specifier: '>=0.15.0' version: 2.2.1(react@19.0.0-rc-f90a6bcc-20240827) @@ -1591,7 +1591,7 @@ importers: version: 0.12.0 webpack: specifier: 5.90.0 - version: 5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.12)) + version: 5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.13)) packages/third-parties: dependencies: @@ -1726,10 +1726,10 @@ importers: devDependencies: '@types/webpack': specifier: ^5.28.0 - version: 5.28.5(@swc/core@1.6.13(@swc/helpers@0.5.12)) + version: 5.28.5(@swc/core@1.6.13(@swc/helpers@0.5.13)) webpack: specifier: 5.90.0 - version: 5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.12)) + version: 5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.13)) packages: @@ -4788,8 +4788,8 @@ packages: '@swc/helpers@0.4.14': resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} - '@swc/helpers@0.5.12': - resolution: {integrity: sha512-KMZNXiGibsW9kvZAO1Pam2JPTDBm+KSHMMHWdsyI/1DbIZjT2A6Gy3hblVXUMEDvUAKq+e0vL0X0o54owWji7g==} + '@swc/helpers@0.5.13': + resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} '@swc/types@0.1.7': resolution: {integrity: sha512-scHWahbHF0eyj3JsxG9CFJgFdFNaVQCNAimBlT6PzS3n/HptxqREjsm4OH6AN3lYcffZYSPxXW8ua2BEHp0lJQ==} @@ -18461,11 +18461,11 @@ snapshots: - encoding - supports-color - '@mdx-js/loader@2.2.1(webpack@5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.12)))': + '@mdx-js/loader@2.2.1(webpack@5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.13)))': dependencies: '@mdx-js/mdx': 2.2.1 source-map: 0.7.4 - webpack: 5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.12)) + webpack: 5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.13)) transitivePeerDependencies: - supports-color @@ -18876,7 +18876,7 @@ snapshots: open: 8.4.0 picocolors: 1.0.1 tiny-glob: 0.2.9 - tslib: 2.6.2 + tslib: 2.6.3 '@playwright/test@1.41.2': dependencies: @@ -19148,9 +19148,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@swc/cli@0.1.55(@swc/core@1.6.13(@swc/helpers@0.5.12))(chokidar@3.6.0)': + '@swc/cli@0.1.55(@swc/core@1.6.13(@swc/helpers@0.5.13))(chokidar@3.6.0)': dependencies: - '@swc/core': 1.6.13(@swc/helpers@0.5.12) + '@swc/core': 1.6.13(@swc/helpers@0.5.13) commander: 7.2.0 fast-glob: 3.3.1 slash: 3.0.0 @@ -19218,7 +19218,7 @@ snapshots: '@swc/core-win32-x64-msvc@1.7.0-nightly-20240714.1': optional: true - '@swc/core@1.6.13(@swc/helpers@0.5.12)': + '@swc/core@1.6.13(@swc/helpers@0.5.13)': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.9 @@ -19233,9 +19233,9 @@ snapshots: '@swc/core-win32-arm64-msvc': 1.6.13 '@swc/core-win32-ia32-msvc': 1.6.13 '@swc/core-win32-x64-msvc': 1.6.13 - '@swc/helpers': 0.5.12 + '@swc/helpers': 0.5.13 - '@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.12)': + '@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.13)': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.9 @@ -19250,7 +19250,7 @@ snapshots: '@swc/core-win32-arm64-msvc': 1.7.0-nightly-20240714.1 '@swc/core-win32-ia32-msvc': 1.7.0-nightly-20240714.1 '@swc/core-win32-x64-msvc': 1.7.0-nightly-20240714.1 - '@swc/helpers': 0.5.12 + '@swc/helpers': 0.5.13 '@swc/counter@0.1.3': {} @@ -19258,7 +19258,7 @@ snapshots: dependencies: tslib: 2.6.3 - '@swc/helpers@0.5.12': + '@swc/helpers@0.5.13': dependencies: tslib: 2.6.3 @@ -19724,11 +19724,11 @@ snapshots: '@types/source-list-map': 0.1.2 source-map: 0.6.1 - '@types/webpack@5.28.5(@swc/core@1.6.13(@swc/helpers@0.5.12))': + '@types/webpack@5.28.5(@swc/core@1.6.13(@swc/helpers@0.5.13))': dependencies: '@types/node': 20.12.3 tapable: 2.2.0 - webpack: 5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.12)) + webpack: 5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.13)) transitivePeerDependencies: - '@swc/core' - esbuild @@ -26918,10 +26918,10 @@ snapshots: min-indent@1.0.1: {} - mini-css-extract-plugin@2.4.4(webpack@5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.12))): + mini-css-extract-plugin@2.4.4(webpack@5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.13))): dependencies: schema-utils: 3.2.0 - webpack: 5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.12)) + webpack: 5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.13)) minimalistic-assert@1.0.1: {} @@ -28973,7 +28973,7 @@ snapshots: dependencies: react: 19.0.0-rc-f90a6bcc-20240827 react-style-singleton: 2.2.1(react@19.0.0-rc-f90a6bcc-20240827)(types-react@19.0.0-rc.0) - tslib: 2.6.2 + tslib: 2.6.3 optionalDependencies: '@types/react': types-react@19.0.0-rc.0 @@ -29002,22 +29002,22 @@ snapshots: react: 19.0.0-rc-7771d3a7-20240827 react-dom: 19.0.0-rc-7771d3a7-20240827(react@19.0.0-rc-7771d3a7-20240827) - react-server-dom-webpack@0.0.0-experimental-7771d3a7-20240827(react-dom@19.0.0-rc-7771d3a7-20240827(react@19.0.0-rc-7771d3a7-20240827))(react@19.0.0-rc-7771d3a7-20240827)(webpack@5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.12))): + react-server-dom-webpack@0.0.0-experimental-7771d3a7-20240827(react-dom@19.0.0-rc-7771d3a7-20240827(react@19.0.0-rc-7771d3a7-20240827))(react@19.0.0-rc-7771d3a7-20240827)(webpack@5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.13))): dependencies: acorn-loose: 8.3.0 neo-async: 2.6.1 react: 19.0.0-rc-7771d3a7-20240827 react-dom: 19.0.0-rc-7771d3a7-20240827(react@19.0.0-rc-7771d3a7-20240827) - webpack: 5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.12)) + webpack: 5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.13)) webpack-sources: 3.2.3(patch_hash=jbynf5dc46ambamq3wuyho6hkq) - react-server-dom-webpack@19.0.0-rc-7771d3a7-20240827(react-dom@19.0.0-rc-7771d3a7-20240827(react@19.0.0-rc-7771d3a7-20240827))(react@19.0.0-rc-7771d3a7-20240827)(webpack@5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.12))): + react-server-dom-webpack@19.0.0-rc-7771d3a7-20240827(react-dom@19.0.0-rc-7771d3a7-20240827(react@19.0.0-rc-7771d3a7-20240827))(react@19.0.0-rc-7771d3a7-20240827)(webpack@5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.13))): dependencies: acorn-loose: 8.3.0 neo-async: 2.6.1 react: 19.0.0-rc-7771d3a7-20240827 react-dom: 19.0.0-rc-7771d3a7-20240827(react@19.0.0-rc-7771d3a7-20240827) - webpack: 5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.12)) + webpack: 5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.13)) webpack-sources: 3.2.3(patch_hash=jbynf5dc46ambamq3wuyho6hkq) react-shallow-renderer@16.15.0(react@19.0.0-rc-7771d3a7-20240827): @@ -29037,7 +29037,7 @@ snapshots: get-nonce: 1.0.1 invariant: 2.2.4 react: 19.0.0-rc-f90a6bcc-20240827 - tslib: 2.6.2 + tslib: 2.6.3 optionalDependencies: '@types/react': types-react@19.0.0-rc.0 @@ -29726,11 +29726,11 @@ snapshots: safer-buffer@2.1.2: {} - sass-loader@12.6.0(sass@1.77.8)(webpack@5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.12))): + sass-loader@12.6.0(sass@1.77.8)(webpack@5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.13))): dependencies: klona: 2.0.4 neo-async: 2.6.2 - webpack: 5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.12)) + webpack: 5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.13)) optionalDependencies: sass: 1.77.8 @@ -30064,11 +30064,11 @@ snapshots: source-map-js@1.0.2: {} - source-map-loader@5.0.0(webpack@5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.12))): + source-map-loader@5.0.0(webpack@5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.13))): dependencies: iconv-lite: 0.6.3 source-map-js: 1.0.2 - webpack: 5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.12)) + webpack: 5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.13)) source-map-resolve@0.5.3: dependencies: @@ -30655,38 +30655,38 @@ snapshots: term-size@3.0.2: {} - terser-webpack-plugin@5.3.10(@swc/core@1.6.13(@swc/helpers@0.5.12))(webpack@5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.12))): + terser-webpack-plugin@5.3.10(@swc/core@1.6.13(@swc/helpers@0.5.13))(webpack@5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.13))): dependencies: '@jridgewell/trace-mapping': 0.3.22 jest-worker: 27.5.1 schema-utils: 3.2.0 serialize-javascript: 6.0.1 terser: 5.27.0 - webpack: 5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.12)) + webpack: 5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.13)) optionalDependencies: - '@swc/core': 1.6.13(@swc/helpers@0.5.12) + '@swc/core': 1.6.13(@swc/helpers@0.5.13) - terser-webpack-plugin@5.3.10(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.12))(webpack@5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.12))): + terser-webpack-plugin@5.3.10(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.13))(webpack@5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.13))): dependencies: '@jridgewell/trace-mapping': 0.3.22 jest-worker: 27.5.1 schema-utils: 3.2.0 serialize-javascript: 6.0.1 terser: 5.27.0 - webpack: 5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.12)) + webpack: 5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.13)) optionalDependencies: - '@swc/core': 1.7.0-nightly-20240714.1(@swc/helpers@0.5.12) + '@swc/core': 1.7.0-nightly-20240714.1(@swc/helpers@0.5.13) - terser-webpack-plugin@5.3.9(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.12))(webpack@5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.12))): + terser-webpack-plugin@5.3.9(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.13))(webpack@5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.13))): dependencies: '@jridgewell/trace-mapping': 0.3.17 jest-worker: 27.5.1 schema-utils: 3.2.0 serialize-javascript: 6.0.1 terser: 5.27.0 - webpack: 5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.12)) + webpack: 5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.13)) optionalDependencies: - '@swc/core': 1.7.0-nightly-20240714.1(@swc/helpers@0.5.12) + '@swc/core': 1.7.0-nightly-20240714.1(@swc/helpers@0.5.13) terser@5.27.0: dependencies: @@ -31327,7 +31327,7 @@ snapshots: use-callback-ref@1.3.2(react@19.0.0-rc-f90a6bcc-20240827)(types-react@19.0.0-rc.0): dependencies: react: 19.0.0-rc-f90a6bcc-20240827 - tslib: 2.6.2 + tslib: 2.6.3 optionalDependencies: '@types/react': types-react@19.0.0-rc.0 @@ -31352,7 +31352,7 @@ snapshots: dependencies: detect-node-es: 1.1.0 react: 19.0.0-rc-f90a6bcc-20240827 - tslib: 2.6.2 + tslib: 2.6.3 optionalDependencies: '@types/react': types-react@19.0.0-rc.0 @@ -31579,7 +31579,7 @@ snapshots: webpack-stats-plugin@1.1.0: {} - webpack@5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.12)): + webpack@5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.13)): dependencies: '@types/eslint-scope': 3.7.3 '@types/estree': 1.0.5 @@ -31602,7 +31602,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.2.0 tapable: 2.2.0 - terser-webpack-plugin: 5.3.10(@swc/core@1.6.13(@swc/helpers@0.5.12))(webpack@5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.12))) + terser-webpack-plugin: 5.3.10(@swc/core@1.6.13(@swc/helpers@0.5.13))(webpack@5.90.0(@swc/core@1.6.13(@swc/helpers@0.5.13))) watchpack: 2.4.0 webpack-sources: 3.2.3(patch_hash=jbynf5dc46ambamq3wuyho6hkq) transitivePeerDependencies: @@ -31610,7 +31610,7 @@ snapshots: - esbuild - uglify-js - webpack@5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.12)): + webpack@5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.13)): dependencies: '@types/eslint-scope': 3.7.3 '@types/estree': 1.0.5 @@ -31633,7 +31633,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.2.0 tapable: 2.2.0 - terser-webpack-plugin: 5.3.10(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.12))(webpack@5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.12))) + terser-webpack-plugin: 5.3.10(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.13))(webpack@5.90.0(@swc/core@1.7.0-nightly-20240714.1(@swc/helpers@0.5.13))) watchpack: 2.4.0 webpack-sources: 3.2.3(patch_hash=jbynf5dc46ambamq3wuyho6hkq) transitivePeerDependencies: From e9cbf272087a0e1f710a8830e77c8227f6619c9c Mon Sep 17 00:00:00 2001 From: "Sebastian \"Sebbie\" Silbermann" Date: Thu, 5 Sep 2024 01:09:02 +0200 Subject: [PATCH 021/119] Run link-ref tests in /app and /pages (#69564) We need to handle ref cleanups in a way that is compatible with React 18 and 19. Forking these into -pages (18) and -app (19). Combining them into a single app lead to a different behavior with regards to preload. --- .../app/child-ref-func-cleanup/page.js | 53 +++++++ .../link-ref-app/app/child-ref-func/page.js | 24 ++++ .../link-ref-app/app/child-ref/page.js | 19 +++ .../link-ref-app/app/class/page.js | 15 ++ .../app/click-away-race-condition/page.js | 57 ++++++++ .../link-ref-app/app/function/page.js | 15 ++ test/integration/link-ref-app/app/layout.js | 7 + .../index.js => link-ref-app/app/page.js} | 0 .../link-ref-app/test/index.test.js | 132 ++++++++++++++++++ .../pages/child-ref-func-cleanup.js | 0 .../pages/child-ref-func.js | 0 .../pages/child-ref.js | 0 .../pages/class.js | 0 .../pages/click-away-race-condition.js | 0 .../pages/function.js | 0 .../integration/link-ref-pages/pages/index.js | 1 + .../test/index.test.js | 0 17 files changed, 323 insertions(+) create mode 100644 test/integration/link-ref-app/app/child-ref-func-cleanup/page.js create mode 100644 test/integration/link-ref-app/app/child-ref-func/page.js create mode 100644 test/integration/link-ref-app/app/child-ref/page.js create mode 100644 test/integration/link-ref-app/app/class/page.js create mode 100644 test/integration/link-ref-app/app/click-away-race-condition/page.js create mode 100644 test/integration/link-ref-app/app/function/page.js create mode 100644 test/integration/link-ref-app/app/layout.js rename test/integration/{link-ref/pages/index.js => link-ref-app/app/page.js} (100%) create mode 100644 test/integration/link-ref-app/test/index.test.js rename test/integration/{link-ref => link-ref-pages}/pages/child-ref-func-cleanup.js (100%) rename test/integration/{link-ref => link-ref-pages}/pages/child-ref-func.js (100%) rename test/integration/{link-ref => link-ref-pages}/pages/child-ref.js (100%) rename test/integration/{link-ref => link-ref-pages}/pages/class.js (100%) rename test/integration/{link-ref => link-ref-pages}/pages/click-away-race-condition.js (100%) rename test/integration/{link-ref => link-ref-pages}/pages/function.js (100%) create mode 100644 test/integration/link-ref-pages/pages/index.js rename test/integration/{link-ref => link-ref-pages}/test/index.test.js (100%) diff --git a/test/integration/link-ref-app/app/child-ref-func-cleanup/page.js b/test/integration/link-ref-app/app/child-ref-func-cleanup/page.js new file mode 100644 index 0000000000000..254fe5406d142 --- /dev/null +++ b/test/integration/link-ref-app/app/child-ref-func-cleanup/page.js @@ -0,0 +1,53 @@ +'use client' +import React from 'react' +import Link from 'next/link' +import { useCallback, useRef, useEffect, useState } from 'react' +import { flushSync } from 'react-dom' + +export default function Page() { + const [isVisible, setIsVisible] = useState(true) + + const statusRef = useRef({ wasInitialized: false, wasCleanedUp: false }) + + const refWithCleanup = useCallback((el) => { + if (!el) { + console.error( + 'callback refs that returned a cleanup should never be called with null' + ) + return + } + + statusRef.current.wasInitialized = true + return () => { + statusRef.current.wasCleanedUp = true + } + }, []) + + useEffect(() => { + const timeout = setTimeout( + () => { + flushSync(() => { + setIsVisible(false) + }) + if (!statusRef.current.wasInitialized) { + console.error('callback ref was not initialized') + } + if (!statusRef.current.wasCleanedUp) { + console.error('callback ref was not cleaned up') + } + }, + 100 // if we hide the Link too quickly, the prefetch won't fire, failing a test + ) + return () => clearTimeout(timeout) + }, []) + + if (!isVisible) { + return null + } + + return ( + + Click me + + ) +} diff --git a/test/integration/link-ref-app/app/child-ref-func/page.js b/test/integration/link-ref-app/app/child-ref-func/page.js new file mode 100644 index 0000000000000..7bc315e8afd65 --- /dev/null +++ b/test/integration/link-ref-app/app/child-ref-func/page.js @@ -0,0 +1,24 @@ +'use client' +import React from 'react' +import Link from 'next/link' + +export default () => { + const myRef = React.createRef(null) + + React.useEffect(() => { + if (!myRef.current) { + console.error(`ref wasn't updated`) + } + }) + + return ( + { + myRef.current = el + }} + > + Click me + + ) +} diff --git a/test/integration/link-ref-app/app/child-ref/page.js b/test/integration/link-ref-app/app/child-ref/page.js new file mode 100644 index 0000000000000..1810a091259ed --- /dev/null +++ b/test/integration/link-ref-app/app/child-ref/page.js @@ -0,0 +1,19 @@ +'use client' +import React from 'react' +import Link from 'next/link' + +export default () => { + const myRef = React.createRef(null) + + React.useEffect(() => { + if (!myRef.current) { + console.error(`ref wasn't updated`) + } + }) + + return ( + + Click me + + ) +} diff --git a/test/integration/link-ref-app/app/class/page.js b/test/integration/link-ref-app/app/class/page.js new file mode 100644 index 0000000000000..16fb2dd175717 --- /dev/null +++ b/test/integration/link-ref-app/app/class/page.js @@ -0,0 +1,15 @@ +'use client' +import React from 'react' +import Link from 'next/link' + +class MyLink extends React.Component { + render() { + return Click me + } +} + +export default () => ( + + + +) diff --git a/test/integration/link-ref-app/app/click-away-race-condition/page.js b/test/integration/link-ref-app/app/click-away-race-condition/page.js new file mode 100644 index 0000000000000..9aba543b323fd --- /dev/null +++ b/test/integration/link-ref-app/app/click-away-race-condition/page.js @@ -0,0 +1,57 @@ +'use client' +import React, { useCallback, useEffect, useRef, useState } from 'react' +import Link from 'next/link' + +const useClickAway = (ref, onClickAway) => { + useEffect(() => { + const handler = (event) => { + const el = ref.current + + // when menu is open and clicked inside menu, A is expected to be false + // when menu is open and clicked outside menu, A is expected to be true + console.log('A', el && !el.contains(event.target)) + + el && !el.contains(event.target) && onClickAway(event) + } + + let timeoutID = setTimeout(() => { + timeoutID = null + document.addEventListener('click', handler) + }, 0) + + return () => { + if (timeoutID != null) { + clearTimeout(timeoutID) + } + document.removeEventListener('click', handler) + } + }, [onClickAway, ref]) +} + +export default function App() { + const [open, setOpen] = useState(false) + + const menuRef = useRef(null) + + const onClickAway = useCallback(() => { + console.log('click away, open', open) + if (open) { + setOpen(false) + } + }, [open]) + + useClickAway(menuRef, onClickAway) + + return ( +
+
setOpen(true)}> + Open Menu +
+ {open && ( +
+ some link +
+ )} +
+ ) +} diff --git a/test/integration/link-ref-app/app/function/page.js b/test/integration/link-ref-app/app/function/page.js new file mode 100644 index 0000000000000..15579e34e3555 --- /dev/null +++ b/test/integration/link-ref-app/app/function/page.js @@ -0,0 +1,15 @@ +'use client' +import React from 'react' +import Link from 'next/link' + +const MyLink = React.forwardRef((props, ref) => ( + + Click me + +)) + +export default () => ( + + + +) diff --git a/test/integration/link-ref-app/app/layout.js b/test/integration/link-ref-app/app/layout.js new file mode 100644 index 0000000000000..803f17d863c8a --- /dev/null +++ b/test/integration/link-ref-app/app/layout.js @@ -0,0 +1,7 @@ +export default function RootLayout({ children }) { + return ( + + {children} + + ) +} diff --git a/test/integration/link-ref/pages/index.js b/test/integration/link-ref-app/app/page.js similarity index 100% rename from test/integration/link-ref/pages/index.js rename to test/integration/link-ref-app/app/page.js diff --git a/test/integration/link-ref-app/test/index.test.js b/test/integration/link-ref-app/test/index.test.js new file mode 100644 index 0000000000000..8ae12b7b8d929 --- /dev/null +++ b/test/integration/link-ref-app/test/index.test.js @@ -0,0 +1,132 @@ +/* eslint-env jest */ + +import { join } from 'path' +import webdriver from 'next-webdriver' +import { + retry, + findPort, + launchApp, + killApp, + nextStart, + nextBuild, + waitFor, +} from 'next-test-utils' + +let app +let appPort +const appDir = join(__dirname, '..') + +const noError = async (pathname) => { + const browser = await webdriver(appPort, '/') + await browser.eval(`(function() { + window.caughtErrors = [] + const origError = window.console.error + window.console.error = function (format) { + window.caughtErrors.push(format) + origError(arguments) + } + window.next.router.replace('${pathname}') + })()`) + await waitFor(1000) + const errors = await browser.eval(`window.caughtErrors`) + expect(errors).toEqual([]) + await browser.close() +} + +const didPrefetch = async (pathname) => { + const requests = [] + const browser = await webdriver(appPort, pathname, { + beforePageLoad(page) { + page.on('request', async (req) => { + const url = new URL(req.url()) + const headers = await req.allHeaders() + if (headers['next-router-prefetch']) { + requests.push(url.pathname) + } + }) + }, + }) + + await browser.waitForIdleNetwork() + + await retry(async () => { + expect(requests).toEqual( + expect.arrayContaining([expect.stringContaining('/')]) + ) + }) + + await browser.close() +} + +function runCommonTests() { + // See https://github.com/vercel/next.js/issues/18437 + it('should not have a race condition with a click handler', async () => { + const browser = await webdriver(appPort, '/click-away-race-condition') + await browser.elementByCss('#click-me').click() + await browser.waitForElementByCss('#the-menu') + }) +} + +describe('Invalid hrefs', () => { + ;(process.env.TURBOPACK_BUILD ? describe.skip : describe)( + 'development mode', + () => { + beforeAll(async () => { + appPort = await findPort() + app = await launchApp(appDir, appPort) + }) + afterAll(() => killApp(app)) + + runCommonTests() + + it('should not show error for function component with forwardRef', async () => { + await noError('/function') + }) + + it('should not show error for class component as child of next/link', async () => { + await noError('/class') + }) + + it('should handle child ref with React.createRef', async () => { + await noError('/child-ref') + }) + + it('should handle child ref that is a function', async () => { + await noError('/child-ref-func') + }) + + it('should handle child ref that is a function that returns a cleanup function', async () => { + await noError('/child-ref-func-cleanup') + }) + } + ) + ;(process.env.TURBOPACK_DEV ? describe.skip : describe)( + 'production mode', + () => { + beforeAll(async () => { + await nextBuild(appDir) + appPort = await findPort() + app = await nextStart(appDir, appPort) + }) + afterAll(() => killApp(app)) + + runCommonTests() + + it('should preload with forwardRef', async () => { + await didPrefetch('/function') + }) + + it('should preload with child ref with React.createRef', async () => { + await didPrefetch('/child-ref') + }) + + it('should preload with child ref with function', async () => { + await didPrefetch('/child-ref-func') + }) + + it('should preload with child ref with function that returns a cleanup function', async () => { + await didPrefetch('/child-ref-func-cleanup') + }) + } + ) +}) diff --git a/test/integration/link-ref/pages/child-ref-func-cleanup.js b/test/integration/link-ref-pages/pages/child-ref-func-cleanup.js similarity index 100% rename from test/integration/link-ref/pages/child-ref-func-cleanup.js rename to test/integration/link-ref-pages/pages/child-ref-func-cleanup.js diff --git a/test/integration/link-ref/pages/child-ref-func.js b/test/integration/link-ref-pages/pages/child-ref-func.js similarity index 100% rename from test/integration/link-ref/pages/child-ref-func.js rename to test/integration/link-ref-pages/pages/child-ref-func.js diff --git a/test/integration/link-ref/pages/child-ref.js b/test/integration/link-ref-pages/pages/child-ref.js similarity index 100% rename from test/integration/link-ref/pages/child-ref.js rename to test/integration/link-ref-pages/pages/child-ref.js diff --git a/test/integration/link-ref/pages/class.js b/test/integration/link-ref-pages/pages/class.js similarity index 100% rename from test/integration/link-ref/pages/class.js rename to test/integration/link-ref-pages/pages/class.js diff --git a/test/integration/link-ref/pages/click-away-race-condition.js b/test/integration/link-ref-pages/pages/click-away-race-condition.js similarity index 100% rename from test/integration/link-ref/pages/click-away-race-condition.js rename to test/integration/link-ref-pages/pages/click-away-race-condition.js diff --git a/test/integration/link-ref/pages/function.js b/test/integration/link-ref-pages/pages/function.js similarity index 100% rename from test/integration/link-ref/pages/function.js rename to test/integration/link-ref-pages/pages/function.js diff --git a/test/integration/link-ref-pages/pages/index.js b/test/integration/link-ref-pages/pages/index.js new file mode 100644 index 0000000000000..0957a987fc2f2 --- /dev/null +++ b/test/integration/link-ref-pages/pages/index.js @@ -0,0 +1 @@ +export default () => 'hi' diff --git a/test/integration/link-ref/test/index.test.js b/test/integration/link-ref-pages/test/index.test.js similarity index 100% rename from test/integration/link-ref/test/index.test.js rename to test/integration/link-ref-pages/test/index.test.js From 5af45dbb7eb3a93d34f58b43ae9fb37713fdaa12 Mon Sep 17 00:00:00 2001 From: vercel-release-bot Date: Wed, 4 Sep 2024 23:23:52 +0000 Subject: [PATCH 022/119] v15.0.0-canary.141 --- lerna.json | 2 +- packages/create-next-app/package.json | 2 +- packages/eslint-config-next/package.json | 4 ++-- packages/eslint-plugin-next/package.json | 2 +- packages/font/package.json | 2 +- packages/next-bundle-analyzer/package.json | 2 +- packages/next-codemod/package.json | 2 +- packages/next-env/package.json | 2 +- packages/next-mdx/package.json | 2 +- packages/next-plugin-storybook/package.json | 2 +- packages/next-polyfill-module/package.json | 2 +- packages/next-polyfill-nomodule/package.json | 2 +- packages/next-swc/package.json | 2 +- packages/next/package.json | 14 ++++++------ packages/react-refresh-utils/package.json | 2 +- packages/third-parties/package.json | 4 ++-- pnpm-lock.yaml | 24 ++++++++++---------- 17 files changed, 36 insertions(+), 36 deletions(-) diff --git a/lerna.json b/lerna.json index 0647aea53c870..75f62a5ada7d8 100644 --- a/lerna.json +++ b/lerna.json @@ -16,5 +16,5 @@ "registry": "https://registry.npmjs.org/" } }, - "version": "15.0.0-canary.140" + "version": "15.0.0-canary.141" } diff --git a/packages/create-next-app/package.json b/packages/create-next-app/package.json index 8f3c3a13c89bf..299bf48e235dc 100644 --- a/packages/create-next-app/package.json +++ b/packages/create-next-app/package.json @@ -1,6 +1,6 @@ { "name": "create-next-app", - "version": "15.0.0-canary.140", + "version": "15.0.0-canary.141", "keywords": [ "react", "next", diff --git a/packages/eslint-config-next/package.json b/packages/eslint-config-next/package.json index 7d3d4b886b796..f981188e5151a 100644 --- a/packages/eslint-config-next/package.json +++ b/packages/eslint-config-next/package.json @@ -1,6 +1,6 @@ { "name": "eslint-config-next", - "version": "15.0.0-canary.140", + "version": "15.0.0-canary.141", "description": "ESLint configuration used by Next.js.", "main": "index.js", "license": "MIT", @@ -10,7 +10,7 @@ }, "homepage": "https://nextjs.org/docs/app/building-your-application/configuring/eslint#eslint-config", "dependencies": { - "@next/eslint-plugin-next": "15.0.0-canary.140", + "@next/eslint-plugin-next": "15.0.0-canary.141", "@rushstack/eslint-patch": "^1.3.3", "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", diff --git a/packages/eslint-plugin-next/package.json b/packages/eslint-plugin-next/package.json index 8c3e624a3a034..cf3314258a6ce 100644 --- a/packages/eslint-plugin-next/package.json +++ b/packages/eslint-plugin-next/package.json @@ -1,6 +1,6 @@ { "name": "@next/eslint-plugin-next", - "version": "15.0.0-canary.140", + "version": "15.0.0-canary.141", "description": "ESLint plugin for Next.js.", "main": "dist/index.js", "license": "MIT", diff --git a/packages/font/package.json b/packages/font/package.json index 3caef2db77a25..42918aeee2763 100644 --- a/packages/font/package.json +++ b/packages/font/package.json @@ -1,7 +1,7 @@ { "name": "@next/font", "private": true, - "version": "15.0.0-canary.140", + "version": "15.0.0-canary.141", "repository": { "url": "vercel/next.js", "directory": "packages/font" diff --git a/packages/next-bundle-analyzer/package.json b/packages/next-bundle-analyzer/package.json index 5403dbf0ed762..066c07b51e6df 100644 --- a/packages/next-bundle-analyzer/package.json +++ b/packages/next-bundle-analyzer/package.json @@ -1,6 +1,6 @@ { "name": "@next/bundle-analyzer", - "version": "15.0.0-canary.140", + "version": "15.0.0-canary.141", "main": "index.js", "types": "index.d.ts", "license": "MIT", diff --git a/packages/next-codemod/package.json b/packages/next-codemod/package.json index 05e307acf7121..aae316dfe6975 100644 --- a/packages/next-codemod/package.json +++ b/packages/next-codemod/package.json @@ -1,6 +1,6 @@ { "name": "@next/codemod", - "version": "15.0.0-canary.140", + "version": "15.0.0-canary.141", "license": "MIT", "repository": { "type": "git", diff --git a/packages/next-env/package.json b/packages/next-env/package.json index 83bfb7f770f8c..4cdf649cda16b 100644 --- a/packages/next-env/package.json +++ b/packages/next-env/package.json @@ -1,6 +1,6 @@ { "name": "@next/env", - "version": "15.0.0-canary.140", + "version": "15.0.0-canary.141", "keywords": [ "react", "next", diff --git a/packages/next-mdx/package.json b/packages/next-mdx/package.json index 453386b08b43c..d12e4128d5993 100644 --- a/packages/next-mdx/package.json +++ b/packages/next-mdx/package.json @@ -1,6 +1,6 @@ { "name": "@next/mdx", - "version": "15.0.0-canary.140", + "version": "15.0.0-canary.141", "main": "index.js", "license": "MIT", "repository": { diff --git a/packages/next-plugin-storybook/package.json b/packages/next-plugin-storybook/package.json index b07502fa7de59..c0f0185398a97 100644 --- a/packages/next-plugin-storybook/package.json +++ b/packages/next-plugin-storybook/package.json @@ -1,6 +1,6 @@ { "name": "@next/plugin-storybook", - "version": "15.0.0-canary.140", + "version": "15.0.0-canary.141", "repository": { "url": "vercel/next.js", "directory": "packages/next-plugin-storybook" diff --git a/packages/next-polyfill-module/package.json b/packages/next-polyfill-module/package.json index 1c1f53a3b9293..0c5d4a3c22b7d 100644 --- a/packages/next-polyfill-module/package.json +++ b/packages/next-polyfill-module/package.json @@ -1,6 +1,6 @@ { "name": "@next/polyfill-module", - "version": "15.0.0-canary.140", + "version": "15.0.0-canary.141", "description": "A standard library polyfill for ES Modules supporting browsers (Edge 16+, Firefox 60+, Chrome 61+, Safari 10.1+)", "main": "dist/polyfill-module.js", "license": "MIT", diff --git a/packages/next-polyfill-nomodule/package.json b/packages/next-polyfill-nomodule/package.json index b64f08cd28ce7..d6199eb81abee 100644 --- a/packages/next-polyfill-nomodule/package.json +++ b/packages/next-polyfill-nomodule/package.json @@ -1,6 +1,6 @@ { "name": "@next/polyfill-nomodule", - "version": "15.0.0-canary.140", + "version": "15.0.0-canary.141", "description": "A polyfill for non-dead, nomodule browsers.", "main": "dist/polyfill-nomodule.js", "license": "MIT", diff --git a/packages/next-swc/package.json b/packages/next-swc/package.json index bc619b8a596a6..3d65bbd30af3f 100644 --- a/packages/next-swc/package.json +++ b/packages/next-swc/package.json @@ -1,6 +1,6 @@ { "name": "@next/swc", - "version": "15.0.0-canary.140", + "version": "15.0.0-canary.141", "private": true, "scripts": { "clean": "node ../../scripts/rm.mjs native", diff --git a/packages/next/package.json b/packages/next/package.json index ce9b357a6a9cd..5a44c7c7d04f3 100644 --- a/packages/next/package.json +++ b/packages/next/package.json @@ -1,6 +1,6 @@ { "name": "next", - "version": "15.0.0-canary.140", + "version": "15.0.0-canary.141", "description": "The React Framework", "main": "./dist/server/next.js", "license": "MIT", @@ -95,7 +95,7 @@ ] }, "dependencies": { - "@next/env": "15.0.0-canary.140", + "@next/env": "15.0.0-canary.141", "@swc/counter": "0.1.3", "@swc/helpers": "0.5.13", "busboy": "1.6.0", @@ -160,11 +160,11 @@ "@jest/types": "29.5.0", "@mswjs/interceptors": "0.23.0", "@napi-rs/triples": "1.2.0", - "@next/font": "15.0.0-canary.140", - "@next/polyfill-module": "15.0.0-canary.140", - "@next/polyfill-nomodule": "15.0.0-canary.140", - "@next/react-refresh-utils": "15.0.0-canary.140", - "@next/swc": "15.0.0-canary.140", + "@next/font": "15.0.0-canary.141", + "@next/polyfill-module": "15.0.0-canary.141", + "@next/polyfill-nomodule": "15.0.0-canary.141", + "@next/react-refresh-utils": "15.0.0-canary.141", + "@next/swc": "15.0.0-canary.141", "@opentelemetry/api": "1.6.0", "@playwright/test": "1.41.2", "@swc/core": "1.7.0-nightly-20240714.1", diff --git a/packages/react-refresh-utils/package.json b/packages/react-refresh-utils/package.json index 33e41a7eb8677..d68c617215052 100644 --- a/packages/react-refresh-utils/package.json +++ b/packages/react-refresh-utils/package.json @@ -1,6 +1,6 @@ { "name": "@next/react-refresh-utils", - "version": "15.0.0-canary.140", + "version": "15.0.0-canary.141", "description": "An experimental package providing utilities for React Refresh.", "repository": { "url": "vercel/next.js", diff --git a/packages/third-parties/package.json b/packages/third-parties/package.json index 8d26738a7b2fc..e528a47030b62 100644 --- a/packages/third-parties/package.json +++ b/packages/third-parties/package.json @@ -1,6 +1,6 @@ { "name": "@next/third-parties", - "version": "15.0.0-canary.140", + "version": "15.0.0-canary.141", "repository": { "url": "vercel/next.js", "directory": "packages/third-parties" @@ -26,7 +26,7 @@ "third-party-capital": "1.0.20" }, "devDependencies": { - "next": "15.0.0-canary.140", + "next": "15.0.0-canary.141", "outdent": "0.8.0", "prettier": "2.5.1" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 92249b7a0a839..a92ec5572005a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -786,7 +786,7 @@ importers: packages/eslint-config-next: dependencies: '@next/eslint-plugin-next': - specifier: 15.0.0-canary.140 + specifier: 15.0.0-canary.141 version: link:../eslint-plugin-next '@rushstack/eslint-patch': specifier: ^1.3.3 @@ -847,7 +847,7 @@ importers: packages/next: dependencies: '@next/env': - specifier: 15.0.0-canary.140 + specifier: 15.0.0-canary.141 version: link:../next-env '@swc/counter': specifier: 0.1.3 @@ -857,7 +857,7 @@ importers: version: 0.5.13 babel-plugin-react-compiler: specifier: '*' - version: 0.0.0-experimental-4e0eccf-20240830 + version: 0.0.0-experimental-4e0eccf-20240903 busboy: specifier: 1.6.0 version: 1.6.0 @@ -978,19 +978,19 @@ importers: specifier: 1.2.0 version: 1.2.0 '@next/font': - specifier: 15.0.0-canary.140 + specifier: 15.0.0-canary.141 version: link:../font '@next/polyfill-module': - specifier: 15.0.0-canary.140 + specifier: 15.0.0-canary.141 version: link:../next-polyfill-module '@next/polyfill-nomodule': - specifier: 15.0.0-canary.140 + specifier: 15.0.0-canary.141 version: link:../next-polyfill-nomodule '@next/react-refresh-utils': - specifier: 15.0.0-canary.140 + specifier: 15.0.0-canary.141 version: link:../react-refresh-utils '@next/swc': - specifier: 15.0.0-canary.140 + specifier: 15.0.0-canary.141 version: link:../next-swc '@opentelemetry/api': specifier: 1.6.0 @@ -1603,7 +1603,7 @@ importers: version: 1.0.20 devDependencies: next: - specifier: 15.0.0-canary.140 + specifier: 15.0.0-canary.141 version: link:../next outdent: specifier: 0.8.0 @@ -5920,8 +5920,8 @@ packages: peerDependencies: '@babel/core': 7.22.5 - babel-plugin-react-compiler@0.0.0-experimental-4e0eccf-20240830: - resolution: {integrity: sha512-NrhscwyQweUgDfmWrNigyb6mJM22euUSoV2PHCZ7JPRN+vSpqbQuDS2JYfusCxueVMxG1Qaj2JFBAl9RPFeaLQ==} + babel-plugin-react-compiler@0.0.0-experimental-4e0eccf-20240903: + resolution: {integrity: sha512-4PSoBfsZrxtodjG1aIvU+yRIHEXfmDn980pOeUvf/9yN5GpZOBXiijRHheIVY8MeB7T9KHyV45F9ae4xx5ovwg==} babel-plugin-react-compiler@0.0.0-experimental-c23de8d-20240515: resolution: {integrity: sha512-0XN2gmpT55QtAz5n7d5g91y1AuO9tRhWBaLgCRyc4ExHrlr7+LfxW+YTb3mOwxngkkiggwM8HyYsaEK9MqhnlQ==} @@ -20568,7 +20568,7 @@ snapshots: transitivePeerDependencies: - supports-color - babel-plugin-react-compiler@0.0.0-experimental-4e0eccf-20240830: + babel-plugin-react-compiler@0.0.0-experimental-4e0eccf-20240903: dependencies: '@babel/generator': 7.2.0 '@babel/types': 7.22.5 From 47bd0225b0efbdf86c588d257433d7bb076fa64c Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 14 Aug 2024 12:36:33 +0200 Subject: [PATCH 023/119] improve error --- turbopack/crates/turbo-tasks/src/task/shared_reference.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/turbopack/crates/turbo-tasks/src/task/shared_reference.rs b/turbopack/crates/turbo-tasks/src/task/shared_reference.rs index cef099af92569..25383b8dbc640 100644 --- a/turbopack/crates/turbo-tasks/src/task/shared_reference.rs +++ b/turbopack/crates/turbo-tasks/src/task/shared_reference.rs @@ -108,7 +108,7 @@ impl Serialize for TypedSharedReference { } else { Err(serde::ser::Error::custom(format!( "{:?} is not serializable", - arc + registry::get_value_type_global_name(*ty) ))) } } From a56aa1e9a4bf8f8582dafdb8c689e553026a2adf Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 4 Sep 2024 09:54:14 +0200 Subject: [PATCH 024/119] fix CachedTaskType serialization --- turbopack/crates/turbo-tasks/src/backend.rs | 32 +++++++++++++++------ 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/turbopack/crates/turbo-tasks/src/backend.rs b/turbopack/crates/turbo-tasks/src/backend.rs index a272bbad83572..017183814bd0c 100644 --- a/turbopack/crates/turbo-tasks/src/backend.rs +++ b/turbopack/crates/turbo-tasks/src/backend.rs @@ -164,23 +164,27 @@ mod ser { { match self { CachedTaskType::Native { fn_type, this, arg } => { - let mut s = serializer.serialize_seq(Some(3))?; + let mut s = serializer.serialize_tuple(5)?; s.serialize_element::(&0)?; s.serialize_element(&FunctionAndArg::Borrowed { fn_type: *fn_type, - arg, + arg: &**arg, })?; s.serialize_element(this)?; + s.serialize_element(&())?; + s.serialize_element(&())?; s.end() } CachedTaskType::ResolveNative { fn_type, this, arg } => { - let mut s = serializer.serialize_seq(Some(3))?; + let mut s = serializer.serialize_tuple(5)?; s.serialize_element::(&1)?; s.serialize_element(&FunctionAndArg::Borrowed { fn_type: *fn_type, arg: &**arg, })?; s.serialize_element(this)?; + s.serialize_element(&())?; + s.serialize_element(&())?; s.end() } CachedTaskType::ResolveTrait { @@ -236,6 +240,12 @@ mod ser { let this = seq .next_element()? .ok_or_else(|| serde::de::Error::invalid_length(2, &self))?; + let () = seq + .next_element()? + .ok_or_else(|| serde::de::Error::invalid_length(3, &self))?; + let () = seq + .next_element()? + .ok_or_else(|| serde::de::Error::invalid_length(4, &self))?; Ok(CachedTaskType::Native { fn_type, this, arg }) } 1 => { @@ -248,18 +258,24 @@ mod ser { let this = seq .next_element()? .ok_or_else(|| serde::de::Error::invalid_length(2, &self))?; + let () = seq + .next_element()? + .ok_or_else(|| serde::de::Error::invalid_length(3, &self))?; + let () = seq + .next_element()? + .ok_or_else(|| serde::de::Error::invalid_length(4, &self))?; Ok(CachedTaskType::ResolveNative { fn_type, this, arg }) } 2 => { let trait_type = seq .next_element()? - .ok_or_else(|| serde::de::Error::invalid_length(0, &self))?; + .ok_or_else(|| serde::de::Error::invalid_length(1, &self))?; let method_name = seq .next_element()? - .ok_or_else(|| serde::de::Error::invalid_length(1, &self))?; + .ok_or_else(|| serde::de::Error::invalid_length(2, &self))?; let this = seq .next_element()? - .ok_or_else(|| serde::de::Error::invalid_length(2, &self))?; + .ok_or_else(|| serde::de::Error::invalid_length(3, &self))?; let Some(method) = registry::get_trait(trait_type).methods.get(&method_name) else { @@ -267,7 +283,7 @@ mod ser { }; let arg = seq .next_element_seed(method.arg_deserializer)? - .ok_or_else(|| serde::de::Error::invalid_length(3, &self))?; + .ok_or_else(|| serde::de::Error::invalid_length(4, &self))?; Ok(CachedTaskType::ResolveTrait { trait_type, method_name, @@ -279,7 +295,7 @@ mod ser { } } } - deserializer.deserialize_seq(Visitor) + deserializer.deserialize_tuple(5, Visitor) } } } From f948b5260b9face938c2291d52e55f11d503fdaa Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 16 Aug 2024 11:24:37 +0200 Subject: [PATCH 025/119] fix next config serialization --- crates/next-core/src/next_config.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/next-core/src/next_config.rs b/crates/next-core/src/next_config.rs index a0947d48d597a..de7e93a84e849 100644 --- a/crates/next-core/src/next_config.rs +++ b/crates/next-core/src/next_config.rs @@ -314,10 +314,10 @@ pub struct ImageConfig { pub loader_file: Option, pub domains: Vec, pub disable_static_images: bool, - #[serde(rename(deserialize = "minimumCacheTTL"))] + #[serde(rename = "minimumCacheTTL")] pub minimum_cache_ttl: u64, pub formats: Vec, - #[serde(rename(deserialize = "dangerouslyAllowSVG"))] + #[serde(rename = "dangerouslyAllowSVG")] pub dangerously_allow_svg: bool, pub content_security_policy: String, pub remote_patterns: Vec, From b28030653a0099c32e8c390e84d041218c936bc7 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 16 Aug 2024 12:47:33 +0200 Subject: [PATCH 026/119] fix serialization of Rope --- turbopack/crates/turbo-tasks-fs/src/rope.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/turbopack/crates/turbo-tasks-fs/src/rope.rs b/turbopack/crates/turbo-tasks-fs/src/rope.rs index 95f03ab64df72..24def58425c35 100644 --- a/turbopack/crates/turbo-tasks-fs/src/rope.rs +++ b/turbopack/crates/turbo-tasks-fs/src/rope.rs @@ -342,8 +342,8 @@ impl Serialize for Rope { /// possible owner of a individual "shared" data doesn't make sense). fn serialize(&self, serializer: S) -> Result { use serde::ser::Error; - let s = self.to_str().map_err(Error::custom)?; - serializer.serialize_str(&s) + let bytes = self.to_bytes().map_err(Error::custom)?; + bytes.serialize(serializer) } } From ed97c7a484c2202efbd8fb42fba0b29cf6b960d7 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 4 Sep 2024 09:58:28 +0200 Subject: [PATCH 027/119] fix serialization of AliasMap --- Cargo.lock | 5 +++-- Cargo.toml | 2 ++ turbopack/crates/turbo-tasks-fs/Cargo.toml | 2 +- turbopack/crates/turbopack-core/Cargo.toml | 1 + turbopack/crates/turbopack-core/src/resolve/alias_map.rs | 8 +++++--- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 103add441231b..9d5bb28784a69 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5928,9 +5928,9 @@ dependencies = [ [[package]] name = "serde_bytes" -version = "0.11.9" +version = "0.11.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416bda436f9aab92e02c8e10d49a15ddd339cea90b6e340fe51ed97abb548294" +checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" dependencies = [ "serde", ] @@ -8951,6 +8951,7 @@ dependencies = [ "regex", "rstest", "serde", + "serde_bytes", "serde_json", "sourcemap", "swc_core", diff --git a/Cargo.toml b/Cargo.toml index e52c45b1c15b6..73a5e167d570f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -187,6 +187,8 @@ rustc-hash = "1.1.0" semver = "1.0.16" serde = { version = "1.0.152", features = ["derive"] } serde_json = "1.0.93" +serde_bytes = "0.11.15" +serde_path_to_error = "0.1.9" serde_qs = "0.11.0" serde_with = "2.3.2" serde_yaml = "0.9.17" diff --git a/turbopack/crates/turbo-tasks-fs/Cargo.toml b/turbopack/crates/turbo-tasks-fs/Cargo.toml index 59c616c4bb054..96c29bf75b03e 100644 --- a/turbopack/crates/turbo-tasks-fs/Cargo.toml +++ b/turbopack/crates/turbo-tasks-fs/Cargo.toml @@ -41,7 +41,7 @@ notify = { workspace = true } parking_lot = { workspace = true } serde = { workspace = true, features = ["rc"] } serde_json = { workspace = true } -serde_path_to_error = "0.1.9" +serde_path_to_error = { workspace = true } tokio = { workspace = true } tracing = { workspace = true } turbo-tasks = { workspace = true } diff --git a/turbopack/crates/turbopack-core/Cargo.toml b/turbopack/crates/turbopack-core/Cargo.toml index 0963dcd46f08c..429ef2b5f6faa 100644 --- a/turbopack/crates/turbopack-core/Cargo.toml +++ b/turbopack/crates/turbopack-core/Cargo.toml @@ -26,6 +26,7 @@ patricia_tree = "0.5.5" ref-cast = "1.0.20" regex = { workspace = true } serde = { workspace = true, features = ["rc"] } +serde_bytes = { workspace = true } serde_json = { workspace = true, features = ["preserve_order"] } sourcemap = { workspace = true } swc_core = { workspace = true, features = ["ecma_preset_env", "common"] } diff --git a/turbopack/crates/turbopack-core/src/resolve/alias_map.rs b/turbopack/crates/turbopack-core/src/resolve/alias_map.rs index 7b6ae2acae92e..35ae8fc069e29 100644 --- a/turbopack/crates/turbopack-core/src/resolve/alias_map.rs +++ b/turbopack/crates/turbopack-core/src/resolve/alias_map.rs @@ -10,6 +10,7 @@ use serde::{ ser::SerializeMap, Deserialize, Deserializer, Serialize, Serializer, }; +use serde_bytes::{ByteBuf, Bytes}; use turbo_tasks::{ debug::{internal::PassthroughDebug, ValueDebugFormat, ValueDebugFormatString}, trace::{TraceRawVcs, TraceRawVcsContext}, @@ -61,7 +62,8 @@ where S: Serializer, { let mut map = serializer.serialize_map(Some(self.map.len()))?; - for (key, value) in self.map.iter() { + for (prefix, value) in self.map.iter() { + let key = ByteBuf::from(prefix); map.serialize_entry(&key, value)?; } map.end() @@ -87,8 +89,8 @@ where M: MapAccess<'de>, { let mut map = AliasMap::new(); - while let Some((key, value)) = access.next_entry()? { - map.insert(key, value); + while let Some((key, value)) = access.next_entry::<&Bytes, _>()? { + map.map.insert(key, value); } Ok(map) } From 05a4712322ec9e3489e5cf7c8f40b7e17901c00b Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Sat, 17 Aug 2024 10:04:16 +0200 Subject: [PATCH 028/119] more efficent rope serialization --- Cargo.lock | 1 + turbopack/crates/turbo-tasks-fs/Cargo.toml | 1 + turbopack/crates/turbo-tasks-fs/src/rope.rs | 8 ++++++-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9d5bb28784a69..bc18ebc85def9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8684,6 +8684,7 @@ dependencies = [ "parking_lot", "rstest", "serde", + "serde_bytes", "serde_json", "serde_path_to_error", "sha2", diff --git a/turbopack/crates/turbo-tasks-fs/Cargo.toml b/turbopack/crates/turbo-tasks-fs/Cargo.toml index 96c29bf75b03e..c2d63dca2bf6d 100644 --- a/turbopack/crates/turbo-tasks-fs/Cargo.toml +++ b/turbopack/crates/turbo-tasks-fs/Cargo.toml @@ -40,6 +40,7 @@ mime = { workspace = true } notify = { workspace = true } parking_lot = { workspace = true } serde = { workspace = true, features = ["rc"] } +serde_bytes = { workspace = true } serde_json = { workspace = true } serde_path_to_error = { workspace = true } tokio = { workspace = true } diff --git a/turbopack/crates/turbo-tasks-fs/src/rope.rs b/turbopack/crates/turbo-tasks-fs/src/rope.rs index 24def58425c35..52dd8ed904755 100644 --- a/turbopack/crates/turbo-tasks-fs/src/rope.rs +++ b/turbopack/crates/turbo-tasks-fs/src/rope.rs @@ -14,6 +14,7 @@ use anyhow::{Context, Result}; use bytes::{Buf, Bytes}; use futures::Stream; use serde::{Deserialize, Deserializer, Serialize, Serializer}; +use serde_bytes::ByteBuf; use tokio::io::{AsyncRead, ReadBuf}; use turbo_tasks_hash::{DeterministicHash, DeterministicHasher}; use RopeElem::{Local, Shared}; @@ -343,14 +344,17 @@ impl Serialize for Rope { fn serialize(&self, serializer: S) -> Result { use serde::ser::Error; let bytes = self.to_bytes().map_err(Error::custom)?; - bytes.serialize(serializer) + match bytes { + Cow::Borrowed(b) => serde_bytes::Bytes::new(b).serialize(serializer), + Cow::Owned(b) => ByteBuf::from(b).serialize(serializer), + } } } impl<'de> Deserialize<'de> for Rope { /// Deserializes strings into a contiguous, immutable Rope. fn deserialize>(deserializer: D) -> Result { - let bytes = >::deserialize(deserializer)?; + let bytes = ByteBuf::deserialize(deserializer)?.into_vec(); Ok(Rope::from(bytes)) } } From a47ed16e29aa45936dbfa89cbc62898e5f77a3c8 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Mon, 19 Aug 2024 10:26:19 +0200 Subject: [PATCH 029/119] add missing primitives --- turbopack/crates/turbo-tasks/src/trace.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/turbopack/crates/turbo-tasks/src/trace.rs b/turbopack/crates/turbo-tasks/src/trace.rs index cbf1fc042d4c6..162b64cdf2050 100644 --- a/turbopack/crates/turbo-tasks/src/trace.rs +++ b/turbopack/crates/turbo-tasks/src/trace.rs @@ -58,7 +58,7 @@ macro_rules! ignore { } } -ignore!(i8, u8, i16, u16, i32, u32, i64, u64, f32, f64, char, bool, usize); +ignore!(i8, u8, i16, u16, i32, u32, i64, u64, i128, u128, f32, f64, char, bool, isize, usize); ignore!( AtomicI8, AtomicU8, From f8eadba61525594a7e08ca9eb1d024bdcd11665e Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Mon, 19 Aug 2024 11:49:52 +0200 Subject: [PATCH 030/119] Disable serialization for RuntimeVersions --- turbopack/crates/turbopack-core/src/environment.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/turbopack/crates/turbopack-core/src/environment.rs b/turbopack/crates/turbopack-core/src/environment.rs index 89f40160dab6f..3f612b192393e 100644 --- a/turbopack/crates/turbopack-core/src/environment.rs +++ b/turbopack/crates/turbopack-core/src/environment.rs @@ -299,7 +299,8 @@ pub struct BrowserEnvironment { #[turbo_tasks::value(shared)] pub struct EdgeWorkerEnvironment {} -#[turbo_tasks::value(transparent)] +// TODO preset_env_base::Version implements Serialize/Deserialize incorrectly +#[turbo_tasks::value(transparent, serialization = "none")] pub struct RuntimeVersions(#[turbo_tasks(trace_ignore)] pub Versions); #[turbo_tasks::function] From a852ecc1ddcad69a37c63744bf8e0d3653ce5840 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 16 Aug 2024 09:20:19 +0200 Subject: [PATCH 031/119] add TODO --- packages/next/src/server/dev/hot-reloader-turbopack.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/next/src/server/dev/hot-reloader-turbopack.ts b/packages/next/src/server/dev/hot-reloader-turbopack.ts index 6ba60a3c52269..c2747408d47ae 100644 --- a/packages/next/src/server/dev/hot-reloader-turbopack.ts +++ b/packages/next/src/server/dev/hot-reloader-turbopack.ts @@ -126,6 +126,13 @@ export async function createHotReloaderTurbopack( hotReloaderSpan.stop() const encryptionKey = await generateEncryptionKeyBase64(true) + + // TODO: Implement + let clientRouterFilters: any + if (nextConfig.experimental.clientRouterFilter) { + // TODO this need to be set correctly for persistent caching to work + } + const project = await bindings.turbo.createProject( { projectPath: dir, @@ -137,8 +144,7 @@ export async function createHotReloaderTurbopack( env: process.env as Record, defineEnv: createDefineEnv({ isTurbopack: true, - // TODO: Implement - clientRouterFilters: undefined, + clientRouterFilters, config: nextConfig, dev: true, distDir, From 325aea076b376580903e0e36fdf530367fbce9de Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 16 Aug 2024 12:46:52 +0200 Subject: [PATCH 032/119] fix function name --- turbopack/crates/turbo-tasks/src/backend.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/turbopack/crates/turbo-tasks/src/backend.rs b/turbopack/crates/turbo-tasks/src/backend.rs index 017183814bd0c..5a1b31f01a811 100644 --- a/turbopack/crates/turbo-tasks/src/backend.rs +++ b/turbopack/crates/turbo-tasks/src/backend.rs @@ -312,18 +312,18 @@ impl CachedTaskType { fn_type: native_fn, this: _, arg: _, - } - | Self::ResolveNative { + } => Cow::Borrowed(®istry::get_function(*native_fn).name), + Self::ResolveNative { fn_type: native_fn, this: _, arg: _, - } => Cow::Borrowed(®istry::get_function(*native_fn).name), + } => format!("*{}", registry::get_function(*native_fn).name).into(), Self::ResolveTrait { trait_type: trait_id, method_name: fn_name, this: _, arg: _, - } => format!("{}::{}", registry::get_trait(*trait_id).name, fn_name).into(), + } => format!("*{}::{}", registry::get_trait(*trait_id).name, fn_name).into(), } } From 2f8da2f4495cde7ca7702afc5187f6d94f76c602 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 4 Sep 2024 20:33:08 +0200 Subject: [PATCH 033/119] fix test case --- turbopack/crates/turbo-tasks/src/backend.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/turbopack/crates/turbo-tasks/src/backend.rs b/turbopack/crates/turbo-tasks/src/backend.rs index 5a1b31f01a811..15920269893e8 100644 --- a/turbopack/crates/turbo-tasks/src/backend.rs +++ b/turbopack/crates/turbo-tasks/src/backend.rs @@ -748,7 +748,7 @@ pub(crate) mod tests { arg: Box::new(()), } .get_name(), - "MockTrait::mock_method_task", + "*MockTrait::mock_method_task", ); } } From 19737efaea34f7a8892b3df5f42366dc8f3cbca4 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 14 Aug 2024 09:39:53 +0200 Subject: [PATCH 034/119] handle state serialization --- Cargo.lock | 1 + .../crates/turbo-tasks-testing/src/lib.rs | 8 + turbopack/crates/turbo-tasks/Cargo.toml | 2 +- turbopack/crates/turbo-tasks/src/backend.rs | 15 + turbopack/crates/turbo-tasks/src/lib.rs | 12 +- turbopack/crates/turbo-tasks/src/manager.rs | 31 +- .../src/serialization_invalidation.rs | 95 ++++++ turbopack/crates/turbo-tasks/src/state.rs | 285 ++++++++++++++---- 8 files changed, 383 insertions(+), 66 deletions(-) create mode 100644 turbopack/crates/turbo-tasks/src/serialization_invalidation.rs diff --git a/Cargo.lock b/Cargo.lock index bc18ebc85def9..29e84e5b47c3e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3628,6 +3628,7 @@ checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" dependencies = [ "autocfg", "scopeguard", + "serde", ] [[package]] diff --git a/turbopack/crates/turbo-tasks-testing/src/lib.rs b/turbopack/crates/turbo-tasks-testing/src/lib.rs index bc3dbfd1c9177..5ba43c8e3fb88 100644 --- a/turbopack/crates/turbo-tasks-testing/src/lib.rs +++ b/turbopack/crates/turbo-tasks-testing/src/lib.rs @@ -177,6 +177,10 @@ impl TurboTasksApi for VcStorage { unreachable!() } + fn invalidate_serialization(&self, _task: TaskId) { + // ingore + } + fn notify_scheduled_tasks(&self) { // ignore } @@ -309,6 +313,10 @@ impl TurboTasksApi for VcStorage { // no-op } + fn mark_own_task_as_dirty_when_persisted(&self, _task: TaskId) { + // no-op + } + fn detached_for_testing( &self, _f: std::pin::Pin> + Send + 'static>>, diff --git a/turbopack/crates/turbo-tasks/Cargo.toml b/turbopack/crates/turbo-tasks/Cargo.toml index a22c8c7fd9cb9..8bf86edb4d0db 100644 --- a/turbopack/crates/turbo-tasks/Cargo.toml +++ b/turbopack/crates/turbo-tasks/Cargo.toml @@ -28,7 +28,7 @@ futures = { workspace = true } indexmap = { workspace = true, features = ["serde"] } mopa = "0.2.0" once_cell = { workspace = true } -parking_lot = { workspace = true } +parking_lot = { workspace = true, features = ["serde"]} pin-project-lite = { workspace = true } regex = { workspace = true } rustc-hash = { workspace = true } diff --git a/turbopack/crates/turbo-tasks/src/backend.rs b/turbopack/crates/turbo-tasks/src/backend.rs index 15920269893e8..d87ebe638048a 100644 --- a/turbopack/crates/turbo-tasks/src/backend.rs +++ b/turbopack/crates/turbo-tasks/src/backend.rs @@ -455,6 +455,13 @@ pub trait Backend: Sync + Send { fn invalidate_tasks(&self, tasks: &[TaskId], turbo_tasks: &dyn TurboTasksBackendApi); fn invalidate_tasks_set(&self, tasks: &TaskIdSet, turbo_tasks: &dyn TurboTasksBackendApi); + fn invalidate_serialization( + &self, + _task: TaskId, + _turbo_tasks: &dyn TurboTasksBackendApi, + ) { + } + fn get_task_description(&self, task: TaskId) -> String; /// Task-local state that stored inside of [`TurboTasksBackendApi`]. Constructed with @@ -623,6 +630,14 @@ pub trait Backend: Sync + Send { // Do nothing by default } + fn mark_own_task_as_dirty_when_persisted( + &self, + _task: TaskId, + _turbo_tasks: &dyn TurboTasksBackendApi, + ) { + // Do nothing by default + } + fn create_transient_task( &self, task_type: TransientTaskType, diff --git a/turbopack/crates/turbo-tasks/src/lib.rs b/turbopack/crates/turbo-tasks/src/lib.rs index daeaf2021aea5..9fce176ff3b8d 100644 --- a/turbopack/crates/turbo-tasks/src/lib.rs +++ b/turbopack/crates/turbo-tasks/src/lib.rs @@ -62,6 +62,7 @@ mod raw_vc; mod rcstr; mod read_ref; pub mod registry; +mod serialization_invalidation; pub mod small_duration; mod state; pub mod task; @@ -91,16 +92,17 @@ pub use invalidation::{ pub use join_iter_ext::{JoinIterExt, TryFlatJoinIterExt, TryJoinIterExt}; pub use magic_any::MagicAny; pub use manager::{ - dynamic_call, dynamic_this_call, emit, mark_finished, mark_stateful, prevent_gc, run_once, - run_once_with_reason, spawn_blocking, spawn_thread, trait_call, turbo_tasks, CurrentCellRef, - ReadConsistency, TaskPersistence, TurboTasks, TurboTasksApi, TurboTasksBackendApi, - TurboTasksBackendApiExt, TurboTasksCallApi, Unused, UpdateInfo, + dynamic_call, dynamic_this_call, emit, mark_dirty_when_persisted, mark_finished, mark_stateful, + prevent_gc, run_once, run_once_with_reason, spawn_blocking, spawn_thread, trait_call, + turbo_tasks, CurrentCellRef, ReadConsistency, TaskPersistence, TurboTasks, TurboTasksApi, + TurboTasksBackendApi, TurboTasksBackendApiExt, TurboTasksCallApi, Unused, UpdateInfo, }; pub use native_function::{FunctionMeta, NativeFunction}; pub use raw_vc::{CellId, RawVc, ReadRawVcFuture, ResolveTypeError}; pub use read_ref::ReadRef; use rustc_hash::FxHasher; -pub use state::State; +pub use serialization_invalidation::SerializationInvalidator; +pub use state::{State, TransientState}; pub use task::{task_input::TaskInput, SharedReference}; pub use trait_ref::{IntoTraitRef, TraitRef}; pub use turbo_tasks_macros::{function, value, value_impl, value_trait, TaskInput}; diff --git a/turbopack/crates/turbo-tasks/src/manager.rs b/turbopack/crates/turbo-tasks/src/manager.rs index 209c43e5c1a6b..79f487d08021b 100644 --- a/turbopack/crates/turbo-tasks/src/manager.rs +++ b/turbopack/crates/turbo-tasks/src/manager.rs @@ -39,6 +39,7 @@ use crate::{ magic_any::MagicAny, raw_vc::{CellId, RawVc}, registry::{self, get_function}, + serialization_invalidation::SerializationInvalidator, task::shared_reference::TypedSharedReference, trace::TraceRawVcs, trait_helpers::get_trait_method, @@ -115,6 +116,8 @@ pub trait TurboTasksApi: TurboTasksCallApi + Sync + Send { fn invalidate(&self, task: TaskId); fn invalidate_with_reason(&self, task: TaskId, reason: StaticOrArc); + fn invalidate_serialization(&self, task: TaskId); + /// Eagerly notifies all tasks that were scheduled for notifications via /// `schedule_notify_tasks_set()` fn notify_scheduled_tasks(&self); @@ -180,6 +183,7 @@ pub trait TurboTasksApi: TurboTasksCallApi + Sync + Send { fn read_own_task_cell(&self, task: TaskId, index: CellId) -> Result; fn update_own_task_cell(&self, task: TaskId, index: CellId, content: CellContent); fn mark_own_task_as_finished(&self, task: TaskId); + fn mark_own_task_as_dirty_when_persisted(&self, task: TaskId); fn connect_task(&self, task: TaskId); @@ -1256,6 +1260,10 @@ impl TurboTasksApi for TurboTasks { self.backend.invalidate_task(task, self); } + fn invalidate_serialization(&self, task: TaskId) { + self.backend.invalidate_serialization(task, self); + } + fn notify_scheduled_tasks(&self) { let _ = CURRENT_GLOBAL_TASK_STATE.try_with(|cell| { let tasks = { @@ -1395,6 +1403,11 @@ impl TurboTasksApi for TurboTasks { self.backend.mark_own_task_as_finished(task, self); } + fn mark_own_task_as_dirty_when_persisted(&self, task: TaskId) { + self.backend + .mark_own_task_as_dirty_when_persisted(task, self); + } + /// Creates a future that inherits the current task id and task state. The current global task /// will wait for this future to be dropped before exiting. fn detached_for_testing( @@ -1677,6 +1690,15 @@ pub fn current_task_for_testing() -> TaskId { CURRENT_GLOBAL_TASK_STATE.with(|ts| ts.read().unwrap().task_id) } +/// Marks the current task as dirty when restored from persistent cache. +pub fn mark_dirty_when_persisted() { + with_turbo_tasks(|tt| { + tt.mark_own_task_as_dirty_when_persisted(current_task( + "turbo_tasks::mark_dirty_when_persisted()", + )) + }); +} + /// Marks the current task as finished. This excludes it from waiting for /// strongly consistency. pub fn mark_finished() { @@ -1687,10 +1709,15 @@ pub fn mark_finished() { /// Marks the current task as stateful. This prevents the tasks from being /// dropped without persisting the state. -pub fn mark_stateful() { +/// Returns a [`SerializationInvalidator`] that can be used to invalidate the +/// serialization of the current task cells +pub fn mark_stateful() -> SerializationInvalidator { CURRENT_GLOBAL_TASK_STATE.with(|cell| { - let CurrentGlobalTaskState { stateful, .. } = &mut *cell.write().unwrap(); + let CurrentGlobalTaskState { + stateful, task_id, .. + } = &mut *cell.write().unwrap(); *stateful = true; + SerializationInvalidator::new(*task_id) }) } diff --git a/turbopack/crates/turbo-tasks/src/serialization_invalidation.rs b/turbopack/crates/turbo-tasks/src/serialization_invalidation.rs new file mode 100644 index 0000000000000..babd11988f7aa --- /dev/null +++ b/turbopack/crates/turbo-tasks/src/serialization_invalidation.rs @@ -0,0 +1,95 @@ +use std::{ + hash::Hash, + sync::{Arc, Weak}, +}; + +use serde::{de::Visitor, Deserialize, Serialize}; +use tokio::runtime::Handle; + +use crate::{manager::with_turbo_tasks, trace::TraceRawVcs, TaskId, TurboTasksApi}; + +pub struct SerializationInvalidator { + task: TaskId, + turbo_tasks: Weak, + handle: Handle, +} + +impl Hash for SerializationInvalidator { + fn hash(&self, state: &mut H) { + self.task.hash(state); + } +} + +impl PartialEq for SerializationInvalidator { + fn eq(&self, other: &Self) -> bool { + self.task == other.task + } +} + +impl Eq for SerializationInvalidator {} + +impl SerializationInvalidator { + pub fn invalidate(&self) { + let SerializationInvalidator { + task, + turbo_tasks, + handle, + } = self; + let _ = handle.enter(); + if let Some(turbo_tasks) = turbo_tasks.upgrade() { + turbo_tasks.invalidate_serialization(*task); + } + } + + pub(crate) fn new(task_id: TaskId) -> Self { + Self { + task: task_id, + turbo_tasks: with_turbo_tasks(Arc::downgrade), + handle: Handle::current(), + } + } +} + +impl TraceRawVcs for SerializationInvalidator { + fn trace_raw_vcs(&self, _context: &mut crate::trace::TraceRawVcsContext) { + // nothing here + } +} + +impl Serialize for SerializationInvalidator { + fn serialize(&self, serializer: S) -> Result + where + S: serde::Serializer, + { + serializer.serialize_newtype_struct("SerializationInvalidator", &self.task) + } +} + +impl<'de> Deserialize<'de> for SerializationInvalidator { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + struct V; + + impl<'de> Visitor<'de> for V { + type Value = SerializationInvalidator; + + fn expecting(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + write!(f, "an SerializationInvalidator") + } + + fn visit_newtype_struct(self, deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + Ok(SerializationInvalidator { + task: TaskId::deserialize(deserializer)?, + turbo_tasks: with_turbo_tasks(Arc::downgrade), + handle: tokio::runtime::Handle::current(), + }) + } + } + deserializer.deserialize_newtype_struct("SerializationInvalidator", V) + } +} diff --git a/turbopack/crates/turbo-tasks/src/state.rs b/turbopack/crates/turbo-tasks/src/state.rs index 53552047e3d7a..79d2207e3eb3c 100644 --- a/turbopack/crates/turbo-tasks/src/state.rs +++ b/turbopack/crates/turbo-tasks/src/state.rs @@ -6,24 +6,102 @@ use std::{ use auto_hash_map::AutoSet; use parking_lot::{Mutex, MutexGuard}; -use serde::{Deserialize, Deserializer, Serialize}; +use serde::{Deserialize, Serialize}; -use crate::{get_invalidator, mark_stateful, trace::TraceRawVcs, Invalidator}; - -pub struct State { - inner: Mutex>, -} +use crate::{ + get_invalidator, mark_dirty_when_persisted, mark_stateful, trace::TraceRawVcs, Invalidator, + SerializationInvalidator, +}; +#[derive(Serialize, Deserialize)] struct StateInner { value: T, invalidators: AutoSet, } +impl StateInner { + pub fn new(value: T) -> Self { + Self { + value, + invalidators: AutoSet::new(), + } + } + + pub fn add_invalidator(&mut self, invalidator: Invalidator) { + self.invalidators.insert(invalidator); + } + + pub fn set_unconditionally(&mut self, value: T) { + self.value = value; + for invalidator in take(&mut self.invalidators) { + invalidator.invalidate(); + } + } + + pub fn update_conditionally(&mut self, update: impl FnOnce(&mut T) -> bool) -> bool { + if !update(&mut self.value) { + return false; + } + for invalidator in take(&mut self.invalidators) { + invalidator.invalidate(); + } + true + } +} + +impl StateInner { + pub fn set(&mut self, value: T) -> bool { + if self.value == value { + return false; + } + self.value = value; + for invalidator in take(&mut self.invalidators) { + invalidator.invalidate(); + } + true + } +} + pub struct StateRef<'a, T> { + serialization_invalidator: Option<&'a SerializationInvalidator>, inner: MutexGuard<'a, StateInner>, mutated: bool, } +impl<'a, T> Deref for StateRef<'a, T> { + type Target = T; + + fn deref(&self) -> &Self::Target { + &self.inner.value + } +} + +impl<'a, T> DerefMut for StateRef<'a, T> { + fn deref_mut(&mut self) -> &mut Self::Target { + self.mutated = true; + &mut self.inner.value + } +} + +impl<'a, T> Drop for StateRef<'a, T> { + fn drop(&mut self) { + if self.mutated { + for invalidator in take(&mut self.inner.invalidators) { + invalidator.invalidate(); + } + if let Some(serialization_invalidator) = self.serialization_invalidator { + serialization_invalidator.invalidate(); + } + } + } +} + +#[derive(Serialize, Deserialize)] +pub struct State { + serialization_invalidator: SerializationInvalidator, + inner: Mutex>, +} + impl Debug for State { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { f.debug_struct("State") @@ -52,30 +130,11 @@ impl PartialEq for State { } impl Eq for State {} -impl Serialize for State { - fn serialize(&self, _serializer: S) -> Result { - // For this to work at all we need to do more. Changing the state need to - // invalidate the serialization of the task that contains the state. So we - // probably need to store the state outside of the task to be able to serialize - // it independent from the creating task. - panic!("State serialization is not implemented yet"); - } -} - -impl<'de, T> Deserialize<'de> for State { - fn deserialize>(_deserializer: D) -> Result { - panic!("State serialization is not implemented yet"); - } -} - impl State { pub fn new(value: T) -> Self { - mark_stateful(); Self { - inner: Mutex::new(StateInner { - value, - invalidators: AutoSet::new(), - }), + serialization_invalidator: mark_stateful(), + inner: Mutex::new(StateInner::new(value)), } } @@ -85,8 +144,9 @@ impl State { pub fn get(&self) -> StateRef<'_, T> { let invalidator = get_invalidator(); let mut inner = self.inner.lock(); - inner.invalidators.insert(invalidator); + inner.add_invalidator(invalidator); StateRef { + serialization_invalidator: Some(&self.serialization_invalidator), inner, mutated: false, } @@ -96,6 +156,7 @@ impl State { pub fn get_untracked(&self) -> StateRef<'_, T> { let inner = self.inner.lock(); StateRef { + serialization_invalidator: Some(&self.serialization_invalidator), inner, mutated: false, } @@ -104,11 +165,11 @@ impl State { /// Sets the current state without comparing it with the old value. This /// should only be used if one is sure that the value has changed. pub fn set_unconditionally(&self, value: T) { - let mut inner = self.inner.lock(); - inner.value = value; - for invalidator in take(&mut inner.invalidators) { - invalidator.invalidate(); + { + let mut inner = self.inner.lock(); + inner.set_unconditionally(value); } + self.serialization_invalidator.invalidate(); } /// Updates the current state with the `update` function. The `update` @@ -116,13 +177,13 @@ impl State { /// the current value from the `update` function is not allowed and will /// result in incorrect cache invalidation. pub fn update_conditionally(&self, update: impl FnOnce(&mut T) -> bool) { - let mut inner = self.inner.lock(); - if !update(&mut inner.value) { - return; - } - for invalidator in take(&mut inner.invalidators) { - invalidator.invalidate(); + { + let mut inner = self.inner.lock(); + if !inner.update_conditionally(update) { + return; + } } + self.serialization_invalidator.invalidate(); } } @@ -130,38 +191,146 @@ impl State { /// Update the current state when the `value` is different from the current /// value. `T` must implement [PartialEq] for this to work. pub fn set(&self, value: T) { - let mut inner = self.inner.lock(); - if inner.value == value { - return; - } - inner.value = value; - for invalidator in take(&mut inner.invalidators) { - invalidator.invalidate(); + { + let mut inner = self.inner.lock(); + if !inner.set(value) { + return; + } } + self.serialization_invalidator.invalidate(); } } -impl<'a, T> Deref for StateRef<'a, T> { - type Target = T; +pub struct TransientState { + inner: Mutex>>, +} - fn deref(&self) -> &Self::Target { - &self.inner.value +impl Serialize for TransientState { + fn serialize(&self, serializer: S) -> Result + where + S: serde::Serializer, + { + Serialize::serialize(&(), serializer) } } -impl<'a, T> DerefMut for StateRef<'a, T> { - fn deref_mut(&mut self) -> &mut Self::Target { - self.mutated = true; - &mut self.inner.value +impl<'de, T> Deserialize<'de> for TransientState { + fn deserialize(deserializer: D) -> Result, D::Error> + where + D: serde::Deserializer<'de>, + { + let () = Deserialize::deserialize(deserializer)?; + Ok(TransientState { + inner: Mutex::new(StateInner::new(Default::default())), + }) } } -impl<'a, T> Drop for StateRef<'a, T> { +impl Debug for TransientState { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + f.debug_struct("TransientState") + .field("value", &self.inner.lock().value) + .finish() + } +} + +impl TraceRawVcs for TransientState { + fn trace_raw_vcs(&self, trace_context: &mut crate::trace::TraceRawVcsContext) { + self.inner.lock().value.trace_raw_vcs(trace_context); + } +} + +impl Default for TransientState { + fn default() -> Self { + // Need to be explicit to ensure marking as stateful. + Self::new() + } +} + +impl PartialEq for TransientState { + fn eq(&self, _other: &Self) -> bool { + false + } +} +impl Eq for TransientState {} + +impl Drop for TransientState { fn drop(&mut self) { - if self.mutated { - for invalidator in take(&mut self.inner.invalidators) { - invalidator.invalidate(); - } + let mut inner = self.inner.lock(); + for invalidator in take(&mut inner.invalidators) { + invalidator.invalidate(); + } + } +} + +impl TransientState { + pub fn new() -> Self { + mark_stateful(); + Self { + inner: Mutex::new(StateInner::new(None)), + } + } + + /// Gets the current value of the state. The current task will be registered + /// as dependency of the state and will be invalidated when the state + /// changes. + pub fn get(&self) -> StateRef<'_, Option> { + mark_dirty_when_persisted(); + let invalidator = get_invalidator(); + let mut inner = self.inner.lock(); + inner.add_invalidator(invalidator); + StateRef { + serialization_invalidator: None, + inner, + mutated: false, } } + + /// Gets the current value of the state. Untracked. + pub fn get_untracked(&self) -> StateRef<'_, Option> { + let inner = self.inner.lock(); + StateRef { + serialization_invalidator: None, + inner, + mutated: false, + } + } + + /// Sets the current state without comparing it with the old value. This + /// should only be used if one is sure that the value has changed. + pub fn set_unconditionally(&self, value: T) { + let mut inner = self.inner.lock(); + inner.set_unconditionally(Some(value)); + } + + /// Unset the current value without comparing it with the old value. This + /// should only be used if one is sure that the value has changed. + pub fn unset_unconditionally(&self) { + let mut inner = self.inner.lock(); + inner.set_unconditionally(None); + } + + /// Updates the current state with the `update` function. The `update` + /// function need to return `true` when the value was modified. Exposing + /// the current value from the `update` function is not allowed and will + /// result in incorrect cache invalidation. + pub fn update_conditionally(&self, update: impl FnOnce(&mut Option) -> bool) { + let mut inner = self.inner.lock(); + inner.update_conditionally(update); + } +} + +impl TransientState { + /// Update the current state when the `value` is different from the current + /// value. `T` must implement [PartialEq] for this to work. + pub fn set(&self, value: T) { + let mut inner = self.inner.lock(); + inner.set(Some(value)); + } + + /// Unset the current value. + pub fn unset(&self) { + let mut inner = self.inner.lock(); + inner.set(None); + } } From d63d94ac7c36ae0132c552babfdc7ab764f46884 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 14 Aug 2024 12:01:07 +0200 Subject: [PATCH 035/119] use TransientState --- turbopack/crates/turbopack-ecmascript/src/lib.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/turbopack/crates/turbopack-ecmascript/src/lib.rs b/turbopack/crates/turbopack-ecmascript/src/lib.rs index e58b298322451..65a1a6f1cc78f 100644 --- a/turbopack/crates/turbopack-ecmascript/src/lib.rs +++ b/turbopack/crates/turbopack-ecmascript/src/lib.rs @@ -247,8 +247,7 @@ pub struct EcmascriptModuleAsset { pub compile_time_info: Vc, pub inner_assets: Option>, #[turbo_tasks(debug_ignore)] - #[serde(skip)] - last_successful_parse: turbo_tasks::State>>, + last_successful_parse: turbo_tasks::TransientState>, } #[turbo_tasks::value_trait] @@ -341,8 +340,7 @@ impl EcmascriptParsable for EcmascriptModuleAsset { let real_result_value = real_result.await?; let this = self.await?; let result_value = if matches!(*real_result_value, ParseResult::Ok { .. }) { - this.last_successful_parse - .set(Some(real_result_value.clone())); + this.last_successful_parse.set(real_result_value.clone()); real_result_value } else { let state_ref = this.last_successful_parse.get(); From 98b8e8656732f63cf1242061cb62d026580c5332 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Sat, 17 Aug 2024 22:17:51 +0200 Subject: [PATCH 036/119] invalidate filesystem serialization correctly --- turbopack/crates/turbo-tasks-fs/src/lib.rs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/turbopack/crates/turbo-tasks-fs/src/lib.rs b/turbopack/crates/turbo-tasks-fs/src/lib.rs index 3ea9efd3f1bb5..eaa4cb42cf2de 100644 --- a/turbopack/crates/turbo-tasks-fs/src/lib.rs +++ b/turbopack/crates/turbo-tasks-fs/src/lib.rs @@ -58,7 +58,8 @@ use tokio::{ }; use tracing::Instrument; use turbo_tasks::{ - mark_stateful, trace::TraceRawVcs, Completion, Invalidator, RcStr, ReadRef, ValueToString, Vc, + mark_stateful, trace::TraceRawVcs, Completion, Invalidator, RcStr, ReadRef, + SerializationInvalidator, ValueToString, Vc, }; use turbo_tasks_hash::{hash_xxh3_hash64, DeterministicHash, DeterministicHasher}; use util::{extract_disk_access, join_path, normalize_path, sys_to_unix, unix_to_sys}; @@ -106,6 +107,8 @@ pub struct DiskFileSystem { invalidator_map: Arc, #[turbo_tasks(debug_ignore, trace_ignore)] dir_invalidator_map: Arc, + #[turbo_tasks(debug_ignore, trace_ignore)] + serialization_invalidator: SerializationInvalidator, /// Lock that makes invalidation atomic. It will keep a write lock during /// watcher invalidation and a read lock during other operations. #[turbo_tasks(debug_ignore, trace_ignore)] @@ -126,6 +129,7 @@ impl DiskFileSystem { fn register_invalidator(&self, path: &Path) -> Result<()> { let invalidator = turbo_tasks::get_invalidator(); self.invalidator_map.insert(path_to_key(path), invalidator); + self.serialization_invalidator.invalidate(); #[cfg(not(any(target_os = "macos", target_os = "windows")))] if let Some(dir) = path.parent() { self.watcher.ensure_watching(dir, self.root_path())?; @@ -140,6 +144,8 @@ impl DiskFileSystem { let invalidator = turbo_tasks::get_invalidator(); let mut invalidator_map = self.invalidator_map.lock().unwrap(); let old_invalidators = invalidator_map.insert(path_to_key(path), [invalidator].into()); + drop(invalidator_map); + self.serialization_invalidator.invalidate(); #[cfg(not(any(target_os = "macos", target_os = "windows")))] if let Some(dir) = path.parent() { self.watcher.ensure_watching(dir, self.root_path())?; @@ -153,6 +159,7 @@ impl DiskFileSystem { let invalidator = turbo_tasks::get_invalidator(); self.dir_invalidator_map .insert(path_to_key(path), invalidator); + self.serialization_invalidator.invalidate(); #[cfg(not(any(target_os = "macos", target_os = "windows")))] self.watcher.ensure_watching(path, self.root_path())?; Ok(()) @@ -172,6 +179,7 @@ impl DiskFileSystem { for (_, invalidators) in take(&mut *self.dir_invalidator_map.lock().unwrap()).into_iter() { invalidators.into_iter().for_each(|i| i.invalidate()); } + self.serialization_invalidator.invalidate(); } pub fn invalidate_with_reason(&self) { @@ -189,6 +197,7 @@ impl DiskFileSystem { .into_iter() .for_each(|i| i.invalidate_with_reason(reason.clone())); } + self.serialization_invalidator.invalidate(); } pub fn start_watching(&self) -> Result<()> { @@ -217,6 +226,7 @@ impl DiskFileSystem { invalidator_map, dir_invalidator_map, )?; + self.serialization_invalidator.invalidate(); Ok(()) } @@ -293,7 +303,7 @@ impl DiskFileSystem { /// ignore specific subpaths from each. #[turbo_tasks::function] pub async fn new(name: RcStr, root: RcStr, ignored_subpaths: Vec) -> Result> { - mark_stateful(); + let serialization_invalidator = mark_stateful(); // create the directory for the filesystem on disk, if it doesn't exist fs::create_dir_all(&root).await?; @@ -304,6 +314,7 @@ impl DiskFileSystem { invalidation_lock: Default::default(), invalidator_map: Arc::new(InvalidatorMap::new()), dir_invalidator_map: Arc::new(InvalidatorMap::new()), + serialization_invalidator, watcher: Arc::new(DiskWatcher::new( ignored_subpaths.into_iter().map(PathBuf::from).collect(), )), @@ -561,6 +572,7 @@ impl FileSystem for DiskFileSystem { for i in old_invalidators { self.invalidator_map.insert(key.clone(), i); } + self.serialization_invalidator.invalidate(); } return Ok(Completion::unchanged()); } From 61cc36cc884d214e8e40f06625f2a0078762e775 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Mon, 19 Aug 2024 13:22:34 +0200 Subject: [PATCH 037/119] no invalidation on Drop --- turbopack/crates/turbo-tasks/src/state.rs | 9 --------- 1 file changed, 9 deletions(-) diff --git a/turbopack/crates/turbo-tasks/src/state.rs b/turbopack/crates/turbo-tasks/src/state.rs index 79d2207e3eb3c..adf4dc0987745 100644 --- a/turbopack/crates/turbo-tasks/src/state.rs +++ b/turbopack/crates/turbo-tasks/src/state.rs @@ -254,15 +254,6 @@ impl PartialEq for TransientState { } impl Eq for TransientState {} -impl Drop for TransientState { - fn drop(&mut self) { - let mut inner = self.inner.lock(); - for invalidator in take(&mut inner.invalidators) { - invalidator.invalidate(); - } - } -} - impl TransientState { pub fn new() -> Self { mark_stateful(); From 0aaf518d15284b84fbdb42b330ffc7dd65e8b341 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 26 Jul 2024 08:25:27 +0200 Subject: [PATCH 038/119] add new backend --- Cargo.lock | 21 ++ .../crates/turbo-tasks-backend/Cargo.toml | 32 +++ turbopack/crates/turbo-tasks-backend/build.rs | 5 + .../turbo-tasks-backend/src/backend/mod.rs | 37 ++++ .../src/backend/operation/mod.rs | 1 + .../src/backend/storage.rs | 34 ++++ .../crates/turbo-tasks-backend/src/data.rs | 184 ++++++++++++++++++ .../crates/turbo-tasks-backend/src/lib.rs | 3 + .../turbo-tasks-backend/src/utils/bi_map.rs | 50 +++++ .../src/utils/chunked_vec.rs | 76 ++++++++ .../turbo-tasks-backend/src/utils/mod.rs | 2 + .../crates/turbo-tasks-macros/src/lib.rs | 7 + .../turbo-tasks-macros/src/with_key_macro.rs | 179 +++++++++++++++++ turbopack/crates/turbo-tasks/src/keyed.rs | 7 + turbopack/crates/turbo-tasks/src/lib.rs | 4 +- 15 files changed, 641 insertions(+), 1 deletion(-) create mode 100644 turbopack/crates/turbo-tasks-backend/Cargo.toml create mode 100644 turbopack/crates/turbo-tasks-backend/build.rs create mode 100644 turbopack/crates/turbo-tasks-backend/src/backend/mod.rs create mode 100644 turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs create mode 100644 turbopack/crates/turbo-tasks-backend/src/backend/storage.rs create mode 100644 turbopack/crates/turbo-tasks-backend/src/data.rs create mode 100644 turbopack/crates/turbo-tasks-backend/src/lib.rs create mode 100644 turbopack/crates/turbo-tasks-backend/src/utils/bi_map.rs create mode 100644 turbopack/crates/turbo-tasks-backend/src/utils/chunked_vec.rs create mode 100644 turbopack/crates/turbo-tasks-backend/src/utils/mod.rs create mode 100644 turbopack/crates/turbo-tasks-macros/src/with_key_macro.rs create mode 100644 turbopack/crates/turbo-tasks/src/keyed.rs diff --git a/Cargo.lock b/Cargo.lock index 29e84e5b47c3e..c316cb47abbdc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8607,6 +8607,27 @@ dependencies = [ "unsize", ] +[[package]] +name = "turbo-tasks-backend" +version = "0.1.0" +dependencies = [ + "anyhow", + "auto-hash-map", + "dashmap", + "once_cell", + "parking_lot", + "rustc-hash", + "serde", + "smallvec", + "tokio", + "tracing", + "turbo-prehash", + "turbo-tasks", + "turbo-tasks-build", + "turbo-tasks-hash", + "turbo-tasks-malloc", +] + [[package]] name = "turbo-tasks-build" version = "0.1.0" diff --git a/turbopack/crates/turbo-tasks-backend/Cargo.toml b/turbopack/crates/turbo-tasks-backend/Cargo.toml new file mode 100644 index 0000000000000..8b21d629dfd3d --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/Cargo.toml @@ -0,0 +1,32 @@ +[package] +name = "turbo-tasks-backend" +version = "0.1.0" +description = "TBD" +license = "MPL-2.0" +edition = "2021" +autobenches = false + +[lib] +bench = false + +[lints] +workspace = true + +[dependencies] +anyhow = { workspace = true } +auto-hash-map = { workspace = true } +dashmap = { workspace = true } +once_cell = { workspace = true } +parking_lot = { workspace = true } +rustc-hash = { workspace = true } +serde = { workspace = true } +smallvec = { workspace = true } +tokio = { workspace = true } +tracing = { workspace = true } +turbo-prehash = { workspace = true } +turbo-tasks = { workspace = true } +turbo-tasks-hash = { workspace = true } +turbo-tasks-malloc = { workspace = true, default-features = false } + +[build-dependencies] +turbo-tasks-build = { workspace = true } diff --git a/turbopack/crates/turbo-tasks-backend/build.rs b/turbopack/crates/turbo-tasks-backend/build.rs new file mode 100644 index 0000000000000..1673efed59cce --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/build.rs @@ -0,0 +1,5 @@ +use turbo_tasks_build::generate_register; + +fn main() { + generate_register(); +} diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs new file mode 100644 index 0000000000000..c4b918a446dee --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -0,0 +1,37 @@ +mod operation; +mod storage; + +use std::{collections::VecDeque, sync::Arc}; + +use parking_lot::Mutex; +use turbo_tasks::{backend::CachedTaskType, TaskId}; + +use self::{operation::Operation, storage::Storage}; +use crate::{ + data::{CachedDataItem, CachedDataUpdate}, + utils::{bi_map::BiMap, chunked_vec::ChunkedVec}, +}; + +pub struct TurboTasksBackend { + persisted_task_cache_log: Mutex, TaskId)>>, + task_cache: BiMap, TaskId>, + persisted_storage_log: Mutex>, + storage: Storage, + operations: Mutex>>, +} + +impl TurboTasksBackend { + pub fn new() -> Self { + Self { + persisted_task_cache_log: Mutex::new(ChunkedVec::new()), + task_cache: BiMap::new(), + persisted_storage_log: Mutex::new(ChunkedVec::new()), + storage: Storage::new(), + operations: Mutex::new(VecDeque::new()), + } + } + + fn run_operation(&self, operation: Box) { + self.operations.lock().push_back(operation); + } +} diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs new file mode 100644 index 0000000000000..b3b434511bf3f --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs @@ -0,0 +1 @@ +pub trait Operation {} diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs new file mode 100644 index 0000000000000..957dabd2db994 --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs @@ -0,0 +1,34 @@ +use auto_hash_map::AutoMap; +use dashmap::DashMap; +use turbo_tasks::Keyed; + +enum PersistanceState { + /// We know that all state of the object is only in the cache and nothing is + /// stored in the persistent cache. + CacheOnly, + /// We know that some state of the object is stored in the persistent cache. + Persisted, + /// We have never checked the persistent cache for the state of the object. + Unknown, +} + +struct InnerStorage { + map: AutoMap, + persistance_state: PersistanceState, +} + +pub struct Storage { + map: DashMap>, +} + +impl Storage +where + K: Eq + std::hash::Hash + Clone, + T: Keyed, +{ + pub fn new() -> Self { + Self { + map: DashMap::new(), + } + } +} diff --git a/turbopack/crates/turbo-tasks-backend/src/data.rs b/turbopack/crates/turbo-tasks-backend/src/data.rs new file mode 100644 index 0000000000000..d4a032e966627 --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/src/data.rs @@ -0,0 +1,184 @@ +use turbo_tasks::{util::SharedError, CellId, SharedReference, TaskId}; + +#[derive(Debug, Copy, Clone)] +pub struct CellRef { + task: TaskId, + cell: CellId, +} + +#[derive(Debug, Copy, Clone)] +pub enum OutputValue { + Cell(CellRef), + Output(TaskId), + Error, +} +impl OutputValue { + fn is_transient(&self) -> bool { + match self { + OutputValue::Cell(cell) => cell.task.is_transient(), + OutputValue::Output(task) => task.is_transient(), + OutputValue::Error => false, + } + } +} + +#[derive(Debug, Copy, Clone)] +pub enum RootType { + RootTask, + OnceTask, + ReadingStronglyConsistent, +} + +#[derive(Debug, Copy, Clone)] +pub enum InProgressState { + Scheduled { clean: bool }, + InProgress { clean: bool, stale: bool }, +} + +#[turbo_tasks::with_key] +#[derive(Debug, Clone)] +pub enum CachedDataItem { + // Output + Output { + value: OutputValue, + }, + Collectible { + collectible: CellRef, + value: (), + }, + + // State + Dirty { + value: (), + }, + DirtyWhenPersisted { + value: (), + }, + + // Children + Child { + task: TaskId, + value: (), + }, + + // Cells + CellData { + cell: CellId, + value: SharedReference, + }, + + // Dependencies + OutputDependency { + target: TaskId, + value: (), + }, + CellDependency { + target: CellRef, + value: (), + }, + + // Dependent + OutputDependent { + task: TaskId, + value: (), + }, + CellDependent { + cell: CellId, + task: TaskId, + value: (), + }, + + // Aggregation Graph + AggregationNumber { + value: u32, + }, + Follower { + task: TaskId, + value: (), + }, + Upper { + task: TaskId, + value: (), + }, + + // Aggregated Data + AggregatedDirtyTask { + task: TaskId, + value: (), + }, + AggregatedCollectible { + collectible: CellRef, + value: (), + }, + AggregatedUnfinishedTasks { + value: u32, + }, + + // Transient Root Type + AggregateRootType { + value: RootType, + }, + + // Transient In Progress state + InProgress { + value: InProgressState, + }, + OutdatedCollectible { + collectible: CellRef, + value: (), + }, + OutdatedOutputDependency { + target: TaskId, + value: (), + }, + OutdatedCellDependency { + target: CellRef, + value: (), + }, + + // Transient Error State + Error { + value: SharedError, + }, +} + +impl CachedDataItem { + pub fn is_persistent(&self) -> bool { + match self { + CachedDataItem::Output { value } => value.is_transient(), + CachedDataItem::Collectible { collectible, .. } => !collectible.task.is_transient(), + CachedDataItem::Dirty { .. } => true, + CachedDataItem::DirtyWhenPersisted { .. } => true, + CachedDataItem::Child { task, .. } => !task.is_transient(), + CachedDataItem::CellData { .. } => true, + CachedDataItem::OutputDependency { target, .. } => !target.is_transient(), + CachedDataItem::CellDependency { target, .. } => !target.task.is_transient(), + CachedDataItem::OutputDependent { task, .. } => !task.is_transient(), + CachedDataItem::CellDependent { task, .. } => !task.is_transient(), + CachedDataItem::AggregationNumber { .. } => true, + CachedDataItem::Follower { task, .. } => !task.is_transient(), + CachedDataItem::Upper { task, .. } => !task.is_transient(), + CachedDataItem::AggregatedDirtyTask { task, .. } => !task.is_transient(), + CachedDataItem::AggregatedCollectible { collectible, .. } => { + !collectible.task.is_transient() + } + CachedDataItem::AggregatedUnfinishedTasks { .. } => true, + CachedDataItem::AggregateRootType { .. } => false, + CachedDataItem::InProgress { .. } => false, + CachedDataItem::OutdatedCollectible { .. } => false, + CachedDataItem::OutdatedOutputDependency { .. } => false, + CachedDataItem::OutdatedCellDependency { .. } => false, + CachedDataItem::Error { .. } => false, + } + } +} + +trait IsDefault { + fn is_default(&self) -> bool; +} + +pub struct CachedDataUpdate { + pub task: TaskId, + pub key: CachedDataItemKey, + pub value: Option, +} diff --git a/turbopack/crates/turbo-tasks-backend/src/lib.rs b/turbopack/crates/turbo-tasks-backend/src/lib.rs new file mode 100644 index 0000000000000..5f67a0c86f697 --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/src/lib.rs @@ -0,0 +1,3 @@ +mod backend; +mod data; +mod utils; diff --git a/turbopack/crates/turbo-tasks-backend/src/utils/bi_map.rs b/turbopack/crates/turbo-tasks-backend/src/utils/bi_map.rs new file mode 100644 index 0000000000000..97392f52b8196 --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/src/utils/bi_map.rs @@ -0,0 +1,50 @@ +use std::{borrow::Borrow, hash::Hash}; + +use dashmap::{mapref::entry::Entry, DashMap}; + +pub struct BiMap { + forward: DashMap, + reverse: DashMap, +} + +impl BiMap +where + K: Eq + Hash + Clone, + V: Eq + Hash + Clone, +{ + pub fn new() -> Self { + Self { + forward: DashMap::new(), + reverse: DashMap::new(), + } + } + + pub fn lookup_forward(&self, key: &Q) -> Option + where + K: Borrow, + Q: Hash + Eq, + { + self.forward.get(key).map(|v| v.value().clone()) + } + + pub fn lookup_reverse(&self, key: &Q) -> Option + where + V: Borrow, + Q: Hash + Eq, + { + self.reverse.get(key).map(|v| v.value().clone()) + } + + pub fn try_insert(&self, key: K, value: V) -> Result<(), V> { + match self.forward.entry(key) { + Entry::Occupied(e) => Err(e.get().clone()), + Entry::Vacant(e) => { + let e = e.insert_entry(value.clone()); + let key = e.key().clone(); + drop(e); + self.reverse.insert(value, key); + Ok(()) + } + } + } +} diff --git a/turbopack/crates/turbo-tasks-backend/src/utils/chunked_vec.rs b/turbopack/crates/turbo-tasks-backend/src/utils/chunked_vec.rs new file mode 100644 index 0000000000000..4ac560aab9c9e --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/src/utils/chunked_vec.rs @@ -0,0 +1,76 @@ +pub struct ChunkedVec { + chunks: Vec>, +} + +impl ChunkedVec { + pub fn new() -> Self { + Self { chunks: Vec::new() } + } + + pub fn len(&self) -> usize { + if let Some(last) = self.chunks.last() { + let free = last.capacity() - self.len(); + cummulative_chunk_size(self.chunks.len() - 1) - free + } else { + 0 + } + } + + pub fn push(&mut self, item: T) { + if let Some(chunk) = self.chunks.last_mut() { + if chunk.len() < chunk.capacity() { + chunk.push(item); + return; + } + } + let mut chunk = Vec::with_capacity(chunk_size(self.chunks.len())); + chunk.push(item); + self.chunks.push(chunk); + } + + pub fn into_iter(self) -> impl Iterator { + let len = self.len(); + ExactSizeIter { + iter: self.chunks.into_iter().flat_map(|chunk| chunk.into_iter()), + len, + } + } + + pub fn iter(&self) -> impl Iterator { + ExactSizeIter { + iter: self.chunks.iter().flat_map(|chunk| chunk.iter()), + len: self.len(), + } + } +} + +fn chunk_size(chunk_index: usize) -> usize { + 8 << chunk_index +} + +fn cummulative_chunk_size(chunk_index: usize) -> usize { + 8 << (chunk_index + 1) - 8 +} + +struct ExactSizeIter { + iter: I, + len: usize, +} + +impl Iterator for ExactSizeIter { + type Item = I::Item; + + fn next(&mut self) -> Option { + self.iter.next().inspect(|_| self.len -= 1) + } + + fn size_hint(&self) -> (usize, Option) { + (self.len, Some(self.len)) + } +} + +impl ExactSizeIterator for ExactSizeIter { + fn len(&self) -> usize { + self.len + } +} diff --git a/turbopack/crates/turbo-tasks-backend/src/utils/mod.rs b/turbopack/crates/turbo-tasks-backend/src/utils/mod.rs new file mode 100644 index 0000000000000..54b7d067e843b --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/src/utils/mod.rs @@ -0,0 +1,2 @@ +pub mod bi_map; +pub mod chunked_vec; diff --git a/turbopack/crates/turbo-tasks-macros/src/lib.rs b/turbopack/crates/turbo-tasks-macros/src/lib.rs index 75124c7ae8c0e..217c4dd54c299 100644 --- a/turbopack/crates/turbo-tasks-macros/src/lib.rs +++ b/turbopack/crates/turbo-tasks-macros/src/lib.rs @@ -11,6 +11,7 @@ mod primitive_macro; mod value_impl_macro; mod value_macro; mod value_trait_macro; +mod with_key_macro; extern crate proc_macro; @@ -177,6 +178,12 @@ pub fn value_impl(args: TokenStream, input: TokenStream) -> TokenStream { value_impl_macro::value_impl(args, input) } +#[proc_macro_error] +#[proc_macro_attribute] +pub fn with_key(_args: TokenStream, input: TokenStream) -> TokenStream { + with_key_macro::with_key(input) +} + #[allow_internal_unstable(min_specialization, into_future, trivial_bounds)] #[proc_macro_error] #[proc_macro] diff --git a/turbopack/crates/turbo-tasks-macros/src/with_key_macro.rs b/turbopack/crates/turbo-tasks-macros/src/with_key_macro.rs new file mode 100644 index 0000000000000..996ad6b8dc3c7 --- /dev/null +++ b/turbopack/crates/turbo-tasks-macros/src/with_key_macro.rs @@ -0,0 +1,179 @@ +use proc_macro::TokenStream; +use quote::quote; +use syn::{parse_macro_input, Ident, ItemEnum}; + +pub fn with_key(input: TokenStream) -> TokenStream { + let input = parse_macro_input!(input as ItemEnum); + + let attrs = &input.attrs; + let ident = &input.ident; + let vis = &input.vis; + let key_name = Ident::new(&format!("{}Key", input.ident), input.ident.span()); + let value_name = Ident::new(&format!("{}Value", input.ident), input.ident.span()); + + let variant_names = input + .variants + .iter() + .map(|variant| &variant.ident) + .collect::>(); + + let key_fields = input + .variants + .iter() + .map(|variant| { + variant + .fields + .iter() + .filter(|field| { + let Some(ident) = &field.ident else { + return false; + }; + ident != "value" + }) + .collect::>() + }) + .collect::>(); + + let value_fields = input + .variants + .iter() + .map(|variant| { + variant + .fields + .iter() + .filter(|field| { + let Some(ident) = &field.ident else { + return false; + }; + ident == "value" + }) + .collect::>() + }) + .collect::>(); + + let key_decl = field_declarations(&key_fields); + let key_pat = patterns(&key_fields); + let key_clone_fields = clone_fields(&key_fields); + + let value_decl = field_declarations(&value_fields); + let value_pat = patterns(&value_fields); + let value_clone_fields = clone_fields(&value_fields); + + quote! { + #input + + impl turbo_tasks::Keyed for #ident { + type Key = #key_name; + type Value = #value_name; + + fn key(&self) -> #key_name { + match self { + #( + #ident::#variant_names { #key_pat .. } => #key_name::#variant_names { #key_clone_fields }, + )* + } + } + + fn value(&self) -> #value_name { + match self { + #( + #ident::#variant_names { #value_pat .. } => #value_name::#variant_names { #value_clone_fields }, + )* + } + } + + fn from_key_and_value(key: #key_name, value: #value_name) -> Self { + match (key, value) { + #( + (#key_name::#variant_names { #key_pat }, #value_name::#variant_names { #value_pat }) => #ident::#variant_names { #key_pat #value_pat }, + )* + _ => panic!("Invalid key and value combination"), + } + } + } + + #(#attrs)* + #vis enum #key_name { + #( + #variant_names { + #key_decl + }, + )* + } + + #(#attrs)* + #vis enum #value_name { + #( + #variant_names { + #value_decl + }, + )* + } + } + .into() +} + +fn patterns(fields: &Vec>) -> Vec { + let variant_pat = fields + .iter() + .map(|fields| { + let pat = fields + .iter() + .map(|field| { + let ident = field.ident.as_ref().unwrap(); + quote! { + #ident + } + }) + .collect::>(); + quote! { + #(#pat,)* + } + }) + .collect::>(); + variant_pat +} + +fn clone_fields(fields: &Vec>) -> Vec { + let variant_pat = fields + .iter() + .map(|fields| { + let pat = fields + .iter() + .map(|field| { + let ident = field.ident.as_ref().unwrap(); + quote! { + #ident: #ident.clone() + } + }) + .collect::>(); + quote! { + #(#pat,)* + } + }) + .collect::>(); + variant_pat +} + +fn field_declarations(fields: &Vec>) -> Vec { + fields + .iter() + .map(|fields| { + let fields = fields + .iter() + .map(|field| { + let ty = &field.ty; + let ident = field.ident.as_ref().unwrap(); + let attrs = &field.attrs; + quote! { + #(#attrs)* + #ident: #ty + } + }) + .collect::>(); + quote! { + #(#fields),* + } + }) + .collect::>() +} diff --git a/turbopack/crates/turbo-tasks/src/keyed.rs b/turbopack/crates/turbo-tasks/src/keyed.rs new file mode 100644 index 0000000000000..46a1cf7f6b9bf --- /dev/null +++ b/turbopack/crates/turbo-tasks/src/keyed.rs @@ -0,0 +1,7 @@ +pub trait Keyed { + type Key; + type Value; + fn key(&self) -> Self::Key; + fn value(&self) -> Self::Value; + fn from_key_and_value(key: Self::Key, value: Self::Value) -> Self; +} diff --git a/turbopack/crates/turbo-tasks/src/lib.rs b/turbopack/crates/turbo-tasks/src/lib.rs index 9fce176ff3b8d..a5ee0725f56a9 100644 --- a/turbopack/crates/turbo-tasks/src/lib.rs +++ b/turbopack/crates/turbo-tasks/src/lib.rs @@ -49,6 +49,7 @@ mod id; mod id_factory; mod invalidation; mod join_iter_ext; +mod keyed; #[doc(hidden)] pub mod macro_helpers; mod magic_any; @@ -90,6 +91,7 @@ pub use invalidation::{ InvalidationReasonSet, Invalidator, }; pub use join_iter_ext::{JoinIterExt, TryFlatJoinIterExt, TryJoinIterExt}; +pub use keyed::Keyed; pub use magic_any::MagicAny; pub use manager::{ dynamic_call, dynamic_this_call, emit, mark_dirty_when_persisted, mark_finished, mark_stateful, @@ -105,7 +107,7 @@ pub use serialization_invalidation::SerializationInvalidator; pub use state::{State, TransientState}; pub use task::{task_input::TaskInput, SharedReference}; pub use trait_ref::{IntoTraitRef, TraitRef}; -pub use turbo_tasks_macros::{function, value, value_impl, value_trait, TaskInput}; +pub use turbo_tasks_macros::{function, value, value_impl, value_trait, with_key, TaskInput}; pub use value::{TransientInstance, TransientValue, Value}; pub use value_type::{TraitMethod, TraitType, ValueType}; pub use vc::{ From 09d7fca1af7112152ade1bd0137f3a20a132c8ca Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Mon, 29 Jul 2024 10:52:22 +0200 Subject: [PATCH 039/119] new backend --- Cargo.lock | 1 + .../crates/turbo-tasks-backend/Cargo.toml | 1 + .../turbo-tasks-backend/src/backend/mod.rs | 312 +++++++++++++++++- .../src/backend/operation/connect_child.rs | 52 +++ .../src/backend/operation/mod.rs | 176 +++++++++- .../src/backend/storage.rs | 85 ++++- .../crates/turbo-tasks-backend/src/data.rs | 53 ++- .../crates/turbo-tasks-backend/src/lib.rs | 2 + .../src/utils/external_locks.rs | 61 ++++ .../turbo-tasks-backend/src/utils/mod.rs | 2 + .../src/utils/ptr_eq_arc.rs | 47 +++ .../key_value_pair_macro.rs} | 19 +- .../turbo-tasks-macros/src/derive/mod.rs | 2 + .../crates/turbo-tasks-macros/src/lib.rs | 12 +- .../src/{keyed.rs => key_value_pair.rs} | 5 +- turbopack/crates/turbo-tasks/src/lib.rs | 6 +- 16 files changed, 791 insertions(+), 45 deletions(-) create mode 100644 turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs create mode 100644 turbopack/crates/turbo-tasks-backend/src/utils/external_locks.rs create mode 100644 turbopack/crates/turbo-tasks-backend/src/utils/ptr_eq_arc.rs rename turbopack/crates/turbo-tasks-macros/src/{with_key_macro.rs => derive/key_value_pair_macro.rs} (90%) rename turbopack/crates/turbo-tasks/src/{keyed.rs => key_value_pair.rs} (53%) diff --git a/Cargo.lock b/Cargo.lock index c316cb47abbdc..f429bb1fc7893 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8612,6 +8612,7 @@ name = "turbo-tasks-backend" version = "0.1.0" dependencies = [ "anyhow", + "async-trait", "auto-hash-map", "dashmap", "once_cell", diff --git a/turbopack/crates/turbo-tasks-backend/Cargo.toml b/turbopack/crates/turbo-tasks-backend/Cargo.toml index 8b21d629dfd3d..cd38a6bb31794 100644 --- a/turbopack/crates/turbo-tasks-backend/Cargo.toml +++ b/turbopack/crates/turbo-tasks-backend/Cargo.toml @@ -14,6 +14,7 @@ workspace = true [dependencies] anyhow = { workspace = true } +async-trait = { workspace = true } auto-hash-map = { workspace = true } dashmap = { workspace = true } once_cell = { workspace = true } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index c4b918a446dee..9f495fbf27a21 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -1,37 +1,331 @@ mod operation; mod storage; -use std::{collections::VecDeque, sync::Arc}; +use std::{ + borrow::Cow, + collections::HashSet, + future::Future, + hash::BuildHasherDefault, + pin::Pin, + sync::{ + atomic::{AtomicUsize, Ordering}, + Arc, + }, + time::Duration, +}; -use parking_lot::Mutex; -use turbo_tasks::{backend::CachedTaskType, TaskId}; +use anyhow::Result; +use auto_hash_map::{AutoMap, AutoSet}; +use parking_lot::{Condvar, Mutex}; +use rustc_hash::FxHasher; +use turbo_tasks::{ + backend::{ + Backend, BackendJobId, CachedTaskType, CellContent, TaskExecutionSpec, TransientTaskType, + TypedCellContent, + }, + event::EventListener, + util::IdFactoryWithReuse, + CellId, FunctionId, RawVc, ReadConsistency, TaskId, TraitTypeId, TurboTasksBackendApi, + ValueTypeId, TRANSIENT_TASK_BIT, +}; -use self::{operation::Operation, storage::Storage}; +use self::{ + operation::{AnyOperation, ExecuteContext, Operation}, + storage::Storage, +}; use crate::{ data::{CachedDataItem, CachedDataUpdate}, - utils::{bi_map::BiMap, chunked_vec::ChunkedVec}, + utils::{bi_map::BiMap, chunked_vec::ChunkedVec, ptr_eq_arc::PtrEqArc}, }; +const SNAPSHOT_REQUESTED_BIT: usize = 1 << 63; + +struct SnapshotRequest { + snapshot_requested: bool, + suspended_operations: HashSet>, +} + +impl SnapshotRequest { + fn new() -> Self { + Self { + snapshot_requested: false, + suspended_operations: HashSet::new(), + } + } +} + pub struct TurboTasksBackend { + persisted_task_id_factory: IdFactoryWithReuse, + transient_task_id_factory: IdFactoryWithReuse, + persisted_task_cache_log: Mutex, TaskId)>>, task_cache: BiMap, TaskId>, + persisted_storage_log: Mutex>, storage: Storage, - operations: Mutex>>, + + /// Number of executing operations + Highest bit is set when snapshot is + /// requested. When that bit is set, operations should pause until the + /// snapshot is completed. When the bit is set and in progress counter + /// reaches zero, `operations_completed_when_snapshot_requested` is + /// triggered. + in_progress_operations: AtomicUsize, + + snapshot_request: Mutex, + /// Condition Variable that is triggered when `in_progress_operations` + /// reaches zero while snapshot is requested. All operations are either + /// completed or suspended. + operations_suspended: Condvar, + /// Condition Variable that is triggered when a snapshot is completed and + /// operations can continue. + snapshot_completed: Condvar, } impl TurboTasksBackend { pub fn new() -> Self { Self { + persisted_task_id_factory: IdFactoryWithReuse::new(1, (TRANSIENT_TASK_BIT - 1) as u64), + transient_task_id_factory: IdFactoryWithReuse::new( + TRANSIENT_TASK_BIT as u64, + u32::MAX as u64, + ), persisted_task_cache_log: Mutex::new(ChunkedVec::new()), task_cache: BiMap::new(), persisted_storage_log: Mutex::new(ChunkedVec::new()), storage: Storage::new(), - operations: Mutex::new(VecDeque::new()), + in_progress_operations: AtomicUsize::new(0), + snapshot_request: Mutex::new(SnapshotRequest::new()), + operations_suspended: Condvar::new(), + snapshot_completed: Condvar::new(), } } - fn run_operation(&self, operation: Box) { - self.operations.lock().push_back(operation); + fn run_operation( + &self, + operation: impl Operation, + turbo_tasks: &dyn TurboTasksBackendApi, + ) { + operation.execute(ExecuteContext::new(self, turbo_tasks)); + } + + fn operation_suspend_point(&self, suspend: impl FnOnce() -> AnyOperation) { + if (self.in_progress_operations.load(Ordering::Relaxed) & SNAPSHOT_REQUESTED_BIT) != 0 { + let operation = Arc::new(suspend()); + let mut snapshot_request = self.snapshot_request.lock(); + if snapshot_request.snapshot_requested { + snapshot_request + .suspended_operations + .insert(operation.clone().into()); + let value = self.in_progress_operations.fetch_sub(1, Ordering::AcqRel); + assert!((value & SNAPSHOT_REQUESTED_BIT) != 0); + if value == SNAPSHOT_REQUESTED_BIT { + self.operations_suspended.notify_all(); + } + self.snapshot_completed + .wait_while(&mut snapshot_request, |snapshot_request| { + snapshot_request.snapshot_requested + }); + self.in_progress_operations.fetch_add(1, Ordering::AcqRel); + snapshot_request + .suspended_operations + .remove(&operation.into()); + } + } + } +} + +// Operations +impl TurboTasksBackend { + pub fn connect_child( + &self, + parent_task: TaskId, + child_task: TaskId, + turbo_tasks: &dyn TurboTasksBackendApi, + ) { + self.run_operation( + operation::ConnectChildOperation::new(parent_task, child_task), + turbo_tasks, + ); + } +} + +impl Backend for TurboTasksBackend { + fn get_or_create_persistent_task( + &self, + task_type: CachedTaskType, + parent_task: TaskId, + turbo_tasks: &dyn TurboTasksBackendApi, + ) -> TaskId { + if let Some(task_id) = self.task_cache.lookup_forward(&task_type) { + self.connect_child(parent_task, task_id, turbo_tasks); + return task_id; + } + + let task_type = Arc::new(task_type); + let task_id = self.persisted_task_id_factory.get(); + if let Err(existing_task_id) = self.task_cache.try_insert(task_type.clone(), task_id) { + // Safety: We just created the id and failed to insert it. + unsafe { + self.persisted_task_id_factory.reuse(task_id); + } + self.connect_child(parent_task, existing_task_id, turbo_tasks); + return existing_task_id; + } + self.persisted_task_cache_log + .lock() + .push((task_type, task_id)); + + self.connect_child(parent_task, task_id, turbo_tasks); + + task_id + } + + fn invalidate_task(&self, _: TaskId, _: &dyn TurboTasksBackendApi) { + todo!() + } + fn invalidate_tasks(&self, _: &[TaskId], _: &dyn TurboTasksBackendApi) { + todo!() + } + fn invalidate_tasks_set( + &self, + _: &AutoSet, 2>, + _: &dyn TurboTasksBackendApi, + ) { + todo!() + } + fn get_task_description(&self, _: TaskId) -> std::string::String { + todo!() + } + fn try_get_function_id(&self, _: TaskId) -> Option { + todo!() + } + type TaskState = (); + fn new_task_state(&self, _task: TaskId) -> Self::TaskState { + () + } + fn try_start_task_execution( + &self, + _: TaskId, + _: &dyn TurboTasksBackendApi, + ) -> std::option::Option> { + todo!() + } + fn task_execution_result( + &self, + _: TaskId, + _: Result, std::option::Option>>, + _: &dyn TurboTasksBackendApi, + ) { + todo!() + } + fn task_execution_completed( + &self, + _: TaskId, + _: Duration, + _: usize, + _: &AutoMap, 8>, + _: bool, + _: &dyn TurboTasksBackendApi, + ) -> bool { + todo!() + } + fn run_backend_job( + &self, + _: BackendJobId, + _: &dyn TurboTasksBackendApi, + ) -> Pin + Send + 'static)>> { + todo!() + } + fn try_read_task_output( + &self, + _: TaskId, + _: TaskId, + _: ReadConsistency, + _: &dyn TurboTasksBackendApi, + ) -> Result, turbo_tasks::Error> { + todo!() + } + fn try_read_task_output_untracked( + &self, + _: TaskId, + _: ReadConsistency, + _: &dyn TurboTasksBackendApi, + ) -> Result, turbo_tasks::Error> { + todo!() + } + fn try_read_task_cell( + &self, + _: TaskId, + _: CellId, + _: TaskId, + _: &dyn TurboTasksBackendApi, + ) -> Result, turbo_tasks::Error> { + todo!() + } + fn try_read_task_cell_untracked( + &self, + _: TaskId, + _: CellId, + _: &dyn TurboTasksBackendApi, + ) -> Result, turbo_tasks::Error> { + todo!() + } + fn read_task_collectibles( + &self, + _: TaskId, + _: TraitTypeId, + _: TaskId, + _: &dyn TurboTasksBackendApi, + ) -> AutoMap, 1> { + todo!() + } + fn emit_collectible( + &self, + _: TraitTypeId, + _: RawVc, + _: TaskId, + _: &dyn TurboTasksBackendApi, + ) { + todo!() + } + fn unemit_collectible( + &self, + _: TraitTypeId, + _: RawVc, + _: u32, + _: TaskId, + _: &dyn TurboTasksBackendApi, + ) { + todo!() + } + fn update_task_cell( + &self, + _: TaskId, + _: CellId, + _: CellContent, + _: &dyn TurboTasksBackendApi, + ) { + todo!() + } + fn get_or_create_transient_task( + &self, + _: CachedTaskType, + _: TaskId, + _: &dyn TurboTasksBackendApi, + ) -> TaskId { + todo!() + } + fn connect_task(&self, _: TaskId, _: TaskId, _: &dyn TurboTasksBackendApi) { + todo!() + } + fn create_transient_task( + &self, + _: TransientTaskType, + _: &dyn TurboTasksBackendApi, + ) -> TaskId { + todo!() + } + fn dispose_root_task(&self, _: TaskId, _: &dyn TurboTasksBackendApi) { + todo!() } } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs new file mode 100644 index 0000000000000..11f5f5c7ed4a6 --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs @@ -0,0 +1,52 @@ +use serde::{Deserialize, Serialize}; +use turbo_tasks::TaskId; + +use super::{ExecuteContext, Operation}; +use crate::{data::CachedDataItem, suspend_point}; + +#[derive(Serialize, Deserialize, Clone, Default)] +pub enum ConnectChildOperation { + AddChild { + parent_task: TaskId, + child_task: TaskId, + }, + #[default] + Done, + // TODO Add aggregated edge +} + +impl ConnectChildOperation { + pub fn new(parent_task: TaskId, child_task: TaskId) -> Self { + ConnectChildOperation::AddChild { + parent_task, + child_task, + } + } +} + +impl Operation for ConnectChildOperation { + fn execute(mut self, ctx: ExecuteContext<'_>) { + loop { + match self { + ConnectChildOperation::AddChild { + parent_task, + child_task, + } => { + let mut parent_task = ctx.task(parent_task); + if parent_task.add(CachedDataItem::Child { + task: child_task, + value: (), + }) { + // TODO add aggregated edge + suspend_point!(self, ctx, ConnectChildOperation::Done); + } else { + suspend_point!(self, ctx, ConnectChildOperation::Done); + } + } + ConnectChildOperation::Done => { + return; + } + } + } + } +} diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs index b3b434511bf3f..5701cf7c4be2d 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs @@ -1 +1,175 @@ -pub trait Operation {} +mod connect_child; + +use serde::{Deserialize, Serialize}; +use turbo_tasks::{KeyValuePair, TaskId, TurboTasksBackendApi}; + +use super::{storage::StorageWriteGuard, TurboTasksBackend}; +use crate::data::{CachedDataItem, CachedDataItemKey, CachedDataItemValue, CachedDataUpdate}; + +pub trait Operation: Serialize + for<'de> Deserialize<'de> { + fn execute(self, ctx: ExecuteContext<'_>); +} + +pub struct ExecuteContext<'a> { + backend: &'a TurboTasksBackend, + turbo_tasks: &'a dyn TurboTasksBackendApi, +} + +impl<'a> ExecuteContext<'a> { + pub fn new( + backend: &'a TurboTasksBackend, + turbo_tasks: &'a dyn TurboTasksBackendApi, + ) -> Self { + Self { + backend, + turbo_tasks, + } + } + + pub fn task(&self, task_id: TaskId) -> TaskGuard<'a> { + TaskGuard { + task: self.backend.storage.access_mut(task_id), + task_id, + backend: self.backend, + } + } + + pub fn operation_suspend_point(&self, f: impl FnOnce() -> AnyOperation) { + self.backend.operation_suspend_point(f) + } +} + +pub struct TaskGuard<'a> { + task_id: TaskId, + task: StorageWriteGuard<'a, TaskId, CachedDataItem>, + backend: &'a TurboTasksBackend, +} + +impl<'a> TaskGuard<'a> { + fn new( + task_id: TaskId, + task: StorageWriteGuard<'a, TaskId, CachedDataItem>, + backend: &'a TurboTasksBackend, + ) -> Self { + Self { + task_id, + task, + backend, + } + } + + pub fn add(&mut self, item: CachedDataItem) -> bool { + if !item.is_persistent() { + self.task.add(item) + } else { + if self.task.add(item.clone()) { + let (key, value) = item.into_key_and_value(); + self.backend + .persisted_storage_log + .lock() + .push(CachedDataUpdate { + key, + task: self.task_id, + value: Some(value), + }); + true + } else { + false + } + } + } + + pub fn upsert(&mut self, item: CachedDataItem) -> Option { + let (key, value) = item.into_key_and_value(); + if !key.is_persistent() { + self.task + .upsert(CachedDataItem::from_key_and_value(key, value)) + } else if value.is_persistent() { + let old = self.task.upsert(CachedDataItem::from_key_and_value( + key.clone(), + value.clone(), + )); + self.backend + .persisted_storage_log + .lock() + .push(CachedDataUpdate { + key, + task: self.task_id, + value: Some(value), + }); + old + } else { + let item = CachedDataItem::from_key_and_value(key.clone(), value); + if let Some(old) = self.task.upsert(item) { + if old.is_persistent() { + self.backend + .persisted_storage_log + .lock() + .push(CachedDataUpdate { + key, + task: self.task_id, + value: None, + }); + } + Some(old) + } else { + None + } + } + } + + pub fn remove(&mut self, key: &CachedDataItemKey) -> Option { + let old_value = self.task.remove(&key); + if let Some(value) = old_value { + if key.is_persistent() && value.is_persistent() { + let key = key.clone(); + self.backend + .persisted_storage_log + .lock() + .push(CachedDataUpdate { + key, + task: self.task_id, + value: None, + }); + } + Some(value) + } else { + None + } + } +} + +macro_rules! impl_operation { + ($name:ident $type_path:path) => { + impl From<$type_path> for AnyOperation { + fn from(op: $type_path) -> Self { + AnyOperation::$name(op) + } + } + + pub use $type_path; + }; +} + +#[derive(Serialize, Deserialize)] +pub enum AnyOperation { + ConnectChild(connect_child::ConnectChildOperation), +} + +impl Operation for AnyOperation { + fn execute(self, ctx: ExecuteContext<'_>) { + match self { + AnyOperation::ConnectChild(op) => op.execute(ctx), + } + } +} + +impl_operation!(ConnectChild connect_child::ConnectChildOperation); + +#[macro_export(local_inner_macros)] +macro_rules! suspend_point { + ($self:expr, $ctx:expr, $op:expr) => { + $self = $op; + $ctx.operation_suspend_point(|| $self.clone().into()); + }; +} diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs index 957dabd2db994..e609a386351de 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs @@ -1,6 +1,13 @@ -use auto_hash_map::AutoMap; -use dashmap::DashMap; -use turbo_tasks::Keyed; +use std::{ + hash::{BuildHasherDefault, Hash}, + ops::{Deref, DerefMut}, + thread::available_parallelism, +}; + +use auto_hash_map::{map::Entry, AutoMap}; +use dashmap::{mapref::one::RefMut, DashMap}; +use rustc_hash::FxHasher; +use turbo_tasks::KeyValuePair; enum PersistanceState { /// We know that all state of the object is only in the cache and nothing is @@ -12,23 +19,83 @@ enum PersistanceState { Unknown, } -struct InnerStorage { +pub struct InnerStorage { + // TODO consider adding some inline storage map: AutoMap, persistance_state: PersistanceState, } -pub struct Storage { - map: DashMap>, +impl InnerStorage { + fn new() -> Self { + Self { + map: AutoMap::new(), + persistance_state: PersistanceState::Unknown, + } + } + + pub fn add(&mut self, item: T) -> bool { + let (key, value) = item.into_key_and_value(); + match self.map.entry(key) { + Entry::Occupied(_) => false, + Entry::Vacant(e) => { + e.insert(value); + true + } + } + } + + pub fn upsert(&mut self, item: T) -> Option { + let (key, value) = item.into_key_and_value(); + self.map.insert(key, value) + } + + pub fn remove(&mut self, key: &T::Key) -> Option { + self.map.remove(key) + } +} + +pub struct Storage { + map: DashMap, BuildHasherDefault>, } -impl Storage +impl Storage where K: Eq + std::hash::Hash + Clone, - T: Keyed, + T: KeyValuePair, { pub fn new() -> Self { Self { - map: DashMap::new(), + map: DashMap::with_capacity_and_hasher_and_shard_amount( + 1024 * 1024, + Default::default(), + available_parallelism().map_or(4, |v| v.get()) * 64, + ), } } + + pub fn access_mut(&self, key: K) -> StorageWriteGuard<'_, K, T> { + let inner = match self.map.entry(key) { + dashmap::mapref::entry::Entry::Occupied(e) => e.into_ref(), + dashmap::mapref::entry::Entry::Vacant(e) => e.insert(InnerStorage::new()), + }; + StorageWriteGuard { inner } + } +} + +pub struct StorageWriteGuard<'a, K, T: KeyValuePair> { + inner: RefMut<'a, K, InnerStorage, BuildHasherDefault>, +} + +impl<'a, K: Eq + Hash, T: KeyValuePair> Deref for StorageWriteGuard<'a, K, T> { + type Target = InnerStorage; + + fn deref(&self) -> &Self::Target { + &*self.inner + } +} + +impl<'a, K: Eq + Hash, T: KeyValuePair> DerefMut for StorageWriteGuard<'a, K, T> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut *self.inner + } } diff --git a/turbopack/crates/turbo-tasks-backend/src/data.rs b/turbopack/crates/turbo-tasks-backend/src/data.rs index d4a032e966627..76e7df4f9e64e 100644 --- a/turbopack/crates/turbo-tasks-backend/src/data.rs +++ b/turbopack/crates/turbo-tasks-backend/src/data.rs @@ -1,12 +1,12 @@ -use turbo_tasks::{util::SharedError, CellId, SharedReference, TaskId}; +use turbo_tasks::{util::SharedError, CellId, KeyValuePair, SharedReference, TaskId}; -#[derive(Debug, Copy, Clone)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub struct CellRef { task: TaskId, cell: CellId, } -#[derive(Debug, Copy, Clone)] +#[derive(Debug, Copy, Clone, PartialEq, Eq)] pub enum OutputValue { Cell(CellRef), Output(TaskId), @@ -22,21 +22,20 @@ impl OutputValue { } } -#[derive(Debug, Copy, Clone)] +#[derive(Debug, Copy, Clone, PartialEq, Eq)] pub enum RootType { RootTask, OnceTask, ReadingStronglyConsistent, } -#[derive(Debug, Copy, Clone)] +#[derive(Debug, Copy, Clone, PartialEq, Eq)] pub enum InProgressState { Scheduled { clean: bool }, InProgress { clean: bool, stale: bool }, } -#[turbo_tasks::with_key] -#[derive(Debug, Clone)] +#[derive(Debug, Clone, KeyValuePair)] pub enum CachedDataItem { // Output Output { @@ -173,6 +172,46 @@ impl CachedDataItem { } } +impl CachedDataItemKey { + pub fn is_persistent(&self) -> bool { + match self { + CachedDataItemKey::Output { .. } => true, + CachedDataItemKey::Collectible { collectible, .. } => !collectible.task.is_transient(), + CachedDataItemKey::Dirty { .. } => true, + CachedDataItemKey::DirtyWhenPersisted { .. } => true, + CachedDataItemKey::Child { task, .. } => !task.is_transient(), + CachedDataItemKey::CellData { .. } => true, + CachedDataItemKey::OutputDependency { target, .. } => !target.is_transient(), + CachedDataItemKey::CellDependency { target, .. } => !target.task.is_transient(), + CachedDataItemKey::OutputDependent { task, .. } => !task.is_transient(), + CachedDataItemKey::CellDependent { task, .. } => !task.is_transient(), + CachedDataItemKey::AggregationNumber { .. } => true, + CachedDataItemKey::Follower { task, .. } => !task.is_transient(), + CachedDataItemKey::Upper { task, .. } => !task.is_transient(), + CachedDataItemKey::AggregatedDirtyTask { task, .. } => !task.is_transient(), + CachedDataItemKey::AggregatedCollectible { collectible, .. } => { + !collectible.task.is_transient() + } + CachedDataItemKey::AggregatedUnfinishedTasks { .. } => true, + CachedDataItemKey::AggregateRootType { .. } => false, + CachedDataItemKey::InProgress { .. } => false, + CachedDataItemKey::OutdatedCollectible { .. } => false, + CachedDataItemKey::OutdatedOutputDependency { .. } => false, + CachedDataItemKey::OutdatedCellDependency { .. } => false, + CachedDataItemKey::Error { .. } => false, + } + } +} + +impl CachedDataItemValue { + pub fn is_persistent(&self) -> bool { + match self { + CachedDataItemValue::Output { value } => !value.is_transient(), + _ => true, + } + } +} + trait IsDefault { fn is_default(&self) -> bool; } diff --git a/turbopack/crates/turbo-tasks-backend/src/lib.rs b/turbopack/crates/turbo-tasks-backend/src/lib.rs index 5f67a0c86f697..5fc95b21a44d9 100644 --- a/turbopack/crates/turbo-tasks-backend/src/lib.rs +++ b/turbopack/crates/turbo-tasks-backend/src/lib.rs @@ -1,3 +1,5 @@ mod backend; mod data; mod utils; + +pub use backend::TurboTasksBackend; diff --git a/turbopack/crates/turbo-tasks-backend/src/utils/external_locks.rs b/turbopack/crates/turbo-tasks-backend/src/utils/external_locks.rs new file mode 100644 index 0000000000000..ddbfa54a75479 --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/src/utils/external_locks.rs @@ -0,0 +1,61 @@ +use std::{ + collections::{hash_map::Entry, HashMap}, + hash::Hash, + mem::transmute, + sync::Arc, +}; + +use parking_lot::{Mutex, MutexGuard}; + +pub struct ExternalLocks { + locks: HashMap>>, +} + +impl ExternalLocks { + pub fn new() -> Self { + Self { + locks: HashMap::new(), + } + } + + pub fn lock(&mut self, key: K) -> ExternalLockGuard { + let mutex = match self.locks.entry(key) { + Entry::Occupied(e) => e.get().clone(), + Entry::Vacant(e) => { + let lock = Arc::new(Mutex::new(())); + e.insert(lock.clone()); + if self.locks.len().is_power_of_two() { + let to_remove = self + .locks + .iter() + .filter_map(|(k, v)| { + if Arc::strong_count(v) == 1 { + Some(k.clone()) + } else { + None + } + }) + .collect::>(); + to_remove.into_iter().for_each(|k| { + self.locks.remove(&k); + }); + if self.locks.capacity() > self.locks.len() * 3 { + self.locks.shrink_to_fit(); + } + } + lock + } + }; + let guard = mutex.lock(); + // Safety: We know that the guard is valid for the lifetime of the lock as we + // keep the lock + let guard = unsafe { transmute::, MutexGuard<'static, _>>(guard) }; + ExternalLockGuard { lock: mutex, guard } + } +} + +pub struct ExternalLockGuard { + // Safety: guard must be before lock as it is dropped first + guard: MutexGuard<'static, ()>, + lock: Arc>, +} diff --git a/turbopack/crates/turbo-tasks-backend/src/utils/mod.rs b/turbopack/crates/turbo-tasks-backend/src/utils/mod.rs index 54b7d067e843b..84e4a29fdb11a 100644 --- a/turbopack/crates/turbo-tasks-backend/src/utils/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/utils/mod.rs @@ -1,2 +1,4 @@ pub mod bi_map; pub mod chunked_vec; +pub mod external_locks; +pub mod ptr_eq_arc; diff --git a/turbopack/crates/turbo-tasks-backend/src/utils/ptr_eq_arc.rs b/turbopack/crates/turbo-tasks-backend/src/utils/ptr_eq_arc.rs new file mode 100644 index 0000000000000..87543c0399031 --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/src/utils/ptr_eq_arc.rs @@ -0,0 +1,47 @@ +use std::{ + hash::{Hash, Hasher}, + ops::Deref, + sync::Arc, +}; + +pub struct PtrEqArc(Arc); + +impl PtrEqArc { + pub fn new(value: T) -> Self { + Self(Arc::new(value)) + } +} + +impl From> for PtrEqArc { + fn from(value: Arc) -> Self { + Self(value) + } +} + +impl Deref for PtrEqArc { + type Target = T; + + fn deref(&self) -> &Self::Target { + &self.0 + } +} + +impl Clone for PtrEqArc { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} + +impl PartialEq for PtrEqArc { + fn eq(&self, other: &Self) -> bool { + Arc::ptr_eq(&self.0, &other.0) + } +} + +impl Eq for PtrEqArc {} + +impl Hash for PtrEqArc { + fn hash(&self, state: &mut H) { + Arc::as_ptr(&self.0).hash(state) + } +} diff --git a/turbopack/crates/turbo-tasks-macros/src/with_key_macro.rs b/turbopack/crates/turbo-tasks-macros/src/derive/key_value_pair_macro.rs similarity index 90% rename from turbopack/crates/turbo-tasks-macros/src/with_key_macro.rs rename to turbopack/crates/turbo-tasks-macros/src/derive/key_value_pair_macro.rs index 996ad6b8dc3c7..66f602491a083 100644 --- a/turbopack/crates/turbo-tasks-macros/src/with_key_macro.rs +++ b/turbopack/crates/turbo-tasks-macros/src/derive/key_value_pair_macro.rs @@ -2,10 +2,9 @@ use proc_macro::TokenStream; use quote::quote; use syn::{parse_macro_input, Ident, ItemEnum}; -pub fn with_key(input: TokenStream) -> TokenStream { +pub fn derive_key_value_pair(input: TokenStream) -> TokenStream { let input = parse_macro_input!(input as ItemEnum); - let attrs = &input.attrs; let ident = &input.ident; let vis = &input.vis; let key_name = Ident::new(&format!("{}Key", input.ident), input.ident.span()); @@ -60,9 +59,7 @@ pub fn with_key(input: TokenStream) -> TokenStream { let value_clone_fields = clone_fields(&value_fields); quote! { - #input - - impl turbo_tasks::Keyed for #ident { + impl turbo_tasks::KeyValuePair for #ident { type Key = #key_name; type Value = #value_name; @@ -90,9 +87,17 @@ pub fn with_key(input: TokenStream) -> TokenStream { _ => panic!("Invalid key and value combination"), } } + + fn into_key_and_value(self) -> (#key_name, #value_name) { + match self { + #( + #ident::#variant_names { #key_pat #value_pat } => (#key_name::#variant_names { #key_pat }, #value_name::#variant_names { #value_pat }), + )* + } + } } - #(#attrs)* + #[derive(Debug, Clone, PartialEq, Eq, Hash)] #vis enum #key_name { #( #variant_names { @@ -101,7 +106,7 @@ pub fn with_key(input: TokenStream) -> TokenStream { )* } - #(#attrs)* + #[derive(Debug, Clone)] #vis enum #value_name { #( #variant_names { diff --git a/turbopack/crates/turbo-tasks-macros/src/derive/mod.rs b/turbopack/crates/turbo-tasks-macros/src/derive/mod.rs index d48323309096e..d8c507574ab3b 100644 --- a/turbopack/crates/turbo-tasks-macros/src/derive/mod.rs +++ b/turbopack/crates/turbo-tasks-macros/src/derive/mod.rs @@ -1,4 +1,5 @@ mod deterministic_hash_macro; +mod key_value_pair_macro; mod resolved_value_macro; mod task_input_macro; mod trace_raw_vcs_macro; @@ -6,6 +7,7 @@ mod value_debug_format_macro; mod value_debug_macro; pub use deterministic_hash_macro::derive_deterministic_hash; +pub use key_value_pair_macro::derive_key_value_pair; pub use resolved_value_macro::derive_resolved_value; use syn::{spanned::Spanned, Attribute, Meta, MetaList, NestedMeta}; pub use task_input_macro::derive_task_input; diff --git a/turbopack/crates/turbo-tasks-macros/src/lib.rs b/turbopack/crates/turbo-tasks-macros/src/lib.rs index 217c4dd54c299..7b415f3691aea 100644 --- a/turbopack/crates/turbo-tasks-macros/src/lib.rs +++ b/turbopack/crates/turbo-tasks-macros/src/lib.rs @@ -11,7 +11,6 @@ mod primitive_macro; mod value_impl_macro; mod value_macro; mod value_trait_macro; -mod with_key_macro; extern crate proc_macro; @@ -48,6 +47,11 @@ pub fn derive_task_input(input: TokenStream) -> TokenStream { derive::derive_task_input(input) } +#[proc_macro_derive(KeyValuePair)] +pub fn derive_key_value_pair(input: TokenStream) -> TokenStream { + derive::derive_key_value_pair(input) +} + /// Creates a Vc struct for a `struct` or `enum` that represent /// that type placed into a cell in a Task. /// @@ -178,12 +182,6 @@ pub fn value_impl(args: TokenStream, input: TokenStream) -> TokenStream { value_impl_macro::value_impl(args, input) } -#[proc_macro_error] -#[proc_macro_attribute] -pub fn with_key(_args: TokenStream, input: TokenStream) -> TokenStream { - with_key_macro::with_key(input) -} - #[allow_internal_unstable(min_specialization, into_future, trivial_bounds)] #[proc_macro_error] #[proc_macro] diff --git a/turbopack/crates/turbo-tasks/src/keyed.rs b/turbopack/crates/turbo-tasks/src/key_value_pair.rs similarity index 53% rename from turbopack/crates/turbo-tasks/src/keyed.rs rename to turbopack/crates/turbo-tasks/src/key_value_pair.rs index 46a1cf7f6b9bf..6aceaea04d4f7 100644 --- a/turbopack/crates/turbo-tasks/src/keyed.rs +++ b/turbopack/crates/turbo-tasks/src/key_value_pair.rs @@ -1,7 +1,8 @@ -pub trait Keyed { - type Key; +pub trait KeyValuePair { + type Key: PartialEq + Eq + std::hash::Hash; type Value; fn key(&self) -> Self::Key; fn value(&self) -> Self::Value; fn from_key_and_value(key: Self::Key, value: Self::Value) -> Self; + fn into_key_and_value(self) -> (Self::Key, Self::Value); } diff --git a/turbopack/crates/turbo-tasks/src/lib.rs b/turbopack/crates/turbo-tasks/src/lib.rs index a5ee0725f56a9..7a166ba6ab3fa 100644 --- a/turbopack/crates/turbo-tasks/src/lib.rs +++ b/turbopack/crates/turbo-tasks/src/lib.rs @@ -49,7 +49,7 @@ mod id; mod id_factory; mod invalidation; mod join_iter_ext; -mod keyed; +mod key_value_pair; #[doc(hidden)] pub mod macro_helpers; mod magic_any; @@ -91,7 +91,7 @@ pub use invalidation::{ InvalidationReasonSet, Invalidator, }; pub use join_iter_ext::{JoinIterExt, TryFlatJoinIterExt, TryJoinIterExt}; -pub use keyed::Keyed; +pub use key_value_pair::KeyValuePair; pub use magic_any::MagicAny; pub use manager::{ dynamic_call, dynamic_this_call, emit, mark_dirty_when_persisted, mark_finished, mark_stateful, @@ -107,7 +107,7 @@ pub use serialization_invalidation::SerializationInvalidator; pub use state::{State, TransientState}; pub use task::{task_input::TaskInput, SharedReference}; pub use trait_ref::{IntoTraitRef, TraitRef}; -pub use turbo_tasks_macros::{function, value, value_impl, value_trait, with_key, TaskInput}; +pub use turbo_tasks_macros::{function, value, value_impl, value_trait, KeyValuePair, TaskInput}; pub use value::{TransientInstance, TransientValue, Value}; pub use value_type::{TraitMethod, TraitType, ValueType}; pub use vc::{ From e7b6963370a5296d3835fb5377756878a727f8e7 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 2 Aug 2024 12:11:35 +0200 Subject: [PATCH 040/119] add more backend method implementations --- .../turbo-tasks-backend/src/backend/mod.rs | 31 ++++++++++++++----- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index 9f495fbf27a21..0e27c367746b8 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -183,26 +183,40 @@ impl Backend for TurboTasksBackend { fn invalidate_task(&self, _: TaskId, _: &dyn TurboTasksBackendApi) { todo!() } - fn invalidate_tasks(&self, _: &[TaskId], _: &dyn TurboTasksBackendApi) { - todo!() + + fn invalidate_tasks(&self, tasks: &[TaskId], turbo_tasks: &dyn TurboTasksBackendApi) { + for task in tasks { + self.invalidate_task(*task, turbo_tasks); + } } + fn invalidate_tasks_set( &self, - _: &AutoSet, 2>, - _: &dyn TurboTasksBackendApi, + tasks: &AutoSet, 2>, + turbo_tasks: &dyn TurboTasksBackendApi, ) { - todo!() + for task in tasks { + self.invalidate_task(*task, turbo_tasks); + } } - fn get_task_description(&self, _: TaskId) -> std::string::String { - todo!() + + fn get_task_description(&self, task: TaskId) -> std::string::String { + let task_type = self + .task_cache + .lookup_reverse(&task) + .expect("Task not found"); + task_type.to_string() } + fn try_get_function_id(&self, _: TaskId) -> Option { todo!() } + type TaskState = (); fn new_task_state(&self, _task: TaskId) -> Self::TaskState { () } + fn try_start_task_execution( &self, _: TaskId, @@ -210,6 +224,7 @@ impl Backend for TurboTasksBackend { ) -> std::option::Option> { todo!() } + fn task_execution_result( &self, _: TaskId, @@ -218,6 +233,7 @@ impl Backend for TurboTasksBackend { ) { todo!() } + fn task_execution_completed( &self, _: TaskId, @@ -229,6 +245,7 @@ impl Backend for TurboTasksBackend { ) -> bool { todo!() } + fn run_backend_job( &self, _: BackendJobId, From ec4b46f2d8b72c3179959e7ec368f8ec92ec9de9 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 7 Aug 2024 11:59:40 +0200 Subject: [PATCH 041/119] very basic operation working --- Cargo.lock | 1 + .../crates/turbo-tasks-backend/Cargo.toml | 1 + .../src/backend/helpers/mod.rs | 1 + .../src/backend/helpers/schedule.rs | 1 + .../turbo-tasks-backend/src/backend/mod.rs | 320 +++++++++++++++--- .../src/backend/operation/connect_child.rs | 37 +- .../src/backend/operation/invalidate.rs | 93 +++++ .../src/backend/operation/mod.rs | 102 +++++- .../src/backend/operation/update_cell.rs | 40 +++ .../src/backend/operation/update_output.rs | 90 +++++ .../src/backend/storage.rs | 63 +++- .../crates/turbo-tasks-backend/src/data.rs | 38 ++- .../crates/turbo-tasks-backend/tests/basic.rs | 1 + .../turbo-tasks-backend/tests/test_config.trs | 3 + .../crates/turbo-tasks-memory/tests/basic.rs | 1 + .../crates/turbo-tasks-testing/tests/basic.rs | 31 ++ turbopack/crates/turbo-tasks/src/backend.rs | 81 +++++ 17 files changed, 804 insertions(+), 100 deletions(-) create mode 100644 turbopack/crates/turbo-tasks-backend/src/backend/helpers/mod.rs create mode 100644 turbopack/crates/turbo-tasks-backend/src/backend/helpers/schedule.rs create mode 100644 turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs create mode 100644 turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs create mode 100644 turbopack/crates/turbo-tasks-backend/src/backend/operation/update_output.rs create mode 120000 turbopack/crates/turbo-tasks-backend/tests/basic.rs create mode 100644 turbopack/crates/turbo-tasks-backend/tests/test_config.trs create mode 120000 turbopack/crates/turbo-tasks-memory/tests/basic.rs create mode 100644 turbopack/crates/turbo-tasks-testing/tests/basic.rs diff --git a/Cargo.lock b/Cargo.lock index f429bb1fc7893..3f1f42ca99634 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8627,6 +8627,7 @@ dependencies = [ "turbo-tasks-build", "turbo-tasks-hash", "turbo-tasks-malloc", + "turbo-tasks-testing", ] [[package]] diff --git a/turbopack/crates/turbo-tasks-backend/Cargo.toml b/turbopack/crates/turbo-tasks-backend/Cargo.toml index cd38a6bb31794..8feb087ae4f0f 100644 --- a/turbopack/crates/turbo-tasks-backend/Cargo.toml +++ b/turbopack/crates/turbo-tasks-backend/Cargo.toml @@ -28,6 +28,7 @@ turbo-prehash = { workspace = true } turbo-tasks = { workspace = true } turbo-tasks-hash = { workspace = true } turbo-tasks-malloc = { workspace = true, default-features = false } +turbo-tasks-testing = { workspace = true } [build-dependencies] turbo-tasks-build = { workspace = true } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/helpers/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/helpers/mod.rs new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/src/backend/helpers/mod.rs @@ -0,0 +1 @@ + diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/helpers/schedule.rs b/turbopack/crates/turbo-tasks-backend/src/backend/helpers/schedule.rs new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/src/backend/helpers/schedule.rs @@ -0,0 +1 @@ + diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index 0e27c367746b8..973d9df655b47 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -1,3 +1,4 @@ +mod helpers; mod operation; mod storage; @@ -16,25 +17,32 @@ use std::{ use anyhow::Result; use auto_hash_map::{AutoMap, AutoSet}; +use dashmap::DashMap; use parking_lot::{Condvar, Mutex}; use rustc_hash::FxHasher; +use smallvec::smallvec; use turbo_tasks::{ backend::{ Backend, BackendJobId, CachedTaskType, CellContent, TaskExecutionSpec, TransientTaskType, TypedCellContent, }, event::EventListener, + registry, util::IdFactoryWithReuse, CellId, FunctionId, RawVc, ReadConsistency, TaskId, TraitTypeId, TurboTasksBackendApi, ValueTypeId, TRANSIENT_TASK_BIT, }; use self::{ - operation::{AnyOperation, ExecuteContext, Operation}, + operation::{AnyOperation, ExecuteContext}, storage::Storage, }; use crate::{ - data::{CachedDataItem, CachedDataUpdate}, + data::{ + CachedDataItem, CachedDataItemKey, CachedDataItemValue, CachedDataUpdate, InProgressState, + OutputValue, + }, + get, remove, utils::{bi_map::BiMap, chunked_vec::ChunkedVec, ptr_eq_arc::PtrEqArc}, }; @@ -60,6 +68,7 @@ pub struct TurboTasksBackend { persisted_task_cache_log: Mutex, TaskId)>>, task_cache: BiMap, TaskId>, + transient_tasks: DashMap>>, persisted_storage_log: Mutex>, storage: Storage, @@ -91,6 +100,7 @@ impl TurboTasksBackend { ), persisted_task_cache_log: Mutex::new(ChunkedVec::new()), task_cache: BiMap::new(), + transient_tasks: DashMap::new(), persisted_storage_log: Mutex::new(ChunkedVec::new()), storage: Storage::new(), in_progress_operations: AtomicUsize::new(0), @@ -100,12 +110,15 @@ impl TurboTasksBackend { } } - fn run_operation( - &self, - operation: impl Operation, - turbo_tasks: &dyn TurboTasksBackendApi, - ) { - operation.execute(ExecuteContext::new(self, turbo_tasks)); + fn execute_context<'a>( + &'a self, + turbo_tasks: &'a dyn TurboTasksBackendApi, + ) -> ExecuteContext<'a> { + ExecuteContext::new(self, turbo_tasks) + } + + fn suspending_requested(&self) -> bool { + (self.in_progress_operations.load(Ordering::Relaxed) & SNAPSHOT_REQUESTED_BIT) != 0 } fn operation_suspend_point(&self, suspend: impl FnOnce() -> AnyOperation) { @@ -142,11 +155,31 @@ impl TurboTasksBackend { child_task: TaskId, turbo_tasks: &dyn TurboTasksBackendApi, ) { - self.run_operation( - operation::ConnectChildOperation::new(parent_task, child_task), - turbo_tasks, + operation::ConnectChildOperation::run( + parent_task, + child_task, + self.execute_context(turbo_tasks), + ); + } + + pub fn update_cell( + &self, + task_id: TaskId, + cell: CellId, + content: CellContent, + turbo_tasks: &dyn TurboTasksBackendApi, + ) { + operation::UpdateCellOperation::run( + task_id, + cell, + content, + self.execute_context(turbo_tasks), ); } + + pub fn invalidate(&self, task_id: TaskId, turbo_tasks: &dyn TurboTasksBackendApi) { + operation::InvalidateOperation::run(smallvec![task_id], self.execute_context(turbo_tasks)); + } } impl Backend for TurboTasksBackend { @@ -180,14 +213,15 @@ impl Backend for TurboTasksBackend { task_id } - fn invalidate_task(&self, _: TaskId, _: &dyn TurboTasksBackendApi) { - todo!() + fn invalidate_task(&self, task_id: TaskId, turbo_tasks: &dyn TurboTasksBackendApi) { + self.invalidate(task_id, turbo_tasks); } fn invalidate_tasks(&self, tasks: &[TaskId], turbo_tasks: &dyn TurboTasksBackendApi) { - for task in tasks { - self.invalidate_task(*task, turbo_tasks); - } + operation::InvalidateOperation::run( + tasks.iter().copied().collect(), + self.execute_context(turbo_tasks), + ); } fn invalidate_tasks_set( @@ -195,9 +229,10 @@ impl Backend for TurboTasksBackend { tasks: &AutoSet, 2>, turbo_tasks: &dyn TurboTasksBackendApi, ) { - for task in tasks { - self.invalidate_task(*task, turbo_tasks); - } + operation::InvalidateOperation::run( + tasks.iter().copied().collect(), + self.execute_context(turbo_tasks), + ); } fn get_task_description(&self, task: TaskId) -> std::string::String { @@ -219,31 +254,158 @@ impl Backend for TurboTasksBackend { fn try_start_task_execution( &self, - _: TaskId, - _: &dyn TurboTasksBackendApi, - ) -> std::option::Option> { - todo!() + task_id: TaskId, + turbo_tasks: &dyn TurboTasksBackendApi, + ) -> Option> { + { + let ctx = self.execute_context(turbo_tasks); + let mut task = ctx.task(task_id); + let Some(InProgressState::Scheduled { + clean, + done_event, + start_event, + }) = remove!(task, InProgress) + else { + return None; + }; + task.add(CachedDataItem::InProgress { + value: InProgressState::InProgress { + clean, + stale: false, + done_event, + }, + }); + start_event.notify(usize::MAX); + } + let (span, future) = if let Some(task_type) = self.task_cache.lookup_reverse(&task_id) { + match &*task_type { + CachedTaskType::Native { fn_type, this, arg } => ( + registry::get_function(*fn_type).span(), + registry::get_function(*fn_type).execute(*this, &**arg), + ), + CachedTaskType::ResolveNative { fn_type, .. } => { + let span = registry::get_function(*fn_type).resolve_span(); + let turbo_tasks = turbo_tasks.pin(); + ( + span, + Box::pin(async move { + let CachedTaskType::ResolveNative { fn_type, this, arg } = &*task_type + else { + unreachable!() + }; + CachedTaskType::run_resolve_native( + *fn_type, + *this, + &**arg, + task_id.persistence(), + turbo_tasks, + ) + .await + }) as Pin + Send + '_>>, + ) + } + CachedTaskType::ResolveTrait { + trait_type, + method_name, + .. + } => { + let span = registry::get_trait(*trait_type).resolve_span(&**method_name); + let turbo_tasks = turbo_tasks.pin(); + ( + span, + Box::pin(async move { + let CachedTaskType::ResolveTrait { + trait_type, + method_name, + this, + arg, + } = &*task_type + else { + unreachable!() + }; + CachedTaskType::run_resolve_trait( + *trait_type, + method_name.clone(), + *this, + &**arg, + task_id.persistence(), + turbo_tasks, + ) + .await + }) as Pin + Send + '_>>, + ) + } + } + } else if let Some(task_type) = self.transient_tasks.get(&task_id) { + let task_type = task_type.clone(); + let span = tracing::trace_span!("turbo_tasks::root_task"); + let future = Box::pin(async move { + let mut task_type = task_type.lock().await; + match &mut *task_type { + TransientTaskType::Root(f) => { + let future = f(); + drop(task_type); + future.await + } + TransientTaskType::Once(future) => future.await, + } + }) as Pin + Send + '_>>; + (span, future) + } else { + return None; + }; + Some(TaskExecutionSpec { future, span }) } fn task_execution_result( &self, - _: TaskId, - _: Result, std::option::Option>>, - _: &dyn TurboTasksBackendApi, + task_id: TaskId, + result: Result, Option>>, + turbo_tasks: &dyn TurboTasksBackendApi, ) { - todo!() + operation::UpdateOutputOperation::run(task_id, result, self.execute_context(turbo_tasks)); } fn task_execution_completed( &self, - _: TaskId, - _: Duration, - _: usize, - _: &AutoMap, 8>, - _: bool, - _: &dyn TurboTasksBackendApi, + task_id: TaskId, + duration: Duration, + memory_usage: usize, + cell_counters: &AutoMap, 8>, + stateful: bool, + turbo_tasks: &dyn TurboTasksBackendApi, ) -> bool { - todo!() + let ctx = self.execute_context(turbo_tasks); + let mut task = ctx.task(task_id); + let Some(CachedDataItemValue::InProgress { value: in_progress }) = + task.remove(&CachedDataItemKey::InProgress {}) + else { + panic!("Task execution completed, but task is not in progress"); + }; + let InProgressState::InProgress { + done_event, + clean, + stale, + } = in_progress + else { + panic!("Task execution completed, but task is not in progress"); + }; + + // TODO handle cell counters + + if stale { + task.add(CachedDataItem::InProgress { + value: InProgressState::InProgress { + clean: false, + stale: false, + done_event, + }, + }); + } else { + done_event.notify(usize::MAX); + } + + stale } fn run_backend_job( @@ -259,16 +421,45 @@ impl Backend for TurboTasksBackend { _: TaskId, _: ReadConsistency, _: &dyn TurboTasksBackendApi, - ) -> Result, turbo_tasks::Error> { + ) -> Result> { todo!() } fn try_read_task_output_untracked( &self, - _: TaskId, - _: ReadConsistency, - _: &dyn TurboTasksBackendApi, - ) -> Result, turbo_tasks::Error> { - todo!() + task_id: TaskId, + consistency: ReadConsistency, + turbo_tasks: &dyn TurboTasksBackendApi, + ) -> Result> { + let ctx = self.execute_context(turbo_tasks); + let task = ctx.task(task_id); + + if let Some(in_progress) = get!(task, InProgress) { + match in_progress { + InProgressState::Scheduled { done_event, .. } + | InProgressState::InProgress { done_event, .. } => { + let listener = done_event.listen(); + return Ok(Err(listener)); + } + } + } + + if matches!(consistency, ReadConsistency::Strong) { + todo!("Handle strongly consistent read"); + } + + if let Some(output) = get!(task, Output) { + match output { + OutputValue::Cell(cell) => return Ok(Ok(RawVc::TaskCell(cell.task, cell.cell))), + OutputValue::Output(task) => return Ok(Ok(RawVc::TaskOutput(*task))), + OutputValue::Error | OutputValue::Panic => { + if let Some(error) = get!(task, Error) { + return Err(error.clone().into()); + } + } + } + } + + todo!("Output is not available, recompute task"); } fn try_read_task_cell( &self, @@ -276,17 +467,26 @@ impl Backend for TurboTasksBackend { _: CellId, _: TaskId, _: &dyn TurboTasksBackendApi, - ) -> Result, turbo_tasks::Error> { + ) -> Result> { todo!() } + fn try_read_task_cell_untracked( &self, - _: TaskId, - _: CellId, - _: &dyn TurboTasksBackendApi, - ) -> Result, turbo_tasks::Error> { - todo!() + task_id: TaskId, + cell: CellId, + turbo_tasks: &dyn TurboTasksBackendApi, + ) -> Result> { + let ctx = self.execute_context(turbo_tasks); + let task = ctx.task(task_id); + if let Some(content) = get!(task, CellData { cell }) { + return Ok(Ok( + CellContent(Some(content.clone())).into_typed(cell.type_id) + )); + } + todo!("Cell is not available, recompute task or error"); } + fn read_task_collectibles( &self, _: TaskId, @@ -296,6 +496,7 @@ impl Backend for TurboTasksBackend { ) -> AutoMap, 1> { todo!() } + fn emit_collectible( &self, _: TraitTypeId, @@ -305,6 +506,7 @@ impl Backend for TurboTasksBackend { ) { todo!() } + fn unemit_collectible( &self, _: TraitTypeId, @@ -315,15 +517,17 @@ impl Backend for TurboTasksBackend { ) { todo!() } + fn update_task_cell( &self, - _: TaskId, - _: CellId, - _: CellContent, - _: &dyn TurboTasksBackendApi, + task_id: TaskId, + cell: CellId, + content: CellContent, + turbo_tasks: &dyn TurboTasksBackendApi, ) { - todo!() + self.update_cell(task_id, cell, content, turbo_tasks); } + fn get_or_create_transient_task( &self, _: CachedTaskType, @@ -337,10 +541,18 @@ impl Backend for TurboTasksBackend { } fn create_transient_task( &self, - _: TransientTaskType, - _: &dyn TurboTasksBackendApi, + task_type: TransientTaskType, + turbo_tasks: &dyn TurboTasksBackendApi, ) -> TaskId { - todo!() + let task_id = self.transient_task_id_factory.get(); + self.transient_tasks + .insert(task_id, Arc::new(tokio::sync::Mutex::new(task_type))); + { + let mut task = self.storage.access_mut(task_id); + task.add(CachedDataItem::new_scheduled(task_id)); + } + turbo_tasks.schedule(task_id); + task_id } fn dispose_root_task(&self, _: TaskId, _: &dyn TurboTasksBackendApi) { todo!() diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs index 11f5f5c7ed4a6..636f5edb05f2d 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs @@ -2,24 +2,25 @@ use serde::{Deserialize, Serialize}; use turbo_tasks::TaskId; use super::{ExecuteContext, Operation}; -use crate::{data::CachedDataItem, suspend_point}; +use crate::data::CachedDataItem; #[derive(Serialize, Deserialize, Clone, Default)] pub enum ConnectChildOperation { - AddChild { - parent_task: TaskId, - child_task: TaskId, - }, + Todo, #[default] Done, // TODO Add aggregated edge } impl ConnectChildOperation { - pub fn new(parent_task: TaskId, child_task: TaskId) -> Self { - ConnectChildOperation::AddChild { - parent_task, - child_task, + pub fn run(parent_task: TaskId, child_task: TaskId, ctx: ExecuteContext<'_>) { + let mut parent_task = ctx.task(parent_task); + if parent_task.add(CachedDataItem::Child { + task: child_task, + value: (), + }) { + // TODO add aggregated edge + ConnectChildOperation::Todo.execute(ctx); } } } @@ -27,21 +28,11 @@ impl ConnectChildOperation { impl Operation for ConnectChildOperation { fn execute(mut self, ctx: ExecuteContext<'_>) { loop { + ctx.operation_suspend_point(&self); match self { - ConnectChildOperation::AddChild { - parent_task, - child_task, - } => { - let mut parent_task = ctx.task(parent_task); - if parent_task.add(CachedDataItem::Child { - task: child_task, - value: (), - }) { - // TODO add aggregated edge - suspend_point!(self, ctx, ConnectChildOperation::Done); - } else { - suspend_point!(self, ctx, ConnectChildOperation::Done); - } + ConnectChildOperation::Todo => { + self = ConnectChildOperation::Done; + continue; } ConnectChildOperation::Done => { return; diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs new file mode 100644 index 0000000000000..1dbfd76424fc6 --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs @@ -0,0 +1,93 @@ +use serde::{Deserialize, Serialize}; +use smallvec::SmallVec; +use turbo_tasks::TaskId; + +use super::{ExecuteContext, Operation}; +use crate::{ + data::{CachedDataItem, InProgressState}, + get, remove, +}; + +#[derive(Serialize, Deserialize, Clone, Default)] +pub enum InvalidateOperation { + // TODO DetermineActiveness + MakeDirty { + task_ids: SmallVec<[TaskId; 4]>, + }, + // TODO Add to dirty tasks list + #[default] + Done, +} + +impl InvalidateOperation { + pub fn run(task_ids: SmallVec<[TaskId; 4]>, ctx: ExecuteContext<'_>) { + InvalidateOperation::MakeDirty { task_ids }.execute(ctx) + } +} + +impl Operation for InvalidateOperation { + fn execute(self, ctx: ExecuteContext<'_>) { + loop { + ctx.operation_suspend_point(&self); + match self { + InvalidateOperation::MakeDirty { task_ids } => { + for task_id in task_ids { + let mut task = ctx.task(task_id); + let in_progress = match get!(task, InProgress) { + Some(InProgressState::Scheduled { clean, .. }) => { + if *clean { + let Some(InProgressState::Scheduled { + clean: _, + done_event, + start_event, + }) = remove!(task, InProgress) + else { + unreachable!(); + }; + task.insert(CachedDataItem::InProgress { + value: InProgressState::Scheduled { + clean: false, + done_event, + start_event, + }, + }); + } + true + } + Some(InProgressState::InProgress { clean, stale, .. }) => { + if *clean || !*stale { + let Some(InProgressState::InProgress { + clean: _, + stale: _, + done_event, + }) = remove!(task, InProgress) + else { + unreachable!(); + }; + task.insert(CachedDataItem::InProgress { + value: InProgressState::InProgress { + clean: false, + stale: true, + done_event, + }, + }); + } + true + } + None => false, + }; + if task.add(CachedDataItem::Dirty { value: () }) { + if !in_progress && task.add(CachedDataItem::new_scheduled(task_id)) { + ctx.turbo_tasks.schedule(task_id) + } + } + } + return; + } + InvalidateOperation::Done => { + return; + } + } + } + } +} diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs index 5701cf7c4be2d..1810f28b4f12e 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs @@ -1,4 +1,9 @@ mod connect_child; +mod invalidate; +mod update_cell; +mod update_output; + +use std::mem::take; use serde::{Deserialize, Serialize}; use turbo_tasks::{KeyValuePair, TaskId, TurboTasksBackendApi}; @@ -6,13 +11,21 @@ use turbo_tasks::{KeyValuePair, TaskId, TurboTasksBackendApi}; use super::{storage::StorageWriteGuard, TurboTasksBackend}; use crate::data::{CachedDataItem, CachedDataItemKey, CachedDataItemValue, CachedDataUpdate}; -pub trait Operation: Serialize + for<'de> Deserialize<'de> { +pub trait Operation: + Serialize + + for<'de> Deserialize<'de> + + Default + + TryFrom + + Into +{ fn execute(self, ctx: ExecuteContext<'_>); } +#[derive(Clone, Copy)] pub struct ExecuteContext<'a> { backend: &'a TurboTasksBackend, turbo_tasks: &'a dyn TurboTasksBackendApi, + parent: Option<(&'a AnyOperation, &'a ExecuteContext<'a>)>, } impl<'a> ExecuteContext<'a> { @@ -23,6 +36,7 @@ impl<'a> ExecuteContext<'a> { Self { backend, turbo_tasks, + parent: None, } } @@ -34,8 +48,41 @@ impl<'a> ExecuteContext<'a> { } } - pub fn operation_suspend_point(&self, f: impl FnOnce() -> AnyOperation) { - self.backend.operation_suspend_point(f) + pub fn operation_suspend_point>(&self, op: &T) { + if self.parent.is_some() { + self.backend.operation_suspend_point(|| { + let mut nested = Vec::new(); + nested.push(op.clone().into()); + let mut cur = self; + while let Some((op, parent_ctx)) = cur.parent { + nested.push(op.clone()); + cur = parent_ctx; + } + AnyOperation::Nested(nested) + }); + } else { + self.backend.operation_suspend_point(|| op.clone().into()); + } + } + + pub fn suspending_requested(&self) -> bool { + self.backend.suspending_requested() + } + + pub fn run_operation( + &self, + parent_op_ref: &mut impl Operation, + run: impl FnOnce(ExecuteContext<'_>), + ) { + let parent_op = take(parent_op_ref); + let parent_op: AnyOperation = parent_op.into(); + let inner_ctx = ExecuteContext { + backend: self.backend, + turbo_tasks: self.turbo_tasks, + parent: Some((&parent_op, self)), + }; + run(inner_ctx); + *parent_op_ref = parent_op.try_into().unwrap(); } } @@ -79,13 +126,13 @@ impl<'a> TaskGuard<'a> { } } - pub fn upsert(&mut self, item: CachedDataItem) -> Option { + pub fn insert(&mut self, item: CachedDataItem) -> Option { let (key, value) = item.into_key_and_value(); if !key.is_persistent() { self.task - .upsert(CachedDataItem::from_key_and_value(key, value)) + .insert(CachedDataItem::from_key_and_value(key, value)) } else if value.is_persistent() { - let old = self.task.upsert(CachedDataItem::from_key_and_value( + let old = self.task.insert(CachedDataItem::from_key_and_value( key.clone(), value.clone(), )); @@ -100,7 +147,7 @@ impl<'a> TaskGuard<'a> { old } else { let item = CachedDataItem::from_key_and_value(key.clone(), value); - if let Some(old) = self.task.upsert(item) { + if let Some(old) = self.task.insert(item) { if old.is_persistent() { self.backend .persisted_storage_log @@ -137,6 +184,14 @@ impl<'a> TaskGuard<'a> { None } } + + pub fn get(&self, key: &CachedDataItemKey) -> Option<&CachedDataItemValue> { + self.task.get(key) + } + + pub fn iter(&self) -> impl Iterator { + self.task.iter() + } } macro_rules! impl_operation { @@ -147,29 +202,44 @@ macro_rules! impl_operation { } } + impl TryFrom for $type_path { + type Error = (); + + fn try_from(op: AnyOperation) -> Result { + match op { + AnyOperation::$name(op) => Ok(op), + _ => Err(()), + } + } + } + pub use $type_path; }; } -#[derive(Serialize, Deserialize)] +#[derive(Serialize, Deserialize, Clone)] pub enum AnyOperation { ConnectChild(connect_child::ConnectChildOperation), + Invalidate(invalidate::InvalidateOperation), + Nested(Vec), } -impl Operation for AnyOperation { +impl AnyOperation { fn execute(self, ctx: ExecuteContext<'_>) { match self { AnyOperation::ConnectChild(op) => op.execute(ctx), + AnyOperation::Invalidate(op) => op.execute(ctx), + AnyOperation::Nested(ops) => { + for op in ops { + op.execute(ctx); + } + } } } } impl_operation!(ConnectChild connect_child::ConnectChildOperation); +impl_operation!(Invalidate invalidate::InvalidateOperation); -#[macro_export(local_inner_macros)] -macro_rules! suspend_point { - ($self:expr, $ctx:expr, $op:expr) => { - $self = $op; - $ctx.operation_suspend_point(|| $self.clone().into()); - }; -} +pub use update_cell::UpdateCellOperation; +pub use update_output::UpdateOutputOperation; diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs new file mode 100644 index 0000000000000..664f3fdc3cfbd --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs @@ -0,0 +1,40 @@ +use turbo_tasks::{backend::CellContent, CellId, TaskId}; + +use super::{ExecuteContext, InvalidateOperation}; +use crate::data::{CachedDataItem, CachedDataItemKey}; + +pub struct UpdateCellOperation; + +impl UpdateCellOperation { + pub fn run(task: TaskId, cell: CellId, content: CellContent, ctx: ExecuteContext<'_>) { + let mut task = ctx.task(task); + let old_content = if let CellContent(Some(new_content)) = content { + task.insert(CachedDataItem::CellData { + cell, + value: new_content, + }) + } else { + task.remove(&CachedDataItemKey::CellData { cell }) + }; + + let dependent = task + .iter() + .filter_map(|(key, _)| { + if let CachedDataItemKey::CellDependent { + cell: dependent_cell, + task, + } = *key + { + (dependent_cell == cell).then_some(task) + } else { + None + } + }) + .collect(); + + drop(task); + drop(old_content); + + InvalidateOperation::run(dependent, ctx); + } +} diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_output.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_output.rs new file mode 100644 index 0000000000000..ac3f7fba5514d --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_output.rs @@ -0,0 +1,90 @@ +use std::borrow::Cow; + +use anyhow::{anyhow, Result}; +use turbo_tasks::{util::SharedError, RawVc, TaskId}; + +use super::{ExecuteContext, InvalidateOperation}; +use crate::data::{CachedDataItem, CachedDataItemKey, CachedDataItemValue, CellRef, OutputValue}; + +pub struct UpdateOutputOperation; + +impl UpdateOutputOperation { + pub fn run( + task_id: TaskId, + output: Result, Option>>, + ctx: ExecuteContext<'_>, + ) { + let mut task = ctx.task(task_id); + let old_error = task.remove(&CachedDataItemKey::Error {}); + let current_output = task.get(&CachedDataItemKey::Output {}); + let output_value = match output { + Ok(Ok(RawVc::TaskOutput(output_task_id))) => { + if let Some(CachedDataItemValue::Output { + value: OutputValue::Output(current_task_id), + }) = current_output + { + if *current_task_id == output_task_id { + return; + } + } + OutputValue::Output(output_task_id) + } + Ok(Ok(RawVc::TaskCell(output_task_id, cell))) => { + if let Some(CachedDataItemValue::Output { + value: + OutputValue::Cell(CellRef { + task: current_task_id, + cell: current_cell, + }), + }) = current_output + { + if *current_task_id == output_task_id && *current_cell == cell { + return; + } + } + OutputValue::Cell(CellRef { + task: output_task_id, + cell, + }) + } + Ok(Ok(RawVc::LocalCell(_, _))) => { + panic!("LocalCell must not be output of a task"); + } + Ok(Ok(RawVc::LocalOutput(_, _))) => { + panic!("LocalOutput must not be output of a task"); + } + Ok(Err(err)) => { + task.insert(CachedDataItem::Error { + value: SharedError::new(err), + }); + OutputValue::Error + } + Err(panic) => { + task.insert(CachedDataItem::Error { + value: SharedError::new(anyhow!("Panic: {:?}", panic)), + }); + OutputValue::Panic + } + }; + let old_content = task.insert(CachedDataItem::Output { + value: output_value, + }); + + let dependent = task + .iter() + .filter_map(|(key, _)| { + if let CachedDataItemKey::OutputDependent { task } = *key { + Some(task) + } else { + None + } + }) + .collect(); + + drop(task); + drop(old_content); + drop(old_error); + + InvalidateOperation::run(dependent, ctx); + } +} diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs index e609a386351de..23d7d3833c79c 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs @@ -1,5 +1,6 @@ use std::{ hash::{BuildHasherDefault, Hash}, + mem::take, ops::{Deref, DerefMut}, thread::available_parallelism, }; @@ -44,7 +45,7 @@ impl InnerStorage { } } - pub fn upsert(&mut self, item: T) -> Option { + pub fn insert(&mut self, item: T) -> Option { let (key, value) = item.into_key_and_value(); self.map.insert(key, value) } @@ -52,6 +53,30 @@ impl InnerStorage { pub fn remove(&mut self, key: &T::Key) -> Option { self.map.remove(key) } + + pub fn get(&self, key: &T::Key) -> Option<&T::Value> { + self.map.get(key) + } + + pub fn iter(&self) -> impl Iterator { + self.map.iter() + } +} + +impl InnerStorage +where + T::Value: PartialEq, +{ + pub fn has(&self, item: &mut T) -> bool { + let (key, value) = take(item).into_key_and_value(); + let result = if let Some(stored_value) = self.map.get(&key) { + *stored_value == value + } else { + false + }; + *item = T::from_key_and_value(key, value); + result + } } pub struct Storage { @@ -99,3 +124,39 @@ impl<'a, K: Eq + Hash, T: KeyValuePair> DerefMut for StorageWriteGuard<'a, K, T> &mut *self.inner } } + +#[macro_export] +macro_rules! get { + ($task:ident, $key:ident $input:tt) => { + if let Some($crate::data::CachedDataItemValue::$key { value }) = $task.get(&$crate::data::CachedDataItemKey::$key $input).as_ref() { + Some(value) + } else { + None + } + }; + ($task:ident, $key:ident) => { + if let Some($crate::data::CachedDataItemValue::$key { value }) = $task.get(&$crate::data::CachedDataItemKey::$key {}).as_ref() { + Some(value) + } else { + None + } + }; +} + +#[macro_export] +macro_rules! remove { + ($task:ident, $key:ident $input:tt) => { + if let Some($crate::data::CachedDataItemValue::$key { value }) = $task.remove(&$crate::data::CachedDataItemKey::$key $input) { + Some(value) + } else { + None + } + }; + ($task:ident, $key:ident) => { + if let Some($crate::data::CachedDataItemValue::$key { value }) = $task.remove(&$crate::data::CachedDataItemKey::$key {}) { + Some(value) + } else { + None + } + }; +} diff --git a/turbopack/crates/turbo-tasks-backend/src/data.rs b/turbopack/crates/turbo-tasks-backend/src/data.rs index 76e7df4f9e64e..c217ae5d58c9e 100644 --- a/turbopack/crates/turbo-tasks-backend/src/data.rs +++ b/turbopack/crates/turbo-tasks-backend/src/data.rs @@ -1,9 +1,9 @@ -use turbo_tasks::{util::SharedError, CellId, KeyValuePair, SharedReference, TaskId}; +use turbo_tasks::{event::Event, util::SharedError, CellId, KeyValuePair, SharedReference, TaskId}; #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub struct CellRef { - task: TaskId, - cell: CellId, + pub task: TaskId, + pub cell: CellId, } #[derive(Debug, Copy, Clone, PartialEq, Eq)] @@ -11,6 +11,7 @@ pub enum OutputValue { Cell(CellRef), Output(TaskId), Error, + Panic, } impl OutputValue { fn is_transient(&self) -> bool { @@ -18,6 +19,7 @@ impl OutputValue { OutputValue::Cell(cell) => cell.task.is_transient(), OutputValue::Output(task) => task.is_transient(), OutputValue::Error => false, + OutputValue::Panic => false, } } } @@ -29,10 +31,24 @@ pub enum RootType { ReadingStronglyConsistent, } -#[derive(Debug, Copy, Clone, PartialEq, Eq)] +#[derive(Debug)] pub enum InProgressState { - Scheduled { clean: bool }, - InProgress { clean: bool, stale: bool }, + Scheduled { + clean: bool, + done_event: Event, + start_event: Event, + }, + InProgress { + clean: bool, + stale: bool, + done_event: Event, + }, +} + +impl Clone for InProgressState { + fn clone(&self) -> Self { + panic!("InProgressState cannot be cloned"); + } } #[derive(Debug, Clone, KeyValuePair)] @@ -170,6 +186,16 @@ impl CachedDataItem { CachedDataItem::Error { .. } => false, } } + + pub fn new_scheduled(task_id: TaskId) -> Self { + CachedDataItem::InProgress { + value: InProgressState::Scheduled { + clean: false, + done_event: Event::new(move || format!("{} done_event", task_id)), + start_event: Event::new(move || format!("{} start_event", task_id)), + }, + } + } } impl CachedDataItemKey { diff --git a/turbopack/crates/turbo-tasks-backend/tests/basic.rs b/turbopack/crates/turbo-tasks-backend/tests/basic.rs new file mode 120000 index 0000000000000..d2c98272f0102 --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/tests/basic.rs @@ -0,0 +1 @@ +../../turbo-tasks-testing/tests/basic.rs \ No newline at end of file diff --git a/turbopack/crates/turbo-tasks-backend/tests/test_config.trs b/turbopack/crates/turbo-tasks-backend/tests/test_config.trs new file mode 100644 index 0000000000000..7387c44aaf3dd --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/tests/test_config.trs @@ -0,0 +1,3 @@ +|_name, _initial| { + turbo_tasks::TurboTasks::new(turbo_tasks_backend::TurboTasksBackend::new()) +} diff --git a/turbopack/crates/turbo-tasks-memory/tests/basic.rs b/turbopack/crates/turbo-tasks-memory/tests/basic.rs new file mode 120000 index 0000000000000..d2c98272f0102 --- /dev/null +++ b/turbopack/crates/turbo-tasks-memory/tests/basic.rs @@ -0,0 +1 @@ +../../turbo-tasks-testing/tests/basic.rs \ No newline at end of file diff --git a/turbopack/crates/turbo-tasks-testing/tests/basic.rs b/turbopack/crates/turbo-tasks-testing/tests/basic.rs new file mode 100644 index 0000000000000..04c949db97132 --- /dev/null +++ b/turbopack/crates/turbo-tasks-testing/tests/basic.rs @@ -0,0 +1,31 @@ +#![feature(arbitrary_self_types)] + +use anyhow::Result; +use turbo_tasks::Vc; +use turbo_tasks_testing::{register, run, Registration}; + +static REGISTRATION: Registration = register!(); + +#[tokio::test] +async fn basic() { + run(®ISTRATION, || async { + // let input = Value { value: 42 }.cell(); + // let output = func(input); + // assert_eq!(output.await?.value, 42); + + anyhow::Ok(()) + }) + .await + .unwrap() +} + +#[turbo_tasks::value] +struct Value { + value: u32, +} + +#[turbo_tasks::function] +async fn func(input: Vc) -> Result> { + let value = input.await?.value; + Ok(Value { value }.cell()) +} diff --git a/turbopack/crates/turbo-tasks/src/backend.rs b/turbopack/crates/turbo-tasks/src/backend.rs index d87ebe638048a..9f7ca0dc41540 100644 --- a/turbopack/crates/turbo-tasks/src/backend.rs +++ b/turbopack/crates/turbo-tasks/src/backend.rs @@ -92,13 +92,94 @@ impl Display for CachedTaskType { } mod ser { + use std::any::Any; + use serde::{ + de::{self}, ser::{SerializeSeq, SerializeTuple}, Deserialize, Deserializer, Serialize, Serializer, }; use super::*; + impl Serialize for TypedCellContent { + fn serialize(&self, serializer: S) -> std::result::Result + where + S: Serializer, + { + let value_type = registry::get_value_type(self.0); + let serializable = if let Some(value) = &self.1 .0 { + value_type.any_as_serializable(&value.0) + } else { + None + }; + let mut state = serializer.serialize_tuple(3)?; + state.serialize_element(registry::get_value_type_global_name(self.0))?; + if let Some(serializable) = serializable { + state.serialize_element(&true)?; + state.serialize_element(serializable)?; + } else { + state.serialize_element(&false)?; + state.serialize_element(&())?; + } + state.end() + } + } + + impl<'de> Deserialize<'de> for TypedCellContent { + fn deserialize(deserializer: D) -> std::result::Result + where + D: Deserializer<'de>, + { + struct Visitor; + + impl<'de> serde::de::Visitor<'de> for Visitor { + type Value = TypedCellContent; + + fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + write!(formatter, "a valid TypedCellContent") + } + + fn visit_seq(self, mut seq: A) -> std::result::Result + where + A: de::SeqAccess<'de>, + { + let value_type = seq + .next_element()? + .ok_or_else(|| de::Error::invalid_length(0, &self))?; + let value_type = registry::get_value_type_id_by_global_name(value_type) + .ok_or_else(|| de::Error::custom("Unknown value type"))?; + let has_value: bool = seq + .next_element()? + .ok_or_else(|| de::Error::invalid_length(1, &self))?; + if has_value { + let seed = registry::get_value_type(value_type) + .get_any_deserialize_seed() + .ok_or_else(|| { + de::Error::custom("Value type doesn't support deserialization") + })?; + let value = seq + .next_element_seed(seed)? + .ok_or_else(|| de::Error::invalid_length(2, &self))?; + let arc: triomphe::Arc = + todo!("convert Box to Arc"); + Ok(TypedCellContent( + value_type, + CellContent(Some(SharedReference(arc))), + )) + } else { + let () = seq + .next_element()? + .ok_or_else(|| de::Error::invalid_length(2, &self))?; + Ok(TypedCellContent(value_type, CellContent(None))) + } + } + } + + deserializer.deserialize_tuple(2, Visitor) + } + } + enum FunctionAndArg<'a> { Owned { fn_type: FunctionId, From c648e419f0007b183de9013c331c5f7385f2b2a5 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 7 Aug 2024 13:19:38 +0200 Subject: [PATCH 042/119] add own cells reading --- .../turbo-tasks-backend/src/backend/mod.rs | 17 ++++++++++++++++- .../crates/turbo-tasks-testing/tests/basic.rs | 2 +- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index 973d9df655b47..89ff8eac53a33 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -484,7 +484,22 @@ impl Backend for TurboTasksBackend { CellContent(Some(content.clone())).into_typed(cell.type_id) )); } - todo!("Cell is not available, recompute task or error"); + todo!("Cell {cell:?} from {task_id:?} is not available, recompute task or error"); + } + + fn try_read_own_task_cell_untracked( + &self, + task_id: TaskId, + cell: CellId, + turbo_tasks: &dyn TurboTasksBackendApi, + ) -> Result { + let ctx = self.execute_context(turbo_tasks); + let task = ctx.task(task_id); + if let Some(content) = get!(task, CellData { cell }) { + Ok(CellContent(Some(content.clone())).into_typed(cell.type_id)) + } else { + Ok(CellContent(None).into_typed(cell.type_id)) + } } fn read_task_collectibles( diff --git a/turbopack/crates/turbo-tasks-testing/tests/basic.rs b/turbopack/crates/turbo-tasks-testing/tests/basic.rs index 04c949db97132..16ee41db2ae0b 100644 --- a/turbopack/crates/turbo-tasks-testing/tests/basic.rs +++ b/turbopack/crates/turbo-tasks-testing/tests/basic.rs @@ -9,7 +9,7 @@ static REGISTRATION: Registration = register!(); #[tokio::test] async fn basic() { run(®ISTRATION, || async { - // let input = Value { value: 42 }.cell(); + let input = Value { value: 42 }.cell(); // let output = func(input); // assert_eq!(output.await?.value, 42); From cef5eb4d77aa64625333006039bf62c97af122e1 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 7 Aug 2024 13:23:59 +0200 Subject: [PATCH 043/119] call transient tasks --- .../turbo-tasks-backend/src/backend/mod.rs | 35 ++++++++++++++----- .../crates/turbo-tasks-testing/tests/basic.rs | 2 +- 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index 89ff8eac53a33..c1549c9b1aae1 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -213,6 +213,33 @@ impl Backend for TurboTasksBackend { task_id } + fn get_or_create_transient_task( + &self, + task_type: CachedTaskType, + parent_task: TaskId, + turbo_tasks: &dyn TurboTasksBackendApi, + ) -> TaskId { + if let Some(task_id) = self.task_cache.lookup_forward(&task_type) { + self.connect_child(parent_task, task_id, turbo_tasks); + return task_id; + } + + let task_type = Arc::new(task_type); + let task_id = self.transient_task_id_factory.get(); + if let Err(existing_task_id) = self.task_cache.try_insert(task_type, task_id) { + // Safety: We just created the id and failed to insert it. + unsafe { + self.transient_task_id_factory.reuse(task_id); + } + self.connect_child(parent_task, existing_task_id, turbo_tasks); + return existing_task_id; + } + + self.connect_child(parent_task, task_id, turbo_tasks); + + task_id + } + fn invalidate_task(&self, task_id: TaskId, turbo_tasks: &dyn TurboTasksBackendApi) { self.invalidate(task_id, turbo_tasks); } @@ -543,14 +570,6 @@ impl Backend for TurboTasksBackend { self.update_cell(task_id, cell, content, turbo_tasks); } - fn get_or_create_transient_task( - &self, - _: CachedTaskType, - _: TaskId, - _: &dyn TurboTasksBackendApi, - ) -> TaskId { - todo!() - } fn connect_task(&self, _: TaskId, _: TaskId, _: &dyn TurboTasksBackendApi) { todo!() } diff --git a/turbopack/crates/turbo-tasks-testing/tests/basic.rs b/turbopack/crates/turbo-tasks-testing/tests/basic.rs index 16ee41db2ae0b..b8312b9b2aac0 100644 --- a/turbopack/crates/turbo-tasks-testing/tests/basic.rs +++ b/turbopack/crates/turbo-tasks-testing/tests/basic.rs @@ -10,7 +10,7 @@ static REGISTRATION: Registration = register!(); async fn basic() { run(®ISTRATION, || async { let input = Value { value: 42 }.cell(); - // let output = func(input); + let output = func(input); // assert_eq!(output.await?.value, 42); anyhow::Ok(()) From 93dcc43c50beca7cbc92c918ec27af7857a96333 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 7 Aug 2024 13:25:29 +0200 Subject: [PATCH 044/119] call persistent tasks --- turbopack/crates/turbo-tasks-testing/tests/basic.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/turbopack/crates/turbo-tasks-testing/tests/basic.rs b/turbopack/crates/turbo-tasks-testing/tests/basic.rs index b8312b9b2aac0..491b4bbc10ff7 100644 --- a/turbopack/crates/turbo-tasks-testing/tests/basic.rs +++ b/turbopack/crates/turbo-tasks-testing/tests/basic.rs @@ -9,9 +9,12 @@ static REGISTRATION: Registration = register!(); #[tokio::test] async fn basic() { run(®ISTRATION, || async { + let output1 = func_without_args(); + // assert_eq!(output1.await?.value, 123); + let input = Value { value: 42 }.cell(); - let output = func(input); - // assert_eq!(output.await?.value, 42); + let output2 = func(input); + // assert_eq!(output2.await?.value, 42); anyhow::Ok(()) }) @@ -29,3 +32,9 @@ async fn func(input: Vc) -> Result> { let value = input.await?.value; Ok(Value { value }.cell()) } + +#[turbo_tasks::function] +async fn func_without_args() -> Result> { + let value = 123; + Ok(Value { value }.cell()) +} From 27181e8626773bb0c3120cdcf92d0d109ed54ab6 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 7 Aug 2024 19:23:48 +0200 Subject: [PATCH 045/119] run tests multiple times to test caching --- turbopack/crates/turbo-tasks-testing/tests/basic.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/turbopack/crates/turbo-tasks-testing/tests/basic.rs b/turbopack/crates/turbo-tasks-testing/tests/basic.rs index 491b4bbc10ff7..84a56237e3193 100644 --- a/turbopack/crates/turbo-tasks-testing/tests/basic.rs +++ b/turbopack/crates/turbo-tasks-testing/tests/basic.rs @@ -10,11 +10,11 @@ static REGISTRATION: Registration = register!(); async fn basic() { run(®ISTRATION, || async { let output1 = func_without_args(); - // assert_eq!(output1.await?.value, 123); + assert_eq!(output1.await?.value, 123); let input = Value { value: 42 }.cell(); let output2 = func(input); - // assert_eq!(output2.await?.value, 42); + assert_eq!(output2.await?.value, 42); anyhow::Ok(()) }) From 7a5d43fbd3e5ab963501ce7ebecba8e657d9c3d5 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 7 Aug 2024 19:25:22 +0200 Subject: [PATCH 046/119] add cell/output reading and creating cached tasks --- .../turbo-tasks-backend/src/backend/mod.rs | 223 ++++++++++++------ .../src/backend/operation/connect_child.rs | 23 +- .../src/backend/operation/invalidate.rs | 4 +- .../src/backend/operation/mod.rs | 37 ++- 4 files changed, 204 insertions(+), 83 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index c1549c9b1aae1..40c7c8656f558 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -39,8 +39,8 @@ use self::{ }; use crate::{ data::{ - CachedDataItem, CachedDataItemKey, CachedDataItemValue, CachedDataUpdate, InProgressState, - OutputValue, + CachedDataItem, CachedDataItemKey, CachedDataItemValue, CachedDataUpdate, CellRef, + InProgressState, OutputValue, }, get, remove, utils::{bi_map::BiMap, chunked_vec::ChunkedVec, ptr_eq_arc::PtrEqArc}, @@ -129,7 +129,7 @@ impl TurboTasksBackend { snapshot_request .suspended_operations .insert(operation.clone().into()); - let value = self.in_progress_operations.fetch_sub(1, Ordering::AcqRel); + let value = self.in_progress_operations.fetch_sub(1, Ordering::AcqRel) - 1; assert!((value & SNAPSHOT_REQUESTED_BIT) != 0); if value == SNAPSHOT_REQUESTED_BIT { self.operations_suspended.notify_all(); @@ -145,11 +145,46 @@ impl TurboTasksBackend { } } } + + pub(crate) fn start_operation(&self) -> OperationGuard<'_> { + let fetch_add = self.in_progress_operations.fetch_add(1, Ordering::AcqRel); + if (fetch_add & SNAPSHOT_REQUESTED_BIT) != 0 { + let mut snapshot_request = self.snapshot_request.lock(); + if snapshot_request.snapshot_requested { + let value = self.in_progress_operations.fetch_sub(1, Ordering::AcqRel) - 1; + if value == SNAPSHOT_REQUESTED_BIT { + self.operations_suspended.notify_all(); + } + self.snapshot_completed + .wait_while(&mut snapshot_request, |snapshot_request| { + snapshot_request.snapshot_requested + }); + self.in_progress_operations.fetch_add(1, Ordering::AcqRel); + } + } + OperationGuard { backend: self } + } +} + +pub(crate) struct OperationGuard<'a> { + backend: &'a TurboTasksBackend, +} + +impl<'a> Drop for OperationGuard<'a> { + fn drop(&mut self) { + let fetch_sub = self + .backend + .in_progress_operations + .fetch_sub(1, Ordering::AcqRel); + if fetch_sub - 1 == SNAPSHOT_REQUESTED_BIT { + self.backend.operations_suspended.notify_all(); + } + } } // Operations impl TurboTasksBackend { - pub fn connect_child( + fn connect_child( &self, parent_task: TaskId, child_task: TaskId, @@ -162,23 +197,95 @@ impl TurboTasksBackend { ); } - pub fn update_cell( + fn try_read_task_output( &self, task_id: TaskId, - cell: CellId, - content: CellContent, + reader: Option, + consistency: ReadConsistency, turbo_tasks: &dyn TurboTasksBackendApi, - ) { - operation::UpdateCellOperation::run( - task_id, - cell, - content, - self.execute_context(turbo_tasks), - ); + ) -> Result> { + let ctx = self.execute_context(turbo_tasks); + let mut task = ctx.task(task_id); + + if let Some(in_progress) = get!(task, InProgress) { + match in_progress { + InProgressState::Scheduled { done_event, .. } + | InProgressState::InProgress { done_event, .. } => { + let listener = done_event.listen(); + return Ok(Err(listener)); + } + } + } + + if matches!(consistency, ReadConsistency::Strong) { + todo!("Handle strongly consistent read: {task:#?}"); + } + + if let Some(output) = get!(task, Output) { + let result = match output { + OutputValue::Cell(cell) => Some(Ok(Ok(RawVc::TaskCell(cell.task, cell.cell)))), + OutputValue::Output(task) => Some(Ok(Ok(RawVc::TaskOutput(*task)))), + OutputValue::Error | OutputValue::Panic => { + if let Some(error) = get!(task, Error) { + Some(Err(error.clone().into())) + } else { + None + } + } + }; + if let Some(result) = result { + if let Some(reader) = reader { + task.add(CachedDataItem::OutputDependent { + task: reader, + value: (), + }); + drop(task); + + let mut reader_task = ctx.task(reader); + reader_task.add(CachedDataItem::OutputDependency { + target: task_id, + value: (), + }); + } + + return result; + } + } + + todo!("Output of is not available, recompute task: {task:#?}"); } - pub fn invalidate(&self, task_id: TaskId, turbo_tasks: &dyn TurboTasksBackendApi) { - operation::InvalidateOperation::run(smallvec![task_id], self.execute_context(turbo_tasks)); + fn try_read_task_cell( + &self, + task_id: TaskId, + reader: Option, + cell: CellId, + turbo_tasks: &dyn TurboTasksBackendApi, + ) -> Result> { + let ctx = self.execute_context(turbo_tasks); + let mut task = ctx.task(task_id); + if let Some(content) = get!(task, CellData { cell }) { + let content = content.clone(); + if let Some(reader) = reader { + task.add(CachedDataItem::CellDependent { + cell, + task: reader, + value: (), + }); + drop(task); + let mut reader_task = ctx.task(reader); + reader_task.add(CachedDataItem::CellDependency { + target: CellRef { + task: task_id, + cell, + }, + value: (), + }); + } + return Ok(Ok(CellContent(Some(content)).into_typed(cell.type_id))); + } + + todo!("Cell {cell:?} is not available, recompute task or error: {task:#?}"); } } @@ -241,7 +348,7 @@ impl Backend for TurboTasksBackend { } fn invalidate_task(&self, task_id: TaskId, turbo_tasks: &dyn TurboTasksBackendApi) { - self.invalidate(task_id, turbo_tasks); + operation::InvalidateOperation::run(smallvec![task_id], self.execute_context(turbo_tasks)); } fn invalidate_tasks(&self, tasks: &[TaskId], turbo_tasks: &dyn TurboTasksBackendApi) { @@ -287,12 +394,16 @@ impl Backend for TurboTasksBackend { { let ctx = self.execute_context(turbo_tasks); let mut task = ctx.task(task_id); - let Some(InProgressState::Scheduled { + let Some(in_progress) = remove!(task, InProgress) else { + return None; + }; + let InProgressState::Scheduled { clean, done_event, start_event, - }) = remove!(task, InProgress) + } = in_progress else { + task.add(CachedDataItem::InProgress { value: in_progress }); return None; }; task.add(CachedDataItem::InProgress { @@ -407,7 +518,7 @@ impl Backend for TurboTasksBackend { let Some(CachedDataItemValue::InProgress { value: in_progress }) = task.remove(&CachedDataItemKey::InProgress {}) else { - panic!("Task execution completed, but task is not in progress"); + panic!("Task execution completed, but task is not in progress: {task:#?}"); }; let InProgressState::InProgress { done_event, @@ -415,7 +526,7 @@ impl Backend for TurboTasksBackend { stale, } = in_progress else { - panic!("Task execution completed, but task is not in progress"); + panic!("Task execution completed, but task is not in progress: {task:#?}"); }; // TODO handle cell counters @@ -442,60 +553,34 @@ impl Backend for TurboTasksBackend { ) -> Pin + Send + 'static)>> { todo!() } + fn try_read_task_output( &self, - _: TaskId, - _: TaskId, - _: ReadConsistency, - _: &dyn TurboTasksBackendApi, + task_id: TaskId, + reader: TaskId, + consistency: ReadConsistency, + turbo_tasks: &dyn TurboTasksBackendApi, ) -> Result> { - todo!() + self.try_read_task_output(task_id, Some(reader), consistency, turbo_tasks) } + fn try_read_task_output_untracked( &self, task_id: TaskId, consistency: ReadConsistency, turbo_tasks: &dyn TurboTasksBackendApi, ) -> Result> { - let ctx = self.execute_context(turbo_tasks); - let task = ctx.task(task_id); - - if let Some(in_progress) = get!(task, InProgress) { - match in_progress { - InProgressState::Scheduled { done_event, .. } - | InProgressState::InProgress { done_event, .. } => { - let listener = done_event.listen(); - return Ok(Err(listener)); - } - } - } - - if matches!(consistency, ReadConsistency::Strong) { - todo!("Handle strongly consistent read"); - } - - if let Some(output) = get!(task, Output) { - match output { - OutputValue::Cell(cell) => return Ok(Ok(RawVc::TaskCell(cell.task, cell.cell))), - OutputValue::Output(task) => return Ok(Ok(RawVc::TaskOutput(*task))), - OutputValue::Error | OutputValue::Panic => { - if let Some(error) = get!(task, Error) { - return Err(error.clone().into()); - } - } - } - } - - todo!("Output is not available, recompute task"); + self.try_read_task_output(task_id, None, consistency, turbo_tasks) } + fn try_read_task_cell( &self, - _: TaskId, - _: CellId, - _: TaskId, - _: &dyn TurboTasksBackendApi, + task_id: TaskId, + cell: CellId, + reader: TaskId, + turbo_tasks: &dyn TurboTasksBackendApi, ) -> Result> { - todo!() + self.try_read_task_cell(task_id, Some(reader), cell, turbo_tasks) } fn try_read_task_cell_untracked( @@ -504,14 +589,7 @@ impl Backend for TurboTasksBackend { cell: CellId, turbo_tasks: &dyn TurboTasksBackendApi, ) -> Result> { - let ctx = self.execute_context(turbo_tasks); - let task = ctx.task(task_id); - if let Some(content) = get!(task, CellData { cell }) { - return Ok(Ok( - CellContent(Some(content.clone())).into_typed(cell.type_id) - )); - } - todo!("Cell {cell:?} from {task_id:?} is not available, recompute task or error"); + self.try_read_task_cell(task_id, None, cell, turbo_tasks) } fn try_read_own_task_cell_untracked( @@ -567,7 +645,12 @@ impl Backend for TurboTasksBackend { content: CellContent, turbo_tasks: &dyn TurboTasksBackendApi, ) { - self.update_cell(task_id, cell, content, turbo_tasks); + operation::UpdateCellOperation::run( + task_id, + cell, + content, + self.execute_context(turbo_tasks), + ); } fn connect_task(&self, _: TaskId, _: TaskId, _: &dyn TurboTasksBackendApi) { diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs index 636f5edb05f2d..c2f6b92206d63 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs @@ -6,7 +6,9 @@ use crate::data::CachedDataItem; #[derive(Serialize, Deserialize, Clone, Default)] pub enum ConnectChildOperation { - Todo, + ScheduleTask { + task_id: TaskId, + }, #[default] Done, // TODO Add aggregated edge @@ -20,19 +22,28 @@ impl ConnectChildOperation { value: (), }) { // TODO add aggregated edge - ConnectChildOperation::Todo.execute(ctx); + // TODO check for active + ConnectChildOperation::ScheduleTask { + task_id: child_task, + } + .execute(&ctx); } } } impl Operation for ConnectChildOperation { - fn execute(mut self, ctx: ExecuteContext<'_>) { + fn execute(mut self, ctx: &ExecuteContext<'_>) { loop { ctx.operation_suspend_point(&self); match self { - ConnectChildOperation::Todo => { - self = ConnectChildOperation::Done; - continue; + ConnectChildOperation::ScheduleTask { task_id } => { + { + let mut task = ctx.task(task_id); + task.add(CachedDataItem::new_scheduled(task_id)); + } + ctx.schedule(task_id); + + return; } ConnectChildOperation::Done => { return; diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs index 1dbfd76424fc6..76e563a38a5a2 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs @@ -21,12 +21,12 @@ pub enum InvalidateOperation { impl InvalidateOperation { pub fn run(task_ids: SmallVec<[TaskId; 4]>, ctx: ExecuteContext<'_>) { - InvalidateOperation::MakeDirty { task_ids }.execute(ctx) + InvalidateOperation::MakeDirty { task_ids }.execute(&ctx) } } impl Operation for InvalidateOperation { - fn execute(self, ctx: ExecuteContext<'_>) { + fn execute(self, ctx: &ExecuteContext<'_>) { loop { ctx.operation_suspend_point(&self); match self { diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs index 1810f28b4f12e..cb792bf884648 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs @@ -3,13 +3,19 @@ mod invalidate; mod update_cell; mod update_output; -use std::mem::take; +use std::{ + fmt::{Debug, Formatter}, + mem::take, +}; use serde::{Deserialize, Serialize}; use turbo_tasks::{KeyValuePair, TaskId, TurboTasksBackendApi}; use super::{storage::StorageWriteGuard, TurboTasksBackend}; -use crate::data::{CachedDataItem, CachedDataItemKey, CachedDataItemValue, CachedDataUpdate}; +use crate::{ + backend::OperationGuard, + data::{CachedDataItem, CachedDataItemKey, CachedDataItemValue, CachedDataUpdate}, +}; pub trait Operation: Serialize @@ -18,13 +24,14 @@ pub trait Operation: + TryFrom + Into { - fn execute(self, ctx: ExecuteContext<'_>); + fn execute(self, ctx: &ExecuteContext<'_>); } -#[derive(Clone, Copy)] pub struct ExecuteContext<'a> { backend: &'a TurboTasksBackend, turbo_tasks: &'a dyn TurboTasksBackendApi, + #[allow(dead_code)] + operation_guard: Option>, parent: Option<(&'a AnyOperation, &'a ExecuteContext<'a>)>, } @@ -36,6 +43,7 @@ impl<'a> ExecuteContext<'a> { Self { backend, turbo_tasks, + operation_guard: Some(backend.start_operation()), parent: None, } } @@ -48,6 +56,10 @@ impl<'a> ExecuteContext<'a> { } } + pub fn schedule(&self, task_id: TaskId) { + self.turbo_tasks.schedule(task_id); + } + pub fn operation_suspend_point>(&self, op: &T) { if self.parent.is_some() { self.backend.operation_suspend_point(|| { @@ -79,6 +91,7 @@ impl<'a> ExecuteContext<'a> { let inner_ctx = ExecuteContext { backend: self.backend, turbo_tasks: self.turbo_tasks, + operation_guard: None, parent: Some((&parent_op, self)), }; run(inner_ctx); @@ -92,6 +105,20 @@ pub struct TaskGuard<'a> { backend: &'a TurboTasksBackend, } +impl<'a> Debug for TaskGuard<'a> { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + let mut d = f.debug_struct("TaskGuard"); + d.field("task_id", &self.task_id); + if let Some(task_type) = self.backend.task_cache.lookup_reverse(&self.task_id) { + d.field("task_type", &task_type); + }; + for (key, value) in self.task.iter() { + d.field(&format!("{:?}", key), &value); + } + d.finish() + } +} + impl<'a> TaskGuard<'a> { fn new( task_id: TaskId, @@ -225,7 +252,7 @@ pub enum AnyOperation { } impl AnyOperation { - fn execute(self, ctx: ExecuteContext<'_>) { + fn execute(self, ctx: &ExecuteContext<'_>) { match self { AnyOperation::ConnectChild(op) => op.execute(ctx), AnyOperation::Invalidate(op) => op.execute(ctx), From 95bb488e2edbbe931916448bdbcb0ddc20836dee Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 9 Aug 2024 09:03:54 +0200 Subject: [PATCH 047/119] serialization fixup --- turbopack/crates/turbo-tasks/src/backend.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/turbopack/crates/turbo-tasks/src/backend.rs b/turbopack/crates/turbo-tasks/src/backend.rs index 9f7ca0dc41540..58a3de86462eb 100644 --- a/turbopack/crates/turbo-tasks/src/backend.rs +++ b/turbopack/crates/turbo-tasks/src/backend.rs @@ -161,8 +161,7 @@ mod ser { let value = seq .next_element_seed(seed)? .ok_or_else(|| de::Error::invalid_length(2, &self))?; - let arc: triomphe::Arc = - todo!("convert Box to Arc"); + let arc = triomphe::Arc::::from(value); Ok(TypedCellContent( value_type, CellContent(Some(SharedReference(arc))), From 19a3286abcb9ac3e6b4f5ef238573dc0fad56fde Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 9 Aug 2024 11:15:42 +0200 Subject: [PATCH 048/119] remove unused stuff --- .../turbo-tasks-backend/src/backend/mod.rs | 10 ++- .../src/backend/operation/connect_child.rs | 2 +- .../src/backend/operation/mod.rs | 12 ---- .../crates/turbo-tasks-backend/src/data.rs | 10 +-- .../src/utils/external_locks.rs | 61 ------------------- .../turbo-tasks-backend/src/utils/mod.rs | 1 - 6 files changed, 11 insertions(+), 85 deletions(-) delete mode 100644 turbopack/crates/turbo-tasks-backend/src/utils/external_locks.rs diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index 40c7c8656f558..f7b56310a9e19 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -507,8 +507,8 @@ impl Backend for TurboTasksBackend { fn task_execution_completed( &self, task_id: TaskId, - duration: Duration, - memory_usage: usize, + _duration: Duration, + _memory_usage: usize, cell_counters: &AutoMap, 8>, stateful: bool, turbo_tasks: &dyn TurboTasksBackendApi, @@ -522,7 +522,7 @@ impl Backend for TurboTasksBackend { }; let InProgressState::InProgress { done_event, - clean, + clean: _, stale, } = in_progress else { @@ -530,6 +530,10 @@ impl Backend for TurboTasksBackend { }; // TODO handle cell counters + let _ = cell_counters; + + // TODO handle stateful + let _ = stateful; if stale { task.add(CachedDataItem::InProgress { diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs index c2f6b92206d63..f73dcb11bdb9d 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs @@ -32,7 +32,7 @@ impl ConnectChildOperation { } impl Operation for ConnectChildOperation { - fn execute(mut self, ctx: &ExecuteContext<'_>) { + fn execute(self, ctx: &ExecuteContext<'_>) { loop { ctx.operation_suspend_point(&self); match self { diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs index cb792bf884648..0dd2cd6b79110 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs @@ -120,18 +120,6 @@ impl<'a> Debug for TaskGuard<'a> { } impl<'a> TaskGuard<'a> { - fn new( - task_id: TaskId, - task: StorageWriteGuard<'a, TaskId, CachedDataItem>, - backend: &'a TurboTasksBackend, - ) -> Self { - Self { - task_id, - task, - backend, - } - } - pub fn add(&mut self, item: CachedDataItem) -> bool { if !item.is_persistent() { self.task.add(item) diff --git a/turbopack/crates/turbo-tasks-backend/src/data.rs b/turbopack/crates/turbo-tasks-backend/src/data.rs index c217ae5d58c9e..d9e5ffe60b3e1 100644 --- a/turbopack/crates/turbo-tasks-backend/src/data.rs +++ b/turbopack/crates/turbo-tasks-backend/src/data.rs @@ -26,9 +26,9 @@ impl OutputValue { #[derive(Debug, Copy, Clone, PartialEq, Eq)] pub enum RootType { - RootTask, - OnceTask, - ReadingStronglyConsistent, + _RootTask, + _OnceTask, + _ReadingStronglyConsistent, } #[derive(Debug)] @@ -238,10 +238,6 @@ impl CachedDataItemValue { } } -trait IsDefault { - fn is_default(&self) -> bool; -} - pub struct CachedDataUpdate { pub task: TaskId, pub key: CachedDataItemKey, diff --git a/turbopack/crates/turbo-tasks-backend/src/utils/external_locks.rs b/turbopack/crates/turbo-tasks-backend/src/utils/external_locks.rs deleted file mode 100644 index ddbfa54a75479..0000000000000 --- a/turbopack/crates/turbo-tasks-backend/src/utils/external_locks.rs +++ /dev/null @@ -1,61 +0,0 @@ -use std::{ - collections::{hash_map::Entry, HashMap}, - hash::Hash, - mem::transmute, - sync::Arc, -}; - -use parking_lot::{Mutex, MutexGuard}; - -pub struct ExternalLocks { - locks: HashMap>>, -} - -impl ExternalLocks { - pub fn new() -> Self { - Self { - locks: HashMap::new(), - } - } - - pub fn lock(&mut self, key: K) -> ExternalLockGuard { - let mutex = match self.locks.entry(key) { - Entry::Occupied(e) => e.get().clone(), - Entry::Vacant(e) => { - let lock = Arc::new(Mutex::new(())); - e.insert(lock.clone()); - if self.locks.len().is_power_of_two() { - let to_remove = self - .locks - .iter() - .filter_map(|(k, v)| { - if Arc::strong_count(v) == 1 { - Some(k.clone()) - } else { - None - } - }) - .collect::>(); - to_remove.into_iter().for_each(|k| { - self.locks.remove(&k); - }); - if self.locks.capacity() > self.locks.len() * 3 { - self.locks.shrink_to_fit(); - } - } - lock - } - }; - let guard = mutex.lock(); - // Safety: We know that the guard is valid for the lifetime of the lock as we - // keep the lock - let guard = unsafe { transmute::, MutexGuard<'static, _>>(guard) }; - ExternalLockGuard { lock: mutex, guard } - } -} - -pub struct ExternalLockGuard { - // Safety: guard must be before lock as it is dropped first - guard: MutexGuard<'static, ()>, - lock: Arc>, -} diff --git a/turbopack/crates/turbo-tasks-backend/src/utils/mod.rs b/turbopack/crates/turbo-tasks-backend/src/utils/mod.rs index 84e4a29fdb11a..3ad1e0475ec86 100644 --- a/turbopack/crates/turbo-tasks-backend/src/utils/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/utils/mod.rs @@ -1,4 +1,3 @@ pub mod bi_map; pub mod chunked_vec; -pub mod external_locks; pub mod ptr_eq_arc; From 6b175698eec7f9230099d38c15a1f7feee462a23 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 9 Aug 2024 11:19:25 +0200 Subject: [PATCH 049/119] clippy --- .../src/backend/operation/invalidate.rs | 9 +++-- .../src/backend/operation/mod.rs | 40 ++++++------------- .../src/derive/key_value_pair_macro.rs | 6 +-- 3 files changed, 20 insertions(+), 35 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs index 76e563a38a5a2..a4c7fda06c273 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs @@ -76,10 +76,11 @@ impl Operation for InvalidateOperation { } None => false, }; - if task.add(CachedDataItem::Dirty { value: () }) { - if !in_progress && task.add(CachedDataItem::new_scheduled(task_id)) { - ctx.turbo_tasks.schedule(task_id) - } + if task.add(CachedDataItem::Dirty { value: () }) + && !in_progress + && task.add(CachedDataItem::new_scheduled(task_id)) + { + ctx.turbo_tasks.schedule(task_id) } } return; diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs index 0dd2cd6b79110..f17f9189d60a7 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs @@ -123,21 +123,19 @@ impl<'a> TaskGuard<'a> { pub fn add(&mut self, item: CachedDataItem) -> bool { if !item.is_persistent() { self.task.add(item) + } else if self.task.add(item.clone()) { + let (key, value) = item.into_key_and_value(); + self.backend + .persisted_storage_log + .lock() + .push(CachedDataUpdate { + key, + task: self.task_id, + value: Some(value), + }); + true } else { - if self.task.add(item.clone()) { - let (key, value) = item.into_key_and_value(); - self.backend - .persisted_storage_log - .lock() - .push(CachedDataUpdate { - key, - task: self.task_id, - value: Some(value), - }); - true - } else { - false - } + false } } @@ -239,20 +237,6 @@ pub enum AnyOperation { Nested(Vec), } -impl AnyOperation { - fn execute(self, ctx: &ExecuteContext<'_>) { - match self { - AnyOperation::ConnectChild(op) => op.execute(ctx), - AnyOperation::Invalidate(op) => op.execute(ctx), - AnyOperation::Nested(ops) => { - for op in ops { - op.execute(ctx); - } - } - } - } -} - impl_operation!(ConnectChild connect_child::ConnectChildOperation); impl_operation!(Invalidate invalidate::InvalidateOperation); diff --git a/turbopack/crates/turbo-tasks-macros/src/derive/key_value_pair_macro.rs b/turbopack/crates/turbo-tasks-macros/src/derive/key_value_pair_macro.rs index 66f602491a083..3026d73f5dcd3 100644 --- a/turbopack/crates/turbo-tasks-macros/src/derive/key_value_pair_macro.rs +++ b/turbopack/crates/turbo-tasks-macros/src/derive/key_value_pair_macro.rs @@ -118,7 +118,7 @@ pub fn derive_key_value_pair(input: TokenStream) -> TokenStream { .into() } -fn patterns(fields: &Vec>) -> Vec { +fn patterns(fields: &[Vec<&syn::Field>]) -> Vec { let variant_pat = fields .iter() .map(|fields| { @@ -139,7 +139,7 @@ fn patterns(fields: &Vec>) -> Vec { variant_pat } -fn clone_fields(fields: &Vec>) -> Vec { +fn clone_fields(fields: &[Vec<&syn::Field>]) -> Vec { let variant_pat = fields .iter() .map(|fields| { @@ -160,7 +160,7 @@ fn clone_fields(fields: &Vec>) -> Vec variant_pat } -fn field_declarations(fields: &Vec>) -> Vec { +fn field_declarations(fields: &[Vec<&syn::Field>]) -> Vec { fields .iter() .map(|fields| { From c32b907446d71616f67cf967b3da62abcbdb3071 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 9 Aug 2024 11:19:54 +0200 Subject: [PATCH 050/119] remove things not yet used (persistence) --- .../turbo-tasks-backend/src/backend/storage.rs | 12 ------------ turbopack/crates/turbo-tasks-backend/src/data.rs | 4 ++++ 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs index 23d7d3833c79c..f69dedb469053 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs @@ -10,27 +10,15 @@ use dashmap::{mapref::one::RefMut, DashMap}; use rustc_hash::FxHasher; use turbo_tasks::KeyValuePair; -enum PersistanceState { - /// We know that all state of the object is only in the cache and nothing is - /// stored in the persistent cache. - CacheOnly, - /// We know that some state of the object is stored in the persistent cache. - Persisted, - /// We have never checked the persistent cache for the state of the object. - Unknown, -} - pub struct InnerStorage { // TODO consider adding some inline storage map: AutoMap, - persistance_state: PersistanceState, } impl InnerStorage { fn new() -> Self { Self { map: AutoMap::new(), - persistance_state: PersistanceState::Unknown, } } diff --git a/turbopack/crates/turbo-tasks-backend/src/data.rs b/turbopack/crates/turbo-tasks-backend/src/data.rs index d9e5ffe60b3e1..4800dec0a3690 100644 --- a/turbopack/crates/turbo-tasks-backend/src/data.rs +++ b/turbopack/crates/turbo-tasks-backend/src/data.rs @@ -239,7 +239,11 @@ impl CachedDataItemValue { } pub struct CachedDataUpdate { + // TODO persistence + #[allow(dead_code)] pub task: TaskId, + #[allow(dead_code)] pub key: CachedDataItemKey, + #[allow(dead_code)] pub value: Option, } From b0a0d64d0327b2225f7d2534ff90b7641404886e Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 9 Aug 2024 11:24:42 +0200 Subject: [PATCH 051/119] clippy --- .../turbo-tasks-backend/src/backend/mod.rs | 18 +++++++++--------- .../src/backend/operation/connect_child.rs | 5 +++-- .../src/backend/operation/invalidate.rs | 5 +++-- .../src/backend/operation/mod.rs | 2 +- .../turbo-tasks-backend/src/backend/storage.rs | 4 ++-- .../src/utils/chunked_vec.rs | 2 +- 6 files changed, 19 insertions(+), 17 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index f7b56310a9e19..4847cddcad276 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -90,6 +90,12 @@ pub struct TurboTasksBackend { snapshot_completed: Condvar, } +impl Default for TurboTasksBackend { + fn default() -> Self { + Self::new() + } +} + impl TurboTasksBackend { pub fn new() -> Self { Self { @@ -226,11 +232,7 @@ impl TurboTasksBackend { OutputValue::Cell(cell) => Some(Ok(Ok(RawVc::TaskCell(cell.task, cell.cell)))), OutputValue::Output(task) => Some(Ok(Ok(RawVc::TaskOutput(*task)))), OutputValue::Error | OutputValue::Panic => { - if let Some(error) = get!(task, Error) { - Some(Err(error.clone().into())) - } else { - None - } + get!(task, Error).map(|error| Err(error.clone().into())) } }; if let Some(result) = result { @@ -394,9 +396,7 @@ impl Backend for TurboTasksBackend { { let ctx = self.execute_context(turbo_tasks); let mut task = ctx.task(task_id); - let Some(in_progress) = remove!(task, InProgress) else { - return None; - }; + let in_progress = remove!(task, InProgress)?; let InProgressState::Scheduled { clean, done_event, @@ -447,7 +447,7 @@ impl Backend for TurboTasksBackend { method_name, .. } => { - let span = registry::get_trait(*trait_type).resolve_span(&**method_name); + let span = registry::get_trait(*trait_type).resolve_span(method_name); let turbo_tasks = turbo_tasks.pin(); ( span, diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs index f73dcb11bdb9d..8bd3e39b7ce59 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs @@ -32,7 +32,7 @@ impl ConnectChildOperation { } impl Operation for ConnectChildOperation { - fn execute(self, ctx: &ExecuteContext<'_>) { + fn execute(mut self, ctx: &ExecuteContext<'_>) { loop { ctx.operation_suspend_point(&self); match self { @@ -43,7 +43,8 @@ impl Operation for ConnectChildOperation { } ctx.schedule(task_id); - return; + self = ConnectChildOperation::Done; + continue; } ConnectChildOperation::Done => { return; diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs index a4c7fda06c273..a76899fc95196 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs @@ -26,7 +26,7 @@ impl InvalidateOperation { } impl Operation for InvalidateOperation { - fn execute(self, ctx: &ExecuteContext<'_>) { + fn execute(mut self, ctx: &ExecuteContext<'_>) { loop { ctx.operation_suspend_point(&self); match self { @@ -83,7 +83,8 @@ impl Operation for InvalidateOperation { ctx.turbo_tasks.schedule(task_id) } } - return; + self = InvalidateOperation::Done; + continue; } InvalidateOperation::Done => { return; diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs index f17f9189d60a7..d112c41e3914a 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs @@ -179,7 +179,7 @@ impl<'a> TaskGuard<'a> { } pub fn remove(&mut self, key: &CachedDataItemKey) -> Option { - let old_value = self.task.remove(&key); + let old_value = self.task.remove(key); if let Some(value) = old_value { if key.is_persistent() && value.is_persistent() { let key = key.clone(); diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs index f69dedb469053..368be96745400 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs @@ -103,13 +103,13 @@ impl<'a, K: Eq + Hash, T: KeyValuePair> Deref for StorageWriteGuard<'a, K, T> { type Target = InnerStorage; fn deref(&self) -> &Self::Target { - &*self.inner + &self.inner } } impl<'a, K: Eq + Hash, T: KeyValuePair> DerefMut for StorageWriteGuard<'a, K, T> { fn deref_mut(&mut self) -> &mut Self::Target { - &mut *self.inner + &mut self.inner } } diff --git a/turbopack/crates/turbo-tasks-backend/src/utils/chunked_vec.rs b/turbopack/crates/turbo-tasks-backend/src/utils/chunked_vec.rs index 4ac560aab9c9e..46292f79e5e72 100644 --- a/turbopack/crates/turbo-tasks-backend/src/utils/chunked_vec.rs +++ b/turbopack/crates/turbo-tasks-backend/src/utils/chunked_vec.rs @@ -49,7 +49,7 @@ fn chunk_size(chunk_index: usize) -> usize { } fn cummulative_chunk_size(chunk_index: usize) -> usize { - 8 << (chunk_index + 1) - 8 + (8 << (chunk_index + 1)) - 8 } struct ExactSizeIter { From 82a4ec11ad0984e4cf71c2a85f1e4f6d1aa200d2 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 9 Aug 2024 13:58:50 +0200 Subject: [PATCH 052/119] add more tests for new backend --- Cargo.lock | 2 ++ turbopack/crates/turbo-tasks-backend/Cargo.toml | 2 ++ turbopack/crates/turbo-tasks-backend/tests/all_in_one.rs | 1 + turbopack/crates/turbo-tasks-backend/tests/call_types.rs | 1 + turbopack/crates/turbo-tasks-backend/tests/debug.rs | 1 + 5 files changed, 7 insertions(+) create mode 120000 turbopack/crates/turbo-tasks-backend/tests/all_in_one.rs create mode 120000 turbopack/crates/turbo-tasks-backend/tests/call_types.rs create mode 120000 turbopack/crates/turbo-tasks-backend/tests/debug.rs diff --git a/Cargo.lock b/Cargo.lock index 3f1f42ca99634..0699d73081a04 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8615,8 +8615,10 @@ dependencies = [ "async-trait", "auto-hash-map", "dashmap", + "indexmap 1.9.3", "once_cell", "parking_lot", + "rand", "rustc-hash", "serde", "smallvec", diff --git a/turbopack/crates/turbo-tasks-backend/Cargo.toml b/turbopack/crates/turbo-tasks-backend/Cargo.toml index 8feb087ae4f0f..ff458ac2808b2 100644 --- a/turbopack/crates/turbo-tasks-backend/Cargo.toml +++ b/turbopack/crates/turbo-tasks-backend/Cargo.toml @@ -17,8 +17,10 @@ anyhow = { workspace = true } async-trait = { workspace = true } auto-hash-map = { workspace = true } dashmap = { workspace = true } +indexmap = { workspace = true } once_cell = { workspace = true } parking_lot = { workspace = true } +rand = { workspace = true } rustc-hash = { workspace = true } serde = { workspace = true } smallvec = { workspace = true } diff --git a/turbopack/crates/turbo-tasks-backend/tests/all_in_one.rs b/turbopack/crates/turbo-tasks-backend/tests/all_in_one.rs new file mode 120000 index 0000000000000..391ab595a93e2 --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/tests/all_in_one.rs @@ -0,0 +1 @@ +../../turbo-tasks-testing/tests/all_in_one.rs \ No newline at end of file diff --git a/turbopack/crates/turbo-tasks-backend/tests/call_types.rs b/turbopack/crates/turbo-tasks-backend/tests/call_types.rs new file mode 120000 index 0000000000000..b20501cd53c79 --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/tests/call_types.rs @@ -0,0 +1 @@ +../../turbo-tasks-testing/tests/call_types.rs \ No newline at end of file diff --git a/turbopack/crates/turbo-tasks-backend/tests/debug.rs b/turbopack/crates/turbo-tasks-backend/tests/debug.rs new file mode 120000 index 0000000000000..ee7aea7eab52f --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/tests/debug.rs @@ -0,0 +1 @@ +../../turbo-tasks-testing/tests/debug.rs \ No newline at end of file From da8fea6b33a5c02bd204dffda842b51aaed71d48 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Tue, 13 Aug 2024 07:26:05 +0200 Subject: [PATCH 053/119] add support for connect_child --- .../turbo-tasks-backend/src/backend/mod.rs | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index 4847cddcad276..0911cb18fdc44 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -18,6 +18,8 @@ use std::{ use anyhow::Result; use auto_hash_map::{AutoMap, AutoSet}; use dashmap::DashMap; +pub use operation::AnyOperation; +use operation::ConnectChildOperation; use parking_lot::{Condvar, Mutex}; use rustc_hash::FxHasher; use smallvec::smallvec; @@ -33,10 +35,7 @@ use turbo_tasks::{ ValueTypeId, TRANSIENT_TASK_BIT, }; -use self::{ - operation::{AnyOperation, ExecuteContext}, - storage::Storage, -}; +use self::{operation::ExecuteContext, storage::Storage}; use crate::{ data::{ CachedDataItem, CachedDataItemKey, CachedDataItemValue, CachedDataUpdate, CellRef, @@ -657,9 +656,15 @@ impl Backend for TurboTasksBackend { ); } - fn connect_task(&self, _: TaskId, _: TaskId, _: &dyn TurboTasksBackendApi) { - todo!() + fn connect_task( + &self, + task: TaskId, + parent_task: TaskId, + turbo_tasks: &dyn TurboTasksBackendApi, + ) { + ConnectChildOperation::run(parent_task, task, self.execute_context(turbo_tasks)); } + fn create_transient_task( &self, task_type: TransientTaskType, From 42b1605c48d79df7d63004d7c41ae6c9af631432 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 9 Aug 2024 16:05:13 +0200 Subject: [PATCH 054/119] set root type on root tasks --- turbopack/crates/turbo-tasks-backend/src/backend/mod.rs | 7 ++++++- turbopack/crates/turbo-tasks-backend/src/data.rs | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index 0911cb18fdc44..66d27ac811345 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -39,7 +39,7 @@ use self::{operation::ExecuteContext, storage::Storage}; use crate::{ data::{ CachedDataItem, CachedDataItemKey, CachedDataItemValue, CachedDataUpdate, CellRef, - InProgressState, OutputValue, + InProgressState, OutputValue, RootType, }, get, remove, utils::{bi_map::BiMap, chunked_vec::ChunkedVec, ptr_eq_arc::PtrEqArc}, @@ -671,11 +671,16 @@ impl Backend for TurboTasksBackend { turbo_tasks: &dyn TurboTasksBackendApi, ) -> TaskId { let task_id = self.transient_task_id_factory.get(); + let root_type = match task_type { + TransientTaskType::Root(_) => RootType::RootTask, + TransientTaskType::Once(_) => RootType::OnceTask, + }; self.transient_tasks .insert(task_id, Arc::new(tokio::sync::Mutex::new(task_type))); { let mut task = self.storage.access_mut(task_id); task.add(CachedDataItem::new_scheduled(task_id)); + task.add(CachedDataItem::AggregateRootType { value: root_type }); } turbo_tasks.schedule(task_id); task_id diff --git a/turbopack/crates/turbo-tasks-backend/src/data.rs b/turbopack/crates/turbo-tasks-backend/src/data.rs index 4800dec0a3690..05a10bc3981d5 100644 --- a/turbopack/crates/turbo-tasks-backend/src/data.rs +++ b/turbopack/crates/turbo-tasks-backend/src/data.rs @@ -26,8 +26,8 @@ impl OutputValue { #[derive(Debug, Copy, Clone, PartialEq, Eq)] pub enum RootType { - _RootTask, - _OnceTask, + RootTask, + OnceTask, _ReadingStronglyConsistent, } From cb792889f37f3d59c9806096ffc25dfc38dd80b7 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Mon, 12 Aug 2024 15:36:17 +0200 Subject: [PATCH 055/119] remove old edges when task recomputation completes --- .../turbo-tasks-backend/src/backend/mod.rs | 125 ++++++++++++++++-- .../backend/operation/cleanup_old_edges.rs | 96 ++++++++++++++ .../src/backend/operation/mod.rs | 8 ++ .../src/backend/storage.rs | 4 + .../crates/turbo-tasks-backend/src/data.rs | 9 +- 5 files changed, 233 insertions(+), 9 deletions(-) create mode 100644 turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index 66d27ac811345..745e27bf2559e 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -19,7 +19,7 @@ use anyhow::Result; use auto_hash_map::{AutoMap, AutoSet}; use dashmap::DashMap; pub use operation::AnyOperation; -use operation::ConnectChildOperation; +use operation::{CleanupOldEdgesOperation, ConnectChildOperation, OutdatedEdge}; use parking_lot::{Condvar, Mutex}; use rustc_hash::FxHasher; use smallvec::smallvec; @@ -275,13 +275,16 @@ impl TurboTasksBackend { }); drop(task); let mut reader_task = ctx.task(reader); - reader_task.add(CachedDataItem::CellDependency { - target: CellRef { - task: task_id, - cell, - }, - value: (), - }); + let target = CellRef { + task: task_id, + cell, + }; + if reader_task + .remove(&CachedDataItemKey::OutdatedCellDependency { target }) + .is_none() + { + reader_task.add(CachedDataItem::CellDependency { target, value: () }); + } } return Ok(Ok(CellContent(Some(content)).into_typed(cell.type_id))); } @@ -412,8 +415,95 @@ impl Backend for TurboTasksBackend { done_event, }, }); + + // Make all current children outdated (remove left-over outdated children) + enum Child { + Current(TaskId), + Outdated(TaskId), + } + let children = task + .iter() + .filter_map(|(key, _)| match *key { + CachedDataItemKey::Child { task } => Some(Child::Current(task)), + CachedDataItemKey::OutdatedChild { task } => Some(Child::Outdated(task)), + _ => None, + }) + .collect::>(); + for child in children { + match child { + Child::Current(child) => { + task.add(CachedDataItem::OutdatedChild { + task: child, + value: (), + }); + } + Child::Outdated(child) => { + if !task.has_key(&CachedDataItemKey::Child { task: child }) { + task.remove(&CachedDataItemKey::OutdatedChild { task: child }); + } + } + } + } + + // Make all dependencies outdated + enum Dep { + CurrentCell(CellRef), + CurrentOutput(TaskId), + OutdatedCell(CellRef), + OutdatedOutput(TaskId), + } + let dependencies = task + .iter() + .filter_map(|(key, _)| match *key { + CachedDataItemKey::CellDependency { target } => Some(Dep::CurrentCell(target)), + CachedDataItemKey::OutputDependency { target } => { + Some(Dep::CurrentOutput(target)) + } + CachedDataItemKey::OutdatedCellDependency { target } => { + Some(Dep::OutdatedCell(target)) + } + CachedDataItemKey::OutdatedOutputDependency { target } => { + Some(Dep::OutdatedOutput(target)) + } + _ => None, + }) + .collect::>(); + for dep in dependencies { + match dep { + Dep::CurrentCell(cell) => { + task.add(CachedDataItem::OutdatedCellDependency { + target: cell, + value: (), + }); + } + Dep::CurrentOutput(output) => { + task.add(CachedDataItem::OutdatedOutputDependency { + target: output, + value: (), + }); + } + Dep::OutdatedCell(cell) => { + if !task.has_key(&CachedDataItemKey::CellDependency { target: cell }) { + task.remove(&CachedDataItemKey::OutdatedCellDependency { + target: cell, + }); + } + } + Dep::OutdatedOutput(output) => { + if !task.has_key(&CachedDataItemKey::OutputDependency { target: output }) { + task.remove(&CachedDataItemKey::OutdatedOutputDependency { + target: output, + }); + } + } + } + } + + // TODO: Make all collectibles outdated + start_event.notify(usize::MAX); } + let (span, future) = if let Some(task_type) = self.task_cache.lookup_reverse(&task_id) { match &*task_type { CachedTaskType::Native { fn_type, this, arg } => ( @@ -542,8 +632,27 @@ impl Backend for TurboTasksBackend { done_event, }, }); + drop(task); + drop(ctx); } else { + let old_edges = task + .iter() + .filter_map(|(key, _)| match *key { + CachedDataItemKey::OutdatedChild { task } => Some(OutdatedEdge::Child(task)), + CachedDataItemKey::OutdatedCellDependency { target } => { + Some(OutdatedEdge::CellDependency(target)) + } + CachedDataItemKey::OutdatedOutputDependency { target } => { + Some(OutdatedEdge::OutputDependency(target)) + } + _ => None, + }) + .collect::>(); + done_event.notify(usize::MAX); + drop(task); + + CleanupOldEdgesOperation::run(task_id, old_edges, ctx); } stale diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs new file mode 100644 index 0000000000000..e9eb3738d84ee --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs @@ -0,0 +1,96 @@ +use serde::{Deserialize, Serialize}; +use turbo_tasks::TaskId; + +use super::{ExecuteContext, Operation}; +use crate::data::{CachedDataItemKey, CellRef}; + +#[derive(Serialize, Deserialize, Clone, Default)] +pub enum CleanupOldEdgesOperation { + RemoveEdges { + task_id: TaskId, + outdated: Vec, + }, + #[default] + Done, + // TODO Add aggregated edge +} + +#[derive(Serialize, Deserialize, Clone)] +pub enum OutdatedEdge { + Child(TaskId), + CellDependency(CellRef), + OutputDependency(TaskId), +} + +impl CleanupOldEdgesOperation { + pub fn run(task_id: TaskId, outdated: Vec, ctx: ExecuteContext<'_>) { + CleanupOldEdgesOperation::RemoveEdges { task_id, outdated }.execute(&ctx); + } +} + +impl Operation for CleanupOldEdgesOperation { + fn execute(mut self, ctx: &ExecuteContext<'_>) { + loop { + ctx.operation_suspend_point(&self); + match self { + CleanupOldEdgesOperation::RemoveEdges { + task_id, + ref mut outdated, + } => { + if let Some(edge) = outdated.pop() { + match edge { + OutdatedEdge::Child(child_id) => { + let mut task = ctx.task(task_id); + task.remove(&CachedDataItemKey::Child { task: child_id }); + // TODO remove aggregated edge + } + OutdatedEdge::CellDependency(CellRef { + task: cell_task_id, + cell, + }) => { + { + let mut task = ctx.task(cell_task_id); + task.remove(&CachedDataItemKey::CellDependent { + cell, + task: task_id, + }); + } + { + let mut task = ctx.task(task_id); + task.remove(&CachedDataItemKey::CellDependency { + target: CellRef { + task: cell_task_id, + cell, + }, + }); + } + } + OutdatedEdge::OutputDependency(output_task_id) => { + { + let mut task = ctx.task(output_task_id); + task.remove(&CachedDataItemKey::OutputDependent { + task: task_id, + }); + } + { + let mut task = ctx.task(task_id); + task.remove(&CachedDataItemKey::OutputDependency { + target: output_task_id, + }); + } + } + } + } + + if outdated.is_empty() { + self = CleanupOldEdgesOperation::Done; + } + continue; + } + CleanupOldEdgesOperation::Done => { + return; + } + } + } + } +} diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs index d112c41e3914a..39b47fbd6cc0e 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs @@ -1,3 +1,4 @@ +mod cleanup_old_edges; mod connect_child; mod invalidate; mod update_cell; @@ -202,6 +203,10 @@ impl<'a> TaskGuard<'a> { self.task.get(key) } + pub fn has_key(&self, key: &CachedDataItemKey) -> bool { + self.task.has_key(key) + } + pub fn iter(&self) -> impl Iterator { self.task.iter() } @@ -234,11 +239,14 @@ macro_rules! impl_operation { pub enum AnyOperation { ConnectChild(connect_child::ConnectChildOperation), Invalidate(invalidate::InvalidateOperation), + CleanupOldEdges(cleanup_old_edges::CleanupOldEdgesOperation), Nested(Vec), } impl_operation!(ConnectChild connect_child::ConnectChildOperation); impl_operation!(Invalidate invalidate::InvalidateOperation); +impl_operation!(CleanupOldEdges cleanup_old_edges::CleanupOldEdgesOperation); +pub use cleanup_old_edges::OutdatedEdge; pub use update_cell::UpdateCellOperation; pub use update_output::UpdateOutputOperation; diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs index 368be96745400..5549582696352 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs @@ -46,6 +46,10 @@ impl InnerStorage { self.map.get(key) } + pub fn has_key(&self, key: &T::Key) -> bool { + self.map.contains_key(key) + } + pub fn iter(&self) -> impl Iterator { self.map.iter() } diff --git a/turbopack/crates/turbo-tasks-backend/src/data.rs b/turbopack/crates/turbo-tasks-backend/src/data.rs index 05a10bc3981d5..3e1daf0272c2c 100644 --- a/turbopack/crates/turbo-tasks-backend/src/data.rs +++ b/turbopack/crates/turbo-tasks-backend/src/data.rs @@ -1,6 +1,7 @@ +use serde::{Deserialize, Serialize}; use turbo_tasks::{event::Event, util::SharedError, CellId, KeyValuePair, SharedReference, TaskId}; -#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Serialize, Deserialize)] pub struct CellRef { pub task: TaskId, pub cell: CellId, @@ -150,6 +151,10 @@ pub enum CachedDataItem { target: CellRef, value: (), }, + OutdatedChild { + task: TaskId, + value: (), + }, // Transient Error State Error { @@ -183,6 +188,7 @@ impl CachedDataItem { CachedDataItem::OutdatedCollectible { .. } => false, CachedDataItem::OutdatedOutputDependency { .. } => false, CachedDataItem::OutdatedCellDependency { .. } => false, + CachedDataItem::OutdatedChild { .. } => false, CachedDataItem::Error { .. } => false, } } @@ -224,6 +230,7 @@ impl CachedDataItemKey { CachedDataItemKey::OutdatedCollectible { .. } => false, CachedDataItemKey::OutdatedOutputDependency { .. } => false, CachedDataItemKey::OutdatedCellDependency { .. } => false, + CachedDataItemKey::OutdatedChild { .. } => false, CachedDataItemKey::Error { .. } => false, } } From 81e4464a8f968173c8f9a291e8b1c3974c7f0ce7 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 14 Aug 2024 18:29:15 +0200 Subject: [PATCH 056/119] add try_get_function_id --- .../turbo-tasks-backend/src/backend/mod.rs | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index 745e27bf2559e..7a3577fdaf6dd 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -291,6 +291,13 @@ impl TurboTasksBackend { todo!("Cell {cell:?} is not available, recompute task or error: {task:#?}"); } + + fn lookup_task_type(&self, task_id: TaskId) -> Option> { + if let Some(task_type) = self.task_cache.lookup_reverse(&task_id) { + return Some(task_type); + } + None + } } impl Backend for TurboTasksBackend { @@ -374,15 +381,16 @@ impl Backend for TurboTasksBackend { } fn get_task_description(&self, task: TaskId) -> std::string::String { - let task_type = self - .task_cache - .lookup_reverse(&task) - .expect("Task not found"); + let task_type = self.lookup_task_type(task).expect("Task not found"); task_type.to_string() } - fn try_get_function_id(&self, _: TaskId) -> Option { - todo!() + fn try_get_function_id(&self, task_id: TaskId) -> Option { + self.lookup_task_type(task_id) + .and_then(|task_type| match &*task_type { + CachedTaskType::Native { fn_type, .. } => Some(*fn_type), + _ => None, + }) } type TaskState = (); @@ -504,7 +512,7 @@ impl Backend for TurboTasksBackend { start_event.notify(usize::MAX); } - let (span, future) = if let Some(task_type) = self.task_cache.lookup_reverse(&task_id) { + let (span, future) = if let Some(task_type) = self.lookup_task_type(task_id) { match &*task_type { CachedTaskType::Native { fn_type, this, arg } => ( registry::get_function(*fn_type).span(), From 8906471ae630cc9eede770a6ba6f72720ab3faaa Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Mon, 12 Aug 2024 11:02:18 +0200 Subject: [PATCH 057/119] move backend impl into type alias --- crates/napi/src/app_structure.rs | 7 +++---- crates/napi/src/next_api/project.rs | 13 ++++++------- crates/napi/src/next_api/utils.rs | 12 +++++++----- crates/napi/src/turbotrace.rs | 9 +++++---- 4 files changed, 21 insertions(+), 20 deletions(-) diff --git a/crates/napi/src/app_structure.rs b/crates/napi/src/app_structure.rs index 26f77ec53a824..b1989bd4990b4 100644 --- a/crates/napi/src/app_structure.rs +++ b/crates/napi/src/app_structure.rs @@ -17,10 +17,9 @@ use turbo_tasks::{ ValueToString, Vc, }; use turbo_tasks_fs::{DiskFileSystem, FileSystem, FileSystemPath}; -use turbo_tasks_memory::MemoryBackend; use turbopack_core::PROJECT_FILESYSTEM_NAME; -use crate::register; +use crate::{next_api::utils::NextBackend, register}; #[turbo_tasks::function] async fn project_fs(project_dir: RcStr, watching: bool) -> Result>> { @@ -365,7 +364,7 @@ async fn get_value( #[napi] pub fn stream_entrypoints( - turbo_tasks: External>>, + turbo_tasks: External>>, root_dir: String, project_dir: String, page_extensions: Vec, @@ -411,7 +410,7 @@ pub fn stream_entrypoints( #[napi] pub async fn get_entrypoints( - turbo_tasks: External>>, + turbo_tasks: External>>, root_dir: String, project_dir: String, page_extensions: Vec, diff --git a/crates/napi/src/next_api/project.rs b/crates/napi/src/next_api/project.rs index 0fda401be0a40..bbc933be0434a 100644 --- a/crates/napi/src/next_api/project.rs +++ b/crates/napi/src/next_api/project.rs @@ -24,7 +24,6 @@ use tracing::Instrument; use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt, EnvFilter, Registry}; use turbo_tasks::{Completion, RcStr, ReadRef, TransientInstance, TurboTasks, UpdateInfo, Vc}; use turbo_tasks_fs::{DiskFileSystem, FileContent, FileSystem, FileSystemPath}; -use turbo_tasks_memory::MemoryBackend; use turbopack_core::{ diagnostics::PlainDiagnostic, error::PrettyPrintError, @@ -44,7 +43,7 @@ use url::Url; use super::{ endpoint::ExternalEndpoint, utils::{ - get_diagnostics, get_issues, subscribe, NapiDiagnostic, NapiIssue, RootTask, + get_diagnostics, get_issues, subscribe, NapiDiagnostic, NapiIssue, NextBackend, RootTask, TurbopackResult, VcArc, }, }; @@ -244,7 +243,7 @@ impl From for DefineEnv { } pub struct ProjectInstance { - turbo_tasks: Arc>, + turbo_tasks: Arc>, container: Vc, exit_receiver: tokio::sync::Mutex>, } @@ -309,7 +308,7 @@ pub async fn project_new( subscriber.init(); } - let turbo_tasks = TurboTasks::new(MemoryBackend::new( + let turbo_tasks = TurboTasks::new(NextBackend::new( turbo_engine_options .memory_limit .map(|m| m as usize) @@ -473,7 +472,7 @@ impl NapiRoute { fn from_route( pathname: String, value: Route, - turbo_tasks: &Arc>, + turbo_tasks: &Arc>, ) -> Self { let convert_endpoint = |endpoint: Vc>| { Some(External::new(ExternalEndpoint(VcArc::new( @@ -540,7 +539,7 @@ struct NapiMiddleware { impl NapiMiddleware { fn from_middleware( value: &Middleware, - turbo_tasks: &Arc>, + turbo_tasks: &Arc>, ) -> Result { Ok(NapiMiddleware { endpoint: External::new(ExternalEndpoint(VcArc::new( @@ -560,7 +559,7 @@ struct NapiInstrumentation { impl NapiInstrumentation { fn from_instrumentation( value: &Instrumentation, - turbo_tasks: &Arc>, + turbo_tasks: &Arc>, ) -> Result { Ok(NapiInstrumentation { node_js: External::new(ExternalEndpoint(VcArc::new( diff --git a/crates/napi/src/next_api/utils.rs b/crates/napi/src/next_api/utils.rs index 286a8acf01cf3..bd6bd97b0f2ed 100644 --- a/crates/napi/src/next_api/utils.rs +++ b/crates/napi/src/next_api/utils.rs @@ -17,22 +17,24 @@ use turbopack_core::{ source_pos::SourcePos, }; +pub type NextBackend = MemoryBackend; + /// A helper type to hold both a Vc operation and the TurboTasks root process. /// Without this, we'd need to pass both individually all over the place #[derive(Clone)] pub struct VcArc { - turbo_tasks: Arc>, + turbo_tasks: Arc>, /// The Vc. Must be resolved, otherwise you are referencing an inactive /// operation. vc: T, } impl VcArc { - pub fn new(turbo_tasks: Arc>, vc: T) -> Self { + pub fn new(turbo_tasks: Arc>, vc: T) -> Self { Self { turbo_tasks, vc } } - pub fn turbo_tasks(&self) -> &Arc> { + pub fn turbo_tasks(&self) -> &Arc> { &self.turbo_tasks } } @@ -55,7 +57,7 @@ pub fn serde_enum_to_string(value: &T) -> Result { /// The root of our turbopack computation. pub struct RootTask { #[allow(dead_code)] - turbo_tasks: Arc>, + turbo_tasks: Arc>, #[allow(dead_code)] task_id: Option, } @@ -299,7 +301,7 @@ impl ToNapiValue for TurbopackResult { } pub fn subscribe> + Send, V: ToNapiValue>( - turbo_tasks: Arc>, + turbo_tasks: Arc>, func: JsFunction, handler: impl 'static + Sync + Send + Clone + Fn() -> F, mapper: impl 'static + Sync + Send + FnMut(ThreadSafeCallContext) -> napi::Result>, diff --git a/crates/napi/src/turbotrace.rs b/crates/napi/src/turbotrace.rs index faf0c63db3764..f3281ad3030d4 100644 --- a/crates/napi/src/turbotrace.rs +++ b/crates/napi/src/turbotrace.rs @@ -3,15 +3,16 @@ use std::sync::Arc; use napi::bindgen_prelude::*; use node_file_trace::{start, Args}; use turbo_tasks::TurboTasks; -use turbo_tasks_memory::MemoryBackend; use turbopack::{ module_options::{EcmascriptOptionsContext, ModuleOptionsContext}, resolve_options_context::ResolveOptionsContext, }; +use crate::next_api::utils::NextBackend; + #[napi] -pub fn create_turbo_tasks(memory_limit: Option) -> External>> { - let turbo_tasks = TurboTasks::new(MemoryBackend::new( +pub fn create_turbo_tasks(memory_limit: Option) -> External>> { + let turbo_tasks = TurboTasks::new(NextBackend::new( memory_limit.map(|m| m as usize).unwrap_or(usize::MAX), )); External::new_with_size_hint( @@ -23,7 +24,7 @@ pub fn create_turbo_tasks(memory_limit: Option) -> External>>>, + turbo_tasks: Option>>>, ) -> napi::Result> { let args: Args = serde_json::from_slice(options.as_ref())?; let turbo_tasks = turbo_tasks.map(|t| t.clone()); From 50e93dc9923a45cffde543929da61e3bc89e733c Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 4 Sep 2024 09:23:43 +0200 Subject: [PATCH 058/119] add new backend feature --- Cargo.lock | 1 + Cargo.toml | 1 + crates/napi/Cargo.toml | 3 + crates/napi/src/next_api/project.rs | 58 +++++++------- crates/napi/src/next_api/utils.rs | 22 +++++- crates/napi/src/turbotrace.rs | 25 +++--- .../next/src/build/collect-build-traces.ts | 1 + packages/next/src/build/index.ts | 1 + packages/next/src/build/swc/index.ts | 14 +++- .../src/server/dev/hot-reloader-turbopack.ts | 1 + test/development/basic/next-rs-api.test.ts | 14 ++-- turbopack/crates/node-file-trace/src/lib.rs | 76 ++----------------- turbopack/crates/node-file-trace/src/main.rs | 7 +- 13 files changed, 99 insertions(+), 125 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0699d73081a04..49e664cc98828 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4247,6 +4247,7 @@ dependencies = [ "tracing-chrome", "tracing-subscriber", "turbo-tasks", + "turbo-tasks-backend", "turbo-tasks-build", "turbo-tasks-fs", "turbo-tasks-malloc", diff --git a/Cargo.toml b/Cargo.toml index 73a5e167d570f..89ea6ab5c7486 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -45,6 +45,7 @@ swc-ast-explorer = { path = "turbopack/crates/turbopack-swc-ast-explorer" } turbo-prehash = { path = "turbopack/crates/turbo-prehash" } turbo-tasks-malloc = { path = "turbopack/crates/turbo-tasks-malloc", default-features = false } turbo-tasks = { path = "turbopack/crates/turbo-tasks" } +turbo-tasks-backend = { path = "turbopack/crates/turbo-tasks-backend" } turbo-tasks-build = { path = "turbopack/crates/turbo-tasks-build" } turbo-tasks-bytes = { path = "turbopack/crates/turbo-tasks-bytes" } turbo-tasks-env = { path = "turbopack/crates/turbo-tasks-env" } diff --git a/crates/napi/Cargo.toml b/crates/napi/Cargo.toml index e7d428bbeb4fb..604dd24188771 100644 --- a/crates/napi/Cargo.toml +++ b/crates/napi/Cargo.toml @@ -37,6 +37,8 @@ __internal_dhat-heap = ["dhat"] # effectively does nothing. __internal_dhat-ad-hoc = ["dhat"] +new-backend = ["dep:turbo-tasks-backend"] + # Enable specific tls features per-target. [target.'cfg(all(target_os = "windows", target_arch = "aarch64"))'.dependencies] next-core = { workspace = true, features = ["native-tls"] } @@ -105,6 +107,7 @@ lightningcss-napi = { workspace = true } tokio = { workspace = true, features = ["full"] } turbo-tasks = { workspace = true } turbo-tasks-memory = { workspace = true } +turbo-tasks-backend = { workspace = true, optional = true } turbo-tasks-fs = { workspace = true } next-api = { workspace = true } next-build = { workspace = true } diff --git a/crates/napi/src/next_api/project.rs b/crates/napi/src/next_api/project.rs index bbc933be0434a..ffa4dcdbbd4b9 100644 --- a/crates/napi/src/next_api/project.rs +++ b/crates/napi/src/next_api/project.rs @@ -1,4 +1,4 @@ -use std::{io::Write, path::PathBuf, sync::Arc, thread, time::Duration}; +use std::{path::PathBuf, sync::Arc, thread, time::Duration}; use anyhow::{anyhow, bail, Context, Result}; use napi::{ @@ -43,8 +43,8 @@ use url::Url; use super::{ endpoint::ExternalEndpoint, utils::{ - get_diagnostics, get_issues, subscribe, NapiDiagnostic, NapiIssue, NextBackend, RootTask, - TurbopackResult, VcArc, + create_turbo_tasks, get_diagnostics, get_issues, subscribe, NapiDiagnostic, NapiIssue, + NextBackend, RootTask, TurbopackResult, VcArc, }, }; use crate::register; @@ -88,7 +88,7 @@ pub struct NapiProjectOptions { /// next.config's distDir. Project initialization occurs eariler than /// deserializing next.config, so passing it as separate option. - pub dist_dir: Option, + pub dist_dir: String, /// Whether to watch he filesystem for file changes. pub watch: bool, @@ -279,10 +279,7 @@ pub async fn project_new( let subscriber = Registry::default(); let subscriber = subscriber.with(EnvFilter::builder().parse(trace).unwrap()); - let dist_dir = options - .dist_dir - .as_ref() - .map_or_else(|| ".next".to_string(), |d| d.to_string()); + let dist_dir = options.dist_dir.clone(); let internal_dir = PathBuf::from(&options.project_path).join(dist_dir); std::fs::create_dir_all(&internal_dir) @@ -308,27 +305,30 @@ pub async fn project_new( subscriber.init(); } - let turbo_tasks = TurboTasks::new(NextBackend::new( - turbo_engine_options - .memory_limit - .map(|m| m as usize) - .unwrap_or(usize::MAX), - )); - let stats_path = std::env::var_os("NEXT_TURBOPACK_TASK_STATISTICS"); - if let Some(stats_path) = stats_path { - let task_stats = turbo_tasks.backend().task_statistics().enable().clone(); - exit.on_exit(async move { - tokio::task::spawn_blocking(move || { - let mut file = std::fs::File::create(&stats_path) - .with_context(|| format!("failed to create or open {stats_path:?}"))?; - serde_json::to_writer(&file, &task_stats) - .context("failed to serialize or write task statistics")?; - file.flush().context("failed to flush file") - }) - .await - .unwrap() - .unwrap(); - }); + let memory_limit = turbo_engine_options + .memory_limit + .map(|m| m as usize) + .unwrap_or(usize::MAX); + let turbo_tasks = create_turbo_tasks(PathBuf::from(&options.dist_dir), memory_limit)?; + #[cfg(not(feature = "new-backend"))] + { + use std::io::Write; + let stats_path = std::env::var_os("NEXT_TURBOPACK_TASK_STATISTICS"); + if let Some(stats_path) = stats_path { + let task_stats = turbo_tasks.backend().task_statistics().enable().clone(); + exit.on_exit(async move { + tokio::task::spawn_blocking(move || { + let mut file = std::fs::File::create(&stats_path) + .with_context(|| format!("failed to create or open {stats_path:?}"))?; + serde_json::to_writer(&file, &task_stats) + .context("failed to serialize or write task statistics")?; + file.flush().context("failed to flush file") + }) + .await + .unwrap() + .unwrap(); + }); + } } let options: ProjectOptions = options.into(); let container = turbo_tasks diff --git a/crates/napi/src/next_api/utils.rs b/crates/napi/src/next_api/utils.rs index bd6bd97b0f2ed..5a7f921ce3742 100644 --- a/crates/napi/src/next_api/utils.rs +++ b/crates/napi/src/next_api/utils.rs @@ -1,4 +1,4 @@ -use std::{collections::HashMap, future::Future, ops::Deref, sync::Arc}; +use std::{collections::HashMap, future::Future, ops::Deref, path::PathBuf, sync::Arc}; use anyhow::{anyhow, Context, Result}; use napi::{ @@ -9,7 +9,6 @@ use napi::{ use serde::Serialize; use turbo_tasks::{ReadRef, TaskId, TryJoinIterExt, TurboTasks, Vc}; use turbo_tasks_fs::FileContent; -use turbo_tasks_memory::MemoryBackend; use turbopack_core::{ diagnostics::{Diagnostic, DiagnosticContextExt, PlainDiagnostic}, error::PrettyPrintError, @@ -17,7 +16,24 @@ use turbopack_core::{ source_pos::SourcePos, }; -pub type NextBackend = MemoryBackend; +#[cfg(not(feature = "new-backend"))] +pub type NextBackend = turbo_tasks_memory::MemoryBackend; +#[cfg(feature = "new-backend")] +pub type NextBackend = turbo_tasks_backend::TurboTasksBackend; + +#[allow(unused_variables, reason = "feature-gated")] +pub fn create_turbo_tasks( + output_path: PathBuf, + memory_limit: usize, +) -> Result>> { + #[cfg(not(feature = "new-backend"))] + let backend = TurboTasks::new(turbo_tasks_memory::MemoryBackend::new(memory_limit)); + #[cfg(feature = "new-backend")] + let backend = TurboTasks::new(turbo_tasks_backend::TurboTasksBackend::new(Arc::new( + turbo_tasks_backend::LmdbBackingStorage::new(&output_path.join("cache/turbopack"))?, + ))); + Ok(backend) +} /// A helper type to hold both a Vc operation and the TurboTasks root process. /// Without this, we'd need to pass both individually all over the place diff --git a/crates/napi/src/turbotrace.rs b/crates/napi/src/turbotrace.rs index f3281ad3030d4..fef534c04b550 100644 --- a/crates/napi/src/turbotrace.rs +++ b/crates/napi/src/turbotrace.rs @@ -1,4 +1,4 @@ -use std::sync::Arc; +use std::{path::PathBuf, sync::Arc}; use napi::bindgen_prelude::*; use node_file_trace::{start, Args}; @@ -8,29 +8,28 @@ use turbopack::{ resolve_options_context::ResolveOptionsContext, }; -use crate::next_api::utils::NextBackend; +use crate::next_api::utils::{self, NextBackend}; #[napi] -pub fn create_turbo_tasks(memory_limit: Option) -> External>> { - let turbo_tasks = TurboTasks::new(NextBackend::new( - memory_limit.map(|m| m as usize).unwrap_or(usize::MAX), - )); - External::new_with_size_hint( - turbo_tasks, - memory_limit.map(|u| u as usize).unwrap_or(usize::MAX), - ) +pub fn create_turbo_tasks( + output_path: String, + memory_limit: Option, +) -> External>> { + let limit = memory_limit.map(|u| u as usize).unwrap_or(usize::MAX); + let turbo_tasks = utils::create_turbo_tasks(PathBuf::from(&output_path), limit) + .expect("Failed to create TurboTasks"); + External::new_with_size_hint(turbo_tasks, limit) } #[napi] pub async fn run_turbo_tracing( options: Buffer, - turbo_tasks: Option>>>, + turbo_tasks: External>>, ) -> napi::Result> { let args: Args = serde_json::from_slice(options.as_ref())?; - let turbo_tasks = turbo_tasks.map(|t| t.clone()); let files = start( Arc::new(args), - turbo_tasks.as_ref(), + turbo_tasks.clone(), Some(ModuleOptionsContext { ecmascript: EcmascriptOptionsContext { enable_types: true, diff --git a/packages/next/src/build/collect-build-traces.ts b/packages/next/src/build/collect-build-traces.ts index 7c926ff1f5613..c89e82fae93d6 100644 --- a/packages/next/src/build/collect-build-traces.ts +++ b/packages/next/src/build/collect-build-traces.ts @@ -118,6 +118,7 @@ export async function collectBuildTraces({ let turbotraceOutputPath: string | undefined let turbotraceFiles: string[] | undefined turboTasksForTrace = bindings.turbo.createTurboTasks( + distDir, (config.experimental.turbotrace?.memoryLimit ?? TURBO_TRACE_DEFAULT_MEMORY_LIMIT) * 1024 * diff --git a/packages/next/src/build/index.ts b/packages/next/src/build/index.ts index 0d7923f8fd81d..bf5118a4aaf46 100644 --- a/packages/next/src/build/index.ts +++ b/packages/next/src/build/index.ts @@ -1267,6 +1267,7 @@ export default async function build( { projectPath: dir, rootPath: config.outputFileTracingRoot || dir, + distDir, nextConfig: config, jsConfig: await getTurbopackJsConfig(dir, config), watch: false, diff --git a/packages/next/src/build/swc/index.ts b/packages/next/src/build/swc/index.ts index 69ab052e95b8b..bb1658b5aa827 100644 --- a/packages/next/src/build/swc/index.ts +++ b/packages/next/src/build/swc/index.ts @@ -412,6 +412,11 @@ export interface ProjectOptions { */ projectPath: string + /** + * The path to the .next directory. + */ + distDir: string + /** * The next.config.js contents. */ @@ -1553,15 +1558,18 @@ function loadNative(importPath?: string) { initHeapProfiler: bindings.initHeapProfiler, teardownHeapProfiler: bindings.teardownHeapProfiler, turbo: { - startTrace: (options = {}, turboTasks: unknown) => { + startTrace: (options = {}, turboTasks: { __napi: 'TurboTasks' }) => { initHeapProfiler() return (customBindings ?? bindings).runTurboTracing( toBuffer({ exact: true, ...options }), turboTasks ) }, - createTurboTasks: (memoryLimit?: number): unknown => - bindings.createTurboTasks(memoryLimit), + createTurboTasks: ( + outputPath: string, + memoryLimit?: number + ): { __napi: 'TurboTasks' } => + bindings.createTurboTasks(outputPath, memoryLimit), entrypoints: { stream: ( turboTasks: any, diff --git a/packages/next/src/server/dev/hot-reloader-turbopack.ts b/packages/next/src/server/dev/hot-reloader-turbopack.ts index c2747408d47ae..2e80efe161490 100644 --- a/packages/next/src/server/dev/hot-reloader-turbopack.ts +++ b/packages/next/src/server/dev/hot-reloader-turbopack.ts @@ -137,6 +137,7 @@ export async function createHotReloaderTurbopack( { projectPath: dir, rootPath: opts.nextConfig.outputFileTracingRoot || dir, + distDir, nextConfig: opts.nextConfig, jsConfig: await getTurbopackJsConfig(dir, nextConfig), watch: true, diff --git a/test/development/basic/next-rs-api.test.ts b/test/development/basic/next-rs-api.test.ts index ea03557c3ad8d..e7ee5ec8d7ac6 100644 --- a/test/development/basic/next-rs-api.test.ts +++ b/test/development/basic/next-rs-api.test.ts @@ -191,6 +191,12 @@ describe('next.rs api', () => { console.log(next.testDir) const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir) const bindings = await loadBindings() + const distDir = path.join( + process.env.NEXT_SKIP_ISOLATE + ? path.resolve(__dirname, '../../..') + : next.testDir, + '.next' + ) project = await bindings.turbo.createProject({ env: {}, jsConfig: { @@ -198,6 +204,7 @@ describe('next.rs api', () => { }, nextConfig: nextConfig, projectPath: next.testDir, + distDir, rootPath: process.env.NEXT_SKIP_ISOLATE ? path.resolve(__dirname, '../../..') : next.testDir, @@ -208,12 +215,7 @@ describe('next.rs api', () => { clientRouterFilters: undefined, config: nextConfig, dev: true, - distDir: path.join( - process.env.NEXT_SKIP_ISOLATE - ? path.resolve(__dirname, '../../..') - : next.testDir, - '.next' - ), + distDir: distDir, fetchCacheKeyPrefix: undefined, hasRewrites: false, middlewareMatchers: undefined, diff --git a/turbopack/crates/node-file-trace/src/lib.rs b/turbopack/crates/node-file-trace/src/lib.rs index 7d9feeeaa23cb..75227a0d8efc6 100644 --- a/turbopack/crates/node-file-trace/src/lib.rs +++ b/turbopack/crates/node-file-trace/src/lib.rs @@ -28,7 +28,6 @@ use turbo_tasks::{ use turbo_tasks_fs::{ glob::Glob, DirectoryEntry, DiskFileSystem, FileSystem, FileSystemPath, ReadGlobResult, }; -use turbo_tasks_memory::MemoryBackend; use turbopack::{ emit_asset, emit_with_completion, module_options::ModuleOptionsContext, rebase::RebasedAsset, ModuleAssetContext, @@ -177,7 +176,7 @@ fn default_output_directory() -> String { } impl Args { - fn common(&self) -> &CommonArgs { + pub fn common(&self) -> &CommonArgs { match self { Args::Print { common, .. } | Args::Annotate { common, .. } @@ -310,78 +309,16 @@ fn process_input(dir: &Path, context_directory: &str, input: &[String]) -> Resul .collect() } -pub async fn start( +pub async fn start( args: Arc, - turbo_tasks: Option<&Arc>>, + turbo_tasks: Arc>, module_options: Option, resolve_options: Option, ) -> Result> { register(); - let &CommonArgs { - memory_limit, - #[cfg(feature = "persistent_cache")] - cache: CacheArgs { - ref cache, - ref cache_fully, - }, - .. - } = args.common(); - #[cfg(feature = "persistent_cache")] - if let Some(cache) = cache { - use tokio::time::timeout; - use turbo_tasks_memory::MemoryBackendWithPersistedGraph; - use turbo_tasks_rocksdb::RocksDbPersistedGraph; - - run( - &args, - || { - let start = Instant::now(); - let backend = MemoryBackendWithPersistedGraph::new( - RocksDbPersistedGraph::new(cache).unwrap(), - ); - let tt = TurboTasks::new(backend); - let elapsed = start.elapsed(); - println!("restored cache {}", FormatDuration(elapsed)); - tt - }, - |tt, _, duration| async move { - let mut start = Instant::now(); - if *cache_fully { - tt.wait_background_done().await; - tt.stop_and_wait().await; - let elapsed = start.elapsed(); - println!("flushed cache {}", FormatDuration(elapsed)); - } else { - let background_timeout = - std::cmp::max(duration / 5, Duration::from_millis(100)); - let timed_out = timeout(background_timeout, tt.wait_background_done()) - .await - .is_err(); - tt.stop_and_wait().await; - let elapsed = start.elapsed(); - if timed_out { - println!("flushed cache partially {}", FormatDuration(elapsed)); - } else { - println!("flushed cache completely {}", FormatDuration(elapsed)); - } - } - start = Instant::now(); - drop(tt); - let elapsed = start.elapsed(); - println!("writing cache {}", FormatDuration(elapsed)); - }, - ) - .await; - return; - } - run( - args.clone(), - || { - turbo_tasks.cloned().unwrap_or_else(|| { - TurboTasks::new(MemoryBackend::new(memory_limit.unwrap_or(usize::MAX))) - }) - }, + args, + turbo_tasks, |_, _, _| async move {}, module_options, resolve_options, @@ -391,7 +328,7 @@ pub async fn start( async fn run>( args: Arc, - create_tt: impl Fn() -> Arc>, + tt: Arc>, final_finish: impl FnOnce(Arc>, TaskId, Duration) -> F, module_options: Option, resolve_options: Option, @@ -459,7 +396,6 @@ async fn run>( matches!(&*args, Args::Annotate { .. }) || matches!(&*args, Args::Print { .. }); let (sender, mut receiver) = channel(1); let dir = current_dir().unwrap(); - let tt = create_tt(); let module_options = TransientInstance::new(module_options.unwrap_or_default()); let resolve_options = TransientInstance::new(resolve_options.unwrap_or_default()); let log_options = TransientInstance::new(LogOptions { diff --git a/turbopack/crates/node-file-trace/src/main.rs b/turbopack/crates/node-file-trace/src/main.rs index 2e435166363da..77767706c2df9 100644 --- a/turbopack/crates/node-file-trace/src/main.rs +++ b/turbopack/crates/node-file-trace/src/main.rs @@ -5,6 +5,8 @@ use std::sync::Arc; use anyhow::Result; use clap::Parser; use node_file_trace::{start, Args}; +use turbo_tasks::TurboTasks; +use turbo_tasks_memory::MemoryBackend; #[global_allocator] static ALLOC: turbo_tasks_malloc::TurboMalloc = turbo_tasks_malloc::TurboMalloc; @@ -15,7 +17,10 @@ async fn main() -> Result<()> { console_subscriber::init(); let args = Arc::new(Args::parse()); let should_print = matches!(&*args, Args::Print { .. }); - let result = start(args, None, None, None).await?; + let turbo_tasks = TurboTasks::new(MemoryBackend::new( + args.common().memory_limit.unwrap_or(usize::MAX), + )); + let result = start(args, turbo_tasks, None, None).await?; if should_print { for file in result.iter() { println!("{}", file); From 34e33a6dca62c874470218379aaeb5007204fd70 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Tue, 13 Aug 2024 07:18:26 +0200 Subject: [PATCH 059/119] initial aggregation update --- .../backend/operation/aggregation_update.rs | 98 +++++++++++++++++++ .../src/backend/operation/connect_child.rs | 41 ++++++-- .../src/backend/operation/mod.rs | 1 + 3 files changed, 134 insertions(+), 6 deletions(-) create mode 100644 turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs new file mode 100644 index 0000000000000..9b01fc286cac8 --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs @@ -0,0 +1,98 @@ +use serde::{Deserialize, Serialize}; +use turbo_tasks::TaskId; + +use super::ExecuteContext; +use crate::data::{CachedDataItem, CachedDataItemKey}; + +#[derive(Serialize, Deserialize, Clone)] +pub enum AggregationUpdateJob { + InnerHasNewFollower { + upper_ids: Vec, + new_follower_id: TaskId, + new_follower_data: (), + }, +} + +#[derive(Default, Serialize, Deserialize, Clone)] +pub struct AggregationUpdateQueue { + jobs: Vec, +} + +impl AggregationUpdateQueue { + pub fn new() -> Self { + Self { jobs: Vec::new() } + } + + pub fn push(&mut self, job: AggregationUpdateJob) { + self.jobs.push(job); + } + + pub fn process(&mut self, ctx: &ExecuteContext<'_>) -> bool { + if let Some(job) = self.jobs.pop() { + match job { + AggregationUpdateJob::InnerHasNewFollower { + mut upper_ids, + new_follower_id, + new_follower_data, + } => { + upper_ids.retain(|&upper_id| { + // let mut upper = ctx.task(upper_id); + // TODO decide if it should be an inner or follower + // TODO for now: always inner + + // TODO add new_follower_data + // TODO propagate change to all uppers + + // TODO return true for inner, false for follower + true + }); + let children; + let data; + { + let mut follower = ctx.task(new_follower_id); + upper_ids.retain(|&upper_id| { + if follower.add(CachedDataItem::Upper { + task: upper_id, + value: (), + }) { + // It's a new upper + true + } else { + // It's already an upper + false + } + }); + if !upper_ids.is_empty() { + // TODO get data + data = (); + children = follower + .iter() + .filter_map(|(key, _)| match *key { + CachedDataItemKey::Child { task } => Some(task), + _ => None, + }) + .collect::>(); + } else { + data = Default::default(); + children = Default::default(); + } + } + for upper_id in upper_ids.iter() { + // TODO add data to upper + } + for child_id in children { + let child = ctx.task(child_id); + // TODO get child data + self.jobs.push(AggregationUpdateJob::InnerHasNewFollower { + upper_ids: upper_ids.clone(), + new_follower_id: child_id, + new_follower_data: (), + }) + } + } + } + } + + self.jobs.is_empty() + } +} diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs index 8bd3e39b7ce59..d08eee204de11 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs @@ -1,11 +1,18 @@ use serde::{Deserialize, Serialize}; use turbo_tasks::TaskId; -use super::{ExecuteContext, Operation}; -use crate::data::CachedDataItem; +use super::{ + aggregation_update::{AggregationUpdateJob, AggregationUpdateQueue}, + ExecuteContext, Operation, +}; +use crate::data::{CachedDataItem, CachedDataItemKey}; #[derive(Serialize, Deserialize, Clone, Default)] pub enum ConnectChildOperation { + UpdateAggregation { + task_id: TaskId, + aggregation_update: AggregationUpdateQueue, + }, ScheduleTask { task_id: TaskId, }, @@ -21,10 +28,23 @@ impl ConnectChildOperation { task: child_task, value: (), }) { - // TODO add aggregated edge - // TODO check for active - ConnectChildOperation::ScheduleTask { + // Update the task aggregation + let upper_ids = parent_task + .iter() + .filter_map(|(key, _)| match *key { + CachedDataItemKey::Upper { task } => Some(task), + _ => None, + }) + .collect::>(); + let mut queue = AggregationUpdateQueue::new(); + queue.push(AggregationUpdateJob::InnerHasNewFollower { + upper_ids, + new_follower_id: child_task, + new_follower_data: (), + }); + ConnectChildOperation::UpdateAggregation { task_id: child_task, + aggregation_update: queue, } .execute(&ctx); } @@ -36,6 +56,15 @@ impl Operation for ConnectChildOperation { loop { ctx.operation_suspend_point(&self); match self { + ConnectChildOperation::UpdateAggregation { + task_id, + ref mut aggregation_update, + } => { + if aggregation_update.process(ctx) { + // TODO check for active + self = ConnectChildOperation::ScheduleTask { task_id } + } + } ConnectChildOperation::ScheduleTask { task_id } => { { let mut task = ctx.task(task_id); @@ -44,8 +73,8 @@ impl Operation for ConnectChildOperation { ctx.schedule(task_id); self = ConnectChildOperation::Done; - continue; } + ConnectChildOperation::Done => { return; } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs index 39b47fbd6cc0e..71230eaab83b0 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs @@ -1,3 +1,4 @@ +mod aggregation_update; mod cleanup_old_edges; mod connect_child; mod invalidate; From 5d04d3ead4cccba26b42f968fccdadb9c24ac70b Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Tue, 13 Aug 2024 13:29:50 +0200 Subject: [PATCH 060/119] more aggregation operations --- .../turbo-tasks-backend/src/backend/mod.rs | 3 + .../backend/operation/aggregation_update.rs | 272 ++++++++++++++++-- .../backend/operation/cleanup_old_edges.rs | 36 ++- .../src/backend/operation/connect_child.rs | 38 +-- .../src/backend/operation/invalidate.rs | 116 ++++---- .../src/backend/operation/mod.rs | 51 ++++ .../src/backend/storage.rs | 110 +++++++ .../crates/turbo-tasks-backend/src/data.rs | 33 ++- .../src/derive/key_value_pair_macro.rs | 4 +- 9 files changed, 559 insertions(+), 104 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index 7a3577fdaf6dd..f818544c26823 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -657,6 +657,8 @@ impl Backend for TurboTasksBackend { }) .collect::>(); + task.remove(&CachedDataItemKey::Dirty {}); + done_event.notify(usize::MAX); drop(task); @@ -798,6 +800,7 @@ impl Backend for TurboTasksBackend { let mut task = self.storage.access_mut(task_id); task.add(CachedDataItem::new_scheduled(task_id)); task.add(CachedDataItem::AggregateRootType { value: root_type }); + task.add(CachedDataItem::AggregationNumber { value: u32::MAX }); } turbo_tasks.schedule(task_id); task_id diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs index 9b01fc286cac8..72fa2a37705fb 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs @@ -1,18 +1,166 @@ +use std::{collections::HashMap, ops::Add}; + use serde::{Deserialize, Serialize}; use turbo_tasks::TaskId; -use super::ExecuteContext; -use crate::data::{CachedDataItem, CachedDataItemKey}; +use super::{ExecuteContext, TaskGuard}; +use crate::{ + data::{CachedDataItem, CachedDataItemKey}, + get, get_many, update, update_count, +}; #[derive(Serialize, Deserialize, Clone)] pub enum AggregationUpdateJob { InnerHasNewFollower { upper_ids: Vec, new_follower_id: TaskId, - new_follower_data: (), + }, + InnerHasNewFollowers { + upper_ids: Vec, + new_follower_ids: Vec, + }, + InnerLostFollower { + upper_ids: Vec, + lost_follower_id: TaskId, + }, + AggregatedDataUpdate { + upper_ids: Vec, + update: AggregatedDataUpdate, + }, + DataUpdate { + task_id: TaskId, + update: AggregatedDataUpdate, + }, + ScheduleWhenDirty { + task_ids: Vec, }, } +#[derive(Default, Serialize, Deserialize, Clone)] +pub struct AggregatedDataUpdate { + unfinished: i32, + dirty_tasks_update: HashMap, + // TODO collectibles +} + +impl AggregatedDataUpdate { + fn from_task(task: &mut TaskGuard<'_>) -> Self { + let aggregation = get!(task, AggregationNumber); + if aggregation.is_some() { + let unfinished = get!(task, AggregatedUnfinishedTasks); + let dirty_tasks_update = task + .iter() + .filter_map(|(key, _)| match *key { + CachedDataItemKey::AggregatedDirtyTask { task } => Some((task, 1)), + _ => None, + }) + .collect(); + Self { + unfinished: unfinished.copied().unwrap_or(0) as i32, + dirty_tasks_update, + } + } else { + let dirty = get!(task, Dirty); + if dirty.is_some() { + Self::dirty_task(task.id()) + } else { + Self::default() + } + } + } + + fn apply( + &self, + task: &mut TaskGuard<'_>, + queue: &mut AggregationUpdateQueue, + ) -> AggregatedDataUpdate { + let Self { + unfinished, + dirty_tasks_update, + } = self; + let mut result = Self::default(); + if *unfinished != 0 { + update!(task, AggregatedUnfinishedTasks, |old: Option| { + let old = old.unwrap_or(0); + let new = (old as i32 + *unfinished) as u32; + if new == 0 { + result.unfinished = -1; + None + } else { + if old > 0 { + result.unfinished = 1; + } + Some(new) + } + }); + } + if !dirty_tasks_update.is_empty() { + let mut task_to_schedule = Vec::new(); + let root_type = get!(task, AggregateRootType).copied(); + for (task_id, count) in dirty_tasks_update { + update!( + task, + AggregatedDirtyTask { task: *task_id }, + |old: Option| { + let old = old.unwrap_or(0); + if old == 0 { + if root_type.is_some() { + task_to_schedule.push(*task_id); + } + } + let new = (old as i32 + *count) as u32; + if new == 0 { + result.dirty_tasks_update.insert(*task_id, -1); + None + } else { + if old > 0 { + result.dirty_tasks_update.insert(*task_id, 1); + } + Some(new) + } + } + ); + } + if !task_to_schedule.is_empty() { + queue.push(AggregationUpdateJob::ScheduleWhenDirty { + task_ids: task_to_schedule, + }) + } + } + result + } + + fn is_empty(&self) -> bool { + let Self { + unfinished, + dirty_tasks_update, + } = self; + *unfinished == 0 && dirty_tasks_update.is_empty() + } + + pub fn dirty_task(task_id: TaskId) -> Self { + Self { + unfinished: 1, + dirty_tasks_update: HashMap::from([(task_id, 1)]), + } + } +} + +impl Add for AggregatedDataUpdate { + type Output = Self; + + fn add(self, rhs: Self) -> Self::Output { + let mut dirty_tasks_update = self.dirty_tasks_update; + for (task, count) in rhs.dirty_tasks_update { + *dirty_tasks_update.entry(task).or_default() += count; + } + Self { + unfinished: self.unfinished + rhs.unfinished, + dirty_tasks_update, + } + } +} + #[derive(Default, Serialize, Deserialize, Clone)] pub struct AggregationUpdateQueue { jobs: Vec, @@ -23,6 +171,10 @@ impl AggregationUpdateQueue { Self { jobs: Vec::new() } } + pub fn is_empty(&self) -> bool { + self.jobs.is_empty() + } + pub fn push(&mut self, job: AggregationUpdateJob) { self.jobs.push(job); } @@ -30,12 +182,33 @@ impl AggregationUpdateQueue { pub fn process(&mut self, ctx: &ExecuteContext<'_>) -> bool { if let Some(job) = self.jobs.pop() { match job { + AggregationUpdateJob::InnerHasNewFollowers { + upper_ids, + mut new_follower_ids, + } => { + if let Some(new_follower_id) = new_follower_ids.pop() { + if new_follower_ids.is_empty() { + self.jobs.push(AggregationUpdateJob::InnerHasNewFollower { + upper_ids, + new_follower_id, + }); + } else { + self.jobs.push(AggregationUpdateJob::InnerHasNewFollowers { + upper_ids: upper_ids.clone(), + new_follower_ids, + }); + self.jobs.push(AggregationUpdateJob::InnerHasNewFollower { + upper_ids, + new_follower_id, + }); + } + } + } AggregationUpdateJob::InnerHasNewFollower { mut upper_ids, new_follower_id, - new_follower_data, } => { - upper_ids.retain(|&upper_id| { + upper_ids.retain(|&_upper_id| { // let mut upper = ctx.task(upper_id); // TODO decide if it should be an inner or follower // TODO for now: always inner @@ -46,15 +219,12 @@ impl AggregationUpdateQueue { // TODO return true for inner, false for follower true }); - let children; + let children: Vec; let data; { let mut follower = ctx.task(new_follower_id); upper_ids.retain(|&upper_id| { - if follower.add(CachedDataItem::Upper { - task: upper_id, - value: (), - }) { + if update_count!(follower, Upper { task: upper_id }, 1) { // It's a new upper true } else { @@ -63,31 +233,79 @@ impl AggregationUpdateQueue { } }); if !upper_ids.is_empty() { - // TODO get data - data = (); - children = follower - .iter() - .filter_map(|(key, _)| match *key { - CachedDataItemKey::Child { task } => Some(task), - _ => None, - }) - .collect::>(); + data = AggregatedDataUpdate::from_task(&mut follower); + children = get_many!(follower, Child { task } => task); } else { data = Default::default(); children = Default::default(); } } for upper_id in upper_ids.iter() { - // TODO add data to upper + // add data to upper + let mut upper = ctx.task(*upper_id); + let diff = data.apply(&mut upper, self); + if !diff.is_empty() { + let upper_ids = get_many!(upper, Upper { task } => task); + self.jobs.push(AggregationUpdateJob::AggregatedDataUpdate { + upper_ids, + update: diff, + }) + } } - for child_id in children { - let child = ctx.task(child_id); - // TODO get child data - self.jobs.push(AggregationUpdateJob::InnerHasNewFollower { + if !children.is_empty() { + self.jobs.push(AggregationUpdateJob::InnerHasNewFollowers { upper_ids: upper_ids.clone(), - new_follower_id: child_id, - new_follower_data: (), - }) + new_follower_ids: children, + }); + } + } + AggregationUpdateJob::InnerLostFollower { + upper_ids, + lost_follower_id, + } => { + for upper_id in upper_ids { + let mut upper = ctx.task(upper_id); + upper.remove(&CachedDataItemKey::Upper { + task: lost_follower_id, + }); + let diff = AggregatedDataUpdate::dirty_task(lost_follower_id); + let upper_ids = get_many!(upper, Upper { task } => task); + self.jobs.push(AggregationUpdateJob::AggregatedDataUpdate { + upper_ids, + update: diff, + }); + } + } + AggregationUpdateJob::AggregatedDataUpdate { upper_ids, update } => { + for upper_id in upper_ids { + let mut upper = ctx.task(upper_id); + let diff = update.apply(&mut upper, self); + if !diff.is_empty() { + let upper_ids = get_many!(upper, Upper { task } => task); + self.jobs.push(AggregationUpdateJob::AggregatedDataUpdate { + upper_ids, + update: diff, + }); + } + } + } + AggregationUpdateJob::DataUpdate { task_id, update } => { + let mut task = ctx.task(task_id); + let diff = update.apply(&mut task, self); + if !diff.is_empty() { + let upper_ids = get_many!(task, Upper { task } => task); + self.jobs.push(AggregationUpdateJob::AggregatedDataUpdate { + upper_ids, + update: diff, + }); + } + } + AggregationUpdateJob::ScheduleWhenDirty { task_ids } => { + for task_id in task_ids { + let mut task = ctx.task(task_id); + if task.add(CachedDataItem::new_scheduled(task_id)) { + ctx.turbo_tasks.schedule(task_id); + } } } } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs index e9eb3738d84ee..e4dc93f6a6c2c 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs @@ -1,14 +1,26 @@ +use std::mem::take; + use serde::{Deserialize, Serialize}; use turbo_tasks::TaskId; -use super::{ExecuteContext, Operation}; -use crate::data::{CachedDataItemKey, CellRef}; +use super::{ + aggregation_update::{AggregationUpdateJob, AggregationUpdateQueue}, + ExecuteContext, Operation, +}; +use crate::{ + data::{CachedDataItemKey, CellRef}, + get_many, +}; #[derive(Serialize, Deserialize, Clone, Default)] pub enum CleanupOldEdgesOperation { RemoveEdges { task_id: TaskId, outdated: Vec, + queue: AggregationUpdateQueue, + }, + AggregationUpdate { + queue: AggregationUpdateQueue, }, #[default] Done, @@ -24,7 +36,12 @@ pub enum OutdatedEdge { impl CleanupOldEdgesOperation { pub fn run(task_id: TaskId, outdated: Vec, ctx: ExecuteContext<'_>) { - CleanupOldEdgesOperation::RemoveEdges { task_id, outdated }.execute(&ctx); + CleanupOldEdgesOperation::RemoveEdges { + task_id, + outdated, + queue: AggregationUpdateQueue::new(), + } + .execute(&ctx); } } @@ -36,13 +53,18 @@ impl Operation for CleanupOldEdgesOperation { CleanupOldEdgesOperation::RemoveEdges { task_id, ref mut outdated, + ref mut queue, } => { if let Some(edge) = outdated.pop() { match edge { OutdatedEdge::Child(child_id) => { let mut task = ctx.task(task_id); task.remove(&CachedDataItemKey::Child { task: child_id }); - // TODO remove aggregated edge + let upper_ids = get_many!(task, Upper { task } => task); + queue.push(AggregationUpdateJob::InnerLostFollower { + upper_ids, + lost_follower_id: child_id, + }); } OutdatedEdge::CellDependency(CellRef { task: cell_task_id, @@ -83,9 +105,13 @@ impl Operation for CleanupOldEdgesOperation { } if outdated.is_empty() { + self = CleanupOldEdgesOperation::AggregationUpdate { queue: take(queue) }; + } + } + CleanupOldEdgesOperation::AggregationUpdate { ref mut queue } => { + if queue.process(ctx) { self = CleanupOldEdgesOperation::Done; } - continue; } CleanupOldEdgesOperation::Done => { return; diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs index d08eee204de11..5fb5847fe2eb3 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs @@ -5,7 +5,10 @@ use super::{ aggregation_update::{AggregationUpdateJob, AggregationUpdateQueue}, ExecuteContext, Operation, }; -use crate::data::{CachedDataItem, CachedDataItemKey}; +use crate::{ + data::{CachedDataItem, CachedDataItemKey}, + get, get_many, +}; #[derive(Serialize, Deserialize, Clone, Default)] pub enum ConnectChildOperation { @@ -22,28 +25,29 @@ pub enum ConnectChildOperation { } impl ConnectChildOperation { - pub fn run(parent_task: TaskId, child_task: TaskId, ctx: ExecuteContext<'_>) { - let mut parent_task = ctx.task(parent_task); + pub fn run(parent_task_id: TaskId, child_task_id: TaskId, ctx: ExecuteContext<'_>) { + let mut parent_task = ctx.task(parent_task_id); if parent_task.add(CachedDataItem::Child { - task: child_task, + task: child_task_id, value: (), }) { // Update the task aggregation - let upper_ids = parent_task - .iter() - .filter_map(|(key, _)| match *key { - CachedDataItemKey::Upper { task } => Some(task), - _ => None, - }) - .collect::>(); let mut queue = AggregationUpdateQueue::new(); - queue.push(AggregationUpdateJob::InnerHasNewFollower { - upper_ids, - new_follower_id: child_task, - new_follower_data: (), - }); + if get!(parent_task, AggregationNumber).is_some() { + queue.push(AggregationUpdateJob::InnerHasNewFollower { + upper_ids: vec![parent_task_id], + new_follower_id: child_task_id, + }); + } else { + let upper_ids = get_many!(parent_task, Upper { task } => task); + queue.push(AggregationUpdateJob::InnerHasNewFollower { + upper_ids, + new_follower_id: child_task_id, + }); + } + drop(parent_task); ConnectChildOperation::UpdateAggregation { - task_id: child_task, + task_id: child_task_id, aggregation_update: queue, } .execute(&ctx); diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs index a76899fc95196..07fb67e5fe180 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs @@ -2,10 +2,13 @@ use serde::{Deserialize, Serialize}; use smallvec::SmallVec; use turbo_tasks::TaskId; -use super::{ExecuteContext, Operation}; +use super::{ + aggregation_update::{AggregatedDataUpdate, AggregationUpdateJob, AggregationUpdateQueue}, + ExecuteContext, Operation, +}; use crate::{ data::{CachedDataItem, InProgressState}, - get, remove, + get, update, }; #[derive(Serialize, Deserialize, Clone, Default)] @@ -14,6 +17,9 @@ pub enum InvalidateOperation { MakeDirty { task_ids: SmallVec<[TaskId; 4]>, }, + AggregationUpdate { + queue: AggregationUpdateQueue, + }, // TODO Add to dirty tasks list #[default] Done, @@ -31,61 +37,75 @@ impl Operation for InvalidateOperation { ctx.operation_suspend_point(&self); match self { InvalidateOperation::MakeDirty { task_ids } => { + let mut queue = AggregationUpdateQueue::new(); for task_id in task_ids { let mut task = ctx.task(task_id); - let in_progress = match get!(task, InProgress) { - Some(InProgressState::Scheduled { clean, .. }) => { - if *clean { - let Some(InProgressState::Scheduled { - clean: _, - done_event, - start_event, - }) = remove!(task, InProgress) - else { - unreachable!(); - }; - task.insert(CachedDataItem::InProgress { - value: InProgressState::Scheduled { - clean: false, - done_event, - start_event, - }, - }); + + if task.add(CachedDataItem::Dirty { value: () }) { + let in_progress = match get!(task, InProgress) { + Some(InProgressState::Scheduled { clean, .. }) => { + if *clean { + update!(task, InProgress, |in_progress| { + let Some(InProgressState::Scheduled { + clean: _, + done_event, + start_event, + }) = in_progress + else { + unreachable!(); + }; + Some(InProgressState::Scheduled { + clean: false, + done_event, + start_event, + }) + }); + } + true } - true - } - Some(InProgressState::InProgress { clean, stale, .. }) => { - if *clean || !*stale { - let Some(InProgressState::InProgress { - clean: _, - stale: _, - done_event, - }) = remove!(task, InProgress) - else { - unreachable!(); - }; - task.insert(CachedDataItem::InProgress { - value: InProgressState::InProgress { - clean: false, - stale: true, - done_event, - }, - }); + Some(InProgressState::InProgress { clean, stale, .. }) => { + if *clean || !*stale { + update!(task, InProgress, |in_progress| { + let Some(InProgressState::InProgress { + clean: _, + stale: _, + done_event, + }) = in_progress + else { + unreachable!(); + }; + Some(InProgressState::InProgress { + clean: false, + stale: true, + done_event, + }) + }); + } + true } - true + None => false, + }; + if !in_progress && task.add(CachedDataItem::new_scheduled(task_id)) { + ctx.turbo_tasks.schedule(task_id) } - None => false, - }; - if task.add(CachedDataItem::Dirty { value: () }) - && !in_progress - && task.add(CachedDataItem::new_scheduled(task_id)) - { - ctx.turbo_tasks.schedule(task_id) + queue.push(AggregationUpdateJob::DataUpdate { + task_id, + update: AggregatedDataUpdate::dirty_task(task_id), + }) } } - self = InvalidateOperation::Done; + if queue.is_empty() { + self = InvalidateOperation::Done + } else { + self = InvalidateOperation::AggregationUpdate { queue } + } continue; } + InvalidateOperation::AggregationUpdate { ref mut queue } => { + if queue.process(ctx) { + self = InvalidateOperation::Done + } + } InvalidateOperation::Done => { return; } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs index 71230eaab83b0..e9057c081bccf 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs @@ -122,6 +122,10 @@ impl<'a> Debug for TaskGuard<'a> { } impl<'a> TaskGuard<'a> { + pub fn id(&self) -> TaskId { + self.task_id + } + pub fn add(&mut self, item: CachedDataItem) -> bool { if !item.is_persistent() { self.task.add(item) @@ -180,6 +184,53 @@ impl<'a> TaskGuard<'a> { } } + pub fn update( + &mut self, + key: &CachedDataItemKey, + update: impl FnOnce(Option) -> Option, + ) { + if !key.is_persistent() { + self.task.update(key, update); + return; + } + let Self { + task, + task_id, + backend, + } = self; + let mut add_persisting_item = false; + task.update(key, |old| { + let old_persistent = old.as_ref().map(|old| old.is_persistent()).unwrap_or(false); + let new = update(old); + let new_persistent = new.as_ref().map(|new| new.is_persistent()).unwrap_or(false); + + match (old_persistent, new_persistent) { + (false, false) => {} + (true, false) => { + add_persisting_item = true; + backend.persisted_storage_log.lock().push(CachedDataUpdate { + key: key.clone(), + task: *task_id, + value: None, + }); + } + (_, true) => { + add_persisting_item = true; + backend.persisted_storage_log.lock().push(CachedDataUpdate { + key: key.clone(), + task: *task_id, + value: new.clone(), + }); + } + } + + new + }); + if add_persisting_item { + // TODO task.persistance_state.add_persisting_item(); + } + } + pub fn remove(&mut self, key: &CachedDataItemKey) -> Option { let old_value = self.task.remove(key); if let Some(value) = old_value { diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs index 5549582696352..b8e5544ec4c7c 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs @@ -55,6 +55,31 @@ impl InnerStorage { } } +impl InnerStorage +where + T::Value: Default, + T::Key: Clone, +{ + pub fn update( + &mut self, + key: &T::Key, + update: impl FnOnce(Option) -> Option, + ) { + if let Some(value) = self.map.get_mut(key) { + let v = take(value); + if let Some(v) = update(Some(v)) { + *value = v; + } else { + self.map.remove(key); + } + } else { + if let Some(v) = update(None) { + self.map.insert(key.clone(), v); + } + } + } +} + impl InnerStorage where T::Value: PartialEq, @@ -135,6 +160,91 @@ macro_rules! get { }; } +#[macro_export] +macro_rules! get_many { + ($task:ident, $key:ident $input:tt => $value:ident) => { + $task + .iter() + .filter_map(|(key, _)| match *key { + CachedDataItemKey::$key $input => Some($value), + _ => None, + }) + .collect() + }; + ($task:ident, $key1:ident $input1:tt => $value1:ident, $key2:ident $input2:tt => $value2:ident) => { + $task + .iter() + .filter_map(|(key, _)| match *key { + CachedDataItemKey::$key1 $input1 => Some($value1), + CachedDataItemKey::$key2 $input2 => Some($value2), + _ => None, + }) + .collect() + }; +} + +#[macro_export] +macro_rules! update { + ($task:ident, $key:ident $input:tt, $update:expr) => { + #[allow(unused_mut)] + match $update { + mut update => $task.update(&$crate::data::CachedDataItemKey::$key $input, |old| { + update(old.and_then(|old| { + if let $crate::data::CachedDataItemValue::$key { value } = old { + Some(value) + } else { + None + } + })) + .map(|new| $crate::data::CachedDataItemValue::$key { value: new }) + }) + } + }; + ($task:ident, $key:ident, $update:expr) => { + #[allow(unused_mut)] + match $update { + mut update => $task.update(&$crate::data::CachedDataItemKey::$key {}, |old| { + update(old.and_then(|old| { + if let $crate::data::CachedDataItemValue::$key { value } = old { + Some(value) + } else { + None + } + })) + .map(|new| $crate::data::CachedDataItemValue::$key { value: new }) + }) + } + }; +} + +#[macro_export] +macro_rules! update_count { + ($task:ident, $key:ident $input:tt, $update:expr) => { + match $update { + update => { + let mut state_change = false; + $crate::update!($task, $key $input, |old: Option| { + if old.is_none() { + state_change = true; + } + let old = old.unwrap_or(0); + let new = old as i32 + update; + if new == 0 { + state_change = true; + None + } else { + Some(new as u32) + } + }); + state_change + } + } + }; + ($task:ident, $key:ident, $update:expr) => { + $crate::update_count!($task, $key {}, $update) + }; +} + #[macro_export] macro_rules! remove { ($task:ident, $key:ident $input:tt) => { diff --git a/turbopack/crates/turbo-tasks-backend/src/data.rs b/turbopack/crates/turbo-tasks-backend/src/data.rs index 3e1daf0272c2c..6a091d7486336 100644 --- a/turbopack/crates/turbo-tasks-backend/src/data.rs +++ b/turbopack/crates/turbo-tasks-backend/src/data.rs @@ -1,5 +1,7 @@ use serde::{Deserialize, Serialize}; -use turbo_tasks::{event::Event, util::SharedError, CellId, KeyValuePair, SharedReference, TaskId}; +use turbo_tasks::{ + event::Event, util::SharedError, CellId, KeyValuePair, SharedReference, TaskId, ValueTypeId, +}; #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Serialize, Deserialize)] pub struct CellRef { @@ -7,7 +9,13 @@ pub struct CellRef { pub cell: CellId, } -#[derive(Debug, Copy, Clone, PartialEq, Eq)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Serialize, Deserialize)] +pub struct CollectiblesRef { + pub task: TaskId, + pub collectible_type: ValueTypeId, +} + +#[derive(Debug, Copy, Clone, PartialEq, Eq, Serialize, Deserialize)] pub enum OutputValue { Cell(CellRef), Output(TaskId), @@ -92,6 +100,10 @@ pub enum CachedDataItem { target: CellRef, value: (), }, + CollectiblesDependency { + target: CollectiblesRef, + value: (), + }, // Dependent OutputDependent { @@ -103,6 +115,11 @@ pub enum CachedDataItem { task: TaskId, value: (), }, + CollectiblesDependent { + collectibles_type: ValueTypeId, + task: TaskId, + value: (), + }, // Aggregation Graph AggregationNumber { @@ -110,21 +127,21 @@ pub enum CachedDataItem { }, Follower { task: TaskId, - value: (), + value: u32, }, Upper { task: TaskId, - value: (), + value: u32, }, // Aggregated Data AggregatedDirtyTask { task: TaskId, - value: (), + value: u32, }, AggregatedCollectible { collectible: CellRef, - value: (), + value: u32, }, AggregatedUnfinishedTasks { value: u32, @@ -173,8 +190,10 @@ impl CachedDataItem { CachedDataItem::CellData { .. } => true, CachedDataItem::OutputDependency { target, .. } => !target.is_transient(), CachedDataItem::CellDependency { target, .. } => !target.task.is_transient(), + CachedDataItem::CollectiblesDependency { target, .. } => !target.task.is_transient(), CachedDataItem::OutputDependent { task, .. } => !task.is_transient(), CachedDataItem::CellDependent { task, .. } => !task.is_transient(), + CachedDataItem::CollectiblesDependent { task, .. } => !task.is_transient(), CachedDataItem::AggregationNumber { .. } => true, CachedDataItem::Follower { task, .. } => !task.is_transient(), CachedDataItem::Upper { task, .. } => !task.is_transient(), @@ -215,8 +234,10 @@ impl CachedDataItemKey { CachedDataItemKey::CellData { .. } => true, CachedDataItemKey::OutputDependency { target, .. } => !target.is_transient(), CachedDataItemKey::CellDependency { target, .. } => !target.task.is_transient(), + CachedDataItemKey::CollectiblesDependency { target, .. } => !target.task.is_transient(), CachedDataItemKey::OutputDependent { task, .. } => !task.is_transient(), CachedDataItemKey::CellDependent { task, .. } => !task.is_transient(), + CachedDataItemKey::CollectiblesDependent { task, .. } => !task.is_transient(), CachedDataItemKey::AggregationNumber { .. } => true, CachedDataItemKey::Follower { task, .. } => !task.is_transient(), CachedDataItemKey::Upper { task, .. } => !task.is_transient(), diff --git a/turbopack/crates/turbo-tasks-macros/src/derive/key_value_pair_macro.rs b/turbopack/crates/turbo-tasks-macros/src/derive/key_value_pair_macro.rs index 3026d73f5dcd3..a3a0d192ec9a2 100644 --- a/turbopack/crates/turbo-tasks-macros/src/derive/key_value_pair_macro.rs +++ b/turbopack/crates/turbo-tasks-macros/src/derive/key_value_pair_macro.rs @@ -106,13 +106,15 @@ pub fn derive_key_value_pair(input: TokenStream) -> TokenStream { )* } - #[derive(Debug, Clone)] + #[derive(Debug, Clone, Default)] #vis enum #value_name { #( #variant_names { #value_decl }, )* + #[default] + Reserved, } } .into() From ec3e76d925fd1d225348ec05251a4b5c4bf87c65 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Thu, 15 Aug 2024 11:28:30 +0200 Subject: [PATCH 061/119] remove exceeding cells --- .../turbo-tasks-backend/src/backend/mod.rs | 111 +++++++++++++++-- .../backend/operation/cleanup_old_edges.rs | 5 + .../src/backend/operation/invalidate.rs | 112 +++++++++--------- .../src/backend/storage.rs | 9 ++ .../crates/turbo-tasks-backend/src/data.rs | 54 ++++++++- 5 files changed, 227 insertions(+), 64 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index f818544c26823..38191351498c1 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -4,7 +4,7 @@ mod storage; use std::{ borrow::Cow, - collections::HashSet, + collections::{HashMap, HashSet}, future::Future, hash::BuildHasherDefault, pin::Pin, @@ -15,7 +15,7 @@ use std::{ time::Duration, }; -use anyhow::Result; +use anyhow::{bail, Result}; use auto_hash_map::{AutoMap, AutoSet}; use dashmap::DashMap; pub use operation::AnyOperation; @@ -39,9 +39,9 @@ use self::{operation::ExecuteContext, storage::Storage}; use crate::{ data::{ CachedDataItem, CachedDataItemKey, CachedDataItemValue, CachedDataUpdate, CellRef, - InProgressState, OutputValue, RootType, + InProgressCellState, InProgressState, OutputValue, RootType, }, - get, remove, + get, get_many, remove, utils::{bi_map::BiMap, chunked_vec::ChunkedVec, ptr_eq_arc::PtrEqArc}, }; @@ -253,7 +253,14 @@ impl TurboTasksBackend { } } - todo!("Output of is not available, recompute task: {task:#?}"); + // Output doesn't exist. We need to schedule the task to compute it. + let dirty = task.has_key(&CachedDataItemKey::Dirty {}); + let (item, listener) = CachedDataItem::new_scheduled_with_listener(task_id, !dirty); + if task.add(item) { + turbo_tasks.schedule(task_id); + } + + Ok(Err(listener)) } fn try_read_task_cell( @@ -289,7 +296,45 @@ impl TurboTasksBackend { return Ok(Ok(CellContent(Some(content)).into_typed(cell.type_id))); } - todo!("Cell {cell:?} is not available, recompute task or error: {task:#?}"); + // Check cell index range (cell might not exist at all) + let Some(max_id) = get!( + task, + CellTypeMaxIndex { + cell_type: cell.type_id + } + ) else { + bail!( + "Cell {cell:?} no longer exists in task {task_id:?} (no cell of this type exists)" + ); + }; + if cell.index > *max_id { + bail!("Cell {cell:?} no longer exists in task {task_id:?} (index out of bounds)"); + } + + // Cell should exist, but data was dropped or is not serializable. We need to recompute the + // task the get the cell content. + + // Register event listener for cell computation + if let Some(in_progress) = get!(task, InProgressCell { cell }) { + // Someone else is already computing the cell + let listener = in_progress.event.listen(); + return Ok(Err(listener)); + } + + // We create the event and potentially schedule the task + let in_progress = InProgressCellState::new(task_id, cell); + let listener = in_progress.event.listen(); + task.add(CachedDataItem::InProgressCell { + cell, + value: in_progress, + }); + + // Schedule the task + if task.add(CachedDataItem::new_scheduled(task_id)) { + turbo_tasks.schedule(task_id); + } + + Ok(Err(listener)) } fn lookup_task_type(&self, task_id: TaskId) -> Option> { @@ -626,9 +671,6 @@ impl Backend for TurboTasksBackend { panic!("Task execution completed, but task is not in progress: {task:#?}"); }; - // TODO handle cell counters - let _ = cell_counters; - // TODO handle stateful let _ = stateful; @@ -643,6 +685,48 @@ impl Backend for TurboTasksBackend { drop(task); drop(ctx); } else { + // handle cell counters: update max index and remove cells that are no longer used + let mut removed_cells = HashMap::new(); + let mut old_counters: HashMap<_, _> = + get_many!(task, CellTypeMaxIndex { cell_type } max_index => (cell_type, max_index)); + for (&cell_type, &max_index) in cell_counters.iter() { + if let Some(old_max_index) = old_counters.remove(&cell_type) { + if old_max_index != max_index { + task.insert(CachedDataItem::CellTypeMaxIndex { + cell_type, + value: max_index, + }); + if old_max_index > max_index { + removed_cells.insert(cell_type, max_index + 1..=old_max_index); + } + } + } else { + task.add(CachedDataItem::CellTypeMaxIndex { + cell_type, + value: max_index, + }); + } + } + for (cell_type, old_max_index) in old_counters { + task.remove(&CachedDataItemKey::CellTypeMaxIndex { cell_type }); + removed_cells.insert(cell_type, 0..=old_max_index); + } + let mut removed_data = Vec::new(); + for (&cell_type, range) in removed_cells.iter() { + for index in range.clone() { + removed_data.extend( + task.remove(&CachedDataItemKey::CellData { + cell: CellId { + type_id: cell_type, + index, + }, + }) + .into_iter(), + ); + } + } + + // find all outdated data items (removed cells, outdated edges) let old_edges = task .iter() .filter_map(|(key, _)| match *key { @@ -653,6 +737,13 @@ impl Backend for TurboTasksBackend { CachedDataItemKey::OutdatedOutputDependency { target } => { Some(OutdatedEdge::OutputDependency(target)) } + CachedDataItemKey::CellDependent { cell, task } + if removed_cells + .get(&cell.type_id) + .map_or(false, |range| range.contains(&cell.index)) => + { + Some(OutdatedEdge::RemovedCellDependent(task)) + } _ => None, }) .collect::>(); @@ -663,6 +754,8 @@ impl Backend for TurboTasksBackend { drop(task); CleanupOldEdgesOperation::run(task_id, old_edges, ctx); + + drop(removed_data) } stale diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs index e4dc93f6a6c2c..ecd71c9df6fff 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs @@ -5,6 +5,7 @@ use turbo_tasks::TaskId; use super::{ aggregation_update::{AggregationUpdateJob, AggregationUpdateQueue}, + invalidate::make_task_dirty, ExecuteContext, Operation, }; use crate::{ @@ -32,6 +33,7 @@ pub enum OutdatedEdge { Child(TaskId), CellDependency(CellRef), OutputDependency(TaskId), + RemovedCellDependent(TaskId), } impl CleanupOldEdgesOperation { @@ -101,6 +103,9 @@ impl Operation for CleanupOldEdgesOperation { }); } } + OutdatedEdge::RemovedCellDependent(task_id) => { + make_task_dirty(task_id, queue, ctx); + } } } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs index 07fb67e5fe180..c4c42415c2e32 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs @@ -39,60 +39,7 @@ impl Operation for InvalidateOperation { InvalidateOperation::MakeDirty { task_ids } => { let mut queue = AggregationUpdateQueue::new(); for task_id in task_ids { - let mut task = ctx.task(task_id); - - if task.add(CachedDataItem::Dirty { value: () }) { - let in_progress = match get!(task, InProgress) { - Some(InProgressState::Scheduled { clean, .. }) => { - if *clean { - update!(task, InProgress, |in_progress| { - let Some(InProgressState::Scheduled { - clean: _, - done_event, - start_event, - }) = in_progress - else { - unreachable!(); - }; - Some(InProgressState::Scheduled { - clean: false, - done_event, - start_event, - }) - }); - } - true - } - Some(InProgressState::InProgress { clean, stale, .. }) => { - if *clean || !*stale { - update!(task, InProgress, |in_progress| { - let Some(InProgressState::InProgress { - clean: _, - stale: _, - done_event, - }) = in_progress - else { - unreachable!(); - }; - Some(InProgressState::InProgress { - clean: false, - stale: true, - done_event, - }) - }); - } - true - } - None => false, - }; - if !in_progress && task.add(CachedDataItem::new_scheduled(task_id)) { - ctx.turbo_tasks.schedule(task_id) - } - queue.push(AggregationUpdateJob::DataUpdate { - task_id, - update: AggregatedDataUpdate::dirty_task(task_id), - }) - } + make_task_dirty(task_id, &mut queue, ctx); } if queue.is_empty() { self = InvalidateOperation::Done @@ -113,3 +60,60 @@ impl Operation for InvalidateOperation { } } } + +pub fn make_task_dirty(task_id: TaskId, queue: &mut AggregationUpdateQueue, ctx: &ExecuteContext) { + let mut task = ctx.task(task_id); + + if task.add(CachedDataItem::Dirty { value: () }) { + let in_progress = match get!(task, InProgress) { + Some(InProgressState::Scheduled { clean, .. }) => { + if *clean { + update!(task, InProgress, |in_progress| { + let Some(InProgressState::Scheduled { + clean: _, + done_event, + start_event, + }) = in_progress + else { + unreachable!(); + }; + Some(InProgressState::Scheduled { + clean: false, + done_event, + start_event, + }) + }); + } + true + } + Some(InProgressState::InProgress { clean, stale, .. }) => { + if *clean || !*stale { + update!(task, InProgress, |in_progress| { + let Some(InProgressState::InProgress { + clean: _, + stale: _, + done_event, + }) = in_progress + else { + unreachable!(); + }; + Some(InProgressState::InProgress { + clean: false, + stale: true, + done_event, + }) + }); + } + true + } + None => false, + }; + if !in_progress && task.add(CachedDataItem::new_scheduled(task_id)) { + ctx.turbo_tasks.schedule(task_id) + } + queue.push(AggregationUpdateJob::DataUpdate { + task_id, + update: AggregatedDataUpdate::dirty_task(task_id), + }) + } +} diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs index b8e5544ec4c7c..8474658b0278f 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs @@ -171,6 +171,15 @@ macro_rules! get_many { }) .collect() }; + ($task:ident, $key:ident $input:tt $value_ident:ident => $value:expr) => { + $task + .iter() + .filter_map(|(key, value)| match (key, value) { + (&CachedDataItemKey::$key $input, &CachedDataItemValue::$key { value: $value_ident }) => Some($value), + _ => None, + }) + .collect() + }; ($task:ident, $key1:ident $input1:tt => $value1:ident, $key2:ident $input2:tt => $value2:ident) => { $task .iter() diff --git a/turbopack/crates/turbo-tasks-backend/src/data.rs b/turbopack/crates/turbo-tasks-backend/src/data.rs index 6a091d7486336..bdf783bc33531 100644 --- a/turbopack/crates/turbo-tasks-backend/src/data.rs +++ b/turbopack/crates/turbo-tasks-backend/src/data.rs @@ -1,6 +1,8 @@ use serde::{Deserialize, Serialize}; use turbo_tasks::{ - event::Event, util::SharedError, CellId, KeyValuePair, SharedReference, TaskId, ValueTypeId, + event::{Event, EventListener}, + util::SharedError, + CellId, KeyValuePair, SharedReference, TaskId, ValueTypeId, }; #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Serialize, Deserialize)] @@ -43,11 +45,13 @@ pub enum RootType { #[derive(Debug)] pub enum InProgressState { Scheduled { + // TODO remove in favor of Dirty clean: bool, done_event: Event, start_event: Event, }, InProgress { + // TODO remove in favor of Dirty clean: bool, stale: bool, done_event: Event, @@ -60,6 +64,27 @@ impl Clone for InProgressState { } } +#[derive(Debug)] +pub struct InProgressCellState { + pub event: Event, +} + +impl Clone for InProgressCellState { + fn clone(&self) -> Self { + panic!("InProgressCell cannot be cloned"); + } +} + +impl InProgressCellState { + pub fn new(task_id: TaskId, cell: CellId) -> Self { + InProgressCellState { + event: Event::new(move || { + format!("InProgressCellState::event ({} {:?})", task_id, cell) + }), + } + } +} + #[derive(Debug, Clone, KeyValuePair)] pub enum CachedDataItem { // Output @@ -90,6 +115,10 @@ pub enum CachedDataItem { cell: CellId, value: SharedReference, }, + CellTypeMaxIndex { + cell_type: ValueTypeId, + value: u32, + }, // Dependencies OutputDependency { @@ -156,6 +185,10 @@ pub enum CachedDataItem { InProgress { value: InProgressState, }, + InProgressCell { + cell: CellId, + value: InProgressCellState, + }, OutdatedCollectible { collectible: CellRef, value: (), @@ -188,6 +221,7 @@ impl CachedDataItem { CachedDataItem::DirtyWhenPersisted { .. } => true, CachedDataItem::Child { task, .. } => !task.is_transient(), CachedDataItem::CellData { .. } => true, + CachedDataItem::CellTypeMaxIndex { .. } => true, CachedDataItem::OutputDependency { target, .. } => !target.is_transient(), CachedDataItem::CellDependency { target, .. } => !target.task.is_transient(), CachedDataItem::CollectiblesDependency { target, .. } => !target.task.is_transient(), @@ -204,6 +238,7 @@ impl CachedDataItem { CachedDataItem::AggregatedUnfinishedTasks { .. } => true, CachedDataItem::AggregateRootType { .. } => false, CachedDataItem::InProgress { .. } => false, + CachedDataItem::InProgressCell { .. } => false, CachedDataItem::OutdatedCollectible { .. } => false, CachedDataItem::OutdatedOutputDependency { .. } => false, CachedDataItem::OutdatedCellDependency { .. } => false, @@ -221,6 +256,21 @@ impl CachedDataItem { }, } } + + pub fn new_scheduled_with_listener(task_id: TaskId, clean: bool) -> (Self, EventListener) { + let done_event = Event::new(move || format!("{} done_event", task_id)); + let listener = done_event.listen(); + ( + CachedDataItem::InProgress { + value: InProgressState::Scheduled { + clean, + done_event, + start_event: Event::new(move || format!("{} start_event", task_id)), + }, + }, + listener, + ) + } } impl CachedDataItemKey { @@ -232,6 +282,7 @@ impl CachedDataItemKey { CachedDataItemKey::DirtyWhenPersisted { .. } => true, CachedDataItemKey::Child { task, .. } => !task.is_transient(), CachedDataItemKey::CellData { .. } => true, + CachedDataItemKey::CellTypeMaxIndex { .. } => true, CachedDataItemKey::OutputDependency { target, .. } => !target.is_transient(), CachedDataItemKey::CellDependency { target, .. } => !target.task.is_transient(), CachedDataItemKey::CollectiblesDependency { target, .. } => !target.task.is_transient(), @@ -248,6 +299,7 @@ impl CachedDataItemKey { CachedDataItemKey::AggregatedUnfinishedTasks { .. } => true, CachedDataItemKey::AggregateRootType { .. } => false, CachedDataItemKey::InProgress { .. } => false, + CachedDataItemKey::InProgressCell { .. } => false, CachedDataItemKey::OutdatedCollectible { .. } => false, CachedDataItemKey::OutdatedOutputDependency { .. } => false, CachedDataItemKey::OutdatedCellDependency { .. } => false, From e77f6fbcb3fcc495888e7f61d99f63adda5668ed Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Thu, 15 Aug 2024 11:54:20 +0200 Subject: [PATCH 062/119] remove clean flag in favor of Dirty --- .../turbo-tasks-backend/src/backend/mod.rs | 13 ++------- .../backend/operation/aggregation_update.rs | 6 +++-- .../src/backend/operation/invalidate.rs | 27 +++---------------- .../crates/turbo-tasks-backend/src/data.rs | 8 +----- 4 files changed, 10 insertions(+), 44 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index 38191351498c1..e44b594574470 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -254,8 +254,7 @@ impl TurboTasksBackend { } // Output doesn't exist. We need to schedule the task to compute it. - let dirty = task.has_key(&CachedDataItemKey::Dirty {}); - let (item, listener) = CachedDataItem::new_scheduled_with_listener(task_id, !dirty); + let (item, listener) = CachedDataItem::new_scheduled_with_listener(task_id); if task.add(item) { turbo_tasks.schedule(task_id); } @@ -453,7 +452,6 @@ impl Backend for TurboTasksBackend { let mut task = ctx.task(task_id); let in_progress = remove!(task, InProgress)?; let InProgressState::Scheduled { - clean, done_event, start_event, } = in_progress @@ -463,7 +461,6 @@ impl Backend for TurboTasksBackend { }; task.add(CachedDataItem::InProgress { value: InProgressState::InProgress { - clean, stale: false, done_event, }, @@ -662,12 +659,7 @@ impl Backend for TurboTasksBackend { else { panic!("Task execution completed, but task is not in progress: {task:#?}"); }; - let InProgressState::InProgress { - done_event, - clean: _, - stale, - } = in_progress - else { + let InProgressState::InProgress { done_event, stale } = in_progress else { panic!("Task execution completed, but task is not in progress: {task:#?}"); }; @@ -677,7 +669,6 @@ impl Backend for TurboTasksBackend { if stale { task.add(CachedDataItem::InProgress { value: InProgressState::InProgress { - clean: false, stale: false, done_event, }, diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs index 72fa2a37705fb..c2bc541636c4f 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs @@ -303,8 +303,10 @@ impl AggregationUpdateQueue { AggregationUpdateJob::ScheduleWhenDirty { task_ids } => { for task_id in task_ids { let mut task = ctx.task(task_id); - if task.add(CachedDataItem::new_scheduled(task_id)) { - ctx.turbo_tasks.schedule(task_id); + if task.has_key(&CachedDataItemKey::Dirty {}) { + if task.add(CachedDataItem::new_scheduled(task_id)) { + ctx.turbo_tasks.schedule(task_id); + } } } } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs index c4c42415c2e32..248c1274abd0a 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs @@ -66,31 +66,10 @@ pub fn make_task_dirty(task_id: TaskId, queue: &mut AggregationUpdateQueue, ctx: if task.add(CachedDataItem::Dirty { value: () }) { let in_progress = match get!(task, InProgress) { - Some(InProgressState::Scheduled { clean, .. }) => { - if *clean { - update!(task, InProgress, |in_progress| { - let Some(InProgressState::Scheduled { - clean: _, - done_event, - start_event, - }) = in_progress - else { - unreachable!(); - }; - Some(InProgressState::Scheduled { - clean: false, - done_event, - start_event, - }) - }); - } - true - } - Some(InProgressState::InProgress { clean, stale, .. }) => { - if *clean || !*stale { + Some(InProgressState::InProgress { stale, .. }) => { + if !*stale { update!(task, InProgress, |in_progress| { let Some(InProgressState::InProgress { - clean: _, stale: _, done_event, }) = in_progress @@ -98,7 +77,6 @@ pub fn make_task_dirty(task_id: TaskId, queue: &mut AggregationUpdateQueue, ctx: unreachable!(); }; Some(InProgressState::InProgress { - clean: false, stale: true, done_event, }) @@ -106,6 +84,7 @@ pub fn make_task_dirty(task_id: TaskId, queue: &mut AggregationUpdateQueue, ctx: } true } + Some(_) => true, None => false, }; if !in_progress && task.add(CachedDataItem::new_scheduled(task_id)) { diff --git a/turbopack/crates/turbo-tasks-backend/src/data.rs b/turbopack/crates/turbo-tasks-backend/src/data.rs index bdf783bc33531..360b730c9faea 100644 --- a/turbopack/crates/turbo-tasks-backend/src/data.rs +++ b/turbopack/crates/turbo-tasks-backend/src/data.rs @@ -45,14 +45,10 @@ pub enum RootType { #[derive(Debug)] pub enum InProgressState { Scheduled { - // TODO remove in favor of Dirty - clean: bool, done_event: Event, start_event: Event, }, InProgress { - // TODO remove in favor of Dirty - clean: bool, stale: bool, done_event: Event, }, @@ -250,20 +246,18 @@ impl CachedDataItem { pub fn new_scheduled(task_id: TaskId) -> Self { CachedDataItem::InProgress { value: InProgressState::Scheduled { - clean: false, done_event: Event::new(move || format!("{} done_event", task_id)), start_event: Event::new(move || format!("{} start_event", task_id)), }, } } - pub fn new_scheduled_with_listener(task_id: TaskId, clean: bool) -> (Self, EventListener) { + pub fn new_scheduled_with_listener(task_id: TaskId) -> (Self, EventListener) { let done_event = Event::new(move || format!("{} done_event", task_id)); let listener = done_event.listen(); ( CachedDataItem::InProgress { value: InProgressState::Scheduled { - clean, done_event, start_event: Event::new(move || format!("{} start_event", task_id)), }, From 79c4c5bca607cf9e74dd897cc43e1bba8fe82906 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Thu, 15 Aug 2024 14:53:22 +0200 Subject: [PATCH 063/119] avoid marking once tasks as stale --- .../turbo-tasks-backend/src/backend/mod.rs | 93 ++++++++++++++----- .../src/backend/operation/invalidate.rs | 6 +- .../crates/turbo-tasks-backend/src/data.rs | 1 + turbopack/crates/turbo-tasks/src/backend.rs | 2 +- 4 files changed, 75 insertions(+), 27 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index e44b594574470..c88b5b5109a13 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -25,8 +25,8 @@ use rustc_hash::FxHasher; use smallvec::smallvec; use turbo_tasks::{ backend::{ - Backend, BackendJobId, CachedTaskType, CellContent, TaskExecutionSpec, TransientTaskType, - TypedCellContent, + Backend, BackendJobId, CachedTaskType, CellContent, TaskExecutionSpec, TransientTaskRoot, + TransientTaskType, TypedCellContent, }, event::EventListener, registry, @@ -61,13 +61,30 @@ impl SnapshotRequest { } } +pub enum TransientTask { + /// A root task that will track dependencies and re-execute when + /// dependencies change. Task will eventually settle to the correct + /// execution. + /// Always active. Automatically scheduled. + Root(TransientTaskRoot), + + // TODO implement these strongly consistency + /// A single root task execution. It won't track dependencies. + /// Task will definitely include all invalidations that happened before the + /// start of the task. It may or may not include invalidations that + /// happened after that. It may see these invalidations partially + /// applied. + /// Active until done. Automatically scheduled. + Once(tokio::sync::Mutex> + Send + 'static>>>), +} + pub struct TurboTasksBackend { persisted_task_id_factory: IdFactoryWithReuse, transient_task_id_factory: IdFactoryWithReuse, persisted_task_cache_log: Mutex, TaskId)>>, task_cache: BiMap, TaskId>, - transient_tasks: DashMap>>, + transient_tasks: DashMap>, persisted_storage_log: Mutex>, storage: Storage, @@ -447,6 +464,20 @@ impl Backend for TurboTasksBackend { task_id: TaskId, turbo_tasks: &dyn TurboTasksBackendApi, ) -> Option> { + enum TaskType { + Cached(Arc), + Transient(Arc), + } + let (task_type, once_task) = if let Some(task_type) = self.lookup_task_type(task_id) { + (TaskType::Cached(task_type), false) + } else if let Some(task_type) = self.transient_tasks.get(&task_id) { + ( + TaskType::Transient(task_type.clone()), + matches!(**task_type, TransientTask::Once(_)), + ) + } else { + return None; + }; { let ctx = self.execute_context(turbo_tasks); let mut task = ctx.task(task_id); @@ -462,6 +493,7 @@ impl Backend for TurboTasksBackend { task.add(CachedDataItem::InProgress { value: InProgressState::InProgress { stale: false, + once_task, done_event, }, }); @@ -554,8 +586,8 @@ impl Backend for TurboTasksBackend { start_event.notify(usize::MAX); } - let (span, future) = if let Some(task_type) = self.lookup_task_type(task_id) { - match &*task_type { + let (span, future) = match task_type { + TaskType::Cached(task_type) => match &*task_type { CachedTaskType::Native { fn_type, this, arg } => ( registry::get_function(*fn_type).span(), registry::get_function(*fn_type).execute(*this, &**arg), @@ -612,24 +644,24 @@ impl Backend for TurboTasksBackend { }) as Pin + Send + '_>>, ) } - } - } else if let Some(task_type) = self.transient_tasks.get(&task_id) { - let task_type = task_type.clone(); - let span = tracing::trace_span!("turbo_tasks::root_task"); - let future = Box::pin(async move { - let mut task_type = task_type.lock().await; - match &mut *task_type { - TransientTaskType::Root(f) => { - let future = f(); - drop(task_type); - future.await + }, + TaskType::Transient(task_type) => { + let task_type = task_type.clone(); + let span = tracing::trace_span!("turbo_tasks::root_task"); + let future = Box::pin(async move { + match &*task_type { + TransientTask::Root(f) => { + let future = f(); + future.await + } + TransientTask::Once(future) => { + let mut mutex_guard = future.lock().await; + (&mut *mutex_guard).await + } } - TransientTaskType::Once(future) => future.await, - } - }) as Pin + Send + '_>>; - (span, future) - } else { - return None; + }) as Pin + Send + '_>>; + (span, future) + } }; Some(TaskExecutionSpec { future, span }) } @@ -659,7 +691,12 @@ impl Backend for TurboTasksBackend { else { panic!("Task execution completed, but task is not in progress: {task:#?}"); }; - let InProgressState::InProgress { done_event, stale } = in_progress else { + let InProgressState::InProgress { + done_event, + once_task, + stale, + } = in_progress + else { panic!("Task execution completed, but task is not in progress: {task:#?}"); }; @@ -670,6 +707,7 @@ impl Backend for TurboTasksBackend { task.add(CachedDataItem::InProgress { value: InProgressState::InProgress { stale: false, + once_task, done_event, }, }); @@ -878,8 +916,13 @@ impl Backend for TurboTasksBackend { TransientTaskType::Root(_) => RootType::RootTask, TransientTaskType::Once(_) => RootType::OnceTask, }; - self.transient_tasks - .insert(task_id, Arc::new(tokio::sync::Mutex::new(task_type))); + self.transient_tasks.insert( + task_id, + Arc::new(match task_type { + TransientTaskType::Root(f) => TransientTask::Root(f), + TransientTaskType::Once(f) => TransientTask::Once(tokio::sync::Mutex::new(f)), + }), + ); { let mut task = self.storage.access_mut(task_id); task.add(CachedDataItem::new_scheduled(task_id)); diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs index 248c1274abd0a..02cfa2b8e633d 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs @@ -66,11 +66,14 @@ pub fn make_task_dirty(task_id: TaskId, queue: &mut AggregationUpdateQueue, ctx: if task.add(CachedDataItem::Dirty { value: () }) { let in_progress = match get!(task, InProgress) { - Some(InProgressState::InProgress { stale, .. }) => { + Some(InProgressState::InProgress { + stale, once_task, .. + }) if !once_task => { if !*stale { update!(task, InProgress, |in_progress| { let Some(InProgressState::InProgress { stale: _, + once_task, done_event, }) = in_progress else { @@ -78,6 +81,7 @@ pub fn make_task_dirty(task_id: TaskId, queue: &mut AggregationUpdateQueue, ctx: }; Some(InProgressState::InProgress { stale: true, + once_task, done_event, }) }); diff --git a/turbopack/crates/turbo-tasks-backend/src/data.rs b/turbopack/crates/turbo-tasks-backend/src/data.rs index 360b730c9faea..7d3acfa57d268 100644 --- a/turbopack/crates/turbo-tasks-backend/src/data.rs +++ b/turbopack/crates/turbo-tasks-backend/src/data.rs @@ -50,6 +50,7 @@ pub enum InProgressState { }, InProgress { stale: bool, + once_task: bool, done_event: Event, }, } diff --git a/turbopack/crates/turbo-tasks/src/backend.rs b/turbopack/crates/turbo-tasks/src/backend.rs index 58a3de86462eb..cb47e6ac2a8b7 100644 --- a/turbopack/crates/turbo-tasks/src/backend.rs +++ b/turbopack/crates/turbo-tasks/src/backend.rs @@ -27,7 +27,7 @@ use crate::{ TraitTypeId, ValueTypeId, VcRead, VcValueTrait, VcValueType, }; -type TransientTaskRoot = +pub type TransientTaskRoot = Box Pin> + Send>> + Send + Sync>; pub enum TransientTaskType { From 9a41f42514fcd2198ba00ad1bf472325b0620f67 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 16 Aug 2024 07:18:57 +0200 Subject: [PATCH 064/119] notify in progress cells --- .../src/backend/operation/update_cell.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs index 664f3fdc3cfbd..2eaeb48faea25 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs @@ -1,7 +1,10 @@ use turbo_tasks::{backend::CellContent, CellId, TaskId}; use super::{ExecuteContext, InvalidateOperation}; -use crate::data::{CachedDataItem, CachedDataItemKey}; +use crate::{ + data::{CachedDataItem, CachedDataItemKey}, + remove, +}; pub struct UpdateCellOperation; @@ -17,6 +20,10 @@ impl UpdateCellOperation { task.remove(&CachedDataItemKey::CellData { cell }) }; + if let Some(in_progress) = remove!(task, InProgressCell { cell }) { + in_progress.event.notify(usize::MAX); + } + let dependent = task .iter() .filter_map(|(key, _)| { From 914abc1f6dd44c03683801b4906938f2355fbb57 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 16 Aug 2024 07:19:54 +0200 Subject: [PATCH 065/119] asset adding, note on listener --- .../turbo-tasks-backend/src/backend/mod.rs | 56 +++++++++++-------- .../src/backend/operation/mod.rs | 6 ++ .../crates/turbo-tasks-backend/src/data.rs | 7 ++- 3 files changed, 43 insertions(+), 26 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index c88b5b5109a13..b3a99e87294e3 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -233,7 +233,8 @@ impl TurboTasksBackend { match in_progress { InProgressState::Scheduled { done_event, .. } | InProgressState::InProgress { done_event, .. } => { - let listener = done_event.listen(); + let listener = done_event + .listen_with_note(move || format!("try_read_task_output from {reader:?}")); return Ok(Err(listener)); } } @@ -253,17 +254,22 @@ impl TurboTasksBackend { }; if let Some(result) = result { if let Some(reader) = reader { - task.add(CachedDataItem::OutputDependent { + let _ = task.add(CachedDataItem::OutputDependent { task: reader, value: (), }); drop(task); let mut reader_task = ctx.task(reader); - reader_task.add(CachedDataItem::OutputDependency { - target: task_id, - value: (), - }); + if reader_task + .remove(&CachedDataItemKey::OutdatedOutputDependency { target: task_id }) + .is_none() + { + let _ = reader_task.add(CachedDataItem::OutputDependency { + target: task_id, + value: (), + }); + } } return result; @@ -271,10 +277,11 @@ impl TurboTasksBackend { } // Output doesn't exist. We need to schedule the task to compute it. - let (item, listener) = CachedDataItem::new_scheduled_with_listener(task_id); - if task.add(item) { - turbo_tasks.schedule(task_id); - } + let (item, listener) = CachedDataItem::new_scheduled_with_listener(task_id, move || { + format!("try_read_task_output (recompute) from {reader:?}") + }); + task.add_new(item); + turbo_tasks.schedule(task_id); Ok(Err(listener)) } @@ -291,12 +298,13 @@ impl TurboTasksBackend { if let Some(content) = get!(task, CellData { cell }) { let content = content.clone(); if let Some(reader) = reader { - task.add(CachedDataItem::CellDependent { + let _ = task.add(CachedDataItem::CellDependent { cell, task: reader, value: (), }); drop(task); + let mut reader_task = ctx.task(reader); let target = CellRef { task: task_id, @@ -306,7 +314,7 @@ impl TurboTasksBackend { .remove(&CachedDataItemKey::OutdatedCellDependency { target }) .is_none() { - reader_task.add(CachedDataItem::CellDependency { target, value: () }); + let _ = reader_task.add(CachedDataItem::CellDependency { target, value: () }); } } return Ok(Ok(CellContent(Some(content)).into_typed(cell.type_id))); @@ -340,12 +348,12 @@ impl TurboTasksBackend { // We create the event and potentially schedule the task let in_progress = InProgressCellState::new(task_id, cell); let listener = in_progress.event.listen(); - task.add(CachedDataItem::InProgressCell { + task.add_new(CachedDataItem::InProgressCell { cell, value: in_progress, }); - // Schedule the task + // Schedule the task, if not already scheduled if task.add(CachedDataItem::new_scheduled(task_id)) { turbo_tasks.schedule(task_id); } @@ -487,10 +495,10 @@ impl Backend for TurboTasksBackend { start_event, } = in_progress else { - task.add(CachedDataItem::InProgress { value: in_progress }); + task.add_new(CachedDataItem::InProgress { value: in_progress }); return None; }; - task.add(CachedDataItem::InProgress { + task.add_new(CachedDataItem::InProgress { value: InProgressState::InProgress { stale: false, once_task, @@ -514,7 +522,7 @@ impl Backend for TurboTasksBackend { for child in children { match child { Child::Current(child) => { - task.add(CachedDataItem::OutdatedChild { + let _ = task.add(CachedDataItem::OutdatedChild { task: child, value: (), }); @@ -553,13 +561,13 @@ impl Backend for TurboTasksBackend { for dep in dependencies { match dep { Dep::CurrentCell(cell) => { - task.add(CachedDataItem::OutdatedCellDependency { + let _ = task.add(CachedDataItem::OutdatedCellDependency { target: cell, value: (), }); } Dep::CurrentOutput(output) => { - task.add(CachedDataItem::OutdatedOutputDependency { + let _ = task.add(CachedDataItem::OutdatedOutputDependency { target: output, value: (), }); @@ -704,7 +712,7 @@ impl Backend for TurboTasksBackend { let _ = stateful; if stale { - task.add(CachedDataItem::InProgress { + task.add_new(CachedDataItem::InProgress { value: InProgressState::InProgress { stale: false, once_task, @@ -730,7 +738,7 @@ impl Backend for TurboTasksBackend { } } } else { - task.add(CachedDataItem::CellTypeMaxIndex { + task.add_new(CachedDataItem::CellTypeMaxIndex { cell_type, value: max_index, }); @@ -925,9 +933,9 @@ impl Backend for TurboTasksBackend { ); { let mut task = self.storage.access_mut(task_id); - task.add(CachedDataItem::new_scheduled(task_id)); - task.add(CachedDataItem::AggregateRootType { value: root_type }); - task.add(CachedDataItem::AggregationNumber { value: u32::MAX }); + let _ = task.add(CachedDataItem::new_scheduled(task_id)); + let _ = task.add(CachedDataItem::AggregateRootType { value: root_type }); + let _ = task.add(CachedDataItem::AggregationNumber { value: u32::MAX }); } turbo_tasks.schedule(task_id); task_id diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs index e9057c081bccf..dd1ff755fa7fb 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs @@ -126,6 +126,7 @@ impl<'a> TaskGuard<'a> { self.task_id } + #[must_use] pub fn add(&mut self, item: CachedDataItem) -> bool { if !item.is_persistent() { self.task.add(item) @@ -145,6 +146,11 @@ impl<'a> TaskGuard<'a> { } } + pub fn add_new(&mut self, item: CachedDataItem) { + let added = self.add(item); + assert!(added, "Item already exists"); + } + pub fn insert(&mut self, item: CachedDataItem) -> Option { let (key, value) = item.into_key_and_value(); if !key.is_persistent() { diff --git a/turbopack/crates/turbo-tasks-backend/src/data.rs b/turbopack/crates/turbo-tasks-backend/src/data.rs index 7d3acfa57d268..4dfb6186d9035 100644 --- a/turbopack/crates/turbo-tasks-backend/src/data.rs +++ b/turbopack/crates/turbo-tasks-backend/src/data.rs @@ -253,9 +253,12 @@ impl CachedDataItem { } } - pub fn new_scheduled_with_listener(task_id: TaskId) -> (Self, EventListener) { + pub fn new_scheduled_with_listener( + task_id: TaskId, + note: impl Fn() -> String + Sync + Send + 'static, + ) -> (Self, EventListener) { let done_event = Event::new(move || format!("{} done_event", task_id)); - let listener = done_event.listen(); + let listener = done_event.listen_with_note(note); ( CachedDataItem::InProgress { value: InProgressState::Scheduled { From a092a9e02ffd8ada018f15f12540a6187e5151aa Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 16 Aug 2024 07:46:26 +0200 Subject: [PATCH 066/119] remove helpers --- turbopack/crates/turbo-tasks-backend/src/backend/helpers/mod.rs | 1 - .../crates/turbo-tasks-backend/src/backend/helpers/schedule.rs | 1 - turbopack/crates/turbo-tasks-backend/src/backend/mod.rs | 1 - 3 files changed, 3 deletions(-) delete mode 100644 turbopack/crates/turbo-tasks-backend/src/backend/helpers/mod.rs delete mode 100644 turbopack/crates/turbo-tasks-backend/src/backend/helpers/schedule.rs diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/helpers/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/helpers/mod.rs deleted file mode 100644 index 8b137891791fe..0000000000000 --- a/turbopack/crates/turbo-tasks-backend/src/backend/helpers/mod.rs +++ /dev/null @@ -1 +0,0 @@ - diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/helpers/schedule.rs b/turbopack/crates/turbo-tasks-backend/src/backend/helpers/schedule.rs deleted file mode 100644 index 8b137891791fe..0000000000000 --- a/turbopack/crates/turbo-tasks-backend/src/backend/helpers/schedule.rs +++ /dev/null @@ -1 +0,0 @@ - diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index b3a99e87294e3..fc298305c361c 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -1,4 +1,3 @@ -mod helpers; mod operation; mod storage; From ab131defbc27f62b855c48b55073f16b89a2c08d Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 16 Aug 2024 07:47:36 +0200 Subject: [PATCH 067/119] event listen note, remove start event --- .../turbo-tasks-backend/src/backend/mod.rs | 69 ++++++++++++++----- .../backend/operation/aggregation_update.rs | 3 +- .../src/backend/operation/connect_child.rs | 12 +++- .../src/backend/operation/invalidate.rs | 6 +- .../crates/turbo-tasks-backend/src/data.rs | 15 ++-- 5 files changed, 74 insertions(+), 31 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index fc298305c361c..c8ad6e2175a29 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -232,8 +232,14 @@ impl TurboTasksBackend { match in_progress { InProgressState::Scheduled { done_event, .. } | InProgressState::InProgress { done_event, .. } => { - let listener = done_event - .listen_with_note(move || format!("try_read_task_output from {reader:?}")); + let reader_desc = reader.map(|r| self.get_task_desc_fn(r)); + let listener = done_event.listen_with_note(move || { + if let Some(reader_desc) = reader_desc.as_ref() { + format!("try_read_task_output from {}", reader_desc()) + } else { + format!("try_read_task_output (untracked)") + } + }); return Ok(Err(listener)); } } @@ -275,10 +281,18 @@ impl TurboTasksBackend { } } + let reader_desc = reader.map(|r| self.get_task_desc_fn(r)); + let note = move || { + if let Some(reader_desc) = reader_desc.as_ref() { + format!("try_read_task_cell (recompute) from {}", reader_desc()) + } else { + format!("try_read_task_cell (recompute, untracked)") + } + }; + // Output doesn't exist. We need to schedule the task to compute it. - let (item, listener) = CachedDataItem::new_scheduled_with_listener(task_id, move || { - format!("try_read_task_output (recompute) from {reader:?}") - }); + let (item, listener) = + CachedDataItem::new_scheduled_with_listener(self.get_task_desc_fn(task_id), note); task.add_new(item); turbo_tasks.schedule(task_id); @@ -337,23 +351,35 @@ impl TurboTasksBackend { // Cell should exist, but data was dropped or is not serializable. We need to recompute the // task the get the cell content. + let reader_desc = reader.map(|r| self.get_task_desc_fn(r)); + let note = move || { + if let Some(reader_desc) = reader_desc.as_ref() { + format!("try_read_task_cell from {}", reader_desc()) + } else { + format!("try_read_task_cell (untracked)") + } + }; + // Register event listener for cell computation if let Some(in_progress) = get!(task, InProgressCell { cell }) { // Someone else is already computing the cell - let listener = in_progress.event.listen(); + let listener = in_progress.event.listen_with_note(note); return Ok(Err(listener)); } // We create the event and potentially schedule the task let in_progress = InProgressCellState::new(task_id, cell); - let listener = in_progress.event.listen(); + + let listener = in_progress.event.listen_with_note(note); task.add_new(CachedDataItem::InProgressCell { cell, value: in_progress, }); // Schedule the task, if not already scheduled - if task.add(CachedDataItem::new_scheduled(task_id)) { + if task.add(CachedDataItem::new_scheduled( + self.get_task_desc_fn(task_id), + )) { turbo_tasks.schedule(task_id); } @@ -366,6 +392,17 @@ impl TurboTasksBackend { } None } + + // TODO feature flag that for hanging detection only + fn get_task_desc_fn(&self, task_id: TaskId) -> impl Fn() -> String + Send + Sync + 'static { + let task_type = self.lookup_task_type(task_id); + move || { + task_type.as_ref().map_or_else( + || format!("{task_id:?} transient"), + |task_type| format!("{task_id:?} {task_type}"), + ) + } + } } impl Backend for TurboTasksBackend { @@ -489,11 +526,7 @@ impl Backend for TurboTasksBackend { let ctx = self.execute_context(turbo_tasks); let mut task = ctx.task(task_id); let in_progress = remove!(task, InProgress)?; - let InProgressState::Scheduled { - done_event, - start_event, - } = in_progress - else { + let InProgressState::Scheduled { done_event } = in_progress else { task.add_new(CachedDataItem::InProgress { value: in_progress }); return None; }; @@ -589,8 +622,6 @@ impl Backend for TurboTasksBackend { } // TODO: Make all collectibles outdated - - start_event.notify(usize::MAX); } let (span, future) = match task_type { @@ -932,9 +963,13 @@ impl Backend for TurboTasksBackend { ); { let mut task = self.storage.access_mut(task_id); - let _ = task.add(CachedDataItem::new_scheduled(task_id)); - let _ = task.add(CachedDataItem::AggregateRootType { value: root_type }); let _ = task.add(CachedDataItem::AggregationNumber { value: u32::MAX }); + let _ = task.add(CachedDataItem::AggregateRootType { value: root_type }); + let _ = task.add(CachedDataItem::new_scheduled(move || match root_type { + RootType::RootTask => "Root Task".to_string(), + RootType::OnceTask => "Once Task".to_string(), + _ => unreachable!(), + })); } turbo_tasks.schedule(task_id); task_id diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs index c2bc541636c4f..27244cade747f 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs @@ -302,9 +302,10 @@ impl AggregationUpdateQueue { } AggregationUpdateJob::ScheduleWhenDirty { task_ids } => { for task_id in task_ids { + let description = ctx.backend.get_task_desc_fn(task_id); let mut task = ctx.task(task_id); if task.has_key(&CachedDataItemKey::Dirty {}) { - if task.add(CachedDataItem::new_scheduled(task_id)) { + if task.add(CachedDataItem::new_scheduled(description)) { ctx.turbo_tasks.schedule(task_id); } } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs index 5fb5847fe2eb3..5bde34aa32921 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs @@ -70,11 +70,19 @@ impl Operation for ConnectChildOperation { } } ConnectChildOperation::ScheduleTask { task_id } => { + let mut should_schedule; { let mut task = ctx.task(task_id); - task.add(CachedDataItem::new_scheduled(task_id)); + should_schedule = !task.has_key(&CachedDataItemKey::Output {}); + if should_schedule { + should_schedule = task.add(CachedDataItem::new_scheduled( + task.backend.get_task_desc_fn(task_id), + )); + } + } + if should_schedule { + ctx.schedule(task_id); } - ctx.schedule(task_id); self = ConnectChildOperation::Done; } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs index 02cfa2b8e633d..66637422b1c39 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs @@ -91,7 +91,11 @@ pub fn make_task_dirty(task_id: TaskId, queue: &mut AggregationUpdateQueue, ctx: Some(_) => true, None => false, }; - if !in_progress && task.add(CachedDataItem::new_scheduled(task_id)) { + if !in_progress + && task.add(CachedDataItem::new_scheduled( + task.backend.get_task_desc_fn(task_id), + )) + { ctx.turbo_tasks.schedule(task_id) } queue.push(AggregationUpdateJob::DataUpdate { diff --git a/turbopack/crates/turbo-tasks-backend/src/data.rs b/turbopack/crates/turbo-tasks-backend/src/data.rs index 4dfb6186d9035..db0c2b04b14d1 100644 --- a/turbopack/crates/turbo-tasks-backend/src/data.rs +++ b/turbopack/crates/turbo-tasks-backend/src/data.rs @@ -46,7 +46,6 @@ pub enum RootType { pub enum InProgressState { Scheduled { done_event: Event, - start_event: Event, }, InProgress { stale: bool, @@ -244,27 +243,23 @@ impl CachedDataItem { } } - pub fn new_scheduled(task_id: TaskId) -> Self { + pub fn new_scheduled(description: impl Fn() -> String + Sync + Send + 'static) -> Self { CachedDataItem::InProgress { value: InProgressState::Scheduled { - done_event: Event::new(move || format!("{} done_event", task_id)), - start_event: Event::new(move || format!("{} start_event", task_id)), + done_event: Event::new(move || format!("{} done_event", description())), }, } } pub fn new_scheduled_with_listener( - task_id: TaskId, + description: impl Fn() -> String + Sync + Send + 'static, note: impl Fn() -> String + Sync + Send + 'static, ) -> (Self, EventListener) { - let done_event = Event::new(move || format!("{} done_event", task_id)); + let done_event = Event::new(move || format!("{} done_event", description())); let listener = done_event.listen_with_note(note); ( CachedDataItem::InProgress { - value: InProgressState::Scheduled { - done_event, - start_event: Event::new(move || format!("{} start_event", task_id)), - }, + value: InProgressState::Scheduled { done_event }, }, listener, ) From dfdbc18d7ef631254e7cdd0afbe8fe64646cdf6d Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 4 Sep 2024 12:05:03 +0200 Subject: [PATCH 068/119] improve once task handling --- .../turbo-tasks-backend/src/backend/mod.rs | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index c8ad6e2175a29..d87d005eaa51b 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -6,6 +6,7 @@ use std::{ collections::{HashMap, HashSet}, future::Future, hash::BuildHasherDefault, + mem::take, pin::Pin, sync::{ atomic::{AtomicUsize, Ordering}, @@ -74,7 +75,7 @@ pub enum TransientTask { /// happened after that. It may see these invalidations partially /// applied. /// Active until done. Automatically scheduled. - Once(tokio::sync::Mutex> + Send + 'static>>>), + Once(Mutex> + Send + 'static>>>>), } pub struct TurboTasksBackend { @@ -686,18 +687,16 @@ impl Backend for TurboTasksBackend { TaskType::Transient(task_type) => { let task_type = task_type.clone(); let span = tracing::trace_span!("turbo_tasks::root_task"); - let future = Box::pin(async move { - match &*task_type { - TransientTask::Root(f) => { - let future = f(); - future.await - } - TransientTask::Once(future) => { - let mut mutex_guard = future.lock().await; - (&mut *mutex_guard).await - } + let future = match &*task_type { + TransientTask::Root(f) => { + let future = f(); + future } - }) as Pin + Send + '_>>; + TransientTask::Once(future_mutex) => { + let future = take(&mut *future_mutex.lock())?; + future + } + }; (span, future) } }; @@ -958,7 +957,7 @@ impl Backend for TurboTasksBackend { task_id, Arc::new(match task_type { TransientTaskType::Root(f) => TransientTask::Root(f), - TransientTaskType::Once(f) => TransientTask::Once(tokio::sync::Mutex::new(f)), + TransientTaskType::Once(f) => TransientTask::Once(Mutex::new(Some(f))), }), ); { From 8f93d025afa8de6886ed569df8a2ee0e4168278e Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 16 Aug 2024 12:48:12 +0200 Subject: [PATCH 069/119] fix notify when recomputing values --- .../src/backend/operation/update_cell.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs index 2eaeb48faea25..bb301010c5900 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs @@ -24,6 +24,17 @@ impl UpdateCellOperation { in_progress.event.notify(usize::MAX); } + let recomputed = old_content.is_none() && !task.has_key(&CachedDataItemKey::Dirty {}); + + if recomputed { + // Task wasn't invalidated, so we just recompute, so the content has not actually + // changed (At least we have to assume that tasks are deterministic and + // pure). + drop(task); + drop(old_content); + return; + } + let dependent = task .iter() .filter_map(|(key, _)| { From 1349c81b9b4654429e3f051232b051f2330c9698 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 16 Aug 2024 12:48:34 +0200 Subject: [PATCH 070/119] remove from dirty list again --- .../src/backend/operation/aggregation_update.rs | 7 +++++++ .../src/backend/operation/cleanup_old_edges.rs | 9 +++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs index 27244cade747f..4b51befac43c6 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs @@ -144,6 +144,13 @@ impl AggregatedDataUpdate { dirty_tasks_update: HashMap::from([(task_id, 1)]), } } + + pub fn no_longer_dirty_task(task_id: TaskId) -> Self { + Self { + unfinished: -1, + dirty_tasks_update: HashMap::from([(task_id, -1)]), + } + } } impl Add for AggregatedDataUpdate { diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs index ecd71c9df6fff..1ab8c9ebc3281 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs @@ -4,7 +4,7 @@ use serde::{Deserialize, Serialize}; use turbo_tasks::TaskId; use super::{ - aggregation_update::{AggregationUpdateJob, AggregationUpdateQueue}, + aggregation_update::{AggregatedDataUpdate, AggregationUpdateJob, AggregationUpdateQueue}, invalidate::make_task_dirty, ExecuteContext, Operation, }; @@ -38,10 +38,15 @@ pub enum OutdatedEdge { impl CleanupOldEdgesOperation { pub fn run(task_id: TaskId, outdated: Vec, ctx: ExecuteContext<'_>) { + let mut queue = AggregationUpdateQueue::new(); + queue.push(AggregationUpdateJob::DataUpdate { + task_id, + update: AggregatedDataUpdate::no_longer_dirty_task(task_id), + }); CleanupOldEdgesOperation::RemoveEdges { task_id, outdated, - queue: AggregationUpdateQueue::new(), + queue, } .execute(&ctx); } From d9314b760665c9c287c8424f122e170cb3894cd5 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 16 Aug 2024 12:48:53 +0200 Subject: [PATCH 071/119] fixup --- turbopack/crates/turbo-tasks-backend/src/backend/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index d87d005eaa51b..c7c6ad368d4b8 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -285,9 +285,9 @@ impl TurboTasksBackend { let reader_desc = reader.map(|r| self.get_task_desc_fn(r)); let note = move || { if let Some(reader_desc) = reader_desc.as_ref() { - format!("try_read_task_cell (recompute) from {}", reader_desc()) + format!("try_read_task_output (recompute) from {}", reader_desc()) } else { - format!("try_read_task_cell (recompute, untracked)") + format!("try_read_task_output (recompute, untracked)") } }; From a55b4947c3157a36055afc96639e5bcb6736c747 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Sat, 17 Aug 2024 10:05:17 +0200 Subject: [PATCH 072/119] fix hanging of stale tasks --- turbopack/crates/turbo-tasks-backend/src/backend/mod.rs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index c7c6ad368d4b8..777f341e753a3 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -742,11 +742,7 @@ impl Backend for TurboTasksBackend { if stale { task.add_new(CachedDataItem::InProgress { - value: InProgressState::InProgress { - stale: false, - once_task, - done_event, - }, + value: InProgressState::Scheduled { done_event }, }); drop(task); drop(ctx); @@ -816,9 +812,10 @@ impl Backend for TurboTasksBackend { task.remove(&CachedDataItemKey::Dirty {}); - done_event.notify(usize::MAX); drop(task); + done_event.notify(usize::MAX); + CleanupOldEdgesOperation::run(task_id, old_edges, ctx); drop(removed_data) From e9baad97f638057cfcb91eeb48d43cd5769a245c Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Sat, 17 Aug 2024 12:19:19 +0200 Subject: [PATCH 073/119] avoid race condition --- turbopack/crates/turbo-tasks-backend/src/utils/bi_map.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/utils/bi_map.rs b/turbopack/crates/turbo-tasks-backend/src/utils/bi_map.rs index 97392f52b8196..e5be1c583a648 100644 --- a/turbopack/crates/turbo-tasks-backend/src/utils/bi_map.rs +++ b/turbopack/crates/turbo-tasks-backend/src/utils/bi_map.rs @@ -41,8 +41,8 @@ where Entry::Vacant(e) => { let e = e.insert_entry(value.clone()); let key = e.key().clone(); - drop(e); self.reverse.insert(value, key); + drop(e); Ok(()) } } From c60e982bffe805ba9c086c9fce55049cb5ad40e9 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Sat, 17 Aug 2024 12:21:44 +0200 Subject: [PATCH 074/119] remove outdated child --- .../turbo-tasks-backend/src/backend/operation/connect_child.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs index 5bde34aa32921..48070a59584d3 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs @@ -27,6 +27,9 @@ pub enum ConnectChildOperation { impl ConnectChildOperation { pub fn run(parent_task_id: TaskId, child_task_id: TaskId, ctx: ExecuteContext<'_>) { let mut parent_task = ctx.task(parent_task_id); + parent_task.remove(&CachedDataItemKey::OutdatedChild { + task: child_task_id, + }); if parent_task.add(CachedDataItem::Child { task: child_task_id, value: (), From f56aed3cf7eda2f30f91909fa63d0aaca2634a5f Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Sat, 17 Aug 2024 22:18:08 +0200 Subject: [PATCH 075/119] transient tasks are scheduled by the manager --- turbopack/crates/turbo-tasks-backend/src/backend/mod.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index 777f341e753a3..819731d05a1c9 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -967,7 +967,6 @@ impl Backend for TurboTasksBackend { _ => unreachable!(), })); } - turbo_tasks.schedule(task_id); task_id } fn dispose_root_task(&self, _: TaskId, _: &dyn TurboTasksBackendApi) { From c3ad6c711f87c7bdaccab8378fe55bf062fb38e5 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Mon, 2 Sep 2024 20:43:07 +0200 Subject: [PATCH 076/119] improve aggregation implementation --- .../turbo-tasks-backend/src/backend/mod.rs | 4 +- .../backend/operation/aggregation_update.rs | 379 +++++++++++++----- .../backend/operation/cleanup_old_edges.rs | 17 +- .../src/backend/operation/connect_child.rs | 16 +- .../src/backend/storage.rs | 18 +- .../crates/turbo-tasks-backend/src/data.rs | 1 + 6 files changed, 331 insertions(+), 104 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index 819731d05a1c9..5c90aab09c981 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -810,13 +810,13 @@ impl Backend for TurboTasksBackend { }) .collect::>(); - task.remove(&CachedDataItemKey::Dirty {}); + let was_dirty = task.remove(&CachedDataItemKey::Dirty {}).is_some(); drop(task); done_event.notify(usize::MAX); - CleanupOldEdgesOperation::run(task_id, old_edges, ctx); + CleanupOldEdgesOperation::run(task_id, old_edges, was_dirty, ctx); drop(removed_data) } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs index 4b51befac43c6..fc8df3b25d193 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs @@ -1,4 +1,7 @@ -use std::{collections::HashMap, ops::Add}; +use std::{ + collections::{hash_map::Entry, HashMap, VecDeque}, + ops::Add, +}; use serde::{Deserialize, Serialize}; use turbo_tasks::TaskId; @@ -6,11 +9,25 @@ use turbo_tasks::TaskId; use super::{ExecuteContext, TaskGuard}; use crate::{ data::{CachedDataItem, CachedDataItemKey}, - get, get_many, update, update_count, + get, get_many, iter_many, update, update_count, }; +const LEAF_NUMBER: u32 = 8; + +pub fn is_aggregating_node(aggregation_number: u32) -> bool { + aggregation_number >= LEAF_NUMBER +} + +pub fn is_root_node(aggregation_number: u32) -> bool { + aggregation_number == u32::MAX +} + #[derive(Serialize, Deserialize, Clone)] pub enum AggregationUpdateJob { + UpdateAggregationNumber { + task_id: TaskId, + aggregation_number: u32, + }, InnerHasNewFollower { upper_ids: Vec, new_follower_id: TaskId, @@ -23,6 +40,10 @@ pub enum AggregationUpdateJob { upper_ids: Vec, lost_follower_id: TaskId, }, + InnerLostFollowers { + upper_ids: Vec, + lost_follower_ids: Vec, + }, AggregatedDataUpdate { upper_ids: Vec, update: AggregatedDataUpdate, @@ -34,6 +55,10 @@ pub enum AggregationUpdateJob { ScheduleWhenDirty { task_ids: Vec, }, + BalanceEdge { + upper_id: TaskId, + task_id: TaskId, + }, } #[derive(Default, Serialize, Deserialize, Clone)] @@ -45,28 +70,38 @@ pub struct AggregatedDataUpdate { impl AggregatedDataUpdate { fn from_task(task: &mut TaskGuard<'_>) -> Self { - let aggregation = get!(task, AggregationNumber); - if aggregation.is_some() { - let unfinished = get!(task, AggregatedUnfinishedTasks); - let dirty_tasks_update = task + let aggregation = get!(task, AggregationNumber).copied().unwrap_or_default(); + let dirty = get!(task, Dirty).is_some(); + if is_aggregating_node(aggregation) { + let mut unfinished = get!(task, AggregatedUnfinishedTasks).copied().unwrap_or(0); + let mut dirty_tasks_update = task .iter() .filter_map(|(key, _)| match *key { CachedDataItemKey::AggregatedDirtyTask { task } => Some((task, 1)), _ => None, }) - .collect(); + .collect::>(); + if dirty { + unfinished += 1; + dirty_tasks_update.insert(task.id(), 1); + } Self { - unfinished: unfinished.copied().unwrap_or(0) as i32, + unfinished: unfinished as i32, dirty_tasks_update, } + } else if dirty { + Self::dirty_task(task.id()) } else { - let dirty = get!(task, Dirty); - if dirty.is_some() { - Self::dirty_task(task.id()) - } else { - Self::default() - } + Self::default() + } + } + + fn invert(mut self) -> Self { + self.unfinished = -self.unfinished; + for value in self.dirty_tasks_update.values_mut() { + *value = -*value; } + self } fn apply( @@ -82,12 +117,14 @@ impl AggregatedDataUpdate { if *unfinished != 0 { update!(task, AggregatedUnfinishedTasks, |old: Option| { let old = old.unwrap_or(0); - let new = (old as i32 + *unfinished) as u32; + let new = old as i32 + *unfinished; + debug_assert!(new >= 0); + let new = new as u32; if new == 0 { result.unfinished = -1; None } else { - if old > 0 { + if old <= 0 && new > 0 { result.unfinished = 1; } Some(new) @@ -103,17 +140,17 @@ impl AggregatedDataUpdate { AggregatedDirtyTask { task: *task_id }, |old: Option| { let old = old.unwrap_or(0); - if old == 0 { - if root_type.is_some() { - task_to_schedule.push(*task_id); - } - } - let new = (old as i32 + *count) as u32; + let new = old as i32 + *count; + debug_assert!(new >= 0); + let new = new as u32; if new == 0 { result.dirty_tasks_update.insert(*task_id, -1); None } else { - if old > 0 { + if old <= 0 && new > 0 { + if root_type.is_some() { + task_to_schedule.push(*task_id); + } result.dirty_tasks_update.insert(*task_id, 1); } Some(new) @@ -159,7 +196,20 @@ impl Add for AggregatedDataUpdate { fn add(self, rhs: Self) -> Self::Output { let mut dirty_tasks_update = self.dirty_tasks_update; for (task, count) in rhs.dirty_tasks_update { - *dirty_tasks_update.entry(task).or_default() += count; + match dirty_tasks_update.entry(task) { + Entry::Occupied(mut entry) => { + let value = entry.get_mut(); + *value += count; + if *value == 0 { + entry.remove(); + } + } + Entry::Vacant(entry) => { + if count != 0 { + entry.insert(count); + } + } + } } Self { unfinished: self.unfinished + rhs.unfinished, @@ -170,12 +220,14 @@ impl Add for AggregatedDataUpdate { #[derive(Default, Serialize, Deserialize, Clone)] pub struct AggregationUpdateQueue { - jobs: Vec, + jobs: VecDeque, } impl AggregationUpdateQueue { pub fn new() -> Self { - Self { jobs: Vec::new() } + Self { + jobs: VecDeque::new(), + } } pub fn is_empty(&self) -> bool { @@ -183,31 +235,70 @@ impl AggregationUpdateQueue { } pub fn push(&mut self, job: AggregationUpdateJob) { - self.jobs.push(job); + self.jobs.push_back(job); } pub fn process(&mut self, ctx: &ExecuteContext<'_>) -> bool { - if let Some(job) = self.jobs.pop() { + if let Some(job) = self.jobs.pop_back() { match job { + AggregationUpdateJob::UpdateAggregationNumber { + task_id, + aggregation_number, + } => { + let mut task = ctx.task(task_id); + let old = get!(task, AggregationNumber).copied().unwrap_or_default(); + if old < aggregation_number { + task.insert(CachedDataItem::AggregationNumber { + value: aggregation_number, + }); + + if !is_aggregating_node(old) && is_aggregating_node(aggregation_number) { + // When converted from leaf to aggregating node, all children become + // followers + let children: Vec<_> = get_many!(task, Child { task } => task); + for child_id in children { + task.add_new(CachedDataItem::Follower { + task: child_id, + value: 1, + }); + } + } + + if is_aggregating_node(aggregation_number) { + // followers might become inner nodes when the aggregation number is + // increased + let followers = iter_many!(task, Follower { task } => task); + for follower_id in followers { + self.jobs.push_back(AggregationUpdateJob::BalanceEdge { + upper_id: task_id, + task_id: follower_id, + }); + } + } + } + } AggregationUpdateJob::InnerHasNewFollowers { upper_ids, mut new_follower_ids, } => { if let Some(new_follower_id) = new_follower_ids.pop() { if new_follower_ids.is_empty() { - self.jobs.push(AggregationUpdateJob::InnerHasNewFollower { - upper_ids, - new_follower_id, - }); + self.jobs + .push_front(AggregationUpdateJob::InnerHasNewFollower { + upper_ids, + new_follower_id, + }); } else { - self.jobs.push(AggregationUpdateJob::InnerHasNewFollowers { - upper_ids: upper_ids.clone(), - new_follower_ids, - }); - self.jobs.push(AggregationUpdateJob::InnerHasNewFollower { - upper_ids, - new_follower_id, - }); + self.jobs + .push_front(AggregationUpdateJob::InnerHasNewFollowers { + upper_ids: upper_ids.clone(), + new_follower_ids, + }); + self.jobs + .push_front(AggregationUpdateJob::InnerHasNewFollower { + upper_ids, + new_follower_id, + }); } } } @@ -215,20 +306,29 @@ impl AggregationUpdateQueue { mut upper_ids, new_follower_id, } => { - upper_ids.retain(|&_upper_id| { - // let mut upper = ctx.task(upper_id); - // TODO decide if it should be an inner or follower - // TODO for now: always inner + let follower_aggregation_number = { + let follower = ctx.task(new_follower_id); + get!(follower, AggregationNumber) + .copied() + .unwrap_or_default() + }; + let mut upper_ids_as_follower = Vec::new(); + upper_ids.retain(|&upper_id| { + let upper = ctx.task(upper_id); + // decide if it should be an inner or follower + let upper_aggregation_number = + get!(upper, AggregationNumber).copied().unwrap_or_default(); - // TODO add new_follower_data - // TODO propagate change to all uppers - - // TODO return true for inner, false for follower - true + if upper_aggregation_number < follower_aggregation_number { + // It's a follower of the upper node + upper_ids_as_follower.push(upper_id); + false + } else { + // It's an inner node, continue with the list + true + } }); - let children: Vec; - let data; - { + if !upper_ids.is_empty() { let mut follower = ctx.task(new_follower_id); upper_ids.retain(|&upper_id| { if update_count!(follower, Upper { task: upper_id }, 1) { @@ -240,47 +340,137 @@ impl AggregationUpdateQueue { } }); if !upper_ids.is_empty() { - data = AggregatedDataUpdate::from_task(&mut follower); - children = get_many!(follower, Child { task } => task); + let data = AggregatedDataUpdate::from_task(&mut follower); + let children: Vec<_> = get_many!(follower, Child { task } => task); + drop(follower); + + for upper_id in upper_ids.iter() { + // add data to upper + let mut upper = ctx.task(*upper_id); + let diff = data.apply(&mut upper, self); + if !diff.is_empty() { + let upper_ids = get_many!(upper, Upper { task } => task); + self.jobs.push_back( + AggregationUpdateJob::AggregatedDataUpdate { + upper_ids, + update: diff, + }, + ) + } + } + if !children.is_empty() { + self.jobs + .push_back(AggregationUpdateJob::InnerHasNewFollowers { + upper_ids: upper_ids.clone(), + new_follower_ids: children, + }); + } } else { - data = Default::default(); - children = Default::default(); + drop(follower); } } - for upper_id in upper_ids.iter() { - // add data to upper - let mut upper = ctx.task(*upper_id); - let diff = data.apply(&mut upper, self); - if !diff.is_empty() { - let upper_ids = get_many!(upper, Upper { task } => task); - self.jobs.push(AggregationUpdateJob::AggregatedDataUpdate { - upper_ids, - update: diff, - }) + for upper_id in upper_ids_as_follower { + let mut upper = ctx.task(upper_id); + if update_count!( + upper, + Follower { + task: new_follower_id + }, + 1 + ) { + self.jobs + .push_back(AggregationUpdateJob::InnerHasNewFollower { + upper_ids: vec![upper_id], + new_follower_id, + }) } } - if !children.is_empty() { - self.jobs.push(AggregationUpdateJob::InnerHasNewFollowers { - upper_ids: upper_ids.clone(), - new_follower_ids: children, - }); + } + AggregationUpdateJob::InnerLostFollowers { + upper_ids, + mut lost_follower_ids, + } => { + if let Some(lost_follower_id) = lost_follower_ids.pop() { + if lost_follower_ids.is_empty() { + self.jobs + .push_front(AggregationUpdateJob::InnerLostFollower { + upper_ids, + lost_follower_id, + }); + } else { + self.jobs + .push_front(AggregationUpdateJob::InnerLostFollowers { + upper_ids: upper_ids.clone(), + lost_follower_ids, + }); + self.jobs + .push_front(AggregationUpdateJob::InnerLostFollower { + upper_ids, + lost_follower_id, + }); + } } } AggregationUpdateJob::InnerLostFollower { - upper_ids, + mut upper_ids, lost_follower_id, } => { - for upper_id in upper_ids { + let mut follower = ctx.task(lost_follower_id); + let mut upper_ids_as_follower = Vec::new(); + upper_ids.retain(|&upper_id| { + if update_count!(follower, Upper { task: upper_id }, -1) { + // It was an inner + true + } else { + // It is a follower + upper_ids_as_follower.push(upper_id); + false + } + }); + if !upper_ids.is_empty() { + let data = AggregatedDataUpdate::from_task(&mut follower).invert(); + let children: Vec<_> = get_many!(follower, Child { task } => task); + drop(follower); + + for upper_id in upper_ids.iter() { + // remove data from upper + let mut upper = ctx.task(*upper_id); + let diff = data.apply(&mut upper, self); + if !diff.is_empty() { + let upper_ids = get_many!(upper, Upper { task } => task); + self.jobs + .push_back(AggregationUpdateJob::AggregatedDataUpdate { + upper_ids, + update: diff, + }) + } + } + if !children.is_empty() { + self.jobs + .push_back(AggregationUpdateJob::InnerLostFollowers { + upper_ids: upper_ids.clone(), + lost_follower_ids: children, + }); + } + } else { + drop(follower); + } + + for upper_id in upper_ids_as_follower { let mut upper = ctx.task(upper_id); - upper.remove(&CachedDataItemKey::Upper { - task: lost_follower_id, - }); - let diff = AggregatedDataUpdate::dirty_task(lost_follower_id); - let upper_ids = get_many!(upper, Upper { task } => task); - self.jobs.push(AggregationUpdateJob::AggregatedDataUpdate { - upper_ids, - update: diff, - }); + if update_count!( + upper, + Follower { + task: lost_follower_id + }, + -1 + ) { + self.jobs + .push_back(AggregationUpdateJob::InnerLostFollower { + upper_ids: vec![upper_id], + lost_follower_id, + }) + } } } AggregationUpdateJob::AggregatedDataUpdate { upper_ids, update } => { @@ -289,10 +479,11 @@ impl AggregationUpdateQueue { let diff = update.apply(&mut upper, self); if !diff.is_empty() { let upper_ids = get_many!(upper, Upper { task } => task); - self.jobs.push(AggregationUpdateJob::AggregatedDataUpdate { - upper_ids, - update: diff, - }); + self.jobs + .push_back(AggregationUpdateJob::AggregatedDataUpdate { + upper_ids, + update: diff, + }); } } } @@ -301,10 +492,11 @@ impl AggregationUpdateQueue { let diff = update.apply(&mut task, self); if !diff.is_empty() { let upper_ids = get_many!(task, Upper { task } => task); - self.jobs.push(AggregationUpdateJob::AggregatedDataUpdate { - upper_ids, - update: diff, - }); + self.jobs + .push_back(AggregationUpdateJob::AggregatedDataUpdate { + upper_ids, + update: diff, + }); } } AggregationUpdateJob::ScheduleWhenDirty { task_ids } => { @@ -318,6 +510,13 @@ impl AggregationUpdateQueue { } } } + AggregationUpdateJob::BalanceEdge { + upper_id: _, + task_id: _, + } => { + // TODO: implement + // Ignore for now + } } } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs index 1ab8c9ebc3281..faaf54b6203fa 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs @@ -37,12 +37,19 @@ pub enum OutdatedEdge { } impl CleanupOldEdgesOperation { - pub fn run(task_id: TaskId, outdated: Vec, ctx: ExecuteContext<'_>) { + pub fn run( + task_id: TaskId, + outdated: Vec, + was_dirty: bool, + ctx: ExecuteContext<'_>, + ) { let mut queue = AggregationUpdateQueue::new(); - queue.push(AggregationUpdateJob::DataUpdate { - task_id, - update: AggregatedDataUpdate::no_longer_dirty_task(task_id), - }); + if was_dirty { + queue.push(AggregationUpdateJob::DataUpdate { + task_id, + update: AggregatedDataUpdate::no_longer_dirty_task(task_id), + }); + } CleanupOldEdgesOperation::RemoveEdges { task_id, outdated, diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs index 48070a59584d3..7d459a867c5e1 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs @@ -2,7 +2,9 @@ use serde::{Deserialize, Serialize}; use turbo_tasks::TaskId; use super::{ - aggregation_update::{AggregationUpdateJob, AggregationUpdateQueue}, + aggregation_update::{ + is_aggregating_node, is_root_node, AggregationUpdateJob, AggregationUpdateQueue, + }, ExecuteContext, Operation, }; use crate::{ @@ -21,7 +23,6 @@ pub enum ConnectChildOperation { }, #[default] Done, - // TODO Add aggregated edge } impl ConnectChildOperation { @@ -36,7 +37,16 @@ impl ConnectChildOperation { }) { // Update the task aggregation let mut queue = AggregationUpdateQueue::new(); - if get!(parent_task, AggregationNumber).is_some() { + let parent_aggregation = get!(parent_task, AggregationNumber) + .copied() + .unwrap_or_default(); + if !is_root_node(parent_aggregation) { + queue.push(AggregationUpdateJob::UpdateAggregationNumber { + task_id: child_task_id, + aggregation_number: parent_aggregation + 1, + }); + } + if is_aggregating_node(parent_aggregation) { queue.push(AggregationUpdateJob::InnerHasNewFollower { upper_ids: vec![parent_task_id], new_follower_id: child_task_id, diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs index 8474658b0278f..b3256ca7d722e 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs @@ -161,7 +161,7 @@ macro_rules! get { } #[macro_export] -macro_rules! get_many { +macro_rules! iter_many { ($task:ident, $key:ident $input:tt => $value:ident) => { $task .iter() @@ -169,7 +169,6 @@ macro_rules! get_many { CachedDataItemKey::$key $input => Some($value), _ => None, }) - .collect() }; ($task:ident, $key:ident $input:tt $value_ident:ident => $value:expr) => { $task @@ -178,7 +177,6 @@ macro_rules! get_many { (&CachedDataItemKey::$key $input, &CachedDataItemValue::$key { value: $value_ident }) => Some($value), _ => None, }) - .collect() }; ($task:ident, $key1:ident $input1:tt => $value1:ident, $key2:ident $input2:tt => $value2:ident) => { $task @@ -188,7 +186,19 @@ macro_rules! get_many { CachedDataItemKey::$key2 $input2 => Some($value2), _ => None, }) - .collect() + }; +} + +#[macro_export] +macro_rules! get_many { + ($task:ident, $key:ident $input:tt => $value:ident) => { + $crate::iter_many!($task, $key $input => $value).collect() + }; + ($task:ident, $key:ident $input:tt $value_ident:ident => $value:expr) => { + $crate::iter_many!($task, $key $input $value_ident => $value).collect() + }; + ($task:ident, $key1:ident $input1:tt => $value1:ident, $key2:ident $input2:tt => $value2:ident) => { + $crate::iter_many!($task, $key1 $input1 => $value1, $key2 $input2 => $value2).collect() }; } diff --git a/turbopack/crates/turbo-tasks-backend/src/data.rs b/turbopack/crates/turbo-tasks-backend/src/data.rs index db0c2b04b14d1..207949cfac33f 100644 --- a/turbopack/crates/turbo-tasks-backend/src/data.rs +++ b/turbopack/crates/turbo-tasks-backend/src/data.rs @@ -311,6 +311,7 @@ impl CachedDataItemValue { } } +#[derive(Debug)] pub struct CachedDataUpdate { // TODO persistence #[allow(dead_code)] From 407ced8ce57ec2847b7700489910a203c33e69cf Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Tue, 3 Sep 2024 09:13:27 +0200 Subject: [PATCH 077/119] fixup --- .../src/backend/operation/aggregation_update.rs | 4 +++- .../src/backend/operation/connect_child.rs | 7 ++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs index fc8df3b25d193..454a54f1f4fc5 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs @@ -319,7 +319,9 @@ impl AggregationUpdateQueue { let upper_aggregation_number = get!(upper, AggregationNumber).copied().unwrap_or_default(); - if upper_aggregation_number < follower_aggregation_number { + if !is_root_node(upper_aggregation_number) + && upper_aggregation_number <= follower_aggregation_number + { // It's a follower of the upper node upper_ids_as_follower.push(upper_id); false diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs index 7d459a867c5e1..d31b0766a52f5 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs @@ -40,7 +40,12 @@ impl ConnectChildOperation { let parent_aggregation = get!(parent_task, AggregationNumber) .copied() .unwrap_or_default(); - if !is_root_node(parent_aggregation) { + if parent_task_id.is_transient() && !child_task_id.is_transient() { + queue.push(AggregationUpdateJob::UpdateAggregationNumber { + task_id: child_task_id, + aggregation_number: u32::MAX, + }); + } else if !is_root_node(parent_aggregation) { queue.push(AggregationUpdateJob::UpdateAggregationNumber { task_id: child_task_id, aggregation_number: parent_aggregation + 1, From 03816c8c0734305ccccbfd1a400b3dc60b9fe881 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Tue, 3 Sep 2024 10:27:13 +0200 Subject: [PATCH 078/119] strong reads --- .../turbo-tasks-backend/src/backend/mod.rs | 62 +++++++++++++++++-- .../backend/operation/aggregation_update.rs | 32 +++++++--- .../src/backend/operation/mod.rs | 3 + .../crates/turbo-tasks-backend/src/data.rs | 39 +++++++++--- 4 files changed, 116 insertions(+), 20 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index 5c90aab09c981..438c7b1e6dff8 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -19,7 +19,10 @@ use anyhow::{bail, Result}; use auto_hash_map::{AutoMap, AutoSet}; use dashmap::DashMap; pub use operation::AnyOperation; -use operation::{CleanupOldEdgesOperation, ConnectChildOperation, OutdatedEdge}; +use operation::{ + is_root_node, AggregationUpdateJob, AggregationUpdateQueue, CleanupOldEdgesOperation, + ConnectChildOperation, OutdatedEdge, +}; use parking_lot::{Condvar, Mutex}; use rustc_hash::FxHasher; use smallvec::smallvec; @@ -39,7 +42,7 @@ use self::{operation::ExecuteContext, storage::Storage}; use crate::{ data::{ CachedDataItem, CachedDataItemKey, CachedDataItemValue, CachedDataUpdate, CellRef, - InProgressCellState, InProgressState, OutputValue, RootType, + InProgressCellState, InProgressState, OutputValue, RootState, RootType, }, get, get_many, remove, utils::{bi_map::BiMap, chunked_vec::ChunkedVec, ptr_eq_arc::PtrEqArc}, @@ -247,7 +250,56 @@ impl TurboTasksBackend { } if matches!(consistency, ReadConsistency::Strong) { - todo!("Handle strongly consistent read: {task:#?}"); + // Ensure it's an root node + loop { + let aggregation_number = get!(task, AggregationNumber).copied().unwrap_or_default(); + if is_root_node(aggregation_number) { + break; + } + drop(task); + AggregationUpdateQueue::run( + AggregationUpdateJob::UpdateAggregationNumber { + task_id, + aggregation_number: u32::MAX, + }, + &ctx, + ); + task = ctx.task(task_id); + } + + // Check the dirty count of the root node + let dirty_tasks = get!(task, AggregatedDirtyTaskCount) + .copied() + .unwrap_or_default(); + let root = get!(task, AggregateRoot); + if dirty_tasks > 0 { + // When there are dirty task, subscribe to the all_clean_event + let root = if let Some(root) = root { + root + } else { + // If we don't have a root state, add one + // This also makes sure all tasks stay active, so we need to remove that after + // reading again + task.add_new(CachedDataItem::AggregateRoot { + value: RootState::new(RootType::ReadingStronglyConsistent), + }); + get!(task, AggregateRoot).unwrap() + }; + let listener = root.all_clean_event.listen_with_note(move || { + format!( + "try_read_task_output (strongly consistent) from {:?}", + reader + ) + }); + return Ok(Err(listener)); + } else { + // When there ain't dirty tasks, remove the reading strongly consistent root type + if let Some(root) = root { + if matches!(root.ty, RootType::ReadingStronglyConsistent) { + task.remove(&CachedDataItemKey::AggregateRoot {}); + } + } + } } if let Some(output) = get!(task, Output) { @@ -960,7 +1012,9 @@ impl Backend for TurboTasksBackend { { let mut task = self.storage.access_mut(task_id); let _ = task.add(CachedDataItem::AggregationNumber { value: u32::MAX }); - let _ = task.add(CachedDataItem::AggregateRootType { value: root_type }); + let _ = task.add(CachedDataItem::AggregateRoot { + value: RootState::new(root_type), + }); let _ = task.add(CachedDataItem::new_scheduled(move || match root_type { RootType::RootTask => "Root Task".to_string(), RootType::OnceTask => "Once Task".to_string(), diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs index 454a54f1f4fc5..668366689d2ef 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs @@ -6,7 +6,7 @@ use std::{ use serde::{Deserialize, Serialize}; use turbo_tasks::TaskId; -use super::{ExecuteContext, TaskGuard}; +use super::{ExecuteContext, Operation, TaskGuard}; use crate::{ data::{CachedDataItem, CachedDataItemKey}, get, get_many, iter_many, update, update_count, @@ -73,7 +73,7 @@ impl AggregatedDataUpdate { let aggregation = get!(task, AggregationNumber).copied().unwrap_or_default(); let dirty = get!(task, Dirty).is_some(); if is_aggregating_node(aggregation) { - let mut unfinished = get!(task, AggregatedUnfinishedTasks).copied().unwrap_or(0); + let mut unfinished = get!(task, AggregatedDirtyTaskCount).copied().unwrap_or(0); let mut dirty_tasks_update = task .iter() .filter_map(|(key, _)| match *key { @@ -115,7 +115,7 @@ impl AggregatedDataUpdate { } = self; let mut result = Self::default(); if *unfinished != 0 { - update!(task, AggregatedUnfinishedTasks, |old: Option| { + update!(task, AggregatedDirtyTaskCount, |old: Option| { let old = old.unwrap_or(0); let new = old as i32 + *unfinished; debug_assert!(new >= 0); @@ -133,7 +133,7 @@ impl AggregatedDataUpdate { } if !dirty_tasks_update.is_empty() { let mut task_to_schedule = Vec::new(); - let root_type = get!(task, AggregateRootType).copied(); + let root = get!(task, AggregateRoot).is_some(); for (task_id, count) in dirty_tasks_update { update!( task, @@ -148,7 +148,7 @@ impl AggregatedDataUpdate { None } else { if old <= 0 && new > 0 { - if root_type.is_some() { + if root { task_to_schedule.push(*task_id); } result.dirty_tasks_update.insert(*task_id, 1); @@ -226,7 +226,7 @@ pub struct AggregationUpdateQueue { impl AggregationUpdateQueue { pub fn new() -> Self { Self { - jobs: VecDeque::new(), + jobs: VecDeque::with_capacity(8), } } @@ -238,8 +238,14 @@ impl AggregationUpdateQueue { self.jobs.push_back(job); } + pub fn run(job: AggregationUpdateJob, ctx: &ExecuteContext<'_>) { + let mut queue = Self::new(); + queue.push(job); + queue.execute(ctx); + } + pub fn process(&mut self, ctx: &ExecuteContext<'_>) -> bool { - if let Some(job) = self.jobs.pop_back() { + if let Some(job) = self.jobs.pop_front() { match job { AggregationUpdateJob::UpdateAggregationNumber { task_id, @@ -525,3 +531,15 @@ impl AggregationUpdateQueue { self.jobs.is_empty() } } + +impl Operation for AggregationUpdateQueue { + fn execute(mut self, ctx: &ExecuteContext<'_>) { + let _span = tracing::trace_span!("aggregation update queue").entered(); + loop { + ctx.operation_suspend_point(&self); + if self.process(ctx) { + return; + } + } + } +} diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs index dd1ff755fa7fb..26141fafed9cc 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs @@ -298,13 +298,16 @@ pub enum AnyOperation { ConnectChild(connect_child::ConnectChildOperation), Invalidate(invalidate::InvalidateOperation), CleanupOldEdges(cleanup_old_edges::CleanupOldEdgesOperation), + AggregationUpdate(aggregation_update::AggregationUpdateQueue), Nested(Vec), } impl_operation!(ConnectChild connect_child::ConnectChildOperation); impl_operation!(Invalidate invalidate::InvalidateOperation); impl_operation!(CleanupOldEdges cleanup_old_edges::CleanupOldEdgesOperation); +impl_operation!(AggregationUpdate aggregation_update::AggregationUpdateQueue); +pub use aggregation_update::{is_root_node, AggregationUpdateJob}; pub use cleanup_old_edges::OutdatedEdge; pub use update_cell::UpdateCellOperation; pub use update_output::UpdateOutputOperation; diff --git a/turbopack/crates/turbo-tasks-backend/src/data.rs b/turbopack/crates/turbo-tasks-backend/src/data.rs index 207949cfac33f..a9173e5db55ee 100644 --- a/turbopack/crates/turbo-tasks-backend/src/data.rs +++ b/turbopack/crates/turbo-tasks-backend/src/data.rs @@ -35,11 +35,32 @@ impl OutputValue { } } -#[derive(Debug, Copy, Clone, PartialEq, Eq)] +#[derive(Debug)] +pub struct RootState { + pub ty: RootType, + pub all_clean_event: Event, +} + +impl RootState { + pub fn new(ty: RootType) -> Self { + Self { + ty, + all_clean_event: Event::new(|| "RootState::all_clean_event".to_string()), + } + } +} + +#[derive(Debug, Clone, Copy)] pub enum RootType { RootTask, OnceTask, - _ReadingStronglyConsistent, + ReadingStronglyConsistent, +} + +impl Clone for RootState { + fn clone(&self) -> Self { + panic!("RootState cannot be cloned"); + } } #[derive(Debug)] @@ -168,13 +189,13 @@ pub enum CachedDataItem { collectible: CellRef, value: u32, }, - AggregatedUnfinishedTasks { + AggregatedDirtyTaskCount { value: u32, }, // Transient Root Type - AggregateRootType { - value: RootType, + AggregateRoot { + value: RootState, }, // Transient In Progress state @@ -231,8 +252,8 @@ impl CachedDataItem { CachedDataItem::AggregatedCollectible { collectible, .. } => { !collectible.task.is_transient() } - CachedDataItem::AggregatedUnfinishedTasks { .. } => true, - CachedDataItem::AggregateRootType { .. } => false, + CachedDataItem::AggregatedDirtyTaskCount { .. } => true, + CachedDataItem::AggregateRoot { .. } => false, CachedDataItem::InProgress { .. } => false, CachedDataItem::InProgressCell { .. } => false, CachedDataItem::OutdatedCollectible { .. } => false, @@ -289,8 +310,8 @@ impl CachedDataItemKey { CachedDataItemKey::AggregatedCollectible { collectible, .. } => { !collectible.task.is_transient() } - CachedDataItemKey::AggregatedUnfinishedTasks { .. } => true, - CachedDataItemKey::AggregateRootType { .. } => false, + CachedDataItemKey::AggregatedDirtyTaskCount { .. } => true, + CachedDataItemKey::AggregateRoot { .. } => false, CachedDataItemKey::InProgress { .. } => false, CachedDataItemKey::InProgressCell { .. } => false, CachedDataItemKey::OutdatedCollectible { .. } => false, From ea7db424e166e1c2556bd15bdb898e640830c1b9 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Thu, 5 Sep 2024 01:26:42 +0200 Subject: [PATCH 079/119] improve task aggregation --- Cargo.lock | 1 + Cargo.toml | 1 + .../crates/turbo-tasks-backend/Cargo.toml | 3 +- .../backend/operation/aggregation_update.rs | 192 +++++++++++++++--- .../src/backend/operation/connect_child.rs | 4 +- .../src/backend/operation/mod.rs | 16 ++ .../src/backend/storage.rs | 20 +- .../src/utils/dash_map_multi.rs | 166 +++++++++++++++ .../turbo-tasks-backend/src/utils/mod.rs | 1 + 9 files changed, 371 insertions(+), 33 deletions(-) create mode 100644 turbopack/crates/turbo-tasks-backend/src/utils/dash_map_multi.rs diff --git a/Cargo.lock b/Cargo.lock index 49e664cc98828..8e71df6e51898 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8616,6 +8616,7 @@ dependencies = [ "async-trait", "auto-hash-map", "dashmap", + "hashbrown 0.14.5", "indexmap 1.9.3", "once_cell", "parking_lot", diff --git a/Cargo.toml b/Cargo.toml index 89ea6ab5c7486..1a8adfd1c5da1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -146,6 +146,7 @@ dunce = "1.0.3" either = "1.9.0" futures = "0.3.26" futures-retry = "0.6.0" +hashbrown = "0.14.5" httpmock = { version = "0.6.8", default-features = false } image = { version = "0.25.0", default-features = false } indexmap = "1.9.2" diff --git a/turbopack/crates/turbo-tasks-backend/Cargo.toml b/turbopack/crates/turbo-tasks-backend/Cargo.toml index ff458ac2808b2..01419f4d06e13 100644 --- a/turbopack/crates/turbo-tasks-backend/Cargo.toml +++ b/turbopack/crates/turbo-tasks-backend/Cargo.toml @@ -16,7 +16,8 @@ workspace = true anyhow = { workspace = true } async-trait = { workspace = true } auto-hash-map = { workspace = true } -dashmap = { workspace = true } +dashmap = { workspace = true, features = ["raw-api"]} +hashbrown = { workspace = true } indexmap = { workspace = true } once_cell = { workspace = true } parking_lot = { workspace = true } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs index 668366689d2ef..3f26af76aa9e7 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs @@ -9,10 +9,10 @@ use turbo_tasks::TaskId; use super::{ExecuteContext, Operation, TaskGuard}; use crate::{ data::{CachedDataItem, CachedDataItemKey}, - get, get_many, iter_many, update, update_count, + get, get_many, iter_many, remove, update, update_count, }; -const LEAF_NUMBER: u32 = 8; +const LEAF_NUMBER: u32 = 16; pub fn is_aggregating_node(aggregation_number: u32) -> bool { aggregation_number >= LEAF_NUMBER @@ -22,6 +22,25 @@ pub fn is_root_node(aggregation_number: u32) -> bool { aggregation_number == u32::MAX } +fn get_followers_with_aggregation_number( + task: &TaskGuard<'_>, + aggregation_number: u32, +) -> Vec { + if is_aggregating_node(aggregation_number) { + get_many!(task, Follower { task } => task) + } else { + get_many!(task, Child { task } => task) + } +} + +fn get_followers(task: &TaskGuard<'_>) -> Vec { + get_followers_with_aggregation_number(task, get_aggregation_number(task)) +} + +pub fn get_aggregation_number(task: &TaskGuard<'_>) -> u32 { + get!(task, AggregationNumber).copied().unwrap_or_default() +} + #[derive(Serialize, Deserialize, Clone)] pub enum AggregationUpdateJob { UpdateAggregationNumber { @@ -70,7 +89,7 @@ pub struct AggregatedDataUpdate { impl AggregatedDataUpdate { fn from_task(task: &mut TaskGuard<'_>) -> Self { - let aggregation = get!(task, AggregationNumber).copied().unwrap_or_default(); + let aggregation = get_aggregation_number(task); let dirty = get!(task, Dirty).is_some(); if is_aggregating_node(aggregation) { let mut unfinished = get!(task, AggregatedDirtyTaskCount).copied().unwrap_or(0); @@ -130,6 +149,11 @@ impl AggregatedDataUpdate { Some(new) } }); + if result.unfinished == -1 { + if let Some(root_state) = get!(task, AggregateRoot) { + root_state.all_clean_event.notify(usize::MAX); + } + } } if !dirty_tasks_update.is_empty() { let mut task_to_schedule = Vec::new(); @@ -252,7 +276,7 @@ impl AggregationUpdateQueue { aggregation_number, } => { let mut task = ctx.task(task_id); - let old = get!(task, AggregationNumber).copied().unwrap_or_default(); + let old = get_aggregation_number(&task); if old < aggregation_number { task.insert(CachedDataItem::AggregationNumber { value: aggregation_number, @@ -280,6 +304,16 @@ impl AggregationUpdateQueue { task_id: follower_id, }); } + } else { + let children = iter_many!(task, Child { task } => task); + for child_id in children { + self.jobs.push_back( + AggregationUpdateJob::UpdateAggregationNumber { + task_id: child_id, + aggregation_number: aggregation_number + 1, + }, + ); + } } } } @@ -314,16 +348,13 @@ impl AggregationUpdateQueue { } => { let follower_aggregation_number = { let follower = ctx.task(new_follower_id); - get!(follower, AggregationNumber) - .copied() - .unwrap_or_default() + get_aggregation_number(&follower) }; let mut upper_ids_as_follower = Vec::new(); upper_ids.retain(|&upper_id| { let upper = ctx.task(upper_id); // decide if it should be an inner or follower - let upper_aggregation_number = - get!(upper, AggregationNumber).copied().unwrap_or_default(); + let upper_aggregation_number = get_aggregation_number(&upper); if !is_root_node(upper_aggregation_number) && upper_aggregation_number <= follower_aggregation_number @@ -349,7 +380,7 @@ impl AggregationUpdateQueue { }); if !upper_ids.is_empty() { let data = AggregatedDataUpdate::from_task(&mut follower); - let children: Vec<_> = get_many!(follower, Child { task } => task); + let children: Vec<_> = get_followers(&follower); drop(follower); for upper_id in upper_ids.iter() { @@ -437,7 +468,7 @@ impl AggregationUpdateQueue { }); if !upper_ids.is_empty() { let data = AggregatedDataUpdate::from_task(&mut follower).invert(); - let children: Vec<_> = get_many!(follower, Child { task } => task); + let children: Vec<_> = get_followers(&follower); drop(follower); for upper_id in upper_ids.iter() { @@ -486,12 +517,14 @@ impl AggregationUpdateQueue { let mut upper = ctx.task(upper_id); let diff = update.apply(&mut upper, self); if !diff.is_empty() { - let upper_ids = get_many!(upper, Upper { task } => task); - self.jobs - .push_back(AggregationUpdateJob::AggregatedDataUpdate { - upper_ids, - update: diff, - }); + let upper_ids: Vec<_> = get_many!(upper, Upper { task } => task); + if !upper_ids.is_empty() { + self.jobs + .push_back(AggregationUpdateJob::AggregatedDataUpdate { + upper_ids, + update: diff, + }); + } } } } @@ -499,12 +532,14 @@ impl AggregationUpdateQueue { let mut task = ctx.task(task_id); let diff = update.apply(&mut task, self); if !diff.is_empty() { - let upper_ids = get_many!(task, Upper { task } => task); - self.jobs - .push_back(AggregationUpdateJob::AggregatedDataUpdate { - upper_ids, - update: diff, - }); + let upper_ids: Vec<_> = get_many!(task, Upper { task } => task); + if !upper_ids.is_empty() { + self.jobs + .push_back(AggregationUpdateJob::AggregatedDataUpdate { + upper_ids, + update: diff, + }); + } } } AggregationUpdateJob::ScheduleWhenDirty { task_ids } => { @@ -518,12 +553,111 @@ impl AggregationUpdateQueue { } } } - AggregationUpdateJob::BalanceEdge { - upper_id: _, - task_id: _, - } => { - // TODO: implement - // Ignore for now + AggregationUpdateJob::BalanceEdge { upper_id, task_id } => { + let (mut upper, mut task) = ctx.task_pair(upper_id, task_id); + let upper_aggregation_number = get_aggregation_number(&upper); + let task_aggregation_number = get_aggregation_number(&task); + + let should_be_inner = is_root_node(upper_aggregation_number) + || upper_aggregation_number > task_aggregation_number; + let should_be_follower = task_aggregation_number > upper_aggregation_number; + + if should_be_inner { + // remove all follower edges + let count = remove!(upper, Follower { task: task_id }).unwrap_or_default(); + if count > 0 { + // notify uppers about lost follower + let upper_ids: Vec<_> = get_many!(upper, Upper { task } => task); + if !upper_ids.is_empty() { + self.jobs + .push_back(AggregationUpdateJob::InnerLostFollower { + upper_ids, + lost_follower_id: task_id, + }); + } + + // Add the same amount of upper edges + if update_count!(task, Upper { task: upper_id }, count as i32) { + // When this is a new inner node, update aggregated data and + // followers + let data = AggregatedDataUpdate::from_task(&mut task); + let followers = get_followers(&task); + let diff = data.apply(&mut upper, self); + + let upper_ids: Vec<_> = get_many!(upper, Upper { task } => task); + if !upper_ids.is_empty() { + if !diff.is_empty() { + // Notify uppers about changed aggregated data + self.jobs.push_back( + AggregationUpdateJob::AggregatedDataUpdate { + upper_ids: upper_ids.clone(), + update: diff, + }, + ); + } + if !followers.is_empty() { + self.jobs.push_back( + AggregationUpdateJob::InnerHasNewFollowers { + upper_ids, + new_follower_ids: followers, + }, + ); + } + } + } + } + } else if should_be_follower { + // Remove the upper edge + let count = remove!(task, Upper { task: upper_id }).unwrap_or_default(); + if count > 0 { + // Add the same amount of follower edges + if update_count!(upper, Follower { task: task_id }, count as i32) { + // notify uppers about new follower + let upper_ids: Vec<_> = get_many!(upper, Upper { task } => task); + if !upper_ids.is_empty() { + self.jobs.push_back( + AggregationUpdateJob::InnerHasNewFollower { + upper_ids, + new_follower_id: task_id, + }, + ); + } + } + + // Since this is no longer an inner node, update the aggregated data and + // followers + let data = AggregatedDataUpdate::from_task(&mut task).invert(); + let followers = get_followers(&task); + let diff = data.apply(&mut upper, self); + let upper_ids: Vec<_> = get_many!(upper, Upper { task } => task); + if !upper_ids.is_empty() { + if !diff.is_empty() { + self.jobs.push_back( + AggregationUpdateJob::AggregatedDataUpdate { + upper_ids: upper_ids.clone(), + update: diff, + }, + ); + } + if !followers.is_empty() { + self.jobs + .push_back(AggregationUpdateJob::InnerLostFollowers { + upper_ids, + lost_follower_ids: followers, + }); + } + } + } + } else { + // both nodes have the same aggregation number + // We need to change the aggregation number of the task + let new_aggregation_number = upper_aggregation_number + 1; + self.jobs + .push_back(AggregationUpdateJob::UpdateAggregationNumber { + task_id, + aggregation_number: new_aggregation_number, + }); + } } } } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs index d31b0766a52f5..be8db5749a175 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs @@ -12,6 +12,8 @@ use crate::{ get, get_many, }; +const AGGREGATION_NUMBER_BUFFER_SPACE: u32 = 2; + #[derive(Serialize, Deserialize, Clone, Default)] pub enum ConnectChildOperation { UpdateAggregation { @@ -48,7 +50,7 @@ impl ConnectChildOperation { } else if !is_root_node(parent_aggregation) { queue.push(AggregationUpdateJob::UpdateAggregationNumber { task_id: child_task_id, - aggregation_number: parent_aggregation + 1, + aggregation_number: parent_aggregation + AGGREGATION_NUMBER_BUFFER_SPACE + 1, }); } if is_aggregating_node(parent_aggregation) { diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs index 26141fafed9cc..c9848b9e35c57 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs @@ -58,6 +58,22 @@ impl<'a> ExecuteContext<'a> { } } + pub fn task_pair(&self, task_id1: TaskId, task_id2: TaskId) -> (TaskGuard<'a>, TaskGuard<'a>) { + let (task1, task2) = self.backend.storage.access_pair_mut(task_id1, task_id2); + ( + TaskGuard { + task: task1, + task_id: task_id1, + backend: self.backend, + }, + TaskGuard { + task: task2, + task_id: task_id2, + backend: self.backend, + }, + ) + } + pub fn schedule(&self, task_id: TaskId) { self.turbo_tasks.schedule(task_id); } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs index b3256ca7d722e..a6c4a5dd8c200 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs @@ -6,10 +6,12 @@ use std::{ }; use auto_hash_map::{map::Entry, AutoMap}; -use dashmap::{mapref::one::RefMut, DashMap}; +use dashmap::DashMap; use rustc_hash::FxHasher; use turbo_tasks::KeyValuePair; +use crate::utils::dash_map_multi::{get_multiple_mut, RefMut}; + pub struct InnerStorage { // TODO consider adding some inline storage map: AutoMap, @@ -120,7 +122,21 @@ where dashmap::mapref::entry::Entry::Occupied(e) => e.into_ref(), dashmap::mapref::entry::Entry::Vacant(e) => e.insert(InnerStorage::new()), }; - StorageWriteGuard { inner } + StorageWriteGuard { + inner: inner.into(), + } + } + + pub fn access_pair_mut( + &self, + key1: K, + key2: K, + ) -> (StorageWriteGuard<'_, K, T>, StorageWriteGuard<'_, K, T>) { + let (a, b) = get_multiple_mut(&self.map, key1, key2, || InnerStorage::new()); + ( + StorageWriteGuard { inner: a }, + StorageWriteGuard { inner: b }, + ) } } diff --git a/turbopack/crates/turbo-tasks-backend/src/utils/dash_map_multi.rs b/turbopack/crates/turbo-tasks-backend/src/utils/dash_map_multi.rs new file mode 100644 index 0000000000000..ead6317a0262e --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/src/utils/dash_map_multi.rs @@ -0,0 +1,166 @@ +use std::{ + hash::{BuildHasher, Hash}, + ops::{Deref, DerefMut}, + sync::Arc, +}; + +use dashmap::{DashMap, RwLockWriteGuard, SharedValue}; +use hashbrown::{hash_map, HashMap}; + +pub enum RefMut<'a, K, V, S> +where + S: BuildHasher, +{ + Base(dashmap::mapref::one::RefMut<'a, K, V, S>), + Simple { + #[allow(dead_code)] + guard: RwLockWriteGuard<'a, HashMap, S>>, + key: *const K, + value: *mut V, + }, + Shared { + #[allow(dead_code)] + guard: Arc, S>>>, + key: *const K, + value: *mut V, + }, +} + +unsafe impl<'a, K: Eq + Hash + Sync, V: Sync, S: BuildHasher> Send for RefMut<'a, K, V, S> {} +unsafe impl<'a, K: Eq + Hash + Sync, V: Sync, S: BuildHasher> Sync for RefMut<'a, K, V, S> {} + +impl<'a, K: Eq + Hash, V, S: BuildHasher> RefMut<'a, K, V, S> { + pub fn key(&self) -> &K { + self.pair().0 + } + + pub fn value(&self) -> &V { + self.pair().1 + } + + pub fn value_mut(&mut self) -> &mut V { + self.pair_mut().1 + } + + pub fn pair(&self) -> (&K, &V) { + match self { + RefMut::Base(r) => r.pair(), + &RefMut::Simple { key, value, .. } => unsafe { (&*key, &*value) }, + &RefMut::Shared { key, value, .. } => unsafe { (&*key, &*value) }, + } + } + + pub fn pair_mut(&mut self) -> (&K, &mut V) { + match self { + RefMut::Base(r) => r.pair_mut(), + &mut RefMut::Simple { key, value, .. } => unsafe { (&*key, &mut *value) }, + &mut RefMut::Shared { key, value, .. } => unsafe { (&*key, &mut *value) }, + } + } +} + +impl<'a, K: Eq + Hash, V, S: BuildHasher> Deref for RefMut<'a, K, V, S> { + type Target = V; + + fn deref(&self) -> &V { + self.value() + } +} + +impl<'a, K: Eq + Hash, V, S: BuildHasher> DerefMut for RefMut<'a, K, V, S> { + fn deref_mut(&mut self) -> &mut V { + self.value_mut() + } +} + +impl<'a, K, V, S> From> for RefMut<'a, K, V, S> +where + K: Hash + Eq, + S: BuildHasher, +{ + fn from(r: dashmap::mapref::one::RefMut<'a, K, V, S>) -> Self { + RefMut::Base(r) + } +} + +pub fn get_multiple_mut( + map: &DashMap, + key1: K, + key2: K, + insert_with: impl Fn() -> V, +) -> (RefMut<'_, K, V, S>, RefMut<'_, K, V, S>) +where + K: Hash + Eq + Clone, + S: BuildHasher + Clone, +{ + let s1 = map.determine_map(&key1); + let s2 = map.determine_map(&key2); + let shards = map.shards(); + if s1 == s2 { + let mut guard = shards[s1].write(); + let e1 = guard + .raw_entry_mut() + .from_key(&key1) + .or_insert_with(|| (key1.clone(), SharedValue::new(insert_with()))); + let mut key1_ptr = e1.0 as *const K; + let mut value1_ptr = e1.1.get_mut() as *mut V; + let key2_ptr; + let value2_ptr; + match guard.raw_entry_mut().from_key(&key2) { + hash_map::RawEntryMut::Occupied(e) => { + let e2 = e.into_key_value(); + key2_ptr = e2.0 as *const K; + value2_ptr = e2.1.get_mut() as *mut V; + } + hash_map::RawEntryMut::Vacant(e) => { + let e2 = e.insert(key2.clone(), SharedValue::new(insert_with())); + key2_ptr = e2.0 as *const K; + value2_ptr = e2.1.get_mut() as *mut V; + // inserting a new entry might invalidate the pointers of the first entry + let e1 = guard.get_key_value_mut(&key1).unwrap(); + key1_ptr = e1.0 as *const K; + value1_ptr = e1.1.get_mut() as *mut V; + } + } + let guard = Arc::new(guard); + ( + RefMut::Shared { + guard: guard.clone(), + key: key1_ptr, + value: value1_ptr, + }, + RefMut::Shared { + guard, + key: key2_ptr, + value: value2_ptr, + }, + ) + } else { + let mut guard1 = shards[s1].write(); + let mut guard2 = shards[s2].write(); + let e1 = guard1 + .raw_entry_mut() + .from_key(&key1) + .or_insert_with(|| (key1, SharedValue::new(insert_with()))); + let key1 = e1.0 as *const K; + let value1 = e1.1.get_mut() as *mut V; + let e2 = guard2 + .raw_entry_mut() + .from_key(&key2) + .or_insert_with(|| (key2, SharedValue::new(insert_with()))); + let key2 = e2.0 as *const K; + let value2 = e2.1.get_mut() as *mut V; + ( + RefMut::Simple { + guard: guard1, + key: key1, + value: value1, + }, + RefMut::Simple { + guard: guard2, + key: key2, + value: value2, + }, + ) + } +} diff --git a/turbopack/crates/turbo-tasks-backend/src/utils/mod.rs b/turbopack/crates/turbo-tasks-backend/src/utils/mod.rs index 3ad1e0475ec86..676e3b809b388 100644 --- a/turbopack/crates/turbo-tasks-backend/src/utils/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/utils/mod.rs @@ -1,3 +1,4 @@ pub mod bi_map; pub mod chunked_vec; +pub mod dash_map_multi; pub mod ptr_eq_arc; From 7d487ff8f5d1dafd30db124422025d049205385f Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Tue, 3 Sep 2024 16:04:06 +0200 Subject: [PATCH 080/119] remove scheduling on invalidation --- .../src/backend/operation/invalidate.rs | 38 +------------------ 1 file changed, 1 insertion(+), 37 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs index 66637422b1c39..106d3e4d5a3ab 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/invalidate.rs @@ -6,10 +6,7 @@ use super::{ aggregation_update::{AggregatedDataUpdate, AggregationUpdateJob, AggregationUpdateQueue}, ExecuteContext, Operation, }; -use crate::{ - data::{CachedDataItem, InProgressState}, - get, update, -}; +use crate::data::CachedDataItem; #[derive(Serialize, Deserialize, Clone, Default)] pub enum InvalidateOperation { @@ -65,39 +62,6 @@ pub fn make_task_dirty(task_id: TaskId, queue: &mut AggregationUpdateQueue, ctx: let mut task = ctx.task(task_id); if task.add(CachedDataItem::Dirty { value: () }) { - let in_progress = match get!(task, InProgress) { - Some(InProgressState::InProgress { - stale, once_task, .. - }) if !once_task => { - if !*stale { - update!(task, InProgress, |in_progress| { - let Some(InProgressState::InProgress { - stale: _, - once_task, - done_event, - }) = in_progress - else { - unreachable!(); - }; - Some(InProgressState::InProgress { - stale: true, - once_task, - done_event, - }) - }); - } - true - } - Some(_) => true, - None => false, - }; - if !in_progress - && task.add(CachedDataItem::new_scheduled( - task.backend.get_task_desc_fn(task_id), - )) - { - ctx.turbo_tasks.schedule(task_id) - } queue.push(AggregationUpdateJob::DataUpdate { task_id, update: AggregatedDataUpdate::dirty_task(task_id), From 42cf0122611ae0a3a1ed1bd3ce82de66009d2b41 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Tue, 3 Sep 2024 16:04:22 +0200 Subject: [PATCH 081/119] add recompute test case --- turbopack/crates/turbo-tasks-backend/tests/recompute.rs | 1 + 1 file changed, 1 insertion(+) create mode 120000 turbopack/crates/turbo-tasks-backend/tests/recompute.rs diff --git a/turbopack/crates/turbo-tasks-backend/tests/recompute.rs b/turbopack/crates/turbo-tasks-backend/tests/recompute.rs new file mode 120000 index 0000000000000..5c35fb81af4e3 --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/tests/recompute.rs @@ -0,0 +1 @@ +../../turbo-tasks-testing/tests/recompute.rs \ No newline at end of file From 42f91a7c3f64af854262779a24636fe0dff692de Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Tue, 3 Sep 2024 16:11:53 +0200 Subject: [PATCH 082/119] more test cases --- turbopack/crates/turbo-tasks-backend/tests/generics.rs | 1 + turbopack/crates/turbo-tasks-backend/tests/local_cell.rs | 1 + turbopack/crates/turbo-tasks-backend/tests/read_ref_cell.rs | 1 + turbopack/crates/turbo-tasks-backend/tests/trait_ref_cell.rs | 1 + 4 files changed, 4 insertions(+) create mode 120000 turbopack/crates/turbo-tasks-backend/tests/generics.rs create mode 120000 turbopack/crates/turbo-tasks-backend/tests/local_cell.rs create mode 120000 turbopack/crates/turbo-tasks-backend/tests/read_ref_cell.rs create mode 120000 turbopack/crates/turbo-tasks-backend/tests/trait_ref_cell.rs diff --git a/turbopack/crates/turbo-tasks-backend/tests/generics.rs b/turbopack/crates/turbo-tasks-backend/tests/generics.rs new file mode 120000 index 0000000000000..526d71f58d8ba --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/tests/generics.rs @@ -0,0 +1 @@ +../../turbo-tasks-testing/tests/generics.rs \ No newline at end of file diff --git a/turbopack/crates/turbo-tasks-backend/tests/local_cell.rs b/turbopack/crates/turbo-tasks-backend/tests/local_cell.rs new file mode 120000 index 0000000000000..9249e3399052e --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/tests/local_cell.rs @@ -0,0 +1 @@ +../../turbo-tasks-testing/tests/local_cell.rs \ No newline at end of file diff --git a/turbopack/crates/turbo-tasks-backend/tests/read_ref_cell.rs b/turbopack/crates/turbo-tasks-backend/tests/read_ref_cell.rs new file mode 120000 index 0000000000000..4e1719dfefec2 --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/tests/read_ref_cell.rs @@ -0,0 +1 @@ +../../turbo-tasks-testing/tests/read_ref_cell.rs \ No newline at end of file diff --git a/turbopack/crates/turbo-tasks-backend/tests/trait_ref_cell.rs b/turbopack/crates/turbo-tasks-backend/tests/trait_ref_cell.rs new file mode 120000 index 0000000000000..026eed7f3b50f --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/tests/trait_ref_cell.rs @@ -0,0 +1 @@ +../../turbo-tasks-testing/tests/trait_ref_cell.rs \ No newline at end of file From 3ff2170e2de8b323009050b9bc3bf578d4555a89 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 4 Sep 2024 09:07:13 +0200 Subject: [PATCH 083/119] aggregation improvements --- .../backend/operation/aggregation_update.rs | 199 ++++++++++-------- .../backend/operation/cleanup_old_edges.rs | 22 +- .../src/backend/operation/connect_child.rs | 4 +- .../src/backend/storage.rs | 36 ++-- .../crates/turbo-tasks-backend/src/data.rs | 10 +- 5 files changed, 151 insertions(+), 120 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs index 3f26af76aa9e7..71d39e7663013 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs @@ -27,7 +27,7 @@ fn get_followers_with_aggregation_number( aggregation_number: u32, ) -> Vec { if is_aggregating_node(aggregation_number) { - get_many!(task, Follower { task } => task) + get_many!(task, Follower { task } count if count > 0 => task) } else { get_many!(task, Child { task } => task) } @@ -37,11 +37,19 @@ fn get_followers(task: &TaskGuard<'_>) -> Vec { get_followers_with_aggregation_number(task, get_aggregation_number(task)) } +pub fn get_uppers(task: &TaskGuard<'_>) -> Vec { + get_many!(task, Upper { task } count if count > 0 => task) +} + +fn iter_uppers<'a>(task: &'a TaskGuard<'a>) -> impl Iterator + 'a { + iter_many!(task, Upper { task } count if count > 0 => task) +} + pub fn get_aggregation_number(task: &TaskGuard<'_>) -> u32 { get!(task, AggregationNumber).copied().unwrap_or_default() } -#[derive(Serialize, Deserialize, Clone)] +#[derive(Serialize, Deserialize, Clone, Debug)] pub enum AggregationUpdateJob { UpdateAggregationNumber { task_id: TaskId, @@ -80,9 +88,9 @@ pub enum AggregationUpdateJob { }, } -#[derive(Default, Serialize, Deserialize, Clone)] +#[derive(Default, Serialize, Deserialize, Clone, Debug)] pub struct AggregatedDataUpdate { - unfinished: i32, + dirty_task_count: i32, dirty_tasks_update: HashMap, // TODO collectibles } @@ -92,7 +100,7 @@ impl AggregatedDataUpdate { let aggregation = get_aggregation_number(task); let dirty = get!(task, Dirty).is_some(); if is_aggregating_node(aggregation) { - let mut unfinished = get!(task, AggregatedDirtyTaskCount).copied().unwrap_or(0); + let mut dirty_task_count = get!(task, AggregatedDirtyTaskCount).copied().unwrap_or(0); let mut dirty_tasks_update = task .iter() .filter_map(|(key, _)| match *key { @@ -101,11 +109,11 @@ impl AggregatedDataUpdate { }) .collect::>(); if dirty { - unfinished += 1; + dirty_task_count += 1; dirty_tasks_update.insert(task.id(), 1); } Self { - unfinished: unfinished as i32, + dirty_task_count: dirty_task_count as i32, dirty_tasks_update, } } else if dirty { @@ -116,7 +124,7 @@ impl AggregatedDataUpdate { } fn invert(mut self) -> Self { - self.unfinished = -self.unfinished; + self.dirty_task_count = -self.dirty_task_count; for value in self.dirty_tasks_update.values_mut() { *value = -*value; } @@ -129,27 +137,22 @@ impl AggregatedDataUpdate { queue: &mut AggregationUpdateQueue, ) -> AggregatedDataUpdate { let Self { - unfinished, + dirty_task_count, dirty_tasks_update, } = self; let mut result = Self::default(); - if *unfinished != 0 { - update!(task, AggregatedDirtyTaskCount, |old: Option| { + if *dirty_task_count != 0 { + update!(task, AggregatedDirtyTaskCount, |old: Option| { let old = old.unwrap_or(0); - let new = old as i32 + *unfinished; - debug_assert!(new >= 0); - let new = new as u32; - if new == 0 { - result.unfinished = -1; - None - } else { - if old <= 0 && new > 0 { - result.unfinished = 1; - } - Some(new) + let new = old + *dirty_task_count; + if old <= 0 && new > 0 { + result.dirty_task_count = 1; + } else if old > 0 && new <= 0 { + result.dirty_task_count = -1; } + (new != 0).then_some(new) }); - if result.unfinished == -1 { + if result.dirty_task_count == -1 { if let Some(root_state) = get!(task, AggregateRoot) { root_state.all_clean_event.notify(usize::MAX); } @@ -162,23 +165,18 @@ impl AggregatedDataUpdate { update!( task, AggregatedDirtyTask { task: *task_id }, - |old: Option| { + |old: Option| { let old = old.unwrap_or(0); - let new = old as i32 + *count; - debug_assert!(new >= 0); - let new = new as u32; - if new == 0 { - result.dirty_tasks_update.insert(*task_id, -1); - None - } else { - if old <= 0 && new > 0 { - if root { - task_to_schedule.push(*task_id); - } - result.dirty_tasks_update.insert(*task_id, 1); + let new = old + *count; + if old <= 0 && new > 0 { + if root { + task_to_schedule.push(*task_id); } - Some(new) + result.dirty_tasks_update.insert(*task_id, 1); + } else if old > 0 && new <= 0 { + result.dirty_tasks_update.insert(*task_id, -1); } + (new != 0).then_some(new) } ); } @@ -193,22 +191,22 @@ impl AggregatedDataUpdate { fn is_empty(&self) -> bool { let Self { - unfinished, + dirty_task_count, dirty_tasks_update, } = self; - *unfinished == 0 && dirty_tasks_update.is_empty() + *dirty_task_count == 0 && dirty_tasks_update.is_empty() } pub fn dirty_task(task_id: TaskId) -> Self { Self { - unfinished: 1, + dirty_task_count: 1, dirty_tasks_update: HashMap::from([(task_id, 1)]), } } pub fn no_longer_dirty_task(task_id: TaskId) -> Self { Self { - unfinished: -1, + dirty_task_count: -1, dirty_tasks_update: HashMap::from([(task_id, -1)]), } } @@ -236,7 +234,7 @@ impl Add for AggregatedDataUpdate { } } Self { - unfinished: self.unfinished + rhs.unfinished, + dirty_task_count: self.dirty_task_count + rhs.dirty_task_count, dirty_tasks_update, } } @@ -297,13 +295,21 @@ impl AggregationUpdateQueue { if is_aggregating_node(aggregation_number) { // followers might become inner nodes when the aggregation number is // increased - let followers = iter_many!(task, Follower { task } => task); + let followers = + iter_many!(task, Follower { task } count if count > 0 => task); for follower_id in followers { self.jobs.push_back(AggregationUpdateJob::BalanceEdge { upper_id: task_id, task_id: follower_id, }); } + let uppers = iter_uppers(&task); + for upper_id in uppers { + self.jobs.push_back(AggregationUpdateJob::BalanceEdge { + upper_id, + task_id, + }); + } } else { let children = iter_many!(task, Child { task } => task); for child_id in children { @@ -383,18 +389,20 @@ impl AggregationUpdateQueue { let children: Vec<_> = get_followers(&follower); drop(follower); - for upper_id in upper_ids.iter() { - // add data to upper - let mut upper = ctx.task(*upper_id); - let diff = data.apply(&mut upper, self); - if !diff.is_empty() { - let upper_ids = get_many!(upper, Upper { task } => task); - self.jobs.push_back( - AggregationUpdateJob::AggregatedDataUpdate { - upper_ids, - update: diff, - }, - ) + if !data.is_empty() { + for upper_id in upper_ids.iter() { + // add data to upper + let mut upper = ctx.task(*upper_id); + let diff = data.apply(&mut upper, self); + if !diff.is_empty() { + let upper_ids = get_uppers(&upper); + self.jobs.push_back( + AggregationUpdateJob::AggregatedDataUpdate { + upper_ids, + update: diff, + }, + ) + } } } if !children.is_empty() { @@ -471,17 +479,20 @@ impl AggregationUpdateQueue { let children: Vec<_> = get_followers(&follower); drop(follower); - for upper_id in upper_ids.iter() { - // remove data from upper - let mut upper = ctx.task(*upper_id); - let diff = data.apply(&mut upper, self); - if !diff.is_empty() { - let upper_ids = get_many!(upper, Upper { task } => task); - self.jobs - .push_back(AggregationUpdateJob::AggregatedDataUpdate { - upper_ids, - update: diff, - }) + if !data.is_empty() { + for upper_id in upper_ids.iter() { + // remove data from upper + let mut upper = ctx.task(*upper_id); + let diff = data.apply(&mut upper, self); + if !diff.is_empty() { + let upper_ids = get_uppers(&upper); + self.jobs.push_back( + AggregationUpdateJob::AggregatedDataUpdate { + upper_ids, + update: diff, + }, + ) + } } } if !children.is_empty() { @@ -517,7 +528,7 @@ impl AggregationUpdateQueue { let mut upper = ctx.task(upper_id); let diff = update.apply(&mut upper, self); if !diff.is_empty() { - let upper_ids: Vec<_> = get_many!(upper, Upper { task } => task); + let upper_ids = get_uppers(&upper); if !upper_ids.is_empty() { self.jobs .push_back(AggregationUpdateJob::AggregatedDataUpdate { @@ -529,17 +540,14 @@ impl AggregationUpdateQueue { } } AggregationUpdateJob::DataUpdate { task_id, update } => { - let mut task = ctx.task(task_id); - let diff = update.apply(&mut task, self); - if !diff.is_empty() { - let upper_ids: Vec<_> = get_many!(task, Upper { task } => task); - if !upper_ids.is_empty() { - self.jobs - .push_back(AggregationUpdateJob::AggregatedDataUpdate { - upper_ids, - update: diff, - }); - } + let task = ctx.task(task_id); + let upper_ids: Vec<_> = get_uppers(&task); + if !upper_ids.is_empty() { + self.jobs + .push_back(AggregationUpdateJob::AggregatedDataUpdate { + upper_ids, + update: update.clone(), + }); } } AggregationUpdateJob::ScheduleWhenDirty { task_ids } => { @@ -565,16 +573,13 @@ impl AggregationUpdateQueue { if should_be_inner { // remove all follower edges let count = remove!(upper, Follower { task: task_id }).unwrap_or_default(); - if count > 0 { - // notify uppers about lost follower - let upper_ids: Vec<_> = get_many!(upper, Upper { task } => task); - if !upper_ids.is_empty() { - self.jobs - .push_back(AggregationUpdateJob::InnerLostFollower { - upper_ids, - lost_follower_id: task_id, - }); - } + if count < 0 { + upper.add_new(CachedDataItem::Follower { + task: task_id, + value: count, + }) + } else if count > 0 { + let upper_ids = get_uppers(&upper); // Add the same amount of upper edges if update_count!(task, Upper { task: upper_id }, count as i32) { @@ -584,7 +589,6 @@ impl AggregationUpdateQueue { let followers = get_followers(&task); let diff = data.apply(&mut upper, self); - let upper_ids: Vec<_> = get_many!(upper, Upper { task } => task); if !upper_ids.is_empty() { if !diff.is_empty() { // Notify uppers about changed aggregated data @@ -598,26 +602,36 @@ impl AggregationUpdateQueue { if !followers.is_empty() { self.jobs.push_back( AggregationUpdateJob::InnerHasNewFollowers { - upper_ids, + upper_ids: upper_ids.clone(), new_follower_ids: followers, }, ); } } } + + // notify uppers about lost follower + if !upper_ids.is_empty() { + self.jobs + .push_back(AggregationUpdateJob::InnerLostFollower { + upper_ids, + lost_follower_id: task_id, + }); + } } } else if should_be_follower { // Remove the upper edge let count = remove!(task, Upper { task: upper_id }).unwrap_or_default(); if count > 0 { + let upper_ids: Vec<_> = get_uppers(&upper); + // Add the same amount of follower edges if update_count!(upper, Follower { task: task_id }, count as i32) { // notify uppers about new follower - let upper_ids: Vec<_> = get_many!(upper, Upper { task } => task); if !upper_ids.is_empty() { self.jobs.push_back( AggregationUpdateJob::InnerHasNewFollower { - upper_ids, + upper_ids: upper_ids.clone(), new_follower_id: task_id, }, ); @@ -629,7 +643,6 @@ impl AggregationUpdateQueue { let data = AggregatedDataUpdate::from_task(&mut task).invert(); let followers = get_followers(&task); let diff = data.apply(&mut upper, self); - let upper_ids: Vec<_> = get_many!(upper, Upper { task } => task); if !upper_ids.is_empty() { if !diff.is_empty() { self.jobs.push_back( diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs index faaf54b6203fa..04a266c98d150 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/cleanup_old_edges.rs @@ -4,7 +4,10 @@ use serde::{Deserialize, Serialize}; use turbo_tasks::TaskId; use super::{ - aggregation_update::{AggregatedDataUpdate, AggregationUpdateJob, AggregationUpdateQueue}, + aggregation_update::{ + get_aggregation_number, get_uppers, is_aggregating_node, AggregatedDataUpdate, + AggregationUpdateJob, AggregationUpdateQueue, + }, invalidate::make_task_dirty, ExecuteContext, Operation, }; @@ -74,11 +77,18 @@ impl Operation for CleanupOldEdgesOperation { OutdatedEdge::Child(child_id) => { let mut task = ctx.task(task_id); task.remove(&CachedDataItemKey::Child { task: child_id }); - let upper_ids = get_many!(task, Upper { task } => task); - queue.push(AggregationUpdateJob::InnerLostFollower { - upper_ids, - lost_follower_id: child_id, - }); + if is_aggregating_node(get_aggregation_number(&task)) { + queue.push(AggregationUpdateJob::InnerLostFollower { + upper_ids: vec![task_id], + lost_follower_id: child_id, + }); + } else { + let upper_ids = get_uppers(&task); + queue.push(AggregationUpdateJob::InnerLostFollower { + upper_ids, + lost_follower_id: child_id, + }); + } } OutdatedEdge::CellDependency(CellRef { task: cell_task_id, diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs index be8db5749a175..7fc8107ea5471 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs @@ -3,7 +3,7 @@ use turbo_tasks::TaskId; use super::{ aggregation_update::{ - is_aggregating_node, is_root_node, AggregationUpdateJob, AggregationUpdateQueue, + get_uppers, is_aggregating_node, is_root_node, AggregationUpdateJob, AggregationUpdateQueue, }, ExecuteContext, Operation, }; @@ -59,7 +59,7 @@ impl ConnectChildOperation { new_follower_id: child_task_id, }); } else { - let upper_ids = get_many!(parent_task, Upper { task } => task); + let upper_ids = get_uppers(&parent_task); queue.push(AggregationUpdateJob::InnerHasNewFollower { upper_ids, new_follower_id: child_task_id, diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs index a6c4a5dd8c200..78a7ab9e23b90 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs @@ -182,7 +182,7 @@ macro_rules! iter_many { $task .iter() .filter_map(|(key, _)| match *key { - CachedDataItemKey::$key $input => Some($value), + $crate::data::CachedDataItemKey::$key $input => Some($value), _ => None, }) }; @@ -190,7 +190,15 @@ macro_rules! iter_many { $task .iter() .filter_map(|(key, value)| match (key, value) { - (&CachedDataItemKey::$key $input, &CachedDataItemValue::$key { value: $value_ident }) => Some($value), + (&$crate::data::CachedDataItemKey::$key $input, &$crate::data::CachedDataItemValue::$key { value: $value_ident }) => Some($value), + _ => None, + }) + }; + ($task:ident, $key:ident $input:tt $value_ident:ident if $cond:expr => $value:expr) => { + $task + .iter() + .filter_map(|(key, value)| match (key, value) { + (&$crate::data::CachedDataItemKey::$key $input, &$crate::data::CachedDataItemValue::$key { value: $value_ident }) if $cond => Some($value), _ => None, }) }; @@ -198,8 +206,8 @@ macro_rules! iter_many { $task .iter() .filter_map(|(key, _)| match *key { - CachedDataItemKey::$key1 $input1 => Some($value1), - CachedDataItemKey::$key2 $input2 => Some($value2), + $crate::data::CachedDataItemKey::$key1 $input1 => Some($value1), + $crate::data::CachedDataItemKey::$key2 $input2 => Some($value2), _ => None, }) }; @@ -213,6 +221,9 @@ macro_rules! get_many { ($task:ident, $key:ident $input:tt $value_ident:ident => $value:expr) => { $crate::iter_many!($task, $key $input $value_ident => $value).collect() }; + ($task:ident, $key:ident $input:tt $value_ident:ident if $cond:expr => $value:expr) => { + $crate::iter_many!($task, $key $input $value_ident if $cond => $value).collect() + }; ($task:ident, $key1:ident $input1:tt => $value1:ident, $key2:ident $input2:tt => $value2:ident) => { $crate::iter_many!($task, $key1 $input1 => $value1, $key2 $input2 => $value2).collect() }; @@ -258,17 +269,14 @@ macro_rules! update_count { match $update { update => { let mut state_change = false; - $crate::update!($task, $key $input, |old: Option| { - if old.is_none() { - state_change = true; - } - let old = old.unwrap_or(0); - let new = old as i32 + update; - if new == 0 { - state_change = true; - None + $crate::update!($task, $key $input, |old: Option| { + if let Some(old) = old { + let new = old + update; + state_change = old <= 0 && new > 0 || old > 0 && new <= 0; + (new != 0).then_some(new) } else { - Some(new as u32) + state_change = update > 0; + (update != 0).then_some(update) } }); state_change diff --git a/turbopack/crates/turbo-tasks-backend/src/data.rs b/turbopack/crates/turbo-tasks-backend/src/data.rs index a9173e5db55ee..a33d8263acf3f 100644 --- a/turbopack/crates/turbo-tasks-backend/src/data.rs +++ b/turbopack/crates/turbo-tasks-backend/src/data.rs @@ -173,24 +173,24 @@ pub enum CachedDataItem { }, Follower { task: TaskId, - value: u32, + value: i32, }, Upper { task: TaskId, - value: u32, + value: i32, }, // Aggregated Data AggregatedDirtyTask { task: TaskId, - value: u32, + value: i32, }, AggregatedCollectible { collectible: CellRef, - value: u32, + value: i32, }, AggregatedDirtyTaskCount { - value: u32, + value: i32, }, // Transient Root Type From 2284f8a971adc8371fdd33c0292057f4a14cb56a Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 9 Aug 2024 11:25:58 +0200 Subject: [PATCH 084/119] add lmdb persisting and restoring --- Cargo.lock | 24 +++ .../crates/turbo-tasks-backend/Cargo.toml | 2 + .../turbo-tasks-backend/src/backend/mod.rs | 134 ++++++++++-- .../src/backend/operation/mod.rs | 25 ++- .../src/backend/operation/update_cell.rs | 2 +- .../src/backend/storage.rs | 36 ++++ .../src/backing_storage.rs | 23 ++ .../crates/turbo-tasks-backend/src/data.rs | 14 +- .../crates/turbo-tasks-backend/src/lib.rs | 3 + .../src/lmdb_backing_storage.rs | 199 ++++++++++++++++++ .../src/utils/chunked_vec.rs | 21 +- .../src/utils/ptr_eq_arc.rs | 4 + .../turbo-tasks-backend/tests/test_config.trs | 19 +- .../crates/turbo-tasks-testing/tests/basic.rs | 16 +- turbopack/crates/turbo-tasks/src/lib.rs | 2 +- turbopack/crates/turbo-tasks/src/task/mod.rs | 2 +- 16 files changed, 488 insertions(+), 38 deletions(-) create mode 100644 turbopack/crates/turbo-tasks-backend/src/backing_storage.rs create mode 100644 turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs diff --git a/Cargo.lock b/Cargo.lock index 8e71df6e51898..e1e3edd147e04 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3620,6 +3620,28 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" +[[package]] +name = "lmdb" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b0908efb5d6496aa977d96f91413da2635a902e5e31dbef0bfb88986c248539" +dependencies = [ + "bitflags 1.3.2", + "libc", + "lmdb-sys", +] + +[[package]] +name = "lmdb-sys" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5b392838cfe8858e86fac37cf97a0e8c55cc60ba0a18365cadc33092f128ce9" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + [[package]] name = "lock_api" version = "0.4.10" @@ -8615,9 +8637,11 @@ dependencies = [ "anyhow", "async-trait", "auto-hash-map", + "bincode", "dashmap", "hashbrown 0.14.5", "indexmap 1.9.3", + "lmdb", "once_cell", "parking_lot", "rand", diff --git a/turbopack/crates/turbo-tasks-backend/Cargo.toml b/turbopack/crates/turbo-tasks-backend/Cargo.toml index 01419f4d06e13..5b9c810ba8778 100644 --- a/turbopack/crates/turbo-tasks-backend/Cargo.toml +++ b/turbopack/crates/turbo-tasks-backend/Cargo.toml @@ -16,9 +16,11 @@ workspace = true anyhow = { workspace = true } async-trait = { workspace = true } auto-hash-map = { workspace = true } +bincode = "1.3.3" dashmap = { workspace = true, features = ["raw-api"]} hashbrown = { workspace = true } indexmap = { workspace = true } +lmdb = "0.8.0" once_cell = { workspace = true } parking_lot = { workspace = true } rand = { workspace = true } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index 438c7b1e6dff8..c47c9e805f3ea 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -9,10 +9,10 @@ use std::{ mem::take, pin::Pin, sync::{ - atomic::{AtomicUsize, Ordering}, + atomic::{AtomicU64, AtomicUsize, Ordering}, Arc, }, - time::Duration, + time::{Duration, Instant}, }; use anyhow::{bail, Result}; @@ -40,6 +40,7 @@ use turbo_tasks::{ use self::{operation::ExecuteContext, storage::Storage}; use crate::{ + backing_storage::BackingStorage, data::{ CachedDataItem, CachedDataItemKey, CachedDataItemValue, CachedDataUpdate, CellRef, InProgressCellState, InProgressState, OutputValue, RootState, RootType, @@ -82,6 +83,8 @@ pub enum TransientTask { } pub struct TurboTasksBackend { + start_time: Instant, + persisted_task_id_factory: IdFactoryWithReuse, transient_task_id_factory: IdFactoryWithReuse, @@ -107,18 +110,20 @@ pub struct TurboTasksBackend { /// Condition Variable that is triggered when a snapshot is completed and /// operations can continue. snapshot_completed: Condvar, -} + /// The timestamp of the last started snapshot. + last_snapshot: AtomicU64, -impl Default for TurboTasksBackend { - fn default() -> Self { - Self::new() - } + backing_storage: Arc, } impl TurboTasksBackend { - pub fn new() -> Self { + pub fn new(backing_storage: Arc) -> Self { Self { - persisted_task_id_factory: IdFactoryWithReuse::new(1, (TRANSIENT_TASK_BIT - 1) as u64), + start_time: Instant::now(), + persisted_task_id_factory: IdFactoryWithReuse::new( + *backing_storage.next_free_task_id() as u64, + (TRANSIENT_TASK_BIT - 1) as u64, + ), transient_task_id_factory: IdFactoryWithReuse::new( TRANSIENT_TASK_BIT as u64, u32::MAX as u64, @@ -132,6 +137,8 @@ impl TurboTasksBackend { snapshot_request: Mutex::new(SnapshotRequest::new()), operations_suspended: Condvar::new(), snapshot_completed: Condvar::new(), + last_snapshot: AtomicU64::new(0), + backing_storage, } } @@ -383,7 +390,10 @@ impl TurboTasksBackend { let _ = reader_task.add(CachedDataItem::CellDependency { target, value: () }); } } - return Ok(Ok(CellContent(Some(content)).into_typed(cell.type_id))); + return Ok(Ok(TypedCellContent( + cell.type_id, + CellContent(Some(content.1)), + ))); } // Check cell index range (cell might not exist at all) @@ -443,6 +453,10 @@ impl TurboTasksBackend { if let Some(task_type) = self.task_cache.lookup_reverse(&task_id) { return Some(task_type); } + if let Some(task_type) = self.backing_storage.reverse_lookup_task_cache(task_id) { + let _ = self.task_cache.try_insert(task_type.clone(), task_id); + return Some(task_type); + } None } @@ -456,9 +470,70 @@ impl TurboTasksBackend { ) } } + + fn snapshot(&self) -> Option { + let mut snapshot_request = self.snapshot_request.lock(); + snapshot_request.snapshot_requested = true; + let active_operations = self + .in_progress_operations + .fetch_or(SNAPSHOT_REQUESTED_BIT, std::sync::atomic::Ordering::Relaxed); + if active_operations != 0 { + self.operations_suspended + .wait_while(&mut snapshot_request, |_| { + self.in_progress_operations + .load(std::sync::atomic::Ordering::Relaxed) + != SNAPSHOT_REQUESTED_BIT + }); + } + let suspended_operations = snapshot_request + .suspended_operations + .iter() + .map(|op| op.arc().clone()) + .collect::>(); + drop(snapshot_request); + let persisted_storage_log = take(&mut *self.persisted_storage_log.lock()); + let persisted_task_cache_log = take(&mut *self.persisted_task_cache_log.lock()); + let mut snapshot_request = self.snapshot_request.lock(); + snapshot_request.snapshot_requested = false; + self.in_progress_operations + .fetch_sub(SNAPSHOT_REQUESTED_BIT, std::sync::atomic::Ordering::Relaxed); + self.snapshot_completed.notify_all(); + let snapshot_time = Instant::now(); + drop(snapshot_request); + + let mut counts: HashMap = HashMap::new(); + for CachedDataUpdate { task, .. } in persisted_storage_log.iter() { + *counts.entry(*task).or_default() += 1; + } + + if !persisted_task_cache_log.is_empty() || !persisted_storage_log.is_empty() { + if let Err(err) = self.backing_storage.save_snapshot( + suspended_operations, + persisted_task_cache_log, + persisted_storage_log, + ) { + println!("Persising failed: {:#?}", err); + return None; + } + println!("Snapshot saved"); + } + + for (task_id, count) in counts { + self.storage + .access_mut(task_id) + .persistance_state + .finish_persisting_items(count); + } + + Some(snapshot_time) + } } impl Backend for TurboTasksBackend { + fn startup(&self, turbo_tasks: &dyn TurboTasksBackendApi) { + turbo_tasks.schedule_backend_background_job(BackendJobId::from(1)); + } + fn get_or_create_persistent_task( &self, task_type: CachedTaskType, @@ -470,6 +545,12 @@ impl Backend for TurboTasksBackend { return task_id; } + if let Some(task_id) = self.backing_storage.forward_lookup_task_cache(&task_type) { + let _ = self.task_cache.try_insert(Arc::new(task_type), task_id); + self.connect_child(parent_task, task_id, turbo_tasks); + return task_id; + } + let task_type = Arc::new(task_type); let task_id = self.persisted_task_id_factory.get(); if let Err(existing_task_id) = self.task_cache.try_insert(task_type.clone(), task_id) { @@ -876,12 +957,31 @@ impl Backend for TurboTasksBackend { stale } - fn run_backend_job( - &self, - _: BackendJobId, - _: &dyn TurboTasksBackendApi, - ) -> Pin + Send + 'static)>> { - todo!() + fn run_backend_job<'a>( + &'a self, + id: BackendJobId, + turbo_tasks: &'a dyn TurboTasksBackendApi, + ) -> Pin + Send + 'a>> { + Box::pin(async move { + if *id == 1 { + const SNAPSHOT_INTERVAL: Duration = Duration::from_secs(1); + + let last_snapshot = self.last_snapshot.load(Ordering::Relaxed); + let last_snapshot = self.start_time + Duration::from_millis(last_snapshot); + let elapsed = last_snapshot.elapsed(); + if elapsed < SNAPSHOT_INTERVAL { + tokio::time::sleep(SNAPSHOT_INTERVAL - elapsed).await; + } + + if let Some(last_snapshot) = self.snapshot() { + let last_snapshot = last_snapshot.duration_since(self.start_time); + self.last_snapshot + .store(last_snapshot.as_millis() as u64, Ordering::Relaxed); + + turbo_tasks.schedule_backend_background_job(id); + } + } + }) } fn try_read_task_output( @@ -931,7 +1031,7 @@ impl Backend for TurboTasksBackend { let ctx = self.execute_context(turbo_tasks); let task = ctx.task(task_id); if let Some(content) = get!(task, CellData { cell }) { - Ok(CellContent(Some(content.clone())).into_typed(cell.type_id)) + Ok(CellContent(Some(content.1.clone())).into_typed(cell.type_id)) } else { Ok(CellContent(None).into_typed(cell.type_id)) } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs index c9848b9e35c57..d7a43a3326dc2 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs @@ -51,8 +51,25 @@ impl<'a> ExecuteContext<'a> { } pub fn task(&self, task_id: TaskId) -> TaskGuard<'a> { + let mut task = self.backend.storage.access_mut(task_id); + if !task.persistance_state.is_restored() { + if task_id.is_transient() { + task.persistance_state.set_restored(); + } else { + // Avoid holding the lock too long since this can also affect other tasks + drop(task); + let items = self.backend.backing_storage.lookup_data(task_id); + task = self.backend.storage.access_mut(task_id); + if !task.persistance_state.is_restored() { + for item in items { + task.add(item); + } + task.persistance_state.set_restored(); + } + } + } TaskGuard { - task: self.backend.storage.access_mut(task_id), + task, task_id, backend: self.backend, } @@ -148,6 +165,7 @@ impl<'a> TaskGuard<'a> { self.task.add(item) } else if self.task.add(item.clone()) { let (key, value) = item.into_key_and_value(); + self.task.persistance_state.add_persisting_item(); self.backend .persisted_storage_log .lock() @@ -177,6 +195,7 @@ impl<'a> TaskGuard<'a> { key.clone(), value.clone(), )); + self.task.persistance_state.add_persisting_item(); self.backend .persisted_storage_log .lock() @@ -190,6 +209,7 @@ impl<'a> TaskGuard<'a> { let item = CachedDataItem::from_key_and_value(key.clone(), value); if let Some(old) = self.task.insert(item) { if old.is_persistent() { + self.task.persistance_state.add_persisting_item(); self.backend .persisted_storage_log .lock() @@ -249,7 +269,7 @@ impl<'a> TaskGuard<'a> { new }); if add_persisting_item { - // TODO task.persistance_state.add_persisting_item(); + task.persistance_state.add_persisting_item(); } } @@ -258,6 +278,7 @@ impl<'a> TaskGuard<'a> { if let Some(value) = old_value { if key.is_persistent() && value.is_persistent() { let key = key.clone(); + self.task.persistance_state.add_persisting_item(); self.backend .persisted_storage_log .lock() diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs index bb301010c5900..6ed32d2fbfa61 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs @@ -14,7 +14,7 @@ impl UpdateCellOperation { let old_content = if let CellContent(Some(new_content)) = content { task.insert(CachedDataItem::CellData { cell, - value: new_content, + value: new_content.into_typed(cell.type_id), }) } else { task.remove(&CachedDataItemKey::CellData { cell }) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs index 78a7ab9e23b90..3676d40490430 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs @@ -12,15 +12,51 @@ use turbo_tasks::KeyValuePair; use crate::utils::dash_map_multi::{get_multiple_mut, RefMut}; +const UNRESTORED: u32 = u32::MAX; + +pub struct PersistanceState { + value: u32, +} + +impl Default for PersistanceState { + fn default() -> Self { + Self { value: UNRESTORED } + } +} + +impl PersistanceState { + pub fn set_restored(&mut self) { + self.value = 0; + } + + pub fn add_persisting_item(&mut self) { + self.value += 1; + } + + pub fn finish_persisting_items(&mut self, count: u32) { + self.value -= count; + } + + pub fn is_restored(&self) -> bool { + self.value != UNRESTORED + } + + pub fn is_fully_persisted(&self) -> bool { + self.value == 0 + } +} + pub struct InnerStorage { // TODO consider adding some inline storage map: AutoMap, + pub persistance_state: PersistanceState, } impl InnerStorage { fn new() -> Self { Self { map: AutoMap::new(), + persistance_state: PersistanceState::default(), } } diff --git a/turbopack/crates/turbo-tasks-backend/src/backing_storage.rs b/turbopack/crates/turbo-tasks-backend/src/backing_storage.rs new file mode 100644 index 0000000000000..6b6707c476e51 --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/src/backing_storage.rs @@ -0,0 +1,23 @@ +use std::sync::Arc; + +use anyhow::Result; +use turbo_tasks::{backend::CachedTaskType, TaskId}; + +use crate::{ + backend::AnyOperation, + data::{CachedDataItem, CachedDataUpdate}, + utils::chunked_vec::ChunkedVec, +}; + +pub trait BackingStorage { + fn next_free_task_id(&self) -> TaskId; + fn save_snapshot( + &self, + operations: Vec>, + task_cache_updates: ChunkedVec<(Arc, TaskId)>, + data_updates: ChunkedVec, + ) -> Result<()>; + fn forward_lookup_task_cache(&self, key: &CachedTaskType) -> Option; + fn reverse_lookup_task_cache(&self, task_id: TaskId) -> Option>; + fn lookup_data(&self, task_id: TaskId) -> Vec; +} diff --git a/turbopack/crates/turbo-tasks-backend/src/data.rs b/turbopack/crates/turbo-tasks-backend/src/data.rs index a33d8263acf3f..e75c8b8db8d04 100644 --- a/turbopack/crates/turbo-tasks-backend/src/data.rs +++ b/turbopack/crates/turbo-tasks-backend/src/data.rs @@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize}; use turbo_tasks::{ event::{Event, EventListener}, util::SharedError, - CellId, KeyValuePair, SharedReference, TaskId, ValueTypeId, + CellId, KeyValuePair, TaskId, TypedSharedReference, ValueTypeId, }; #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Serialize, Deserialize)] @@ -102,7 +102,7 @@ impl InProgressCellState { } } -#[derive(Debug, Clone, KeyValuePair)] +#[derive(Debug, Clone, KeyValuePair, Serialize, Deserialize)] pub enum CachedDataItem { // Output Output { @@ -130,7 +130,7 @@ pub enum CachedDataItem { // Cells CellData { cell: CellId, - value: SharedReference, + value: TypedSharedReference, }, CellTypeMaxIndex { cell_type: ValueTypeId, @@ -194,14 +194,17 @@ pub enum CachedDataItem { }, // Transient Root Type + #[serde(skip)] AggregateRoot { value: RootState, }, // Transient In Progress state + #[serde(skip)] InProgress { value: InProgressState, }, + #[serde(skip)] InProgressCell { cell: CellId, value: InProgressCellState, @@ -224,6 +227,7 @@ pub enum CachedDataItem { }, // Transient Error State + #[serde(skip)] Error { value: SharedError, }, @@ -334,11 +338,7 @@ impl CachedDataItemValue { #[derive(Debug)] pub struct CachedDataUpdate { - // TODO persistence - #[allow(dead_code)] pub task: TaskId, - #[allow(dead_code)] pub key: CachedDataItemKey, - #[allow(dead_code)] pub value: Option, } diff --git a/turbopack/crates/turbo-tasks-backend/src/lib.rs b/turbopack/crates/turbo-tasks-backend/src/lib.rs index 5fc95b21a44d9..293c5d6c105b9 100644 --- a/turbopack/crates/turbo-tasks-backend/src/lib.rs +++ b/turbopack/crates/turbo-tasks-backend/src/lib.rs @@ -1,5 +1,8 @@ mod backend; +mod backing_storage; mod data; +mod lmdb_backing_storage; mod utils; pub use backend::TurboTasksBackend; +pub use lmdb_backing_storage::LmdbBackingStorage; diff --git a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs new file mode 100644 index 0000000000000..5239eb18dda82 --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs @@ -0,0 +1,199 @@ +use std::{ + collections::{hash_map::Entry, HashMap}, + error::Error, + path::Path, + sync::Arc, + thread::available_parallelism, +}; + +use anyhow::Result; +use lmdb::{Database, DatabaseFlags, Environment, EnvironmentFlags, Transaction, WriteFlags}; +use turbo_tasks::{backend::CachedTaskType, KeyValuePair, TaskId}; + +use crate::{ + backend::AnyOperation, + backing_storage::BackingStorage, + data::{CachedDataItem, CachedDataItemKey, CachedDataItemValue, CachedDataUpdate}, + utils::chunked_vec::ChunkedVec, +}; + +const META_KEY_OPERATIONS: u32 = 0; +const META_KEY_NEXT_FREE_TASK_ID: u32 = 1; + +struct IntKey([u8; 4]); + +impl IntKey { + fn new(value: u32) -> Self { + Self(value.to_be_bytes()) + } +} + +impl AsRef<[u8]> for IntKey { + fn as_ref(&self) -> &[u8] { + &self.0 + } +} + +fn as_u32(result: Result<&[u8], E>) -> Result { + let bytes = result?; + let n = bytes.try_into().map(u32::from_be_bytes)?; + Ok(n) +} + +pub struct LmdbBackingStorage { + env: Environment, + meta_db: Database, + data_db: Database, + forward_task_cache_db: Database, + reverse_task_cache_db: Database, +} + +impl LmdbBackingStorage { + pub fn new(path: &Path) -> Result { + println!("opening lmdb {:?}", path); + let env = Environment::new() + .set_flags(EnvironmentFlags::WRITE_MAP | EnvironmentFlags::NO_META_SYNC) + .set_max_readers((available_parallelism().map_or(16, |v| v.get()) * 8) as u32) + .set_max_dbs(4) + .set_map_size(20 * 1024 * 1024 * 1024) + .open(path)?; + let meta_db = env.create_db(Some("meta"), DatabaseFlags::INTEGER_KEY)?; + let data_db = env.create_db(Some("data"), DatabaseFlags::INTEGER_KEY)?; + let forward_task_cache_db = + env.create_db(Some("forward_task_cache"), DatabaseFlags::empty())?; + let reverse_task_cache_db = + env.create_db(Some("reverse_task_cache"), DatabaseFlags::INTEGER_KEY)?; + Ok(Self { + env, + meta_db, + data_db, + forward_task_cache_db, + reverse_task_cache_db, + }) + } +} + +impl BackingStorage for LmdbBackingStorage { + fn next_free_task_id(&self) -> TaskId { + let Ok(tx) = self.env.begin_ro_txn() else { + return TaskId::from(1); + }; + let next_free_task_id = + as_u32(tx.get(self.meta_db, &IntKey::new(META_KEY_NEXT_FREE_TASK_ID))).unwrap_or(1); + let _ = tx.commit(); + TaskId::from(next_free_task_id) + } + + fn save_snapshot( + &self, + operations: Vec>, + task_cache_updates: ChunkedVec<(Arc, TaskId)>, + data_updates: ChunkedVec, + ) -> Result<()> { + let mut tx = self.env.begin_rw_txn()?; + let mut next_task_id = + as_u32(tx.get(self.meta_db, &IntKey::new(META_KEY_NEXT_FREE_TASK_ID))).unwrap_or(1); + for (task_type, task_id) in task_cache_updates.iter() { + let task_id = **task_id; + let task_type = bincode::serialize(&task_type)?; + tx.put( + self.forward_task_cache_db, + &task_type, + &task_id.to_be_bytes(), + WriteFlags::empty(), + )?; + tx.put( + self.reverse_task_cache_db, + &IntKey::new(task_id), + &task_type, + WriteFlags::empty(), + )?; + next_task_id = next_task_id.max(task_id + 1); + } + tx.put( + self.meta_db, + &IntKey::new(META_KEY_NEXT_FREE_TASK_ID), + &next_task_id.to_be_bytes(), + WriteFlags::empty(), + )?; + let operations = bincode::serialize(&operations)?; + tx.put( + self.meta_db, + &IntKey::new(META_KEY_OPERATIONS), + &operations, + WriteFlags::empty(), + )?; + let mut updated_items: HashMap> = + HashMap::new(); + for CachedDataUpdate { task, key, value } in data_updates.into_iter() { + let data = match updated_items.entry(task) { + Entry::Occupied(entry) => entry.into_mut(), + Entry::Vacant(entry) => { + let mut map = HashMap::new(); + if let Ok(old_data) = tx.get(self.data_db, &IntKey::new(*task)) { + let old_data: Vec = bincode::deserialize(old_data)?; + for item in old_data { + let (key, value) = item.into_key_and_value(); + map.insert(key, value); + } + } + entry.insert(map) + } + }; + if let Some(value) = value { + data.insert(key, value); + } else { + data.remove(&key); + } + } + for (task_id, data) in updated_items { + let vec: Vec = data + .into_iter() + .map(|(key, value)| CachedDataItem::from_key_and_value(key, value)) + .collect(); + let value = bincode::serialize(&vec)?; + tx.put( + self.data_db, + &IntKey::new(*task_id), + &value, + WriteFlags::empty(), + )?; + } + tx.commit()?; + Ok(()) + } + + fn forward_lookup_task_cache(&self, task_type: &CachedTaskType) -> Option { + let tx = self.env.begin_ro_txn().ok()?; + let task_type = bincode::serialize(task_type).ok()?; + let result = tx + .get(self.forward_task_cache_db, &task_type) + .ok() + .and_then(|v| v.try_into().ok()) + .map(|v| TaskId::from(u32::from_be_bytes(v))); + tx.commit().ok()?; + result + } + + fn reverse_lookup_task_cache(&self, task_id: TaskId) -> Option> { + let tx = self.env.begin_ro_txn().ok()?; + let result = tx + .get(self.reverse_task_cache_db, &(*task_id).to_be_bytes()) + .ok() + .and_then(|v| v.try_into().ok()) + .and_then(|v: [u8; 4]| bincode::deserialize(&v).ok()); + tx.commit().ok()?; + result + } + + fn lookup_data(&self, task_id: TaskId) -> Vec { + fn lookup(this: &LmdbBackingStorage, task_id: TaskId) -> Result> { + let tx = this.env.begin_ro_txn()?; + let bytes = tx.get(this.data_db, &IntKey::new(*task_id))?; + let result = bincode::deserialize(bytes)?; + tx.commit()?; + Ok(result) + } + lookup(self, task_id).unwrap_or_default() + } +} diff --git a/turbopack/crates/turbo-tasks-backend/src/utils/chunked_vec.rs b/turbopack/crates/turbo-tasks-backend/src/utils/chunked_vec.rs index 46292f79e5e72..c5e2014715e29 100644 --- a/turbopack/crates/turbo-tasks-backend/src/utils/chunked_vec.rs +++ b/turbopack/crates/turbo-tasks-backend/src/utils/chunked_vec.rs @@ -2,18 +2,25 @@ pub struct ChunkedVec { chunks: Vec>, } +impl Default for ChunkedVec { + fn default() -> Self { + Self::new() + } +} + impl ChunkedVec { pub fn new() -> Self { Self { chunks: Vec::new() } } pub fn len(&self) -> usize { - if let Some(last) = self.chunks.last() { - let free = last.capacity() - self.len(); - cummulative_chunk_size(self.chunks.len() - 1) - free - } else { - 0 + for (i, chunk) in self.chunks.iter().enumerate().rev() { + if !chunk.is_empty() { + let free = chunk.capacity() - chunk.len(); + return cummulative_chunk_size(i) - free; + } } + 0 } pub fn push(&mut self, item: T) { @@ -42,6 +49,10 @@ impl ChunkedVec { len: self.len(), } } + + pub fn is_empty(&self) -> bool { + self.chunks.first().map_or(true, |chunk| chunk.is_empty()) + } } fn chunk_size(chunk_index: usize) -> usize { diff --git a/turbopack/crates/turbo-tasks-backend/src/utils/ptr_eq_arc.rs b/turbopack/crates/turbo-tasks-backend/src/utils/ptr_eq_arc.rs index 87543c0399031..139c40d7b8f94 100644 --- a/turbopack/crates/turbo-tasks-backend/src/utils/ptr_eq_arc.rs +++ b/turbopack/crates/turbo-tasks-backend/src/utils/ptr_eq_arc.rs @@ -10,6 +10,10 @@ impl PtrEqArc { pub fn new(value: T) -> Self { Self(Arc::new(value)) } + + pub fn arc(&self) -> &Arc { + &self.0 + } } impl From> for PtrEqArc { diff --git a/turbopack/crates/turbo-tasks-backend/tests/test_config.trs b/turbopack/crates/turbo-tasks-backend/tests/test_config.trs index 7387c44aaf3dd..71510aae294a4 100644 --- a/turbopack/crates/turbo-tasks-backend/tests/test_config.trs +++ b/turbopack/crates/turbo-tasks-backend/tests/test_config.trs @@ -1,3 +1,18 @@ -|_name, _initial| { - turbo_tasks::TurboTasks::new(turbo_tasks_backend::TurboTasksBackend::new()) +|_name, initial | { + let path = std::path::PathBuf::from(concat!( + env!("OUT_DIR"), + "/.cache/", + module_path!(), + )); + if initial { + let _ = std::fs::remove_dir_all(&path); + } + std::fs::create_dir_all(&path).unwrap(); + turbo_tasks::TurboTasks::new( + turbo_tasks_backend::TurboTasksBackend::new( + Arc::new(turbo_tasks_backend::LmdbBackingStorage::new( + &path.as_path() + ).unwrap()) + ) + ) } diff --git a/turbopack/crates/turbo-tasks-testing/tests/basic.rs b/turbopack/crates/turbo-tasks-testing/tests/basic.rs index 84a56237e3193..28606acd3c563 100644 --- a/turbopack/crates/turbo-tasks-testing/tests/basic.rs +++ b/turbopack/crates/turbo-tasks-testing/tests/basic.rs @@ -13,9 +13,12 @@ async fn basic() { assert_eq!(output1.await?.value, 123); let input = Value { value: 42 }.cell(); - let output2 = func(input); + let output2 = func_transient(input); assert_eq!(output2.await?.value, 42); + let output3 = func_persistent(output1); + assert_eq!(output3.await?.value, 123); + anyhow::Ok(()) }) .await @@ -28,13 +31,22 @@ struct Value { } #[turbo_tasks::function] -async fn func(input: Vc) -> Result> { +async fn func_transient(input: Vc) -> Result> { + println!("func_transient"); + let value = input.await?.value; + Ok(Value { value }.cell()) +} + +#[turbo_tasks::function] +async fn func_persistent(input: Vc) -> Result> { + println!("func_persistent"); let value = input.await?.value; Ok(Value { value }.cell()) } #[turbo_tasks::function] async fn func_without_args() -> Result> { + println!("func_without_args"); let value = 123; Ok(Value { value }.cell()) } diff --git a/turbopack/crates/turbo-tasks/src/lib.rs b/turbopack/crates/turbo-tasks/src/lib.rs index 7a166ba6ab3fa..b5279a8b1bf61 100644 --- a/turbopack/crates/turbo-tasks/src/lib.rs +++ b/turbopack/crates/turbo-tasks/src/lib.rs @@ -105,7 +105,7 @@ pub use read_ref::ReadRef; use rustc_hash::FxHasher; pub use serialization_invalidation::SerializationInvalidator; pub use state::{State, TransientState}; -pub use task::{task_input::TaskInput, SharedReference}; +pub use task::{task_input::TaskInput, SharedReference, TypedSharedReference}; pub use trait_ref::{IntoTraitRef, TraitRef}; pub use turbo_tasks_macros::{function, value, value_impl, value_trait, KeyValuePair, TaskInput}; pub use value::{TransientInstance, TransientValue, Value}; diff --git a/turbopack/crates/turbo-tasks/src/task/mod.rs b/turbopack/crates/turbo-tasks/src/task/mod.rs index 963a3a74a99d1..971eb28623611 100644 --- a/turbopack/crates/turbo-tasks/src/task/mod.rs +++ b/turbopack/crates/turbo-tasks/src/task/mod.rs @@ -4,6 +4,6 @@ pub(crate) mod task_input; pub(crate) mod task_output; pub use function::{AsyncFunctionMode, FunctionMode, IntoTaskFn, TaskFn}; -pub use shared_reference::SharedReference; +pub use shared_reference::{SharedReference, TypedSharedReference}; pub use task_input::TaskInput; pub use task_output::TaskOutput; From 12cd6efaebbd750690c5904d2fa6ea1bb2f1bc96 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 9 Aug 2024 10:50:05 +0200 Subject: [PATCH 085/119] pass test name to test_config to construct db name --- .../crates/turbo-tasks-backend/tests/test_config.trs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/tests/test_config.trs b/turbopack/crates/turbo-tasks-backend/tests/test_config.trs index 71510aae294a4..2f4c2421a61e7 100644 --- a/turbopack/crates/turbo-tasks-backend/tests/test_config.trs +++ b/turbopack/crates/turbo-tasks-backend/tests/test_config.trs @@ -1,9 +1,8 @@ -|_name, initial | { - let path = std::path::PathBuf::from(concat!( +|name, initial| { + let path = std::path::PathBuf::from(format!(concat!( env!("OUT_DIR"), - "/.cache/", - module_path!(), - )); + "/.cache/{}", + ), name)); if initial { let _ = std::fs::remove_dir_all(&path); } From 4eaec5118504bfd60b1e377fafa7c14e904c29da Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 9 Aug 2024 11:48:36 +0200 Subject: [PATCH 086/119] continue uncompleted operations --- .../turbo-tasks-backend/src/backend/mod.rs | 10 ++++++++ .../src/backend/operation/mod.rs | 15 ++++++++++++ .../src/backing_storage.rs | 1 + .../src/lmdb_backing_storage.rs | 24 +++++++++++++------ 4 files changed, 43 insertions(+), 7 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index c47c9e805f3ea..346e8b7768c4d 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -531,6 +531,16 @@ impl TurboTasksBackend { impl Backend for TurboTasksBackend { fn startup(&self, turbo_tasks: &dyn TurboTasksBackendApi) { + // Continue all uncompleted operations + // They can't be interrupted by a snapshot since the snapshotting job has not been scheduled + // yet. + let uncompleted_operations = self.backing_storage.uncompleted_operations(); + let ctx = self.execute_context(turbo_tasks); + for op in uncompleted_operations { + op.execute(&ctx); + } + + // Schedule the snapshot job turbo_tasks.schedule_backend_background_job(BackendJobId::from(1)); } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs index d7a43a3326dc2..ec36154d928da 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs @@ -339,6 +339,21 @@ pub enum AnyOperation { Nested(Vec), } +impl AnyOperation { + pub fn execute(self, ctx: &ExecuteContext<'_>) { + match self { + AnyOperation::ConnectChild(op) => op.execute(ctx), + AnyOperation::Invalidate(op) => op.execute(ctx), + AnyOperation::CleanupOldEdges(op) => op.execute(ctx), + AnyOperation::Nested(ops) => { + for op in ops { + op.execute(ctx); + } + } + } + } +} + impl_operation!(ConnectChild connect_child::ConnectChildOperation); impl_operation!(Invalidate invalidate::InvalidateOperation); impl_operation!(CleanupOldEdges cleanup_old_edges::CleanupOldEdgesOperation); diff --git a/turbopack/crates/turbo-tasks-backend/src/backing_storage.rs b/turbopack/crates/turbo-tasks-backend/src/backing_storage.rs index 6b6707c476e51..cb1b2da8a4129 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backing_storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backing_storage.rs @@ -11,6 +11,7 @@ use crate::{ pub trait BackingStorage { fn next_free_task_id(&self) -> TaskId; + fn uncompleted_operations(&self) -> Vec; fn save_snapshot( &self, operations: Vec>, diff --git a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs index 5239eb18dda82..5562243069a59 100644 --- a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs @@ -75,13 +75,23 @@ impl LmdbBackingStorage { impl BackingStorage for LmdbBackingStorage { fn next_free_task_id(&self) -> TaskId { - let Ok(tx) = self.env.begin_ro_txn() else { - return TaskId::from(1); - }; - let next_free_task_id = - as_u32(tx.get(self.meta_db, &IntKey::new(META_KEY_NEXT_FREE_TASK_ID))).unwrap_or(1); - let _ = tx.commit(); - TaskId::from(next_free_task_id) + fn get(this: &LmdbBackingStorage) -> Result { + let tx = this.env.begin_rw_txn()?; + let next_free_task_id = + as_u32(tx.get(this.meta_db, &IntKey::new(META_KEY_NEXT_FREE_TASK_ID)))?; + Ok(next_free_task_id) + } + TaskId::from(get(self).unwrap_or(1)) + } + + fn uncompleted_operations(&self) -> Vec { + fn get(this: &LmdbBackingStorage) -> Result> { + let tx = this.env.begin_ro_txn()?; + let operations = tx.get(this.meta_db, &IntKey::new(META_KEY_OPERATIONS))?; + let operations = bincode::deserialize(operations)?; + Ok(operations) + } + get(self).unwrap_or_default() } fn save_snapshot( From 38a1f62b6ca2af0054e4d0cb4ecb3d3dc828cba7 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Mon, 12 Aug 2024 15:37:15 +0200 Subject: [PATCH 087/119] create dir and logging --- .../src/lmdb_backing_storage.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs index 5562243069a59..e2a704965a6ca 100644 --- a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs @@ -1,9 +1,11 @@ use std::{ collections::{hash_map::Entry, HashMap}, error::Error, + fs::create_dir_all, path::Path, sync::Arc, thread::available_parallelism, + time::Instant, }; use anyhow::Result; @@ -50,6 +52,7 @@ pub struct LmdbBackingStorage { impl LmdbBackingStorage { pub fn new(path: &Path) -> Result { + create_dir_all(path)?; println!("opening lmdb {:?}", path); let env = Environment::new() .set_flags(EnvironmentFlags::WRITE_MAP | EnvironmentFlags::NO_META_SYNC) @@ -100,6 +103,14 @@ impl BackingStorage for LmdbBackingStorage { task_cache_updates: ChunkedVec<(Arc, TaskId)>, data_updates: ChunkedVec, ) -> Result<()> { + println!( + "Persisting {} operations, {} task cache updates, {} data updates...", + operations.len(), + task_cache_updates.len(), + data_updates.len() + ); + let start = Instant::now(); + let mut op_count = 0; let mut tx = self.env.begin_rw_txn()?; let mut next_task_id = as_u32(tx.get(self.meta_db, &IntKey::new(META_KEY_NEXT_FREE_TASK_ID))).unwrap_or(1); @@ -118,6 +129,7 @@ impl BackingStorage for LmdbBackingStorage { &task_type, WriteFlags::empty(), )?; + op_count += 2; next_task_id = next_task_id.max(task_id + 1); } tx.put( @@ -133,6 +145,8 @@ impl BackingStorage for LmdbBackingStorage { &operations, WriteFlags::empty(), )?; + op_count += 2; + let mut updated_items: HashMap> = HashMap::new(); for CachedDataUpdate { task, key, value } in data_updates.into_iter() { @@ -168,8 +182,13 @@ impl BackingStorage for LmdbBackingStorage { &value, WriteFlags::empty(), )?; + op_count += 1; } tx.commit()?; + println!( + "Persisted {op_count} db entries after {:?}", + start.elapsed() + ); Ok(()) } From b9e43989bf0dd80f0a38fea7490dfa24b396a893 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Tue, 13 Aug 2024 15:29:52 +0200 Subject: [PATCH 088/119] improve error messages --- .../src/lmdb_backing_storage.rs | 31 ++++++++++++------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs index e2a704965a6ca..eb06ff4d74940 100644 --- a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs @@ -8,7 +8,7 @@ use std::{ time::Instant, }; -use anyhow::Result; +use anyhow::{anyhow, Context, Result}; use lmdb::{Database, DatabaseFlags, Environment, EnvironmentFlags, Transaction, WriteFlags}; use turbo_tasks::{backend::CachedTaskType, KeyValuePair, TaskId}; @@ -116,19 +116,22 @@ impl BackingStorage for LmdbBackingStorage { as_u32(tx.get(self.meta_db, &IntKey::new(META_KEY_NEXT_FREE_TASK_ID))).unwrap_or(1); for (task_type, task_id) in task_cache_updates.iter() { let task_id = **task_id; - let task_type = bincode::serialize(&task_type)?; + let task_type_bytes = bincode::serialize(&task_type) + .with_context(|| anyhow!("Unable to serialize task cache key {task_type:?}"))?; tx.put( self.forward_task_cache_db, - &task_type, + &task_type_bytes, &task_id.to_be_bytes(), WriteFlags::empty(), - )?; + ) + .with_context(|| anyhow!("Unable to write task cache {task_type:?} => {task_id}"))?; tx.put( self.reverse_task_cache_db, &IntKey::new(task_id), - &task_type, + &task_type_bytes, WriteFlags::empty(), - )?; + ) + .with_context(|| anyhow!("Unable to write task cache {task_id} => {task_type:?}"))?; op_count += 2; next_task_id = next_task_id.max(task_id + 1); } @@ -137,14 +140,16 @@ impl BackingStorage for LmdbBackingStorage { &IntKey::new(META_KEY_NEXT_FREE_TASK_ID), &next_task_id.to_be_bytes(), WriteFlags::empty(), - )?; + ) + .with_context(|| anyhow!("Unable to write next free task id"))?; let operations = bincode::serialize(&operations)?; tx.put( self.meta_db, &IntKey::new(META_KEY_OPERATIONS), &operations, WriteFlags::empty(), - )?; + ) + .with_context(|| anyhow!("Unable to write operations"))?; op_count += 2; let mut updated_items: HashMap> = @@ -175,16 +180,20 @@ impl BackingStorage for LmdbBackingStorage { .into_iter() .map(|(key, value)| CachedDataItem::from_key_and_value(key, value)) .collect(); - let value = bincode::serialize(&vec)?; + let value = bincode::serialize(&vec).with_context(|| { + anyhow!("Unable to serialize data items for {task_id}: {vec:#?}") + })?; tx.put( self.data_db, &IntKey::new(*task_id), &value, WriteFlags::empty(), - )?; + ) + .with_context(|| anyhow!("Unable to write data items for {task_id}"))?; op_count += 1; } - tx.commit()?; + tx.commit() + .with_context(|| anyhow!("Unable to commit operations"))?; println!( "Persisted {op_count} db entries after {:?}", start.elapsed() From 34c6436740f5f831f1638e2e5ac6f2b35e781b09 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Tue, 13 Aug 2024 15:30:48 +0200 Subject: [PATCH 089/119] handle keys larger than 511 bytes --- Cargo.lock | 5 +- .../crates/turbo-tasks-backend/Cargo.toml | 1 + .../src/lmdb_backing_storage.rs | 8 +- .../src/lmdb_backing_storage/extended_key.rs | 104 ++++++++++++++++++ 4 files changed, 113 insertions(+), 5 deletions(-) create mode 100644 turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage/extended_key.rs diff --git a/Cargo.lock b/Cargo.lock index e1e3edd147e04..0aacef95ec737 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -931,9 +931,9 @@ checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" @@ -8638,6 +8638,7 @@ dependencies = [ "async-trait", "auto-hash-map", "bincode", + "byteorder", "dashmap", "hashbrown 0.14.5", "indexmap 1.9.3", diff --git a/turbopack/crates/turbo-tasks-backend/Cargo.toml b/turbopack/crates/turbo-tasks-backend/Cargo.toml index 5b9c810ba8778..e2e0060fb6d2e 100644 --- a/turbopack/crates/turbo-tasks-backend/Cargo.toml +++ b/turbopack/crates/turbo-tasks-backend/Cargo.toml @@ -17,6 +17,7 @@ anyhow = { workspace = true } async-trait = { workspace = true } auto-hash-map = { workspace = true } bincode = "1.3.3" +byteorder = "1.5.0" dashmap = { workspace = true, features = ["raw-api"]} hashbrown = { workspace = true } indexmap = { workspace = true } diff --git a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs index eb06ff4d74940..e185f43f307fa 100644 --- a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs @@ -1,3 +1,5 @@ +mod extended_key; + use std::{ collections::{hash_map::Entry, HashMap}, error::Error, @@ -118,7 +120,8 @@ impl BackingStorage for LmdbBackingStorage { let task_id = **task_id; let task_type_bytes = bincode::serialize(&task_type) .with_context(|| anyhow!("Unable to serialize task cache key {task_type:?}"))?; - tx.put( + extended_key::put( + &mut tx, self.forward_task_cache_db, &task_type_bytes, &task_id.to_be_bytes(), @@ -204,8 +207,7 @@ impl BackingStorage for LmdbBackingStorage { fn forward_lookup_task_cache(&self, task_type: &CachedTaskType) -> Option { let tx = self.env.begin_ro_txn().ok()?; let task_type = bincode::serialize(task_type).ok()?; - let result = tx - .get(self.forward_task_cache_db, &task_type) + let result = extended_key::get(&tx, self.forward_task_cache_db, &task_type) .ok() .and_then(|v| v.try_into().ok()) .map(|v| TaskId::from(u32::from_be_bytes(v))); diff --git a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage/extended_key.rs b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage/extended_key.rs new file mode 100644 index 0000000000000..3e87669c2563c --- /dev/null +++ b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage/extended_key.rs @@ -0,0 +1,104 @@ +use std::hash::{Hash, Hasher}; + +use byteorder::ByteOrder; +use lmdb::{Database, RoTransaction, RwTransaction, Transaction, WriteFlags}; +use rustc_hash::FxHasher; + +const MAX_KEY_SIZE: usize = 511; +const SHARED_KEY: usize = MAX_KEY_SIZE - 8; + +pub fn get<'tx>( + tx: &'tx RoTransaction<'tx>, + database: Database, + key: &[u8], +) -> lmdb::Result<&'tx [u8]> { + if key.len() > MAX_KEY_SIZE - 1 { + let hashed_key = hashed_key(key); + let data = tx.get(database, &hashed_key)?; + let mut iter = ExtendedValueIter::new(data); + while let Some((k, v)) = iter.next() { + if k == key { + return Ok(v); + } + } + Err(lmdb::Error::NotFound) + } else { + tx.get(database, &key) + } +} + +pub fn put( + tx: &mut RwTransaction<'_>, + database: Database, + key: &[u8], + value: &[u8], + flags: WriteFlags, +) -> lmdb::Result<()> { + if key.len() > MAX_KEY_SIZE - 1 { + let hashed_key = hashed_key(key); + + let size = key.len() - SHARED_KEY + value.len() + 8; + let old = tx.get(database, &hashed_key); + let old_size = old.map_or(0, |v| v.len()); + let mut data = Vec::with_capacity(old_size + size); + data.extend_from_slice(&((key.len() - SHARED_KEY) as u32).to_be_bytes()); + data.extend_from_slice(&(value.len() as u32).to_be_bytes()); + data.extend_from_slice(&key[SHARED_KEY..]); + data.extend_from_slice(value); + if let Ok(old) = old { + let mut iter = ExtendedValueIter::new(old); + while let Some((k, v)) = iter.next() { + if k != &key[SHARED_KEY..] { + data.extend_from_slice(&(k.len() as u32).to_be_bytes()); + data.extend_from_slice(&(v.len() as u32).to_be_bytes()); + data.extend_from_slice(k); + data.extend_from_slice(v); + } + } + }; + + tx.put(database, &hashed_key, &data, flags)?; + Ok(()) + } else { + tx.put(database, &key, &value, flags) + } +} + +fn hashed_key(key: &[u8]) -> [u8; MAX_KEY_SIZE] { + let mut result = [0; MAX_KEY_SIZE]; + let mut hash = FxHasher::default(); + key.hash(&mut hash); + byteorder::BigEndian::write_u64(&mut result, hash.finish()); + result[8..].copy_from_slice(&key[0..SHARED_KEY]); + result +} + +struct ExtendedValueIter<'a> { + data: &'a [u8], + pos: usize, +} + +impl<'a> Iterator for ExtendedValueIter<'a> { + type Item = (&'a [u8], &'a [u8]); + + fn next(&mut self) -> Option { + if self.pos >= self.data.len() { + return None; + } + let key_len = byteorder::BigEndian::read_u32(&self.data[self.pos..]) as usize; + self.pos += 4; + let value_len = byteorder::BigEndian::read_u32(&self.data[self.pos..]) as usize; + self.pos += 4; + let key = &self.data[self.pos..self.pos + key_len]; + self.pos += key_len; + let value = &self.data[self.pos..self.pos + value_len]; + self.pos += value_len; + Some((key, value)) + } +} + +impl<'a> ExtendedValueIter<'a> { + fn new(data: &'a [u8]) -> Self { + Self { data, pos: 0 } + } +} From 59e0b2a06ee5b0e34eaa66bad46bb5cf011efc75 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 14 Aug 2024 21:01:26 +0200 Subject: [PATCH 090/119] avoid storing transient tasks --- .../turbo-tasks-backend/src/backend/operation/mod.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs index ec36154d928da..8c9fc058ade60 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs @@ -161,7 +161,7 @@ impl<'a> TaskGuard<'a> { #[must_use] pub fn add(&mut self, item: CachedDataItem) -> bool { - if !item.is_persistent() { + if self.task_id.is_transient() || !item.is_persistent() { self.task.add(item) } else if self.task.add(item.clone()) { let (key, value) = item.into_key_and_value(); @@ -187,7 +187,7 @@ impl<'a> TaskGuard<'a> { pub fn insert(&mut self, item: CachedDataItem) -> Option { let (key, value) = item.into_key_and_value(); - if !key.is_persistent() { + if self.task_id.is_transient() || !key.is_persistent() { self.task .insert(CachedDataItem::from_key_and_value(key, value)) } else if value.is_persistent() { @@ -231,7 +231,7 @@ impl<'a> TaskGuard<'a> { key: &CachedDataItemKey, update: impl FnOnce(Option) -> Option, ) { - if !key.is_persistent() { + if self.task_id.is_transient() || !key.is_persistent() { self.task.update(key, update); return; } @@ -276,7 +276,7 @@ impl<'a> TaskGuard<'a> { pub fn remove(&mut self, key: &CachedDataItemKey) -> Option { let old_value = self.task.remove(key); if let Some(value) = old_value { - if key.is_persistent() && value.is_persistent() { + if !self.task_id.is_transient() && key.is_persistent() && value.is_persistent() { let key = key.clone(); self.task.persistance_state.add_persisting_item(); self.backend From f27b6fb5f52fe0e40a04969f5eb7102c0c759d05 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 14 Aug 2024 12:35:04 +0200 Subject: [PATCH 091/119] show lookup error --- .../src/lmdb_backing_storage.rs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs index e185f43f307fa..69f82182e0103 100644 --- a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs @@ -229,11 +229,23 @@ impl BackingStorage for LmdbBackingStorage { fn lookup_data(&self, task_id: TaskId) -> Vec { fn lookup(this: &LmdbBackingStorage, task_id: TaskId) -> Result> { let tx = this.env.begin_ro_txn()?; - let bytes = tx.get(this.data_db, &IntKey::new(*task_id))?; + let bytes = match tx.get(this.data_db, &IntKey::new(*task_id)) { + Ok(bytes) => bytes, + Err(err) => { + if err == lmdb::Error::NotFound { + return Ok(Vec::new()); + } else { + return Err(err.into()); + } + } + }; let result = bincode::deserialize(bytes)?; tx.commit()?; Ok(result) } - lookup(self, task_id).unwrap_or_default() + let result = lookup(self, task_id) + .inspect_err(|err| println!("Looking up data for {task_id} failed: {err:?}")) + .unwrap_or_default(); + result } } From d4450b60d32bb0d0ff1f7e285696a3245207f466 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 14 Aug 2024 09:39:53 +0200 Subject: [PATCH 092/119] handle state serialization --- .../turbo-tasks-backend/src/backend/mod.rs | 22 +++++++++++++++++++ .../src/utils/chunked_vec.rs | 8 +++++++ 2 files changed, 30 insertions(+) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index 346e8b7768c4d..b294f81e40930 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -629,6 +629,28 @@ impl Backend for TurboTasksBackend { ); } + fn invalidate_serialization( + &self, + task_id: TaskId, + turbo_tasks: &dyn TurboTasksBackendApi, + ) { + let ctx = self.execute_context(turbo_tasks); + let task = ctx.task(task_id); + let cell_data = task.iter().filter_map(|(key, value)| match (key, value) { + (CachedDataItemKey::CellData { cell }, CachedDataItemValue::CellData { value }) => { + Some(CachedDataUpdate { + task: task_id, + key: CachedDataItemKey::CellData { cell: *cell }, + value: Some(CachedDataItemValue::CellData { + value: value.clone(), + }), + }) + } + _ => None, + }); + self.persisted_storage_log.lock().extend(cell_data); + } + fn get_task_description(&self, task: TaskId) -> std::string::String { let task_type = self.lookup_task_type(task).expect("Task not found"); task_type.to_string() diff --git a/turbopack/crates/turbo-tasks-backend/src/utils/chunked_vec.rs b/turbopack/crates/turbo-tasks-backend/src/utils/chunked_vec.rs index c5e2014715e29..fd9ad98f57011 100644 --- a/turbopack/crates/turbo-tasks-backend/src/utils/chunked_vec.rs +++ b/turbopack/crates/turbo-tasks-backend/src/utils/chunked_vec.rs @@ -55,6 +55,14 @@ impl ChunkedVec { } } +impl Extend for ChunkedVec { + fn extend>(&mut self, iter: I) { + for item in iter { + self.push(item); + } + } +} + fn chunk_size(chunk_index: usize) -> usize { 8 << chunk_index } From fb2b1bd9ea3bf802cb5a96ff0bf259d769f32300 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 14 Aug 2024 09:49:39 +0200 Subject: [PATCH 093/119] validate serialization and improve errors --- Cargo.lock | 1 + .../crates/turbo-tasks-backend/Cargo.toml | 1 + .../crates/turbo-tasks-backend/src/data.rs | 11 +++ .../src/lmdb_backing_storage.rs | 75 +++++++++++++++++-- .../src/utils/chunked_vec.rs | 6 ++ .../crates/turbo-tasks/src/value_type.rs | 4 + 6 files changed, 92 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0aacef95ec737..79d55e895c856 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8648,6 +8648,7 @@ dependencies = [ "rand", "rustc-hash", "serde", + "serde_path_to_error", "smallvec", "tokio", "tracing", diff --git a/turbopack/crates/turbo-tasks-backend/Cargo.toml b/turbopack/crates/turbo-tasks-backend/Cargo.toml index e2e0060fb6d2e..878b07d4a399f 100644 --- a/turbopack/crates/turbo-tasks-backend/Cargo.toml +++ b/turbopack/crates/turbo-tasks-backend/Cargo.toml @@ -27,6 +27,7 @@ parking_lot = { workspace = true } rand = { workspace = true } rustc-hash = { workspace = true } serde = { workspace = true } +serde_path_to_error = { workspace = true } smallvec = { workspace = true } tokio = { workspace = true } tracing = { workspace = true } diff --git a/turbopack/crates/turbo-tasks-backend/src/data.rs b/turbopack/crates/turbo-tasks-backend/src/data.rs index e75c8b8db8d04..ed6398cbb8e8a 100644 --- a/turbopack/crates/turbo-tasks-backend/src/data.rs +++ b/turbopack/crates/turbo-tasks-backend/src/data.rs @@ -1,6 +1,7 @@ use serde::{Deserialize, Serialize}; use turbo_tasks::{ event::{Event, EventListener}, + registry, util::SharedError, CellId, KeyValuePair, TaskId, TypedSharedReference, ValueTypeId, }; @@ -268,6 +269,13 @@ impl CachedDataItem { } } + pub fn is_optional(&self) -> bool { + match self { + CachedDataItem::CellData { .. } => true, + _ => false, + } + } + pub fn new_scheduled(description: impl Fn() -> String + Sync + Send + 'static) -> Self { CachedDataItem::InProgress { value: InProgressState::Scheduled { @@ -331,6 +339,9 @@ impl CachedDataItemValue { pub fn is_persistent(&self) -> bool { match self { CachedDataItemValue::Output { value } => !value.is_transient(), + CachedDataItemValue::CellData { value } => { + registry::get_value_type(value.0).is_serializable() + } _ => true, } } diff --git a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs index 69f82182e0103..02adcfb23be9d 100644 --- a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs @@ -11,6 +11,7 @@ use std::{ }; use anyhow::{anyhow, Context, Result}; +use bincode::Options; use lmdb::{Database, DatabaseFlags, Environment, EnvironmentFlags, Transaction, WriteFlags}; use turbo_tasks::{backend::CachedTaskType, KeyValuePair, TaskId}; @@ -145,7 +146,8 @@ impl BackingStorage for LmdbBackingStorage { WriteFlags::empty(), ) .with_context(|| anyhow!("Unable to write next free task id"))?; - let operations = bincode::serialize(&operations)?; + let operations = bincode::serialize(&operations) + .with_context(|| anyhow!("Unable to serialize operations"))?; tx.put( self.meta_db, &IntKey::new(META_KEY_OPERATIONS), @@ -163,7 +165,20 @@ impl BackingStorage for LmdbBackingStorage { Entry::Vacant(entry) => { let mut map = HashMap::new(); if let Ok(old_data) = tx.get(self.data_db, &IntKey::new(*task)) { - let old_data: Vec = bincode::deserialize(old_data)?; + let old_data: Vec = match bincode::deserialize(old_data) { + Ok(d) => d, + Err(_) => serde_path_to_error::deserialize( + &mut bincode::Deserializer::from_slice( + old_data, + bincode::DefaultOptions::new() + .with_fixint_encoding() + .allow_trailing_bytes(), + ), + ) + .with_context(|| { + anyhow!("Unable to deserialize old value of {task}: {old_data:?}") + })?, + }; for item in old_data { let (key, value) = item.into_key_and_value(); map.insert(key, value); @@ -179,13 +194,61 @@ impl BackingStorage for LmdbBackingStorage { } } for (task_id, data) in updated_items { - let vec: Vec = data + let mut vec: Vec = data .into_iter() .map(|(key, value)| CachedDataItem::from_key_and_value(key, value)) .collect(); - let value = bincode::serialize(&vec).with_context(|| { - anyhow!("Unable to serialize data items for {task_id}: {vec:#?}") - })?; + let value = match bincode::serialize(&vec) { + // Ok(value) => value, + Ok(_) | Err(_) => { + let mut error = Ok(()); + vec.retain(|item| { + let mut buf = Vec::::new(); + let mut serializer = bincode::Serializer::new( + &mut buf, + bincode::DefaultOptions::new() + .with_fixint_encoding() + .allow_trailing_bytes(), + ); + if let Err(err) = serde_path_to_error::serialize(item, &mut serializer) { + if item.is_optional() { + println!("Skipping non-serializable optional item: {item:?}"); + } else { + error = Err(err).context({ + anyhow!( + "Unable to serialize data item for {task_id}: {item:#?}" + ) + }); + } + false + } else { + let deserialize: Result = + serde_path_to_error::deserialize( + &mut bincode::Deserializer::from_slice( + &buf, + bincode::DefaultOptions::new() + .with_fixint_encoding() + .allow_trailing_bytes(), + ), + ); + if let Err(err) = deserialize { + println!( + "Data item would not be deserializable {task_id}: \ + {err:?}\n{item:#?}" + ); + false + } else { + true + } + } + }); + error?; + + bincode::serialize(&vec).with_context(|| { + anyhow!("Unable to serialize data items for {task_id}: {vec:#?}") + })? + } + }; tx.put( self.data_db, &IntKey::new(*task_id), diff --git a/turbopack/crates/turbo-tasks-backend/src/utils/chunked_vec.rs b/turbopack/crates/turbo-tasks-backend/src/utils/chunked_vec.rs index fd9ad98f57011..2d71fd13851d2 100644 --- a/turbopack/crates/turbo-tasks-backend/src/utils/chunked_vec.rs +++ b/turbopack/crates/turbo-tasks-backend/src/utils/chunked_vec.rs @@ -35,6 +35,12 @@ impl ChunkedVec { self.chunks.push(chunk); } + pub fn extend>(&mut self, iter: I) { + for item in iter { + self.push(item); + } + } + pub fn into_iter(self) -> impl Iterator { let len = self.len(); ExactSizeIter { diff --git a/turbopack/crates/turbo-tasks/src/value_type.rs b/turbopack/crates/turbo-tasks/src/value_type.rs index 067df22ca9b20..2702e359caf26 100644 --- a/turbopack/crates/turbo-tasks/src/value_type.rs +++ b/turbopack/crates/turbo-tasks/src/value_type.rs @@ -168,6 +168,10 @@ impl ValueType { } } + pub fn is_serializable(&self) -> bool { + self.any_serialization.is_some() + } + pub fn get_magic_deserialize_seed(&self) -> Option { self.magic_serialization.map(|s| s.1) } From b1ae2c03b2022ef28c2e25b2704d7aeb2a928071 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 16 Aug 2024 07:48:53 +0200 Subject: [PATCH 094/119] add turbo_tasks_backend to tracing, add tracing for restore --- .../src/lmdb_backing_storage.rs | 18 ++++++++++++++---- .../src/tracing_presets.rs | 1 + 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs index 02adcfb23be9d..616c871731bdb 100644 --- a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs @@ -12,7 +12,10 @@ use std::{ use anyhow::{anyhow, Context, Result}; use bincode::Options; -use lmdb::{Database, DatabaseFlags, Environment, EnvironmentFlags, Transaction, WriteFlags}; +use lmdb::{ + Cursor, Database, DatabaseFlags, Environment, EnvironmentFlags, Transaction, WriteFlags, +}; +use tracing::Span; use turbo_tasks::{backend::CachedTaskType, KeyValuePair, TaskId}; use crate::{ @@ -290,7 +293,12 @@ impl BackingStorage for LmdbBackingStorage { } fn lookup_data(&self, task_id: TaskId) -> Vec { - fn lookup(this: &LmdbBackingStorage, task_id: TaskId) -> Result> { + let span = tracing::trace_span!("restore data", bytes = 0usize, items = 0usize); + fn lookup( + this: &LmdbBackingStorage, + task_id: TaskId, + span: &Span, + ) -> Result> { let tx = this.env.begin_ro_txn()?; let bytes = match tx.get(this.data_db, &IntKey::new(*task_id)) { Ok(bytes) => bytes, @@ -302,11 +310,13 @@ impl BackingStorage for LmdbBackingStorage { } } }; - let result = bincode::deserialize(bytes)?; + span.record("bytes", bytes.len()); + let result: Vec = bincode::deserialize(bytes)?; + span.record("items", result.len()); tx.commit()?; Ok(result) } - let result = lookup(self, task_id) + let result = lookup(self, task_id, &span) .inspect_err(|err| println!("Looking up data for {task_id} failed: {err:?}")) .unwrap_or_default(); result diff --git a/turbopack/crates/turbopack-trace-utils/src/tracing_presets.rs b/turbopack/crates/turbopack-trace-utils/src/tracing_presets.rs index eb8ea35900740..2adea79d313c2 100644 --- a/turbopack/crates/turbopack-trace-utils/src/tracing_presets.rs +++ b/turbopack/crates/turbopack-trace-utils/src/tracing_presets.rs @@ -69,6 +69,7 @@ pub static TRACING_TURBO_TASKS_TARGETS: Lazy> = Lazy::new(|| { "turbo_tasks_fs=trace", "turbo_tasks_hash=trace", "turbo_tasks_memory=trace", + "turbo_tasks_backend=trace", ], ] .concat() From 5f8dba8c4aae54946287b22f5c68feeb4e8e9e9c Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 16 Aug 2024 07:49:26 +0200 Subject: [PATCH 095/119] disable TLS --- .../crates/turbo-tasks-backend/src/lmdb_backing_storage.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs index 616c871731bdb..adeb7d7003900 100644 --- a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs @@ -61,7 +61,11 @@ impl LmdbBackingStorage { create_dir_all(path)?; println!("opening lmdb {:?}", path); let env = Environment::new() - .set_flags(EnvironmentFlags::WRITE_MAP | EnvironmentFlags::NO_META_SYNC) + .set_flags( + EnvironmentFlags::WRITE_MAP + | EnvironmentFlags::NO_META_SYNC + | EnvironmentFlags::NO_TLS, + ) .set_max_readers((available_parallelism().map_or(16, |v| v.get()) * 8) as u32) .set_max_dbs(4) .set_map_size(20 * 1024 * 1024 * 1024) From 6431c4d0756a602c6e1610f3e9c75514673851d9 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 16 Aug 2024 08:16:25 +0200 Subject: [PATCH 096/119] print lookup error --- .../src/lmdb_backing_storage.rs | 30 ++++++++++++++----- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs index adeb7d7003900..3e142a99e2f96 100644 --- a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs @@ -286,14 +286,28 @@ impl BackingStorage for LmdbBackingStorage { } fn reverse_lookup_task_cache(&self, task_id: TaskId) -> Option> { - let tx = self.env.begin_ro_txn().ok()?; - let result = tx - .get(self.reverse_task_cache_db, &(*task_id).to_be_bytes()) - .ok() - .and_then(|v| v.try_into().ok()) - .and_then(|v: [u8; 4]| bincode::deserialize(&v).ok()); - tx.commit().ok()?; - result + fn lookup( + this: &LmdbBackingStorage, + task_id: TaskId, + ) -> Result>> { + let tx = this.env.begin_ro_txn()?; + let bytes = match tx.get(this.reverse_task_cache_db, &IntKey::new(*task_id)) { + Ok(bytes) => bytes, + Err(err) => { + if err == lmdb::Error::NotFound { + return Ok(None); + } else { + return Err(err.into()); + } + } + }; + let result = bincode::deserialize(bytes)?; + tx.commit()?; + Ok(result) + } + lookup(self, task_id) + .inspect_err(|err| println!("Looking up task type for {task_id} failed: {err:?}")) + .ok()? } fn lookup_data(&self, task_id: TaskId) -> Vec { From b127aebad0a60aec740ac7029b7465f4dc0768f1 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 16 Aug 2024 08:17:13 +0200 Subject: [PATCH 097/119] verify serialization --- .../crates/turbo-tasks-backend/Cargo.toml | 4 ++ .../src/lmdb_backing_storage.rs | 57 ++++++++++++------- 2 files changed, 42 insertions(+), 19 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/Cargo.toml b/turbopack/crates/turbo-tasks-backend/Cargo.toml index 878b07d4a399f..b017a9132b8c8 100644 --- a/turbopack/crates/turbo-tasks-backend/Cargo.toml +++ b/turbopack/crates/turbo-tasks-backend/Cargo.toml @@ -12,6 +12,10 @@ bench = false [lints] workspace = true +[features] +default = ["verify_serialization"] +verify_serialization = [] + [dependencies] anyhow = { workspace = true } async-trait = { workspace = true } diff --git a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs index 3e142a99e2f96..1ddbfffeca252 100644 --- a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs @@ -128,6 +128,22 @@ impl BackingStorage for LmdbBackingStorage { let task_id = **task_id; let task_type_bytes = bincode::serialize(&task_type) .with_context(|| anyhow!("Unable to serialize task cache key {task_type:?}"))?; + #[cfg(feature = "verify_serialization")] + { + let deserialize: Result = + serde_path_to_error::deserialize(&mut bincode::Deserializer::from_slice( + &task_type_bytes, + bincode::DefaultOptions::new() + .with_fixint_encoding() + .allow_trailing_bytes(), + )); + if let Err(err) = deserialize { + println!( + "Task type would not be deserializable {task_id}: {err:?}\n{task_type:#?}" + ); + panic!("Task type would not be deserializable {task_id}: {err:?}"); + } + } extended_key::put( &mut tx, self.forward_task_cache_db, @@ -206,8 +222,9 @@ impl BackingStorage for LmdbBackingStorage { .map(|(key, value)| CachedDataItem::from_key_and_value(key, value)) .collect(); let value = match bincode::serialize(&vec) { - // Ok(value) => value, - Ok(_) | Err(_) => { + #[cfg(not(feature = "verify_serialization"))] + Ok(value) => value, + _ => { let mut error = Ok(()); vec.retain(|item| { let mut buf = Vec::::new(); @@ -229,24 +246,26 @@ impl BackingStorage for LmdbBackingStorage { } false } else { - let deserialize: Result = - serde_path_to_error::deserialize( - &mut bincode::Deserializer::from_slice( - &buf, - bincode::DefaultOptions::new() - .with_fixint_encoding() - .allow_trailing_bytes(), - ), - ); - if let Err(err) = deserialize { - println!( - "Data item would not be deserializable {task_id}: \ - {err:?}\n{item:#?}" - ); - false - } else { - true + #[cfg(feature = "verify_serialization")] + { + let deserialize: Result = + serde_path_to_error::deserialize( + &mut bincode::Deserializer::from_slice( + &buf, + bincode::DefaultOptions::new() + .with_fixint_encoding() + .allow_trailing_bytes(), + ), + ); + if let Err(err) = deserialize { + println!( + "Data item would not be deserializable {task_id}: \ + {err:?}\n{item:#?}" + ); + return false; + } } + true } }); error?; From 5453f16e13009a53b89e4ab6b5f47b039b013e42 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 16 Aug 2024 08:47:30 +0200 Subject: [PATCH 098/119] fix lookup deserialization --- .../crates/turbo-tasks-backend/src/lmdb_backing_storage.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs index 1ddbfffeca252..99143289ae60a 100644 --- a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs @@ -126,7 +126,7 @@ impl BackingStorage for LmdbBackingStorage { as_u32(tx.get(self.meta_db, &IntKey::new(META_KEY_NEXT_FREE_TASK_ID))).unwrap_or(1); for (task_type, task_id) in task_cache_updates.iter() { let task_id = **task_id; - let task_type_bytes = bincode::serialize(&task_type) + let task_type_bytes = bincode::serialize(&**task_type) .with_context(|| anyhow!("Unable to serialize task cache key {task_type:?}"))?; #[cfg(feature = "verify_serialization")] { @@ -322,7 +322,7 @@ impl BackingStorage for LmdbBackingStorage { }; let result = bincode::deserialize(bytes)?; tx.commit()?; - Ok(result) + Ok(Some(result)) } lookup(self, task_id) .inspect_err(|err| println!("Looking up task type for {task_id} failed: {err:?}")) From 838be405567b1207590d4228c4784f36c5df0e5e Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 16 Aug 2024 10:18:05 +0200 Subject: [PATCH 099/119] replace bincode with pot --- Cargo.lock | 30 +++++++--- .../crates/turbo-tasks-backend/Cargo.toml | 4 +- .../src/lmdb_backing_storage.rs | 59 +++++++------------ 3 files changed, 43 insertions(+), 50 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 79d55e895c856..a0eb16148cab7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3621,21 +3621,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" [[package]] -name = "lmdb" -version = "0.8.0" +name = "lmdb-rkv" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0908efb5d6496aa977d96f91413da2635a902e5e31dbef0bfb88986c248539" +checksum = "447a296f7aca299cfbb50f4e4f3d49451549af655fb7215d7f8c0c3d64bad42b" dependencies = [ "bitflags 1.3.2", + "byteorder", "libc", - "lmdb-sys", + "lmdb-rkv-sys", ] [[package]] -name = "lmdb-sys" -version = "0.8.0" +name = "lmdb-rkv-sys" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5b392838cfe8858e86fac37cf97a0e8c55cc60ba0a18365cadc33092f128ce9" +checksum = "61b9ce6b3be08acefa3003c57b7565377432a89ec24476bbe72e11d101f852fe" dependencies = [ "cc", "libc", @@ -5052,6 +5053,17 @@ dependencies = [ "serde", ] +[[package]] +name = "pot" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df842bdb3b0553a411589e64aaa1a7d0c0259f72fabcedfaa841683ae3019d80" +dependencies = [ + "byteorder", + "half 2.4.1", + "serde", +] + [[package]] name = "powerfmt" version = "0.2.0" @@ -8637,14 +8649,14 @@ dependencies = [ "anyhow", "async-trait", "auto-hash-map", - "bincode", "byteorder", "dashmap", "hashbrown 0.14.5", "indexmap 1.9.3", - "lmdb", + "lmdb-rkv", "once_cell", "parking_lot", + "pot", "rand", "rustc-hash", "serde", diff --git a/turbopack/crates/turbo-tasks-backend/Cargo.toml b/turbopack/crates/turbo-tasks-backend/Cargo.toml index b017a9132b8c8..63c014a7c743c 100644 --- a/turbopack/crates/turbo-tasks-backend/Cargo.toml +++ b/turbopack/crates/turbo-tasks-backend/Cargo.toml @@ -20,14 +20,14 @@ verify_serialization = [] anyhow = { workspace = true } async-trait = { workspace = true } auto-hash-map = { workspace = true } -bincode = "1.3.3" byteorder = "1.5.0" dashmap = { workspace = true, features = ["raw-api"]} hashbrown = { workspace = true } indexmap = { workspace = true } -lmdb = "0.8.0" +lmdb-rkv = "0.14.0" once_cell = { workspace = true } parking_lot = { workspace = true } +pot = "3.0.0" rand = { workspace = true } rustc-hash = { workspace = true } serde = { workspace = true } diff --git a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs index 99143289ae60a..898346d9ed59f 100644 --- a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs @@ -11,10 +11,7 @@ use std::{ }; use anyhow::{anyhow, Context, Result}; -use bincode::Options; -use lmdb::{ - Cursor, Database, DatabaseFlags, Environment, EnvironmentFlags, Transaction, WriteFlags, -}; +use lmdb::{Database, DatabaseFlags, Environment, EnvironmentFlags, Transaction, WriteFlags}; use tracing::Span; use turbo_tasks::{backend::CachedTaskType, KeyValuePair, TaskId}; @@ -101,7 +98,7 @@ impl BackingStorage for LmdbBackingStorage { fn get(this: &LmdbBackingStorage) -> Result> { let tx = this.env.begin_ro_txn()?; let operations = tx.get(this.meta_db, &IntKey::new(META_KEY_OPERATIONS))?; - let operations = bincode::deserialize(operations)?; + let operations = pot::from_slice(operations)?; Ok(operations) } get(self).unwrap_or_default() @@ -126,17 +123,13 @@ impl BackingStorage for LmdbBackingStorage { as_u32(tx.get(self.meta_db, &IntKey::new(META_KEY_NEXT_FREE_TASK_ID))).unwrap_or(1); for (task_type, task_id) in task_cache_updates.iter() { let task_id = **task_id; - let task_type_bytes = bincode::serialize(&**task_type) + let task_type_bytes = pot::to_vec(&**task_type) .with_context(|| anyhow!("Unable to serialize task cache key {task_type:?}"))?; #[cfg(feature = "verify_serialization")] { - let deserialize: Result = - serde_path_to_error::deserialize(&mut bincode::Deserializer::from_slice( - &task_type_bytes, - bincode::DefaultOptions::new() - .with_fixint_encoding() - .allow_trailing_bytes(), - )); + let deserialize: Result = serde_path_to_error::deserialize( + &mut pot::de::SymbolList::new().deserializer_for_slice(&task_type_bytes)?, + ); if let Err(err) = deserialize { println!( "Task type would not be deserializable {task_id}: {err:?}\n{task_type:#?}" @@ -169,8 +162,8 @@ impl BackingStorage for LmdbBackingStorage { WriteFlags::empty(), ) .with_context(|| anyhow!("Unable to write next free task id"))?; - let operations = bincode::serialize(&operations) - .with_context(|| anyhow!("Unable to serialize operations"))?; + let operations = + pot::to_vec(&operations).with_context(|| anyhow!("Unable to serialize operations"))?; tx.put( self.meta_db, &IntKey::new(META_KEY_OPERATIONS), @@ -188,15 +181,10 @@ impl BackingStorage for LmdbBackingStorage { Entry::Vacant(entry) => { let mut map = HashMap::new(); if let Ok(old_data) = tx.get(self.data_db, &IntKey::new(*task)) { - let old_data: Vec = match bincode::deserialize(old_data) { + let old_data: Vec = match pot::from_slice(old_data) { Ok(d) => d, Err(_) => serde_path_to_error::deserialize( - &mut bincode::Deserializer::from_slice( - old_data, - bincode::DefaultOptions::new() - .with_fixint_encoding() - .allow_trailing_bytes(), - ), + &mut pot::de::SymbolList::new().deserializer_for_slice(old_data)?, ) .with_context(|| { anyhow!("Unable to deserialize old value of {task}: {old_data:?}") @@ -221,19 +209,15 @@ impl BackingStorage for LmdbBackingStorage { .into_iter() .map(|(key, value)| CachedDataItem::from_key_and_value(key, value)) .collect(); - let value = match bincode::serialize(&vec) { + let value = match pot::to_vec(&vec) { #[cfg(not(feature = "verify_serialization"))] Ok(value) => value, _ => { let mut error = Ok(()); vec.retain(|item| { let mut buf = Vec::::new(); - let mut serializer = bincode::Serializer::new( - &mut buf, - bincode::DefaultOptions::new() - .with_fixint_encoding() - .allow_trailing_bytes(), - ); + let mut symbol_map = pot::ser::SymbolMap::new(); + let mut serializer = symbol_map.serializer_for(&mut buf).unwrap(); if let Err(err) = serde_path_to_error::serialize(item, &mut serializer) { if item.is_optional() { println!("Skipping non-serializable optional item: {item:?}"); @@ -250,12 +234,9 @@ impl BackingStorage for LmdbBackingStorage { { let deserialize: Result = serde_path_to_error::deserialize( - &mut bincode::Deserializer::from_slice( - &buf, - bincode::DefaultOptions::new() - .with_fixint_encoding() - .allow_trailing_bytes(), - ), + &mut pot::de::SymbolList::new() + .deserializer_for_slice(&buf) + .unwrap(), ); if let Err(err) = deserialize { println!( @@ -270,7 +251,7 @@ impl BackingStorage for LmdbBackingStorage { }); error?; - bincode::serialize(&vec).with_context(|| { + pot::to_vec(&vec).with_context(|| { anyhow!("Unable to serialize data items for {task_id}: {vec:#?}") })? } @@ -295,7 +276,7 @@ impl BackingStorage for LmdbBackingStorage { fn forward_lookup_task_cache(&self, task_type: &CachedTaskType) -> Option { let tx = self.env.begin_ro_txn().ok()?; - let task_type = bincode::serialize(task_type).ok()?; + let task_type = pot::to_vec(task_type).ok()?; let result = extended_key::get(&tx, self.forward_task_cache_db, &task_type) .ok() .and_then(|v| v.try_into().ok()) @@ -320,7 +301,7 @@ impl BackingStorage for LmdbBackingStorage { } } }; - let result = bincode::deserialize(bytes)?; + let result = pot::from_slice(bytes)?; tx.commit()?; Ok(Some(result)) } @@ -348,7 +329,7 @@ impl BackingStorage for LmdbBackingStorage { } }; span.record("bytes", bytes.len()); - let result: Vec = bincode::deserialize(bytes)?; + let result: Vec = pot::from_slice(bytes)?; span.record("items", result.len()); tx.commit()?; Ok(result) From c648d41d2f144e7cd644da37c33ac918e66d7286 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Sat, 17 Aug 2024 11:03:24 +0200 Subject: [PATCH 100/119] fix restore data trace --- .../crates/turbo-tasks-backend/src/lmdb_backing_storage.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs index 898346d9ed59f..f24bdd4dc2ef9 100644 --- a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs @@ -311,7 +311,7 @@ impl BackingStorage for LmdbBackingStorage { } fn lookup_data(&self, task_id: TaskId) -> Vec { - let span = tracing::trace_span!("restore data", bytes = 0usize, items = 0usize); + let span = tracing::trace_span!("restore data", bytes = 0usize, items = 0usize).entered(); fn lookup( this: &LmdbBackingStorage, task_id: TaskId, From 7f9ceaad23b3683378067601fed9e550ab9d89f8 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Sat, 17 Aug 2024 12:19:06 +0200 Subject: [PATCH 101/119] more tracing in db --- .../src/lmdb_backing_storage.rs | 44 ++++++++++++++----- 1 file changed, 34 insertions(+), 10 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs index f24bdd4dc2ef9..0e713cb649f4b 100644 --- a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs @@ -275,20 +275,42 @@ impl BackingStorage for LmdbBackingStorage { } fn forward_lookup_task_cache(&self, task_type: &CachedTaskType) -> Option { - let tx = self.env.begin_ro_txn().ok()?; - let task_type = pot::to_vec(task_type).ok()?; - let result = extended_key::get(&tx, self.forward_task_cache_db, &task_type) - .ok() - .and_then(|v| v.try_into().ok()) - .map(|v| TaskId::from(u32::from_be_bytes(v))); - tx.commit().ok()?; - result + let span = tracing::trace_span!("forward lookup task cache", key_bytes = 0usize).entered(); + fn lookup( + this: &LmdbBackingStorage, + task_type: &CachedTaskType, + span: &Span, + ) -> Result> { + let tx = this.env.begin_ro_txn()?; + let task_type = pot::to_vec(task_type)?; + span.record("key_bytes", task_type.len()); + let bytes = match extended_key::get(&tx, this.forward_task_cache_db, &task_type) { + Ok(result) => result, + Err(err) => { + if err == lmdb::Error::NotFound { + return Ok(None); + } else { + return Err(err.into()); + } + } + }; + let bytes = bytes.try_into()?; + let id = TaskId::from(u32::from_be_bytes(bytes)); + tx.commit()?; + Ok(Some(id)) + } + let id = lookup(self, task_type, &span) + .inspect_err(|err| println!("Looking up task id for {task_type:?} failed: {err:?}")) + .ok()??; + Some(id) } fn reverse_lookup_task_cache(&self, task_id: TaskId) -> Option> { + let span = tracing::trace_span!("reverse lookup task cache", bytes = 0usize).entered(); fn lookup( this: &LmdbBackingStorage, task_id: TaskId, + span: &Span, ) -> Result>> { let tx = this.env.begin_ro_txn()?; let bytes = match tx.get(this.reverse_task_cache_db, &IntKey::new(*task_id)) { @@ -301,13 +323,15 @@ impl BackingStorage for LmdbBackingStorage { } } }; + span.record("bytes", bytes.len()); let result = pot::from_slice(bytes)?; tx.commit()?; Ok(Some(result)) } - lookup(self, task_id) + let result = lookup(self, task_id, &span) .inspect_err(|err| println!("Looking up task type for {task_id} failed: {err:?}")) - .ok()? + .ok()??; + Some(result) } fn lookup_data(&self, task_id: TaskId) -> Vec { From d9c8918c6a17980d7f082a5f3d2e12629a399045 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Mon, 19 Aug 2024 16:41:04 +0200 Subject: [PATCH 102/119] remove verify_serialization --- turbopack/crates/turbo-tasks-backend/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/turbopack/crates/turbo-tasks-backend/Cargo.toml b/turbopack/crates/turbo-tasks-backend/Cargo.toml index 63c014a7c743c..f03aa7c7bf8c6 100644 --- a/turbopack/crates/turbo-tasks-backend/Cargo.toml +++ b/turbopack/crates/turbo-tasks-backend/Cargo.toml @@ -13,7 +13,7 @@ bench = false workspace = true [features] -default = ["verify_serialization"] +default = [] verify_serialization = [] [dependencies] From 44a6e99759caff82253883a1fe6fb288d3a16152 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Sat, 17 Aug 2024 12:44:25 +0200 Subject: [PATCH 103/119] fix race condition --- turbopack/crates/turbo-tasks-backend/src/backend/mod.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index b294f81e40930..ed430280f1808 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -568,6 +568,9 @@ impl Backend for TurboTasksBackend { unsafe { self.persisted_task_id_factory.reuse(task_id); } + self.persisted_task_cache_log + .lock() + .push((task_type, existing_task_id)); self.connect_child(parent_task, existing_task_id, turbo_tasks); return existing_task_id; } From 5936fe0163fab199154ec09548d6bcea21ee72ab Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Mon, 19 Aug 2024 13:03:38 +0200 Subject: [PATCH 104/119] do not interrupt persisting while there is data --- .../turbo-tasks-backend/src/backend/mod.rs | 38 ++++++++++++------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index ed430280f1808..a884056d4b420 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -471,7 +471,7 @@ impl TurboTasksBackend { } } - fn snapshot(&self) -> Option { + fn snapshot(&self) -> Option<(Instant, bool)> { let mut snapshot_request = self.snapshot_request.lock(); snapshot_request.snapshot_requested = true; let active_operations = self @@ -506,7 +506,10 @@ impl TurboTasksBackend { *counts.entry(*task).or_default() += 1; } + let mut new_items = false; + if !persisted_task_cache_log.is_empty() || !persisted_storage_log.is_empty() { + new_items = true; if let Err(err) = self.backing_storage.save_snapshot( suspended_operations, persisted_task_cache_log, @@ -525,7 +528,7 @@ impl TurboTasksBackend { .finish_persisting_items(count); } - Some(snapshot_time) + Some((snapshot_time, new_items)) } } @@ -999,21 +1002,28 @@ impl Backend for TurboTasksBackend { ) -> Pin + Send + 'a>> { Box::pin(async move { if *id == 1 { - const SNAPSHOT_INTERVAL: Duration = Duration::from_secs(1); - let last_snapshot = self.last_snapshot.load(Ordering::Relaxed); - let last_snapshot = self.start_time + Duration::from_millis(last_snapshot); - let elapsed = last_snapshot.elapsed(); - if elapsed < SNAPSHOT_INTERVAL { - tokio::time::sleep(SNAPSHOT_INTERVAL - elapsed).await; - } + let mut last_snapshot = self.start_time + Duration::from_millis(last_snapshot); + loop { + const SNAPSHOT_INTERVAL: Duration = Duration::from_secs(1); - if let Some(last_snapshot) = self.snapshot() { - let last_snapshot = last_snapshot.duration_since(self.start_time); - self.last_snapshot - .store(last_snapshot.as_millis() as u64, Ordering::Relaxed); + let elapsed = last_snapshot.elapsed(); + if elapsed < SNAPSHOT_INTERVAL { + tokio::time::sleep(SNAPSHOT_INTERVAL - elapsed).await; + } - turbo_tasks.schedule_backend_background_job(id); + if let Some((snapshot_start, new_data)) = self.snapshot() { + last_snapshot = snapshot_start; + if new_data { + continue; + } + let last_snapshot = last_snapshot.duration_since(self.start_time); + self.last_snapshot + .store(last_snapshot.as_millis() as u64, Ordering::Relaxed); + + turbo_tasks.schedule_backend_background_job(id); + return; + } } } }) From 37aca732e02d400a1aeff074a0b399f4cc6a4b0e Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Mon, 19 Aug 2024 16:40:56 +0200 Subject: [PATCH 105/119] add persist trace --- turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs index 0e713cb649f4b..f7c7fdd8dd285 100644 --- a/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/lmdb_backing_storage.rs @@ -104,6 +104,7 @@ impl BackingStorage for LmdbBackingStorage { get(self).unwrap_or_default() } + #[tracing::instrument(level = "trace", skip_all, fields(operations = operations.len(), task_cache_updates = task_cache_updates.len(), data_updates = data_updates.len()))] fn save_snapshot( &self, operations: Vec>, From 7dcf8218dfa2832bac28be81aa99f48e96aec6e0 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Tue, 3 Sep 2024 10:27:13 +0200 Subject: [PATCH 106/119] strong reads --- .../crates/turbo-tasks-backend/src/backend/operation/mod.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs index 8c9fc058ade60..f765fdb3ef87d 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs @@ -345,6 +345,7 @@ impl AnyOperation { AnyOperation::ConnectChild(op) => op.execute(ctx), AnyOperation::Invalidate(op) => op.execute(ctx), AnyOperation::CleanupOldEdges(op) => op.execute(ctx), + AnyOperation::AggregationUpdate(op) => op.execute(ctx), AnyOperation::Nested(ops) => { for op in ops { op.execute(ctx); From 20b68fd604d289a7ddccf401e9113bffb6ac6681 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Tue, 3 Sep 2024 16:03:24 +0200 Subject: [PATCH 107/119] improve task aggregation --- .../turbo-tasks-backend/src/backend/mod.rs | 19 +++++-------------- .../src/backend/storage.rs | 4 ++++ 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index a884056d4b420..ef5b15b535934 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -640,21 +640,12 @@ impl Backend for TurboTasksBackend { task_id: TaskId, turbo_tasks: &dyn TurboTasksBackendApi, ) { + if task_id.is_transient() { + return; + } let ctx = self.execute_context(turbo_tasks); - let task = ctx.task(task_id); - let cell_data = task.iter().filter_map(|(key, value)| match (key, value) { - (CachedDataItemKey::CellData { cell }, CachedDataItemValue::CellData { value }) => { - Some(CachedDataUpdate { - task: task_id, - key: CachedDataItemKey::CellData { cell: *cell }, - value: Some(CachedDataItemValue::CellData { - value: value.clone(), - }), - }) - } - _ => None, - }); - self.persisted_storage_log.lock().extend(cell_data); + let mut task = ctx.task(task_id); + task.invalidate_serialization(); } fn get_task_description(&self, task: TaskId) -> std::string::String { diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs index 3676d40490430..9ce4dccef0648 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/storage.rs @@ -33,6 +33,10 @@ impl PersistanceState { self.value += 1; } + pub fn add_persisting_items(&mut self, count: u32) { + self.value += count; + } + pub fn finish_persisting_items(&mut self, count: u32) { self.value -= count; } From 92d8e461da842577bb65300a333d1d0e2c1e865d Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Thu, 5 Sep 2024 01:27:11 +0200 Subject: [PATCH 108/119] restore task_pair --- .../src/backend/operation/mod.rs | 49 ++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs index f765fdb3ef87d..eebe1ad0fe1fb 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/mod.rs @@ -76,7 +76,35 @@ impl<'a> ExecuteContext<'a> { } pub fn task_pair(&self, task_id1: TaskId, task_id2: TaskId) -> (TaskGuard<'a>, TaskGuard<'a>) { - let (task1, task2) = self.backend.storage.access_pair_mut(task_id1, task_id2); + let (mut task1, mut task2) = self.backend.storage.access_pair_mut(task_id1, task_id2); + let is_restored1 = task1.persistance_state.is_restored(); + let is_restored2 = task2.persistance_state.is_restored(); + if !is_restored1 || !is_restored2 { + // Avoid holding the lock too long since this can also affect other tasks + drop(task1); + drop(task2); + + let items1 = + (!is_restored1).then(|| self.backend.backing_storage.lookup_data(task_id1)); + let items2 = + (!is_restored2).then(|| self.backend.backing_storage.lookup_data(task_id2)); + + let (t1, t2) = self.backend.storage.access_pair_mut(task_id1, task_id2); + task1 = t1; + task2 = t2; + if !task1.persistance_state.is_restored() { + for item in items1.unwrap() { + task1.add(item); + } + task1.persistance_state.set_restored(); + } + if !task2.persistance_state.is_restored() { + for item in items2.unwrap() { + task2.add(item); + } + task2.persistance_state.set_restored(); + } + } ( TaskGuard { task: task1, @@ -305,6 +333,25 @@ impl<'a> TaskGuard<'a> { pub fn iter(&self) -> impl Iterator { self.task.iter() } + + pub(crate) fn invalidate_serialization(&mut self) { + let mut count = 0; + let cell_data = self.iter().filter_map(|(key, value)| match (key, value) { + (CachedDataItemKey::CellData { cell }, CachedDataItemValue::CellData { value }) => { + count += 1; + Some(CachedDataUpdate { + task: self.task_id, + key: CachedDataItemKey::CellData { cell: *cell }, + value: Some(CachedDataItemValue::CellData { + value: value.clone(), + }), + }) + } + _ => None, + }); + self.backend.persisted_storage_log.lock().extend(cell_data); + self.task.persistance_state.add_persisting_items(count); + } } macro_rules! impl_operation { From 50a998b6e75a2774bba56db2cc04b5d0e4a60890 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 16 Aug 2024 10:02:20 +0200 Subject: [PATCH 109/119] invalidation tracing --- .../crates/turbo-tasks-backend/src/backend/mod.rs | 1 + .../src/backend/operation/aggregation_update.rs | 1 + .../src/backend/operation/connect_child.rs | 1 + .../src/backend/operation/update_cell.rs | 10 ++++++++-- .../src/backend/operation/update_output.rs | 6 ++++++ 5 files changed, 17 insertions(+), 2 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index ef5b15b535934..0b02fc937f38d 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -443,6 +443,7 @@ impl TurboTasksBackend { if task.add(CachedDataItem::new_scheduled( self.get_task_desc_fn(task_id), )) { + let _span = tracing::trace_span!("recompute from reading cell").entered(); turbo_tasks.schedule(task_id); } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs index 71d39e7663013..4cb70838dbc95 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs @@ -556,6 +556,7 @@ impl AggregationUpdateQueue { let mut task = ctx.task(task_id); if task.has_key(&CachedDataItemKey::Dirty {}) { if task.add(CachedDataItem::new_scheduled(description)) { + let _span = tracing::trace_span!("dirty task in root").entered(); ctx.turbo_tasks.schedule(task_id); } } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs index 7fc8107ea5471..1f1b3b55c1496 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs @@ -101,6 +101,7 @@ impl Operation for ConnectChildOperation { } } if should_schedule { + let _span = tracing::trace_span!("schedule from connect child").entered(); ctx.schedule(task_id); } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs index 6ed32d2fbfa61..2216d371c4147 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs @@ -9,8 +9,8 @@ use crate::{ pub struct UpdateCellOperation; impl UpdateCellOperation { - pub fn run(task: TaskId, cell: CellId, content: CellContent, ctx: ExecuteContext<'_>) { - let mut task = ctx.task(task); + pub fn run(task_id: TaskId, cell: CellId, content: CellContent, ctx: ExecuteContext<'_>) { + let mut task = ctx.task(task_id); let old_content = if let CellContent(Some(new_content)) = content { task.insert(CachedDataItem::CellData { cell, @@ -53,6 +53,12 @@ impl UpdateCellOperation { drop(task); drop(old_content); + let _span = tracing::trace_span!( + "cell changed", + task = ctx.backend.get_task_desc_fn(task_id)(), + cell = ?cell + ) + .entered(); InvalidateOperation::run(dependent, ctx); } } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_output.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_output.rs index ac3f7fba5514d..76609e0df63dc 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_output.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_output.rs @@ -85,6 +85,12 @@ impl UpdateOutputOperation { drop(old_content); drop(old_error); + let _span = tracing::trace_span!( + "output changed", + task = ctx.backend.get_task_desc_fn(task_id)(), + ) + .entered(); + InvalidateOperation::run(dependent, ctx); } } From 03aae147cb30f31ce28da302702024c6d85f867d Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Fri, 16 Aug 2024 10:04:23 +0200 Subject: [PATCH 110/119] improve once task handling --- turbopack/crates/turbo-tasks-backend/src/backend/mod.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index 0b02fc937f38d..936a76edcc29c 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -354,6 +354,7 @@ impl TurboTasksBackend { let (item, listener) = CachedDataItem::new_scheduled_with_listener(self.get_task_desc_fn(task_id), note); task.add_new(item); + let _span = tracing::trace_span!("recompute from reading output").entered(); turbo_tasks.schedule(task_id); Ok(Err(listener)) From a77bd3a07052a0f37c7024fc7e377d92d0b71857 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Sat, 17 Aug 2024 09:24:40 +0200 Subject: [PATCH 111/119] WIP: don't clean output directory --- packages/next/src/build/index.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/next/src/build/index.ts b/packages/next/src/build/index.ts index bf5118a4aaf46..617be8798aad0 100644 --- a/packages/next/src/build/index.ts +++ b/packages/next/src/build/index.ts @@ -43,7 +43,7 @@ import type { RouteHas, } from '../lib/load-custom-routes' import { nonNullable } from '../lib/non-nullable' -import { recursiveDelete } from '../lib/recursive-delete' +// import { recursiveDelete } from '../lib/recursive-delete' import { verifyPartytownSetup } from '../lib/verify-partytown-setup' import { validateTurboNextConfig } from '../lib/turbopack-warning' import { @@ -1221,9 +1221,9 @@ export default async function build( ) } - if (config.cleanDistDir && !isGenerateMode) { - await recursiveDelete(distDir, /^cache/) - } + // if (config.cleanDistDir && !isGenerateMode) { + // await recursiveDelete(distDir, /^cache/) + // } // Ensure commonjs handling is used for files in the distDir (generally .next) // Files outside of the distDir can be "type": "module" From f6444b8fa1d16c1c2a37b0bca25b98276b745705 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Sat, 17 Aug 2024 11:03:09 +0200 Subject: [PATCH 112/119] WIP: avoid overriden package.json --- packages/next/src/build/index.ts | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/next/src/build/index.ts b/packages/next/src/build/index.ts index 617be8798aad0..e699f097db041 100644 --- a/packages/next/src/build/index.ts +++ b/packages/next/src/build/index.ts @@ -1297,16 +1297,16 @@ export default async function build( await fs.mkdir(path.join(distDir, 'static', buildId), { recursive: true, }) - await fs.writeFile( - path.join(distDir, 'package.json'), - JSON.stringify( - { - type: 'commonjs', - }, - null, - 2 - ) - ) + // await fs.writeFile( + // path.join(distDir, 'package.json'), + // JSON.stringify( + // { + // type: 'commonjs', + // }, + // null, + // 2 + // ) + // ) // eslint-disable-next-line @typescript-eslint/no-unused-vars const entrypointsSubscription = project.entrypointsSubscribe() From 7f919d1ca6a763e11813d7749323588434bca68f Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Sat, 17 Aug 2024 15:23:22 +0200 Subject: [PATCH 113/119] Revert "WIP: don't clean output directory" This reverts commit d4c1f72b5af19384d39a730c0f26012b4d0cc79e. --- packages/next/src/build/index.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/next/src/build/index.ts b/packages/next/src/build/index.ts index e699f097db041..092ef6620dfda 100644 --- a/packages/next/src/build/index.ts +++ b/packages/next/src/build/index.ts @@ -43,7 +43,7 @@ import type { RouteHas, } from '../lib/load-custom-routes' import { nonNullable } from '../lib/non-nullable' -// import { recursiveDelete } from '../lib/recursive-delete' +import { recursiveDelete } from '../lib/recursive-delete' import { verifyPartytownSetup } from '../lib/verify-partytown-setup' import { validateTurboNextConfig } from '../lib/turbopack-warning' import { @@ -1221,9 +1221,9 @@ export default async function build( ) } - // if (config.cleanDistDir && !isGenerateMode) { - // await recursiveDelete(distDir, /^cache/) - // } + if (config.cleanDistDir && !isGenerateMode) { + await recursiveDelete(distDir, /^cache/) + } // Ensure commonjs handling is used for files in the distDir (generally .next) // Files outside of the distDir can be "type": "module" From 394a8a3f70a1287633df0ba9eccb2a937636e87c Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Mon, 19 Aug 2024 10:24:31 +0200 Subject: [PATCH 114/119] verify persistent function only calls persistent functions --- turbopack/crates/turbo-tasks-backend/src/backend/mod.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index 936a76edcc29c..146024f8ecc11 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -594,6 +594,14 @@ impl Backend for TurboTasksBackend { parent_task: TaskId, turbo_tasks: &dyn TurboTasksBackendApi, ) -> TaskId { + if !parent_task.is_transient() { + let parent_task_type = self.lookup_task_type(parent_task); + panic!( + "Calling transient function {} from persistent function function {} is not allowed", + task_type.get_name(), + parent_task_type.map_or_else(|| "unknown".into(), |t| t.get_name()) + ); + } if let Some(task_id) = self.task_cache.lookup_forward(&task_type) { self.connect_child(parent_task, task_id, turbo_tasks); return task_id; From 595f8b0e380cb807098f386b12126723e9332092 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Mon, 19 Aug 2024 11:09:28 +0200 Subject: [PATCH 115/119] workaround for missing active tracking --- crates/napi/src/next_api/project.rs | 2 ++ turbopack/crates/turbo-tasks/src/manager.rs | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/crates/napi/src/next_api/project.rs b/crates/napi/src/next_api/project.rs index ffa4dcdbbd4b9..bdf6ca686edc1 100644 --- a/crates/napi/src/next_api/project.rs +++ b/crates/napi/src/next_api/project.rs @@ -346,6 +346,8 @@ pub async fn project_new( .await .inspect_err(|err| tracing::warn!(%err, "failed to benchmark file IO")) }); + // TODO remove this: Workaround for missing active tracking + turbo_tasks.wait_primary_jobs_done().await; Ok(External::new_with_size_hint( ProjectInstance { turbo_tasks, diff --git a/turbopack/crates/turbo-tasks/src/manager.rs b/turbopack/crates/turbo-tasks/src/manager.rs index 79f487d08021b..0da90b2709485 100644 --- a/turbopack/crates/turbo-tasks/src/manager.rs +++ b/turbopack/crates/turbo-tasks/src/manager.rs @@ -1040,6 +1040,15 @@ impl TurboTasks { } } + pub async fn wait_primary_jobs_done(&self) { + let listener = self + .event + .listen_with_note(|| "wait_primary_jobs_done".to_string()); + if self.currently_scheduled_tasks.load(Ordering::Acquire) != 0 { + listener.await; + } + } + pub async fn wait_background_done(&self) { let listener = self.event_background.listen(); if self From 1788b884a7ef408527ecc23dcd6e92e0e7bd32d8 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Mon, 19 Aug 2024 12:23:02 +0200 Subject: [PATCH 116/119] remove verbose tracing --- turbopack/crates/turbo-tasks-backend/src/backend/mod.rs | 2 -- .../src/backend/operation/aggregation_update.rs | 1 - .../src/backend/operation/connect_child.rs | 1 - .../src/backend/operation/update_cell.rs | 6 ------ .../src/backend/operation/update_output.rs | 6 ------ 5 files changed, 16 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index 146024f8ecc11..732d2e5c64535 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -354,7 +354,6 @@ impl TurboTasksBackend { let (item, listener) = CachedDataItem::new_scheduled_with_listener(self.get_task_desc_fn(task_id), note); task.add_new(item); - let _span = tracing::trace_span!("recompute from reading output").entered(); turbo_tasks.schedule(task_id); Ok(Err(listener)) @@ -444,7 +443,6 @@ impl TurboTasksBackend { if task.add(CachedDataItem::new_scheduled( self.get_task_desc_fn(task_id), )) { - let _span = tracing::trace_span!("recompute from reading cell").entered(); turbo_tasks.schedule(task_id); } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs index 4cb70838dbc95..71d39e7663013 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs @@ -556,7 +556,6 @@ impl AggregationUpdateQueue { let mut task = ctx.task(task_id); if task.has_key(&CachedDataItemKey::Dirty {}) { if task.add(CachedDataItem::new_scheduled(description)) { - let _span = tracing::trace_span!("dirty task in root").entered(); ctx.turbo_tasks.schedule(task_id); } } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs index 1f1b3b55c1496..7fc8107ea5471 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs @@ -101,7 +101,6 @@ impl Operation for ConnectChildOperation { } } if should_schedule { - let _span = tracing::trace_span!("schedule from connect child").entered(); ctx.schedule(task_id); } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs index 2216d371c4147..fb0b1ba5b6ba4 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs @@ -53,12 +53,6 @@ impl UpdateCellOperation { drop(task); drop(old_content); - let _span = tracing::trace_span!( - "cell changed", - task = ctx.backend.get_task_desc_fn(task_id)(), - cell = ?cell - ) - .entered(); InvalidateOperation::run(dependent, ctx); } } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_output.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_output.rs index 76609e0df63dc..ac3f7fba5514d 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_output.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_output.rs @@ -85,12 +85,6 @@ impl UpdateOutputOperation { drop(old_content); drop(old_error); - let _span = tracing::trace_span!( - "output changed", - task = ctx.backend.get_task_desc_fn(task_id)(), - ) - .entered(); - InvalidateOperation::run(dependent, ctx); } } From 4cdb1723f5cd7b15d4568885deb2a7cb5c8209e2 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Mon, 19 Aug 2024 12:49:58 +0200 Subject: [PATCH 117/119] Revert "remove verbose tracing" This reverts commit cbd14b7691eea895d76908c9723a591f9c2023f5. --- turbopack/crates/turbo-tasks-backend/src/backend/mod.rs | 2 ++ .../src/backend/operation/aggregation_update.rs | 1 + .../src/backend/operation/connect_child.rs | 1 + .../src/backend/operation/update_cell.rs | 6 ++++++ .../src/backend/operation/update_output.rs | 6 ++++++ 5 files changed, 16 insertions(+) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index 732d2e5c64535..146024f8ecc11 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -354,6 +354,7 @@ impl TurboTasksBackend { let (item, listener) = CachedDataItem::new_scheduled_with_listener(self.get_task_desc_fn(task_id), note); task.add_new(item); + let _span = tracing::trace_span!("recompute from reading output").entered(); turbo_tasks.schedule(task_id); Ok(Err(listener)) @@ -443,6 +444,7 @@ impl TurboTasksBackend { if task.add(CachedDataItem::new_scheduled( self.get_task_desc_fn(task_id), )) { + let _span = tracing::trace_span!("recompute from reading cell").entered(); turbo_tasks.schedule(task_id); } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs index 71d39e7663013..4cb70838dbc95 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs @@ -556,6 +556,7 @@ impl AggregationUpdateQueue { let mut task = ctx.task(task_id); if task.has_key(&CachedDataItemKey::Dirty {}) { if task.add(CachedDataItem::new_scheduled(description)) { + let _span = tracing::trace_span!("dirty task in root").entered(); ctx.turbo_tasks.schedule(task_id); } } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs index 7fc8107ea5471..1f1b3b55c1496 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs @@ -101,6 +101,7 @@ impl Operation for ConnectChildOperation { } } if should_schedule { + let _span = tracing::trace_span!("schedule from connect child").entered(); ctx.schedule(task_id); } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs index fb0b1ba5b6ba4..2216d371c4147 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs @@ -53,6 +53,12 @@ impl UpdateCellOperation { drop(task); drop(old_content); + let _span = tracing::trace_span!( + "cell changed", + task = ctx.backend.get_task_desc_fn(task_id)(), + cell = ?cell + ) + .entered(); InvalidateOperation::run(dependent, ctx); } } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_output.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_output.rs index ac3f7fba5514d..76609e0df63dc 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_output.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_output.rs @@ -85,6 +85,12 @@ impl UpdateOutputOperation { drop(old_content); drop(old_error); + let _span = tracing::trace_span!( + "output changed", + task = ctx.backend.get_task_desc_fn(task_id)(), + ) + .entered(); + InvalidateOperation::run(dependent, ctx); } } From 2b6441be5aa1594f7b9cfd1e1527703a08a6a5a9 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Mon, 19 Aug 2024 13:47:53 +0200 Subject: [PATCH 118/119] remove verbose tracing --- turbopack/crates/turbo-tasks-backend/src/backend/mod.rs | 2 -- .../src/backend/operation/aggregation_update.rs | 1 - .../src/backend/operation/connect_child.rs | 1 - .../src/backend/operation/update_cell.rs | 6 ------ .../src/backend/operation/update_output.rs | 6 ------ 5 files changed, 16 deletions(-) diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index 146024f8ecc11..732d2e5c64535 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -354,7 +354,6 @@ impl TurboTasksBackend { let (item, listener) = CachedDataItem::new_scheduled_with_listener(self.get_task_desc_fn(task_id), note); task.add_new(item); - let _span = tracing::trace_span!("recompute from reading output").entered(); turbo_tasks.schedule(task_id); Ok(Err(listener)) @@ -444,7 +443,6 @@ impl TurboTasksBackend { if task.add(CachedDataItem::new_scheduled( self.get_task_desc_fn(task_id), )) { - let _span = tracing::trace_span!("recompute from reading cell").entered(); turbo_tasks.schedule(task_id); } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs index 4cb70838dbc95..71d39e7663013 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs @@ -556,7 +556,6 @@ impl AggregationUpdateQueue { let mut task = ctx.task(task_id); if task.has_key(&CachedDataItemKey::Dirty {}) { if task.add(CachedDataItem::new_scheduled(description)) { - let _span = tracing::trace_span!("dirty task in root").entered(); ctx.turbo_tasks.schedule(task_id); } } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs index 1f1b3b55c1496..7fc8107ea5471 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs @@ -101,7 +101,6 @@ impl Operation for ConnectChildOperation { } } if should_schedule { - let _span = tracing::trace_span!("schedule from connect child").entered(); ctx.schedule(task_id); } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs index 2216d371c4147..fb0b1ba5b6ba4 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_cell.rs @@ -53,12 +53,6 @@ impl UpdateCellOperation { drop(task); drop(old_content); - let _span = tracing::trace_span!( - "cell changed", - task = ctx.backend.get_task_desc_fn(task_id)(), - cell = ?cell - ) - .entered(); InvalidateOperation::run(dependent, ctx); } } diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_output.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_output.rs index 76609e0df63dc..ac3f7fba5514d 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_output.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/update_output.rs @@ -85,12 +85,6 @@ impl UpdateOutputOperation { drop(old_content); drop(old_error); - let _span = tracing::trace_span!( - "output changed", - task = ctx.backend.get_task_desc_fn(task_id)(), - ) - .entered(); - InvalidateOperation::run(dependent, ctx); } } From 32b0c98e366602282b57097461acf352c1e6e6d0 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Mon, 19 Aug 2024 16:41:21 +0200 Subject: [PATCH 119/119] WIP --- packages/next/src/build/index.ts | 4 ++++ .../src/backend/operation/connect_child.rs | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/next/src/build/index.ts b/packages/next/src/build/index.ts index 092ef6620dfda..ec5c14e7f3760 100644 --- a/packages/next/src/build/index.ts +++ b/packages/next/src/build/index.ts @@ -1539,11 +1539,13 @@ export default async function build( let shutdownPromise = Promise.resolve() if (!isGenerateMode) { if (turboNextBuild) { + console.time('Turbopack build') const { duration: compilerDuration, shutdownPromise: p, ...rest } = await turbopackBuild() + console.timeEnd('Turbopack build') shutdownPromise = p traceMemoryUsage('Finished build', nextBuildSpan) @@ -1568,6 +1570,7 @@ export default async function build( buildStage: 'compile-server', }) + console.time('webpack build') const serverBuildPromise = webpackBuild(useBuildWorker, [ 'server', ]).then((res) => { @@ -1635,6 +1638,7 @@ export default async function build( durationInSeconds += res.duration traceMemoryUsage('Finished client compilation', nextBuildSpan) }) + console.timeEnd('webpack build') Log.event('Compiled successfully') diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs index 7fc8107ea5471..519cbf6c05744 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/operation/connect_child.rs @@ -84,10 +84,10 @@ impl Operation for ConnectChildOperation { task_id, ref mut aggregation_update, } => { - if aggregation_update.process(ctx) { - // TODO check for active - self = ConnectChildOperation::ScheduleTask { task_id } - } + // if aggregation_update.process(ctx) { + // TODO check for active + self = ConnectChildOperation::ScheduleTask { task_id } + // } } ConnectChildOperation::ScheduleTask { task_id } => { let mut should_schedule;